algokit-utils 5.0.0a3__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.
Files changed (337) hide show
  1. algokit_abi/__init__.py +9 -0
  2. algokit_abi/_arc32_to_arc56.py +242 -0
  3. algokit_abi/_arc56_serde.py +161 -0
  4. algokit_abi/abi.py +667 -0
  5. algokit_abi/arc32.py +210 -0
  6. algokit_abi/arc56.py +821 -0
  7. algokit_abi/py.typed +0 -0
  8. algokit_algo25/__init__.py +38 -0
  9. algokit_algo25/_encoding.py +46 -0
  10. algokit_algo25/_wordlist.py +2065 -0
  11. algokit_algo25/exceptions.py +29 -0
  12. algokit_algo25/mnemonic.py +128 -0
  13. algokit_algo25/py.typed +0 -0
  14. algokit_algod_client/__init__.py +10 -0
  15. algokit_algod_client/client.py +1585 -0
  16. algokit_algod_client/config.py +36 -0
  17. algokit_algod_client/exceptions.py +59 -0
  18. algokit_algod_client/models/__init__.py +229 -0
  19. algokit_algod_client/models/_account.py +150 -0
  20. algokit_algod_client/models/_account_application_response.py +25 -0
  21. algokit_algod_client/models/_account_asset_response.py +25 -0
  22. algokit_algod_client/models/_account_participation.py +53 -0
  23. algokit_algod_client/models/_account_state_delta.py +30 -0
  24. algokit_algod_client/models/_allocations_for_genesis_file.py +23 -0
  25. algokit_algod_client/models/_allocations_for_genesis_file_state_model.py +42 -0
  26. algokit_algod_client/models/_application.py +23 -0
  27. algokit_algod_client/models/_application_initial_states.py +37 -0
  28. algokit_algod_client/models/_application_kvstorage.py +29 -0
  29. algokit_algod_client/models/_application_local_state.py +33 -0
  30. algokit_algod_client/models/_application_params.py +63 -0
  31. algokit_algod_client/models/_application_state_operation.py +41 -0
  32. algokit_algod_client/models/_application_state_schema.py +22 -0
  33. algokit_algod_client/models/_asset.py +23 -0
  34. algokit_algod_client/models/_asset_holding.py +29 -0
  35. algokit_algod_client/models/_asset_params.py +102 -0
  36. algokit_algod_client/models/_avm_key_value.py +28 -0
  37. algokit_algod_client/models/_avm_value.py +32 -0
  38. algokit_algod_client/models/_block.py +363 -0
  39. algokit_algod_client/models/_block_hash_response.py +14 -0
  40. algokit_algod_client/models/_block_txids_response.py +14 -0
  41. algokit_algod_client/models/_box.py +36 -0
  42. algokit_algod_client/models/_box_descriptor.py +24 -0
  43. algokit_algod_client/models/_boxes_response.py +21 -0
  44. algokit_algod_client/models/_build_version_contains_the_current_algod_build_version_information.py +34 -0
  45. algokit_algod_client/models/_compile_response.py +24 -0
  46. algokit_algod_client/models/_disassemble_response.py +14 -0
  47. algokit_algod_client/models/_error_response.py +22 -0
  48. algokit_algod_client/models/_eval_delta.py +32 -0
  49. algokit_algod_client/models/_eval_delta_key_value.py +28 -0
  50. algokit_algod_client/models/_genesis_file_in_json.py +53 -0
  51. algokit_algod_client/models/_get_block_time_stamp_offset_response.py +14 -0
  52. algokit_algod_client/models/_get_sync_round_response.py +14 -0
  53. algokit_algod_client/models/_ledger_state_delta.py +389 -0
  54. algokit_algod_client/models/_light_block_header_proof.py +32 -0
  55. algokit_algod_client/models/_node_status_response.py +118 -0
  56. algokit_algod_client/models/_pending_transaction_response.py +91 -0
  57. algokit_algod_client/models/_pending_transactions_response.py +29 -0
  58. algokit_algod_client/models/_post_transactions_response.py +14 -0
  59. algokit_algod_client/models/_scratch_change.py +23 -0
  60. algokit_algod_client/models/_serde_helpers.py +241 -0
  61. algokit_algod_client/models/_simulate_initial_states.py +25 -0
  62. algokit_algod_client/models/_simulate_request.py +54 -0
  63. algokit_algod_client/models/_simulate_request_transaction_group.py +25 -0
  64. algokit_algod_client/models/_simulate_response.py +44 -0
  65. algokit_algod_client/models/_simulate_trace_config.py +30 -0
  66. algokit_algod_client/models/_simulate_transaction_group_result.py +46 -0
  67. algokit_algod_client/models/_simulate_transaction_result.py +41 -0
  68. algokit_algod_client/models/_simulate_unnamed_resources_accessed.py +64 -0
  69. algokit_algod_client/models/_simulation_eval_overrides.py +40 -0
  70. algokit_algod_client/models/_simulation_opcode_trace_unit.py +55 -0
  71. algokit_algod_client/models/_simulation_transaction_exec_trace.py +82 -0
  72. algokit_algod_client/models/_source_map.py +30 -0
  73. algokit_algod_client/models/_state_delta.py +6 -0
  74. algokit_algod_client/models/_state_proof.py +28 -0
  75. algokit_algod_client/models/_state_proof_message.py +44 -0
  76. algokit_algod_client/models/_supply_response.py +26 -0
  77. algokit_algod_client/models/_teal_key_value.py +28 -0
  78. algokit_algod_client/models/_teal_key_value_store.py +6 -0
  79. algokit_algod_client/models/_teal_value.py +32 -0
  80. algokit_algod_client/models/_transaction_group_ledger_state_deltas_for_round_response.py +21 -0
  81. algokit_algod_client/models/_transaction_parameters_response.py +45 -0
  82. algokit_algod_client/models/_transaction_proof.py +44 -0
  83. algokit_algod_client/models/_version_contains_the_current_algod_version.py +38 -0
  84. algokit_algod_client/models/suggested_params.py +42 -0
  85. algokit_algod_client/py.typed +1 -0
  86. algokit_algod_client/types.py +7 -0
  87. algokit_algosdk/__init__.py +38 -0
  88. algokit_algosdk/account.py +32 -0
  89. algokit_algosdk/app_access.py +228 -0
  90. algokit_algosdk/box_reference.py +100 -0
  91. algokit_algosdk/constants.py +147 -0
  92. algokit_algosdk/encoding.py +89 -0
  93. algokit_algosdk/error.py +180 -0
  94. algokit_algosdk/logic.py +61 -0
  95. algokit_algosdk/logicsig.py +218 -0
  96. algokit_algosdk/mnemonic.py +216 -0
  97. algokit_algosdk/multisig.py +161 -0
  98. algokit_algosdk/py.typed +0 -0
  99. algokit_algosdk/transaction.py +596 -0
  100. algokit_algosdk/wordlist.py +2054 -0
  101. algokit_common/__init__.py +50 -0
  102. algokit_common/address.py +34 -0
  103. algokit_common/constants.py +47 -0
  104. algokit_common/hashing.py +25 -0
  105. algokit_common/py.typed +0 -0
  106. algokit_common/serde/__init__.py +40 -0
  107. algokit_common/serde/_core.py +610 -0
  108. algokit_common/serde/_primitives.py +135 -0
  109. algokit_common/source_map.py +158 -0
  110. algokit_indexer_client/__init__.py +10 -0
  111. algokit_indexer_client/client.py +1456 -0
  112. algokit_indexer_client/config.py +36 -0
  113. algokit_indexer_client/exceptions.py +59 -0
  114. algokit_indexer_client/models/__init__.py +148 -0
  115. algokit_indexer_client/models/_account.py +161 -0
  116. algokit_indexer_client/models/_account_participation.py +53 -0
  117. algokit_indexer_client/models/_account_response.py +19 -0
  118. algokit_indexer_client/models/_account_state_delta.py +29 -0
  119. algokit_indexer_client/models/_accounts_response.py +29 -0
  120. algokit_indexer_client/models/_application.py +35 -0
  121. algokit_indexer_client/models/_application_local_state.py +45 -0
  122. algokit_indexer_client/models/_application_local_states_response.py +29 -0
  123. algokit_indexer_client/models/_application_log_data.py +28 -0
  124. algokit_indexer_client/models/_application_logs_response.py +33 -0
  125. algokit_indexer_client/models/_application_params.py +62 -0
  126. algokit_indexer_client/models/_application_response.py +20 -0
  127. algokit_indexer_client/models/_application_state_schema.py +22 -0
  128. algokit_indexer_client/models/_applications_response.py +29 -0
  129. algokit_indexer_client/models/_asset.py +35 -0
  130. algokit_indexer_client/models/_asset_balances_response.py +29 -0
  131. algokit_indexer_client/models/_asset_holding.py +41 -0
  132. algokit_indexer_client/models/_asset_holdings_response.py +29 -0
  133. algokit_indexer_client/models/_asset_params.py +102 -0
  134. algokit_indexer_client/models/_asset_response.py +19 -0
  135. algokit_indexer_client/models/_assets_response.py +29 -0
  136. algokit_indexer_client/models/_block.py +150 -0
  137. algokit_indexer_client/models/_block_headers_response.py +29 -0
  138. algokit_indexer_client/models/_block_rewards.py +38 -0
  139. algokit_indexer_client/models/_block_upgrade_state.py +34 -0
  140. algokit_indexer_client/models/_block_upgrade_vote.py +26 -0
  141. algokit_indexer_client/models/_box.py +36 -0
  142. algokit_indexer_client/models/_box_descriptor.py +24 -0
  143. algokit_indexer_client/models/_box_reference.py +28 -0
  144. algokit_indexer_client/models/_boxes_response.py +29 -0
  145. algokit_indexer_client/models/_error_response.py +18 -0
  146. algokit_indexer_client/models/_eval_delta.py +32 -0
  147. algokit_indexer_client/models/_eval_delta_key_value.py +28 -0
  148. algokit_indexer_client/models/_hash_factory.py +14 -0
  149. algokit_indexer_client/models/_hb_proof_fields.py +57 -0
  150. algokit_indexer_client/models/_health_check.py +42 -0
  151. algokit_indexer_client/models/_holding_ref.py +23 -0
  152. algokit_indexer_client/models/_indexer_state_proof_message.py +40 -0
  153. algokit_indexer_client/models/_locals_ref.py +23 -0
  154. algokit_indexer_client/models/_merkle_array_proof.py +29 -0
  155. algokit_indexer_client/models/_mini_asset_holding.py +38 -0
  156. algokit_indexer_client/models/_on_completion.py +25 -0
  157. algokit_indexer_client/models/_participation_updates.py +22 -0
  158. algokit_indexer_client/models/_resource_ref.py +42 -0
  159. algokit_indexer_client/models/_serde_helpers.py +241 -0
  160. algokit_indexer_client/models/_state_delta.py +6 -0
  161. algokit_indexer_client/models/_state_proof_fields.py +57 -0
  162. algokit_indexer_client/models/_state_proof_participant.py +20 -0
  163. algokit_indexer_client/models/_state_proof_reveal.py +25 -0
  164. algokit_indexer_client/models/_state_proof_sig_slot.py +20 -0
  165. algokit_indexer_client/models/_state_proof_signature.py +37 -0
  166. algokit_indexer_client/models/_state_proof_tracking.py +32 -0
  167. algokit_indexer_client/models/_state_proof_verifier.py +24 -0
  168. algokit_indexer_client/models/_state_schema.py +25 -0
  169. algokit_indexer_client/models/_teal_key_value.py +28 -0
  170. algokit_indexer_client/models/_teal_key_value_store.py +6 -0
  171. algokit_indexer_client/models/_teal_value.py +32 -0
  172. algokit_indexer_client/models/_transaction.py +213 -0
  173. algokit_indexer_client/models/_transaction_application.py +105 -0
  174. algokit_indexer_client/models/_transaction_asset_config.py +31 -0
  175. algokit_indexer_client/models/_transaction_asset_freeze.py +29 -0
  176. algokit_indexer_client/models/_transaction_asset_transfer.py +41 -0
  177. algokit_indexer_client/models/_transaction_heartbeat.py +52 -0
  178. algokit_indexer_client/models/_transaction_keyreg.py +59 -0
  179. algokit_indexer_client/models/_transaction_payment.py +33 -0
  180. algokit_indexer_client/models/_transaction_response.py +19 -0
  181. algokit_indexer_client/models/_transaction_signature.py +35 -0
  182. algokit_indexer_client/models/_transaction_signature_logicsig.py +59 -0
  183. algokit_indexer_client/models/_transaction_signature_multisig.py +36 -0
  184. algokit_indexer_client/models/_transaction_signature_multisig_subsignature.py +28 -0
  185. algokit_indexer_client/models/_transaction_state_proof.py +32 -0
  186. algokit_indexer_client/models/_transactions_response.py +29 -0
  187. algokit_indexer_client/py.typed +1 -0
  188. algokit_indexer_client/types.py +7 -0
  189. algokit_kmd_client/__init__.py +10 -0
  190. algokit_kmd_client/client.py +1240 -0
  191. algokit_kmd_client/config.py +36 -0
  192. algokit_kmd_client/exceptions.py +59 -0
  193. algokit_kmd_client/models/__init__.py +112 -0
  194. algokit_kmd_client/models/_classical_signatures.py +4 -0
  195. algokit_kmd_client/models/_create_wallet_request.py +30 -0
  196. algokit_kmd_client/models/_create_wallet_response.py +19 -0
  197. algokit_kmd_client/models/_delete_key_request.py +27 -0
  198. algokit_kmd_client/models/_delete_multisig_request.py +27 -0
  199. algokit_kmd_client/models/_digest_represents_a32_byte_value_holding_the256_bit_hash_digest.py +4 -0
  200. algokit_kmd_client/models/_ed25519_public_key.py +4 -0
  201. algokit_kmd_client/models/_export_key_request.py +27 -0
  202. algokit_kmd_client/models/_export_key_response.py +24 -0
  203. algokit_kmd_client/models/_export_master_key_request.py +22 -0
  204. algokit_kmd_client/models/_export_master_key_response.py +18 -0
  205. algokit_kmd_client/models/_export_multisig_request.py +23 -0
  206. algokit_kmd_client/models/_export_multisig_response.py +26 -0
  207. algokit_kmd_client/models/_generate_key_request.py +18 -0
  208. algokit_kmd_client/models/_generate_key_response.py +19 -0
  209. algokit_kmd_client/models/_import_key_request.py +28 -0
  210. algokit_kmd_client/models/_import_key_response.py +19 -0
  211. algokit_kmd_client/models/_import_multisig_request.py +30 -0
  212. algokit_kmd_client/models/_import_multisig_response.py +19 -0
  213. algokit_kmd_client/models/_init_wallet_handle_token_request.py +22 -0
  214. algokit_kmd_client/models/_init_wallet_handle_token_response.py +18 -0
  215. algokit_kmd_client/models/_list_keys_request.py +18 -0
  216. algokit_kmd_client/models/_list_keys_response.py +18 -0
  217. algokit_kmd_client/models/_list_multisig_request.py +18 -0
  218. algokit_kmd_client/models/_list_multisig_response.py +18 -0
  219. algokit_kmd_client/models/_list_wallets_request.py +11 -0
  220. algokit_kmd_client/models/_list_wallets_response.py +25 -0
  221. algokit_kmd_client/models/_master_derivation_key.py +4 -0
  222. algokit_kmd_client/models/_multisig_sig.py +33 -0
  223. algokit_kmd_client/models/_multisig_subsig.py +23 -0
  224. algokit_kmd_client/models/_public_key.py +4 -0
  225. algokit_kmd_client/models/_release_wallet_handle_token_request.py +18 -0
  226. algokit_kmd_client/models/_rename_wallet_request.py +26 -0
  227. algokit_kmd_client/models/_rename_wallet_response.py +19 -0
  228. algokit_kmd_client/models/_renew_wallet_handle_token_request.py +18 -0
  229. algokit_kmd_client/models/_renew_wallet_handle_token_response.py +19 -0
  230. algokit_kmd_client/models/_serde_helpers.py +241 -0
  231. algokit_kmd_client/models/_sign_multisig_response.py +24 -0
  232. algokit_kmd_client/models/_sign_multisig_txn_request.py +45 -0
  233. algokit_kmd_client/models/_sign_program_multisig_request.py +50 -0
  234. algokit_kmd_client/models/_sign_program_multisig_response.py +24 -0
  235. algokit_kmd_client/models/_sign_program_request.py +37 -0
  236. algokit_kmd_client/models/_sign_program_response.py +24 -0
  237. algokit_kmd_client/models/_sign_transaction_response.py +24 -0
  238. algokit_kmd_client/models/_sign_txn_request.py +36 -0
  239. algokit_kmd_client/models/_signature.py +4 -0
  240. algokit_kmd_client/models/_tx_type.py +4 -0
  241. algokit_kmd_client/models/_versions_request.py +11 -0
  242. algokit_kmd_client/models/_versions_response.py +19 -0
  243. algokit_kmd_client/models/_wallet.py +38 -0
  244. algokit_kmd_client/models/_wallet_handle.py +24 -0
  245. algokit_kmd_client/models/_wallet_info_request.py +18 -0
  246. algokit_kmd_client/models/_wallet_info_response.py +19 -0
  247. algokit_kmd_client/py.typed +1 -0
  248. algokit_kmd_client/types.py +7 -0
  249. algokit_transact/__init__.py +190 -0
  250. algokit_transact/codec/__init__.py +0 -0
  251. algokit_transact/codec/msgpack.py +11 -0
  252. algokit_transact/codec/serde.py +7 -0
  253. algokit_transact/codec/signed.py +57 -0
  254. algokit_transact/codec/transaction.py +65 -0
  255. algokit_transact/exceptions.py +17 -0
  256. algokit_transact/logicsig.py +220 -0
  257. algokit_transact/models/__init__.py +0 -0
  258. algokit_transact/models/app_call.py +447 -0
  259. algokit_transact/models/asset_config.py +19 -0
  260. algokit_transact/models/asset_freeze.py +11 -0
  261. algokit_transact/models/asset_transfer.py +13 -0
  262. algokit_transact/models/common.py +17 -0
  263. algokit_transact/models/heartbeat.py +21 -0
  264. algokit_transact/models/key_registration.py +14 -0
  265. algokit_transact/models/payment.py +14 -0
  266. algokit_transact/models/signed_transaction.py +21 -0
  267. algokit_transact/models/state_proof.py +150 -0
  268. algokit_transact/models/transaction.py +88 -0
  269. algokit_transact/multisig.py +93 -0
  270. algokit_transact/ops/__init__.py +0 -0
  271. algokit_transact/ops/fees.py +47 -0
  272. algokit_transact/ops/group.py +28 -0
  273. algokit_transact/ops/ids.py +14 -0
  274. algokit_transact/ops/validate.py +503 -0
  275. algokit_transact/py.typed +0 -0
  276. algokit_transact/signer.py +195 -0
  277. algokit_transact/signing/__init__.py +0 -0
  278. algokit_transact/signing/logic_signature.py +19 -0
  279. algokit_transact/signing/multisig.py +84 -0
  280. algokit_transact/signing/types.py +39 -0
  281. algokit_transact/signing/validation.py +63 -0
  282. algokit_utils/__init__.py +23 -0
  283. algokit_utils/_debugging.py +304 -0
  284. algokit_utils/accounts/__init__.py +2 -0
  285. algokit_utils/accounts/account_manager.py +1051 -0
  286. algokit_utils/accounts/kmd_account_manager.py +206 -0
  287. algokit_utils/algo25.py +46 -0
  288. algokit_utils/algorand.py +383 -0
  289. algokit_utils/applications/__init__.py +7 -0
  290. algokit_utils/applications/abi.py +280 -0
  291. algokit_utils/applications/app_client.py +2193 -0
  292. algokit_utils/applications/app_deployer.py +788 -0
  293. algokit_utils/applications/app_factory.py +1140 -0
  294. algokit_utils/applications/app_manager.py +575 -0
  295. algokit_utils/applications/app_spec/__init__.py +6 -0
  296. algokit_utils/applications/enums.py +40 -0
  297. algokit_utils/assets/__init__.py +1 -0
  298. algokit_utils/assets/asset_manager.py +344 -0
  299. algokit_utils/clients/__init__.py +41 -0
  300. algokit_utils/clients/client_manager.py +756 -0
  301. algokit_utils/clients/dispenser_api_client.py +212 -0
  302. algokit_utils/common.py +40 -0
  303. algokit_utils/config.py +159 -0
  304. algokit_utils/errors/__init__.py +1 -0
  305. algokit_utils/errors/logic_error.py +160 -0
  306. algokit_utils/models/__init__.py +7 -0
  307. algokit_utils/models/account.py +12 -0
  308. algokit_utils/models/amount.py +198 -0
  309. algokit_utils/models/application.py +90 -0
  310. algokit_utils/models/network.py +29 -0
  311. algokit_utils/models/simulate.py +7 -0
  312. algokit_utils/models/state.py +53 -0
  313. algokit_utils/models/transaction.py +49 -0
  314. algokit_utils/protocols/__init__.py +3 -0
  315. algokit_utils/protocols/account.py +11 -0
  316. algokit_utils/protocols/signer.py +17 -0
  317. algokit_utils/protocols/typed_clients.py +110 -0
  318. algokit_utils/py.typed +0 -0
  319. algokit_utils/transact.py +195 -0
  320. algokit_utils/transactions/__init__.py +3 -0
  321. algokit_utils/transactions/builders/__init__.py +67 -0
  322. algokit_utils/transactions/builders/app.py +248 -0
  323. algokit_utils/transactions/builders/asset.py +256 -0
  324. algokit_utils/transactions/builders/common.py +263 -0
  325. algokit_utils/transactions/builders/keyreg.py +103 -0
  326. algokit_utils/transactions/builders/method_call.py +380 -0
  327. algokit_utils/transactions/builders/payment.py +43 -0
  328. algokit_utils/transactions/composer_resources.py +409 -0
  329. algokit_utils/transactions/fee_coverage.py +79 -0
  330. algokit_utils/transactions/helpers.py +9 -0
  331. algokit_utils/transactions/transaction_composer.py +1574 -0
  332. algokit_utils/transactions/transaction_creator.py +699 -0
  333. algokit_utils/transactions/transaction_sender.py +1240 -0
  334. algokit_utils/transactions/types.py +262 -0
  335. algokit_utils-5.0.0a3.dist-info/METADATA +105 -0
  336. algokit_utils-5.0.0a3.dist-info/RECORD +337 -0
  337. algokit_utils-5.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,262 @@
