|
3 | 3 |
|
4 | 4 | from starknet_py.common import create_casm_class |
5 | 5 | from starknet_py.hash.casm_class_hash import compute_casm_class_hash |
6 | | -from starknet_py.tests.e2e.fixtures.constants import CONTRACTS_COMPILED_V2_DIR |
7 | | -from starknet_py.tests.e2e.fixtures.misc import read_contract |
| 6 | +from starknet_py.tests.e2e.fixtures.constants import PRECOMPILED_CONTRACTS_DIR |
| 7 | +from starknet_py.tests.e2e.fixtures.misc import ( |
| 8 | + ContractVersion, |
| 9 | + load_contract, |
| 10 | + read_contract, |
| 11 | +) |
8 | 12 |
|
9 | 13 |
|
| 14 | +@pytest.mark.parametrize( |
| 15 | + "contract, expected_casm_class_hash", |
| 16 | + [ |
| 17 | + ("Account", 0x108977ab61715437fc7097b6499b3cf9491361eb6a8ce6df6c8536b7feec508), |
| 18 | + ("ERC20", 0x5adc857416202a5902c01168542e188c3aa6380f57c911ae98cf20bc52be367), |
| 19 | + ("HelloStarknet", 0x6ff9f7df06da94198ee535f41b214dce0b8bafbdb45e6c6b09d4b3b693b1f17), |
| 20 | + ("TestContract", 0x2193add92c182c9236f0c156f11dc4f18d5a78fd9b763a3c0f4a1d3bd8b87d4), |
| 21 | + ("TokenBridge", 0x41d26534c7ca29e212ae48acfb9f86f69a9624977c979697c15f587fa95204), |
| 22 | + ], |
| 23 | +) |
| 24 | +def test_compute_casm_class_hash(contract, expected_casm_class_hash): |
| 25 | + casm_contract_class_str = load_contract( |
| 26 | + contract, version=ContractVersion.V2 |
| 27 | + )['casm'] |
| 28 | + |
| 29 | + casm_class = create_casm_class(casm_contract_class_str) |
| 30 | + casm_class_hash = compute_casm_class_hash(casm_class) |
| 31 | + assert casm_class_hash == expected_casm_class_hash |
| 32 | + |
10 | 33 | @pytest.mark.parametrize( |
11 | 34 | "casm_contract_class_source, expected_casm_class_hash", |
12 | 35 | [ |
13 | | - ("account_compiled.casm", 0x1cf09a2ab1c531bfd02cb26a3fa9ed02986fd3bb86e6b8874072fba4e55f504), |
14 | | - ("erc20_compiled.casm", 0x6d53db94c64d3562370253db94529b99f6837cb2f3b7062e11c657be89c1dae), |
15 | | - ("hello_starknet_compiled.casm", 0x785fa5f2bacf0bfe3bc413be5820a61e1ea63f2ec27ef00331ee9f46ad07603), |
16 | | - ("minimal_contract_compiled.casm", 0x186f6c4ca3af40dbcbf3f08f828ab0ee072938aaaedccc74ef3b9840cbd9fb3), |
17 | | - ("test_contract_compiled.casm", 0x379b75c0922c68e73f6451b69e8e50b7f0745e6fa3f67ffc0b9608238eeaf45), |
18 | | - ("token_bridge_compiled.casm", 0x1d60f20e5dd449af4e6b0d63821cfa95f3469faa942caf78eba2172e2ec3468), |
19 | | - ("precompiled/starknet_contract_v2_6.casm", 0x603dd72504d8b0bc54df4f1102fdcf87fc3b2b94750a9083a5876913eec08e4), |
| 36 | + ("minimal_contract_compiled_v2_1.casm", |
| 37 | + 0x186f6c4ca3af40dbcbf3f08f828ab0ee072938aaaedccc74ef3b9840cbd9fb3), |
| 38 | + ("minimal_contract_compiled_v2_5_4.casm", |
| 39 | + 0x1d055a90aa90db474fa08a931d5e63753c6f762fa3e9597b26c8d4b003a2de6), |
| 40 | + ("starknet_contract_v2_6.casm", 0x603dd72504d8b0bc54df4f1102fdcf87fc3b2b94750a9083a5876913eec08e4), |
20 | 41 | ], |
21 | 42 | ) |
22 | | -def test_compute_casm_class_hash(casm_contract_class_source, expected_casm_class_hash): |
| 43 | +def test_precompiled_compute_casm_class_hash(casm_contract_class_source, expected_casm_class_hash): |
23 | 44 | casm_contract_class_str = read_contract( |
24 | | - casm_contract_class_source, directory=CONTRACTS_COMPILED_V2_DIR |
| 45 | + casm_contract_class_source, directory=PRECOMPILED_CONTRACTS_DIR |
25 | 46 | ) |
26 | 47 |
|
27 | 48 | casm_class = create_casm_class(casm_contract_class_str) |
28 | 49 | casm_class_hash = compute_casm_class_hash(casm_class) |
29 | | - |
30 | 50 | assert casm_class_hash == expected_casm_class_hash |
0 commit comments