mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-23 06:48:16 +00:00
Allow specifying 'state' at ProtocolMixin c-tor
This commit is contained in:
parent
5d0b5632b3
commit
bd3d014dd4
@ -87,7 +87,7 @@ def cli(ctx, path, verbose, is_json):
|
||||
if path is not None:
|
||||
click.echo("Using path: {}".format(path))
|
||||
sys.exit(1)
|
||||
return cls(device)
|
||||
return cls(transport=device)
|
||||
|
||||
ctx.obj = get_device
|
||||
|
||||
|
@ -496,8 +496,9 @@ class ProtocolMixin(object):
|
||||
PRIME_DERIVATION_FLAG = 0x80000000
|
||||
VENDORS = ('bitcointrezor.com', 'trezor.io')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
def __init__(self, state=None, *args, **kwargs):
|
||||
super(ProtocolMixin, self).__init__(*args, **kwargs)
|
||||
self.state = state
|
||||
self.init_device()
|
||||
self.tx_api = None
|
||||
|
||||
@ -505,7 +506,10 @@ class ProtocolMixin(object):
|
||||
self.tx_api = tx_api
|
||||
|
||||
def init_device(self):
|
||||
self.features = expect(proto.Features)(self.call)(proto.Initialize())
|
||||
init_msg = proto.Initialize()
|
||||
if self.state is not None:
|
||||
init_msg.state = self.state
|
||||
self.features = expect(proto.Features)(self.call)(init_msg)
|
||||
if str(self.features.vendor) not in self.VENDORS:
|
||||
raise RuntimeError("Unsupported device")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user