From 3757a7aca8b08c2efbe5338549eccade804a32b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ux=C3=ADo?= Date: Mon, 11 Mar 2024 12:23:07 +0100 Subject: [PATCH] Organize UserOperation data types (#819) * Add missing address to the mock * Make paymaster data return optional --- gnosis/eth/account_abstraction/user_operation.py | 5 +++-- gnosis/eth/tests/mocks/mock_bundler.py | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gnosis/eth/account_abstraction/user_operation.py b/gnosis/eth/account_abstraction/user_operation.py index 2a0c962dd..4e009f003 100644 --- a/gnosis/eth/account_abstraction/user_operation.py +++ b/gnosis/eth/account_abstraction/user_operation.py @@ -77,8 +77,9 @@ def paymaster(self) -> Optional[ChecksumAddress]: return None @cached_property - def paymaster_data(self) -> bytes: - return self.paymaster_and_data[:20] + def paymaster_data(self) -> Optional[bytes]: + result = self.paymaster_and_data[:20] + return result if result else None def calculate_user_operation_hash(self, chain_id: int) -> bytes: hash_init_code = fast_keccak(self.init_code) diff --git a/gnosis/eth/tests/mocks/mock_bundler.py b/gnosis/eth/tests/mocks/mock_bundler.py index b8f1c8d34..7bd9f4472 100644 --- a/gnosis/eth/tests/mocks/mock_bundler.py +++ b/gnosis/eth/tests/mocks/mock_bundler.py @@ -1,6 +1,10 @@ +from eth_typing import ChecksumAddress, HexAddress, HexStr from hexbytes import HexBytes # Module address and chainId used for the following mocks +safe_4337_address = ChecksumAddress( + HexStr(HexAddress("0xB0B5c0578Aa134b0496a6C0e51A7aae47C522861")) +) safe_4337_user_operation_hash_mock = HexBytes( "0x39b3e2171c04539d9b3f848d04364dfaa42cc0b412ff65ce2a85c566cf8bf281" )