algokit-utils 2.2.2b4__py3-none-any.whl → 2.3.0b1__py3-none-any.whl
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.
Potentially problematic release.
This version of algokit-utils might be problematic. Click here for more details.
- algokit_utils/application_client.py +18 -11
- algokit_utils/beta/account_manager.py +200 -0
- algokit_utils/beta/algorand_client.py +319 -0
- algokit_utils/beta/client_manager.py +78 -0
- algokit_utils/beta/composer.py +716 -0
- algokit_utils/deploy.py +20 -6
- algokit_utils/models.py +107 -5
- algokit_utils/network_clients.py +17 -0
- {algokit_utils-2.2.2b4.dist-info → algokit_utils-2.3.0b1.dist-info}/METADATA +1 -1
- {algokit_utils-2.2.2b4.dist-info → algokit_utils-2.3.0b1.dist-info}/RECORD +12 -8
- {algokit_utils-2.2.2b4.dist-info → algokit_utils-2.3.0b1.dist-info}/LICENSE +0 -0
- {algokit_utils-2.2.2b4.dist-info → algokit_utils-2.3.0b1.dist-info}/WHEEL +0 -0
algokit_utils/deploy.py
CHANGED
|
@@ -23,6 +23,7 @@ from algokit_utils.models import (
|
|
|
23
23
|
ABIMethod,
|
|
24
24
|
Account,
|
|
25
25
|
CreateCallParameters,
|
|
26
|
+
TransactionParameters,
|
|
26
27
|
TransactionResponse,
|
|
27
28
|
)
|
|
28
29
|
|
|
@@ -724,7 +725,7 @@ class Deployer:
|
|
|
724
725
|
def _create_app(self) -> DeployResponse:
|
|
725
726
|
assert self.app_client.existing_deployments
|
|
726
727
|
|
|
727
|
-
method, abi_args, parameters =
|
|
728
|
+
method, abi_args, parameters = _convert_create_deploy_args(
|
|
728
729
|
self.create_args, self.new_app_metadata, self.signer, self.sender
|
|
729
730
|
)
|
|
730
731
|
create_response = self.app_client.create(
|
|
@@ -751,7 +752,7 @@ class Deployer:
|
|
|
751
752
|
f"{self.new_app_metadata.name} ({self.new_app_metadata.version}) in {self.creator} account."
|
|
752
753
|
)
|
|
753
754
|
atc = AtomicTransactionComposer()
|
|
754
|
-
create_method, create_abi_args, create_parameters =
|
|
755
|
+
create_method, create_abi_args, create_parameters = _convert_create_deploy_args(
|
|
755
756
|
self.create_args, self.new_app_metadata, self.signer, self.sender
|
|
756
757
|
)
|
|
757
758
|
self.app_client.compose_create(
|
|
@@ -850,11 +851,10 @@ def _convert_deploy_args(
|
|
|
850
851
|
note: AppDeployMetaData,
|
|
851
852
|
signer: TransactionSigner | None,
|
|
852
853
|
sender: str | None,
|
|
853
|
-
) -> tuple[ABIMethod | bool | None, ABIArgsDict,
|
|
854
|
+
) -> tuple[ABIMethod | bool | None, ABIArgsDict, TransactionParameters]:
|
|
854
855
|
args = _args.__dict__ if isinstance(_args, DeployCallArgs) else (_args or {})
|
|
855
856
|
|
|
856
|
-
|
|
857
|
-
parameters = CreateCallParameters(
|
|
857
|
+
parameters = TransactionParameters(
|
|
858
858
|
note=note.encode(),
|
|
859
859
|
signer=signer,
|
|
860
860
|
sender=sender,
|
|
@@ -865,11 +865,25 @@ def _convert_deploy_args(
|
|
|
865
865
|
foreign_apps=args.get("foreign_apps"),
|
|
866
866
|
boxes=args.get("boxes"),
|
|
867
867
|
rekey_to=args.get("rekey_to"),
|
|
868
|
+
)
|
|
869
|
+
|
|
870
|
+
return args.get("method"), args.get("args") or {}, parameters
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
def _convert_create_deploy_args(
|
|
874
|
+
_args: DeployCallArgs | DeployCallArgsDict | None,
|
|
875
|
+
note: AppDeployMetaData,
|
|
876
|
+
signer: TransactionSigner | None,
|
|
877
|
+
sender: str | None,
|
|
878
|
+
) -> tuple[ABIMethod | bool | None, ABIArgsDict, CreateCallParameters]:
|
|
879
|
+
method, args, parameters = _convert_deploy_args(_args, note, signer, sender)
|
|
880
|
+
create_parameters = CreateCallParameters(
|
|
881
|
+
**parameters.__dict__,
|
|
868
882
|
extra_pages=args.get("extra_pages"),
|
|
869
883
|
on_complete=args.get("on_complete"),
|
|
870
884
|
)
|
|
871
885
|
|
|
872
|
-
return
|
|
886
|
+
return method, args, create_parameters
|
|
873
887
|
|
|
874
888
|
|
|
875
889
|
def get_app_id_from_tx_id(algod_client: "AlgodClient", tx_id: str) -> int:
|
algokit_utils/models.py
CHANGED
|
@@ -155,25 +155,86 @@ class TransactionParameters:
|
|
|
155
155
|
|
|
156
156
|
# CreateTransactionParameters is used by algokit-client-generator clients
|
|
157
157
|
@dataclasses.dataclass(kw_only=True)
|
|
158
|
-
class CreateTransactionParameters
|
|
158
|
+
class CreateTransactionParameters:
|
|
159
159
|
"""Additional parameters that can be included in a transaction when calling a create method"""
|
|
160
160
|
|
|
161
|
+
signer: TransactionSigner | None = None
|
|
162
|
+
"""Signer to use when signing this transaction"""
|
|
163
|
+
sender: str | None = None
|
|
164
|
+
"""Sender of this transaction"""
|
|
165
|
+
suggested_params: transaction.SuggestedParams | None = None
|
|
166
|
+
"""SuggestedParams to use for this transaction"""
|
|
167
|
+
note: bytes | str | None = None
|
|
168
|
+
"""Note for this transaction"""
|
|
169
|
+
lease: bytes | str | None = None
|
|
170
|
+
"""Lease value for this transaction"""
|
|
171
|
+
boxes: Sequence[tuple[int, bytes | bytearray | str | int]] | None = None
|
|
172
|
+
"""Box references to include in transaction. A sequence of (app id, box key) tuples"""
|
|
173
|
+
accounts: list[str] | None = None
|
|
174
|
+
"""Accounts to include in transaction"""
|
|
175
|
+
foreign_apps: list[int] | None = None
|
|
176
|
+
"""List of foreign apps (by app id) to include in transaction"""
|
|
177
|
+
foreign_assets: list[int] | None = None
|
|
178
|
+
"""List of foreign assets (by asset id) to include in transaction"""
|
|
179
|
+
rekey_to: str | None = None
|
|
180
|
+
"""Address to rekey to"""
|
|
161
181
|
extra_pages: int | None = None
|
|
162
182
|
|
|
163
183
|
|
|
164
184
|
@dataclasses.dataclass(kw_only=True)
|
|
165
|
-
class OnCompleteCallParameters
|
|
185
|
+
class OnCompleteCallParameters:
|
|
166
186
|
"""Additional parameters that can be included in a transaction when using the
|
|
167
187
|
ApplicationClient.call/compose_call methods"""
|
|
168
188
|
|
|
189
|
+
signer: TransactionSigner | None = None
|
|
190
|
+
"""Signer to use when signing this transaction"""
|
|
191
|
+
sender: str | None = None
|
|
192
|
+
"""Sender of this transaction"""
|
|
193
|
+
suggested_params: transaction.SuggestedParams | None = None
|
|
194
|
+
"""SuggestedParams to use for this transaction"""
|
|
195
|
+
note: bytes | str | None = None
|
|
196
|
+
"""Note for this transaction"""
|
|
197
|
+
lease: bytes | str | None = None
|
|
198
|
+
"""Lease value for this transaction"""
|
|
199
|
+
boxes: Sequence[tuple[int, bytes | bytearray | str | int]] | None = None
|
|
200
|
+
"""Box references to include in transaction. A sequence of (app id, box key) tuples"""
|
|
201
|
+
accounts: list[str] | None = None
|
|
202
|
+
"""Accounts to include in transaction"""
|
|
203
|
+
foreign_apps: list[int] | None = None
|
|
204
|
+
"""List of foreign apps (by app id) to include in transaction"""
|
|
205
|
+
foreign_assets: list[int] | None = None
|
|
206
|
+
"""List of foreign assets (by asset id) to include in transaction"""
|
|
207
|
+
rekey_to: str | None = None
|
|
208
|
+
"""Address to rekey to"""
|
|
169
209
|
on_complete: transaction.OnComplete | None = None
|
|
170
210
|
|
|
171
211
|
|
|
172
212
|
@dataclasses.dataclass(kw_only=True)
|
|
173
|
-
class CreateCallParameters
|
|
213
|
+
class CreateCallParameters:
|
|
174
214
|
"""Additional parameters that can be included in a transaction when using the
|
|
175
215
|
ApplicationClient.create/compose_create methods"""
|
|
176
216
|
|
|
217
|
+
signer: TransactionSigner | None = None
|
|
218
|
+
"""Signer to use when signing this transaction"""
|
|
219
|
+
sender: str | None = None
|
|
220
|
+
"""Sender of this transaction"""
|
|
221
|
+
suggested_params: transaction.SuggestedParams | None = None
|
|
222
|
+
"""SuggestedParams to use for this transaction"""
|
|
223
|
+
note: bytes | str | None = None
|
|
224
|
+
"""Note for this transaction"""
|
|
225
|
+
lease: bytes | str | None = None
|
|
226
|
+
"""Lease value for this transaction"""
|
|
227
|
+
boxes: Sequence[tuple[int, bytes | bytearray | str | int]] | None = None
|
|
228
|
+
"""Box references to include in transaction. A sequence of (app id, box key) tuples"""
|
|
229
|
+
accounts: list[str] | None = None
|
|
230
|
+
"""Accounts to include in transaction"""
|
|
231
|
+
foreign_apps: list[int] | None = None
|
|
232
|
+
"""List of foreign apps (by app id) to include in transaction"""
|
|
233
|
+
foreign_assets: list[int] | None = None
|
|
234
|
+
"""List of foreign assets (by asset id) to include in transaction"""
|
|
235
|
+
rekey_to: str | None = None
|
|
236
|
+
"""Address to rekey to"""
|
|
237
|
+
on_complete: transaction.OnComplete | None = None
|
|
177
238
|
extra_pages: int | None = None
|
|
178
239
|
|
|
179
240
|
|
|
@@ -202,17 +263,58 @@ class TransactionParametersDict(TypedDict, total=False):
|
|
|
202
263
|
"""Address to rekey to"""
|
|
203
264
|
|
|
204
265
|
|
|
205
|
-
class OnCompleteCallParametersDict(TypedDict,
|
|
266
|
+
class OnCompleteCallParametersDict(TypedDict, total=False):
|
|
206
267
|
"""Additional parameters that can be included in a transaction when using the
|
|
207
268
|
ApplicationClient.call/compose_call methods"""
|
|
208
269
|
|
|
270
|
+
signer: TransactionSigner
|
|
271
|
+
"""Signer to use when signing this transaction"""
|
|
272
|
+
sender: str
|
|
273
|
+
"""Sender of this transaction"""
|
|
274
|
+
suggested_params: transaction.SuggestedParams
|
|
275
|
+
"""SuggestedParams to use for this transaction"""
|
|
276
|
+
note: bytes | str
|
|
277
|
+
"""Note for this transaction"""
|
|
278
|
+
lease: bytes | str
|
|
279
|
+
"""Lease value for this transaction"""
|
|
280
|
+
boxes: Sequence[tuple[int, bytes | bytearray | str | int]]
|
|
281
|
+
"""Box references to include in transaction. A sequence of (app id, box key) tuples"""
|
|
282
|
+
accounts: list[str]
|
|
283
|
+
"""Accounts to include in transaction"""
|
|
284
|
+
foreign_apps: list[int]
|
|
285
|
+
"""List of foreign apps (by app id) to include in transaction"""
|
|
286
|
+
foreign_assets: list[int]
|
|
287
|
+
"""List of foreign assets (by asset id) to include in transaction"""
|
|
288
|
+
rekey_to: str
|
|
289
|
+
"""Address to rekey to"""
|
|
209
290
|
on_complete: transaction.OnComplete
|
|
210
291
|
|
|
211
292
|
|
|
212
|
-
class CreateCallParametersDict(TypedDict,
|
|
293
|
+
class CreateCallParametersDict(TypedDict, total=False):
|
|
213
294
|
"""Additional parameters that can be included in a transaction when using the
|
|
214
295
|
ApplicationClient.create/compose_create methods"""
|
|
215
296
|
|
|
297
|
+
signer: TransactionSigner
|
|
298
|
+
"""Signer to use when signing this transaction"""
|
|
299
|
+
sender: str
|
|
300
|
+
"""Sender of this transaction"""
|
|
301
|
+
suggested_params: transaction.SuggestedParams
|
|
302
|
+
"""SuggestedParams to use for this transaction"""
|
|
303
|
+
note: bytes | str
|
|
304
|
+
"""Note for this transaction"""
|
|
305
|
+
lease: bytes | str
|
|
306
|
+
"""Lease value for this transaction"""
|
|
307
|
+
boxes: Sequence[tuple[int, bytes | bytearray | str | int]]
|
|
308
|
+
"""Box references to include in transaction. A sequence of (app id, box key) tuples"""
|
|
309
|
+
accounts: list[str]
|
|
310
|
+
"""Accounts to include in transaction"""
|
|
311
|
+
foreign_apps: list[int]
|
|
312
|
+
"""List of foreign apps (by app id) to include in transaction"""
|
|
313
|
+
foreign_assets: list[int]
|
|
314
|
+
"""List of foreign assets (by asset id) to include in transaction"""
|
|
315
|
+
rekey_to: str
|
|
316
|
+
"""Address to rekey to"""
|
|
317
|
+
on_complete: transaction.OnComplete
|
|
216
318
|
extra_pages: int
|
|
217
319
|
|
|
218
320
|
|
algokit_utils/network_clients.py
CHANGED
|
@@ -18,6 +18,8 @@ __all__ = [
|
|
|
18
18
|
"is_localnet",
|
|
19
19
|
"is_mainnet",
|
|
20
20
|
"is_testnet",
|
|
21
|
+
"AlgoClientConfigs",
|
|
22
|
+
"get_kmd_client",
|
|
21
23
|
]
|
|
22
24
|
|
|
23
25
|
_PURE_STAKE_HOST = "purestake.io"
|
|
@@ -34,6 +36,13 @@ class AlgoClientConfig:
|
|
|
34
36
|
"""API Token to authenticate with the service"""
|
|
35
37
|
|
|
36
38
|
|
|
39
|
+
@dataclasses.dataclass
|
|
40
|
+
class AlgoClientConfigs:
|
|
41
|
+
algod_config: AlgoClientConfig
|
|
42
|
+
indexer_config: AlgoClientConfig
|
|
43
|
+
kmd_config: AlgoClientConfig | None
|
|
44
|
+
|
|
45
|
+
|
|
37
46
|
def get_default_localnet_config(config: Literal["algod", "indexer", "kmd"]) -> AlgoClientConfig:
|
|
38
47
|
"""Returns the client configuration to point to the default LocalNet"""
|
|
39
48
|
port = {"algod": 4001, "indexer": 8980, "kmd": 4002}[config]
|
|
@@ -69,6 +78,14 @@ def get_algod_client(config: AlgoClientConfig | None = None) -> AlgodClient:
|
|
|
69
78
|
return AlgodClient(config.token, config.server, headers)
|
|
70
79
|
|
|
71
80
|
|
|
81
|
+
def get_kmd_client(config: AlgoClientConfig | None = None) -> KMDClient:
|
|
82
|
+
"""Returns an {py:class}`algosdk.kmd.KMDClient` from `config` or environment
|
|
83
|
+
|
|
84
|
+
If no configuration provided will use environment variables `KMD_SERVER`, `KMD_PORT` and `KMD_TOKEN`"""
|
|
85
|
+
config = config or _get_config_from_environment("KMD")
|
|
86
|
+
return KMDClient(config.token, config.server) # type: ignore[no-untyped-call]
|
|
87
|
+
|
|
88
|
+
|
|
72
89
|
def get_indexer_client(config: AlgoClientConfig | None = None) -> IndexerClient:
|
|
73
90
|
"""Returns an {py:class}`algosdk.v2client.indexer.IndexerClient` from `config` or environment.
|
|
74
91
|
|
|
@@ -3,18 +3,22 @@ algokit_utils/_debugging.py,sha256=4UC5NZGqxF32y742TUB34rX9kWaObXCCPOs-lbkQjGQ,1
|
|
|
3
3
|
algokit_utils/_ensure_funded.py,sha256=ZdEdUB43QGIQrg7cSSgNrDmWaLSUhli9x9I6juwKfgo,6786
|
|
4
4
|
algokit_utils/_transfer.py,sha256=CyXGOR_Zy-2crQhk-78uUbB8Sj_ZeTzxPwOAHU7wwno,5947
|
|
5
5
|
algokit_utils/account.py,sha256=UIuOQZe28pQxjEP9TzhtYlOU20tUdzzS-nIIZM9Bp6Y,7364
|
|
6
|
-
algokit_utils/application_client.py,sha256=
|
|
6
|
+
algokit_utils/application_client.py,sha256=qylA2aI4Ecs532bIs6fyc6FgLnWey9PBzZBZW_jnYtk,59092
|
|
7
7
|
algokit_utils/application_specification.py,sha256=XusOe7VrGPun2UoNspC9Ei202NzPkxRNx5USXiABuXc,7466
|
|
8
8
|
algokit_utils/asset.py,sha256=jsc7T1dH9HZA3Yve2gRLObwUlK6xLDoQz0NxLLnqaGs,7216
|
|
9
|
+
algokit_utils/beta/account_manager.py,sha256=dSb-jpBAWRfmKFYzG6T8t5vkh6ysX2NkZXl5UcZY5WA,8015
|
|
10
|
+
algokit_utils/beta/algorand_client.py,sha256=y1CYYn_ADwgOLTVID9BFMvdubDgKqUfx9R6XH3PrzsA,12649
|
|
11
|
+
algokit_utils/beta/client_manager.py,sha256=rW58VVBdYAV_5QwXNyt3VMP8NGon_IRhq1Dr35Mp31g,3117
|
|
12
|
+
algokit_utils/beta/composer.py,sha256=qpIWQ6Xeysk1FzqW8AntHJ_go_W2qIEDB4uvGFOOdgM,28627
|
|
9
13
|
algokit_utils/common.py,sha256=K6-3_9dv2clDn0WMYb8AWE_N46kWWIXglZIPfHIowDs,812
|
|
10
14
|
algokit_utils/config.py,sha256=oY3o1kPzVPRiQH--f4HzrMMNPojT078CSudqS9WQaEc,4279
|
|
11
|
-
algokit_utils/deploy.py,sha256=
|
|
15
|
+
algokit_utils/deploy.py,sha256=BxIFPtZd1lO8o_JmQQDIKk0O93E_bE-ZzglEWXwbefw,35110
|
|
12
16
|
algokit_utils/dispenser_api.py,sha256=BpwEhKDig6qz54wbO-htG8hmLxFIrvdzXpESUb7Y1zw,5584
|
|
13
17
|
algokit_utils/logic_error.py,sha256=YeE70qHZ6WBeoKCXqnto3uBg8R4ODXiNZkLmfEmASQo,2617
|
|
14
|
-
algokit_utils/models.py,sha256=
|
|
15
|
-
algokit_utils/network_clients.py,sha256=
|
|
18
|
+
algokit_utils/models.py,sha256=iJUiV6eLq5N_FKki4X5ll5rYQslU_wSPiSTtl61Z1CI,12803
|
|
19
|
+
algokit_utils/network_clients.py,sha256=O4nJ3ECms4hFbuB1X64nzTMNOfK1Uj2oyjKxeieri-g,5929
|
|
16
20
|
algokit_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
algokit_utils-2.
|
|
18
|
-
algokit_utils-2.
|
|
19
|
-
algokit_utils-2.
|
|
20
|
-
algokit_utils-2.
|
|
21
|
+
algokit_utils-2.3.0b1.dist-info/LICENSE,sha256=J5i7U1Q9Q2c7saUzlvFRmrCCFhQyXb5Juz_LO5omNUw,1076
|
|
22
|
+
algokit_utils-2.3.0b1.dist-info/METADATA,sha256=dybj019jKMUl-xvnqX0pKgaKzNT2snOiY_APCekP21Q,2207
|
|
23
|
+
algokit_utils-2.3.0b1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
24
|
+
algokit_utils-2.3.0b1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|