deviant/scripts/lib
Local Dev a623aae040 feat(keystore): master-password encryption for Keys/chipnet-keystore.json
Adds AES-256-GCM + PBKDF2-SHA256 (200,000 iterations) encryption for the
consolidated chipnet keystore. Loader auto-detects the encrypted format
(`chipnet-keystore/2-encrypted`) and prompts for the master password on
first use — or reads CHIPNET_KEYSTORE_PASSWORD env for scripted/CI runs.
Password cached in-process only.

- scripts/chipnet-keystore-encrypt.mjs — one-shot encrypt in place;
  backs up plaintext to Keys/chipnet-keystore.plain.bak (also gitignored)
- scripts/chipnet-keystore-decrypt.mjs — --check, --in-place, --stdout,
  --out=<path> modes for verification and one-time exports (bulk import
  into a wallet UI, migration, key rotation)
- scripts/lib/chipnet-keystore.mjs — adds loadAllAsync(),
  getEntryAsync(), ensureKeystoreUnlocked(); sync API still works on
  plain keystores and throws a clear "call *Async instead" on encrypted
  ones until unlocked once at boot

Test coverage: round-trip encrypt+verify+load-async validated end-to-end;
plain-keystore path still loads all 12 wallets unchanged.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-01 23:58:47 +02:00
..
anyhedge-oracle.mjs chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
btc-htlc.mjs feat(t6): validate BTC↔BCH end-to-end + bonded M-of-N + wallet UX (ADR-0046) 2026-06-28 00:27:04 +02:00
chipnet-keystore.mjs feat(keystore): master-password encryption for Keys/chipnet-keystore.json 2026-09-01 23:58:47 +02:00
chipnet-multisource.mjs feat(asm): Potidaea swap-relay + tally refresh to 52,998 2026-08-14 01:39:41 +02:00
chipnet-safe.mjs chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
t6-btc.mjs feat(t6-mvp): wire BTC 2-of-2 lifecycle into the wallet — real open + coop close 2026-07-03 00:52:39 +02:00
t6-engine.mjs feat(t6-mvp): self-custodial channel engine — board (checkDataSig) + BTC 2-of-2 (PSBT) 2026-07-02 02:28:47 +02:00
t6-wallet.mjs feat(t6-mvp): two-party self-custodial wallet protocol (Phase 4a) 2026-07-02 18:14:52 +02:00