Message signing was already checking for "Network Mismatch" if a user was configured for MAINNET in Settings but scanned in a signmessage QR with a TESTNET/REGTEST derivation path specified.
However, it was not checking the opposite: Settings configured for TESTNET or REGTEST but scan in a signmessage QR for MAINNET.
Second bug: When message signing is disabled in Settings, the OptionDisabledView appears but then did not return any values, resulting in a second error screen.
This PR:
Adds that opposite check (Settings configured for TESTNET/REGTEST, signmessage QR for MAINNET).
Moves the network check to be as early as possible in the flow.
Updates the test_sign_message_network_mismatch_flow to test for all possible network mismatches and DRY-ifies it for internal reuse.
Adds option on OptionDisabledView to jump straight to the relevant Settings update.
Moves message signing-related decision logic out of ScanView and into SeedSignMessageStartView
Message signing was already checking for "Network Mismatch" if a user was configured for MAINNET in Settings but scanned in a
signmessage
QR with a TESTNET/REGTEST derivation path specified.However, it was not checking the opposite: Settings configured for TESTNET or REGTEST but scan in a
signmessage
QR for MAINNET.Second bug: When message signing is disabled in Settings, the
OptionDisabledView
appears but then did not return any values, resulting in a second error screen.This PR:
signmessage
QR for MAINNET).test_sign_message_network_mismatch_flow
to test for all possible network mismatches and DRY-ifies it for internal reuse.OptionDisabledView
to jump straight to the relevant Settings update.ScanView
and intoSeedSignMessageStartView
OptionDisabledView
to screenshot generator.