deviant/Parameters
Local Dev cbbc4e689b feat(faucet): master-password unlock (v:3) — one password reveals all wallets
Add a v:3 unlock mode alongside the existing v:1 (WIF) and v:2 (seed-phrase +
BIP-32) paths in the faucet sign-in flow. The new mode keys directly off the
Deviant chipnet-keystore master password, so the SAME password that unlocks
Keys/chipnet-keystore.json also reveals the faucet's saved-address watchlist
after deploy.

build-seed-enc.mjs
- New --master-pw flag (or CHIPNET_KEYSTORE_PASSWORD env). Refuses a password
  shorter than 8 chars; prompts interactively when no env is set.
- v:3 uses PBKDF2-SHA256/200000 with a FRESH 16-byte random salt per build,
  stored inline in the blob. Deliberately different from v:1's fixed
  "deviant-faucet-seed-v1" salt: the password entropy is much lower than a
  raw private key, so a per-build salt kills pre-computed rainbow tables and
  keeps rebuilds independent of stolen older blobs. 200k iters matches the
  Deviant keystore's PBKDF2 parameters — a stolen blob costs ~0.5s per guess.
- The v:2/v:1 paths are unchanged; the blob shape stays the same shape
  ({v, iv, ct}) with kdf+salt fields on v:1/v:3 and a `path` field on v:2.

index.html
- New "Master password" input mode alongside the existing seed-phrase and WIF
  modes. New masterPwToRawKey() reads the salt + iters from the loaded blob
  and derives the AES-256 key via SubtleCrypto — verifies the blob is v:3
  before continuing.
- tryAutoUnlock() now picks the default mode from the deployed blob version:
  v:3 → 'master', else the existing v:2/v:1 probe.
- Sign-in modal grew a third input field; the panel-open focus target
  branches on the current mode.

Verified end-to-end in browser preview:
- v:3 blob loads (2083 ct bytes · fresh 16-byte salt · 200k iters).
- Correct master password → 15 chipnet BCH addresses rendered (7 original +
  8 imported from the extended keystore: h, i, gmx, anthemus-platform,
  potidaea, sirius-x, bns-beacon, bns-tld-beacon).
- Wrong password → opaque "Wrong key — could not decrypt." error, no leak.
- No plaintext faucet-seed.js in the deploy path (already gitignored).

Third consumer of the same master-password crypto envelope this week, after
the shipped Deviant chipnet-keystore encryption
(scripts/chipnet-keystore-{encrypt,decrypt}.mjs) and before the Explorer
which reuses the same primitives at v:1 spec level.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-19 01:24:40 +02:00
..
Anthemus_DEX feat(anthemus-taker): promote _take-anthemus-order.mjs → chipnet-anthemus-taker.mjs (oracle) 2026-08-31 13:18:53 +02:00
Artemision snapshot(0259): asm adjustable fee-with-cap covenant + wallet-integration handoff 2026-09-02 00:23:18 +02:00
ASM_CrossChain style(docs): migrate sat/sats → bit/bits across wiki + Parameters 2026-08-09 01:09:06 +02:00
ASM_Native @ 2026-08-14 02:00:43 +02:00
Athenae Politeia chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
CoinSpectrum docs(coinspectrum): design record for the CoinSpectrum aggregator 2026-06-26 22:12:03 +02:00
dApp feat(faucet): master-password unlock (v:3) — one password reveals all wallets 2026-09-19 01:24:40 +02:00
DEX_P2P_FiatOnOff style(docs): migrate sat/sats → bit/bits across wiki + Parameters 2026-08-09 01:09:06 +02:00
P2Porderbooktelegram docs(reorg): rename DEX_P2P -> DEX_P2P_FiatOnOff; dissolve dApp/Betting 2026-07-19 22:56:43 +02:00
Philosophy chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
PriceAnalysis style(docs): migrate sat/sats → bit/bits across wiki + Parameters 2026-08-09 01:09:06 +02:00
SSHkeyServer @ 2026-08-14 02:00:43 +02:00
Summary of 3 conversations style(docs): migrate sat/sats → bit/bits across wiki + Parameters 2026-08-09 01:09:06 +02:00
WalletConnect @ 2026-08-14 02:00:43 +02:00
webfiles brand(landing): terminology refresh — Artemision · Katalogos · Agora as hub 2026-08-30 00:33:26 +02:00
BNS-record-update-prep.md docs(bns): fix Option B prereqs — creds at Argus/, VPS s3d (not local) 2026-09-16 00:52:32 +02:00
deviant_demand-map_jobs-ranked-by-live-demand.html chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
deviant_epigrams.md chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
deviant_flow-and-bch-impact-model.md chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
deviant_industry-thesis.md chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
deviant_marketing-session_demand-positioning-and-taglines.md chore: checkpoint in-flight work across shell, contracts, and docs 2026-07-07 02:02:05 +02:00
Deviant_MASTER_context.md style(docs): migrate sat/sats → bit/bits across wiki + Parameters 2026-08-09 01:09:06 +02:00
deviant_master_context_UPDATED.md style(docs): migrate sat/sats → bit/bits across wiki + Parameters 2026-08-09 01:09:06 +02:00
deviant_technical_spec_v2_8.md feat(asm): Potidaea swap-relay + tally refresh to 52,998 2026-08-14 01:39:41 +02:00
Hosting-DeviantX.md @ 2026-08-14 02:00:43 +02:00
project-context.md feat(asm): Potidaea swap-relay + tally refresh to 52,998 2026-08-14 01:39:41 +02:00
SESSION-REFERENCE_doublespend-and-blocksize-wars_2026-06-07.md chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00