diff --git a/legacy/firmware/config.c b/legacy/firmware/config.c index bcf171f76..16a206d46 100644 --- a/legacy/firmware/config.c +++ b/legacy/firmware/config.c @@ -503,9 +503,9 @@ void config_loadDevice(const LoadDevice *msg) { if (msg->has_node) { storage_delete(KEY_MNEMONIC); config_setNode(&(msg->node)); - } else if (msg->has_mnemonic) { + } else if (msg->mnemonics_count) { storage_delete(KEY_NODE); - config_setMnemonic(msg->mnemonic); + config_setMnemonic(msg->mnemonics[0]); } if (msg->has_language) { diff --git a/legacy/firmware/fsm_msg_common.h b/legacy/firmware/fsm_msg_common.h index cef7d0513..6231d8ff9 100644 --- a/legacy/firmware/fsm_msg_common.h +++ b/legacy/firmware/fsm_msg_common.h @@ -213,8 +213,8 @@ void fsm_msgLoadDevice(const LoadDevice *msg) { return; } - if (msg->has_mnemonic && !(msg->has_skip_checksum && msg->skip_checksum)) { - if (!mnemonic_check(msg->mnemonic)) { + if (msg->mnemonics_count && !(msg->has_skip_checksum && msg->skip_checksum)) { + if (!mnemonic_check(msg->mnemonics[0])) { fsm_sendFailure(FailureType_Failure_DataError, _("Mnemonic with wrong checksum provided")); layoutHome(); diff --git a/legacy/firmware/protob/messages-management.options b/legacy/firmware/protob/messages-management.options index b3ee14605..934cb4328 100644 --- a/legacy/firmware/protob/messages-management.options +++ b/legacy/firmware/protob/messages-management.options @@ -16,7 +16,7 @@ ApplySettings.homescreen max_size:1024 Ping.message max_size:256 -LoadDevice.mnemonic max_size:241 +LoadDevice.mnemonics max_count:16 max_size:241 LoadDevice.pin max_size:10 LoadDevice.language max_size:17 LoadDevice.label max_size:33