Skip to content

Commit 2ceb3a7

Browse files
authored
fix(Account): allow signing EIP712 messages (#29)
1 parent a5878c6 commit 2ceb3a7

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

ape_aws/accounts.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from ape.api import AccountAPI, AccountContainerAPI, TransactionAPI
55
from ape.logging import logger
66
from ape.types import AddressType, MessageSignature, SignableMessage, TransactionSignature
7+
from eip712 import EIP712Message
78
from eth_account._utils.legacy_transactions import serializable_unsigned_transaction_from_dict
89
from eth_account.messages import _hash_eip191_message, encode_defunct
910
from eth_pydantic_types import HexBytes
@@ -74,6 +75,10 @@ def sign_raw_msghash(self, msghash: HexBytes | Hash32) -> Optional[MessageSignat
7475
def sign_message(self, msg: Any, **signer_options) -> Optional[MessageSignature]:
7576
if isinstance(msg, SignableMessage):
7677
message = msg
78+
79+
elif isinstance(msg, EIP712Message):
80+
message = msg.signable_message
81+
7782
elif isinstance(msg, str):
7883
if msg.startswith("0x"):
7984
message = encode_defunct(hexstr=msg)

0 commit comments

Comments
 (0)