SeedSigner / seedsigner

Use an air-gapped Raspberry Pi Zero to sign for Bitcoin transactions! (and do other cool stuff)
MIT License
699 stars 161 forks source link

[Bugfix] Xpub export can select the wrong coordinator #490

Closed kdmukai closed 5 months ago

kdmukai commented 1 year ago

Description

How to reproduce the bug:

What is happening?

Multiselect options just pop or append to a list of available options. In this flow, BlueWallet is now at the end of the list.

But the coordinator selection View is assuming that the options are sorted the way they're defined in the SettingsEntry for that attribute (see: SettingsConstants.ALL_COORDINATORS).

The fix

Use the SettingsEntry to retrieve the selected coordinator via get_selection_option_value_by_display_name which is completely independent of any ordering.

This pull request is categorized as a:

Checklist

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

Though this bug is sequence-dependent, I didn't think it merited a flow-based test since the ultimate problem was just that the View wasn't using the best technique to retrieve its selected value.

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.

newtonick commented 5 months ago

Tested and LGTM