Skip to content

Add AlloWallet module for Algorand blockchain wallet connectivity#9

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-allo-wallet-application
Draft

Add AlloWallet module for Algorand blockchain wallet connectivity#9
Copilot wants to merge 2 commits intomainfrom
copilot/add-allo-wallet-application

Conversation

Copy link
Copy Markdown

Copilot AI commented Feb 25, 2026

Adds an AlloWallet Swift module to the macOS host app providing Algorand blockchain wallet connection, account management, ASA support, and transaction signing — exposed as a new "Allo Wallet" tab in the settings UI.

New Module: Core/Sources/AlloWallet/

  • Models (AlgorandWallet.swift, AlgorandStandardAsset.swift)

    • WalletType: standard | ledger | rekeyed | watchOnly
    • WalletAccount: address, µALGO balance with ALGO conversion, rekeyed detection (authAddr ≠ address), held ASAs
    • AlgorandStandardAsset: ASA id, decimals-aware formatted balance
    • AlgorandSignatureRequest: pending txn signing queue entry (base64 unsigned bytes + signer address)
  • Service (AlloWalletService.swift) — ObservableObject wrapping all wallet operations

    • connect(address:name:type:) — validates 58-char base32 address, fetches account via AlgoExplorer indexer API, persists to UserDefaults
    • reconnectAll() — refreshes all persisted wallets concurrently via TaskGroup
    • disconnect(walletID:) — removes wallet and updates persistence
    • requestSignature / resolveSignatureRequest — pending signature queue
    • parseQRCode(_:) — handles plain address or algorand://<address> URI
    • isTwoFactorEnabled — toggleable 2FA flag surfaced in the connect sheet
  • View (AlloWalletView.swift) — SwiftUI interface

    • Wallet list with per-account balance, rekeyed indicator, ASA count, and disconnect controls
    • ConnectWalletSheet: wallet type picker, QR string parser, optional 2FA code field
    • Pending signature requests panel with inline resolution

Integration

  • Core/Package.swift: AlloWallet library product + target; AlloWalletTests test target; AlloWallet added as HostApp dependency
  • TabContainer.swift: "Allo Wallet" tab (tag 3, wallet.pass icon) added alongside General / Advanced / MCP

Tests (Core/Tests/AlloWalletTests/)

15 unit tests covering address validation, rekeyed detection, ASA balance formatting, QR parsing (plain and algorand:// URI), signature request lifecycle, connect error path (invalidAddress), disconnect, and all AlloWalletError descriptions.

Original prompt

Enhance the repository by incorporating a mobile and desktop application for 'Allo Wallet Connection'. This application should provide seamless connectivity to wallets and align with existing code structures when possible. The improvement plan includes:

Feature Additions

  1. Mobile and Desktop Application for Allo Wallet Connection:

    • Develop Allo Wallet connection support for Algorand blockchain.
    • Ensure compatibility with both Android/iOS (mobile) and macOS/Windows/Linux (desktop).
  2. Wallet Connectivity:

    • Securely connect and manage multiple wallets (Ledger, rekeyed wallets, etc.).
    • Integrate wallet reconnection features for retrieving disconnected accounts.
    • Leverage APIs, e.g., AlgoExplorer, for wallet lookup and management.
  3. Algorand Transaction Management:

    • Support Algorand Standard Assets (ASA).
    • Add signature requests via mobile and desktop.
  4. User-Friendly Interface:

    • Provide React Native UI implementation for mobile.
    • Use Electron or a similar framework for building the desktop app interface.
  5. Advanced Features:

    • Add QR code scanning for seamless wallet connection.
    • Provide session persistence for logged-in wallets.
  6. Security:

    • Include Two-Factor Authentication (2FA) for wallet connections.
    • Adopt secure key management practices for interacting with wallets.

This pull request was created from Copilot chat.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: marilene38 <135267736+marilene38@users.noreply.github.com>
Copilot AI changed the title [WIP] Add mobile and desktop application for Allo Wallet Connection Add AlloWallet module for Algorand blockchain wallet connectivity Feb 25, 2026
Copilot AI requested a review from marilene38 February 25, 2026 00:06
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.

2 participants