mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-25 16:08:32 +00:00
legacy: show passphrase on device
This commit is contained in:
parent
ed989eb76a
commit
e2632b16dc
@ -597,6 +597,30 @@ const uint8_t *config_getSeed(void) {
|
|||||||
memzero(passphrase, sizeof(passphrase));
|
memzero(passphrase, sizeof(passphrase));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
// passphrase is used - confirm on the display
|
||||||
|
if (passphrase[0] != 0) {
|
||||||
|
layoutDialogSwipe(&bmp_icon_question, _("Cancel"), _("Confirm"), NULL,
|
||||||
|
_("Access hidden wallet?"), NULL,
|
||||||
|
_("Next screen will show"), _("the passphrase!"), NULL,
|
||||||
|
NULL);
|
||||||
|
if (!protectButton(ButtonRequestType_ButtonRequest_Other, false)) {
|
||||||
|
memzero(mnemonic, sizeof(mnemonic));
|
||||||
|
memzero(passphrase, sizeof(passphrase));
|
||||||
|
fsm_sendFailure(FailureType_Failure_ActionCancelled,
|
||||||
|
_("Passphrase dismissed"));
|
||||||
|
layoutHome();
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
layoutShowPassphrase(passphrase);
|
||||||
|
if (!protectButton(ButtonRequestType_ButtonRequest_Other, false)) {
|
||||||
|
memzero(mnemonic, sizeof(mnemonic));
|
||||||
|
memzero(passphrase, sizeof(passphrase));
|
||||||
|
fsm_sendFailure(FailureType_Failure_ActionCancelled,
|
||||||
|
_("Passphrase dismissed"));
|
||||||
|
layoutHome();
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
// if storage was not imported (i.e. it was properly generated or recovered)
|
// if storage was not imported (i.e. it was properly generated or recovered)
|
||||||
bool imported = false;
|
bool imported = false;
|
||||||
config_get_bool(KEY_IMPORTED, &imported);
|
config_get_bool(KEY_IMPORTED, &imported);
|
||||||
|
@ -823,6 +823,25 @@ void layoutU2FDialog(const char *verb, const char *appname) {
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void layoutShowPassphrase(const char *passphrase) {
|
||||||
|
if (layoutLast != layoutShowPassphrase) {
|
||||||
|
layoutSwipe();
|
||||||
|
} else {
|
||||||
|
oledClear();
|
||||||
|
}
|
||||||
|
const char **str =
|
||||||
|
split_message((const uint8_t *)passphrase, strlen(passphrase), 21);
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
oledDrawString(0, i * 9 + 4, str[i], FONT_FIXED);
|
||||||
|
}
|
||||||
|
oledDrawStringCenter(OLED_WIDTH / 2, OLED_HEIGHT - 2 * 9 - 1,
|
||||||
|
_("Use this passphrase?"), FONT_STANDARD);
|
||||||
|
oledHLine(OLED_HEIGHT - 21);
|
||||||
|
layoutButtonNo(_("Cancel"), &bmp_btn_cancel);
|
||||||
|
layoutButtonYes(_("Confirm"), &bmp_btn_confirm);
|
||||||
|
oledRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
#if !BITCOIN_ONLY
|
#if !BITCOIN_ONLY
|
||||||
|
|
||||||
void layoutNEMDialog(const BITMAP *icon, const char *btnNo, const char *btnYes,
|
void layoutNEMDialog(const BITMAP *icon, const char *btnNo, const char *btnYes,
|
||||||
|
@ -69,6 +69,7 @@ void layoutXPUB(const char *xpub, int index, int page, bool ours);
|
|||||||
void layoutSignIdentity(const IdentityType *identity, const char *challenge);
|
void layoutSignIdentity(const IdentityType *identity, const char *challenge);
|
||||||
void layoutDecryptIdentity(const IdentityType *identity);
|
void layoutDecryptIdentity(const IdentityType *identity);
|
||||||
void layoutU2FDialog(const char *verb, const char *appname);
|
void layoutU2FDialog(const char *verb, const char *appname);
|
||||||
|
void layoutShowPassphrase(const char *passphrase);
|
||||||
|
|
||||||
void layoutNEMDialog(const BITMAP *icon, const char *btnNo, const char *btnYes,
|
void layoutNEMDialog(const BITMAP *icon, const char *btnNo, const char *btnYes,
|
||||||
const char *desc, const char *line1, const char *address);
|
const char *desc, const char *line1, const char *address);
|
||||||
|
Loading…
Reference in New Issue
Block a user