algokit-utils 4.2.0__py3-none-any.whl → 4.2.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.

@@ -1812,7 +1812,7 @@ class TransactionComposer:
1812
1812
  txn_with_signers: list[TransactionWithSignerAndContext] = []
1813
1813
 
1814
1814
  for txn in self._txns:
1815
- txn_with_signers.extend(self._build_txn(txn, suggested_params))
1815
+ txn_with_signers.extend(self._build_txn(txn, suggested_params, include_signer=True))
1816
1816
 
1817
1817
  for ts in txn_with_signers:
1818
1818
  self._atc.add_transaction(ts)
@@ -1852,9 +1852,9 @@ class TransactionComposer:
1852
1852
  txn_with_signers: list[TransactionWithSigner] = []
1853
1853
 
1854
1854
  if isinstance(txn, MethodCallParams):
1855
- txn_with_signers.extend(self._build_method_call(txn, suggested_params))
1855
+ txn_with_signers.extend(self._build_method_call(txn, suggested_params, include_signer=False))
1856
1856
  else:
1857
- txn_with_signers.extend(self._build_txn(txn, suggested_params))
1857
+ txn_with_signers.extend(self._build_txn(txn, suggested_params, include_signer=False))
1858
1858
 
1859
1859
  for ts in txn_with_signers:
1860
1860
  transactions.append(ts.txn)
@@ -2129,7 +2129,11 @@ class TransactionComposer:
2129
2129
  )
2130
2130
 
2131
2131
  def _build_method_call( # noqa: C901, PLR0912, PLR0915
2132
- self, params: MethodCallParams, suggested_params: algosdk.transaction.SuggestedParams
2132
+ self,
2133
+ params: MethodCallParams,
2134
+ suggested_params: algosdk.transaction.SuggestedParams,
2135
+ *,
2136
+ include_signer: bool,
2133
2137
  ) -> list[TransactionWithSignerAndContext]:
2134
2138
  method_args: list[ABIValue | TransactionWithSigner] = []
2135
2139
  txns_for_group: list[TransactionWithSignerAndContext] = []
@@ -2159,7 +2163,9 @@ class TransactionComposer:
2159
2163
  method_args.append(
2160
2164
  TransactionWithSignerAndContext(
2161
2165
  txn=arg,
2162
- signer=signer if signer is not None else self._get_signer(params.sender),
2166
+ signer=signer
2167
+ if signer is not None
2168
+ else (NULL_SIGNER if not include_signer else self._get_signer(params.sender)),
2163
2169
  context=TransactionContext(abi_method=None),
2164
2170
  )
2165
2171
  )
@@ -2171,7 +2177,9 @@ class TransactionComposer:
2171
2177
  | AppUpdateMethodCallParams()
2172
2178
  | AppDeleteMethodCallParams()
2173
2179
  ):
2174
- temp_txn_with_signers = self._build_method_call(arg, suggested_params)
2180
+ temp_txn_with_signers = self._build_method_call(
2181
+ arg, suggested_params, include_signer=include_signer
2182
+ )
2175
2183
  # Add all transactions except the last one in reverse order
2176
2184
  txns_for_group.extend(temp_txn_with_signers[:-1])
2177
2185
  # Add the last transaction to method_args
@@ -2208,7 +2216,7 @@ class TransactionComposer:
2208
2216
  method_args.append(
2209
2217
  TransactionWithSignerAndContext(
2210
2218
  txn=txn.txn,
2211
- signer=signer or self._get_signer(params.sender),
2219
+ signer=signer or (NULL_SIGNER if not include_signer else self._get_signer(params.sender)),
2212
2220
  context=TransactionContext(abi_method=params.method),
2213
2221
  )
2214
2222
  )
@@ -2255,7 +2263,8 @@ class TransactionComposer:
2255
2263
  "sp": suggested_params,
2256
2264
  "signer": params.signer
2257
2265
  if params.signer is not None
2258
- else self._get_signer(params.sender) or algosdk.atomic_transaction_composer.EmptySigner(),
2266
+ else (NULL_SIGNER if not include_signer else self._get_signer(params.sender))
2267
+ or algosdk.atomic_transaction_composer.EmptySigner(),
2259
2268
  "method_args": list(reversed(method_args)),
2260
2269
  "on_complete": params.on_complete or algosdk.transaction.OnComplete.NoOpOC,
2261
2270
  "boxes": [AppManager.get_box_reference(ref) for ref in params.box_references]
