algokit-utils 4.1.0b5__py3-none-any.whl → 4.1.0b7__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/applications/app_client.py +10 -10
- {algokit_utils-4.1.0b5.dist-info → algokit_utils-4.1.0b7.dist-info}/METADATA +1 -1
- {algokit_utils-4.1.0b5.dist-info → algokit_utils-4.1.0b7.dist-info}/RECORD +5 -5
- {algokit_utils-4.1.0b5.dist-info → algokit_utils-4.1.0b7.dist-info}/LICENSE +0 -0
- {algokit_utils-4.1.0b5.dist-info → algokit_utils-4.1.0b7.dist-info}/WHEEL +0 -0
|
@@ -95,6 +95,9 @@ __all__ = [
|
|
|
95
95
|
# TEAL opcodes for constant blocks
|
|
96
96
|
BYTE_CBLOCK = 38 # bytecblock opcode
|
|
97
97
|
INT_CBLOCK = 32 # intcblock opcode
|
|
98
|
+
MAX_SIMULATE_OPCODE_BUDGET = (
|
|
99
|
+
20_000 * 16
|
|
100
|
+
) # https://github.com/algorand/go-algorand/blob/807b29a91c371d225e12b9287c5d56e9b33c4e4c/ledger/simulation/trace.go#L104
|
|
98
101
|
|
|
99
102
|
T = TypeVar("T") # For generic return type in _handle_call_errors
|
|
100
103
|
|
|
@@ -1183,7 +1186,6 @@ class _TransactionSender:
|
|
|
1183
1186
|
:param params: Parameters for the application call including method and transaction options
|
|
1184
1187
|
:param send_params: Send parameters
|
|
1185
1188
|
:return: The result of sending or simulating the transaction, including ABI return value if applicable
|
|
1186
|
-
:raises ValueError: If the transaction is read-only and `max_fee` is not provided
|
|
1187
1189
|
"""
|
|
1188
1190
|
is_read_only_call = (
|
|
1189
1191
|
params.on_complete == algosdk.transaction.OnComplete.NoOpOC or params.on_complete is None
|
|
@@ -1194,14 +1196,10 @@ class _TransactionSender:
|
|
|
1194
1196
|
readonly_send_params = send_params or SendParams()
|
|
1195
1197
|
|
|
1196
1198
|
# Read-only calls do not require fees to be paid, as they are only simulated on the network.
|
|
1197
|
-
#
|
|
1198
|
-
#
|
|
1199
|
-
#
|
|
1200
|
-
if readonly_send_params.get("cover_app_call_inner_transaction_fees"):
|
|
1201
|
-
if params.max_fee is None:
|
|
1202
|
-
raise ValueError(
|
|
1203
|
-
"Please provide a `max_fee` for the transaction when `cover_app_call_inner_transaction_fees` is enabled." # noqa: E501
|
|
1204
|
-
)
|
|
1199
|
+
# With maximum opcode budget provided, ensure_budget won't create inner transactions,
|
|
1200
|
+
# so fee coverage is no longer a concern for read-only calls.
|
|
1201
|
+
# If max_fee is provided, use it as static_fee for potential benefits.
|
|
1202
|
+
if readonly_send_params.get("cover_app_call_inner_transaction_fees") and params.max_fee is not None:
|
|
1205
1203
|
readonly_params = replace(readonly_params, static_fee=params.max_fee, extra_fee=None)
|
|
1206
1204
|
|
|
1207
1205
|
method_call_to_simulate = self._algorand.new_group().add_app_call_method_call(
|
|
@@ -1215,11 +1213,13 @@ class _TransactionSender:
|
|
|
1215
1213
|
skip_signatures=True,
|
|
1216
1214
|
allow_more_logs=True,
|
|
1217
1215
|
allow_empty_signatures=True,
|
|
1218
|
-
extra_opcode_budget=
|
|
1216
|
+
extra_opcode_budget=MAX_SIMULATE_OPCODE_BUDGET,
|
|
1219
1217
|
exec_trace_config=None,
|
|
1220
1218
|
simulation_round=None,
|
|
1221
1219
|
)
|
|
1222
1220
|
except Exception as e:
|
|
1221
|
+
# For read-only calls with max opcode budget, fee issues should be rare
|
|
1222
|
+
# but we can still provide helpful error message if they occur
|
|
1223
1223
|
if readonly_send_params.get("cover_app_call_inner_transaction_fees") and "fee too small" in str(e):
|
|
1224
1224
|
raise ValueError(
|
|
1225
1225
|
"Fees were too small. You may need to increase the transaction `maxFee`."
|
|
@@ -21,7 +21,7 @@ algokit_utils/application_client.py,sha256=5UIxXIBjukjRyjZPCeXmaNlAftbb3TziV7EfB
|
|
|
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
|
-
algokit_utils/applications/app_client.py,sha256=
|
|
24
|
+
algokit_utils/applications/app_client.py,sha256=wScCqe3j33EJbBGncRnAeGy55sHEgujtnL6WNmDVDRw,88477
|
|
25
25
|
algokit_utils/applications/app_deployer.py,sha256=xJCu7SU66OTg5misSbSF0QI8abRB-DWAwAVKd1kNcPI,30685
|
|
26
26
|
algokit_utils/applications/app_factory.py,sha256=jVAzoK1J9S-BTGHA5BLxT-cl0pWhPdf222W4fYpFihE,45352
|
|
27
27
|
algokit_utils/applications/app_manager.py,sha256=8bboIswlwBQhPIqilSBMaxd83yHjIpkloezmtgcAdZY,22301
|
|
@@ -64,7 +64,7 @@ algokit_utils/transactions/__init__.py,sha256=7fYF3m6DyOGzbV36MT5svo0wSkj9AIz496
|
|
|
64
64
|
algokit_utils/transactions/transaction_composer.py,sha256=eK-6l2W1CkbKID1ezi-zCs_TxA2i5ZTm3YTl8sT2Zfw,103995
|
|
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.1.
|
|
68
|
-
algokit_utils-4.1.
|
|
69
|
-
algokit_utils-4.1.
|
|
70
|
-
algokit_utils-4.1.
|
|
67
|
+
algokit_utils-4.1.0b7.dist-info/LICENSE,sha256=J5i7U1Q9Q2c7saUzlvFRmrCCFhQyXb5Juz_LO5omNUw,1076
|
|
68
|
+
algokit_utils-4.1.0b7.dist-info/METADATA,sha256=W7IeGIhYSpAqdMimtS1gV2YbTrH-GuvqmENN7WHuk3I,2421
|
|
69
|
+
algokit_utils-4.1.0b7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
70
|
+
algokit_utils-4.1.0b7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|