Skip to content

Commit 08d1cea

Browse files
Fix l1_address deserialization in L2toL1MessageSchema (#1435)
* Add `ETHAddress` field * Revert "Add `ETHAddress` field" This reverts commit 0046dc9. * Add `ETHAddress` field * Update starknet_py/net/schemas/common.py Co-authored-by: ddoktorski <45050160+ddoktorski@users.noreply.github.com> * Update starknet_py/net/schemas/common.py Co-authored-by: ddoktorski <45050160+ddoktorski@users.noreply.github.com> * Fix imports --------- Co-authored-by: ddoktorski <45050160+ddoktorski@users.noreply.github.com>
1 parent f3e2056 commit 08d1cea

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

starknet_py/net/schemas/common.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,15 @@ class Felt(NumberAsHex):
8989
REGEX_PATTERN = r"^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,62})$"
9090

9191

92+
class EthAddress(NumberAsHex):
93+
"""
94+
Field used to serialize and deserialize ETH address type.
95+
"""
96+
97+
MAX_VALUE = 2**160
98+
REGEX_PATTERN = r"^0x[a-fA-F0-9]{40}$"
99+
100+
92101
class Uint64(NumberAsHex):
93102
"""
94103
Field used to serialize and deserialize RPC u64 type.

starknet_py/net/schemas/rpc/transactions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
)
2828
from starknet_py.net.schemas.common import (
2929
DAModeField,
30+
EthAddress,
3031
ExecutionStatusField,
3132
Felt,
3233
FinalityStatusField,
@@ -45,7 +46,7 @@
4546

4647
class L2toL1MessageSchema(Schema):
4748
l2_address = Felt(data_key="from_address", required=True)
48-
l1_address = Felt(data_key="to_address", required=True)
49+
l1_address = EthAddress(data_key="to_address", required=True)
4950
payload = fields.List(Felt(), data_key="payload", required=True)
5051

5152
@post_load

0 commit comments

Comments
 (0)