What changed, and why it matters
This commit only adds new test cases for BIP-87 extended public key derivation. It does not change any application code, cryptographic logic, or security behavior. There is no indication of a security fix or vulnerability.
No action required; this is a routine test-only change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds one test vector for path m/87’/1’/0’ to a TOML test data file and one corresponding entry to a Python test that verifies standard extended public key export without user display. The change is purely additive test coverage for an already-supported BIP. No source code, firmware logic, or access-control rules are modified.
Changed components
tests/test_get_extended_pubkey.pytest_vectors/get_extended_pubkey.tomlInspect captured patch +7 / −1
diff --git a/test_vectors/get_extended_pubkey.toml b/test_vectors/get_extended_pubkey.toml
index b47ab96..0ebcc7b 100644
--- a/test_vectors/get_extended_pubkey.toml
+++ b/test_vectors/get_extended_pubkey.toml
@@ -85,6 +85,12 @@ path = "m/45'/1'/0'/1"
standard = true
expected_pubkey = "tpubDFGDxRGdGFKekUtPuta4p9Kw2a2PSeyyhSTa7KNENJfBuJ78EEsL1LxwAA8ddSxZFWBT9gYRuLDoa2rwdix56WRsq77vAJ2iqeyPw6UBeyt"
+[[case]]
+name = "std_bip87"
+path = "m/87'/1'/0'"
+standard = true
+expected_pubkey = "tpubDCfRoKFmEJ2uJdvBmrUngREKnaab4P6vC5NbMaeLhjdr3b5zEoruPKByWBJJag5qTdc5FptiSRpuY7AReZPcQAQqCVCUDj3R6DJuyzjMAmh"
+
# Electrum historically used "m/4541509h/1112098098h" to derive encryption
# keys, so the app whitelists it: non-standard in the BIP sense, but exported
# without confirmation.
@@ -106,7 +112,6 @@ name = "std_bip48_script_type_2"
path = "m/48'/1'/0'/2'"
standard = true
-
# ---- Non-standard paths (exported only with display = true) ----
# Unchained Capital multisig setup. Non-standard for export-without-display:
diff --git a/tests/test_get_extended_pubkey.py b/tests/test_get_extended_pubkey.py
index 9705613..be601e5 100644
--- a/tests/test_get_extended_pubkey.py
+++ b/tests/test_get_extended_pubkey.py
@@ -46,6 +46,7 @@ def test_get_extended_pubkey_standard_nodisplay(client: RaggerClient):
"m/49'/1'/1'/1/3": "tpubDGnetmJDCL18TyaaoyRAYbkSE9wbHktSdTS4mfsR6inC8c2r6TjdBt3wkqEQhHYPtXpa46xpxDaCXU2PRNUGVvDzAHPG6hHRavYbwAGfnFr",
"m/84'/1'/2'/0/10": "tpubDG9YpSUwScWJBBSrhnAT47NcT4NZGLcY18cpkaiWHnkUCi19EtCh8Heeox268NaFF6o56nVeSXuTyK6jpzTvV1h68Kr3edA8AZp27MiLUNt",
"m/86'/1'/4'/1/12": "tpubDHTZ815MvTaRmo6Qg1rnU6TEU4ZkWyA56jA1UgpmMcBGomnSsyo34EZLoctzZY9MTJ6j7bhccceUeXZZLxZj5vgkVMYfcZ7DNPsyRdFpS3f",
+ "m/87'/1'/0'": "tpubDCfRoKFmEJ2uJdvBmrUngREKnaab4P6vC5NbMaeLhjdr3b5zEoruPKByWBJJag5qTdc5FptiSRpuY7AReZPcQAQqCVCUDj3R6DJuyzjMAmh",
# support up to 8 steps
"m/86'/1'/4'/1/2/3/4/5": "tpubDNcjumrTe1BBYEc1FmMaJZQw47mbvb4LfX4YwqC6GQ18PfMfuH3BEYREfdHm2gWXkSJ3JiXHF11iKnbJxzxp5qkgo8BBy2L48FRvrLhpTuh",
# the following two paths test compatibility with Unchained Capital's multisig setup
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.