diff --git a/src/trezor/wire/__init__.py b/src/trezor/wire/__init__.py index 3f9f441c66..504c905b65 100644 --- a/src/trezor/wire/__init__.py +++ b/src/trezor/wire/__init__.py @@ -13,6 +13,8 @@ workflow_handlers = {} def register(mtype, handler, *args): '''Register `handler` to get scheduled after `mtype` message is received.''' + if isinstance(mtype, type) and issubclass(mtype, protobuf.MessageType): + mtype = mtype.MESSAGE_WIRE_TYPE if mtype in workflow_handlers: raise KeyError workflow_handlers[mtype] = (handler, args)