[Refactor] Seed XOR functionality in Seeds Menu, builds on PR #738#885
Open
berlinxray wants to merge 45 commits intoSeedSigner:devfrom
Open
[Refactor] Seed XOR functionality in Seeds Menu, builds on PR #738#885berlinxray wants to merge 45 commits intoSeedSigner:devfrom
berlinxray wants to merge 45 commits intoSeedSigner:devfrom
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.
Based on PR SeedSigner#738 (seed-xor-flow), this applies conciseness improvements: - Remove RebuildSeedXORErrorView (redundant wrapper around ErrorView) - Remove trivial getters/setters in SeedStorage (use direct attribute access) - Merge validate/process controller methods into single process method - Simplify shard listing in ViewShards and RemoveShards views - Simplify discard-shards logic (reverse iteration, set-based lookup) - Remove dead code (unused imports, unreachable error branch, unused var) - Extract shared test vectors into seedxor_test_vectors.py - Trim verbose docstrings in SeedXORValidator Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolve merge conflicts to integrate upstream dev branch changes (i18n, settings cleanup, screen refactors) with the Seed XOR conciseness refactoring. Conflict resolutions: - controller.py: Keep PR's SeedXORValidator import (not needed in upstream) - mnemonic_generation.py: Keep PR's combine_mnemonics_with_xor and generate_mnemonic_from_image (new in PR, not in upstream) - settings_definition.py: Keep both PR's SEED_XOR and upstream's MICROSD_TOAST_TIMER settings - seed_views.py: Combine PR's LargeIconStatusScreen import with upstream's ButtonOptionWithoutTranslation and SpecterLegacyXPubQrEncoder - components.py: Uncomment CLOSE icon constant used by Seed XOR views Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feca192 to
196bba3
Compare
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
Based on PR #738 (seed-xor-flow) by https://github.com/Advaitgaur004
this applies conciseness improvements:
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
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: