1- from starknet_py .hash .address import compute_address
1+ import pytest
2+
3+ from starknet_py .hash .address import (
4+ compute_address ,
5+ get_checksum_address ,
6+ is_checksum_address ,
7+ )
28
39
410def test_compute_address ():
@@ -22,3 +28,46 @@ def test_compute_address_with_deployer_address():
2228 )
2329 == 3179899882984850239687045389724311807765146621017486664543269641150383510696
2430 )
31+
32+
33+ @pytest .mark .parametrize (
34+ "address, checksum_address" ,
35+ [
36+ (
37+ "0x2fd23d9182193775423497fc0c472e156c57c69e4089a1967fb288a2d84e914" ,
38+ "0x02Fd23d9182193775423497fc0c472E156C57C69E4089A1967fb288A2d84e914" ,
39+ ),
40+ (
41+ "0x00abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefab" ,
42+ "0x00AbcDefaBcdefabCDEfAbCDEfAbcdEFAbCDEfabCDefaBCdEFaBcDeFaBcDefAb" ,
43+ ),
44+ (
45+ "0xfedcbafedcbafedcbafedcbafedcbafedcbafedcbafedcbafedcbafedcbafe" ,
46+ "0x00fEdCBafEdcbafEDCbAFedCBAFeDCbafEdCBAfeDcbaFeDCbAfEDCbAfeDcbAFE" ,
47+ ),
48+ ("0xa" , "0x000000000000000000000000000000000000000000000000000000000000000A" ),
49+ (
50+ "0x0" ,
51+ "0x0000000000000000000000000000000000000000000000000000000000000000" ,
52+ ),
53+ ],
54+ )
55+ def test_get_checksum_address (address , checksum_address ):
56+ assert get_checksum_address (address ) == checksum_address
57+
58+
59+ @pytest .mark .parametrize ("address" , ["" , "0xx" , "0123" ])
60+ def test_get_checksum_address_raises_on_invalid_address (address ):
61+ with pytest .raises (ValueError ):
62+ get_checksum_address (address )
63+
64+
65+ @pytest .mark .parametrize (
66+ "address, is_checksum" ,
67+ [
68+ ("0x02Fd23d9182193775423497fc0c472E156C57C69E4089A1967fb288A2d84e914" , True ),
69+ ("0x000000000000000000000000000000000000000000000000000000000000000a" , False ),
70+ ],
71+ )
72+ def test_is_checksum_address (address , is_checksum ):
73+ assert is_checksum_address (address ) == is_checksum
0 commit comments