diff --git a/releases/Next-ChangeLog.md b/releases/Next-ChangeLog.md index c5d1fa44..03d9b4c3 100644 --- a/releases/Next-ChangeLog.md +++ b/releases/Next-ChangeLog.md @@ -37,6 +37,7 @@ This lists the new changes that have not yet been published in a normal release. - Bugfix: Factory-disabled NFC was not recognized correctly. - Bugfix: Be more robust about flash filesystem holding the settings. - Bugfix: Do not include sighash in PSBT input data, if sighash value is `SIGHASH_ALL`. +- Bugfix: Allow to import multisig descriptor with root (m) keys in it. Thanks [@turkycat](https://github.com/turkycat) - Change: Do not purge settings of current active tmp seed when deleting it from Seed Vault. - Change: Rename Testnet3 -> Testnet4 (all parameters unchanged). diff --git a/testing/test_multisig.py b/testing/test_multisig.py index a823c4d3..ee347909 100644 --- a/testing/test_multisig.py +++ b/testing/test_multisig.py @@ -99,6 +99,19 @@ def make_multisig(dev, sim_execfile): # - but can provide str format for deriviation, use {idx} for cosigner idx def doit(M, N, unique=0, deriv=None, dev_key=False, chain="XTN"): + + def _derive(master, origin_der, idx): + if origin_der == "m": + return master + + d = origin_der.format(idx=idx) if origin_der else "m/45h" + try: + child = master.subkey_for_path(d) + except IndexError: + # some test cases are using bogus paths + child = master + return child + keys = [] for i in range(N-1): @@ -106,16 +119,7 @@ def make_multisig(dev, sim_execfile): xfp = unpack("