mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-04-26 12:09:02 +00:00
tests: update to pytest, regenerate protobuf
This commit is contained in:
parent
bab1303b1b
commit
fe5b5c1940
@ -31,6 +31,7 @@ addons:
|
|||||||
install:
|
install:
|
||||||
- pip3 install ed25519 pyblake2
|
- pip3 install ed25519 pyblake2
|
||||||
- pip3 install flake8
|
- pip3 install flake8
|
||||||
|
- pip3 install pytest
|
||||||
- pip3 install ecdsa mnemonic protobuf requests
|
- pip3 install ecdsa mnemonic protobuf requests
|
||||||
- pip3 install trezor
|
- pip3 install trezor
|
||||||
|
|
||||||
|
@ -19,13 +19,13 @@ async def get_seed(session_id: int) -> bytes:
|
|||||||
|
|
||||||
|
|
||||||
async def compute_seed(session_id: int) -> bytes:
|
async def compute_seed(session_id: int) -> bytes:
|
||||||
from trezor.messages.FailureType import Other
|
from trezor.messages.FailureType import ProcessError
|
||||||
from .request_passphrase import protect_by_passphrase
|
from .request_passphrase import protect_by_passphrase
|
||||||
from .request_pin import protect_by_pin
|
from .request_pin import protect_by_pin
|
||||||
from . import storage
|
from . import storage
|
||||||
|
|
||||||
if not storage.is_initialized():
|
if not storage.is_initialized():
|
||||||
raise wire.FailureError(Other, 'Device is not initialized')
|
raise wire.FailureError(ProcessError, 'Device is not initialized')
|
||||||
|
|
||||||
await protect_by_pin(session_id)
|
await protect_by_pin(session_id)
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ from trezor.utils import unimport
|
|||||||
@unimport
|
@unimport
|
||||||
async def layout_apply_settings(session_id, msg):
|
async def layout_apply_settings(session_id, msg):
|
||||||
from trezor.messages.Success import Success
|
from trezor.messages.Success import Success
|
||||||
from trezor.messages.FailureType import Other
|
from trezor.messages.FailureType import ProcessError
|
||||||
from trezor.ui.text import Text
|
from trezor.ui.text import Text
|
||||||
from ..common.confirm import require_confirm
|
from ..common.confirm import require_confirm
|
||||||
from ..common.request_pin import protect_by_pin
|
from ..common.request_pin import protect_by_pin
|
||||||
@ -15,10 +15,10 @@ async def layout_apply_settings(session_id, msg):
|
|||||||
|
|
||||||
if msg.homescreen is not None:
|
if msg.homescreen is not None:
|
||||||
raise wire.FailureError(
|
raise wire.FailureError(
|
||||||
Other, 'ApplySettings.homescreen is not supported')
|
ProcessError, 'ApplySettings.homescreen is not supported')
|
||||||
|
|
||||||
if msg.label is None and msg.language is None and msg.use_passphrase is None:
|
if msg.label is None and msg.language is None and msg.use_passphrase is None:
|
||||||
raise wire.FailureError(Other, 'No setting provided')
|
raise wire.FailureError(ProcessError, 'No setting provided')
|
||||||
|
|
||||||
if msg.label is not None:
|
if msg.label is not None:
|
||||||
await require_confirm(session_id, Text(
|
await require_confirm(session_id, Text(
|
||||||
|
@ -6,7 +6,7 @@ from trezor.utils import unimport
|
|||||||
async def layout_load_device(session_id, msg):
|
async def layout_load_device(session_id, msg):
|
||||||
from trezor.crypto import bip39
|
from trezor.crypto import bip39
|
||||||
from trezor.messages.Success import Success
|
from trezor.messages.Success import Success
|
||||||
from trezor.messages.FailureType import UnexpectedMessage, Other
|
from trezor.messages.FailureType import UnexpectedMessage, ProcessError
|
||||||
from trezor.ui.text import Text
|
from trezor.ui.text import Text
|
||||||
from ..common.confirm import require_confirm
|
from ..common.confirm import require_confirm
|
||||||
from ..common import storage
|
from ..common import storage
|
||||||
@ -15,10 +15,10 @@ async def layout_load_device(session_id, msg):
|
|||||||
raise wire.FailureError(UnexpectedMessage, 'Already initialized')
|
raise wire.FailureError(UnexpectedMessage, 'Already initialized')
|
||||||
|
|
||||||
if msg.node is not None:
|
if msg.node is not None:
|
||||||
raise wire.FailureError(Other, 'LoadDevice.node is not supported')
|
raise wire.FailureError(ProcessError, 'LoadDevice.node is not supported')
|
||||||
|
|
||||||
if not msg.skip_checksum and not bip39.check(msg.mnemonic):
|
if not msg.skip_checksum and not bip39.check(msg.mnemonic):
|
||||||
raise wire.FailureError(Other, 'Mnemonic is not valid')
|
raise wire.FailureError(ProcessError, 'Mnemonic is not valid')
|
||||||
|
|
||||||
await require_confirm(session_id, Text(
|
await require_confirm(session_id, Text(
|
||||||
'Loading seed', ui.ICON_RESET,
|
'Loading seed', ui.ICON_RESET,
|
||||||
|
@ -28,7 +28,7 @@ async def layout_reset_device(session_id, msg):
|
|||||||
|
|
||||||
if msg.strength not in (128, 192, 256):
|
if msg.strength not in (128, 192, 256):
|
||||||
raise wire.FailureError(
|
raise wire.FailureError(
|
||||||
FailureType.Other, 'Invalid strength (has to be 128, 192 or 256 bits)')
|
FailureType.ProcessError, 'Invalid strength (has to be 128, 192 or 256 bits)')
|
||||||
|
|
||||||
if storage.is_initialized():
|
if storage.is_initialized():
|
||||||
raise wire.FailureError(
|
raise wire.FailureError(
|
||||||
|
@ -3,7 +3,7 @@ from trezor.utils import unimport
|
|||||||
from trezor.messages.wire_types import \
|
from trezor.messages.wire_types import \
|
||||||
GetPublicKey, GetAddress, \
|
GetPublicKey, GetAddress, \
|
||||||
GetEntropy, \
|
GetEntropy, \
|
||||||
SignTx, EstimateTxSize, \
|
SignTx, \
|
||||||
SignMessage, VerifyMessage, \
|
SignMessage, VerifyMessage, \
|
||||||
SignIdentity, \
|
SignIdentity, \
|
||||||
CipherKeyValue
|
CipherKeyValue
|
||||||
@ -33,15 +33,6 @@ def dispatch_SignTx(*args, **kwargs):
|
|||||||
return sign_tx(*args, **kwargs)
|
return sign_tx(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
@unimport
|
|
||||||
async def dispatch_EstimateTxSize(session_id, msg):
|
|
||||||
from trezor.messages.TxSize import TxSize
|
|
||||||
from .sign_tx.signing import estimate_tx_size
|
|
||||||
m = TxSize()
|
|
||||||
m.tx_size = estimate_tx_size(msg.inputs_count, msg.outputs_count)
|
|
||||||
return m
|
|
||||||
|
|
||||||
|
|
||||||
@unimport
|
@unimport
|
||||||
def dispatch_SignMessage(*args, **kwargs):
|
def dispatch_SignMessage(*args, **kwargs):
|
||||||
from .sign_message import layout_sign_message
|
from .sign_message import layout_sign_message
|
||||||
@ -71,7 +62,6 @@ def boot():
|
|||||||
register(GetAddress, protobuf_workflow, dispatch_GetAddress)
|
register(GetAddress, protobuf_workflow, dispatch_GetAddress)
|
||||||
register(GetEntropy, protobuf_workflow, dispatch_GetEntropy)
|
register(GetEntropy, protobuf_workflow, dispatch_GetEntropy)
|
||||||
register(SignTx, protobuf_workflow, dispatch_SignTx)
|
register(SignTx, protobuf_workflow, dispatch_SignTx)
|
||||||
register(EstimateTxSize, protobuf_workflow, dispatch_EstimateTxSize)
|
|
||||||
register(SignMessage, protobuf_workflow, dispatch_SignMessage)
|
register(SignMessage, protobuf_workflow, dispatch_SignMessage)
|
||||||
register(VerifyMessage, protobuf_workflow, dispatch_VerifyMessage)
|
register(VerifyMessage, protobuf_workflow, dispatch_VerifyMessage)
|
||||||
register(SignIdentity, protobuf_workflow, dispatch_SignIdentity)
|
register(SignIdentity, protobuf_workflow, dispatch_SignIdentity)
|
||||||
|
@ -5,12 +5,12 @@ from trezor.utils import unimport
|
|||||||
@unimport
|
@unimport
|
||||||
async def layout_get_address(session_id, msg):
|
async def layout_get_address(session_id, msg):
|
||||||
from trezor.messages.Address import Address
|
from trezor.messages.Address import Address
|
||||||
from trezor.messages.FailureType import Other
|
from trezor.messages.FailureType import ProcessError
|
||||||
from ..common import coins
|
from ..common import coins
|
||||||
from ..common import seed
|
from ..common import seed
|
||||||
|
|
||||||
if msg.multisig:
|
if msg.multisig:
|
||||||
raise wire.FailureError(Other, 'GetAddress.multisig is unsupported')
|
raise wire.FailureError(ProcessError, 'GetAddress.multisig is unsupported')
|
||||||
|
|
||||||
address_n = msg.address_n or ()
|
address_n = msg.address_n or ()
|
||||||
coin_name = msg.coin_name or 'Bitcoin'
|
coin_name = msg.coin_name or 'Bitcoin'
|
||||||
|
@ -173,7 +173,7 @@ async def sign_tx(tx: SignTx, root):
|
|||||||
txo = await request_tx_output(tx_req, o)
|
txo = await request_tx_output(tx_req, o)
|
||||||
if output_is_change(txo):
|
if output_is_change(txo):
|
||||||
if change_out != 0:
|
if change_out != 0:
|
||||||
raise SigningError(FailureType.Other,
|
raise SigningError(FailureType.ProcessError,
|
||||||
'Only one change output is valid')
|
'Only one change output is valid')
|
||||||
change_out = txo.amount
|
change_out = txo.amount
|
||||||
elif txo.script_type != OutputScriptType.PAYTOOPRETURN:
|
elif txo.script_type != OutputScriptType.PAYTOOPRETURN:
|
||||||
@ -249,7 +249,7 @@ async def sign_tx(tx: SignTx, root):
|
|||||||
|
|
||||||
# check the control digests
|
# check the control digests
|
||||||
if get_tx_hash(h_first, False) != get_tx_hash(h_second, False):
|
if get_tx_hash(h_first, False) != get_tx_hash(h_second, False):
|
||||||
raise SigningError(FailureType.Other,
|
raise SigningError(FailureType.ProcessError,
|
||||||
'Transaction has changed during signing')
|
'Transaction has changed during signing')
|
||||||
|
|
||||||
# compute the signature from the tx digest
|
# compute the signature from the tx digest
|
||||||
@ -321,7 +321,7 @@ async def get_prevtx_output_value(tx_req: TxRequest, prev_hash: bytes, prev_inde
|
|||||||
write_uint32(txh, tx.lock_time)
|
write_uint32(txh, tx.lock_time)
|
||||||
|
|
||||||
if get_tx_hash(txh, True, True) != prev_hash:
|
if get_tx_hash(txh, True, True) != prev_hash:
|
||||||
raise SigningError(FailureType.Other,
|
raise SigningError(FailureType.ProcessError,
|
||||||
'Encountered invalid prev_hash')
|
'Encountered invalid prev_hash')
|
||||||
|
|
||||||
return total_out
|
return total_out
|
||||||
|
9
src/trezor/messages/ApplyFlags.py
Normal file
9
src/trezor/messages/ApplyFlags.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Automatically generated by pb2py
|
||||||
|
import protobuf as p
|
||||||
|
|
||||||
|
|
||||||
|
class ApplyFlags(p.MessageType):
|
||||||
|
FIELDS = {
|
||||||
|
1: ('flags', p.UVarintType, 0),
|
||||||
|
}
|
||||||
|
MESSAGE_WIRE_TYPE = 28
|
6
src/trezor/messages/BackupDevice.py
Normal file
6
src/trezor/messages/BackupDevice.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Automatically generated by pb2py
|
||||||
|
import protobuf as p
|
||||||
|
|
||||||
|
|
||||||
|
class BackupDevice(p.MessageType):
|
||||||
|
MESSAGE_WIRE_TYPE = 34
|
@ -13,4 +13,5 @@ class CoinType(p.MessageType):
|
|||||||
9: ('xpub_magic', p.UVarintType, 0), # default=76067358
|
9: ('xpub_magic', p.UVarintType, 0), # default=76067358
|
||||||
10: ('xprv_magic', p.UVarintType, 0), # default=76066276
|
10: ('xprv_magic', p.UVarintType, 0), # default=76066276
|
||||||
11: ('segwit', p.BoolType, 0),
|
11: ('segwit', p.BoolType, 0),
|
||||||
|
12: ('forkid', p.UVarintType, 0),
|
||||||
}
|
}
|
||||||
|
10
src/trezor/messages/EthereumMessageSignature.py
Normal file
10
src/trezor/messages/EthereumMessageSignature.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Automatically generated by pb2py
|
||||||
|
import protobuf as p
|
||||||
|
|
||||||
|
|
||||||
|
class EthereumMessageSignature(p.MessageType):
|
||||||
|
FIELDS = {
|
||||||
|
1: ('address', p.BytesType, 0),
|
||||||
|
2: ('signature', p.BytesType, 0),
|
||||||
|
}
|
||||||
|
MESSAGE_WIRE_TYPE = 66
|
10
src/trezor/messages/EthereumSignMessage.py
Normal file
10
src/trezor/messages/EthereumSignMessage.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Automatically generated by pb2py
|
||||||
|
import protobuf as p
|
||||||
|
|
||||||
|
|
||||||
|
class EthereumSignMessage(p.MessageType):
|
||||||
|
FIELDS = {
|
||||||
|
1: ('address_n', p.UVarintType, p.FLAG_REPEATED),
|
||||||
|
2: ('message', p.BytesType, 0), # required
|
||||||
|
}
|
||||||
|
MESSAGE_WIRE_TYPE = 64
|
11
src/trezor/messages/EthereumVerifyMessage.py
Normal file
11
src/trezor/messages/EthereumVerifyMessage.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Automatically generated by pb2py
|
||||||
|
import protobuf as p
|
||||||
|
|
||||||
|
|
||||||
|
class EthereumVerifyMessage(p.MessageType):
|
||||||
|
FIELDS = {
|
||||||
|
1: ('address', p.BytesType, 0),
|
||||||
|
2: ('signature', p.BytesType, 0),
|
||||||
|
3: ('message', p.BytesType, 0),
|
||||||
|
}
|
||||||
|
MESSAGE_WIRE_TYPE = 65
|
@ -3,13 +3,13 @@ from micropython import const
|
|||||||
|
|
||||||
UnexpectedMessage = const(1)
|
UnexpectedMessage = const(1)
|
||||||
ButtonExpected = const(2)
|
ButtonExpected = const(2)
|
||||||
SyntaxError = const(3)
|
DataError = const(3)
|
||||||
ActionCancelled = const(4)
|
ActionCancelled = const(4)
|
||||||
PinExpected = const(5)
|
PinExpected = const(5)
|
||||||
PinCancelled = const(6)
|
PinCancelled = const(6)
|
||||||
PinInvalid = const(7)
|
PinInvalid = const(7)
|
||||||
InvalidSignature = const(8)
|
InvalidSignature = const(8)
|
||||||
Other = const(9)
|
ProcessError = const(9)
|
||||||
NotEnoughFunds = const(10)
|
NotEnoughFunds = const(10)
|
||||||
NotInitialized = const(11)
|
NotInitialized = const(11)
|
||||||
FirmwareError = const(99)
|
FirmwareError = const(99)
|
||||||
|
@ -23,5 +23,7 @@ class Features(p.MessageType):
|
|||||||
16: ('pin_cached', p.BoolType, 0),
|
16: ('pin_cached', p.BoolType, 0),
|
||||||
17: ('passphrase_cached', p.BoolType, 0),
|
17: ('passphrase_cached', p.BoolType, 0),
|
||||||
18: ('firmware_present', p.BoolType, 0),
|
18: ('firmware_present', p.BoolType, 0),
|
||||||
|
19: ('needs_backup', p.BoolType, 0),
|
||||||
|
20: ('flags', p.UVarintType, 0),
|
||||||
}
|
}
|
||||||
MESSAGE_WIRE_TYPE = 17
|
MESSAGE_WIRE_TYPE = 17
|
||||||
|
@ -3,4 +3,7 @@ import protobuf as p
|
|||||||
|
|
||||||
|
|
||||||
class FirmwareErase(p.MessageType):
|
class FirmwareErase(p.MessageType):
|
||||||
|
FIELDS = {
|
||||||
|
1: ('length', p.UVarintType, 0),
|
||||||
|
}
|
||||||
MESSAGE_WIRE_TYPE = 6
|
MESSAGE_WIRE_TYPE = 6
|
||||||
|
@ -29,8 +29,11 @@ ClearSession = const(24)
|
|||||||
ApplySettings = const(25)
|
ApplySettings = const(25)
|
||||||
ButtonRequest = const(26)
|
ButtonRequest = const(26)
|
||||||
ButtonAck = const(27)
|
ButtonAck = const(27)
|
||||||
|
ApplyFlags = const(28)
|
||||||
GetAddress = const(29)
|
GetAddress = const(29)
|
||||||
Address = const(30)
|
Address = const(30)
|
||||||
|
SelfTest = const(32)
|
||||||
|
BackupDevice = const(34)
|
||||||
EntropyRequest = const(35)
|
EntropyRequest = const(35)
|
||||||
EntropyAck = const(36)
|
EntropyAck = const(36)
|
||||||
SignMessage = const(38)
|
SignMessage = const(38)
|
||||||
@ -59,6 +62,9 @@ EthereumTxAck = const(60)
|
|||||||
GetECDHSessionKey = const(61)
|
GetECDHSessionKey = const(61)
|
||||||
ECDHSessionKey = const(62)
|
ECDHSessionKey = const(62)
|
||||||
SetU2FCounter = const(63)
|
SetU2FCounter = const(63)
|
||||||
|
EthereumSignMessage = const(64)
|
||||||
|
EthereumVerifyMessage = const(65)
|
||||||
|
EthereumMessageSignature = const(66)
|
||||||
DebugLinkDecision = const(100)
|
DebugLinkDecision = const(100)
|
||||||
DebugLinkGetState = const(101)
|
DebugLinkGetState = const(101)
|
||||||
DebugLinkState = const(102)
|
DebugLinkState = const(102)
|
||||||
|
@ -12,5 +12,6 @@ class RecoveryDevice(p.MessageType):
|
|||||||
6: ('enforce_wordlist', p.BoolType, 0),
|
6: ('enforce_wordlist', p.BoolType, 0),
|
||||||
8: ('type', p.UVarintType, 0),
|
8: ('type', p.UVarintType, 0),
|
||||||
9: ('u2f_counter', p.UVarintType, 0),
|
9: ('u2f_counter', p.UVarintType, 0),
|
||||||
|
10: ('dry_run', p.BoolType, 0),
|
||||||
}
|
}
|
||||||
MESSAGE_WIRE_TYPE = 45
|
MESSAGE_WIRE_TYPE = 45
|
||||||
|
@ -11,5 +11,6 @@ class ResetDevice(p.MessageType):
|
|||||||
5: ('language', p.UnicodeType, 0), # default=u'english'
|
5: ('language', p.UnicodeType, 0), # default=u'english'
|
||||||
6: ('label', p.UnicodeType, 0),
|
6: ('label', p.UnicodeType, 0),
|
||||||
7: ('u2f_counter', p.UVarintType, 0),
|
7: ('u2f_counter', p.UVarintType, 0),
|
||||||
|
8: ('skip_backup', p.BoolType, 0),
|
||||||
}
|
}
|
||||||
MESSAGE_WIRE_TYPE = 14
|
MESSAGE_WIRE_TYPE = 14
|
||||||
|
9
src/trezor/messages/SelfTest.py
Normal file
9
src/trezor/messages/SelfTest.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Automatically generated by pb2py
|
||||||
|
import protobuf as p
|
||||||
|
|
||||||
|
|
||||||
|
class SelfTest(p.MessageType):
|
||||||
|
FIELDS = {
|
||||||
|
1: ('payload', p.BytesType, 0),
|
||||||
|
}
|
||||||
|
MESSAGE_WIRE_TYPE = 32
|
@ -7,5 +7,6 @@ class SignMessage(p.MessageType):
|
|||||||
1: ('address_n', p.UVarintType, p.FLAG_REPEATED),
|
1: ('address_n', p.UVarintType, p.FLAG_REPEATED),
|
||||||
2: ('message', p.BytesType, 0), # required
|
2: ('message', p.BytesType, 0), # required
|
||||||
3: ('coin_name', p.UnicodeType, 0), # default=u'Bitcoin'
|
3: ('coin_name', p.UnicodeType, 0), # default=u'Bitcoin'
|
||||||
|
4: ('script_type', p.UVarintType, 0), # default=0
|
||||||
}
|
}
|
||||||
MESSAGE_WIRE_TYPE = 38
|
MESSAGE_WIRE_TYPE = 38
|
||||||
|
@ -16,4 +16,6 @@ class Storage(p.MessageType):
|
|||||||
9: ('imported', p.BoolType, 0),
|
9: ('imported', p.BoolType, 0),
|
||||||
10: ('homescreen', p.BytesType, 0),
|
10: ('homescreen', p.BytesType, 0),
|
||||||
11: ('u2f_counter', p.UVarintType, 0),
|
11: ('u2f_counter', p.UVarintType, 0),
|
||||||
|
12: ('needs_backup', p.BoolType, 0),
|
||||||
|
13: ('flags', p.UVarintType, 0),
|
||||||
}
|
}
|
||||||
|
@ -1,70 +1,76 @@
|
|||||||
# Automatically generated by pb2py
|
# Automatically generated by pb2py
|
||||||
from micropython import const
|
from micropython import const
|
||||||
|
|
||||||
WordRequest = const(46)
|
|
||||||
DebugLinkMemoryWrite = const(112)
|
|
||||||
ButtonAck = const(27)
|
|
||||||
MessageSignature = const(40)
|
|
||||||
EthereumAddress = const(57)
|
|
||||||
EthereumTxAck = const(60)
|
|
||||||
Ping = const(1)
|
|
||||||
EncryptedMessage = const(50)
|
|
||||||
DebugLinkStop = const(103)
|
|
||||||
EstimateTxSize = const(43)
|
|
||||||
GetPublicKey = const(11)
|
|
||||||
GetFeatures = const(55)
|
|
||||||
GetECDHSessionKey = const(61)
|
|
||||||
PinMatrixRequest = const(18)
|
|
||||||
ClearSession = const(24)
|
|
||||||
LoadDevice = const(13)
|
|
||||||
VerifyMessage = const(39)
|
|
||||||
EthereumSignTx = const(58)
|
|
||||||
PassphraseRequest = const(41)
|
|
||||||
TxAck = const(22)
|
|
||||||
ChangePin = const(4)
|
|
||||||
DebugLinkLog = const(104)
|
|
||||||
FirmwareErase = const(6)
|
|
||||||
TxRequest = const(21)
|
|
||||||
EthereumGetAddress = const(56)
|
|
||||||
DebugLinkState = const(102)
|
|
||||||
EthereumTxRequest = const(59)
|
|
||||||
FirmwareUpload = const(7)
|
|
||||||
SignedIdentity = const(54)
|
|
||||||
Failure = const(3)
|
|
||||||
EntropyRequest = const(35)
|
|
||||||
ApplySettings = const(25)
|
|
||||||
DebugLinkFlashErase = const(113)
|
|
||||||
Address = const(30)
|
Address = const(30)
|
||||||
Initialize = const(0)
|
ApplyFlags = const(28)
|
||||||
PinMatrixAck = const(19)
|
ApplySettings = const(25)
|
||||||
SetU2FCounter = const(63)
|
BackupDevice = const(34)
|
||||||
SignTx = const(15)
|
ButtonAck = const(27)
|
||||||
DebugLinkGetState = const(101)
|
|
||||||
FirmwareRequest = const(8)
|
|
||||||
Success = const(2)
|
|
||||||
ResetDevice = const(14)
|
|
||||||
WordAck = const(47)
|
|
||||||
SimpleSignTx = const(16)
|
|
||||||
GetAddress = const(29)
|
|
||||||
TxSize = const(44)
|
|
||||||
PassphraseAck = const(42)
|
|
||||||
SignMessage = const(38)
|
|
||||||
DecryptedMessage = const(52)
|
|
||||||
DecryptMessage = const(51)
|
|
||||||
GetEntropy = const(9)
|
|
||||||
EntropyAck = const(36)
|
|
||||||
WipeDevice = const(5)
|
|
||||||
CipherKeyValue = const(23)
|
|
||||||
Features = const(17)
|
|
||||||
RecoveryDevice = const(45)
|
|
||||||
SignIdentity = const(53)
|
|
||||||
DebugLinkDecision = const(100)
|
|
||||||
CipheredKeyValue = const(48)
|
|
||||||
ButtonRequest = const(26)
|
ButtonRequest = const(26)
|
||||||
PublicKey = const(12)
|
|
||||||
DebugLinkMemory = const(111)
|
|
||||||
Entropy = const(10)
|
|
||||||
Cancel = const(20)
|
Cancel = const(20)
|
||||||
|
ChangePin = const(4)
|
||||||
|
CipherKeyValue = const(23)
|
||||||
|
CipheredKeyValue = const(48)
|
||||||
|
ClearSession = const(24)
|
||||||
|
DebugLinkDecision = const(100)
|
||||||
|
DebugLinkFlashErase = const(113)
|
||||||
|
DebugLinkGetState = const(101)
|
||||||
|
DebugLinkLog = const(104)
|
||||||
|
DebugLinkMemory = const(111)
|
||||||
DebugLinkMemoryRead = const(110)
|
DebugLinkMemoryRead = const(110)
|
||||||
EncryptMessage = const(49)
|
DebugLinkMemoryWrite = const(112)
|
||||||
|
DebugLinkState = const(102)
|
||||||
|
DebugLinkStop = const(103)
|
||||||
|
DecryptMessage = const(51)
|
||||||
|
DecryptedMessage = const(52)
|
||||||
ECDHSessionKey = const(62)
|
ECDHSessionKey = const(62)
|
||||||
|
EncryptMessage = const(49)
|
||||||
|
EncryptedMessage = const(50)
|
||||||
|
Entropy = const(10)
|
||||||
|
EntropyAck = const(36)
|
||||||
|
EntropyRequest = const(35)
|
||||||
|
EstimateTxSize = const(43)
|
||||||
|
EthereumAddress = const(57)
|
||||||
|
EthereumGetAddress = const(56)
|
||||||
|
EthereumMessageSignature = const(66)
|
||||||
|
EthereumSignMessage = const(64)
|
||||||
|
EthereumSignTx = const(58)
|
||||||
|
EthereumTxAck = const(60)
|
||||||
|
EthereumTxRequest = const(59)
|
||||||
|
EthereumVerifyMessage = const(65)
|
||||||
|
Failure = const(3)
|
||||||
|
Features = const(17)
|
||||||
|
FirmwareErase = const(6)
|
||||||
|
FirmwareRequest = const(8)
|
||||||
|
FirmwareUpload = const(7)
|
||||||
|
GetAddress = const(29)
|
||||||
|
GetECDHSessionKey = const(61)
|
||||||
|
GetEntropy = const(9)
|
||||||
|
GetFeatures = const(55)
|
||||||
|
GetPublicKey = const(11)
|
||||||
|
Initialize = const(0)
|
||||||
|
LoadDevice = const(13)
|
||||||
|
MessageSignature = const(40)
|
||||||
|
PassphraseAck = const(42)
|
||||||
|
PassphraseRequest = const(41)
|
||||||
|
PinMatrixAck = const(19)
|
||||||
|
PinMatrixRequest = const(18)
|
||||||
|
Ping = const(1)
|
||||||
|
PublicKey = const(12)
|
||||||
|
RecoveryDevice = const(45)
|
||||||
|
ResetDevice = const(14)
|
||||||
|
SelfTest = const(32)
|
||||||
|
SetU2FCounter = const(63)
|
||||||
|
SignIdentity = const(53)
|
||||||
|
SignMessage = const(38)
|
||||||
|
SignTx = const(15)
|
||||||
|
SignedIdentity = const(54)
|
||||||
|
SimpleSignTx = const(16)
|
||||||
|
Success = const(2)
|
||||||
|
TxAck = const(22)
|
||||||
|
TxRequest = const(21)
|
||||||
|
TxSize = const(44)
|
||||||
|
VerifyMessage = const(39)
|
||||||
|
WipeDevice = const(5)
|
||||||
|
WordAck = const(47)
|
||||||
|
WordRequest = const(46)
|
||||||
|
@ -18,8 +18,6 @@ cd ../tests/python-trezor/tests/device_tests
|
|||||||
|
|
||||||
error=0
|
error=0
|
||||||
|
|
||||||
PYTHON="${PYTHON:-python3}"
|
|
||||||
|
|
||||||
: '
|
: '
|
||||||
not passing:
|
not passing:
|
||||||
|
|
||||||
@ -45,7 +43,6 @@ not passing:
|
|||||||
for i in \
|
for i in \
|
||||||
test_basic.py \
|
test_basic.py \
|
||||||
test_msg_cipherkeyvalue.py \
|
test_msg_cipherkeyvalue.py \
|
||||||
test_msg_estimatetxsize.py \
|
|
||||||
test_msg_ethereum_getaddress.py \
|
test_msg_ethereum_getaddress.py \
|
||||||
test_msg_getaddress.py \
|
test_msg_getaddress.py \
|
||||||
test_msg_getentropy.py \
|
test_msg_getentropy.py \
|
||||||
@ -60,7 +57,7 @@ for i in \
|
|||||||
test_zerosig.py \
|
test_zerosig.py \
|
||||||
; do
|
; do
|
||||||
|
|
||||||
if $PYTHON $i >/dev/null 2>/dev/null ; then
|
if pytest -q $i ; then
|
||||||
results+=("OK $i")
|
results+=("OK $i")
|
||||||
else
|
else
|
||||||
results+=("FAIL $i")
|
results+=("FAIL $i")
|
||||||
|
@ -139,7 +139,7 @@ def process_module(mod, genpath, indexfile, is_upy):
|
|||||||
msg_types = __import__('pb2', globals(), locals(), [
|
msg_types = __import__('pb2', globals(), locals(), [
|
||||||
'messages_pb2', ]).messages_pb2.MessageType.items()
|
'messages_pb2', ]).messages_pb2.MessageType.items()
|
||||||
|
|
||||||
for t, cls in types.items():
|
for t, cls in sorted(types.items()):
|
||||||
# Find message type for given class
|
# Find message type for given class
|
||||||
msg_id = find_msg_type(msg_types, t)
|
msg_id = find_msg_type(msg_types, t)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user