Skip to content

Commit ccfeee7

Browse files
authored
Remove unnecessary cairo 0 tests (#1406)
* Remove cairo 0 dependency from 'account' fixture * Remove 'map_contract' declare test * Remove 'compute_address' tests * Remove 'test_broadcasted_txn_declare_v1' test * Remove 'test_compute_declare_transaction_hash' test * Remove 'test_sign_declare_transaction' test * Remove 'test_sign_declare_transaction_auto_estimate' test * Remove 'test_declare_compress_program' test * Remove 'test_declare_contract_raises_on_sierra_contract_without_compiled_class_hash' test * Update 'test_sign_transaction' test to DeclareV3 * Remove 'universal_deployer.cairo' code * Update 'test_compute_class_hash' test * Remove 'test_deserialize_proxy_abi' test * Remove Contract.declare_v1 from docs * Remove unused functions * Remove 'test_compute_class_hash' for cairo 0 * Update 'test_general_simplified_deployment_flow' test * Remove deprecated functionality and 'test_compute_hash' test * Update 'test_estimate_fee_declare' test * Update 'test_account_sign_without_execute' * Remove redundant test 'test_general_simplified_deployment_flow' * Update 'test_account_get_balance_strk' * Update 'test_account_get_balance_eth' * Update 'test_broadcasted_txn_invoke_v1' * Update 'test_broadcasted_txn_invoke_v3' * Remove proxy tests * Remove proxy contracts cairo code * Remove proxy fixtures * Remove precompiled cairo 0 contract * Change reason for test skipping * Rename 'cairo1_hello_starknet_deploy' fixture
1 parent 49fbb85 commit ccfeee7

29 files changed

+61
-14289
lines changed

starknet_py/abi/v0/parser_test.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -189,16 +189,6 @@ def test_missing_type_used(missing_name, input_dict):
189189
AbiParser([input_dict]).parse()
190190

191191

192-
def test_deserialize_proxy_abi():
193-
# Contains all types of ABI apart from structures
194-
abi = json.loads(
195-
read_contract("oz_proxy_abi.json", directory=CONTRACTS_COMPILED_V0_DIR)
196-
)
197-
deserialized = AbiParser(abi).parse()
198-
199-
assert deserialized == fixtures.oz_proxy_abi
200-
201-
202192
def test_deserialize_balance_struct_event_abi():
203193
# Contains all types of ABI apart from structures
204194
abi = json.loads(

starknet_py/conftest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
"starknet_py.tests.e2e.fixtures.misc",
99
"starknet_py.tests.e2e.fixtures.devnet",
1010
"starknet_py.tests.e2e.fixtures.constants",
11-
"starknet_py.tests.e2e.fixtures.proxy",
1211
"starknet_py.tests.e2e.client.fixtures.transactions",
1312
"starknet_py.tests.e2e.client.fixtures.prepare_network",
1413
"starknet_py.tests.e2e.tests_on_networks.fixtures",

starknet_py/contract.py

Lines changed: 1 addition & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
from starknet_py.common import create_compiled_contract, create_sierra_compiled_contract
2424
from starknet_py.constants import DEFAULT_DEPLOYER_ADDRESS
2525
from starknet_py.contract_utils import _extract_compiled_class_hash, _unpack_provider
26-
from starknet_py.hash.address import compute_address
27-
from starknet_py.hash.class_hash import compute_class_hash
2826
from starknet_py.hash.selector import get_selector_from_name
2927
from starknet_py.net.account.base_account import BaseAccount
3028
from starknet_py.net.client import Client
@@ -43,10 +41,7 @@
4341
serializer_for_function,
4442
)
4543
from starknet_py.serialization.factory import serializer_for_function_v1
46-
from starknet_py.utils.constructor_args_translator import (
47-
_is_abi_v2,
48-
translate_constructor_args,
49-
)
44+
from starknet_py.utils.constructor_args_translator import _is_abi_v2
5045
from starknet_py.utils.sync import add_sync_methods
5146

5247
# pylint: disable=too-many-lines
@@ -1059,48 +1054,6 @@ async def deploy_contract_v3(
10591054

10601055
return deploy_result
10611056

1062-
@staticmethod
1063-
def compute_address(
1064-
salt: int,
1065-
compiled_contract: str,
1066-
constructor_args: Optional[Union[List, Dict]] = None,
1067-
deployer_address: int = 0,
1068-
) -> int:
1069-
"""
1070-
Computes address for given Cairo 0 contract.
1071-
1072-
:param salt: int
1073-
:param compiled_contract: String containing compiled Cairo 0 contract.
1074-
:param constructor_args: A ``list`` or ``dict`` of arguments for the constructor.
1075-
:param deployer_address: Address of the deployer (if not provided default 0 is used).
1076-
1077-
:return: Contract's address.
1078-
"""
1079-
1080-
compiled = create_compiled_contract(compiled_contract)
1081-
assert compiled.abi is not None
1082-
translated_args = translate_constructor_args(
1083-
compiled.abi, constructor_args, cairo_version=0
1084-
)
1085-
return compute_address(
1086-
salt=salt,
1087-
class_hash=compute_class_hash(compiled),
1088-
constructor_calldata=translated_args,
1089-
deployer_address=deployer_address,
1090-
)
1091-
1092-
@staticmethod
1093-
def compute_contract_hash(compiled_contract: str) -> int:
1094-
"""
1095-
Computes hash for given contract.
1096-
1097-
:param compiled_contract: String containing compiled contract.
1098-
:return: Class_hash of the contract.
1099-
"""
1100-
1101-
contract_class = create_compiled_contract(compiled_contract)
1102-
return compute_class_hash(contract_class)
1103-
11041057
@classmethod
11051058
def _make_functions(
11061059
cls,

starknet_py/contract_test.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,6 @@
44
from starknet_py.net.account.base_account import BaseAccount
55

66

7-
def test_compute_hash(balance_contract):
8-
assert (
9-
Contract.compute_contract_hash(balance_contract)
10-
== 0x7A98EAB69A2592EF5D3805990A43525D633DDC42B4D5B2524C7F38B7C59265F
11-
)
12-
13-
14-
def test_compute_address(constructor_with_arguments_compiled):
15-
assert (
16-
Contract.compute_address(
17-
compiled_contract=constructor_with_arguments_compiled,
18-
constructor_args=[
19-
10,
20-
(1, (2, 3)),
21-
[1, 2, 3],
22-
{"value": 12, "nested_struct": {"value": 99}},
23-
],
24-
salt=1111,
25-
)
26-
> 0
27-
)
28-
29-
307
@pytest.mark.parametrize("param", ["_account", "class_hash", "compiled_contract"])
318
def test_declare_result_post_init(param, account):
329
kwargs = {

starknet_py/hash/class_hash_test.py

Lines changed: 0 additions & 31 deletions
This file was deleted.

starknet_py/hash/transaction_test.py

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import pytest
22

3-
from starknet_py.common import create_compiled_contract
43
from starknet_py.hash.transaction import (
54
CommonTransactionV3Fields,
65
TransactionHashPrefix,
7-
compute_declare_transaction_hash,
86
compute_declare_v2_transaction_hash,
97
compute_declare_v3_transaction_hash,
108
compute_deploy_account_transaction_hash,
@@ -14,8 +12,6 @@
1412
compute_transaction_hash,
1513
)
1614
from starknet_py.net.client_models import DAMode, ResourceBounds, ResourceBoundsMapping
17-
from starknet_py.tests.e2e.fixtures.constants import CONTRACTS_COMPILED_V0_DIR
18-
from starknet_py.tests.e2e.fixtures.misc import read_contract
1915

2016

2117
@pytest.fixture(name="default_resource_bounds")
@@ -77,22 +73,6 @@ def test_compute_deploy_account_transaction_hash(data, expected_hash):
7773
assert compute_deploy_account_transaction_hash(**data) == expected_hash
7874

7975

80-
@pytest.mark.parametrize(
81-
"contract_json, data",
82-
[
83-
("map_compiled.json", [3, 4, 5, 1, 7]),
84-
("balance_compiled.json", [23, 24, 25, 26, 27]),
85-
],
86-
)
87-
def test_compute_declare_transaction_hash(contract_json, data):
88-
contract = read_contract(contract_json, directory=CONTRACTS_COMPILED_V0_DIR)
89-
compiled_contract = create_compiled_contract(compiled_contract=contract)
90-
91-
declare_hash = compute_declare_transaction_hash(compiled_contract, *data)
92-
93-
assert declare_hash > 0
94-
95-
9676
@pytest.mark.parametrize(
9777
"data, expected_hash",
9878
(

starknet_py/net/account/account_test.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@ async def test_get_balance_default_token_address():
4040

4141

4242
@pytest.mark.asyncio
43-
async def test_account_get_balance_eth(account, map_contract):
43+
async def test_account_get_balance_eth(account, hello_starknet_contract):
4444
balance = await account.get_balance()
4545
block = await account.client.get_block(block_number="latest")
4646

47-
await map_contract.functions["put"].invoke_v1(key=10, value=10, max_fee=MAX_FEE)
48-
47+
await hello_starknet_contract.functions["increase_balance"].invoke_v1(
48+
amount=10, max_fee=MAX_FEE
49+
)
4950
new_balance = await account.get_balance()
5051
old_balance = await account.get_balance(block_number=block.block_number)
5152

@@ -55,12 +56,12 @@ async def test_account_get_balance_eth(account, map_contract):
5556

5657

5758
@pytest.mark.asyncio
58-
async def test_account_get_balance_strk(account, map_contract):
59+
async def test_account_get_balance_strk(account, hello_starknet_contract):
5960
balance = await account.get_balance(token_address=STRK_FEE_CONTRACT_ADDRESS)
6061
block = await account.client.get_block(block_number="latest")
6162

62-
await map_contract.functions["put"].invoke_v3(
63-
key=10, value=10, l1_resource_bounds=MAX_RESOURCE_BOUNDS_L1
63+
await hello_starknet_contract.functions["increase_balance"].invoke_v3(
64+
amount=10, l1_resource_bounds=MAX_RESOURCE_BOUNDS_L1
6465
)
6566

6667
new_balance = await account.get_balance(token_address=STRK_FEE_CONTRACT_ADDRESS)

starknet_py/net/client_test.py

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from starknet_py.net.full_node_client import _to_storage_key
1717
from starknet_py.net.http_client import RpcHttpClient, ServerError
1818
from starknet_py.net.models.transaction import (
19-
DeclareV1,
2019
DeclareV2,
2120
DeclareV3,
2221
DeployAccountV1,
@@ -128,24 +127,13 @@ async def test_broadcasted_txn_declare_v2(
128127

129128

130129
@pytest.mark.asyncio
131-
async def test_broadcasted_txn_declare_v1(account, map_compiled_contract):
132-
declare_v1 = await account.sign_declare_v1(
133-
compiled_contract=map_compiled_contract,
134-
max_fee=MAX_FEE,
135-
)
136-
137-
brodcasted_txn = _create_broadcasted_txn(declare_v1)
138-
139-
assert brodcasted_txn["type"] == TransactionType.DECLARE.name
140-
141-
expected_keys = dataclasses.fields(DeclareV1)
142-
assert all(key.name in brodcasted_txn for key in expected_keys)
143-
144-
145-
@pytest.mark.asyncio
146-
async def test_broadcasted_txn_invoke_v3(account, map_contract):
130+
async def test_broadcasted_txn_invoke_v3(account, hello_starknet_contract):
147131
invoke_tx = await account.sign_invoke_v3(
148-
calls=Call(map_contract.address, get_selector_from_name("put"), [3, 4]),
132+
calls=Call(
133+
hello_starknet_contract.address,
134+
get_selector_from_name("increaseBalance"),
135+
[10],
136+
),
149137
l1_resource_bounds=MAX_RESOURCE_BOUNDS_L1,
150138
)
151139

@@ -158,9 +146,13 @@ async def test_broadcasted_txn_invoke_v3(account, map_contract):
158146

159147

160148
@pytest.mark.asyncio
161-
async def test_broadcasted_txn_invoke_v1(account, map_contract):
149+
async def test_broadcasted_txn_invoke_v1(account, hello_starknet_contract):
162150
invoke_tx = await account.sign_invoke_v1(
163-
calls=Call(map_contract.address, get_selector_from_name("put"), [3, 4]),
151+
calls=Call(
152+
hello_starknet_contract.address,
153+
get_selector_from_name("increaseBalance"),
154+
[10],
155+
),
164156
max_fee=int(1e16),
165157
)
166158

starknet_py/net/models/transaction_test.py

Lines changed: 0 additions & 31 deletions
This file was deleted.

starknet_py/net/signer/test_stark_curve_signer.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
import pytest
22

3-
from starknet_py.common import create_compiled_contract
3+
from starknet_py.common import create_sierra_compiled_contract
44
from starknet_py.net.models import StarknetChainId
5-
from starknet_py.net.models.transaction import DeclareV1, DeployAccountV1, InvokeV1
5+
from starknet_py.net.models.transaction import DeclareV3, DeployAccountV1, InvokeV1
66
from starknet_py.net.signer.stark_curve_signer import KeyPair, StarkCurveSigner
7-
from starknet_py.tests.e2e.fixtures.constants import CONTRACTS_COMPILED_V0_DIR
8-
from starknet_py.tests.e2e.fixtures.misc import read_contract
7+
from starknet_py.tests.e2e.fixtures.constants import MAX_RESOURCE_BOUNDS
8+
from starknet_py.tests.e2e.fixtures.misc import load_contract
99

10-
compiled_contract = read_contract(
11-
"erc20_compiled.json", directory=CONTRACTS_COMPILED_V0_DIR
12-
)
10+
compiled_contract = load_contract("HelloStarknet")["sierra"]
11+
sierra_contract_class = create_sierra_compiled_contract(compiled_contract)
1312

1413

1514
@pytest.mark.parametrize(
@@ -32,15 +31,14 @@
3231
nonce=23,
3332
version=1,
3433
),
35-
DeclareV1(
36-
contract_class=create_compiled_contract(
37-
compiled_contract=compiled_contract
38-
),
39-
sender_address=123,
40-
max_fee=10000,
34+
DeclareV3(
35+
contract_class=sierra_contract_class,
36+
compiled_class_hash=0x1,
37+
sender_address=0x123,
4138
signature=[],
42-
nonce=23,
43-
version=1,
39+
nonce=4,
40+
version=3,
41+
resource_bounds=MAX_RESOURCE_BOUNDS,
4442
),
4543
],
4644
)

0 commit comments

Comments
 (0)