- Add "Backup to Matrix" button to wallet Settings tab
- Implement BackupRecoveryKeyDialog for entering recovery key
- Wire up WalletBackupService for SSSS encryption
- Add backup state to WalletPanelState and WalletPanelEvent
- Add localized strings for backup UI
Backup flow:
1. User taps "Backup to Matrix" in wallet settings
2. Dialog prompts for Matrix recovery key
3. Wallet mnemonic is encrypted with SSSS
4. Stored in Matrix account data as com.sulkta.cardano.wallet_seed
Tested: Successfully backed up wallet to SSSS on testnet.
- Add WalletPanelView with 4 tabs (Overview, Assets, History, Settings)
- Overview tab shows balance, QR code for receiving, and Send ADA button
- Assets tab shows native tokens held at address
- History tab shows recent transactions with explorer links
- Settings tab shows address, network, and backup/delete options
- Add NativeAsset and TxSummary models to wallet API
- Add getAddressAssets() and getAddressTransactions() to CardanoClient
- Implement new methods in KoiosCardanoClient and FakeCardanoClient
- Add wallet button to MessagesViewTopBar (DM rooms only)
- Add isDmRoom to MessagesState for conditional UI
- Wire navigateToWallet() callback through to MessagesFlowNode
- Add NavTarget.WalletPanel and WalletPanelNode integration
- Add string resources for wallet panel UI
Known limitations:
- Uses Chart icon as placeholder for wallet (Compound lacks wallet icon)
- Wallet setup flow not implemented (TODO)
- Transaction amounts in history need additional API calls to calculate