mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-26 01:18:28 +00:00
common, core: add passphrase entry capability
This commit is contained in:
parent
90d5cdfd5b
commit
eafd57c301
@ -82,6 +82,7 @@ message Features {
|
|||||||
Capability_U2F = 14;
|
Capability_U2F = 14;
|
||||||
Capability_Shamir = 15;
|
Capability_Shamir = 15;
|
||||||
Capability_ShamirGroups = 16;
|
Capability_ShamirGroups = 16;
|
||||||
|
Capability_PassphraseEntry = 17; // the device is capable of passphrase entry directly on the device
|
||||||
}
|
}
|
||||||
optional BackupType backup_type = 31; // type of device backup (BIP-39 / SLIP-39 basic / SLIP-39 advanced)
|
optional BackupType backup_type = 31; // type of device backup (BIP-39 / SLIP-39 basic / SLIP-39 advanced)
|
||||||
optional bool sd_card_present = 32; // is SD card present
|
optional bool sd_card_present = 32; // is SD card present
|
||||||
|
@ -48,6 +48,7 @@ def get_features() -> Features:
|
|||||||
Capability.Crypto,
|
Capability.Crypto,
|
||||||
Capability.Shamir,
|
Capability.Shamir,
|
||||||
Capability.ShamirGroups,
|
Capability.ShamirGroups,
|
||||||
|
Capability.PassphraseEntry,
|
||||||
]
|
]
|
||||||
else:
|
else:
|
||||||
f.capabilities = [
|
f.capabilities = [
|
||||||
@ -67,6 +68,7 @@ def get_features() -> Features:
|
|||||||
Capability.U2F,
|
Capability.U2F,
|
||||||
Capability.Shamir,
|
Capability.Shamir,
|
||||||
Capability.ShamirGroups,
|
Capability.ShamirGroups,
|
||||||
|
Capability.PassphraseEntry,
|
||||||
]
|
]
|
||||||
f.sd_card_present = io.SDCard().present()
|
f.sd_card_present = io.SDCard().present()
|
||||||
f.sd_protection = storage.sd_salt.is_enabled()
|
f.sd_protection = storage.sd_salt.is_enabled()
|
||||||
|
@ -23,3 +23,4 @@ if not utils.BITCOIN_ONLY:
|
|||||||
U2F = 14 # type: Literal[14]
|
U2F = 14 # type: Literal[14]
|
||||||
Shamir = 15 # type: Literal[15]
|
Shamir = 15 # type: Literal[15]
|
||||||
ShamirGroups = 16 # type: Literal[16]
|
ShamirGroups = 16 # type: Literal[16]
|
||||||
|
PassphraseEntry = 17 # type: Literal[17]
|
||||||
|
@ -6,7 +6,7 @@ if __debug__:
|
|||||||
try:
|
try:
|
||||||
from typing import Dict, List # noqa: F401
|
from typing import Dict, List # noqa: F401
|
||||||
from typing_extensions import Literal # noqa: F401
|
from typing_extensions import Literal # noqa: F401
|
||||||
EnumTypeCapability = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
|
EnumTypeCapability = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
|
||||||
EnumTypeBackupType = Literal[0, 1, 2]
|
EnumTypeBackupType = Literal[0, 1, 2]
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
@ -118,7 +118,7 @@ class Features(p.MessageType):
|
|||||||
27: ('unfinished_backup', p.BoolType, 0),
|
27: ('unfinished_backup', p.BoolType, 0),
|
||||||
28: ('no_backup', p.BoolType, 0),
|
28: ('no_backup', p.BoolType, 0),
|
||||||
29: ('recovery_mode', p.BoolType, 0),
|
29: ('recovery_mode', p.BoolType, 0),
|
||||||
30: ('capabilities', p.EnumType("Capability", (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)), p.FLAG_REPEATED),
|
30: ('capabilities', p.EnumType("Capability", (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)), p.FLAG_REPEATED),
|
||||||
31: ('backup_type', p.EnumType("BackupType", (0, 1, 2)), 0),
|
31: ('backup_type', p.EnumType("BackupType", (0, 1, 2)), 0),
|
||||||
32: ('sd_card_present', p.BoolType, 0),
|
32: ('sd_card_present', p.BoolType, 0),
|
||||||
33: ('sd_protection', p.BoolType, 0),
|
33: ('sd_protection', p.BoolType, 0),
|
||||||
|
@ -19,3 +19,4 @@ Tezos = 13 # type: Literal[13]
|
|||||||
U2F = 14 # type: Literal[14]
|
U2F = 14 # type: Literal[14]
|
||||||
Shamir = 15 # type: Literal[15]
|
Shamir = 15 # type: Literal[15]
|
||||||
ShamirGroups = 16 # type: Literal[16]
|
ShamirGroups = 16 # type: Literal[16]
|
||||||
|
PassphraseEntry = 17 # type: Literal[17]
|
||||||
|
@ -6,7 +6,7 @@ if __debug__:
|
|||||||
try:
|
try:
|
||||||
from typing import Dict, List # noqa: F401
|
from typing import Dict, List # noqa: F401
|
||||||
from typing_extensions import Literal # noqa: F401
|
from typing_extensions import Literal # noqa: F401
|
||||||
EnumTypeCapability = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
|
EnumTypeCapability = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
|
||||||
EnumTypeBackupType = Literal[0, 1, 2]
|
EnumTypeBackupType = Literal[0, 1, 2]
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
@ -118,7 +118,7 @@ class Features(p.MessageType):
|
|||||||
27: ('unfinished_backup', p.BoolType, 0),
|
27: ('unfinished_backup', p.BoolType, 0),
|
||||||
28: ('no_backup', p.BoolType, 0),
|
28: ('no_backup', p.BoolType, 0),
|
||||||
29: ('recovery_mode', p.BoolType, 0),
|
29: ('recovery_mode', p.BoolType, 0),
|
||||||
30: ('capabilities', p.EnumType("Capability", (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)), p.FLAG_REPEATED),
|
30: ('capabilities', p.EnumType("Capability", (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)), p.FLAG_REPEATED),
|
||||||
31: ('backup_type', p.EnumType("BackupType", (0, 1, 2)), 0),
|
31: ('backup_type', p.EnumType("BackupType", (0, 1, 2)), 0),
|
||||||
32: ('sd_card_present', p.BoolType, 0),
|
32: ('sd_card_present', p.BoolType, 0),
|
||||||
33: ('sd_protection', p.BoolType, 0),
|
33: ('sd_protection', p.BoolType, 0),
|
||||||
|
Loading…
Reference in New Issue
Block a user