|
|
|
@ -188,12 +188,7 @@ async def _request_share_first_screen(word_count: int) -> None:
|
|
|
|
|
if remaining:
|
|
|
|
|
await _request_share_next_screen()
|
|
|
|
|
else:
|
|
|
|
|
await layout.homescreen_dialog(
|
|
|
|
|
TR.buttons__enter_share,
|
|
|
|
|
TR.recovery__enter_any_share,
|
|
|
|
|
TR.recovery__word_count_template.format(word_count),
|
|
|
|
|
show_info=True,
|
|
|
|
|
)
|
|
|
|
|
await layout.enter_share(word_count=word_count)
|
|
|
|
|
else: # BIP-39
|
|
|
|
|
await layout.homescreen_dialog(
|
|
|
|
|
TR.buttons__continue,
|
|
|
|
@ -204,8 +199,6 @@ async def _request_share_first_screen(word_count: int) -> None:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def _request_share_next_screen() -> None:
|
|
|
|
|
from trezor import strings
|
|
|
|
|
|
|
|
|
|
remaining = storage_recovery.fetch_slip39_remaining_shares()
|
|
|
|
|
group_count = storage_recovery.get_slip39_group_count()
|
|
|
|
|
if not remaining:
|
|
|
|
@ -213,25 +206,10 @@ async def _request_share_next_screen() -> None:
|
|
|
|
|
raise RuntimeError
|
|
|
|
|
|
|
|
|
|
if group_count > 1:
|
|
|
|
|
await layout.homescreen_dialog(
|
|
|
|
|
TR.buttons__enter,
|
|
|
|
|
TR.recovery__more_shares_needed,
|
|
|
|
|
info_func=_show_remaining_groups_and_shares,
|
|
|
|
|
)
|
|
|
|
|
await layout.enter_share(info_func=_show_remaining_groups_and_shares)
|
|
|
|
|
else:
|
|
|
|
|
still_needed_shares = remaining[0]
|
|
|
|
|
already_entered_shares = len(storage_recovery_shares.fetch_group(0))
|
|
|
|
|
overall_needed = still_needed_shares + already_entered_shares
|
|
|
|
|
# TODO: consider kwargs in format here
|
|
|
|
|
entered = TR.recovery__x_of_y_entered_template.format(
|
|
|
|
|
already_entered_shares, overall_needed
|
|
|
|
|
)
|
|
|
|
|
needed = strings.format_plural(
|
|
|
|
|
TR.recovery__x_more_shares_needed_template_plural,
|
|
|
|
|
still_needed_shares,
|
|
|
|
|
TR.plurals__x_shares_needed,
|
|
|
|
|
)
|
|
|
|
|
await layout.homescreen_dialog(TR.buttons__enter_share, entered, needed)
|
|
|
|
|
entered = len(storage_recovery_shares.fetch_group(0))
|
|
|
|
|
await layout.enter_share(entered_remaining=(entered, remaining[0]))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def _show_remaining_groups_and_shares() -> None:
|
|
|
|
|