mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-18 04:18:10 +00:00
feat(python/trezorctl): notify user about PIN/passphrase entry in terminal (fixes #3203)
This commit is contained in:
parent
c9e9c34e06
commit
3c0344304f
1
python/.changelog.d/3203.changed
Normal file
1
python/.changelog.d/3203.changed
Normal file
@ -0,0 +1 @@
|
||||
ClickUI: notify user in terminal that they should enter PIN or passphrase on Trezor.
|
@ -90,15 +90,24 @@ class ClickUI:
|
||||
self, always_prompt: bool = False, passphrase_on_host: bool = False
|
||||
) -> None:
|
||||
self.pinmatrix_shown = False
|
||||
self.prompt_shown = False
|
||||
self.last_prompt_shown = ""
|
||||
self.always_prompt = always_prompt
|
||||
self.passphrase_on_host = passphrase_on_host
|
||||
|
||||
def button_request(self, _br: messages.ButtonRequest) -> None:
|
||||
if not self.prompt_shown:
|
||||
echo("Please confirm action on your Trezor device.")
|
||||
def _prompt_for_button(self, br: messages.ButtonRequest) -> str:
|
||||
if br.code == messages.ButtonRequestType.PassphraseEntry:
|
||||
return "Please enter passphrase on your Trezor device."
|
||||
if br.code == messages.ButtonRequestType.PinEntry:
|
||||
return "Please enter PIN on your Trezor device."
|
||||
|
||||
return "Please confirm action on your Trezor device."
|
||||
|
||||
def button_request(self, br: messages.ButtonRequest) -> None:
|
||||
prompt = self._prompt_for_button(br)
|
||||
if prompt != self.last_prompt_shown:
|
||||
echo(prompt)
|
||||
if not self.always_prompt:
|
||||
self.prompt_shown = True
|
||||
self.last_prompt_shown = prompt
|
||||
|
||||
def get_pin(self, code: Optional[PinMatrixRequestType] = None) -> str:
|
||||
if code == PIN_CURRENT:
|
||||
|
Loading…
Reference in New Issue
Block a user