Repository navigation
chore(sample): update the Kotlin sample to Grid SDK 2.0.0 - #1136
Conversation
Bump lightspark-grid-kotlin from 1.7.1 to 2.0.0 and update the routes for its API: - Customers: wrap the request in IndividualCustomerCreateRequest and pass it as createCustomerRequest. - External accounts: set accountInfo, currency, and customerId on ExternalAccountCreateParams directly, and use the typed account info union (ofEthereumWallet replaces ofEthereumWalletExternal). - Quotes: build sources and destinations with the 2.0.0 variant names (ofAccount, ofRealtimeFunding, ofUmaAddress). - Sandbox: pass FundRequest and SendRequest bodies. - Auth credentials: build passkey requests with their typed builders and pass the challenge and verify bodies as typed requests. The end-to-end test now gives every customer an email, which customer creation requires. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
|
| .id(authMethodId) | ||
| .requestId(requestId) | ||
| .authCredentialVerifyRequest(verifyRequest) | ||
| .passkeyAuthCredentialVerifyRequest(assertion) |
There was a problem hiding this comment.
The SDK migration changes passkey creation, challenge, and verification, but none of the eight end-to-end tests call these routes. Verification now passes PasskeyAssertion directly where the old code built a request containing type and assertion.
Add tests that check the outgoing JSON for all three calls, including a challenge without clientPublicKey. Compilation and the payout tests cannot catch an incorrect credential request body.
Prompt To Fix With AI
This is a comment left during a code review.
Path: samples/kotlin/src/main/kotlin/com/grid/sample/routes/AuthCredentials.kt
Line: 247
Comment:
**Passkey changes lack tests**
The SDK migration changes passkey creation, challenge, and verification, but none of the eight end-to-end tests call these routes. Verification now passes `PasskeyAssertion` directly where the old code built a request containing `type` and `assertion`.
Add tests that check the outgoing JSON for all three calls, including a challenge without `clientPublicKey`. Compilation and the payout tests cannot catch an incorrect credential request body.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.## What changed Adds two entries to the October 2026 update in `mintlify/changelog.mdx`. The window is 2026-09-30 to 2026-10-07. Everything else that shipped in the window was already in the changelog (`expiresAt`, `UmaAddressDestination.currency`, `200` for quote and transfer creation, `railDetails`, `5xx` for counterparty failures). ## Entries and sources | Entry | grid-api | webdev | Other | |---|---|---|---| | List balance changes for periodic statements | #1079 | webdev#36304, #36463, #36963, #36978 (all merged) | No #shipped post, no Jira key found | | Business customers can omit `taxId` and `incorporatedOn` | #1127 | webdev#36765, #37075 (merged) | No #shipped post. AT-5709 (tax ID validation) is related but not cited | Field names, status codes, and behavior were checked against `openapi/paths/internal_accounts/internal_accounts_{id}_balance-changes.yaml`, `BalanceChange.yaml`, and `BusinessInfo.yaml`. ## Needs confirmation - `POST /internal-accounts/{id}/confirm-statement` (#1079): the spec is merged and webdev#36051 (merged 2026-09-25) added delivery confirmation. webdev#36305, "statement receipts", is still open. Left out until someone confirms the endpoint is live. - Payment documents (`POST /payment-documents`, `documentIds` on `POST /quotes`, #1070): upload shipped in webdev#36138 (merged 2026-10-06), but webdev#36214, which attaches documents in `POST /quotes`, is open and gated per platform by `CHINA_B2B_DOCUMENT_UPLOAD`. Left out as unreleased. - Whether the `taxId` and `incorporatedOn` change is live for all platforms. Both sources are merged, but no #shipped post confirms it. ## Deliberately excluded - Restored ARS and Bitcoin L1 payment instructions (#1120, #1118) and the PaymentInstructions schema consolidation (#1109): restores of existing schemas and refactors. - Verified contact change models (#3c9de22 / #1102): embedded wallet models, not confirmed customer-visible. - `DUPLICATE_EXTERNAL_ACCOUNT` 409 docs (#1111) and OTP signing docs (#1110): docs-only clarifications. - Account schema syncs (#1103, #1119), the EUR BIC example fix (#917), and the Kotlin sample update (#1136): chores and samples. - Jira AT-6636 to AT-6638, AT-6726, AT-6730, AT-6731, AT-6732, AT-6741, AT-6742: internal JIT liquidity, bulk settlement, and FBO routing work with no API surface in the spec. - #shipped had no Grid API posts in the window (infra and tooling posts only). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01VKjZAXb9k5QM8j2WSpMB2i --- _Generated by [Claude Code](https://claude.ai/code/session_01VKjZAXb9k5QM8j2WSpMB2i)_

What changed
Updates
samples/kotlinfrom Grid Kotlin SDK 1.7.1 to 2.0.0, which is now on Maven Central. The routes change only where the SDK's types changed:QuoteSourceOneOf.ofAccountinstead ofofAccountQuoteSource.QuoteCreateParamskeeps its 1.7.1 setters.IndividualCustomerCreateRequest, passed directly tocreateCustomerRequest.accountInfo,currency, andcustomerIdare set onExternalAccountCreateParamsdirectly. TheExternalAccountCreatewrapper is gone, andofEthereumWalletExternalis nowofEthereumWallet. The INR route no longer setsbankName, whichInrExternalAccountCreateInfodropped.FundRequestand aSendRequestbody.PasskeyAttestationandPasskeyAssertion, andresendChallengeis nowchallenge.The end-to-end test now gives each customer an email, which the API requires when creating a customer.
Tests
lightspark-grid-kotlin:2.0.0resolved from Maven Central, with no local Maven repository../gradlew test: all 8 end-to-end tests pass against the dev sandbox.🤖 Generated with Claude Code