Skip to content

Claude/eager ritchie#7

Merged
berlinxray merged 50 commits into
devfrom
claude/eager-ritchie
Mar 1, 2026
Merged

Claude/eager ritchie#7
berlinxray merged 50 commits into
devfrom
claude/eager-ritchie

Conversation

@berlinxray
Copy link
Copy Markdown
Owner

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:

  • New feature
  • Bug fix
  • Code refactor
  • Documentation
  • Other

Checklist

  • I’ve run pytest and made sure all unit tests pass before submitting the PR

If you modified or added functionality/workflow, did you add new unit tests?

  • No, I’m a fool
  • Yes
  • N/A

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.

Advaitgaur004 and others added 30 commits April 17, 2025 13:39
- 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.
- put in src/seedsigner/helphers/mnemonic_generation.py
- used in seed_views.py
- fstring removed
- text for xorcancelview changed a bit
- errorview module added for seed_view.py
- 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.
Advaitgaur004 and others added 20 commits August 29, 2025 07:06
- 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>
@berlinxray berlinxray merged commit a994e3f into dev Mar 1, 2026
4 checks passed
@berlinxray berlinxray deleted the claude/eager-ritchie branch March 1, 2026 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants