From bd6a17011c369bcb82286b88c85a5b6dff8a1af0 Mon Sep 17 00:00:00 2001 From: mhh Date: Mon, 28 Aug 2023 22:51:09 +0200 Subject: [PATCH] fix missing sign_raw() on LedgerETHAccount --- src/aleph/sdk/wallets/ledger/ethereum.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/aleph/sdk/wallets/ledger/ethereum.py b/src/aleph/sdk/wallets/ledger/ethereum.py index 392a68d4..2ecdc5d3 100644 --- a/src/aleph/sdk/wallets/ledger/ethereum.py +++ b/src/aleph/sdk/wallets/ledger/ethereum.py @@ -9,7 +9,7 @@ from ledgereth.messages import sign_message from ledgereth.objects import LedgerAccount, SignedMessage -from ...chains.common import BaseAccount, get_verification_buffer +from ...chains.common import BaseAccount, bytes_from_hex, get_verification_buffer class LedgerETHAccount(BaseAccount): @@ -74,6 +74,12 @@ async def sign_message(self, message: Dict) -> Dict: message["signature"] = signature return message + async def sign_raw(self, buffer: bytes) -> bytes: + """Sign a raw buffer.""" + sig: SignedMessage = sign_message(buffer, dongle=self._device) + signature: HexStr = sig.signature + return bytes_from_hex(signature) + def get_address(self) -> str: return self._account.address