From 180ae82b7b233eef31363c79fe532967fa1c4cce Mon Sep 17 00:00:00 2001 From: Kieran Prasch Date: Thu, 17 Sep 2020 10:58:06 -0700 Subject: [PATCH] Responds to RFCs in PR #2262 --- nucypher/blockchain/eth/signers/hardware.py | 10 ++++++---- nucypher/blockchain/eth/signers/software.py | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/nucypher/blockchain/eth/signers/hardware.py b/nucypher/blockchain/eth/signers/hardware.py index 4ec06ccf2..1d777c674 100644 --- a/nucypher/blockchain/eth/signers/hardware.py +++ b/nucypher/blockchain/eth/signers/hardware.py @@ -171,15 +171,17 @@ class TrezorSigner(Signer): return list(self.__addresses.keys()) @handle_trezor_call - def sign_message(self, message: bytes, checksum_address: str) -> Signer.SignedMessage: + def sign_message(self, message: bytes, checksum_address: str) -> HexBytes: """ Signs a message via the TREZOR ethereum sign_message API and returns a named tuple containing the signature and the address used to sign it. This method requires interaction between the TREZOR and the user. """ - hd_path = self.__get_address_path(checksum_address=checksum_address) - signed_message = trezorlib.ethereum.sign_message(self.__client, hd_path, message) - return self.SignedMessage(signed_message.signature, signed_message.address) + # TODO: #2262 Implement Trezor Message Signing + # hd_path = self.__get_address_path(checksum_address=checksum_address) + # signed_message = trezorlib.ethereum.sign_message(self.__client, hd_path, message) + # return self.SignedMessage(signed_message.signature, signed_message.address) + raise NotImplementedError # TODO: #2261 return a Signer.SignedMessage instead def sign_transaction(self, transaction_dict: dict, diff --git a/nucypher/blockchain/eth/signers/software.py b/nucypher/blockchain/eth/signers/software.py index e4f48262e..7d284066a 100644 --- a/nucypher/blockchain/eth/signers/software.py +++ b/nucypher/blockchain/eth/signers/software.py @@ -93,7 +93,7 @@ class Web3Signer(Signer): @validate_checksum_address def sign_message(self, account: str, message: bytes, **kwargs) -> HexBytes: signature = self.__client.sign_message(account=account, message=message) - return HexBytes(signature) + return HexBytes(signature) # TODO: #2261 return a Signer.SignedMessage instead def sign_transaction(self, transaction_dict: dict) -> HexBytes: signed_raw_transaction = self.__client.sign_transaction(transaction_dict=transaction_dict) @@ -202,7 +202,7 @@ class ClefSigner(Signer): raise NotImplementedError signed_data = self.__ipc_request("account_signData", content_type, account, data) - return HexBytes(signed_data) + return HexBytes(signed_data) # TODO: #2261 return a Signer.SignedMessage instead def sign_data_for_validator(self, account: str, message: bytes, validator_address: str): signature = self.sign_message(account=account, @@ -391,4 +391,4 @@ class KeystoreSigner(Signer): def sign_message(self, account: str, message: bytes, **kwargs) -> HexBytes: signer = self.__get_signer(account=account) signature = signer.sign_message(signable_message=encode_defunct(primitive=message)).signature - return signature + return signature # TODO: #2261 return a Signer.SignedMessage instead