Overview
Plan for submitting SeedKeeper support and HIL testing to upstream cryptoadvance/specter-diy.
PRs (in order)
PR 1: SeedKeeper keystore (#2)
Branch: feat/seedkeeper (from upstream/master)
Scope: Smartcard-based keystore, no submodule changes
Depends on: Nothing
Status: Needs security fixes (see #4), logging decision
PR 2: HIL testing framework (#3)
Branch: feat/seedkeeper-hil (from PR 1 branch)
Scope: Hardware-in-the-loop test automation
Depends on: PR 1
Status: Internal flash path broken, only works with SeedKeeper card
NOT submitted (low priority)
Bitcoin Core v30 compat (#5)
Alternative: install older Bitcoin Core. Can submit if upstream asks.
Shared-File Challenge
src/specter.py and src/main.py have changes for both SeedKeeper and HIL. Split approach:
specter.py:
- SeedKeeper PR:
select_keystore() rewrite, init_apps() fix, log_exception()
- HIL PR: HIL listener, heartbeat disable,
hil_test_mode import
main.py:
- SeedKeeper PR: SeedKeeper import + keystores list
- HIL PR:
os.dupterm(None, 0) guard, network = "regtest" override
Pre-Submission Checklist (SeedKeeper PR)
Branch Workflow
upstream/master
├── feat/seedkeeper ← PR 1
│ └── feat/seedkeeper-hil ← PR 2
└── seedkeeper-debug ← working branch (satochip-dev)
Submodule Policy
Our PRs do NOT touch any submodule. The USART T=1 reconfig (#1) is a separate issue for diybitcoinhardware/f469-disco.
Overview
Plan for submitting SeedKeeper support and HIL testing to upstream
cryptoadvance/specter-diy.PRs (in order)
PR 1: SeedKeeper keystore (#2)
Branch:
feat/seedkeeper(fromupstream/master)Scope: Smartcard-based keystore, no submodule changes
Depends on: Nothing
Status: Needs security fixes (see #4), logging decision
PR 2: HIL testing framework (#3)
Branch:
feat/seedkeeper-hil(from PR 1 branch)Scope: Hardware-in-the-loop test automation
Depends on: PR 1
Status: Internal flash path broken, only works with SeedKeeper card
NOT submitted (low priority)
Bitcoin Core v30 compat (#5)
Alternative: install older Bitcoin Core. Can submit if upstream asks.
Shared-File Challenge
src/specter.pyandsrc/main.pyhave changes for both SeedKeeper and HIL. Split approach:specter.py:
select_keystore()rewrite,init_apps()fix,log_exception()hil_test_modeimportmain.py:
os.dupterm(None, 0)guard,network = "regtest"overridePre-Submission Checklist (SeedKeeper PR)
seedkeeper_applet.py:428seedkeeper_applet.py:339satochip_securechannel.pydocstringdebug_trace.py(include, strip, or gate behind__debug__)memorycard.pychangesBranch Workflow
Submodule Policy
Our PRs do NOT touch any submodule. The USART T=1 reconfig (#1) is a separate issue for
diybitcoinhardware/f469-disco.