@@ -2496,6 +2505,8 @@ class TransactionComposer:
2496
2505
  self,
2497
2506
  txn: TransactionWithSigner | TxnParams | AtomicTransactionComposer,
2498
2507
  suggested_params: algosdk.transaction.SuggestedParams,
2508
+ *,
2509
+ include_signer: bool,
2499
2510
  ) -> list[TransactionWithSignerAndContext]:
2500
2511
  match txn:
2501
2512
  case TransactionWithSigner():
@@ -2505,7 +2516,7 @@ class TransactionComposer:
2505
2516
  case AtomicTransactionComposer():
2506
2517
  return self._build_atc(txn)
2507
2518
  case algosdk.transaction.Transaction():
2508
- signer = self._get_signer(txn.sender)
2519
+ signer = NULL_SIGNER if not include_signer else self._get_signer(txn.sender)
2509
2520
  return [TransactionWithSignerAndContext(txn=txn, signer=signer, context=TransactionContext.empty())]
2510
2521
  case (
2511
2522
  AppCreateMethodCallParams()
@@ -2513,10 +2524,10 @@ class TransactionComposer:
2513
2524
  | AppUpdateMethodCallParams()
2514
2525
  | AppDeleteMethodCallParams()
2515
2526
  ):
2516
- return self._build_method_call(txn, suggested_params)
2527
+ return self._build_method_call(txn, suggested_params, include_signer=include_signer)
2517
2528
 
2518
2529
  signer = txn.signer.signer if isinstance(txn.signer, TransactionSignerAccountProtocol) else txn.signer # type: ignore[assignment]
2519
- signer = signer or self._get_signer(txn.sender)
2530
+ signer = signer or (NULL_SIGNER if not include_signer else self._get_signer(txn.sender))
2520
2531
 
2521
2532
  match txn:
2522
2533
  case PaymentParams():
@@ -1,8 +1,9 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: algokit-utils
3
- Version: 4.2.0
3
+ Version: 4.2.1
4
4
  Summary: Utilities for Algorand development for use by AlgoKit
5
5
  License: MIT
6
+ License-File: LICENSE
6
7
  Author: Algorand Foundation
7
8
  Author-email: contact@algorand.foundation
8
9
  Requires-Python: >=3.10,<4.0
@@ -12,6 +13,7 @@ Classifier: Programming Language :: Python :: 3.10
12
13
  Classifier: Programming Language :: Python :: 3.11
13
14
  Classifier: Programming Language :: Python :: 3.12
14
15
  Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
15
17
  Requires-Dist: httpx (>=0.23.1,<=0.28.1)
16
18
  Requires-Dist: py-algorand-sdk (>=2.4.0,<3.0.0)
17
19
  Requires-Dist: typing-extensions (>=4.6.0)
@@ -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=iOIa_9hknbpCQc2hRyX-aBoHG-NGRxGnEAJstwGVKgw,106645
64
+ algokit_utils/transactions/transaction_composer.py,sha256=fuxiDRo5OeoYSLvVuR-_MsvXkwGZe3ALRLDw_TBExKM,107196
65
65
  algokit_utils/transactions/transaction_creator.py,sha256=cuP6Xm-fhGoCc2FNSbLiEg3iQRwW38rfdTzsqPyEcpM,29053
66
66
  algokit_utils/transactions/transaction_sender.py,sha256=Wi3ws9S-Df1JeTlaSTXmq-WS24Gsq7WGsKk1B0z23ao,50117
67
- algokit_utils-4.2.0.dist-info/LICENSE,sha256=J5i7U1Q9Q2c7saUzlvFRmrCCFhQyXb5Juz_LO5omNUw,1076
68
- algokit_utils-4.2.0.dist-info/METADATA,sha256=_65fNn_a68EmdV4pGJgXsA2EtFo-Qj1JrivWZ6nrGOI,2419
69
- algokit_utils-4.2.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
70
- algokit_utils-4.2.0.dist-info/RECORD,,
67
+ algokit_utils-4.2.1.dist-info/METADATA,sha256=LBO8tNB-XjjCKn1QQ0CkWgiy1EK5348_YN_10PnEGGs,2492
68
+ algokit_utils-4.2.1.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
69
+ algokit_utils-4.2.1.dist-info/licenses/LICENSE,sha256=J5i7U1Q9Q2c7saUzlvFRmrCCFhQyXb5Juz_LO5omNUw,1076
70
+ algokit_utils-4.2.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: poetry-core 2.2.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any