From 1c04b0b0960bd128b6a34822477070af9c59a3bb Mon Sep 17 00:00:00 2001 From: LORDBABUINO Date: Thu, 26 Feb 2026 20:56:38 -0300 Subject: [PATCH] Feat: scaffold React frontend with Vite and Stealth theme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three-screen state machine (input → loading → report) for analyzing Bitcoin wallet descriptor privacy. Includes mock UTXO data with ADDRESS_REUSE, DUST_SPEND, CONSOLIDATION, and CIOH vulnerability types. --- .gitignore | 5 + frontend/.yarn/install-state.gz | Bin 0 -> 123828 bytes frontend/.yarnrc.yml | 1 + frontend/index.html | 19 + frontend/package.json | 19 + frontend/src/App.css | 77 + frontend/src/App.jsx | 34 + frontend/src/components/UtxoCard.jsx | 84 + frontend/src/components/UtxoCard.module.css | 168 ++ .../src/components/VulnerabilityBadge.jsx | 17 + .../components/VulnerabilityBadge.module.css | 53 + frontend/src/main.jsx | 10 + frontend/src/mocks/mockData.js | 90 + frontend/src/screens/InputScreen.jsx | 54 + frontend/src/screens/InputScreen.module.css | 129 ++ frontend/src/screens/LoadingScreen.jsx | 48 + frontend/src/screens/LoadingScreen.module.css | 139 ++ frontend/src/screens/ReportScreen.jsx | 62 + frontend/src/screens/ReportScreen.module.css | 152 ++ frontend/src/services/walletService.js | 6 + frontend/vite.config.js | 6 + frontend/yarn.lock | 1689 +++++++++++++++++ 22 files changed, 2862 insertions(+) create mode 100644 .gitignore create mode 100644 frontend/.yarn/install-state.gz create mode 100644 frontend/.yarnrc.yml create mode 100644 frontend/index.html create mode 100644 frontend/package.json create mode 100644 frontend/src/App.css create mode 100644 frontend/src/App.jsx create mode 100644 frontend/src/components/UtxoCard.jsx create mode 100644 frontend/src/components/UtxoCard.module.css create mode 100644 frontend/src/components/VulnerabilityBadge.jsx create mode 100644 frontend/src/components/VulnerabilityBadge.module.css create mode 100644 frontend/src/main.jsx create mode 100644 frontend/src/mocks/mockData.js create mode 100644 frontend/src/screens/InputScreen.jsx create mode 100644 frontend/src/screens/InputScreen.module.css create mode 100644 frontend/src/screens/LoadingScreen.jsx create mode 100644 frontend/src/screens/LoadingScreen.module.css create mode 100644 frontend/src/screens/ReportScreen.jsx create mode 100644 frontend/src/screens/ReportScreen.module.css create mode 100644 frontend/src/services/walletService.js create mode 100644 frontend/vite.config.js create mode 100644 frontend/yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b9474a2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +node_modules/ +dist/ +.env +.env.local +*.local diff --git a/frontend/.yarn/install-state.gz b/frontend/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..4b043e5f8ebdb2b2eaa195c9eab31ae9f4fc5859 GIT binary patch literal 123828 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

