algokit-utils 3.0.0b11__py3-none-any.whl → 3.0.1__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.

@@ -17,7 +17,6 @@ __all__ = ["TransferAssetParameters", "TransferParameters", "transfer", "transfe
17
17
  logger = logging.getLogger(__name__)
18
18
 
19
19
 
20
- @deprecated("Send transactions via `algorand.{send|create_transaction}.{txn_type}()` instead")
21
20
  @dataclasses.dataclass(kw_only=True)
22
21
  class TransferParametersBase:
23
22
  """Parameters for transferring µALGOs between accounts.
@@ -32,8 +32,6 @@ from algokit_utils.transactions.transaction_composer import (
32
32
  )
33
33
  from algokit_utils.transactions.transaction_sender import SendSingleTransactionResult
34
34
 
35
- logger = config.logger
36
-
37
35
  __all__ = [
38
36
  "AccountInformation",
39
37
  "AccountManager",
@@ -595,7 +593,7 @@ class AccountManager:
595
593
  self.rekeyed(sender=account, account=rekey_to)
596
594
 
597
595
  if not suppress_log:
598
- logger.info(f"Rekeyed {sender_address} to {rekey_address} via transaction {result.tx_ids[-1]}")
596
+ config.logger.info(f"Rekeyed {sender_address} to {rekey_address} via transaction {result.tx_ids[-1]}")
599
597
 
600
598
  return result
601
599
 
@@ -11,8 +11,6 @@ from algokit_utils.transactions.transaction_composer import PaymentParams, Trans
11
11
 
12
12
  __all__ = ["KmdAccount", "KmdAccountManager"]
13
13
 
14
- logger = config.logger
15
-
16
14
 
17
15
  class KmdAccount(SigningAccount):
18
16
  """Account retrieved from KMD with signing capabilities, extending base Account.
@@ -121,7 +119,7 @@ class KmdAccountManager:
121
119
  account = self.get_wallet_account(name)
122
120
  assert account is not None
123
121
 
124
- logger.info(
122
+ config.logger.info(
125
123
  f"LocalNet account '{name}' doesn't yet exist; created account {account.address} "
126
124
  f"with keys stored in KMD and funding with {fund_with} ALGO"
127
125
  )
@@ -47,8 +47,6 @@ __all__ = [
47
47
 
48
48
  APP_DEPLOY_NOTE_DAPP: str = "ALGOKIT_DEPLOYER"
49
49
 
50
- logger = config.logger
51
-
52
50
 
53
51
  @dataclasses.dataclass
54
52
  class AppDeploymentMetaData:
@@ -240,7 +238,7 @@ class AppDeployer:
240
238
  send_params = deployment.send_params or SendParams()
241
239
  suppress_log = send_params.get("suppress_log") or False
242
240
 
243
- logger.info(
241
+ config.logger.info(
244
242
  f"Idempotently deploying app \"{deployment.metadata.name}\" from creator "
245
243
  f"{deployment.create_params.sender} using {len(deployment.create_params.approval_program)} bytes of "
246
244
  f"{'teal code' if isinstance(deployment.create_params.approval_program, str) else 'AVM bytecode'} and "
@@ -341,7 +339,7 @@ class AppDeployer:
341
339
  )
342
340
 
343
341
  if is_schema_break:
344
- logger.warning(
342
+ config.logger.warning(
345
343
  f"Detected a breaking app schema change in app {existing_app.app_id}:",
346
344
  extra={
347
345
  "from": {
@@ -363,6 +361,10 @@ class AppDeployer:
363
361
  )
364
362
 
365
363
  if is_update:
364
+ config.logger.info(
365
+ f"Detected a TEAL update in app {existing_app.app_id} for creator {deployment.create_params.sender}",
366
+ extra={"suppress_log": suppress_log},
367
+ )
366
368
  return self._handle_update(
367
369
  deployment=deployment,
368
370
  existing_app=existing_app,
@@ -370,7 +372,7 @@ class AppDeployer:
370
372
  clear_program=clear_program,
371
373
  )
372
374
 
373
- logger.debug("No detected changes in app, nothing to do.", extra={"suppress_log": suppress_log})
375
+ config.logger.debug("No detected changes in app, nothing to do.", extra={"suppress_log": suppress_log})
374
376
  return AppDeployResult(
375
377
  app=existing_app,
376
378
  operation_performed=OperationPerformed.Nothing,
@@ -422,7 +424,7 @@ class AppDeployer:
422
424
  )
423
425
 
424
426
  self._update_app_lookup(deployment.create_params.sender, app_metadata)
425
- logger.debug(
427
+ config.logger.debug(
426
428
  f"Sent transaction ID {create_result.app_id} (AppCreate) from {deployment.create_params.sender}",
427
429
  extra={
428
430
  "suppress_log": deployment.send_params.get("suppress_log") or False if deployment.send_params else False
@@ -500,7 +502,7 @@ class AppDeployer:
500
502
  deleted=False,
501
503
  )
502
504
  self._update_app_lookup(deployment.create_params.sender, app_metadata)
503
- logger.debug(
505
+ config.logger.debug(
504
506
  f"Group transaction sent: Replaced app {existing_app.app_id} with new app {app_id} from "
505
507
  f"{deployment.create_params.sender} (Composer group count: {composer.count()})",
506
508
  extra={
@@ -559,7 +561,7 @@ class AppDeployer:
559
561
  )
560
562
 
561
563
  self._update_app_lookup(deployment.create_params.sender, app_metadata)
562
- logger.debug(
564
+ config.logger.debug(
563
565
  f"Sent transaction ID {existing_app.app_id} (AppUpdate) from {deployment.create_params.sender}",
564
566
  extra={
565
567
  "suppress_log": deployment.send_params.get("suppress_log") or False if deployment.send_params else False
@@ -579,24 +581,37 @@ class AppDeployer:
579
581
  approval_program: bytes,
580
582
  clear_program: bytes,
581
583
  ) -> AppDeployResult:
584
+ suppress_log = deployment.send_params.get("suppress_log") or False if deployment.send_params else False
585
+
582
586
  if deployment.on_schema_break in (OnSchemaBreak.Fail, "fail") or deployment.on_schema_break is None:
583
587
  raise ValueError(
584
- "Schema break detected and onSchemaBreak=OnSchemaBreak.Fail, stopping deployment. "
588
+ "Schema break detected and on_schema_break=OnSchemaBreak.Fail, stopping deployment. "
585
589
  "If you want to try deleting and recreating the app then "
586
- "re-run with onSchemaBreak=OnSchemaBreak.ReplaceApp"
590
+ "re-run with on_schema_break=OnSchemaBreak.ReplaceApp"
587
591
  )
588
592
 
589
593
  if deployment.on_schema_break in (OnSchemaBreak.AppendApp, "append"):
594
+ config.logger.info(
595
+ "on_schema_break=AppendApp, will attempt to create a new app", extra={"suppress_log": suppress_log}
596
+ )
590
597
  return self._create_app(deployment, approval_program, clear_program)
591
598
 
592
599
  if existing_app.deletable:
593
- return self._replace_app(deployment, existing_app, approval_program, clear_program)
600
+ config.logger.info(
601
+ "App is deletable and on_schema_break=ReplaceApp, will attempt to create new app and delete old app",
602
+ extra={"suppress_log": suppress_log},
603
+ )
594
604
  else:
595
- raise ValueError(
596
- f"App is {'not' if not existing_app.deletable else ''} deletable and onSchemaBreak=ReplaceApp, "
597
- "cannot delete and recreate app"
605
+ config.logger.info(
606
+ "App is not deletable but on_schema_break=ReplaceApp, will attempt to create a new app and "
607
+ "delete the old app, delete will most likely fail",
608
+ extra={
609
+ "suppress_log": suppress_log,
610
+ },
598
611
  )
599
612
 
613
+ return self._replace_app(deployment, existing_app, approval_program, clear_program)
614
+
600
615
  def _handle_update(
601
616
  self,
602
617
  deployment: AppDeployParams,
@@ -604,33 +619,49 @@ class AppDeployer:
604
619
  approval_program: bytes,
605
620
  clear_program: bytes,
606
621
  ) -> AppDeployResult:
622
+ suppress_log = deployment.send_params.get("suppress_log") or False if deployment.send_params else False
623
+
607
624
  if deployment.on_update in (OnUpdate.Fail, "fail") or deployment.on_update is None:
608
625
  raise ValueError(
609
- "Update detected and onUpdate=Fail, stopping deployment. " "Try a different onUpdate value to not fail."
626
+ "Update detected and on_update=Fail, stopping deployment. "
627
+ "Try a different on_update value to not fail."
610
628
  )
611
629
 
612
630
  if deployment.on_update in (OnUpdate.AppendApp, "append"):
631
+ config.logger.info(
632
+ "on_update=AppendApp, will attempt to create a new app", extra={"suppress_log": suppress_log}
633
+ )
613
634
  return self._create_app(deployment, approval_program, clear_program)
614
635
 
615
636
  if deployment.on_update in (OnUpdate.UpdateApp, "update"):
616
637
  if existing_app.updatable:
617
- return self._update_app(deployment, existing_app, approval_program, clear_program)
638
+ config.logger.info(
639
+ "App is updatable and on_update=UpdateApp, updating app...",
640
+ extra={"suppress_log": suppress_log},
641
+ )
618
642
  else:
619
- raise ValueError(
620
- f"App is {'not' if not existing_app.updatable else ''} updatable and onUpdate=UpdateApp, "
621
- "cannot update app"
643
+ config.logger.warning(
644
+ "App is not updatable but on_update=UpdateApp, will attempt to update app, "
645
+ "update will most likely fail",
646
+ extra={"suppress_log": suppress_log},
622
647
  )
648
+ return self._update_app(deployment, existing_app, approval_program, clear_program)
623
649
 
624
650
  if deployment.on_update in (OnUpdate.ReplaceApp, "replace"):
625
651
  if existing_app.deletable:
626
- return self._replace_app(deployment, existing_app, approval_program, clear_program)
652
+ config.logger.warning(
653
+ "App is deletable and on_update=ReplaceApp, will attempt to create new app and delete old app",
654
+ extra={"suppress_log": suppress_log},
655
+ )
627
656
  else:
628
- raise ValueError(
629
- f"App is {'not' if not existing_app.deletable else ''} deletable and onUpdate=ReplaceApp, "
630
- "cannot delete and recreate app"
657
+ config.logger.warning(
658
+ "App is not deletable but on_update=ReplaceApp, will attempt to create a new app and "
659
+ "delete the old app, delete will most likely fail",
660
+ extra={"suppress_log": suppress_log},
631
661
  )
662
+ return self._replace_app(deployment, existing_app, approval_program, clear_program)
632
663
 
633
- raise ValueError(f"Unsupported onUpdate value: {deployment.on_update}")
664
+ raise ValueError(f"Unsupported on_update value: {deployment.on_update}")
634
665
 
635
666
  def _update_app_lookup(self, sender: str, app_metadata: ApplicationMetaData) -> None:
636
667
  """Update the app lookup cache"""
@@ -715,7 +746,7 @@ class AppDeployer:
715
746
  deleted=app.get("deleted", False),
716
747
  )
717
748
  except Exception as e:
718
- logger.warning(
749
+ config.logger.warning(
719
750
  f"Error processing app {app_id} for creator {creator_address}: {e}",
720
751
  )
721
752
  continue
@@ -22,9 +22,6 @@ __all__ = [
22
22
  ]
23
23
 
24
24
 
25
- logger = config.logger
26
-
27
-
28
25
  class DispenserApiConfig:
29
26
  BASE_URL = "https://api.dispenser.algorandfoundation.tools"
30
27
 
@@ -141,7 +138,7 @@ class TestNetDispenserApiClient:
141
138
 
142
139
  except Exception as err:
143
140
  error_message = "Error processing dispenser API request"
144
- logger.debug(f"{error_message}: {err}", exc_info=True)
141
+ config.logger.debug(f"{error_message}: {err}", exc_info=True)
145
142
  raise err
146
143
 
147
144
  @overload
@@ -182,7 +179,7 @@ class TestNetDispenserApiClient:
182
179
  return DispenserFundResponse(tx_id=content["txID"], amount=content["amount"])
183
180
 
184
181
  except Exception as err:
185
- logger.exception(f"Error funding account {address}: {err}")
182
+ config.logger.exception(f"Error funding account {address}: {err}")
186
183
  raise err
187
184
 
188
185
  def refund(self, refund_txn_id: str) -> None:
@@ -199,7 +196,7 @@ class TestNetDispenserApiClient:
199
196
  )
200
197
 
201
198
  except Exception as err:
202
- logger.exception(f"Error issuing refund for txn_id {refund_txn_id}: {err}")
199
+ config.logger.exception(f"Error issuing refund for txn_id {refund_txn_id}: {err}")
203
200
  raise err
204
201
 
205
202
  def get_limit(
@@ -220,5 +217,5 @@ class TestNetDispenserApiClient:
220
217
 
221
218
  return DispenserLimitResponse(amount=content["amount"])
222
219
  except Exception as err:
223
- logger.exception(f"Error setting limit for account {address}: {err}")
220
+ config.logger.exception(f"Error setting limit for account {address}: {err}")
224
221
  raise err
@@ -75,8 +75,6 @@ __all__ = [
75
75
  ]
76
76
 
77
77
 
78
- logger = config.logger
79
-
80
78
  MAX_TRANSACTION_GROUP_SIZE = 16
81
79
  MAX_APP_CALL_FOREIGN_REFERENCES = 8
82
80
  MAX_APP_CALL_ACCOUNT_REFERENCES = 4
@@ -1220,11 +1218,11 @@ def send_atomic_transaction_composer( # noqa: C901, PLR0912
1220
1218
  )
1221
1219
 
1222
1220
  if not suppress_log:
1223
- logger.info(
1221
+ config.logger.info(
1224
1222
  f"Sending group of {len(transactions_to_send)} transactions ({group_id})",
1225
1223
  extra={"suppress_log": suppress_log or False},
1226
1224
  )
1227
- logger.debug(
1225
+ config.logger.debug(
1228
1226
  f"Transaction IDs ({group_id}): {[t.get_txid() for t in transactions_to_send]}",
1229
1227
  extra={"suppress_log": suppress_log or False},
1230
1228
  )
@@ -1244,12 +1242,12 @@ def send_atomic_transaction_composer( # noqa: C901, PLR0912
1244
1242
  # Log results
1245
1243
  if not suppress_log:
1246
1244
  if len(transactions_to_send) > 1:
1247
- logger.info(
1245
+ config.logger.info(
1248
1246
  f"Group transaction ({group_id}) sent with {len(transactions_to_send)} transactions",
1249
1247
  extra={"suppress_log": suppress_log or False},
1250
1248
  )
1251
1249
  else:
1252
- logger.info(
1250
+ config.logger.info(
1253
1251
  f"Sent transaction ID {transactions_to_send[0].get_txid()}",
1254
1252
  extra={"suppress_log": suppress_log or False},
1255
1253
  )
@@ -1271,7 +1269,7 @@ def send_atomic_transaction_composer( # noqa: C901, PLR0912
1271
1269
  except Exception as e:
1272
1270
  # Handle error with debug info if enabled
1273
1271
  if config.debug:
1274
- logger.error(
1272
+ config.logger.error(
1275
1273
  "Received error executing Atomic Transaction Composer and debug flag enabled; "
1276
1274
  "attempting simulation to get more information ",
1277
1275
  extra={"suppress_log": suppress_log or False},
@@ -1307,7 +1305,7 @@ def send_atomic_transaction_composer( # noqa: C901, PLR0912
1307
1305
  error.traces = traces # type: ignore[attr-defined]
1308
1306
  raise error from e
1309
1307
 
1310
- logger.error(
1308
+ config.logger.error(
1311
1309
  "Received error executing Atomic Transaction Composer, for more information enable the debug flag",
1312
1310
  extra={"suppress_log": suppress_log or False},
1313
1311
  exc_info=e,
@@ -45,8 +45,6 @@ __all__ = [
45
45
  "SendSingleTransactionResult",
46
46
  ]
47
47
 
48
- logger = config.logger
49
-
50
48
 
51
49
  TxnParamsT = TypeVar("TxnParamsT", bound=TxnParams)
52
50
 
@@ -213,7 +211,7 @@ class AlgorandClientTransactionSender:
213
211
 
214
212
  if pre_log:
215
213
  transaction = composer.build().transactions[-1].txn
216
- logger.debug(pre_log(params, transaction))
214
+ config.logger.debug(pre_log(params, transaction))
217
215
 
218
216
  raw_result = composer.send(
219
217
  send_params,
@@ -230,7 +228,7 @@ class AlgorandClientTransactionSender:
230
228
  )
231
229
 
232
230
  if post_log:
233
- logger.debug(post_log(params, result))
231
+ config.logger.debug(post_log(params, result))
234
232
 
235
233
  return result
236
234
 
@@ -659,9 +657,9 @@ class AlgorandClientTransactionSender:
659
657
 
660
658
  def asset_opt_out(
661
659
  self,
662
- *,
663
660
  params: AssetOptOutParams,
664
661
  send_params: SendParams | None = None,
662
+ *,
665
663
  ensure_zero_balance: bool = True,
666
664
  ) -> SendSingleTransactionResult:
667
665
  """Opt an account out of an Algorand Standard Asset.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: algokit-utils
3
- Version: 3.0.0b11
3
+ Version: 3.0.1
4
4
  Summary: Utilities for Algorand development for use by AlgoKit
5
5
  License: MIT
6
6
  Author: Algorand Foundation
@@ -2,7 +2,7 @@ algokit_utils/__init__.py,sha256=he0sKUGvOgN2ROlXJ_6GOBqElfoDy3c5_XgVA3BYACU,103
2
2
  algokit_utils/_debugging.py,sha256=nAiC10WXiZsvc0RPWOrMLpjJQZT_ItgcMl7D9Z4DfYc,11703
3
3
  algokit_utils/_legacy_v2/__init__.py,sha256=WcRE30axWjGnBB09bJCeTw9NT-2_jDN_CVJITFcIDc8,4689
4
4
  algokit_utils/_legacy_v2/_ensure_funded.py,sha256=_k3hc_xL-_KOEmvF3mofk-Z2D1n8dSo9Rz8OLqPnoNg,6912
5
- algokit_utils/_legacy_v2/_transfer.py,sha256=xe_o4sK2oRUlX0TxLSQ_ttJy_3KXfvEEWFKUl_sZNlk,6559
5
+ algokit_utils/_legacy_v2/_transfer.py,sha256=nMHm3jXKJLLjOLqjMK_B3bFsslDCx45EPJ5yt7Ex-8k,6464
6
6
  algokit_utils/_legacy_v2/account.py,sha256=mv5GjHlIPKNr3dx1FI1aAYFiJqeVpCbf0mTUXeYu0UU,8314
7
7
  algokit_utils/_legacy_v2/application_client.py,sha256=Gb7WldXLi0V92YfeU19HP1rJ-L4Rmz2Lxm2q45tQJ2s,59610
8
8
  algokit_utils/_legacy_v2/application_specification.py,sha256=wp2Y9ou2_F-bSFbDnm6AEhFexybmD7-fAT0CuWtO26g,521
@@ -14,15 +14,15 @@ algokit_utils/_legacy_v2/models.py,sha256=hH7aO50E4po4EgxXI9zdX5HTthn1HLfSLvkuPf
14
14
  algokit_utils/_legacy_v2/network_clients.py,sha256=z_zm1da9CVBG2TOAnXeYkHBh6a8HtXsSdNrlEizc8J0,5928
15
15
  algokit_utils/account.py,sha256=gyGrBSoafUh8WV677IzYGkYoxtzzElsgxGMp4SgA4pk,410
16
16
  algokit_utils/accounts/__init__.py,sha256=_LyY0se6TaQOes7vAcmbpt6pmG4VKlzfTt37-IjwimA,138
17
- algokit_utils/accounts/account_manager.py,sha256=j8gzQRrsCjjziHgYzN2msbF6xtFsFIxefSWq5s4vWtQ,39014
18
- algokit_utils/accounts/kmd_account_manager.py,sha256=0flsU5T11JciyL0YvOKDHPVSm-ghV0RjJAbtm8JwrhU,6476
17
+ algokit_utils/accounts/account_manager.py,sha256=LEqAp4AAssUugWG4PkOHw9oVmhIK-iZMGYcR7_q6zT0,38997
18
+ algokit_utils/accounts/kmd_account_manager.py,sha256=qPlklyoIk0B6B78GZX-VKwSgmfZBKgp5U2k51fg1YXg,6459
19
19
  algokit_utils/algorand.py,sha256=OvYMolOGK-tupKLDohtP_P59jlELIWW2hRqf1CYfrns,13732
20
20
  algokit_utils/application_client.py,sha256=5UIxXIBjukjRyjZPCeXmaNlAftbb3TziV7EfBolW79k,337
21
21
  algokit_utils/application_specification.py,sha256=wV0H088IudMqlxsW-gsZIfJyKA4e-zVwxJ-cR__ouBA,1379
22
22
  algokit_utils/applications/__init__.py,sha256=NGjhpBeExsQZOAYCT2QUFag1xuKoFiX-Ux5SR2GNzd8,452
23
23
  algokit_utils/applications/abi.py,sha256=OjTdn4szJPPeC8XmosdDYtkIIVgQSWAnqz2DHw5OH9g,10117
24
24
  algokit_utils/applications/app_client.py,sha256=wM3tH0-oW6uQG_W0RLiL3iULnvAPpNM-O9BiPw5wfiU,88470
25
- algokit_utils/applications/app_deployer.py,sha256=y0hl_m2pkKF_tGR2sjKL0sbIW3qyUe9ttzcGboGBSi4,28938
25
+ algokit_utils/applications/app_deployer.py,sha256=kAypS20VM-yAwosCcYdMwTmXntGOt_6EN_i5nIYN5rw,30627
26
26
  algokit_utils/applications/app_factory.py,sha256=PPJnR-fs1hNkEMlIqwY7jx63hPnOkdyiIK6l4-A3d10,45383
27
27
  algokit_utils/applications/app_manager.py,sha256=wDrJW-YtArRldNk5Nh9Mf-DwEz9XTjKD1Q0z4O_WPTY,21904
28
28
  algokit_utils/applications/app_spec/__init__.py,sha256=HtjAhAqHNFml9WbRKGmhJnwyJeW8AztPRO_BriQ84vs,140
@@ -39,7 +39,7 @@ algokit_utils/beta/client_manager.py,sha256=xDFvsMSha0Ki42BGvKvfScQWT_W9y4GeP_RW
39
39
  algokit_utils/beta/composer.py,sha256=xDFvsMSha0Ki42BGvKvfScQWT_W9y4GeP_RWXjc3vnE,213
40
40
  algokit_utils/clients/__init__.py,sha256=qUuKBvfLnw4z6ZU9x7mc-mLjfnnXC9UcvtoeU33ZLJ8,136
41
41
  algokit_utils/clients/client_manager.py,sha256=eTkgaDVRl-auRnd_t3tQQzdrpLky6I1rQLR_1ZUXmrw,28615
42
- algokit_utils/clients/dispenser_api_client.py,sha256=jpwAeoWWjbDdZWPs3UMoDBdPgxgQlk4D3htRJuPLnPw,7333
42
+ algokit_utils/clients/dispenser_api_client.py,sha256=TL4BZqRS81y55NVi_1Fczqkw8EmRcRavHTHkaSLw-t4,7336
43
43
  algokit_utils/common.py,sha256=5wl83vWw91RYdEC4hTTufqaptKiFtgjKLIyONDmRSH0,300
44
44
  algokit_utils/config.py,sha256=SFqfR_JKlx-pCOps1xF646oZqtIcRS2AtasiYne63E4,6051
45
45
  algokit_utils/deploy.py,sha256=UUtSDI6JcBUuto62FuirhUlDcjZwQyLkiERgDMx8P7A,330
@@ -61,10 +61,10 @@ algokit_utils/protocols/account.py,sha256=CowaVY7ErBP84TWBHNvBjkZy18whPb8HIlMZtJ
61
61
  algokit_utils/protocols/typed_clients.py,sha256=UrQrHbN2SvS8pEFJ8JQodvouoWeBrQOQGZGyBQx1KLM,3322
62
62
  algokit_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  algokit_utils/transactions/__init__.py,sha256=7fYF3m6DyOGzbV36MT5svo0wSkj9AIz496kWgIWSAlk,225
64
- algokit_utils/transactions/transaction_composer.py,sha256=rbUKQCv8yzAGFm9Jegw3F0V9PbMaPOK-oQxHIm5jCZA,103692
64
+ algokit_utils/transactions/transaction_composer.py,sha256=0o7rAAy-2L6tx4xWsb4EHk7bayME_02xHLmkeHfHQM8,103710
65
65
  algokit_utils/transactions/transaction_creator.py,sha256=cuP6Xm-fhGoCc2FNSbLiEg3iQRwW38rfdTzsqPyEcpM,29053
66
- algokit_utils/transactions/transaction_sender.py,sha256=FXwFLRPCBodfbXM6IpO9zFWU4xGQR1hEJe4sLBooe10,50089
67
- algokit_utils-3.0.0b11.dist-info/LICENSE,sha256=J5i7U1Q9Q2c7saUzlvFRmrCCFhQyXb5Juz_LO5omNUw,1076
68
- algokit_utils-3.0.0b11.dist-info/METADATA,sha256=grhHt90Tp6YujupdRsSBWiwe9z6REeqB93r882b7fkA,2421
69
- algokit_utils-3.0.0b11.dist-info/WHEEL,sha256=7dDg4QLnNKTvwIDR9Ac8jJaAmBC_owJrckbC0jjThyA,88
70
- algokit_utils-3.0.0b11.dist-info/RECORD,,
66
+ algokit_utils/transactions/transaction_sender.py,sha256=foK_2S-gUl9D7xkWG3lD526qIKz5mVibHNKVREQCgoA,50079
67
+ algokit_utils-3.0.1.dist-info/LICENSE,sha256=J5i7U1Q9Q2c7saUzlvFRmrCCFhQyXb5Juz_LO5omNUw,1076
68
+ algokit_utils-3.0.1.dist-info/METADATA,sha256=QbAwM3MzB4tC6Ir6ew-vLdaXG3xj8zMM0WoAyCgEKtg,2418
69
+ algokit_utils-3.0.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
70
+ algokit_utils-3.0.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.0
2
+ Generator: poetry-core 2.1.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any