Offline transaction verifier for Safe multisig wallets with ERC-7730 clear signing support.
Use bun, not npm, pnpm, or yarn.
packages/core: shared logic (decoding, ERC-7730, verification)apps/desktop: Tauri + React desktop appapps/generator: Next.js site for generating verification packagesapps/cli: CLI tool
The sidebar uses native macOS vibrancy (NSVisualEffectMaterial::Sidebar in main.rs). Do NOT use CSS backdrop-filter: blur(), it causes compositor glitches in WebKit/Tauri on macOS.
Do NOT use data-tauri-drag-region. SafeLens uses a programmatic approach: a global mousedown listener in App.tsx detects clicks inside .drag-region elements and calls appWindow.startDragging().
cd apps/desktop && bun run dev