feat: add AlgoVoi wallet support#278
Conversation
- Register 'algovoi' in WalletManager (NetworkContext) alongside existing AVM wallets - Add AlgoVoi to the wallet selection modal (WalletModal) for all AVM networks - Mark AlgoVoi as a universal wallet (supports both Algorand and Voi Mainnet) - Connection handler uses window.algorand directly as fallback until TxnLab/use-wallet#434 lands; upgrades automatically to use-wallet path once available - Availability check detects the extension via window.algorand.isAlgoVoi so the button appears even before the npm package ships WalletId.ALGOVOI Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Boom. Ty Chris. I'll have a look at this sooner than later. |
|
The AlgoVoi extension url might be broken. Can you check it. Ty @chopmob-cloud |
|
Hi @temptemp3 — the link in the PR description was wrong, sorry about that! The correct URL is https://github.com/chopmob-cloud/AlgoVoi — I'll update the PR description now. |
|
@chopmob-cloud could you make sure that the update is working as expected. I haven't been able to connect. Ty |
|
Hi @temptemp3 — confirmed the extension and MCP server are both healthy (sessions active as of ~23:00 UTC today). The connection issue is in the PR's fallback path. When const accounts = await algoVoiProvider.enable({ genesisHash: undefined });
if (!accounts?.accounts?.length) throw new Error('No accounts returned');
// ← toast shown here, but DorkFi wallet state is never updated
toast({ title: 'AlgoVoi Connected', ... });The popup opens, the user approves, Fix needed in the PR: after the Also worth noting: |
Summary
'algovoi'inWalletManager(NetworkContext) alongside existing AVM walletswindow.algorand.isAlgoVoias a fallback, so it works today without waiting for the npm packageHow it works
AlgoVoi is a browser extension wallet that injects an ARC-27 compliant
window.algorandprovider. The connect flow:WalletId.ALGOVOIis registered in use-wallet (after TxnLab/use-wallet#434 lands) → uses the standard use-wallet pathwindow.algorand.enable()directly via ARC-27This means the button works immediately for users who have AlgoVoi installed, and the integration upgrades automatically once the use-wallet package ships the named provider.
Files changed
src/contexts/NetworkContext.tsx— register'algovoi'ingetWalletsForNetwork(), add to universal wallet list inisNetworkSupportedByWallet()src/components/WalletModal.tsx— add AlgoVoi entry tobaseWallets, availability check viawindow.algorand.isAlgoVoi, dedicated connection handlerLinks
Test plan