Claude/eager ritchie#7
Merged
Merged
Conversation
- View for loading a component key in the SeedXOR rebuild flow. - Current combined fingerprint of the SeedXOR components - View for selecting an existing seed to use as a SeedXOR component. - View for finalizing the SeedXOR seed.
…signer into seed-xor-flow
…edxor perfomed successfully.
This reverts commit 5430b35.
- put in src/seedsigner/helphers/mnemonic_generation.py - used in seed_views.py
…ct() in the init method
- Validation logic has been separated from the controller into a dedicated SeedXORValidator, and the controller's methods now consistently return None on success or an error dictionary on failure. Views are now responsible for handling these results and managing navigation.
…signer into seed-xor-flow
- Covers the `combine_mnemonics_with_xor` function and the `SeedXORValidator` class, ensuring correctness and robust error handling.
style: fix typos in source code comments and strings
Enable Electrum native segwit seeds to participate in XOR split/combine operations alongside standard BIP-39 seeds. Key changes: - Replace entropy-based XOR with word-index-based approach in combine_mnemonics_with_xor() to support Electrum seeds (which lack valid BIP-39 checksums) - Add Seed.detect_mnemonic_type() to identify Electrum seeds after XOR recombination by checking all last-word checksum variants against HMAC-SHA512 prefix "100" - Add Seed.get_electrum_mnemonic() to recover the exact Electrum last word after BIP-39 checksum recomputation - Update RebuildSeedXORLoadShardView with Electrum seed entry option (gated by existing Electrum Seeds setting) - Update RebuildSeedXORFinalizeView to detect result type and create ElectrumSeed when appropriate, with warning when Electrum disabled - Fix SeedXORValidator to use ignore_checksum=True for Electrum seed compatibility in inverse-shard detection - Add 13 unit tests for Electrum XOR roundtrip, type detection, and validator compatibility Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolve merge conflicts to bring branch up to date with SeedSigner/seedsigner:dev. Keeps both PR SeedSigner#738 XOR flow code and upstream changes (View import, SpecterLegacyXPubQrEncoder, microsd_toast_timer setting, ButtonOptionWithoutTranslation). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The RebuildSeedXORManageView references SeedSignerIconConstants.CLOSE for the "Remove shard" button, but the constant was commented out as "unused". This caused an AttributeError that broke all test collection. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolve merge conflicts from dev branch which added encrypted seed QR support alongside the existing Seed XOR feature. Conflicts were mostly whitespace/formatting differences, plus keeping dev's encrypted seed handling in scan_views.py and the new EncryptedSeed views in seed_views.py. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The merge introduced a duplicate SETTING__SEED_XOR definition (line 355) and a duplicate SettingsEntry for seed_xor (lines 736-740). The duplicate entry lacked an abbreviated_name, causing both "xor_seeds" and "seed_xor" to appear in SettingsQR strings, which broke the line-break separator test (25 '=' signs but only 24 parsed keys). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Describe the change simply. Provide a reason for the change.
Include screenshots of any new or modified screens (or at least explain why they were omitted)
This pull request is categorized as a:
Checklist
pytestand made sure all unit tests pass before submitting the PRIf you modified or added functionality/workflow, did you add new unit tests?
I have tested this PR on the following platforms/os:
Note: Keep your changes limited in scope; if you uncover other issues or improvements along the way, ideally submit those as a separate PR. The more complicated the PR the harder to review, test, and merge.