[no changelog]
* passed in directory respects absolute and relative paths instead of
working "from repository root"
* we don't require the enableTypeIgnoreComments to be set so both
`pyright` and `pyright_tool` can work with the same config at the same
time
* use click's magic functionality to deal with missing / unreadable /
unwriteable files
* read the error results via a pipe, do not write to filesystem unless
requested
* simplified logic regarding "test mode"/"dev mode"
* renamed `--log` to more typical `--verbose`
* use pathlib more extensively
When doing Ethereum signTypedData, and the primaryType="EIP712Domain",
we completely ignore the "message" part and only sign the domain.
According to the community, this is technically allowed by the spec,
and may be used by ETH smart contracts to save on gas.
Test case generated by @MetaMask/eth-sig-util's library.
See: https://ethereum-magicians.org/t/eip-712-standards-clarification-primarytype-as-domaintype/3286
Using `__`-prefixed names seems to be a convention for specifying
position-only arguments before Python 3.8. Pyright respects this
convention and in fact requires it since version 1.1.192.
This keeps information about vendors and USB IDs in one place, and
allows us to extend with model-specific information later.
By default, this should be backwards-compatible -- TrezorClient can
optionally accept model information, and if not, it will try to guess
based on Features.
It is possible to specify which models to look for in transport
enumeration. Bridge and UDP transports ignore the parameter, because
they can't know what model is on the other side.
supersedes #1448 and #1449
If the device asks for a tx_hash which is not present in prev_txes,
raise a ValueError with some more detailed messaging about the missing
hash rather than the default dictionary lookup failure of KeyError.