Nuke Device

This commit is contained in:
scgbckbone 2025-10-02 16:48:05 +02:00 committed by doc-hex
parent e6b99ac352
commit 3a5350d1ea
4 changed files with 16 additions and 6 deletions

View File

@ -8,6 +8,7 @@ This lists the new changes that have not yet been published in a normal release.
Navigate to `Advanced/Tools -> Export Wallet -> Key Expression`
- New Feature: Support for v3 transactions
- New Feature: Send keystrokes with all derived BIP-85 secrets
- New Feature: Nuke Device. Purge device data and make it an e-waste.
- Enhancement: CCC allow to reset block height
- Bugfix: Replace `/` with `-` in exported file names of multisig wallet export artifacts

View File

@ -1547,6 +1547,20 @@ Does not affect MicroSD card, if any.''', confirm_key="4"):
from files import wipe_flash_filesystem
wipe_flash_filesystem()
async def nuke_device(*a):
if not await ux_confirm("Wipe Seed & Brick device? This will wipe the seed, purge"
"all related settings, and makes ewaste from this device."):
return
if not await ux_confirm("Brick device?\n\nBy design, there is no way to reset or recover"
" the secure element, and its contents become forever inaccessible.",
confirm_key="1"):
return
import callgate
callgate.fast_brick()
# NOT REACHED
async def wipe_vdisk(*A):
if not await ux_confirm('''\
Erases and reformats shared RAM disk. This is a secure erase that blanks every byte.'''):

View File

@ -367,6 +367,7 @@ correctly- crafted transactions signed on Testnet could be broadcast on Mainnet.
MenuItem('MCU Key Slots', f=show_mcu_keys_left),
MenuItem('Bless Firmware', f=bless_flash), # no need for this anymore?
MenuItem("Wipe LFS", f=wipe_filesystem), # kills other-seed settings, HSM stuff, addr cache
MenuItem("Nuke Device", f=nuke_device),
]
BackupStuffMenu = [

View File

@ -823,12 +823,6 @@ def clear_seed():
callgate.fast_wipe(True)
# NOT REACHED
utime.sleep(1)
# security: need to reboot to really be sure to clear the secrets from main memory.
from machine import reset
reset()
async def word_quiz(words, limited=None, title='Word %d is?'):
# Perform a test, to check they wrote them down
# Return X if they cancel early.