diff --git a/shared/nvstore.py b/shared/nvstore.py index 5a801401..d9129b40 100644 --- a/shared/nvstore.py +++ b/shared/nvstore.py @@ -134,6 +134,9 @@ class SettingsObject: new_secret = pa.fetch() mine = True + # this is *the* master seed, so track for faster later use + SettingsObject.master_nvram_key = key + if new_secret: # hash up the secret... without decoding it or similar assert len(new_secret) >= 32 @@ -149,11 +152,7 @@ class SettingsObject: if mine: blank_object(new_secret) - if not pa.tmp_value: - # this is *the* master seed, so track for faster later use - SettingsObject.master_nvram_key = key - - # for restore from backup case, or when changing (created) the seed + # save value for use in self.get_aes() self.nvram_key = key def get_capacity(self): diff --git a/shared/seed.py b/shared/seed.py index dbc9e5a8..db394979 100644 --- a/shared/seed.py +++ b/shared/seed.py @@ -803,7 +803,7 @@ class SeedVaultMenu(MenuSystem): goto_top_menu() @staticmethod - async def _clear(menu, label, item): + async def _remove(menu, label, item): from glob import dis, settings idx, xfp_str, encoded, is_active = item.arg @@ -821,7 +821,6 @@ class SeedVaultMenu(MenuSystem): dis.fullscreen("Saving...") wipe_slot = (ch != "1") - tmp_mode = bool(pa.tmp_value) if wipe_slot: # wiping key's settings @@ -832,7 +831,7 @@ class SeedVaultMenu(MenuSystem): del xs # CAUTION: will get shadow copy if in tmp seed mode already - seeds = settings.get("seeds", []) + seeds = SettingsObject.master_get("seeds", []) try: del seeds[idx] except IndexError: @@ -921,10 +920,11 @@ class SeedVaultMenu(MenuSystem): MenuItem(name, f=cls._detail, arg=(xfp_str, encoded, name, meta)), MenuItem('Use This Seed', f=cls._set, arg=(xfp_str, encoded)), MenuItem('Rename', f=cls._rename, arg=(i, xfp_str)), - MenuItem('Delete', f=cls._clear, arg=(i, xfp_str, encoded, is_active)), + MenuItem('Delete', f=cls._remove, arg=(i, xfp_str, encoded, is_active)), ] if is_active: - submenu[1] = MenuItem("In Use") + submenu[1] = MenuItem("Seed In Use") + submenu[1].is_chosen = lambda: True if pa.tmp_value and (not is_active): # if different ephemeral wallet active diff --git a/testing/test_ephemeral.py b/testing/test_ephemeral.py index 12bb9288..c3ba1ce6 100644 --- a/testing/test_ephemeral.py +++ b/testing/test_ephemeral.py @@ -218,8 +218,8 @@ def verify_ephemeral_secret_ui(cap_story, need_keypress, cap_menu, dev, fake_txn pick_menu_item(sc_menu[0]) time.sleep(.1) else: - assert "In Use" in m - pick_menu_item("In Use") # noop + assert "Seed In Use" in m + pick_menu_item("Seed In Use") # noop # delete it from records pick_menu_item("Delete") @@ -1042,7 +1042,7 @@ def test_seed_vault_modifications(settings_set, reset_seed_words, pick_menu_item time.sleep(.1) m = cap_menu() assert "Rename" in m - assert "In Use" in m + assert "Seed In Use" in m assert "Delete" in m pick_menu_item("Rename") @@ -1085,7 +1085,7 @@ def test_seed_vault_modifications(settings_set, reset_seed_words, pick_menu_item time.sleep(.1) m = cap_menu() assert "Rename" in m - assert "In Use" in m + assert "Seed In Use" in m assert "Delete" in m pick_menu_item("Delete")