Tracking upstream issues discovered during development that should be submitted as PRs to diybitcoinhardware/specter-diy and/or diybitcoinhardware/f469-disco.
specter-diy upstream
| Issue |
File |
Description |
Our fix |
Status |
rpc.py KeyError |
test/integration/util/rpc.py:373 |
r["error"] crashes when Bitcoin Core batch response omits "error" key |
r.get("error") — see #11 |
Tested, reverted from HIL branch |
init_apps() missing |
src/specter.py setup() |
init_apps() not called after unlock() on fresh keystore — causes transient "Specter error" Alert after PIN confirm |
Add self.init_apps() after await self.unlock() when fingerprint is not None |
Tested on hardware, reverted from HIL branch |
controller.py bug |
test/integration/util/controller.py:92 |
sim.gui.send() should be self.gui.send() |
Fixed — kept in HIL branch (tests don't work without it) |
In HIL branch |
run_tests.py broken |
test/integration/run_tests.py:8 |
core.start() commented out, unconditional test_with_rpc import |
Not fixed |
— |
BitcoinCore port mismatch |
test/integration/util/controller.py:112 |
Uses port 18778 but ~/.bitcoin/bitcoin.conf uses 18443 |
Not fixed |
— |
f469-disco upstream
| Issue |
File |
Description |
| Simulator EINTR |
libs/common/asyncio/core.py:118 |
poll.ipoll() doesn't retry on OSError: 4 (EINTR) — see #12 |
| T=1 USART reconfig |
scard/port |
USART not reconfigured for T=1 smart card protocol — see #1, upstream PR #40 |
| Missing simulator stubs |
libs/unix/pyb.py |
LED, SDCard, hard_reset() not defined — see #16 |
bootloader upstream
| Issue |
File |
Description |
| Doc: st-flash erase |
doc/remove_protection.md |
Missing st-flash --connect-under-reset erase instructions (simpler than openocd) — see #15 |
| Doc: RDP Level 2 warning |
doc/remove_protection.md |
No warning that RDP Level 2 is permanent and irreversible — see #15 |
Bitcoin Core v30 breaking changes (deferred)
descriptors must be named parameter
"error" key omitted from responses
importmulti removed
getdescriptorinfo doesn't accept multi-path {0,1}
Tracking upstream issues discovered during development that should be submitted as PRs to
diybitcoinhardware/specter-diyand/ordiybitcoinhardware/f469-disco.specter-diy upstream
rpc.pyKeyErrortest/integration/util/rpc.py:373r["error"]crashes when Bitcoin Core batch response omits"error"keyr.get("error")— see #11init_apps()missingsrc/specter.pysetup()init_apps()not called afterunlock()on fresh keystore — causes transient "Specter error" Alert after PIN confirmself.init_apps()afterawait self.unlock()whenfingerprint is not Nonecontroller.pybugtest/integration/util/controller.py:92sim.gui.send()should beself.gui.send()run_tests.pybrokentest/integration/run_tests.py:8core.start()commented out, unconditionaltest_with_rpcimportBitcoinCoreport mismatchtest/integration/util/controller.py:112~/.bitcoin/bitcoin.confuses 18443f469-disco upstream
libs/common/asyncio/core.py:118poll.ipoll()doesn't retry onOSError: 4(EINTR) — see #12libs/unix/pyb.pyLED,SDCard,hard_reset()not defined — see #16bootloader upstream
doc/remove_protection.mdst-flash --connect-under-reset eraseinstructions (simpler than openocd) — see #15doc/remove_protection.mdBitcoin Core v30 breaking changes (deferred)
descriptorsmust be named parameter"error"key omitted from responsesimportmultiremovedgetdescriptorinfodoesn't accept multi-path{0,1}