How endijuan33/ethtools-v2 works
EthTools is a browser-only Ethereum wallet and developer toolkit. The dashboard is the user-facing entry point: users create or unlock a local encrypted vault, derive and select accounts, inspect network balances, then use transaction, backup, portfolio, or developer-tool panels. Network access uses pooled RPC services; encrypted secrets and validated settings persist in browser storage. The README documents broad capabilities whose individual implementations were not sampled; those are represented by their exact component paths, with only documented or indexed relationships drawn. No backend is described beyond static embed metadata.
Main entry points: WalletCard.tsx Network wallet · WalletVault.tsx Vault manager · page.tsx Dashboard shell · DevToolsCard.tsx Developer tools
Components 29
Dashboard
- Dashboard shell
app/page.tsx
Wallet and security
- Vault manager
components/WalletVault.tsx - HD wallet derivation
lib/hdWallet.ts - Vault encryption
lib/vault.ts - Vault persistence
lib/vaultStore.ts - Backup and restore
components/BackupManager.tsx - Backup encryption
lib/backup.ts - Account discovery
components/AccountDiscovery.tsx - WalletConnect
components/WalletConnectPanel.tsx
Network and assets
- Network wallet
components/WalletCard.tsx - Pooled RPC access
lib/multiRpc.ts - Network registry
lib/ethers.ts - Portfolio view
components/PortfolioCard.tsx - Token discovery
components/TokenDiscoveryCard.tsx - Approval management
components/ApprovalManagerCard.tsx
Transactions and tools
- Native transfers
components/SendForm.tsx - Asset sweep
components/SweepCard.tsx - Transaction history
components/TransactionHistory.tsx - Developer tools
components/DevToolsCard.tsx - Unit conversion
lib/units.ts - ENS lookup
lib/ens.ts - Calldata decoding
lib/calldata.ts
Client foundation
- Validated storage
lib/storage.ts - Trust-boundary validation
lib/schema.ts - Redacting logger
lib/logger.ts - Application layout
app/layout.tsx - Embed metadata route
app/api/frame/route.ts
Other components
- Wallet user
- Ethereum RPC
Connections 28
- Wallet user → Dashboard shell: opens
README.md - Dashboard shell → Vault manager: presents
app/page.tsx - Dashboard shell → Network wallet: presents
app/page.tsx - Dashboard shell → Developer tools: presents
app/page.tsx - Vault manager → HD wallet derivation: derives accounts
app/page.tsx - Vault manager → Vault encryption: encrypts secrets
components/WalletVault.tsx - Vault manager → Vault persistence: persists vault
components/WalletVault.tsx - Vault manager → Backup and restore: offers backup
components/WalletVault.tsx - Backup and restore → Backup encryption: creates backup
components/BackupManager.tsx - Backup and restore → Validated storage: restores settings
components/BackupManager.tsx - Vault manager → Account discovery: discovers accounts
components/WalletVault.tsx - Network wallet → Network registry: loads network access
components/WalletCard.tsx - Network registry → Pooled RPC access: uses pools
lib/ethers.ts - Pooled RPC access → Ethereum RPC: sends RPC requests
- Network wallet → Native transfers: opens transfer form
components/WalletCard.tsx - Network wallet → Portfolio view: offers portfolio
- Network wallet → Token discovery: offers discovery
- Network wallet → Approval management: offers approvals
components/WalletCard.tsx - Native transfers → Network registry: uses chain access
- Network wallet → Asset sweep: offers sweep
- Network wallet → Transaction history: offers history
- Developer tools → Unit conversion: provides conversion
- Developer tools → ENS lookup: provides lookup
- Developer tools → Calldata decoding: provides decoding
- Validated storage → Trust-boundary validation: validates payloads
README.md - Vault persistence → Validated storage: persists records
- Application layout → Dashboard shell: hosts app
app/layout.tsx - Wallet user → WalletConnect: connects wallet