Skip to content

feat(wallet): add typed Stellar signing pipeline (#758) - #855

Open
edehvictor wants to merge 3 commits into
accesslayerorg:devfrom
edehvictor:fix/signing-pipeline-758
Open

feat(wallet): add typed Stellar signing pipeline (#758)#855
edehvictor wants to merge 3 commits into
accesslayerorg:devfrom
edehvictor:fix/signing-pipeline-758

Conversation

@edehvictor

@edehvictor edehvictor commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Closes #758

Changes

  • add a common Signer interface with production Freighter and session-reused Ledger WebHID implementations
  • verify wallet network, perform Ledger health checks, enforce the device transaction-size limit, and classify extension/APDU/WebHID failures into actionable typed errors
  • retry only Ledger timeouts using 2s, 4s, and 8s backoff while immediately surfacing locked-device, app-not-open, and user-rejection failures
  • add deterministic signature aggregation that rejects mismatched transaction payloads
  • expose a useSigner hook that detects available signers, respects the persisted wallet preference, and safely falls back when the preferred signer is unavailable
  • add an accessible three-step signing progress component with inline recovery guidance
  • add the official Freighter, Stellar SDK, and Ledger WebHID dependencies with a minimal lockfile update

Testing

  • vitest run src/lib/signing/__tests__ src/hooks/__tests__/useSigner.test.tsx — 20 tests passed
  • tsc -b --pretty false — signing code passes; the repository-wide run is currently blocked by pre-existing dev errors for missing recharts and missing Course fields in CreatorDetailPage.tsx
  • targeted ESLint for all changed TypeScript/TSX files — passed
  • git diff --check — passed

Notes

  • Ledger behavior is exercised through deterministic error/retry tests; CI does not require a physical WebHID device.

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.

Implement a client-side transaction signing pipeline with hardware wallet support, signature aggregation, and structured error classification

1 participant