From 2bb1157812c9832a3973491a37a0b6350ab56aea Mon Sep 17 00:00:00 2001 From: feltroidprime <96737978+feltroidprime@users.noreply.github.com> Date: Thu, 27 Nov 2025 21:03:28 +0100 Subject: [PATCH] Update REGEX_PATTERN and range check in NumberAsHex to support negative hex values --- starknet_py/net/schemas/common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/starknet_py/net/schemas/common.py b/starknet_py/net/schemas/common.py index 7f296a847..5cb3c04a0 100644 --- a/starknet_py/net/schemas/common.py +++ b/starknet_py/net/schemas/common.py @@ -41,7 +41,7 @@ class NumberAsHex(fields.Field): """ MAX_VALUE = sys.maxsize - REGEX_PATTERN = r"^0x[a-fA-F0-9]+$" + REGEX_PATTERN = r"^-?0x[a-fA-F0-9]+$" def _serialize(self, value: Any, attr: Optional[str], obj: Any, **kwargs): if self._is_int_and_in_range(value): @@ -72,7 +72,7 @@ def _deserialize( ) def _is_int_and_in_range(self, value: Any) -> bool: - return isinstance(value, int) and 0 <= value < self.MAX_VALUE + return isinstance(value, int) and -self.MAX_VALUE < value < self.MAX_VALUE def _is_str_and_valid_pattern(self, value: Any) -> bool: return (