genlayer-test 0.1.0b5__tar.gz → 0.1.0b6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/PKG-INFO +1 -1
  2. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/genlayer_test.egg-info/PKG-INFO +1 -1
  3. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/glchain/contract.py +37 -5
  4. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/pyproject.toml +1 -1
  5. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/LICENSE +0 -0
  6. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/README.md +0 -0
  7. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/genlayer_test.egg-info/SOURCES.txt +0 -0
  8. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/genlayer_test.egg-info/dependency_links.txt +0 -0
  9. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/genlayer_test.egg-info/entry_points.txt +0 -0
  10. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/genlayer_test.egg-info/requires.txt +0 -0
  11. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/genlayer_test.egg-info/top_level.txt +0 -0
  12. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/__init__.py +0 -0
  13. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/artifacts/__init__.py +0 -0
  14. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/artifacts/contract.py +0 -0
  15. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/assertions.py +0 -0
  16. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/exceptions.py +0 -0
  17. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/glchain/__init__.py +0 -0
  18. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/glchain/account.py +0 -0
  19. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/glchain/client.py +0 -0
  20. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/helpers/__init__.py +0 -0
  21. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/helpers/fixture_snapshot.py +0 -0
  22. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/helpers/take_snapshot.py +0 -0
  23. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/plugin_config.py +0 -0
  24. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/plugin_hooks.py +0 -0
  25. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest/types.py +0 -0
  26. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/gltest_cli/main.py +0 -0
  27. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/setup.cfg +0 -0
  28. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/tests/conftest.py +0 -0
  29. {genlayer_test-0.1.0b5 → genlayer_test-0.1.0b6}/tests/test_plugin_hooks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: genlayer-test
3
- Version: 0.1.0b5
3
+ Version: 0.1.0b6
4
4
  Summary: GenLayer Testing Suite
5
5
  Author: GenLayer
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: genlayer-test
3
- Version: 0.1.0b5
3
+ Version: 0.1.0b6
4
4
  Summary: GenLayer Testing Suite
5
5
  Author: GenLayer
6
6
  License-Expression: MIT
@@ -1,10 +1,15 @@
1
+ from eth_typing import (
2
+ Address,
3
+ ChecksumAddress,
4
+ )
5
+ from eth_account.signers.local import LocalAccount
6
+ from typing import Union
1
7
  from dataclasses import dataclass
2
8
  from gltest.artifacts import find_contract_definition
3
9
  from gltest.assertions import tx_execution_failed
4
10
  from gltest.exceptions import DeploymentError
5
11
  from .client import get_gl_client
6
12
  from gltest.types import CalldataEncodable, GenLayerTransaction, TransactionStatus
7
- from eth_account.signers.local import LocalAccount
8
13
  from typing import List, Any, Type, Optional, Dict, Callable
9
14
  import types
10
15
  from gltest.plugin_config import get_default_wait_interval, get_default_wait_retries
@@ -89,14 +94,18 @@ class Contract:
89
94
  consensus_max_rotations: Optional[int] = None,
90
95
  leader_only: bool = False,
91
96
  wait_transaction_status: TransactionStatus = TransactionStatus.FINALIZED,
92
- wait_interval: int = get_default_wait_interval(),
93
- wait_retries: int = get_default_wait_retries(),
97
+ wait_interval: Optional[int] = None,
98
+ wait_retries: Optional[int] = None,
94
99
  wait_triggered_transactions: bool = True,
95
100
  wait_triggered_transactions_status: TransactionStatus = TransactionStatus.ACCEPTED,
96
101
  ) -> GenLayerTransaction:
97
102
  """
98
103
  Wrapper to the contract write method.
99
104
  """
105
+ if wait_interval is None:
106
+ wait_interval = get_default_wait_interval()
107
+ if wait_retries is None:
108
+ wait_retries = get_default_wait_retries()
100
109
  client = get_gl_client()
101
110
  tx_hash = client.write_contract(
102
111
  address=self.address,
@@ -152,19 +161,42 @@ class ContractFactory:
152
161
  contract_name=contract_name, contract_code=contract_info.contract_code
153
162
  )
154
163
 
164
+ def build_contract(
165
+ self,
166
+ contract_address: Union[Address, ChecksumAddress],
167
+ account: Optional[LocalAccount] = None,
168
+ ) -> Contract:
169
+ """
170
+ Build contract from address
171
+ """
172
+ client = get_gl_client()
173
+ try:
174
+ schema = client.get_contract_schema(address=contract_address)
175
+ return Contract.new(
176
+ address=contract_address, schema=schema, account=account
177
+ )
178
+ except Exception as e:
179
+ raise ValueError(
180
+ f"Failed to build contract {self.contract_name}: {str(e)}"
181
+ ) from e
182
+
155
183
  def deploy(
156
184
  self,
157
185
  args: List[Any] = [],
158
186
  account: Optional[LocalAccount] = None,
159
187
  consensus_max_rotations: Optional[int] = None,
160
188
  leader_only: bool = False,
161
- wait_interval: int = get_default_wait_interval(),
162
- wait_retries: int = get_default_wait_retries(),
189
+ wait_interval: Optional[int] = None,
190
+ wait_retries: Optional[int] = None,
163
191
  wait_transaction_status: TransactionStatus = TransactionStatus.FINALIZED,
164
192
  ) -> Contract:
165
193
  """
166
194
  Deploy the contract
167
195
  """
196
+ if wait_interval is None:
197
+ wait_interval = get_default_wait_interval()
198
+ if wait_retries is None:
199
+ wait_retries = get_default_wait_retries()
168
200
  client = get_gl_client()
169
201
  try:
170
202
  tx_hash = client.deploy_contract(
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "genlayer-test"
7
- version = "0.1.0b5"
7
+ version = "0.1.0b6"
8
8
  description = "GenLayer Testing Suite"
9
9
  authors = [
10
10
  { name = "GenLayer" }
File without changes