You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, our WalletProvider.tsx uses simulated wallet states. We need to hook this provider up to the official @stellar/freighter-api to fetch the user's real address, request transaction signatures, and track network changes.
Technical Scope & Steps
Import @stellar/freighter-api into src/providers/WalletProvider.tsx.
Replace mock connection states with isConnected(), getPublicKey(), and signTransaction().
Handle state updates when a user changes networks in the Freighter extension settings (e.g., alert them if they are on Mainnet instead of Testnet).
Implement local storage caching to persist connection across page reloads.
Acceptance Criteria
Clicking "Connect Wallet" opens the Freighter browser prompt.
Navbar correctly displays the abbreviated real public key (e.g., GB3A...2F4G) upon connection.
Changing networks in Freighter is detected and handled by the UI.
I'd like to take this issue. I'll replace the mocked state in WalletProvider.tsx with real Freighter calls — isConnected()/requestAccess()/getAddress() for connection and the Navbar public key, signTransaction() for signing, and getNetwork() to detect and handle network changes (warning if the user is on Mainnet when Testnet is expected). Connection state persists via localStorage, re-validated on load to avoid stale state. I'll also handle missing extension, rejected prompts, and revoked access.
🏆 @jahrulezfrancis: You earned 35 FoxPoints for this contribution! Your current tier: Explorer (379 total points). Track your full progress on GrantFox.
👏 Great work, @jahrulezfrancis! Keep contributing to LightForgeHub.
Activity
jahrulezfrancis commentedon Jul 23, 2026
I'd like to take this issue. I'll replace the mocked state in WalletProvider.tsx with real Freighter calls — isConnected()/requestAccess()/getAddress() for connection and the Navbar public key, signTransaction() for signing, and getNetwork() to detect and handle network changes (warning if the user is on Mainnet when Testnet is expected). Connection state persists via localStorage, re-validated on load to avoid stale state. I'll also handle missing extension, rejected prompts, and revoked access.
grantfox-oss commentedon Jul 26, 2026
🦊 GrantFox — @jahrulezfrancis has been assigned to this issue as part of the Official Campaign | FWC26 campaign!
Next steps:
Closes #436)Good luck! Track your progress on GrantFox.
grantfox-oss commentedon Jul 29, 2026
🎉 This issue has been marked as completed on GrantFox as part of the Official Campaign | FWC26 campaign!
@jahrulezfrancis's PR #445 was approved and merged by @Luluameh.
🏆 @jahrulezfrancis: You earned 35 FoxPoints for this contribution! Your current tier: Explorer (379 total points). Track your full progress on GrantFox.
👏 Great work, @jahrulezfrancis! Keep contributing to LightForgeHub.