Skip to content

Replace the hardcoded mock wallet address in components wallet button with stellar wallet kit connection state#503

Open
ekwe7 wants to merge 5 commits into
Remitwise-Org:mainfrom
ekwe7:Replace-the-hardcoded-mock-wallet-address-in-components-WalletButton-with-stellar-wallet-kit-connection-state
Open

Replace the hardcoded mock wallet address in components wallet button with stellar wallet kit connection state#503
ekwe7 wants to merge 5 commits into
Remitwise-Org:mainfrom
ekwe7:Replace-the-hardcoded-mock-wallet-address-in-components-WalletButton-with-stellar-wallet-kit-connection-state

Conversation

@ekwe7

@ekwe7 ekwe7 commented Jun 18, 2026

Copy link
Copy Markdown

closes #458

Description
This PR replaces the hardcoded mock wallet address and connection state in the WalletButton component with
functional integration using stellar-wallet-kit. This enables real wallet connectivity for users.

Changes

  • app/layout.tsx: Wrapped the application with WalletProvider to make the wallet context available throughout the
    component tree.
  • components/WalletButton.tsx:
    • Removed local useState hooks previously used for mocking connection state.
    • Implemented the useWallet hook from stellar-wallet-kit to manage connected, address, network, connect, and
      disconnect states.
    • Updated button logic to react to real wallet connectivity.

How to Verify

  1. Run the application locally.
  2. Click the "Connect Wallet" button in the navigation bar.
  3. Authorize the connection via your Stellar wallet (e.g., Freighter).
  4. Verify that:
    • The button displays the truncated public key of your wallet.
    • The correct network (e.g., Testnet) is shown.
    • Clicking the button allows for disconnection, reverting the button to "Connect Wallet"

ekwe7 added 5 commits June 18, 2026 00:11
Implements the Add/Edit Savings Goal flow by lifting goalsData into
 component state and providing a fully accessible modal form.

 Key changes:
 - Integrated lib/validation/savings-goals for real-time form validation.
 - Externalized all strings and error messages to en.json for full i18n
      support.
 - Implemented modal accessibility (focus trap, ESC to close, and
      motion-reduce).
- Recomputed daysLeft and isOverdue dynamically from the target date.
 - Added 100% test coverage for goals utilities and validation logic.
 - Improved UI robustness with line-clamping for long titles and descriptions
… reflection

Cleans up unrelated syntax errors, missing imports, and type issues in app/ and components/ to ensure a green CI build for the savings goals feature.
  Adds set/edit limit control and a spent-vs-limit progress bar with
  near/over-limit warning states. Includes validation logic for
  spending limits and improves accessibility of the utilization
  display.
  apiClient

  Enhance API request resilience by centralizing retry logic in
  lib/client/apiClient.ts. Added support for retries on 5xx server errors,
  429 rate limiting, and network failures using configurable exponential
  backoff. Included comprehensive unit tests to verify the retry behavior
  and ensure session expiry handling remains correctly sequenced.
- Wrap application in WalletProvider in app/layout.tsx to enable wallet connection context.
- Update components/WalletButton.tsx to replace hardcoded mock address and state with real data from useWallet
     hook.
- Ensure proper handling of connection, disconnection, and wallet address display using the Stellar wallet kit.
@ekwe7

ekwe7 commented Jun 18, 2026

Copy link
Copy Markdown
Author

Closes #458

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.

Replace the hardcoded mock wallet address in components/WalletButton.tsx with stellar-wallet-kit connection state

1 participant