• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

archetech / archon / 29777644685
90%
main: 90%

Build:
Build:
LAST BUILD BRANCH: dependabot/npm_and_yarn/shell-quote-1.10.0
DEFAULT BRANCH: main
Ran 20 Jul 2026 08:52PM UTC
Jobs 1
Files 62
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Jul 2026 08:48PM UTC coverage: 90.365% (+0.002%) from 90.363%
29777644685

Pull #757

github

macterra
fix: re-derive HD key when saving a different wallet than the cache (#733)

Restoring the unencrypted WalletFile form (as the MCP surface hands out
from create/show) into a long-lived instance whose HD-key cache was warmed
by a *different* wallet encrypted the restored metadata under the previous
wallet's key while storing the incoming wallet's mnemonicEnc. The stored
wallet became unreadable on next load, yet saveWallet returned true.

Root cause: the HD-key cache carried no record of which wallet's seed it
was derived from, so getHDKeyFromCacheOrMnemonic / _root_node returned a
stale key for the wallet being encrypted. The encrypted-restore path was
unaffected because it refreshes the cache before re-encrypting; only the
decrypted WalletFile path (which skips that refresh) was exposed. The CLI
is safe -- one command per process, cold cache -- which is why it never
surfaced.

Fix: key the cache to the passphrase-encrypted mnemonic (salt.iv.data) it
was derived from. getHDKeyFromCacheOrMnemonic / _root_node now re-derive
when the wallet being encrypted differs from the cached one. Normal
same-wallet saves keep the cache warm (no extra KDF); the KDF is paid only
when the wallet identity actually changes, which is correct.

Applied symmetrically to the JS core and the Python keymaster port (same
bug, same fix) to preserve parity. Adds a regression test in each that
warms an instance with wallet A, restores wallet B's decrypted form, and
asserts a fresh instance reads B back intact -- both fail without the fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pull Request #757: fix: re-derive HD key when saving a different wallet than the cache (#733)

2984 of 3535 branches covered (84.41%)

Branch coverage included in aggregate %.

7 of 7 new or added lines in 1 file covered. (100.0%)

105 existing lines in 1 file now uncovered.

6179 of 6605 relevant lines covered (93.55%)

840.95 hits per line

Coverage Regressions

Lines Coverage ∆ File
105
91.15
0.0% packages/keymaster/src/keymaster.ts
Jobs
ID Job ID Ran Files Coverage
1 29777644685.1 20 Jul 2026 08:51PM UTC 124
91.54
GitHub Action Run
Source Files on build 29777644685
  • Tree
  • List 62
  • Changed 57
  • Source Changed 1
  • Coverage Changed 57
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29777644685
  • Pull Request #757
  • PR Base - main (#29775440727)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc