Commit Graph
268 Commits
Author SHA1 Message Date
sneak 1b806fb9e9 Store xpubs unencrypted, remove password from viewing flow
check / check (push) Successful in 12s
Xpubs and derived addresses stored unencrypted in extension
storage for instant read-only access without a password.
Password will only be required for signing transactions
(not yet implemented). Real addresses now derived from
mnemonic via ethers HDNodeWallet at wallet creation time.
Removed lock screen, password fields, and Lock button.
BIP-39 mnemonic validation added. README updated with split
storage model documentation.
2026-02-25 16:13:22 +07:00
sneak 147ffbeb92 Document full identifiers policy in README
check / check (push) Successful in 13s
Addresses, tx hashes, and contract addresses must always be
shown in full to prevent address poisoning attacks. Truncation
only acceptable when full identifier is one tap away.
2026-02-25 16:07:17 +07:00
sneak d384d41c82 Show full addresses in wallet list
check / check (push) Successful in 13s
Display complete addresses instead of truncated ones. Address
poisoning attacks use matching prefixes/suffixes to fool users
into copying fraud addresses. Showing the full address mitigates
this.
2026-02-25 16:06:33 +07:00
sneak b166a96e87 Remove DEBUG lock-screen bypass, add DEBUG mode policy
check / check (push) Successful in 11s
DEBUG mode must behave identically to normal mode except for
the red banner and hardcoded mnemonic. No other DEBUG branches
without explicit owner approval. Policy documented in README.
2026-02-25 16:06:03 +07:00
sneak 88f57263fb Persist wallet state to extension storage
check / check (push) Successful in 12s
State (wallets, RPC URL, setup flag) is saved to
browser.storage.local / chrome.storage.local after every
mutation and loaded on popup open. In DEBUG mode, the lock
screen is skipped since encryption is not yet implemented.
2026-02-25 16:02:33 +07:00
sneak 079541e84b Add DEBUG mode with red banner and hardcoded mnemonic
check / check (push) Successful in 12s
When DEBUG=true: a sticky red "DEBUG / INSECURE" banner appears
at the top of all views, and the die button returns a hardcoded
test mnemonic instead of generating a random one.
2026-02-25 15:59:50 +07:00
sneak 2a4e29b773 Remove fixed min-height, let popup auto-size to content
check / check (push) Successful in 12s
Browser popups auto-size to fit content. A fixed min-height
forced the body taller than the browser allows, causing
scrollbars. Now each view is exactly as tall as it needs to be.
2026-02-25 15:57:07 +07:00
sneak 29d6e7918e Increase popup dimensions to 396x720
check / check (push) Successful in 13s
10% wider (360→396) and 20% taller (600→720) to prevent
scrollbar appearing when recovery phrase warning is shown.
2026-02-25 15:56:32 +07:00
sneak da30c0667f Use ethers.js Mnemonic for real BIP-39 phrase generation
check / check (push) Successful in 22s
Replace stub wordlist with ethers.Mnemonic.fromEntropy() using
crypto.getRandomValues(). Add esbuild to bundle popup JS so it
can import ethers directly — no background messaging needed.
Each die click now generates a valid, random BIP-39 mnemonic.
2026-02-25 15:40:41 +07:00
sneak a967029511 Add ethers.js and libsodium, document crypto policy
check / check (push) Successful in 21s
Runtime deps: ethers 6.16.0 (all Ethereum operations) and
libsodium-wrappers-sumo 0.8.2 (Argon2id + XSalsa20-Poly1305 for
encrypting secrets at rest). README now documents all dependencies
with versions/licenses, a crypto policy forbidding raw primitives
in application code, and the updated encryption scheme.
2026-02-25 15:37:49 +07:00
sneak e6d8f6acf4 Clarify password role, random die, updated wording
check / check (push) Successful in 14s
- Password help text now explains it encrypts the recovery phrase
  on disk and is not used for address derivation
- Die button generates cryptographically random phrases using
  crypto.getRandomValues(), different each click
- "roll the die for a new one" wording
- README documents full encryption scheme (PBKDF2 + AES-256-GCM)
  and explicitly notes password is not part of BIP-39 derivation
2026-02-25 15:34:33 +07:00
sneak 3dbf885951 Consolidate to single Add Wallet button everywhere
check / check (push) Successful in 12s
Welcome and main views now show one button: "Add wallet".
Private key import is accessible as a small link at the bottom
of the Add Wallet view ("Have a private key instead?").
2026-02-25 15:25:20 +07:00
sneak 1a49665210 Unify create/import into single Add Wallet view
check / check (push) Successful in 13s
Merge "Create new wallet" and "Import recovery phrase" into one
"Add wallet" screen. The recovery phrase textarea starts empty.
A clickable die button generates a random phrase and shows a
backup warning. Users who already have a phrase just paste it.
Welcome screen simplified to two options: "Add wallet" and
"Import private key". README updated to match.
2026-02-25 15:24:24 +07:00
sneak 8431488849 Redesign UI for non-technical users
check / check (push) Successful in 13s
Replace jargon-heavy terminal-style UI with plain-language views.
New data model: wallets (HD or private key) contain addresses.
Main view lists all addresses grouped by wallet with balances.
HD wallets get a "+" to add addresses; key wallets have one.
Two import paths: recovery phrase and private key.
All labels use plain English, full-sentence errors, inline help
text. README updated with full UI philosophy, language guide,
data model, and navigation docs.
2026-02-24 10:21:52 +07:00
sneak e41efc969d Use make targets exclusively in Getting Started
check / check (push) Successful in 11s
Add make install target wrapping yarn install. The Makefile is the
authoritative interface for all repo operations.
2026-02-24 10:15:01 +07:00
sneak d9eda1d503 Add basic monochrome popup UI with Tailwind CSS
check / check (push) Successful in 11s
Black-on-white, monospace, Universal Paperclips aesthetic.
All views: lock, setup/create/import, main account, send,
receive, add token, settings, and approval. Vanilla JS view
switching with stub state. README updated with full UI design
philosophy, external services documentation, and view descriptions.
2026-02-24 10:12:19 +07:00
sneak 065f0eaa81 Add project scaffolding
check / check (push) Successful in 10s
Makefile, Dockerfile, CI workflow, prettier config, manifests for
Chrome (MV3) and Firefox (MV2), source directory structure, and
minimal test suite. All checks pass.
2026-02-24 09:48:21 +07:00
sneak c2ff5d1788 Initial README for AutistMask
Minimal Ethereum wallet browser extension for Chrome and Firefox.
GPL-3.0 licensed.
2026-02-24 09:45:05 +07:00