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,36 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+
7
+ @dataclass(slots=True)
8
+ class ClientConfig:
9
+ """Runtime configuration for KmdClient.
10
+
11
+ Attributes:
12
+ base_url: Base URL for the API endpoint.
13
+ token: Optional authentication token.
14
+ token_header: Header name for the authentication token.
15
+ timeout: Request timeout in seconds. Set to None for no timeout.
16
+ verify: SSL certificate verification. Can be a boolean or path to CA bundle.
17
+ extra_headers: Additional headers to include in all requests.
18
+ max_retries: Maximum number of retry attempts for transient failures.
19
+ Set to 0 to disable retries. Default is 4 (5 total attempts).
20
+ Note: Retries are automatically disabled when a custom http_client
21
+ is provided to avoid conflicts with the client's own retry mechanism.
22
+ """
23
+
24
+ base_url: str = "http://localhost:7833"
25
+ token: str | None = None
26
+ token_header: str = "X-KMD-API-Token"
27
+ timeout: float | None = 30.0
28
+ verify: bool | str = True
29
+ extra_headers: dict[str, str] = field(default_factory=dict)
30
+ max_retries: int = 4
31
+
32
+ def resolve_headers(self) -> dict[str, str]:
33
+ headers = dict(self.extra_headers)
34
+ if self.token:
35
+ headers[self.token_header] = self.token
36
+ return headers
@@ -0,0 +1,59 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+ from http import HTTPStatus
4
+ from json import JSONDecodeError, loads
5
+
6
+
7
+ class ApiError(RuntimeError):
8
+ """Base exception for errors raised by generated clients."""
9
+
10
+
11
+ def _format_payload(payload: object) -> str | None: # noqa: C901, PLR0912
12
+ """Extract a human-friendly message from a payload."""
13
+ if payload is None:
14
+ return None
15
+
16
+ text: str | None = None
17
+ if isinstance(payload, (bytes | bytearray | memoryview)):
18
+ try:
19
+ text = bytes(payload).decode("utf-8", errors="ignore")
20
+ except Exception:
21
+ text = None
22
+ if text is None:
23
+ text = str(payload)
24
+
25
+ result = text.strip()
26
+ if not result:
27
+ return None
28
+
29
+ try:
30
+ decoded = loads(result)
31
+ except (JSONDecodeError, TypeError):
32
+ return result
33
+
34
+ if isinstance(decoded, dict):
35
+ for key in ("message", "msg", "error", "detail", "description", "data"):
36
+ value = decoded.get(key)
37
+ if isinstance(value, str):
38
+ candidate = value.strip()
39
+ if candidate:
40
+ result = candidate
41
+ break
42
+
43
+ if isinstance(decoded, list) and decoded:
44
+ first = decoded[0]
45
+ if isinstance(first, str):
46
+ candidate = first.strip()
47
+ if candidate:
48
+ result = candidate
49
+
50
+ return result
51
+
52
+
53
+ class UnexpectedStatusError(ApiError):
54
+ def __init__(self, status_code: int, payload: object) -> None:
55
+ message = _format_payload(payload)
56
+ description = f" {message}" if message else ""
57
+ super().__init__(f"Unexpected status code {status_code}{description}")
58
+ self.status_code = HTTPStatus(status_code)
59
+ self.payload = payload
@@ -0,0 +1,112 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from ._classical_signatures import ClassicalSignatures
5
+ from ._create_wallet_request import CreateWalletRequest
6
+ from ._create_wallet_response import CreateWalletResponse
7
+ from ._delete_key_request import DeleteKeyRequest
8
+ from ._delete_multisig_request import DeleteMultisigRequest
9
+ from ._digest_represents_a32_byte_value_holding_the256_bit_hash_digest import (
10
+ DigestRepresentsA32ByteValueHoldingThe256BitHashDigest,
11
+ )
12
+ from ._ed25519_public_key import Ed25519PublicKey
13
+ from ._export_key_request import ExportKeyRequest
14
+ from ._export_key_response import ExportKeyResponse
15
+ from ._export_master_key_request import ExportMasterKeyRequest
16
+ from ._export_master_key_response import ExportMasterKeyResponse
17
+ from ._export_multisig_request import ExportMultisigRequest
18
+ from ._export_multisig_response import ExportMultisigResponse
19
+ from ._generate_key_request import GenerateKeyRequest
20
+ from ._generate_key_response import GenerateKeyResponse
21
+ from ._import_key_request import ImportKeyRequest
22
+ from ._import_key_response import ImportKeyResponse
23
+ from ._import_multisig_request import ImportMultisigRequest
24
+ from ._import_multisig_response import ImportMultisigResponse
25
+ from ._init_wallet_handle_token_request import InitWalletHandleTokenRequest
26
+ from ._init_wallet_handle_token_response import InitWalletHandleTokenResponse
27
+ from ._list_keys_request import ListKeysRequest
28
+ from ._list_keys_response import ListKeysResponse
29
+ from ._list_multisig_request import ListMultisigRequest
30
+ from ._list_multisig_response import ListMultisigResponse
31
+ from ._list_wallets_request import ListWalletsRequest
32
+ from ._list_wallets_response import ListWalletsResponse
33
+ from ._master_derivation_key import MasterDerivationKey
34
+ from ._multisig_sig import MultisigSig
35
+ from ._multisig_subsig import MultisigSubsig
36
+ from ._public_key import PublicKey
37
+ from ._release_wallet_handle_token_request import ReleaseWalletHandleTokenRequest
38
+ from ._rename_wallet_request import RenameWalletRequest
39
+ from ._rename_wallet_response import RenameWalletResponse
40
+ from ._renew_wallet_handle_token_request import RenewWalletHandleTokenRequest
41
+ from ._renew_wallet_handle_token_response import RenewWalletHandleTokenResponse
42
+ from ._sign_multisig_response import SignMultisigResponse
43
+ from ._sign_multisig_txn_request import SignMultisigTxnRequest
44
+ from ._sign_program_multisig_request import SignProgramMultisigRequest
45
+ from ._sign_program_multisig_response import SignProgramMultisigResponse
46
+ from ._sign_program_request import SignProgramRequest
47
+ from ._sign_program_response import SignProgramResponse
48
+ from ._sign_transaction_response import SignTransactionResponse
49
+ from ._sign_txn_request import SignTxnRequest
50
+ from ._signature import Signature
51
+ from ._tx_type import TxType
52
+ from ._versions_request import VersionsRequest
53
+ from ._versions_response import VersionsResponse
54
+ from ._wallet import Wallet
55
+ from ._wallet_handle import WalletHandle
56
+ from ._wallet_info_request import WalletInfoRequest
57
+ from ._wallet_info_response import WalletInfoResponse
58
+
59
+ __all__ = [
60
+ "ClassicalSignatures",
61
+ "CreateWalletRequest",
62
+ "CreateWalletResponse",
63
+ "DeleteKeyRequest",
64
+ "DeleteMultisigRequest",
65
+ "DigestRepresentsA32ByteValueHoldingThe256BitHashDigest",
66
+ "Ed25519PublicKey",
67
+ "ExportKeyRequest",
68
+ "ExportKeyResponse",
69
+ "ExportMasterKeyRequest",
70
+ "ExportMasterKeyResponse",
71
+ "ExportMultisigRequest",
72
+ "ExportMultisigResponse",
73
+ "GenerateKeyRequest",
74
+ "GenerateKeyResponse",
75
+ "ImportKeyRequest",
76
+ "ImportKeyResponse",
77
+ "ImportMultisigRequest",
78
+ "ImportMultisigResponse",
79
+ "InitWalletHandleTokenRequest",
80
+ "InitWalletHandleTokenResponse",
81
+ "ListKeysRequest",
82
+ "ListKeysResponse",
83
+ "ListMultisigRequest",
84
+ "ListMultisigResponse",
85
+ "ListWalletsRequest",
86
+ "ListWalletsResponse",
87
+ "MasterDerivationKey",
88
+ "MultisigSig",
89
+ "MultisigSubsig",
90
+ "PublicKey",
91
+ "ReleaseWalletHandleTokenRequest",
92
+ "RenameWalletRequest",
93
+ "RenameWalletResponse",
94
+ "RenewWalletHandleTokenRequest",
95
+ "RenewWalletHandleTokenResponse",
96
+ "SignMultisigResponse",
97
+ "SignMultisigTxnRequest",
98
+ "SignProgramMultisigRequest",
99
+ "SignProgramMultisigResponse",
100
+ "SignProgramRequest",
101
+ "SignProgramResponse",
102
+ "SignTransactionResponse",
103
+ "SignTxnRequest",
104
+ "Signature",
105
+ "TxType",
106
+ "VersionsRequest",
107
+ "VersionsResponse",
108
+ "Wallet",
109
+ "WalletHandle",
110
+ "WalletInfoRequest",
111
+ "WalletInfoResponse",
112
+ ]
@@ -0,0 +1,4 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ ClassicalSignatures = list[int]
@@ -0,0 +1,30 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class CreateWalletRequest:
11
+ """
12
+ The request for `POST /v1/wallet`
13
+ """
14
+
15
+ wallet_name: str = field(
16
+ default="",
17
+ metadata=wire("wallet_name"),
18
+ )
19
+ wallet_password: str = field(
20
+ default="",
21
+ metadata=wire("wallet_password"),
22
+ )
23
+ master_derivation_key: list[int] | None = field(
24
+ default=None,
25
+ metadata=wire("master_derivation_key"),
26
+ )
27
+ wallet_driver_name: str | None = field(
28
+ default="sqlite",
29
+ metadata=wire("wallet_driver_name"),
30
+ )
@@ -0,0 +1,19 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import nested
7
+
8
+ from ._wallet import Wallet
9
+
10
+
11
+ @dataclass(slots=True)
12
+ class CreateWalletResponse:
13
+ """
14
+ CreateWalletResponse is the response to `POST /v1/wallet`
15
+ """
16
+
17
+ wallet: Wallet = field(
18
+ metadata=nested("wallet", lambda: Wallet, required=True),
19
+ )
@@ -0,0 +1,27 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.constants import ZERO_ADDRESS
7
+ from algokit_common.serde import wire
8
+
9
+
10
+ @dataclass(slots=True)
11
+ class DeleteKeyRequest:
12
+ """
13
+ The request for `DELETE /v1/key`
14
+ """
15
+
16
+ address: str = field(
17
+ default=ZERO_ADDRESS,
18
+ metadata=wire("address"),
19
+ )
20
+ wallet_handle_token: str = field(
21
+ default="",
22
+ metadata=wire("wallet_handle_token"),
23
+ )
24
+ wallet_password: str | None = field(
25
+ default=None,
26
+ metadata=wire("wallet_password"),
27
+ )
@@ -0,0 +1,27 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.constants import ZERO_ADDRESS
7
+ from algokit_common.serde import wire
8
+
9
+
10
+ @dataclass(slots=True)
11
+ class DeleteMultisigRequest:
12
+ """
13
+ The request for `DELETE /v1/multisig`
14
+ """
15
+
16
+ address: str = field(
17
+ default=ZERO_ADDRESS,
18
+ metadata=wire("address"),
19
+ )
20
+ wallet_handle_token: str = field(
21
+ default="",
22
+ metadata=wire("wallet_handle_token"),
23
+ )
24
+ wallet_password: str | None = field(
25
+ default=None,
26
+ metadata=wire("wallet_password"),
27
+ )
@@ -0,0 +1,4 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ DigestRepresentsA32ByteValueHoldingThe256BitHashDigest = list[int]
@@ -0,0 +1,4 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ Ed25519PublicKey = list[int]
@@ -0,0 +1,27 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.constants import ZERO_ADDRESS
7
+ from algokit_common.serde import wire
8
+
9
+
10
+ @dataclass(slots=True)
11
+ class ExportKeyRequest:
12
+ """
13
+ The request for `POST /v1/key/export`
14
+ """
15
+
16
+ address: str = field(
17
+ default=ZERO_ADDRESS,
18
+ metadata=wire("address"),
19
+ )
20
+ wallet_handle_token: str = field(
21
+ default="",
22
+ metadata=wire("wallet_handle_token"),
23
+ )
24
+ wallet_password: str | None = field(
25
+ default=None,
26
+ metadata=wire("wallet_password"),
27
+ )
@@ -0,0 +1,24 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+ from ._serde_helpers import decode_bytes_base64, encode_bytes_base64
9
+
10
+
11
+ @dataclass(slots=True)
12
+ class ExportKeyResponse:
13
+ """
14
+ ExportKeyResponse is the response to `POST /v1/key/export`
15
+ """
16
+
17
+ private_key: bytes = field(
18
+ default=b"",
19
+ metadata=wire(
20
+ "private_key",
21
+ encode=encode_bytes_base64,
22
+ decode=decode_bytes_base64,
23
+ ),
24
+ )
@@ -0,0 +1,22 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class ExportMasterKeyRequest:
11
+ """
12
+ The request for `POST /v1/master-key/export`
13
+ """
14
+
15
+ wallet_handle_token: str = field(
16
+ default="",
17
+ metadata=wire("wallet_handle_token"),
18
+ )
19
+ wallet_password: str | None = field(
20
+ default=None,
21
+ metadata=wire("wallet_password"),
22
+ )
@@ -0,0 +1,18 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class ExportMasterKeyResponse:
11
+ """
12
+ ExportMasterKeyResponse is the response to `POST /v1/master-key/export`
13
+ """
14
+
15
+ master_derivation_key: list[int] = field(
16
+ default_factory=list,
17
+ metadata=wire("master_derivation_key"),
18
+ )
@@ -0,0 +1,23 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.constants import ZERO_ADDRESS
7
+ from algokit_common.serde import wire
8
+
9
+
10
+ @dataclass(slots=True)
11
+ class ExportMultisigRequest:
12
+ """
13
+ The request for `POST /v1/multisig/export`
14
+ """
15
+
16
+ address: str = field(
17
+ default=ZERO_ADDRESS,
18
+ metadata=wire("address"),
19
+ )
20
+ wallet_handle_token: str = field(
21
+ default="",
22
+ metadata=wire("wallet_handle_token"),
23
+ )
@@ -0,0 +1,26 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class ExportMultisigResponse:
11
+ """
12
+ ExportMultisigResponse is the response to `POST /v1/multisig/export`
13
+ """
14
+
15
+ multisig_version: int = field(
16
+ default=0,
17
+ metadata=wire("multisig_version"),
18
+ )
19
+ public_keys: list[list[int]] = field(
20
+ default_factory=list,
21
+ metadata=wire("pks"),
22
+ )
23
+ threshold: int = field(
24
+ default=0,
25
+ metadata=wire("threshold"),
26
+ )
@@ -0,0 +1,18 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class GenerateKeyRequest:
11
+ """
12
+ The request for `POST /v1/key`
13
+ """
14
+
15
+ wallet_handle_token: str = field(
16
+ default="",
17
+ metadata=wire("wallet_handle_token"),
18
+ )
@@ -0,0 +1,19 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.constants import ZERO_ADDRESS
7
+ from algokit_common.serde import wire
8
+
9
+
10
+ @dataclass(slots=True)
11
+ class GenerateKeyResponse:
12
+ """
13
+ GenerateKeyResponse is the response to `POST /v1/key`
14
+ """
15
+
16
+ address: str = field(
17
+ default=ZERO_ADDRESS,
18
+ metadata=wire("address"),
19
+ )
@@ -0,0 +1,28 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+ from ._serde_helpers import decode_bytes_base64, encode_bytes_base64
9
+
10
+
11
+ @dataclass(slots=True)
12
+ class ImportKeyRequest:
13
+ """
14
+ The request for `POST /v1/key/import`
15
+ """
16
+
17
+ private_key: bytes = field(
18
+ default=b"",
19
+ metadata=wire(
20
+ "private_key",
21
+ encode=encode_bytes_base64,
22
+ decode=decode_bytes_base64,
23
+ ),
24
+ )
25
+ wallet_handle_token: str = field(
26
+ default="",
27
+ metadata=wire("wallet_handle_token"),
28
+ )
@@ -0,0 +1,19 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.constants import ZERO_ADDRESS
7
+ from algokit_common.serde import wire
8
+
9
+
10
+ @dataclass(slots=True)
11
+ class ImportKeyResponse:
12
+ """
13
+ ImportKeyResponse is the response to `POST /v1/key/import`
14
+ """
15
+
16
+ address: str = field(
17
+ default=ZERO_ADDRESS,
18
+ metadata=wire("address"),
19
+ )
@@ -0,0 +1,30 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class ImportMultisigRequest:
11
+ """
12
+ The request for `POST /v1/multisig/import`
13
+ """
14
+
15
+ multisig_version: int = field(
16
+ default=0,
17
+ metadata=wire("multisig_version"),
18
+ )
19
+ public_keys: list[list[int]] = field(
20
+ default_factory=list,
21
+ metadata=wire("pks"),
22
+ )
23
+ threshold: int = field(
24
+ default=0,
25
+ metadata=wire("threshold"),
26
+ )
27
+ wallet_handle_token: str = field(
28
+ default="",
29
+ metadata=wire("wallet_handle_token"),
30
+ )
@@ -0,0 +1,19 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.constants import ZERO_ADDRESS
7
+ from algokit_common.serde import wire
8
+
9
+
10
+ @dataclass(slots=True)
11
+ class ImportMultisigResponse:
12
+ """
13
+ ImportMultisigResponse is the response to `POST /v1/multisig/import`
14
+ """
15
+
16
+ address: str = field(
17
+ default=ZERO_ADDRESS,
18
+ metadata=wire("address"),
19
+ )
@@ -0,0 +1,22 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class InitWalletHandleTokenRequest:
11
+ """
12
+ The request for `POST /v1/wallet/init`
13
+ """
14
+
15
+ wallet_id: str = field(
16
+ default="",
17
+ metadata=wire("wallet_id"),
18
+ )
19
+ wallet_password: str = field(
20
+ default="",
21
+ metadata=wire("wallet_password"),
22
+ )
@@ -0,0 +1,18 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class InitWalletHandleTokenResponse:
11
+ """
12
+ InitWalletHandleTokenResponse is the response to `POST /v1/wallet/init`
13
+ """
14
+
15
+ wallet_handle_token: str = field(
16
+ default="",
17
+ metadata=wire("wallet_handle_token"),
18
+ )
@@ -0,0 +1,18 @@
1
+ # AUTO-GENERATED: oas_generator
2
+
3
+
4
+ from dataclasses import dataclass, field
5
+
6
+ from algokit_common.serde import wire
7
+
8
+
9
+ @dataclass(slots=True)
10
+ class ListKeysRequest:
11
+ """
12
+ The request for `POST /v1/key/list`
13
+ """
14
+
15
+ wallet_handle_token: str = field(
16
+ default="",
17
+ metadata=wire("wallet_handle_token"),
18
+ )