How xoxma1993/umbrellawallet works
Umbrella Wallet is a self-custody desktop wallet: users create or restore a local vault, derive chain addresses, inspect balances and history, then review privacy risks before sending or swapping. The graph includes major README capabilities such as bundled Tor, configurable counterparties, Monero, and backup. Sampled source confirms app startup, vault and derivation use, and selected network clients; some feature wiring is documented but not visible in the excerpts, so uncertain call edges are omitted.
Main entry points: MainViewModel.cs Wallet interface · App.axaml.cs App startup · PublicChainClients.cs Chain balances · OnChainHistoryClient.cs Transaction history
Components 20
Desktop app
- App startup
desktop/src/Umbrella.Wallet.App/App.axaml.cs - Wallet interface
desktop/src/Umbrella.Wallet.App/ViewModels/MainViewModel.cs
Wallet lifecycle
- Wallet registry
desktop/src/Umbrella.Wallet.Infrastructure/WalletRegistry.cs - Mnemonic service
desktop/src/Umbrella.Wallet.Core/Seed/Bip39MnemonicService.cs - Encrypted vault
desktop/src/Umbrella.Wallet.Infrastructure/EncryptedFileSeedVault.cs - Vault backup
desktop/src/Umbrella.Wallet.Infrastructure/VaultBackup.cs
Chain operations
- Address derivation
desktop/src/Umbrella.Wallet.Core/Derivation/HdAddressDeriver.cs - Chain balances
desktop/src/Umbrella.Wallet.Infrastructure/Network/PublicChainClients.cs - Transaction history
desktop/src/Umbrella.Wallet.Infrastructure/Network/OnChainHistoryClient.cs - Chain transaction senders
desktop/src/Umbrella.Wallet.Infrastructure/Network - Monero wallet RPC
desktop/src/Umbrella.Wallet.Infrastructure/Network/MoneroRpcService.cs - Swap quotes
desktop/src/Umbrella.Wallet.Infrastructure/Network/ThorchainSwapClient.cs
Privacy and safety
- Privacy inspection
desktop/src/Umbrella.Wallet.Core/Safety - Server catalog
desktop/src/Umbrella.Wallet.Core/Safety/NetworkCounterpartyCatalog.cs
Network services
- Embedded Tor
desktop/src/Umbrella.Wallet.Infrastructure/Network/EmbeddedTorService.cs - Market data
desktop/src/Umbrella.Wallet.Infrastructure/Network/PublicChainClients.cs
Other components
- Wallet user
- Chain and market services
- THORChain
- Local Monero RPC
Connections 21
- Wallet user → App startup: opens wallet
- App startup → Wallet interface: creates interface
- Wallet interface → Wallet registry: initializes wallet
- Wallet interface → Encrypted vault: creates or unlocks
- Wallet interface → Mnemonic service: validates phrase
- Wallet interface → Address derivation: derives addresses
- Wallet interface → Vault backup: backs up or restores
- Wallet interface → Chain balances: requests balances
- Wallet interface → Transaction history: requests history
- Wallet interface → Chain transaction senders: submits transfers
- Wallet interface → Monero wallet RPC: manages Monero wallet
- Wallet interface → Swap quotes: requests quote
- Wallet interface → Privacy inspection: checks send privacy
- Wallet interface → Server catalog: configures servers
- Chain balances → Chain and market services: reads chain state
- Transaction history → Chain and market services: fetches transactions
- Chain transaction senders → Chain and market services: broadcasts transactions
- Monero wallet RPC → Local Monero RPC: calls loopback RPC
- Swap quotes → THORChain: fetches quotes
- Wallet interface → Embedded Tor: controls Tor
- Market data → Chain and market services: fetches market data