style: apply black 20.8b1

pull/1295/head
matejcik 4 years ago
parent 6dda240f5c
commit e4785d47e0

@ -8,7 +8,9 @@ def main(file: str = None):
config = configparser.ConfigParser()
config.read_file(open("hardware.cfg"))
t1 = TrezorOne(
config["t1"]["location"], config["t1"]["port"], config["t1"]["arduino_serial"],
config["t1"]["location"],
config["t1"]["port"],
config["t1"]["arduino_serial"],
)
t1.update_firmware(file)

@ -21,7 +21,7 @@ if False:
_MAX_COORDINATOR_LEN = const(18)
async def authorize_coinjoin(ctx: wire.Context, msg: AuthorizeCoinJoin,) -> Success:
async def authorize_coinjoin(ctx: wire.Context, msg: AuthorizeCoinJoin) -> Success:
# We cannot use the @with_keychain decorator here, because we need the keychain
# to survive the function exit. The ownership of the keychain is transferred to
# the CoinJoinAuthorization object, which takes care of its destruction.

@ -364,7 +364,8 @@ class Bitcoin:
if txi.script_type == InputScriptType.SPENDMULTISIG:
assert txi.multisig is not None # checked in sanitize_tx_input
script_pubkey = scripts.output_script_multisig(
multisig.multisig_get_pubkeys(txi.multisig), txi.multisig.m,
multisig.multisig_get_pubkeys(txi.multisig),
txi.multisig.m,
)
elif txi.script_type == InputScriptType.SPENDADDRESS:
script_pubkey = scripts.output_script_p2pkh(
@ -478,17 +479,26 @@ class Bitcoin:
return self.get_sighash_type(txi) & 0xFF
def write_tx_input(
self, w: writers.Writer, txi: Union[TxInput, PrevInput], script: bytes,
self,
w: writers.Writer,
txi: Union[TxInput, PrevInput],
script: bytes,
) -> None:
writers.write_tx_input(w, txi, script)
def write_tx_output(
self, w: writers.Writer, txo: Union[TxOutput, PrevOutput], script_pubkey: bytes,
self,
w: writers.Writer,
txo: Union[TxOutput, PrevOutput],
script_pubkey: bytes,
) -> None:
writers.write_tx_output(w, txo, script_pubkey)
def write_tx_header(
self, w: writers.Writer, tx: Union[SignTx, PrevTx], witness_marker: bool,
self,
w: writers.Writer,
tx: Union[SignTx, PrevTx],
witness_marker: bool,
) -> None:
writers.write_uint32(w, tx.version) # nVersion
if witness_marker:

@ -62,7 +62,10 @@ class Bitcoinlike(Bitcoin):
return hashtype
def write_tx_header(
self, w: writers.Writer, tx: Union[SignTx, PrevTx], witness_marker: bool,
self,
w: writers.Writer,
tx: Union[SignTx, PrevTx],
witness_marker: bool,
) -> None:
writers.write_uint32(w, tx.version) # nVersion
if self.coin.timestamp:

@ -155,7 +155,10 @@ class Decred(Bitcoin):
self.write_tx_output(self.h_prefix, txo, script_pubkey)
def write_tx_input(
self, w: writers.Writer, txi: Union[TxInput, PrevInput], script: bytes,
self,
w: writers.Writer,
txi: Union[TxInput, PrevInput],
script: bytes,
) -> None:
writers.write_bytes_reversed(w, txi.prev_hash, writers.TX_HASH_SIZE)
writers.write_uint32(w, txi.prev_index or 0)
@ -163,7 +166,10 @@ class Decred(Bitcoin):
writers.write_uint32(w, txi.sequence)
def write_tx_output(
self, w: writers.Writer, txo: Union[TxOutput, PrevOutput], script_pubkey: bytes,
self,
w: writers.Writer,
txo: Union[TxOutput, PrevOutput],
script_pubkey: bytes,
) -> None:
writers.write_uint64(w, txo.amount)
if isinstance(txo, PrevOutput):
@ -175,7 +181,10 @@ class Decred(Bitcoin):
writers.write_bytes_prefixed(w, script_pubkey)
def write_tx_header(
self, w: writers.Writer, tx: Union[SignTx, PrevTx], witness_marker: bool,
self,
w: writers.Writer,
tx: Union[SignTx, PrevTx],
witness_marker: bool,
) -> None:
# The upper 16 bits of the transaction version specify the serialization
# format and the lower 16 bits specify the version number.

@ -38,7 +38,7 @@ def write_bytes_prefixed(w: Writer, b: bytes) -> None:
write_bytes_unchecked(w, b)
def write_tx_input(w: Writer, i: Union[TxInput, PrevInput], script: bytes,) -> None:
def write_tx_input(w: Writer, i: Union[TxInput, PrevInput], script: bytes) -> None:
write_bytes_reversed(w, i.prev_hash, TX_HASH_SIZE)
write_uint32(w, i.prev_index)
write_bytes_prefixed(w, script)

@ -196,7 +196,9 @@ def _derive_byron_address(
def _derive_shelley_address(
keychain: seed.Keychain, parameters: CardanoAddressParametersType, network_id: int,
keychain: seed.Keychain,
parameters: CardanoAddressParametersType,
network_id: int,
) -> bytes:
if not is_shelley_path(parameters.address_n):
raise wire.DataError("Invalid path for shelley address!")
@ -213,7 +215,10 @@ def _derive_shelley_address(
address = _derive_enterprise_address(keychain, parameters.address_n, network_id)
elif parameters.address_type == CardanoAddressType.POINTER:
address = _derive_pointer_address(
keychain, parameters.address_n, parameters.certificate_pointer, network_id,
keychain,
parameters.address_n,
parameters.certificate_pointer,
network_id,
)
elif parameters.address_type == CardanoAddressType.REWARD:
address = _derive_reward_address(keychain, parameters.address_n, network_id)
@ -249,7 +254,8 @@ def _derive_base_address(
def _validate_base_address_staking_info(
staking_path: List[int], staking_key_hash: bytes,
staking_path: List[int],
staking_key_hash: bytes,
) -> None:
if (staking_key_hash is None) == (not staking_path):
raise wire.DataError(
@ -311,7 +317,9 @@ def _encode_certificate_pointer(pointer: CardanoBlockchainPointerType) -> bytes:
def _derive_enterprise_address(
keychain: seed.Keychain, path: List[int], network_id: int,
keychain: seed.Keychain,
path: List[int],
network_id: int,
) -> bytes:
header = _create_address_header(CardanoAddressType.ENTERPRISE, network_id)
spending_key_hash = get_public_key_hash(keychain, path)
@ -320,7 +328,9 @@ def _derive_enterprise_address(
def _derive_reward_address(
keychain: seed.Keychain, path: List[int], network_id: int,
keychain: seed.Keychain,
path: List[int],
network_id: int,
) -> bytes:
if not is_staking_path(path):
raise wire.DataError("Invalid path for reward address!")

@ -20,7 +20,11 @@ async def get_public_key(
ctx: wire.Context, msg: CardanoGetPublicKey, keychain: seed.Keychain
):
await paths.validate_path(
ctx, _validate_path_for_get_public_key, keychain, msg.address_n, CURVE,
ctx,
_validate_path_for_get_public_key,
keychain,
msg.address_n,
CURVE,
)
try:

@ -80,7 +80,9 @@ async def show_warning_tx_no_staking_info(
async def show_warning_tx_pointer_address(
ctx: wire.Context, pointer: CardanoBlockchainPointerType, amount: int,
ctx: wire.Context,
pointer: CardanoBlockchainPointerType,
amount: int,
):
page1 = Text("Confirm transaction", ui.ICON_SEND, ui.GREEN)
page1.normal("Change address has a")
@ -100,7 +102,9 @@ async def show_warning_tx_pointer_address(
async def show_warning_tx_different_staking_account(
ctx: wire.Context, staking_account_path: List[int], amount: int,
ctx: wire.Context,
staking_account_path: List[int],
amount: int,
):
page1 = Text("Confirm transaction", ui.ICON_SEND, ui.GREEN)
page1.normal("Change address staking")
@ -117,7 +121,9 @@ async def show_warning_tx_different_staking_account(
async def show_warning_tx_staking_key_hash(
ctx: wire.Context, staking_key_hash: bytes, amount: int,
ctx: wire.Context,
staking_key_hash: bytes,
amount: int,
):
page1 = Text("Confirm transaction", ui.ICON_SEND, ui.GREEN)
page1.normal("Change address staking")
@ -282,7 +288,9 @@ async def show_warning_address_foreign_staking_key(
staking_key_message = ("Staking key:", hexlify(staking_key_hash).decode())
await show_warning(
ctx, staking_key_message, button="Ok",
ctx,
staking_key_message,
button="Ok",
)

@ -286,7 +286,8 @@ def _build_withdrawals(
reward_address = derive_address_bytes(
keychain,
CardanoAddressParametersType(
address_type=CardanoAddressType.REWARD, address_n=withdrawal.path,
address_type=CardanoAddressType.REWARD,
address_n=withdrawal.path,
),
protocol_magic,
network_id,
@ -465,16 +466,22 @@ async def _show_change_output_staking_warnings(
await show_warning_tx_no_staking_info(ctx, address_type, amount)
elif staking_use_case == staking_use_cases.POINTER_ADDRESS:
await show_warning_tx_pointer_address(
ctx, address_parameters.certificate_pointer, amount,
ctx,
address_parameters.certificate_pointer,
amount,
)
elif staking_use_case == staking_use_cases.MISMATCH:
if address_parameters.address_n_staking:
await show_warning_tx_different_staking_account(
ctx, to_account_path(address_parameters.address_n_staking), amount,
ctx,
to_account_path(address_parameters.address_n_staking),
amount,
)
else:
await show_warning_tx_staking_key_hash(
ctx, address_parameters.staking_key_hash, amount,
ctx,
address_parameters.staking_key_hash,
amount,
)

@ -113,7 +113,10 @@ class Keychain:
raise FORBIDDEN_KEY_PATH
def _derive_with_cache(
self, prefix_len: int, path: paths.PathType, new_root: Callable[[], NodeType],
self,
prefix_len: int,
path: paths.PathType,
new_root: Callable[[], NodeType],
) -> NodeType:
cached_prefix = tuple(path[:prefix_len])
cached_root = self._cache.get(cached_prefix) # type: Optional[NodeType]
@ -141,7 +144,9 @@ class Keychain:
raise FORBIDDEN_KEY_PATH
return self._derive_with_cache(
prefix_len=1, path=path, new_root=lambda: Slip21Node(seed=self.seed),
prefix_len=1,
path=path,
new_root=lambda: Slip21Node(seed=self.seed),
)
def __enter__(self) -> "Keychain":

@ -153,7 +153,7 @@ async def require_confirm_change_autolock_delay(ctx, delay_ms):
await require_confirm(ctx, text, ButtonRequestType.ProtectCall)
async def require_confirm_safety_checks(ctx, level: EnumTypeSafetyCheckLevel,) -> None:
async def require_confirm_safety_checks(ctx, level: EnumTypeSafetyCheckLevel) -> None:
if level == SafetyCheckLevel.PromptAlways:
text = Text("Safety override", ui.ICON_CONFIG)
text.normal(

@ -55,7 +55,9 @@ async def all_outputs_set(state: State) -> MoneroTransactionAllOutSetAck:
# Initializes RCTsig structure (fee, tx prefix hash, type)
rv_pb = MoneroRingCtSig(
txn_fee=state.fee, message=state.tx_prefix_hash, rv_type=state.tx_type,
txn_fee=state.fee,
message=state.tx_prefix_hash,
rv_type=state.tx_type,
)
_out_pk(state)

@ -198,7 +198,9 @@ def sign_tx(
and cannot be overriden by kwargs.
"""
signtx = messages.SignTx(
coin_name=coin_name, inputs_count=len(inputs), outputs_count=len(outputs),
coin_name=coin_name,
inputs_count=len(inputs),
outputs_count=len(outputs),
)
for name, value in kwargs.items():
if hasattr(signtx, name):

@ -152,7 +152,8 @@ def create_certificate(certificate) -> messages.CardanoTxCertificateType:
or certificate_type == messages.CardanoCertificateType.STAKE_DEREGISTRATION
):
return messages.CardanoTxCertificateType(
type=certificate_type, path=tools.parse_path(path),
type=certificate_type,
path=tools.parse_path(path),
)
else:
raise ValueError("Unknown certificate type")
@ -164,7 +165,8 @@ def create_withdrawal(withdrawal) -> messages.CardanoTxWithdrawalType:
path = withdrawal["path"]
return messages.CardanoTxWithdrawalType(
path=tools.parse_path(path), amount=int(withdrawal["amount"]),
path=tools.parse_path(path),
amount=int(withdrawal["amount"]),
)

@ -145,7 +145,10 @@ def configure_logging(verbose: int):
"-j", "--json", "is_json", is_flag=True, help="Print result as JSON object"
)
@click.option(
"-P", "--passphrase-on-host", is_flag=True, help="Enter passphrase on host.",
"-P",
"--passphrase-on-host",
is_flag=True,
help="Enter passphrase on host.",
)
@click.option(
"-s",

@ -83,7 +83,10 @@ class TrezorClient:
"""
def __init__(
self, transport, ui, session_id=None,
self,
transport,
ui,
session_id=None,
):
LOG.info("creating client instance for device: {}".format(transport.get_path()))
self.transport = transport
@ -326,7 +329,9 @@ class TrezorClient:
@tools.expect(messages.Success, field="message")
def ping(
self, msg, button_protection=False,
self,
msg,
button_protection=False,
):
# We would like ping to work on any valid TrezorClient instance, but
# due to the protection modes, we need to go through self.call, and that will
@ -345,7 +350,7 @@ class TrezorClient:
finally:
self.close()
msg = messages.Ping(message=msg, button_protection=button_protection,)
msg = messages.Ping(message=msg, button_protection=button_protection)
return self.call(msg)
def get_device_id(self):

@ -110,8 +110,8 @@ def verify(
def pubkey_from_privkey(privkey: Ed25519PrivateKey) -> Ed25519PublicPoint:
"""Interpret 32 bytes of data as an Ed25519 private key.
Calculate and return the corresponding public key.
"""
Calculate and return the corresponding public key.
"""
return Ed25519PublicPoint(_ed25519.publickey_unsafe(privkey))

@ -397,7 +397,9 @@ def validate_code_hashes(fw: c.Container, version: FirmwareFormat) -> None:
def validate_onev2(fw: c.Container, allow_unsigned: bool = False) -> None:
try:
check_sig_v1(
digest_onev2(fw), fw.header.v1_key_indexes, fw.header.v1_signatures,
digest_onev2(fw),
fw.header.v1_key_indexes,
fw.header.v1_signatures,
)
except Unsigned:
if not allow_unsigned:

@ -67,11 +67,11 @@ class PinButton(QPushButton):
class PinMatrixWidget(QWidget):
"""
Displays widget with nine blank buttons and password box.
Encodes button clicks into sequence of numbers for passing
into PinAck messages of Trezor.
Displays widget with nine blank buttons and password box.
Encodes button clicks into sequence of numbers for passing
into PinAck messages of Trezor.
show_strength=True may be useful for entering new PIN
show_strength=True may be useful for entering new PIN
"""
def __init__(self, show_strength=True, parent=None):
@ -142,7 +142,7 @@ class PinMatrixWidget(QWidget):
if __name__ == "__main__":
"""
Demo application showing PinMatrix widget in action
Demo application showing PinMatrix widget in action
"""
app = QApplication(sys.argv)

@ -54,8 +54,7 @@ DEFAULT_NETWORK_PASSPHRASE = "Public Global Stellar Network ; September 2015"
def address_from_public_key(pk_bytes):
"""Returns the base32-encoded version of pk_bytes (G...)
"""
"""Returns the base32-encoded version of pk_bytes (G...)"""
final_bytes = bytearray()
# version
@ -80,8 +79,8 @@ def address_to_public_key(address_str):
def parse_transaction_bytes(tx_bytes):
"""Parses base64data into a map with the following keys:
tx - a StellarSignTx describing the transaction header
operations - an array of protobuf message objects for each operation
tx - a StellarSignTx describing the transaction header
operations - an array of protobuf message objects for each operation
"""
tx = messages.StellarSignTx()
unpacker = xdrlib.Unpacker(tx_bytes)

@ -19,7 +19,8 @@ def request_output(n, tx_hash=None):
def request_meta(tx_hash):
return messages.TxRequest(
request_type=T.TXMETA, details=messages.TxRequestDetailsType(tx_hash=tx_hash),
request_type=T.TXMETA,
details=messages.TxRequestDetailsType(tx_hash=tx_hash),
)

@ -83,7 +83,8 @@ def test_apply_auto_lock_delay_valid(client, seconds):
@pytest.mark.skip_ui
@pytest.mark.parametrize(
"seconds", [0, 1, 9, 536871, 2 ** 22],
"seconds",
[0, 1, 9, 536871, 2 ** 22],
)
def test_apply_auto_lock_delay_out_of_range(client, seconds):
with client:

@ -957,7 +957,11 @@ class TestMsgSigntx:
# Now run the attack, must trigger the exception
with pytest.raises(TrezorFailure) as exc:
btc.sign_tx(
client, "Testnet", [inp1], [out1, out2], prev_txes=TX_CACHE_TESTNET,
client,
"Testnet",
[inp1],
[out1, out2],
prev_txes=TX_CACHE_TESTNET,
)
assert exc.value.code == messages.FailureType.ProcessError

@ -299,7 +299,11 @@ def test_p2wpkh_presigned(client):
# Test with second input as pre-signed external.
with client:
_, serialized_tx = btc.sign_tx(
client, "Testnet", [inp1, inp2], [out1, out2], prev_txes=TX_CACHE_TESTNET,
client,
"Testnet",
[inp1, inp2],
[out1, out2],
prev_txes=TX_CACHE_TESTNET,
)
assert (
@ -311,7 +315,11 @@ def test_p2wpkh_presigned(client):
inp2.witness[10] ^= 1
with pytest.raises(TrezorFailure, match="Invalid signature"):
btc.sign_tx(
client, "Testnet", [inp1, inp2], [out1, out2], prev_txes=TX_CACHE_TESTNET,
client,
"Testnet",
[inp1, inp2],
[out1, out2],
prev_txes=TX_CACHE_TESTNET,
)
@ -482,7 +490,11 @@ def test_p2wpkh_with_proof(client):
]
)
_, serialized_tx = btc.sign_tx(
client, "Testnet", [inp1, inp2], [out1, out2], prev_txes=TX_CACHE_TESTNET,
client,
"Testnet",
[inp1, inp2],
[out1, out2],
prev_txes=TX_CACHE_TESTNET,
)
assert (
@ -494,7 +506,11 @@ def test_p2wpkh_with_proof(client):
inp1.ownership_proof[10] ^= 1
with pytest.raises(TrezorFailure, match="Invalid signature"):
btc.sign_tx(
client, "Testnet", [inp1, inp2], [out1, out2], prev_txes=TX_CACHE_TESTNET,
client,
"Testnet",
[inp1, inp2],
[out1, out2],
prev_txes=TX_CACHE_TESTNET,
)
@ -551,5 +567,9 @@ def test_p2wpkh_with_false_proof(client):
with pytest.raises(TrezorFailure, match="Invalid external input"):
btc.sign_tx(
client, "Testnet", [inp1, inp2], [out1], prev_txes=TX_CACHE_TESTNET,
client,
"Testnet",
[inp1, inp2],
[out1],
prev_txes=TX_CACHE_TESTNET,
)

@ -408,7 +408,11 @@ class TestMsgSigntxSegwit:
# "Fee over threshold" warning is displayed - fee is the whole TRUE_AMOUNT
client.set_expected_responses(expected_responses)
btc.sign_tx(
client, "Testnet", [inp1, inp2], [out1], prev_txes=TX_API,
client,
"Testnet",
[inp1, inp2],
[out1],
prev_txes=TX_API,
)
# In Phase 1 make the user confirm a lower value of the segwit input.
@ -427,7 +431,11 @@ class TestMsgSigntxSegwit:
with pytest.raises(TrezorFailure) as e, client:
client.set_expected_responses(expected_responses)
btc.sign_tx(
client, "Testnet", [inp1, inp2], [out1], prev_txes=TX_API,
client,
"Testnet",
[inp1, inp2],
[out1],
prev_txes=TX_API,
)
assert e.value.failure.message.endswith("Invalid amount specified")

@ -159,7 +159,12 @@ class TestMsgSigntxZcash:
with pytest.raises(TrezorFailure, match="Version group ID must be set."):
btc.sign_tx(
client, "Zcash Testnet", [inp1], [out1], version=4, prev_txes=TX_API,
client,
"Zcash Testnet",
[inp1],
[out1],
version=4,
prev_txes=TX_API,
)
def test_spend_old_versions(self, client):

@ -83,7 +83,10 @@ class EmulatorWrapper:
if gen == "legacy":
self.emulator = LegacyEmulator(
executable, self.profile_dir.name, storage=storage, headless=True,
executable,
self.profile_dir.name,
storage=storage,
headless=True,
)
elif gen == "core":
self.emulator = CoreEmulator(

@ -178,7 +178,11 @@ def create_reports():
"Folder does not exist, has it been recorded?", current_screens
)
diff(
master_screens, current_screens, test_name, master_hash, current_hash,
master_screens,
current_screens,
test_name,
master_hash,
current_hash,
)

@ -46,7 +46,9 @@ def emulator(gen, tag):
with EmulatorWrapper(gen, tag) as emu:
# set up a passphrase-protected device
device.reset(
emu.client, pin_protection=False, skip_backup=True,
emu.client,
pin_protection=False,
skip_backup=True,
)
resp = emu.client.call(
ApplySettingsCompat(use_passphrase=True, passphrase_source=SOURCE_HOST)

Loading…
Cancel
Save