A&f-k_(F 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�=1AQZOZ>KBo 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 KgbB&3m<9mBW1@!u literal 0 HcmV?d00001 diff --git a/frontend/.yarnrc.yml b/frontend/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/frontend/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..63c9225 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,19 @@ + + + + + + + Stealth — Bitcoin Wallet Privacy Analyzer + + + + + +
+ + + diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..62cfbea --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,19 @@ +{ + "name": "stealth-frontend", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.3.4", + "vite": "^6.0.7" + } +} diff --git a/frontend/src/App.css b/frontend/src/App.css new file mode 100644 index 0000000..ea5bd3b --- /dev/null +++ b/frontend/src/App.css @@ -0,0 +1,77 @@ +/* CSS Custom Properties — Stealth Theme */ +:root { + --bg: #080c14; + --surface: #0f1623; + --surface-2: #162030; + --border: #1e2d45; + --border-hover: #2a3f5e; + --accent: #00d4aa; + --accent-dim: rgba(0, 212, 170, 0.15); + --accent-glow: rgba(0, 212, 170, 0.4); + --danger: #ff4d6d; + --danger-dim: rgba(255, 77, 109, 0.15); + --warning: #f4a261; + --warning-dim: rgba(244, 162, 97, 0.15); + --safe: #2ec4b6; + --safe-dim: rgba(46, 196, 182, 0.15); + --text: #e8edf5; + --text-muted: #6b7a99; + --text-dim: #3d4f6e; + --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; + --font-data: 'JetBrains Mono', 'Fira Code', monospace; + --radius: 8px; + --radius-lg: 12px; + --transition: 0.2s ease; +} + +/* Reset & Base */ +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html, body { + height: 100%; +} + +body { + background-color: var(--bg); + color: var(--text); + font-family: var(--font-ui); + font-size: 16px; + line-height: 1.6; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +#root { + min-height: 100vh; + display: flex; + flex-direction: column; +} + +/* Scrollbar */ +::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +::-webkit-scrollbar-track { + background: var(--bg); +} + +::-webkit-scrollbar-thumb { + background: var(--border); + border-radius: 3px; +} + +::-webkit-scrollbar-thumb:hover { + background: var(--border-hover); +} + +/* Focus visible */ +:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; +} diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx new file mode 100644 index 0000000..81fc92d --- /dev/null +++ b/frontend/src/App.jsx @@ -0,0 +1,34 @@ +import { useState } from 'react' +import InputScreen from './screens/InputScreen' +import LoadingScreen from './screens/LoadingScreen' +import ReportScreen from './screens/ReportScreen' +import { analyzeWallet } from './services/walletService' + +export default function App() { + const [screen, setScreen] = useState('input') + const [descriptor, setDescriptor] = useState('') + const [report, setReport] = useState(null) + + async function handleAnalyze(desc) { + setDescriptor(desc) + setScreen('loading') + try { + const result = await analyzeWallet(desc) + setReport(result) + setScreen('report') + } catch (err) { + console.error('Analysis failed:', err) + setScreen('input') + } + } + + function handleReset() { + setScreen('input') + setDescriptor('') + setReport(null) + } + + if (screen === 'loading') return + if (screen === 'report') return + return +} diff --git a/frontend/src/components/UtxoCard.jsx b/frontend/src/components/UtxoCard.jsx new file mode 100644 index 0000000..2665174 --- /dev/null +++ b/frontend/src/components/UtxoCard.jsx @@ -0,0 +1,84 @@ +import { useState } from 'react' +import VulnerabilityBadge from './VulnerabilityBadge' +import styles from './UtxoCard.module.css' + +function truncateAddress(addr) { + if (!addr || addr.length <= 20) return addr + return `${addr.slice(0, 12)}…${addr.slice(-8)}` +} + +function truncateTxid(txid) { + if (!txid || txid.length <= 24) return txid + return `${txid.slice(0, 16)}…${txid.slice(-8)}` +} + +export default function UtxoCard({ utxo }) { + const [open, setOpen] = useState(false) + const isClean = utxo.vulnerabilities.length === 0 + + const highestSeverity = utxo.vulnerabilities.reduce((acc, v) => { + const order = { high: 3, medium: 2, low: 1 } + return (order[v.severity] ?? 0) > (order[acc] ?? 0) ? v.severity : acc + }, null) + + return ( +
+
setOpen((o) => !o)} + role="button" + aria-expanded={open} + > +
+
+ + {truncateAddress(utxo.address)} + +
+
+ {isClean ? ( + ✓ Clean + ) : ( + utxo.vulnerabilities.map((v, i) => ( + + )) + )} +
+
+ +
+ + {utxo.amountBtc.toFixed(8)} BTC + + + {utxo.confirmations.toLocaleString()} confs + +
+ + +
+ +
+ txid +
+ {utxo.txid}:{utxo.vout} +
+ + {!isClean && ( +
+ {utxo.vulnerabilities.map((v, i) => ( +
+
+ +
+

{v.description}

+
+ ))} +
+ )} +
+
+ ) +} diff --git a/frontend/src/components/UtxoCard.module.css b/frontend/src/components/UtxoCard.module.css new file mode 100644 index 0000000..9e0dbcf --- /dev/null +++ b/frontend/src/components/UtxoCard.module.css @@ -0,0 +1,168 @@ +.card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + transition: border-color var(--transition); +} + +.card:hover { + border-color: var(--border-hover); +} + +.card.hasVulnerabilities { + border-left: 3px solid var(--danger); +} + +.card.clean { + border-left: 3px solid var(--accent); +} + +.header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16px 20px; + cursor: pointer; + gap: 16px; + user-select: none; +} + +.headerLeft { + display: flex; + flex-direction: column; + gap: 6px; + min-width: 0; + flex: 1; +} + +.addressRow { + display: flex; + align-items: center; + gap: 8px; +} + +.address { + font-family: var(--font-data); + font-size: 14px; + color: var(--text); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.badges { + display: flex; + flex-wrap: wrap; + gap: 6px; +} + +.cleanLabel { + font-size: 11px; + font-weight: 600; + color: var(--accent); + letter-spacing: 0.05em; + text-transform: uppercase; +} + +.headerRight { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 4px; + flex-shrink: 0; +} + +.amount { + font-family: var(--font-data); + font-size: 16px; + font-weight: 500; + color: var(--text); +} + +.confirmations { + font-size: 12px; + color: var(--text-muted); +} + +.chevron { + color: var(--text-muted); + font-size: 12px; + transition: transform var(--transition); + flex-shrink: 0; +} + +.chevron.open { + transform: rotate(180deg); +} + +/* Detail panel */ +.detail { + border-top: 1px solid var(--border); + padding: 0; + overflow: hidden; + max-height: 0; + transition: max-height 0.3s ease, padding 0.3s ease; +} + +.detail.open { + max-height: 600px; + padding: 16px 20px; +} + +.txid { + font-family: var(--font-data); + font-size: 12px; + color: var(--text-muted); + word-break: break-all; + margin-bottom: 16px; +} + +.txidLabel { + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: var(--text-dim); + display: block; + margin-bottom: 4px; +} + +.vulnerabilityList { + display: flex; + flex-direction: column; + gap: 12px; +} + +.vulnItem { + border-radius: var(--radius); + padding: 14px 16px; +} + +.vulnItem.high { + background: var(--danger-dim); + border: 1px solid rgba(255, 77, 109, 0.2); +} + +.vulnItem.medium { + background: var(--warning-dim); + border: 1px solid rgba(244, 162, 97, 0.2); +} + +.vulnItem.low { + background: var(--safe-dim); + border: 1px solid rgba(46, 196, 182, 0.2); +} + +.vulnHeader { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 8px; +} + +.vulnDesc { + font-size: 13px; + color: var(--text-muted); + line-height: 1.6; +} diff --git a/frontend/src/components/VulnerabilityBadge.jsx b/frontend/src/components/VulnerabilityBadge.jsx new file mode 100644 index 0000000..1b7e6d4 --- /dev/null +++ b/frontend/src/components/VulnerabilityBadge.jsx @@ -0,0 +1,17 @@ +import styles from './VulnerabilityBadge.module.css' + +const LABELS = { + ADDRESS_REUSE: 'Address Reuse', + DUST_SPEND: 'Dust', + CONSOLIDATION: 'Consolidation', + CIOH: 'CIOH', +} + +export default function VulnerabilityBadge({ type, severity }) { + return ( + + + {LABELS[type] ?? type} + + ) +} diff --git a/frontend/src/components/VulnerabilityBadge.module.css b/frontend/src/components/VulnerabilityBadge.module.css new file mode 100644 index 0000000..19d6f07 --- /dev/null +++ b/frontend/src/components/VulnerabilityBadge.module.css @@ -0,0 +1,53 @@ +.badge { + display: inline-flex; + align-items: center; + gap: 5px; + padding: 3px 10px; + border-radius: 20px; + font-family: var(--font-ui); + font-size: 11px; + font-weight: 600; + letter-spacing: 0.05em; + text-transform: uppercase; + white-space: nowrap; +} + +.dot { + width: 5px; + height: 5px; + border-radius: 50%; + flex-shrink: 0; +} + +.high { + background: var(--danger-dim); + color: var(--danger); + border: 1px solid rgba(255, 77, 109, 0.3); +} + +.high .dot { + background: var(--danger); + box-shadow: 0 0 4px var(--danger); +} + +.medium { + background: var(--warning-dim); + color: var(--warning); + border: 1px solid rgba(244, 162, 97, 0.3); +} + +.medium .dot { + background: var(--warning); + box-shadow: 0 0 4px var(--warning); +} + +.low { + background: var(--safe-dim); + color: var(--safe); + border: 1px solid rgba(46, 196, 182, 0.3); +} + +.low .dot { + background: var(--safe); + box-shadow: 0 0 4px var(--safe); +} diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx new file mode 100644 index 0000000..a182e41 --- /dev/null +++ b/frontend/src/main.jsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './App.css' +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + , +) diff --git a/frontend/src/mocks/mockData.js b/frontend/src/mocks/mockData.js new file mode 100644 index 0000000..57d1b26 --- /dev/null +++ b/frontend/src/mocks/mockData.js @@ -0,0 +1,90 @@ +export const mockReport = { + descriptor: 'wpkh([a1b2c3d4/84h/0h/0h]xpub6CatWdiZynkCminahu8Gmr7FAVnQXBTSMaBxn6qmBNkdm9tDkFzWmjmDrLBCQSTa7BHgpEjCXzMTCyDsQLSmcGYJHBB7cTwpqLNRKGP47uw/0/*)#qwer1234', + summary: { + total: 5, + clean: 1, + vulnerable: 4, + }, + utxos: [ + { + txid: '3a7f2b8c1d4e9f0a6b5c2d7e8f3a1b4c9d2e5f0a7b8c1d4e9f2a5b6c3d7e8f1', + vout: 0, + address: 'bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh', + amountBtc: 0.05234891, + confirmations: 1842, + vulnerabilities: [], + }, + { + txid: 'b4c8e2f6a1d5b9c3e7f1a5d9b3c7e1f5a9d3b7c1e5f9a3d7b1c5e9f3a7d1b5', + vout: 1, + address: 'bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq', + amountBtc: 0.00023000, + confirmations: 312, + vulnerabilities: [ + { + type: 'DUST_SPEND', + severity: 'medium', + description: + 'This UTXO is near the dust threshold. Spending it may cost more in fees than its value, and dust outputs are often used as tracking vectors by chain surveillance companies.', + }, + { + type: 'ADDRESS_REUSE', + severity: 'high', + description: + 'This address has received funds in 3 separate transactions. Address reuse breaks the one-time-address privacy model and allows observers to link all deposits to the same wallet.', + }, + ], + }, + { + txid: 'f9e3d7c1b5a9f3d7c1b5a9f3d7c1b5a9f3d7c1b5a9f3d7c1b5a9f3d7c1b5a9', + vout: 0, + address: 'bc1q9h7garjcdkl4h5khfz2yxkhsmhep5j7g4cjtch', + amountBtc: 0.12000000, + confirmations: 4521, + vulnerabilities: [ + { + type: 'CONSOLIDATION', + severity: 'medium', + description: + 'This UTXO was created by consolidating 7 inputs in a single transaction. Consolidation reveals that all input addresses belong to the same wallet, reducing privacy significantly.', + }, + ], + }, + { + txid: '2c6e0a4f8b2d6e0a4f8b2d6e0a4f8b2d6e0a4f8b2d6e0a4f8b2d6e0a4f8b2d', + vout: 2, + address: 'bc1qm34mqf4vn8f5vhf0q3djg2zuzfm9aap6e3n4j', + amountBtc: 0.87654321, + confirmations: 98, + vulnerabilities: [ + { + type: 'CIOH', + severity: 'high', + description: + 'Common Input Ownership Heuristic (CIOH): this UTXO was spent alongside UTXOs from different derivation paths in the same transaction, strongly suggesting to analysts that all inputs share a common owner.', + }, + { + type: 'ADDRESS_REUSE', + severity: 'high', + description: + 'This address appears in 5 transactions as both sender and receiver, a pattern that severely compromises wallet privacy and makes cluster analysis trivial.', + }, + ], + }, + { + txid: '7d1b5e9f3a7d1b5e9f3a7d1b5e9f3a7d1b5e9f3a7d1b5e9f3a7d1b5e9f3a7d', + vout: 0, + address: 'bc1qcr8te4kr609gcawutmrza0j4xv80jy8zeqchgx', + amountBtc: 0.00500000, + confirmations: 2103, + vulnerabilities: [ + { + type: 'DUST_SPEND', + severity: 'low', + description: + 'A small dust amount was received at this address in a prior transaction. While the dust has not been spent, its presence could be used to track this UTXO if included in a future transaction.', + }, + ], + }, + ], +} diff --git a/frontend/src/screens/InputScreen.jsx b/frontend/src/screens/InputScreen.jsx new file mode 100644 index 0000000..b572609 --- /dev/null +++ b/frontend/src/screens/InputScreen.jsx @@ -0,0 +1,54 @@ +import { useState } from 'react' +import styles from './InputScreen.module.css' + +const PLACEHOLDER = `wpkh([a1b2c3d4/84h/0h/0h]xpub6CatWdiZynkCminahu8Gmr7FAVnQXBTSMaBxn6qmBNkdm9tDkFzWmjmDrLBCQSTa7BHgpEjCXzMTCyDsQLSmcGYJHBB7cTwpqLNRKGP47uw/0/*)#qwer1234` + +export default function InputScreen({ onAnalyze }) { + const [descriptor, setDescriptor] = useState('') + + function handleSubmit(e) { + e.preventDefault() + const trimmed = descriptor.trim() + if (!trimmed) return + onAnalyze(trimmed) + } + + return ( +
+
+
+
+ STEALTH +
+
Bitcoin Wallet Privacy Analyzer
+
+ +
+ +