algokit-utils 4.0.1b3__py3-none-any.whl → 4.1.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/__init__.py +4 -0
- algokit_utils/_legacy_v2/account.py +2 -2
- algokit_utils/_legacy_v2/application_client.py +1 -3
- algokit_utils/_legacy_v2/deploy.py +1 -2
- algokit_utils/applications/app_client.py +2 -2
- algokit_utils/applications/app_deployer.py +2 -3
- algokit_utils/applications/app_factory.py +2 -3
- algokit_utils/clients/_algokit_core_bridge.py +52 -0
- algokit_utils/clients/client_manager.py +7 -1
- algokit_utils/errors/logic_error.py +1 -1
- algokit_utils/transactions/_algokit_core_bridge.py +76 -0
- algokit_utils/transactions/transaction_composer.py +21 -4
- algokit_utils/transactions/transaction_sender.py +2 -3
- {algokit_utils-4.0.1b3.dist-info → algokit_utils-4.1.0b1.dist-info}/METADATA +1 -1
- {algokit_utils-4.0.1b3.dist-info → algokit_utils-4.1.0b1.dist-info}/RECORD +17 -15
- {algokit_utils-4.0.1b3.dist-info → algokit_utils-4.1.0b1.dist-info}/WHEEL +1 -1
- {algokit_utils-4.0.1b3.dist-info → algokit_utils-4.1.0b1.dist-info}/LICENSE +0 -0
algokit_utils/__init__.py
CHANGED
|
@@ -9,6 +9,10 @@ For more specific functionality, import directly from the relevant submodules:
|
|
|
9
9
|
etc.
|
|
10
10
|
"""
|
|
11
11
|
|
|
12
|
+
import importlib.util
|
|
13
|
+
|
|
14
|
+
_EXPERIMENTAL_DEPENDENCIES_INSTALLED: bool | None = importlib.util.find_spec("algokit_algod_api") is not None
|
|
15
|
+
|
|
12
16
|
# Core types and utilities that are commonly used
|
|
13
17
|
from algokit_utils.applications import * # noqa: F403
|
|
14
18
|
from algokit_utils.assets import * # noqa: F403
|
|
@@ -32,7 +32,7 @@ _DEFAULT_ACCOUNT_MINIMUM_BALANCE = 1_000_000_000
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
@deprecated(
|
|
35
|
-
"Use `algorand.account.from_mnemonic()` instead. Example:
|
|
35
|
+
"Use `algorand.account.from_mnemonic()` instead. Example: `account = algorand.account.from_mnemonic(mnemonic)`"
|
|
36
36
|
)
|
|
37
37
|
def get_account_from_mnemonic(mnemonic: str) -> Account:
|
|
38
38
|
"""Convert a mnemonic (25 word passphrase) into an Account"""
|
|
@@ -127,7 +127,7 @@ def get_dispenser_account(client: "AlgodClient") -> Account:
|
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
@deprecated(
|
|
130
|
-
"Use `algorand.account.from_kmd()` instead. Example:
|
|
130
|
+
"Use `algorand.account.from_kmd()` instead. Example: `account = algorand.account.from_kmd(name, predicate)`"
|
|
131
131
|
)
|
|
132
132
|
def get_kmd_wallet_account(
|
|
133
133
|
client: "AlgodClient",
|
|
@@ -243,9 +243,7 @@ class ApplicationClient:
|
|
|
243
243
|
"""Creates a copy of this ApplicationClient, using the new signer, sender and app_id values if provided.
|
|
244
244
|
Will also substitute provided template_values into the associated app_spec in the copy"""
|
|
245
245
|
new_client: ApplicationClient = copy.copy(self)
|
|
246
|
-
new_client._prepare(
|
|
247
|
-
new_client, signer=signer, sender=sender, app_id=app_id, template_values=template_values
|
|
248
|
-
)
|
|
246
|
+
new_client._prepare(new_client, signer=signer, sender=sender, app_id=app_id, template_values=template_values)
|
|
249
247
|
return new_client
|
|
250
248
|
|
|
251
249
|
def _prepare(
|
|
@@ -641,8 +641,7 @@ class Deployer:
|
|
|
641
641
|
elif self.on_update == OnUpdate.ReplaceApp:
|
|
642
642
|
if self.existing_app_metadata_or_reference.updatable is False:
|
|
643
643
|
logger.warning(
|
|
644
|
-
"App is not updatable and on_update=ReplaceApp, "
|
|
645
|
-
"will attempt to create new app and delete old app"
|
|
644
|
+
"App is not updatable and on_update=ReplaceApp, will attempt to create new app and delete old app"
|
|
646
645
|
)
|
|
647
646
|
else:
|
|
648
647
|
logger.warning(
|
|
@@ -2047,7 +2047,7 @@ class AppClient:
|
|
|
2047
2047
|
if not value:
|
|
2048
2048
|
raise ValueError(
|
|
2049
2049
|
f"Key '{default_value.data}' not found in {default_value.source} "
|
|
2050
|
-
f"storage for argument {method_arg.name or f'arg{i+1}'}"
|
|
2050
|
+
f"storage for argument {method_arg.name or f'arg{i + 1}'}"
|
|
2051
2051
|
)
|
|
2052
2052
|
|
|
2053
2053
|
if value.value_raw:
|
|
@@ -2065,7 +2065,7 @@ class AppClient:
|
|
|
2065
2065
|
elif not algosdk.abi.is_abi_transaction_type(method_arg.type):
|
|
2066
2066
|
raise ValueError(
|
|
2067
2067
|
f"No value provided for required argument "
|
|
2068
|
-
f"{method_arg.name or f'arg{i+1}'} in call to method {method.name}"
|
|
2068
|
+
f"{method_arg.name or f'arg{i + 1}'} in call to method {method.name}"
|
|
2069
2069
|
)
|
|
2070
2070
|
elif arg_value is None and default_value is None:
|
|
2071
2071
|
# At this point only allow explicit None values if no default value was identified
|
|
@@ -239,7 +239,7 @@ class AppDeployer:
|
|
|
239
239
|
suppress_log = send_params.get("suppress_log") or False
|
|
240
240
|
|
|
241
241
|
config.logger.info(
|
|
242
|
-
f
|
|
242
|
+
f'Idempotently deploying app "{deployment.metadata.name}" from creator '
|
|
243
243
|
f"{deployment.create_params.sender} using {len(deployment.create_params.approval_program)} bytes of "
|
|
244
244
|
f"{'teal code' if isinstance(deployment.create_params.approval_program, str) else 'AVM bytecode'} and "
|
|
245
245
|
f"{len(deployment.create_params.clear_state_program)} bytes of "
|
|
@@ -623,8 +623,7 @@ class AppDeployer:
|
|
|
623
623
|
|
|
624
624
|
if deployment.on_update in (OnUpdate.Fail, "fail") or deployment.on_update is None:
|
|
625
625
|
raise ValueError(
|
|
626
|
-
"Update detected and on_update=Fail, stopping deployment. "
|
|
627
|
-
"Try a different on_update value to not fail."
|
|
626
|
+
"Update detected and on_update=Fail, stopping deployment. Try a different on_update value to not fail."
|
|
628
627
|
)
|
|
629
628
|
|
|
630
629
|
if deployment.on_update in (OnUpdate.AppendApp, "append"):
|
|
@@ -1122,13 +1122,12 @@ class AppFactory:
|
|
|
1122
1122
|
results.append(decoded_value)
|
|
1123
1123
|
else:
|
|
1124
1124
|
raise ValueError(
|
|
1125
|
-
f"Cannot provide default value from source={default_value.source} "
|
|
1126
|
-
"for a contract creation call."
|
|
1125
|
+
f"Cannot provide default value from source={default_value.source} for a contract creation call."
|
|
1127
1126
|
)
|
|
1128
1127
|
else:
|
|
1129
1128
|
param_name = param.name or f"arg{i + 1}"
|
|
1130
1129
|
raise ValueError(
|
|
1131
|
-
f"No value provided for required argument {param_name}
|
|
1130
|
+
f"No value provided for required argument {param_name} in call to method {method.name}"
|
|
1132
1131
|
)
|
|
1133
1132
|
|
|
1134
1133
|
return results
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import base64
|
|
2
|
+
from collections.abc import Iterable
|
|
3
|
+
|
|
4
|
+
from algosdk.encoding import msgpack_encode
|
|
5
|
+
from algosdk.transaction import GenericSignedTransaction
|
|
6
|
+
from algosdk.v2client.algod import AlgodClient
|
|
7
|
+
|
|
8
|
+
from algokit_utils import _EXPERIMENTAL_DEPENDENCIES_INSTALLED
|
|
9
|
+
|
|
10
|
+
if not _EXPERIMENTAL_DEPENDENCIES_INSTALLED:
|
|
11
|
+
raise ImportError(
|
|
12
|
+
"Installing experimental dependencies is necessary to use AlgodClientWithCore. "
|
|
13
|
+
"Install this package with --group=experimental"
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
import algokit_algod_api
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class AlgodClientWithCore:
|
|
20
|
+
"""
|
|
21
|
+
A decorator for AlgodClient that extends its functionality with algokit_algod_api capabilities.
|
|
22
|
+
This class wraps an AlgodClient instance while maintaining the same interface.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
def __init__(self, algod_client: AlgodClient):
|
|
26
|
+
self._algod_client = algod_client
|
|
27
|
+
|
|
28
|
+
configuration = algokit_algod_api.Configuration(
|
|
29
|
+
host=algod_client.algod_address, api_key={"api_key": self._algod_client.algod_token}
|
|
30
|
+
)
|
|
31
|
+
api_client = algokit_algod_api.ApiClient(configuration)
|
|
32
|
+
self._algod_core_client = algokit_algod_api.AlgodApi(api_client=api_client)
|
|
33
|
+
|
|
34
|
+
def send_raw_transaction(self, txn):
|
|
35
|
+
"""
|
|
36
|
+
Override the method to send a raw transaction using algokit_algod_api.
|
|
37
|
+
"""
|
|
38
|
+
return self._algod_core_client.raw_transaction(base64.b64decode(txn))
|
|
39
|
+
|
|
40
|
+
def send_transactions(self, txns: Iterable[GenericSignedTransaction]):
|
|
41
|
+
"""
|
|
42
|
+
Override the method to send multiple transactions using algokit_algod_api.
|
|
43
|
+
"""
|
|
44
|
+
return self.send_raw_transaction(
|
|
45
|
+
base64.b64encode(b"".join(base64.b64decode(msgpack_encode(txn)) for txn in txns))
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
def __getattr__(self, name):
|
|
49
|
+
"""
|
|
50
|
+
Delegate all other method calls to the wrapped AlgodClient instance.
|
|
51
|
+
"""
|
|
52
|
+
return getattr(self._algod_client, name)
|
|
@@ -13,6 +13,7 @@ from algosdk.transaction import SuggestedParams
|
|
|
13
13
|
from algosdk.v2client.algod import AlgodClient
|
|
14
14
|
from algosdk.v2client.indexer import IndexerClient
|
|
15
15
|
|
|
16
|
+
from algokit_utils import _EXPERIMENTAL_DEPENDENCIES_INSTALLED
|
|
16
17
|
from algokit_utils._legacy_v2.application_specification import ApplicationSpecification
|
|
17
18
|
from algokit_utils.applications.app_deployer import ApplicationLookup
|
|
18
19
|
from algokit_utils.applications.app_spec.arc56 import Arc56Contract
|
|
@@ -119,7 +120,12 @@ class ClientManager:
|
|
|
119
120
|
if clients_or_configs.kmd_config
|
|
120
121
|
else None,
|
|
121
122
|
)
|
|
122
|
-
|
|
123
|
+
if not _EXPERIMENTAL_DEPENDENCIES_INSTALLED:
|
|
124
|
+
self._algod = _clients.algod
|
|
125
|
+
else:
|
|
126
|
+
from algokit_utils.clients._algokit_core_bridge import AlgodClientWithCore
|
|
127
|
+
|
|
128
|
+
self._algod = AlgodClientWithCore(_clients.algod) # type: ignore[assignment]
|
|
123
129
|
self._indexer = _clients.indexer
|
|
124
130
|
self._kmd = _clients.kmd
|
|
125
131
|
self._algorand = algorand_client
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import base64
|
|
2
|
+
from typing import cast
|
|
3
|
+
|
|
4
|
+
import algosdk.transaction
|
|
5
|
+
from algokit_transact import (
|
|
6
|
+
FeeParams,
|
|
7
|
+
PaymentTransactionFields,
|
|
8
|
+
Transaction,
|
|
9
|
+
TransactionType,
|
|
10
|
+
address_from_string,
|
|
11
|
+
assign_fee,
|
|
12
|
+
encode_transaction_raw,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def build_payment_with_core( # noqa: PLR0913
|
|
17
|
+
sender,
|
|
18
|
+
sp,
|
|
19
|
+
receiver,
|
|
20
|
+
amt,
|
|
21
|
+
close_remainder_to=None,
|
|
22
|
+
note=None,
|
|
23
|
+
lease=None,
|
|
24
|
+
rekey_to=None,
|
|
25
|
+
static_fee=None,
|
|
26
|
+
max_fee=None,
|
|
27
|
+
extra_fee=None,
|
|
28
|
+
) -> algosdk.transaction.PaymentTxn:
|
|
29
|
+
# Determine static fee based on parameters or suggested params
|
|
30
|
+
static_fee_value = None
|
|
31
|
+
if static_fee is not None:
|
|
32
|
+
static_fee_value = static_fee
|
|
33
|
+
elif sp.flat_fee:
|
|
34
|
+
static_fee_value = sp.fee
|
|
35
|
+
|
|
36
|
+
txn = Transaction(
|
|
37
|
+
transaction_type=TransactionType.PAYMENT,
|
|
38
|
+
sender=address_from_string(sender),
|
|
39
|
+
fee=static_fee_value,
|
|
40
|
+
first_valid=sp.first,
|
|
41
|
+
last_valid=sp.last,
|
|
42
|
+
genesis_hash=base64.b64decode(sp.gh),
|
|
43
|
+
genesis_id=sp.gen,
|
|
44
|
+
note=note,
|
|
45
|
+
lease=lease,
|
|
46
|
+
rekey_to=address_from_string(rekey_to) if rekey_to else None,
|
|
47
|
+
payment=PaymentTransactionFields(
|
|
48
|
+
receiver=address_from_string(receiver),
|
|
49
|
+
amount=amt,
|
|
50
|
+
close_remainder_to=address_from_string(close_remainder_to) if close_remainder_to else None,
|
|
51
|
+
),
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
if txn.fee is not None:
|
|
55
|
+
# Static fee is already set, encode and return directly
|
|
56
|
+
return cast(
|
|
57
|
+
algosdk.transaction.PaymentTxn,
|
|
58
|
+
algosdk.encoding.msgpack_decode(base64.b64encode(encode_transaction_raw(txn)).decode("utf-8")),
|
|
59
|
+
)
|
|
60
|
+
else:
|
|
61
|
+
# Use assign_fee with fee parameters
|
|
62
|
+
min_fee = sp.min_fee or algosdk.constants.MIN_TXN_FEE
|
|
63
|
+
txn_with_fee = assign_fee(
|
|
64
|
+
txn,
|
|
65
|
+
FeeParams(
|
|
66
|
+
fee_per_byte=sp.fee,
|
|
67
|
+
min_fee=min_fee,
|
|
68
|
+
max_fee=max_fee,
|
|
69
|
+
extra_fee=extra_fee,
|
|
70
|
+
),
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return cast(
|
|
74
|
+
algosdk.transaction.PaymentTxn,
|
|
75
|
+
algosdk.encoding.msgpack_decode(base64.b64encode(encode_transaction_raw(txn_with_fee)).decode("utf-8")),
|
|
76
|
+
)
|
|
@@ -17,11 +17,12 @@ from algosdk.atomic_transaction_composer import (
|
|
|
17
17
|
TransactionSigner,
|
|
18
18
|
TransactionWithSigner,
|
|
19
19
|
)
|
|
20
|
-
from algosdk.transaction import
|
|
20
|
+
from algosdk.transaction import OnComplete, SuggestedParams
|
|
21
21
|
from algosdk.v2client.algod import AlgodClient
|
|
22
22
|
from algosdk.v2client.models.simulate_request import SimulateRequest
|
|
23
23
|
from typing_extensions import deprecated
|
|
24
24
|
|
|
25
|
+
from algokit_utils import _EXPERIMENTAL_DEPENDENCIES_INSTALLED
|
|
25
26
|
from algokit_utils.applications.abi import ABIReturn, ABIValue
|
|
26
27
|
from algokit_utils.applications.app_manager import AppManager
|
|
27
28
|
from algokit_utils.applications.app_spec.arc56 import Method as Arc56Method
|
|
@@ -30,6 +31,9 @@ from algokit_utils.models.state import BoxIdentifier, BoxReference
|
|
|
30
31
|
from algokit_utils.models.transaction import SendParams, TransactionWrapper
|
|
31
32
|
from algokit_utils.protocols.account import TransactionSignerAccountProtocol
|
|
32
33
|
|
|
34
|
+
if _EXPERIMENTAL_DEPENDENCIES_INSTALLED:
|
|
35
|
+
from algokit_utils.transactions._algokit_core_bridge import build_payment_with_core
|
|
36
|
+
|
|
33
37
|
if TYPE_CHECKING:
|
|
34
38
|
from collections.abc import Callable
|
|
35
39
|
|
|
@@ -1833,8 +1837,7 @@ class TransactionComposer:
|
|
|
1833
1837
|
group = self.build().transactions
|
|
1834
1838
|
|
|
1835
1839
|
if not params:
|
|
1836
|
-
|
|
1837
|
-
params = SendParams() if has_app_call else SendParams()
|
|
1840
|
+
params = SendParams()
|
|
1838
1841
|
|
|
1839
1842
|
cover_app_call_inner_transaction_fees = params.get("cover_app_call_inner_transaction_fees")
|
|
1840
1843
|
populate_app_call_resources = params.get("populate_app_call_resources")
|
|
@@ -1862,6 +1865,17 @@ class TransactionComposer:
|
|
|
1862
1865
|
)
|
|
1863
1866
|
except algosdk.error.AlgodHTTPError as e:
|
|
1864
1867
|
raise Exception(f"Transaction failed: {e}") from e
|
|
1868
|
+
# We need this code to handle separately an exception thrown by the experimental AlgoKit Algod Client.
|
|
1869
|
+
# However, we can't just import the dependency (as it may not be there) and
|
|
1870
|
+
# we still need to re-throw the exception in all other cases.
|
|
1871
|
+
except Exception as e:
|
|
1872
|
+
if _EXPERIMENTAL_DEPENDENCIES_INSTALLED:
|
|
1873
|
+
from algokit_algod_api.exceptions import BadRequestException
|
|
1874
|
+
|
|
1875
|
+
if isinstance(e, BadRequestException):
|
|
1876
|
+
raise Exception(f"Transaction failed: {e}") from e
|
|
1877
|
+
raise e
|
|
1878
|
+
raise e
|
|
1865
1879
|
|
|
1866
1880
|
def _handle_simulate_error(self, simulate_response: SimulateAtomicTransactionResponse) -> None:
|
|
1867
1881
|
# const failedGroup = simulateResponse?.txnGroups[0]
|
|
@@ -2251,7 +2265,10 @@ class TransactionComposer:
|
|
|
2251
2265
|
"close_remainder_to": params.close_remainder_to,
|
|
2252
2266
|
}
|
|
2253
2267
|
|
|
2254
|
-
|
|
2268
|
+
if _EXPERIMENTAL_DEPENDENCIES_INSTALLED:
|
|
2269
|
+
return self._common_txn_build_step(lambda x: build_payment_with_core(**x), params, txn_params)
|
|
2270
|
+
else:
|
|
2271
|
+
return self._common_txn_build_step(lambda x: algosdk.transaction.PaymentTxn(**x), params, txn_params)
|
|
2255
2272
|
|
|
2256
2273
|
def _build_asset_create(
|
|
2257
2274
|
self, params: AssetCreateParams, suggested_params: algosdk.transaction.SuggestedParams
|
|
@@ -650,8 +650,7 @@ class AlgorandClientTransactionSender:
|
|
|
650
650
|
return self._send(
|
|
651
651
|
lambda c: c.add_asset_opt_in,
|
|
652
652
|
pre_log=lambda params, transaction: (
|
|
653
|
-
f"Opting in {params.sender} to asset with ID {params.asset_id} via transaction "
|
|
654
|
-
f"{transaction.get_txid()}"
|
|
653
|
+
f"Opting in {params.sender} to asset with ID {params.asset_id} via transaction {transaction.get_txid()}"
|
|
655
654
|
),
|
|
656
655
|
)(params, send_params)
|
|
657
656
|
|
|
@@ -714,7 +713,7 @@ class AlgorandClientTransactionSender:
|
|
|
714
713
|
)
|
|
715
714
|
except Exception as e:
|
|
716
715
|
raise ValueError(
|
|
717
|
-
f"Account {params.sender} is not opted-in to Asset {params.asset_id};
|
|
716
|
+
f"Account {params.sender} is not opted-in to Asset {params.asset_id}; can't opt-out."
|
|
718
717
|
) from e
|
|
719
718
|
|
|
720
719
|
if not hasattr(params, "creator"):
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
algokit_utils/__init__.py,sha256=
|
|
1
|
+
algokit_utils/__init__.py,sha256=G7rlh_8PtTQMZpL3Ja0_qTT2gN6D_rG8AiAFmFBqzMM,1173
|
|
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=k52b56CfWttPiu2gy09HIEiXl0eIz5WKQy-iuhxpSQg,6909
|
|
5
5
|
algokit_utils/_legacy_v2/_transfer.py,sha256=nMHm3jXKJLLjOLqjMK_B3bFsslDCx45EPJ5yt7Ex-8k,6464
|
|
6
|
-
algokit_utils/_legacy_v2/account.py,sha256=
|
|
7
|
-
algokit_utils/_legacy_v2/application_client.py,sha256=
|
|
6
|
+
algokit_utils/_legacy_v2/account.py,sha256=9rLtA67cDLJZozCbeMzQS0aZPHXh-z5MxTKEUcbzDtw,8308
|
|
7
|
+
algokit_utils/_legacy_v2/application_client.py,sha256=nSTnT98WRWhxo4xjtQACJW7hmIwhb9EMzyhkUcX50CM,59572
|
|
8
8
|
algokit_utils/_legacy_v2/application_specification.py,sha256=wp2Y9ou2_F-bSFbDnm6AEhFexybmD7-fAT0CuWtO26g,521
|
|
9
9
|
algokit_utils/_legacy_v2/asset.py,sha256=vuSmqwEp2W6bpLB34_fUkzZ8VnLDXC__d-rqI4bmkDM,7574
|
|
10
10
|
algokit_utils/_legacy_v2/common.py,sha256=lB6zHUDJSjYiZ41hvcG0P5TZk_t-n2Iy0OXuQcJosm0,823
|
|
11
|
-
algokit_utils/_legacy_v2/deploy.py,sha256=
|
|
11
|
+
algokit_utils/_legacy_v2/deploy.py,sha256=RMQ3AG5cNRzcYHzpFM9fQJo2f4dQeFDBKPIvx4K2e6Q,32755
|
|
12
12
|
algokit_utils/_legacy_v2/logic_error.py,sha256=pmaMTuvbOD7PHukSY4epzJRptSivc4O0vFZdW_zzZ38,345
|
|
13
13
|
algokit_utils/_legacy_v2/models.py,sha256=hH7aO50E4po4EgxXI9zdX5HTthn1HLfSLvkuPfgAATc,7403
|
|
14
14
|
algokit_utils/_legacy_v2/network_clients.py,sha256=z_zm1da9CVBG2TOAnXeYkHBh6a8HtXsSdNrlEizc8J0,5928
|
|
@@ -21,9 +21,9 @@ 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=
|
|
25
|
-
algokit_utils/applications/app_deployer.py,sha256
|
|
26
|
-
algokit_utils/applications/app_factory.py,sha256=
|
|
24
|
+
algokit_utils/applications/app_client.py,sha256=WKedIu3CDamBW8dAAR5IBYCXkesvETkof1dwIqKHaNE,88474
|
|
25
|
+
algokit_utils/applications/app_deployer.py,sha256=-6pCs61PdFMMrnDIpXOuaIlr6TgDkvsB6vwbOZhOiZ0,30606
|
|
26
|
+
algokit_utils/applications/app_factory.py,sha256=jVAzoK1J9S-BTGHA5BLxT-cl0pWhPdf222W4fYpFihE,45352
|
|
27
27
|
algokit_utils/applications/app_manager.py,sha256=8bboIswlwBQhPIqilSBMaxd83yHjIpkloezmtgcAdZY,22301
|
|
28
28
|
algokit_utils/applications/app_spec/__init__.py,sha256=HtjAhAqHNFml9WbRKGmhJnwyJeW8AztPRO_BriQ84vs,140
|
|
29
29
|
algokit_utils/applications/app_spec/arc32.py,sha256=8MMGUopPzkWq48rl5sYbc2Awf-RKnxSX8F0P0UibK5M,7523
|
|
@@ -38,14 +38,15 @@ algokit_utils/beta/algorand_client.py,sha256=xDFvsMSha0Ki42BGvKvfScQWT_W9y4GeP_R
|
|
|
38
38
|
algokit_utils/beta/client_manager.py,sha256=xDFvsMSha0Ki42BGvKvfScQWT_W9y4GeP_RWXjc3vnE,213
|
|
39
39
|
algokit_utils/beta/composer.py,sha256=xDFvsMSha0Ki42BGvKvfScQWT_W9y4GeP_RWXjc3vnE,213
|
|
40
40
|
algokit_utils/clients/__init__.py,sha256=qUuKBvfLnw4z6ZU9x7mc-mLjfnnXC9UcvtoeU33ZLJ8,136
|
|
41
|
-
algokit_utils/clients/
|
|
41
|
+
algokit_utils/clients/_algokit_core_bridge.py,sha256=qFgkcuYlf2Lw-2uZFA-TORPWU5CY02t6tS8mOvh9lfc,1882
|
|
42
|
+
algokit_utils/clients/client_manager.py,sha256=p0pGx3rMrCR698L8cZVR0yNq21Y7j856vIjtiFlwV7s,28927
|
|
42
43
|
algokit_utils/clients/dispenser_api_client.py,sha256=3TgbnQsDmC9zSfDIykwNKDadbXLhQKZxUSbPwTDJISY,7336
|
|
43
44
|
algokit_utils/common.py,sha256=5wl83vWw91RYdEC4hTTufqaptKiFtgjKLIyONDmRSH0,300
|
|
44
45
|
algokit_utils/config.py,sha256=CvDH5B8uPWnm6wCHHlMsl-0lONzq26vPLvwmnbw7c-k,6048
|
|
45
46
|
algokit_utils/deploy.py,sha256=UUtSDI6JcBUuto62FuirhUlDcjZwQyLkiERgDMx8P7A,330
|
|
46
47
|
algokit_utils/dispenser_api.py,sha256=-EO4Dq3q_v4kSMey43kXJfoX8uCBPJpjEMTlLI7xn_I,324
|
|
47
48
|
algokit_utils/errors/__init__.py,sha256=CmuiLVjzMAOYxPaIIwmYCNArsso_RtS2ssFoNdp5CMs,61
|
|
48
|
-
algokit_utils/errors/logic_error.py,sha256=
|
|
49
|
+
algokit_utils/errors/logic_error.py,sha256=iDCyPTSK_aP8Pzjk-7PDcWqC1R764IJks6tle-d7znc,4116
|
|
49
50
|
algokit_utils/logic_error.py,sha256=3duw-l6tBr-DeapO0e0tYHoa9rOxP-QZZ6QWmN8L9tc,305
|
|
50
51
|
algokit_utils/models/__init__.py,sha256=0aB_c5pnkqKl1Z0hkxM9qbKn2qVdizZE2DvziN9ObqM,465
|
|
51
52
|
algokit_utils/models/account.py,sha256=eqGJvExzd7gDm3--DBDaIq6pJarxMPHZ-UySxZ9Qznk,6778
|
|
@@ -61,10 +62,11 @@ algokit_utils/protocols/account.py,sha256=CowaVY7ErBP84TWBHNvBjkZy18whPb8HIlMZtJ
|
|
|
61
62
|
algokit_utils/protocols/typed_clients.py,sha256=UrQrHbN2SvS8pEFJ8JQodvouoWeBrQOQGZGyBQx1KLM,3322
|
|
62
63
|
algokit_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
64
|
algokit_utils/transactions/__init__.py,sha256=7fYF3m6DyOGzbV36MT5svo0wSkj9AIz496kWgIWSAlk,225
|
|
64
|
-
algokit_utils/transactions/
|
|
65
|
+
algokit_utils/transactions/_algokit_core_bridge.py,sha256=Q9Mf86fo-mOVu-8i1MeA91AkwhBnEjsx-4w3uVoY5dg,2191
|
|
66
|
+
algokit_utils/transactions/transaction_composer.py,sha256=yHpL9FqYEFevh3WRIwHcBZ2ukEXPFmkzYK8nJev83i4,104959
|
|
65
67
|
algokit_utils/transactions/transaction_creator.py,sha256=cuP6Xm-fhGoCc2FNSbLiEg3iQRwW38rfdTzsqPyEcpM,29053
|
|
66
|
-
algokit_utils/transactions/transaction_sender.py,sha256=
|
|
67
|
-
algokit_utils-4.
|
|
68
|
-
algokit_utils-4.
|
|
69
|
-
algokit_utils-4.
|
|
70
|
-
algokit_utils-4.
|
|
68
|
+
algokit_utils/transactions/transaction_sender.py,sha256=4u2FON3YM4_DKPde6gSkZFAH1wp7FC8E65HpQ803RNo,50056
|
|
69
|
+
algokit_utils-4.1.0b1.dist-info/LICENSE,sha256=J5i7U1Q9Q2c7saUzlvFRmrCCFhQyXb5Juz_LO5omNUw,1076
|
|
70
|
+
algokit_utils-4.1.0b1.dist-info/METADATA,sha256=BJDqaXQJcgIC_Kw-yVTv9W0h9bpvvItguxwNMbQYv8Q,2421
|
|
71
|
+
algokit_utils-4.1.0b1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
72
|
+
algokit_utils-4.1.0b1.dist-info/RECORD,,
|
|
File without changes
|