Skip to content

Smoother flow for BIP-85 child seed creation#935

Open
rleed wants to merge 2 commits into
SeedSigner:0.8.6from
rleed:rld-a
Open

Smoother flow for BIP-85 child seed creation#935
rleed wants to merge 2 commits into
SeedSigner:0.8.6from
rleed:rld-a

Conversation

@rleed
Copy link
Copy Markdown

@rleed rleed commented May 31, 2026

Description

Smoother flow for BIP-85 child seed creation

Problem or Issue being addressed

The existing workflow for creating a BIP-85 child seed is inconvenient and security sensitive. Inconvenient because the user must pull out a paper and pencil or other recording device and jot down the new seed words, and security sensitive because those newly recorded seed words must be properly protected. One of the motivations for generating child seed words is to avoid the necessity of backing up many mnemonic phrases, but this motivation is self-defeated by SeedSigner's existing work flow.

Solution

My solution is to add the newly generated seed to the in-memory list of seeds instead of requiring the user to back it up. This requires only a few lines of code changes, since the necessary logic is already implemented and the required screens are already present. (In the event that the user indeed wants to back up the newly generated seed or simply view the seed words in order to transfer them to another device, he/she can of course do so using the existing menu options.)

Additional Information

In my opinion, there are no disadvantages to this change. The exact prior behavior can be reproduced by the user by simply backing up the seed and discarding it, which is orders of magnitude easier/faster/simpler than being forced to make the manual backup when it is unnecessary.
Note: Only the first commit should be merged. The second commit changes the default setting, which would not be desired in the official version.

Screenshots

Only the sequence of the screens is changed. The screens themselves are not modified.


This pull request is categorized as a:

  • New feature
  • Bug fix
  • Code refactor
  • Documentation
  • Other - Workflow optimization

Checklist

I ran pytest locally

  • All tests passed before submitting the PR
  • I couldn't run the tests
  • N/A

I included screenshots of any new or modified screens

Should be part of the PR description above.

  • Yes
  • No
  • N/A

I added or updated tests

Any new or altered functionality should be covered in a unit test. Any new or updated sequences require FlowTests.

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

I tested this PR hands-on on the following platform(s):


I have reviewed these notes:

  • 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 it is to review, test, and merge.
  • We appreciate your efforts, but we're a small team of volunteers so PR review can be a very slow process.
  • Please only "@" mention a contributor if their input is truly needed to enable further progress.
  • I understand

Thank you! Please join our Devs' Telegram group to get more involved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In your PR description you mention that only the first commit should be merged, but the second commit is still included in this PR. Can you drop it?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from SeedFinalizeView, can the user navigate to view/backup the child seed words if they want to? If yes, worth surfacing that path more clearly since the old flow made it unavoidable.

Copy link
Copy Markdown
Contributor

@Chaitanya-Keyal Chaitanya-Keyal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a more comprehensive PR open and being reviewed that allows loading of BIP-85 child seeds: #785

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.

3 participants