Description
Create a React hook useFreighter that handles Freighter wallet connection, disconnection, and public key retrieval.
Requirements
- Detect if Freighter extension is installed.
- Implement
connect(), disconnect(), and getPublicKey() methods.
- Store connection state in React context.
- Handle errors gracefully (extension not installed, user rejected).
Acceptance Criteria
- Hook returns
{ publicKey, isConnected, connect, disconnect, isFreighterInstalled }.
- Works in the browser environment only (SSR-safe).
Files to Create/Modify
hooks/useFreighter.ts (Create)
lib/stellar/wallet.ts (Create)
Test Requirements
- Unit test for hook state transitions.
Description
Create a React hook
useFreighterthat handles Freighter wallet connection, disconnection, and public key retrieval.Requirements
connect(),disconnect(), andgetPublicKey()methods.Acceptance Criteria
{ publicKey, isConnected, connect, disconnect, isFreighterInstalled }.Files to Create/Modify
hooks/useFreighter.ts(Create)lib/stellar/wallet.ts(Create)Test Requirements