1
+ from dataclasses import dataclass
2
+ from typing import TypedDict, Union
3
+
4
+ from algokit_abi import arc56
5
+ from algokit_transact import OnApplicationComplete
6
+ from algokit_transact.signer import AddressWithTransactionSigner, TransactionSigner
7
+ from algokit_utils.models.amount import AlgoAmount
8
+ from algokit_utils.models.state import BoxIdentifier, BoxReference
9
+
10
+ __all__ = [
11
+ "AppCallMethodCallParams",
12
+ "AppCallParams",
13
+ "AppCreateMethodCallParams",
14
+ "AppCreateParams",
15
+ "AppCreateSchema",
16
+ "AppDeleteMethodCallParams",
17
+ "AppDeleteParams",
18
+ "AppMethodCallParams",
19
+ "AppUpdateMethodCallParams",
20
+ "AppUpdateParams",
21
+ "AssetConfigParams",
22
+ "AssetCreateParams",
23
+ "AssetDestroyParams",
24
+ "AssetFreezeParams",
25
+ "AssetOptInParams",
26
+ "AssetOptOutParams",
27
+ "AssetTransferParams",
28
+ "CommonTxnParams",
29
+ "MethodCallParams",
30
+ "OfflineKeyRegistrationParams",
31
+ "OnlineKeyRegistrationParams",
32
+ "PaymentParams",
33
+ "TxnParams",
34
+ ]
35
+
36
+
37
+ @dataclass(kw_only=True, frozen=True)
38
+ class CommonTxnParams:
39
+ sender: str
40
+ signer: TransactionSigner | AddressWithTransactionSigner | None = None
41
+ rekey_to: str | None = None
42
+ note: bytes | None = None
43
+ lease: bytes | None = None
44
+ static_fee: AlgoAmount | None = None
45
+ extra_fee: AlgoAmount | None = None
46
+ max_fee: AlgoAmount | None = None
47
+ validity_window: int | None = None
48
+ first_valid_round: int | None = None
49
+ last_valid_round: int | None = None
50
+
51
+
52
+ @dataclass(kw_only=True, frozen=True)
53
+ class PaymentParams(CommonTxnParams):
54
+ receiver: str
55
+ amount: AlgoAmount
56
+ close_remainder_to: str | None = None
57
+
58
+
59
+ @dataclass(kw_only=True, frozen=True)
60
+ class AssetCreateParams(CommonTxnParams):
61
+ total: int
62
+ asset_name: str | None = None
63
+ unit_name: str | None = None
64
+ url: str | None = None
65
+ decimals: int | None = None
66
+ default_frozen: bool | None = None
67
+ manager: str | None = None
68
+ reserve: str | None = None
69
+ freeze: str | None = None
70
+ clawback: str | None = None
71
+ metadata_hash: bytes | None = None
72
+
73
+
74
+ @dataclass(kw_only=True, frozen=True)
75
+ class AssetConfigParams(CommonTxnParams):
76
+ asset_id: int
77
+ manager: str | None = None
78
+ reserve: str | None = None
79
+ freeze: str | None = None
80
+ clawback: str | None = None
81
+
82
+
83
+ @dataclass(kw_only=True, frozen=True)
84
+ class AssetFreezeParams(CommonTxnParams):
85
+ asset_id: int
86
+ account: str
87
+ frozen: bool
88
+
89
+
90
+ @dataclass(kw_only=True, frozen=True)
91
+ class AssetDestroyParams(CommonTxnParams):
92
+ asset_id: int
93
+
94
+
95
+ @dataclass(kw_only=True, frozen=True)
96
+ class OnlineKeyRegistrationParams(CommonTxnParams):
97
+ vote_key: str
98
+ selection_key: str
99
+ state_proof_key: bytes | None = None
100
+ vote_first: int = 0
101
+ vote_last: int = 0
102
+ vote_key_dilution: int = 0
103
+ nonparticipation: bool | None = None
104
+
105
+
106
+ @dataclass(kw_only=True, frozen=True)
107
+ class OfflineKeyRegistrationParams(CommonTxnParams):
108
+ prevent_account_from_ever_participating_again: bool = True
109
+
110
+
111
+ @dataclass(kw_only=True, frozen=True)
112
+ class AssetTransferParams(CommonTxnParams):
113
+ asset_id: int
114
+ amount: int
115
+ receiver: str
116
+ close_asset_to: str | None = None
117
+ clawback_target: str | None = None
118
+
119
+
120
+ @dataclass(kw_only=True, frozen=True)
121
+ class AssetOptInParams(CommonTxnParams):
122
+ asset_id: int
123
+
124
+
125
+ @dataclass(kw_only=True, frozen=True)
126
+ class AssetOptOutParams(CommonTxnParams):
127
+ asset_id: int
128
+ creator: str
129
+
130
+
131
+ @dataclass(kw_only=True, frozen=True)
132
+ class AppCallParams(CommonTxnParams):
133
+ app_id: int
134
+ args: list[bytes] | None = None
135
+ account_references: list[str] | None = None
136
+ app_references: list[int] | None = None
137
+ asset_references: list[int] | None = None
138
+ box_references: list[BoxReference | BoxIdentifier] | None = None
139
+ on_complete: OnApplicationComplete | None = None
140
+
141
+
142
+ class AppCreateSchema(TypedDict):
143
+ global_ints: int
144
+ global_byte_slices: int
145
+ local_ints: int
146
+ local_byte_slices: int
147
+
148
+
149
+ @dataclass(kw_only=True, frozen=True)
150
+ class AppCreateParams(CommonTxnParams):
151
+ approval_program: str | bytes
152
+ clear_state_program: str | bytes
153
+ schema: AppCreateSchema | None = None
154
+ on_complete: OnApplicationComplete | None = None
155
+ args: list[bytes] | None = None
156
+ account_references: list[str] | None = None
157
+ app_references: list[int] | None = None
158
+ asset_references: list[int] | None = None
159
+ box_references: list[BoxReference | BoxIdentifier] | None = None
160
+ extra_program_pages: int | None = None
161
+
162
+
163
+ @dataclass(kw_only=True, frozen=True)
164
+ class AppUpdateParams(CommonTxnParams):
165
+ app_id: int
166
+ approval_program: str | bytes
167
+ clear_state_program: str | bytes
168
+ args: list[bytes] | None = None
169
+ account_references: list[str] | None = None
170
+ app_references: list[int] | None = None
171
+ asset_references: list[int] | None = None
172
+ box_references: list[BoxReference | BoxIdentifier] | None = None
173
+ on_complete: OnApplicationComplete = OnApplicationComplete.UpdateApplication
174
+
175
+
176
+ @dataclass(kw_only=True, frozen=True)
177
+ class AppDeleteParams(CommonTxnParams):
178
+ app_id: int
179
+ args: list[bytes] | None = None
180
+ account_references: list[str] | None = None
181
+ app_references: list[int] | None = None
182
+ asset_references: list[int] | None = None
183
+ box_references: list[BoxReference | BoxIdentifier] | None = None
184
+ on_complete: OnApplicationComplete | None = None
185
+
186
+
187
+ @dataclass(kw_only=True, frozen=True)
188
+ class _BaseAppMethodCall(CommonTxnParams):
189
+ app_id: int | None = None
190
+ method: arc56.Method
191
+ args: list | None = None
192
+ account_references: list[str] | None = None
193
+ app_references: list[int] | None = None
194
+ asset_references: list[int] | None = None
195
+ box_references: list[BoxReference | BoxIdentifier] | None = None
196
+ schema: AppCreateSchema | None = None
197
+ on_complete: OnApplicationComplete | None = None
198
+ extra_program_pages: int | None = None
199
+
200
+
201
+ @dataclass(kw_only=True, frozen=True)
202
+ class AppMethodCallParams(CommonTxnParams):
203
+ app_id: int
204
+ method: arc56.Method
205
+ args: list[bytes] | None = None
206
+ on_complete: OnApplicationComplete | None = None
207
+ account_references: list[str] | None = None
208
+ app_references: list[int] | None = None
209
+ asset_references: list[int] | None = None
210
+ box_references: list[BoxReference | BoxIdentifier] | None = None
211
+
212
+
213
+ @dataclass(kw_only=True, frozen=True)
214
+ class AppCallMethodCallParams(_BaseAppMethodCall):
215
+ app_id: int
216
+ on_complete: OnApplicationComplete | None = None
217
+
218
+
219
+ @dataclass(kw_only=True, frozen=True)
220
+ class AppCreateMethodCallParams(_BaseAppMethodCall):
221
+ approval_program: str | bytes
222
+ clear_state_program: str | bytes
223
+ schema: AppCreateSchema | None = None
224
+ on_complete: OnApplicationComplete | None = None
225
+
226
+
227
+ @dataclass(kw_only=True, frozen=True)
228
+ class AppUpdateMethodCallParams(_BaseAppMethodCall):
229
+ app_id: int
230
+ approval_program: str | bytes
231
+ clear_state_program: str | bytes
232
+ on_complete: OnApplicationComplete = OnApplicationComplete.UpdateApplication
233
+
234
+
235
+ @dataclass(kw_only=True, frozen=True)
236
+ class AppDeleteMethodCallParams(_BaseAppMethodCall):
237
+ app_id: int
238
+ on_complete: OnApplicationComplete = OnApplicationComplete.DeleteApplication
239
+
240
+
241
+ MethodCallParams = (
242
+ AppCallMethodCallParams | AppCreateMethodCallParams | AppUpdateMethodCallParams | AppDeleteMethodCallParams
243
+ )
244
+
245
+
246
+ TxnParams = Union[ # noqa: UP007
247
+ PaymentParams,
248
+ AssetCreateParams,
249
+ AssetConfigParams,
250
+ AssetFreezeParams,
251
+ AssetDestroyParams,
252
+ OnlineKeyRegistrationParams,
253
+ AssetTransferParams,
254
+ AssetOptInParams,
255
+ AssetOptOutParams,
256
+ AppCallParams,
257
+ AppCreateParams,
258
+ AppUpdateParams,
259
+ AppDeleteParams,
260
+ MethodCallParams,
261
+ OfflineKeyRegistrationParams,
262
+ ]
@@ -0,0 +1,105 @@
1
+ Metadata-Version: 2.4
2
+ Name: algokit-utils
3
+ Version: 5.0.0a3
4
+ Summary: Utilities for Algorand development for use by AlgoKit
5
+ Author: Algorand Foundation
6
+ Author-email: Algorand Foundation <contact@algorand.foundation>
7
+ License-Expression: MIT
8
+ Requires-Dist: httpx>=0.23.1,<=0.28.1
9
+ Requires-Dist: msgpack>=1.0.0,<2
10
+ Requires-Dist: msgpack-types>=0.2.0,<=0.5.0
11
+ Requires-Dist: pynacl>=1.4.0,<2
12
+ Requires-Dist: pycryptodomex>=3.19,<4
13
+ Requires-Dist: typing-extensions>=4.6.0
14
+ Requires-Python: >=3.10, <4
15
+ Description-Content-Type: text/markdown
16
+
17
+ # AlgoKit Python Utilities
18
+
19
+ A set of core Algorand utilities written in Python and released via PyPi that make it easier to build solutions on Algorand.
20
+ This project is part of [AlgoKit](https://github.com/algorandfoundation/algokit-cli).
21
+
22
+ The goal of this library is to provide intuitive, productive utility functions that make it easier, quicker and safer to build applications on Algorand.
23
+ Largely these functions wrap the underlying Algorand SDK, but provide a higher level interface with sensible defaults and capabilities for common tasks.
24
+
25
+ > **Note**
26
+ > If you prefer TypeScript there's an equivalent [TypeScript utility library](https://github.com/algorandfoundation/algokit-utils-ts).
27
+
28
+ [Install](https://github.com/algorandfoundation/algokit-utils-py#install) | [Documentation](https://algorandfoundation.github.io/algokit-utils-py)
29
+
30
+ ## Install
31
+
32
+ This library can be installed using pip, e.g.:
33
+
34
+ ```
35
+ pip install algokit-utils
36
+ ```
37
+
38
+ ## Migration from `v2.x` to `v3.x`
39
+
40
+ Refer to the [v3 migration](./docs/source/v3-migration-guide.md) for more information on how to migrate to latest version of `algokit-utils-py`.
41
+
42
+ ## Guiding principles
43
+
44
+ This library follows the [Guiding Principles of AlgoKit](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/algokit.md#guiding-principles).
45
+
46
+ ## Contributing
47
+
48
+ This is an open source project managed by the Algorand Foundation.
49
+ See the [AlgoKit contributing page](https://github.com/algorandfoundation/algokit-cli/blob/main/CONTRIBUTING.MD) to learn about making improvements.
50
+
51
+ To successfully run the tests in this repository you need to be running LocalNet via [AlgoKit](https://github.com/algorandfoundation/algokit-cli):
52
+
53
+ ```
54
+ algokit localnet start
55
+ ```
56
+
57
+ ### Mock Server Tests
58
+
59
+ Tests under `tests/modules/` use a mock server for deterministic API testing against pre-recorded HAR files. The mock server is managed externally (not by pytest).
60
+
61
+ **In CI:** Mock servers are automatically started via the [algokit-polytest](https://github.com/algorandfoundation/algokit-polytest) GitHub Action.
62
+
63
+ **Local development:**
64
+
65
+ 1. Clone algokit-polytest and start the mock servers:
66
+
67
+ ```bash
68
+ # Clone algokit-polytest (if not already)
69
+ git clone https://github.com/algorandfoundation/algokit-polytest.git
70
+
71
+ # Start all mock servers (recommended)
72
+ cd algokit-polytest/resources/mock-server
73
+ ./scripts/start_all_servers.sh
74
+ ```
75
+
76
+ This starts algod (port 8000), kmd (port 8001), and indexer (port 8002) in the background.
77
+
78
+ 2. Set environment variables and run tests:
79
+
80
+ ```bash
81
+ export MOCK_ALGOD_URL=http://localhost:8000
82
+ export MOCK_INDEXER_URL=http://localhost:8002
83
+ export MOCK_KMD_URL=http://localhost:8001
84
+
85
+ # Run all module tests
86
+ pytest tests/modules/
87
+
88
+ # Or run specific client tests
89
+ pytest tests/modules/algod_client/
90
+ ```
91
+
92
+ 3. Stop servers when done:
93
+
94
+ ```bash
95
+ cd algokit-polytest/resources/mock-server
96
+ ./scripts/stop_all_servers.sh
97
+ ```
98
+
99
+ | Environment Variable | Description | Default Port |
100
+ |---------------------|-------------|--------------|
101
+ | `MOCK_ALGOD_URL` | Algod mock server URL | 8000 |
102
+ | `MOCK_INDEXER_URL` | Indexer mock server URL | 8002 |
103
+ | `MOCK_KMD_URL` | KMD mock server URL | 8001 |
104
+
105
+ Environment variables can also be set via `.env` file in project root (copy from `.env.template`).