1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-13 19:18:56 +00:00

Check three words in backup (#337)

Check three words in backup
This commit is contained in:
Tomas Susanka 2019-07-16 11:16:26 +02:00 committed by GitHub
commit 3750ade2ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 11 deletions

View File

@ -68,15 +68,16 @@ async def confirm_backup_again(ctx):
async def _confirm_share_words(ctx, share_index, share_words):
numbered = list(enumerate(share_words))
# check a word from the first half
first_half = numbered[: len(numbered) // 2]
if not await _confirm_word(ctx, share_index, first_half):
return False
# check three words
third = len(numbered) // 3
# if the num of words is not dividable by 3 let's add 1
# to have more words at the beggining and to check all of them
if len(numbered) % 3:
third += 1
# check a word from the second half
second_half = numbered[len(numbered) // 2 :]
if not await _confirm_word(ctx, share_index, second_half):
return False
for part in utils.chunks(numbered, third):
if not await _confirm_word(ctx, share_index, part):
return False
return True

View File

@ -84,7 +84,7 @@ class TestMsgResetDeviceT2(TrezorTest):
self.client.debug.press_yes()
# check share
for _ in range(2):
for _ in range(3):
time.sleep(1)
index = self.client.debug.state().reset_word_pos
self.client.debug.input(words[index])

View File

@ -64,7 +64,7 @@ class TestMsgResetDeviceT2(TrezorTest):
self.client.debug.press_yes()
# check backup words
for _ in range(2):
for _ in range(3):
time.sleep(1)
index = self.client.debug.state().reset_word_pos
self.client.debug.input(words[index])
@ -169,7 +169,7 @@ class TestMsgResetDeviceT2(TrezorTest):
self.client.debug.press_yes()
# check backup words
for _ in range(2):
for _ in range(3):
time.sleep(1)
index = self.client.debug.state().reset_word_pos
self.client.debug.input(words[index])