Skip to content

Commit 7aade07

Browse files
committed
fix(Account): handle ledgereth errors better
1 parent 7120bf3 commit 7aade07

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

ape_ledger/accounts.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from eth_account.messages import SignableMessage, encode_defunct
1212
from eth_pydantic_types import HexBytes
1313
from eth_utils import is_0x_prefixed, to_bytes
14+
from ledgereth.exceptions import LedgerError
1415

1516
from ape_ledger.client import LedgerDeviceClient, get_device
1617
from ape_ledger.exceptions import LedgerSigningError
@@ -153,10 +154,18 @@ def sign_message(self, msg: Any, **signer_options) -> Optional[MessageSignature]
153154
if use_eip712:
154155
header = HexBytes(msg_to_sign.header)
155156
body = HexBytes(msg_to_sign.body)
156-
signed_msg = self._client.sign_typed_data(header, body)
157+
try:
158+
signed_msg = self._client.sign_typed_data(header, body)
159+
160+
except LedgerError:
161+
return None
157162

158163
else:
159-
signed_msg = self._client.sign_message(msg_to_sign.body)
164+
try:
165+
signed_msg = self._client.sign_message(msg_to_sign.body)
166+
167+
except LedgerError:
168+
return None
160169

161170
v, r, s = signed_msg
162171
return MessageSignature(v=v, r=HexBytes(r), s=HexBytes(s))

0 commit comments

Comments
 (0)