Skip to content

feat(wallets): regenerate OpenAPI types with quorum boundary shapes#1986

Open
panosinthezone wants to merge 3 commits into
mainfrom
panos/wal-11289-m4-1-sdk-regenerate-openapi-types-with-quorum-boundary
Open

feat(wallets): regenerate OpenAPI types with quorum boundary shapes#1986
panosinthezone wants to merge 3 commits into
mainfrom
panos/wal-11289-m4-1-sdk-regenerate-openapi-types-with-quorum-boundary

Conversation

@panosinthezone

Copy link
Copy Markdown
Contributor

WAL-11289

Refreshes packages/wallets/src/openapi.json from crossbit-main #27842 so the generated types pick up the quorum boundary contract:

  • Create side: config.recovery + { type: "quorum", threshold, signers[] } adminSigner variant.
  • Approval side: pending approvals are now a discriminated union (flat entry OR quorum entry with quorumApprovals progress).

Until the approval-loop ticket lands real quorum handling, approve() throws a QuorumSignerNotSupportedError when a pending approval belongs to a quorum signer.

Also re-adds the code property to WalletV1Alpha2ErrorDTO (used to detect DEVICE_SIGNER_NOT_SUPPORTED), which the preview-env spec predates. The spec should be re-pulled from staging/main after #27842 merges.

🤖 Generated with Claude Code

panosinthezone and others added 2 commits July 22, 2026 18:47
- Refresh openapi.json with the quorum boundary contract (create-side
  config.recovery + quorum adminSigner variant, approval-side
  discriminated union with quorumApprovals).
- Throw QuorumSignerNotSupportedError when a pending approval belongs to
  a quorum signer; real quorum handling lands with the approval-loop
  ticket.
- Re-add the `code` property to WalletV1Alpha2ErrorDTO, dropped by the
  preview-env spec (predates the backend change that added it).

WAL-11289

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 94c12b6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 9 packages
Name Type
@crossmint/wallets-sdk Patch
@crossmint/wallets-quickstart-devkit Patch
@crossmint/wallets-playground-react Patch
@crossmint/client-sdk-react-base Patch
@crossmint/client-sdk-react-native-ui Patch
@crossmint/client-sdk-react-ui Patch
@crossmint/wallets-playground-expo Patch
@crossmint/auth-ssr-nextjs-demo Patch
@crossmint/client-sdk-nextjs-starter Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@greptile-apps

greptile-apps Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
packages/wallets/src/utils/errors.ts:288-289
`QuorumSignerNotSupportedError` is thrown by `approve()`, `send()`, and any path that calls `approveTransactionInternal`/`approveSignatureInternal`, but it is absent from the `WalletError` union type. TypeScript consumers narrowing on `WalletError` will not handle this case, and any `catch (e: WalletError)` guard silently misses it. `DeviceSignerNotSupportedError` — the analogous class added earlier — is already in the union, so this looks like an oversight in the same addition.

```suggestion
    | DeviceSignerNotSupportedError
    | QuorumSignerNotSupportedError
    | InvalidMessageFormatError
```

Reviews (1): Last reviewed commit: "feat(wallets): regenerate OpenAPI types ..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Reviews (2): Last reviewed commit: "using latest schema" | Re-trigger Greptile

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