@goplausible/algorand-mcp 3.0.7

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 (924) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +692 -0
  3. package/dist/algorand-client.d.ts +2 -0
  4. package/dist/algorand-client.js +2 -0
  5. package/dist/env.d.ts +1 -0
  6. package/dist/env.js +4 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +158 -0
  9. package/dist/networkConfig.d.ts +5 -0
  10. package/dist/networkConfig.js +57 -0
  11. package/dist/resources/index.d.ts +16 -0
  12. package/dist/resources/index.js +37 -0
  13. package/dist/resources/knowledge/index.d.ts +72 -0
  14. package/dist/resources/knowledge/index.js +180 -0
  15. package/dist/resources/knowledge/taxonomy/algokit-cli:README.md +272 -0
  16. package/dist/resources/knowledge/taxonomy/algokit:README.md +70 -0
  17. package/dist/resources/knowledge/taxonomy/algokit:cli:algokit.md +52 -0
  18. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md +94 -0
  19. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2022-11-22_beaker-testing-strategy.md +95 -0
  20. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-01-11_beaker_productionisation_review.md +412 -0
  21. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-01-11_brew_install.md +86 -0
  22. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-01-12_smart-contract-deployment.md +375 -0
  23. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-06-06_frontend-templates.md +164 -0
  24. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-07-19_advanced_generate_command.md +203 -0
  25. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-01-13_native_binaries.md +163 -0
  26. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-01-23_init-wizard-v2.md +211 -0
  27. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-01-31_binary_distribution.md +255 -0
  28. package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-03-06_local_dev_ui_packaging.md +143 -0
  29. package/dist/resources/knowledge/taxonomy/algokit:cli:articles:output_stability.md +8 -0
  30. package/dist/resources/knowledge/taxonomy/algokit:cli:cli:index.md +1517 -0
  31. package/dist/resources/knowledge/taxonomy/algokit:cli:features:compile.md +98 -0
  32. package/dist/resources/knowledge/taxonomy/algokit:cli:features:completions.md +56 -0
  33. package/dist/resources/knowledge/taxonomy/algokit:cli:features:config.md +37 -0
  34. package/dist/resources/knowledge/taxonomy/algokit:cli:features:dispenser.md +90 -0
  35. package/dist/resources/knowledge/taxonomy/algokit:cli:features:doctor.md +51 -0
  36. package/dist/resources/knowledge/taxonomy/algokit:cli:features:explore.md +21 -0
  37. package/dist/resources/knowledge/taxonomy/algokit:cli:features:generate.md +179 -0
  38. package/dist/resources/knowledge/taxonomy/algokit:cli:features:goal.md +139 -0
  39. package/dist/resources/knowledge/taxonomy/algokit:cli:features:init.md +122 -0
  40. package/dist/resources/knowledge/taxonomy/algokit:cli:features:localnet.md +191 -0
  41. package/dist/resources/knowledge/taxonomy/algokit:cli:features:project.md +95 -0
  42. package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:bootstrap.md +128 -0
  43. package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:deploy.md +211 -0
  44. package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:link.md +67 -0
  45. package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:list.md +43 -0
  46. package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:run.md +184 -0
  47. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks.md +16 -0
  48. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:analyze.md +33 -0
  49. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:ipfs.md +66 -0
  50. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:mint.md +70 -0
  51. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:nfd.md +45 -0
  52. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:opt.md +71 -0
  53. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:send.md +60 -0
  54. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:sign.md +94 -0
  55. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:transfer.md +54 -0
  56. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:vanity_address.md +56 -0
  57. package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:wallet.md +93 -0
  58. package/dist/resources/knowledge/taxonomy/algokit:cli:tutorials:algokit-template.md +220 -0
  59. package/dist/resources/knowledge/taxonomy/algokit:cli:tutorials:intro.md +171 -0
  60. package/dist/resources/knowledge/taxonomy/algokit:cli:tutorials:smart-contracts.md +14 -0
  61. package/dist/resources/knowledge/taxonomy/algokit:docs:testnet_api.md +157 -0
  62. package/dist/resources/knowledge/taxonomy/algokit:lora:README.md +61 -0
  63. package/dist/resources/knowledge/taxonomy/algokit:utils:python:README.md +35 -0
  64. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md +1095 -0
  65. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:account.md +32 -0
  66. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:app-client.md +154 -0
  67. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:app-deploy.md +121 -0
  68. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:client.md +29 -0
  69. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:debugger.md +45 -0
  70. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:dispenser-client.md +60 -0
  71. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:transfer.md +58 -0
  72. package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:index.md +123 -0
  73. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:account.md +31 -0
  74. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:app-client.md +157 -0
  75. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:app-deploy.md +121 -0
  76. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:client.md +29 -0
  77. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:debugger.md +45 -0
  78. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:dispenser-client.md +60 -0
  79. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:transfer.md +58 -0
  80. package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:index.md +103 -0
  81. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:README.md +64 -0
  82. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:account.md +186 -0
  83. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:algorand-client.md +160 -0
  84. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:amount.md +51 -0
  85. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:app-client.md +422 -0
  86. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:app-deploy.md +278 -0
  87. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:app.md +442 -0
  88. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:asset.md +331 -0
  89. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:client.md +115 -0
  90. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:debugging.md +54 -0
  91. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:dispenser-client.md +85 -0
  92. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:event-emitter.md +97 -0
  93. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:indexer.md +83 -0
  94. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:testing.md +207 -0
  95. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:transaction-composer.md +89 -0
  96. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:transaction.md +23 -0
  97. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:transfer.md +129 -0
  98. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:typed-app-clients.md +201 -0
  99. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:README.md +53 -0
  100. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:testing.TestLogger.md +272 -0
  101. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:testing.TransactionLogger.md +149 -0
  102. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_account.MultisigAccount.md +178 -0
  103. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_account.SigningAccount.md +153 -0
  104. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_account_manager.AccountManager.md +924 -0
  105. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md +200 -0
  106. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algorand_client.AlgorandClient.md +646 -0
  107. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md +1290 -0
  108. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md +1425 -0
  109. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_amount.AlgoAmount.md +247 -0
  110. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_arc56.Arc56Method.md +259 -0
  111. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_client.AppClient.md +1350 -0
  112. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_client.ApplicationClient.md +887 -0
  113. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_deployer.AppDeployer.md +186 -0
  114. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_factory.AppFactory.md +780 -0
  115. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_manager.AppManager.md +527 -0
  116. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_asset_manager.AssetManager.md +221 -0
  117. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_async_event_emitter.AsyncEventEmitter.md +244 -0
  118. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_client_manager.ClientManager.md +1072 -0
  119. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_composer.TransactionComposer.md +1281 -0
  120. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_config.UpdatableConfig.md +274 -0
  121. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_dispenser_client.TestNetDispenserApiClient.md +225 -0
  122. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_kmd_account_manager.KmdAccountManager.md +182 -0
  123. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_logic_error.LogicError.md +261 -0
  124. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_app.OnSchemaBreak.md +51 -0
  125. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_app.OnUpdate.md +64 -0
  126. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_indexer.AccountStatus.md +51 -0
  127. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_indexer.ApplicationOnComplete.md +78 -0
  128. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_indexer.SignatureType.md +51 -0
  129. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_lifecycle_events.EventType.md +32 -0
  130. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_account.AccountConfig.md +69 -0
  131. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_account.TransactionSignerAccount.md +34 -0
  132. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_account_manager.EnsureFundedResult.md +38 -0
  133. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_algorand_client_interface.AlgorandClientInterface.md +102 -0
  134. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppCallParams.md +233 -0
  135. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppCallTransactionResultOfType.md +108 -0
  136. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppCompilationResult.md +38 -0
  137. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppDeployMetadata.md +72 -0
  138. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppDeploymentParams.md +305 -0
  139. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppLookup.md +34 -0
  140. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppMetadata.md +174 -0
  141. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppReference.md +44 -0
  142. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppState.md +11 -0
  143. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppStorageSchema.md +77 -0
  144. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxName.md +51 -0
  145. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxReference.md +42 -0
  146. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxValueRequestParams.md +54 -0
  147. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxValuesRequestParams.md +54 -0
  148. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.CompiledTeal.md +77 -0
  149. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.CoreAppCallArgs.md +98 -0
  150. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.CreateAppParams.md +287 -0
  151. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.RawAppCallArgs.md +148 -0
  152. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.TealTemplateParams.md +13 -0
  153. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.UpdateAppParams.md +274 -0
  154. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Arc56Contract.md +284 -0
  155. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Event.md +51 -0
  156. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md +145 -0
  157. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.ProgramSourceInfo.md +38 -0
  158. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.StorageKey.md +64 -0
  159. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.StorageMap.md +64 -0
  160. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.StructField.md +38 -0
  161. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallABIArgs.md +150 -0
  162. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallCoreParams.md +51 -0
  163. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationParams.md +49 -0
  164. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationResult.md +80 -0
  165. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCallInterfaceParams.md +83 -0
  166. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCoreParams.md +111 -0
  167. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployParams.md +239 -0
  168. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientParams.md +120 -0
  169. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppSourceMaps.md +38 -0
  170. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.FundAppAccountParams.md +62 -0
  171. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppById.md +65 -0
  172. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppByIdBase.md +44 -0
  173. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.SourceMapExport.md +54 -0
  174. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_deployer.AppLookup.md +42 -0
  175. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_deployer.AppMetadata.md +164 -0
  176. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md +145 -0
  177. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.AppInformation.md +156 -0
  178. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.BoxReference.md +38 -0
  179. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.BoxValueRequestParams.md +51 -0
  180. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.BoxValuesRequestParams.md +51 -0
  181. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.AppSources.md +38 -0
  182. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.AppSpec.md +90 -0
  183. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.CallConfig.md +77 -0
  184. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.DeclaredSchemaValueSpec.md +64 -0
  185. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.Hint.md +58 -0
  186. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.ReservedSchemaValueSpec.md +51 -0
  187. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.Schema.md +38 -0
  188. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.SchemaSpec.md +38 -0
  189. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.StateSchemaSpec.md +38 -0
  190. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.Struct.md +38 -0
  191. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.AssetBulkOptInOutParams.md +105 -0
  192. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.AssetOptInParams.md +224 -0
  193. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.AssetOptOutParams.md +268 -0
  194. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.CreateAssetParams.md +369 -0
  195. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset_manager.AssetInformation.md +272 -0
  196. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset_manager.BulkAssetOptInOutResult.md +38 -0
  197. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_client_manager.AlgoSdkClients.md +51 -0
  198. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppClient.md +84 -0
  199. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppFactory.md +39 -0
  200. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_composer.BuiltTransactions.md +51 -0
  201. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_config.Config.md +115 -0
  202. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_debugging.AVMTracesEventData.md +25 -0
  203. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_debugging.TealSourceDebugEventData.md +51 -0
  204. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_debugging.TealSourcesDebugEventData.md +25 -0
  205. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserFundResponse.md +38 -0
  206. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserLimitResponse.md +25 -0
  207. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_dispenser_client.TestNetDispenserApiClientParams.md +38 -0
  208. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_indexer.LookupAssetHoldingsOptions.md +51 -0
  209. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_logic_error.LogicErrorDetails.md +77 -0
  210. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_network_client.AlgoClientConfig.md +51 -0
  211. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_network_client.AlgoConfig.md +51 -0
  212. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_network_client.NetworkDetails.md +77 -0
  213. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgoKitLogCaptureFixture.md +72 -0
  214. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixture.md +79 -0
  215. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixtureConfig.md +149 -0
  216. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md +165 -0
  217. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.GetTestAccountParams.md +65 -0
  218. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.LogSnapshotConfig.md +53 -0
  219. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.AtomicTransactionComposerToSend.md +98 -0
  220. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResult.md +52 -0
  221. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResults.md +88 -0
  222. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendAtomicTransactionComposerResults.md +92 -0
  223. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendParams.md +57 -0
  224. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionParams.md +135 -0
  225. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResult.md +48 -0
  226. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResults.md +49 -0
  227. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.TransactionGroupToSend.md +54 -0
  228. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.TransactionToSign.md +38 -0
  229. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.AlgoRekeyParams.md +222 -0
  230. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.AlgoTransferParams.md +235 -0
  231. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedParams.md +248 -0
  232. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedReturnType.md +38 -0
  233. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.TransferAssetParams.md +261 -0
  234. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:index.indexer.md +194 -0
  235. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:index.md +3215 -0
  236. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:testing.md +243 -0
  237. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_account.md +100 -0
  238. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_account_manager.md +42 -0
  239. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_account_manager_spec.md +3 -0
  240. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algo_http_client_with_retry.md +9 -0
  241. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client.md +9 -0
  242. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_asset_spec.md +3 -0
  243. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_interface.md +9 -0
  244. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_spec.md +3 -0
  245. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_transaction_creator.md +9 -0
  246. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_transaction_sender.md +9 -0
  247. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_transfer_spec.md +3 -0
  248. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_amount.md +9 -0
  249. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_amount_spec.md +3 -0
  250. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app.md +279 -0
  251. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_arc56.md +346 -0
  252. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_client.md +347 -0
  253. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_client_spec.md +3 -0
  254. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_deployer.md +93 -0
  255. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_factory.md +124 -0
  256. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_factory_and_client_spec.md +3 -0
  257. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_manager.md +36 -0
  258. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_spec.md +160 -0
  259. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_asset.md +12 -0
  260. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_asset_manager.md +14 -0
  261. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_async_event_emitter.md +44 -0
  262. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_async_event_emitter_spec.md +3 -0
  263. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_client_manager.md +122 -0
  264. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_client_manager_spec.md +3 -0
  265. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_composer.md +433 -0
  266. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_config.md +13 -0
  267. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_debugging.md +79 -0
  268. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_dispenser_client.md +15 -0
  269. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_dispenser_client_spec.md +3 -0
  270. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_expand.md +28 -0
  271. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_indexer.md +611 -0
  272. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_kmd_account_manager.md +9 -0
  273. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_lifecycle_events.md +34 -0
  274. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_logging.md +93 -0
  275. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_logic_error.md +13 -0
  276. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_network_client.md +39 -0
  277. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_testing.md +14 -0
  278. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_transaction.md +90 -0
  279. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_transfer.md +13 -0
  280. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:v7-migration.md +392 -0
  281. package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:v8-migration.md +102 -0
  282. package/dist/resources/knowledge/taxonomy/arcs:ARC-template.md +48 -0
  283. package/dist/resources/knowledge/taxonomy/arcs:README.md +41 -0
  284. package/dist/resources/knowledge/taxonomy/arcs:assets:arc-0012:README.md +30 -0
  285. package/dist/resources/knowledge/taxonomy/arcs:assets:arc-0034:TemplateForm.md +58 -0
  286. package/dist/resources/knowledge/taxonomy/arcs:assets:arc-0062:README.md +16 -0
  287. package/dist/resources/knowledge/taxonomy/arcs:pages:nfts.md +24 -0
  288. package/dist/resources/knowledge/taxonomy/arcs:pages:wallets.md +74 -0
  289. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0000.md +298 -0
  290. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0001.md +480 -0
  291. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0002.md +138 -0
  292. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0003.md +469 -0
  293. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0004.md +725 -0
  294. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0005.md +90 -0
  295. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0006.md +202 -0
  296. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0007.md +113 -0
  297. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0008.md +55 -0
  298. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0009.md +63 -0
  299. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0010.md +111 -0
  300. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0011.md +47 -0
  301. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0012.md +158 -0
  302. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0015.md +112 -0
  303. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0016.md +97 -0
  304. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0018.md +616 -0
  305. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0019.md +246 -0
  306. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0020.md +742 -0
  307. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0021.md +98 -0
  308. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0022.md +75 -0
  309. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0023.md +189 -0
  310. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0025.md +241 -0
  311. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0026.md +112 -0
  312. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0028.md +176 -0
  313. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0032.md +286 -0
  314. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0033.md +104 -0
  315. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0034.md +167 -0
  316. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0035.md +151 -0
  317. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0036.md +84 -0
  318. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0042.md +76 -0
  319. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0047.md +171 -0
  320. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0048.md +85 -0
  321. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0049.md +80 -0
  322. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0054.md +217 -0
  323. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0055.md +540 -0
  324. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0056.md +516 -0
  325. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0059.md +726 -0
  326. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0062.md +339 -0
  327. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0065.md +169 -0
  328. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0069.md +183 -0
  329. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0072.md +335 -0
  330. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0073.md +93 -0
  331. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0074.md +128 -0
  332. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0076.md +99 -0
  333. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0078.md +220 -0
  334. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0079.md +109 -0
  335. package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0200.md +232 -0
  336. package/dist/resources/knowledge/taxonomy/clis_index.md +2347 -0
  337. package/dist/resources/knowledge/taxonomy/developer:docs:about.md +13 -0
  338. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:algokey.md +45 -0
  339. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:generate.md +42 -0
  340. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:import.md +42 -0
  341. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:multisig:append-auth-addr.md +44 -0
  342. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:multisig:multisig.md +47 -0
  343. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:part:info.md +40 -0
  344. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:part:part.md +42 -0
  345. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:part:reparent.md +42 -0
  346. package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:sign.md +46 -0
  347. package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:conduit.md +71 -0
  348. package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:init.md +88 -0
  349. package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:exporters.md +46 -0
  350. package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:importers.md +46 -0
  351. package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:list.md +63 -0
  352. package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:processors.md +46 -0
  353. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:diagcfg.md +39 -0
  354. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:disable.md +58 -0
  355. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:enable.md +58 -0
  356. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:metric.md +51 -0
  357. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:status.md +58 -0
  358. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:disable.md +58 -0
  359. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:enable.md +58 -0
  360. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:endpoint.md +60 -0
  361. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:name.md +60 -0
  362. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:status.md +58 -0
  363. package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:telemetry.md +53 -0
  364. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:restart.md +60 -0
  365. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:start.md +60 -0
  366. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:status.md +62 -0
  367. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:stop.md +52 -0
  368. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:wait.md +62 -0
  369. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:protocols.md +60 -0
  370. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:report.md +60 -0
  371. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:version.md +54 -0
  372. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:wallet:list.md +52 -0
  373. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:wallet:new.md +54 -0
  374. package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:wallet:wallet.md +56 -0
  375. package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:api-config.md +50 -0
  376. package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:daemon.md +110 -0
  377. package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:indexer.md +50 -0
  378. package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:util:util.md +39 -0
  379. package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:util:validator.md +72 -0
  380. package/dist/resources/knowledge/taxonomy/developer:docs:clis:kmd.md +51 -0
  381. package/dist/resources/knowledge/taxonomy/developer:docs:clis:tealdbg:debug.md +92 -0
  382. package/dist/resources/knowledge/taxonomy/developer:docs:clis:tealdbg:remote.md +66 -0
  383. package/dist/resources/knowledge/taxonomy/developer:docs:clis:tealdbg:tealdbg.md +59 -0
  384. package/dist/resources/knowledge/taxonomy/developer:docs:details:accounts:create.md +741 -0
  385. package/dist/resources/knowledge/taxonomy/developer:docs:details:accounts:index.md +107 -0
  386. package/dist/resources/knowledge/taxonomy/developer:docs:details:accounts:rekey.md +462 -0
  387. package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:betanet.md +31 -0
  388. package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:index.md +23 -0
  389. package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:mainnet.md +19 -0
  390. package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:testnet.md +25 -0
  391. package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand_consensus.md +46 -0
  392. package/dist/resources/knowledge/taxonomy/developer:docs:details:asa.md +1214 -0
  393. package/dist/resources/knowledge/taxonomy/developer:docs:details:atc.md +412 -0
  394. package/dist/resources/knowledge/taxonomy/developer:docs:details:atomic_transfers.md +396 -0
  395. package/dist/resources/knowledge/taxonomy/developer:docs:details:conduit.md +95 -0
  396. package/dist/resources/knowledge/taxonomy/developer:docs:details:crust.md +156 -0
  397. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:index.md +18 -0
  398. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:guidelines.md +3 -0
  399. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:index.md +332 -0
  400. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:jsonspec.md +134 -0
  401. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:index.md +16 -0
  402. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v1.md +401 -0
  403. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v10.md +1748 -0
  404. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v2.md +671 -0
  405. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v3.md +789 -0
  406. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v4.md +1029 -0
  407. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v5.md +1263 -0
  408. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v6.md +1359 -0
  409. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v7.md +1481 -0
  410. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v8.md +1640 -0
  411. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v9.md +1640 -0
  412. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:specification.md +945 -0
  413. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:ABI:index.md +172 -0
  414. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:create.md +398 -0
  415. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:index.md +246 -0
  416. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:innertx.md +514 -0
  417. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:state.md +704 -0
  418. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:txs.md +231 -0
  419. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:debugging.md +897 -0
  420. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:frontend:apps.md +1680 -0
  421. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:frontend:smartsigs.md +492 -0
  422. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:guidelines.md +405 -0
  423. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:index.md +41 -0
  424. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:smartsigs:index.md +15 -0
  425. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:smartsigs:modes.md +34 -0
  426. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:smartsigs:walkthrough.md +159 -0
  427. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:writing-contracts:beaker.md +341 -0
  428. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:writing-contracts:pyteal.md +786 -0
  429. package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:writing-contracts:python.md +3 -0
  430. package/dist/resources/knowledge/taxonomy/developer:docs:details:encoding.md +457 -0
  431. package/dist/resources/knowledge/taxonomy/developer:docs:details:ethereum_to_algorand.md +239 -0
  432. package/dist/resources/knowledge/taxonomy/developer:docs:details:index.md +29 -0
  433. package/dist/resources/knowledge/taxonomy/developer:docs:details:indexer.md +472 -0
  434. package/dist/resources/knowledge/taxonomy/developer:docs:details:parameter_tables.md +84 -0
  435. package/dist/resources/knowledge/taxonomy/developer:docs:details:stateproofs:index.md +61 -0
  436. package/dist/resources/knowledge/taxonomy/developer:docs:details:stateproofs:light_client.md +390 -0
  437. package/dist/resources/knowledge/taxonomy/developer:docs:details:technical_faq.md +233 -0
  438. package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:index.md +746 -0
  439. package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:offline_transactions.md +319 -0
  440. package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:payment_prompts.md +96 -0
  441. package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:signatures.md +484 -0
  442. package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:transactions.md +168 -0
  443. package/dist/resources/knowledge/taxonomy/developer:docs:details:useful_resources.md +29 -0
  444. package/dist/resources/knowledge/taxonomy/developer:docs:get-started:algokit.md +263 -0
  445. package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:what_is_blockchain.md +69 -0
  446. package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:whats_a_dapp.md +29 -0
  447. package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:where_to_start.md +43 -0
  448. package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:why_algorand.md +119 -0
  449. package/dist/resources/knowledge/taxonomy/developer:docs:get-started:tokenization:ft.md +24 -0
  450. package/dist/resources/knowledge/taxonomy/developer:docs:get-started:tokenization:nft.md +41 -0
  451. package/dist/resources/knowledge/taxonomy/developer:docs:index.md +100 -0
  452. package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:algod.md +3163 -0
  453. package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:indexer.md +2142 -0
  454. package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:kmd.md +1347 -0
  455. package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:restendpoints.md +76 -0
  456. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:operations:catchup.md +33 -0
  457. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:operations:switch_networks.md +89 -0
  458. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:generate_keys.md +76 -0
  459. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:index.md +56 -0
  460. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:offline.md +83 -0
  461. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:online.md +170 -0
  462. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:renew.md +29 -0
  463. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:artifacts.md +89 -0
  464. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:config.md +190 -0
  465. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:relay.md +51 -0
  466. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:telemetry-config.md +31 -0
  467. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:indexer.md +71 -0
  468. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:install.md +618 -0
  469. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:node-troubleshooting.md +190 -0
  470. package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:types.md +77 -0
  471. package/dist/resources/knowledge/taxonomy/developer:docs:sdks:go:index.md +189 -0
  472. package/dist/resources/knowledge/taxonomy/developer:docs:sdks:index.md +38 -0
  473. package/dist/resources/knowledge/taxonomy/developer:docs:sdks:java:index.md +164 -0
  474. package/dist/resources/knowledge/taxonomy/developer:docs:sdks:javascript:index.md +168 -0
  475. package/dist/resources/knowledge/taxonomy/developer:docs:sdks:python:index.md +162 -0
  476. package/dist/resources/knowledge/taxonomy/developer:python:code:example:accounts.md +215 -0
  477. package/dist/resources/knowledge/taxonomy/developer:python:code:example:arc4_types.md +267 -0
  478. package/dist/resources/knowledge/taxonomy/developer:python:code:example:assets.md +235 -0
  479. package/dist/resources/knowledge/taxonomy/developer:python:code:example:box_storage.md +211 -0
  480. package/dist/resources/knowledge/taxonomy/developer:python:code:example:control_flow.md +162 -0
  481. package/dist/resources/knowledge/taxonomy/developer:python:code:example:crypto:merkle_tree.md +0 -0
  482. package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:amm.md +0 -0
  483. package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:auction.md +0 -0
  484. package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:htlc_logicsig.md +0 -0
  485. package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:marketplace.md +0 -0
  486. package/dist/resources/knowledge/taxonomy/developer:python:code:example:events:arc28_events.md +0 -0
  487. package/dist/resources/knowledge/taxonomy/developer:python:code:example:global_storage.md +192 -0
  488. package/dist/resources/knowledge/taxonomy/developer:python:code:example:governance:simple_voting.md +0 -0
  489. package/dist/resources/knowledge/taxonomy/developer:python:code:example:hello_world.md +133 -0
  490. package/dist/resources/knowledge/taxonomy/developer:python:code:example:inner_transactions.md +247 -0
  491. package/dist/resources/knowledge/taxonomy/developer:python:code:example:local_storage.md +227 -0
  492. package/dist/resources/knowledge/taxonomy/developer:python:code:example:nft:proof_of_attendance.md +0 -0
  493. package/dist/resources/knowledge/taxonomy/developer:python:code:example:privacy:zk_whitelist.md +0 -0
  494. package/dist/resources/knowledge/taxonomy/developer:python:code:example:scratch_storage.md +169 -0
  495. package/dist/resources/knowledge/taxonomy/developer:python:code:example:self_payment.md +167 -0
  496. package/dist/resources/knowledge/taxonomy/developer:python:code:example:struct_in_box.md +182 -0
  497. package/dist/resources/knowledge/taxonomy/developer:python:code:example:subsidize_app_call.md +189 -0
  498. package/dist/resources/knowledge/taxonomy/developer:python:code:example:transactions.md +0 -0
  499. package/dist/resources/knowledge/taxonomy/developer:python:code:example:utility:calculator.md +0 -0
  500. package/dist/resources/knowledge/taxonomy/devportal-code-examples:README.md +31 -0
  501. package/dist/resources/knowledge/taxonomy/devportal-code-examples:projects:python-contract-examples:README.md +155 -0
  502. package/dist/resources/knowledge/taxonomy/docs:.walletconnect:index.md +133 -0
  503. package/dist/resources/knowledge/taxonomy/docs:.walletconnect:walletconnect-schema.md +167 -0
  504. package/dist/resources/knowledge/taxonomy/docs:README.md +12 -0
  505. package/dist/resources/knowledge/taxonomy/docs:scripts:README.md +90 -0
  506. package/dist/resources/knowledge/taxonomy/docs:scripts:example_tracker:example_list.md +132 -0
  507. package/dist/resources/knowledge/taxonomy/index.md +2044 -0
  508. package/dist/resources/knowledge/taxonomy/liquid-auth:ARCHITECTURE.md +241 -0
  509. package/dist/resources/knowledge/taxonomy/liquid-auth:README.md +105 -0
  510. package/dist/resources/knowledge/taxonomy/liquid-auth:SEQUENCE.md +41 -0
  511. package/dist/resources/knowledge/taxonomy/liquid-auth:VISION.md +13 -0
  512. package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:1-Service-Authentication.md +18 -0
  513. package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:2-Bidirectional-Communication.md +42 -0
  514. package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:3-Peer-to-Peer-Signaling.md +60 -0
  515. package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:4-Fido-Extension.md +51 -0
  516. package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:README.md +6 -0
  517. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:README.md +54 -0
  518. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:architecture.md +101 -0
  519. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:android:provider-service:authenticate.md +13 -0
  520. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:android:provider-service:register.md +18 -0
  521. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:browser:authentication.md +107 -0
  522. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:browser:example.md +64 -0
  523. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:introduction.md +18 -0
  524. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:environment-variables.md +75 -0
  525. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:integrations.md +168 -0
  526. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:introduction.md +22 -0
  527. package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:running-locally.md +88 -0
  528. package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.request.md +3 -0
  529. package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.response.md +3 -0
  530. package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:attestation:attestation.controller.post.request.md +1 -0
  531. package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:auth:auth.controller.get.user.md +0 -0
  532. package/dist/resources/knowledge/taxonomy/liquid-auth:sites:express-dapp:README.md +73 -0
  533. package/dist/resources/knowledge/taxonomy/liquid_auth_index.md +2221 -0
  534. package/dist/resources/knowledge/taxonomy/puya:README.md +72 -0
  535. package/dist/resources/knowledge/taxonomy/puya:docs:algopy_testing:index.md +15 -0
  536. package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.arc4.md +6 -0
  537. package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.gtxn.md +6 -0
  538. package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.itxn.md +6 -0
  539. package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.md +6 -0
  540. package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.op.md +6 -0
  541. package/dist/resources/knowledge/taxonomy/puya:docs:api.md +6 -0
  542. package/dist/resources/knowledge/taxonomy/puya:docs:compiler.md +239 -0
  543. package/dist/resources/knowledge/taxonomy/puya:docs:index.md +63 -0
  544. package/dist/resources/knowledge/taxonomy/puya:docs:language-guide.md +86 -0
  545. package/dist/resources/knowledge/taxonomy/puya:docs:lg-arc28.md +53 -0
  546. package/dist/resources/knowledge/taxonomy/puya:docs:lg-arc4.md +225 -0
  547. package/dist/resources/knowledge/taxonomy/puya:docs:lg-builtins.md +26 -0
  548. package/dist/resources/knowledge/taxonomy/puya:docs:lg-calling-apps.md +142 -0
  549. package/dist/resources/knowledge/taxonomy/puya:docs:lg-compile.md +70 -0
  550. package/dist/resources/knowledge/taxonomy/puya:docs:lg-control.md +87 -0
  551. package/dist/resources/knowledge/taxonomy/puya:docs:lg-errors.md +36 -0
  552. package/dist/resources/knowledge/taxonomy/puya:docs:lg-logs.md +46 -0
  553. package/dist/resources/knowledge/taxonomy/puya:docs:lg-modules.md +90 -0
  554. package/dist/resources/knowledge/taxonomy/puya:docs:lg-opcode-budget.md +3 -0
  555. package/dist/resources/knowledge/taxonomy/puya:docs:lg-ops.md +40 -0
  556. package/dist/resources/knowledge/taxonomy/puya:docs:lg-storage.md +222 -0
  557. package/dist/resources/knowledge/taxonomy/puya:docs:lg-structure.md +283 -0
  558. package/dist/resources/knowledge/taxonomy/puya:docs:lg-transactions.md +248 -0
  559. package/dist/resources/knowledge/taxonomy/puya:docs:lg-types.md +319 -0
  560. package/dist/resources/knowledge/taxonomy/puya:docs:lg-unsupported-python-features.md +52 -0
  561. package/dist/resources/knowledge/taxonomy/puya:docs:principles.md +196 -0
  562. package/dist/resources/knowledge/taxonomy/puya:examples:auction:README.md +3 -0
  563. package/dist/resources/knowledge/taxonomy/puya:python:testing:README.md +66 -0
  564. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:algopy.md +9 -0
  565. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:api.md +41 -0
  566. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:coverage.md +159 -0
  567. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:examples.md +13 -0
  568. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:faq.md +61 -0
  569. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:index.md +182 -0
  570. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:arc4-types.md +96 -0
  571. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:avm-types.md +223 -0
  572. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:concepts.md +58 -0
  573. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:contract-testing.md +225 -0
  574. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:index.md +67 -0
  575. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:opcodes.md +382 -0
  576. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:signature-testing.md +73 -0
  577. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:state-management.md +104 -0
  578. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:subroutines.md +62 -0
  579. package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:transactions.md +200 -0
  580. package/dist/resources/knowledge/taxonomy/puya:python:testing:examples:README.md +56 -0
  581. package/dist/resources/knowledge/taxonomy/puya:src:puya:ARCHITECTURE.md +26 -0
  582. package/dist/resources/knowledge/taxonomy/puya:src:puyapy:_typeshed:README.md +10 -0
  583. package/dist/resources/knowledge/taxonomy/puya:src:puyapy:_vendor:mypy:typeshed:stdlib:_typeshed:README.md +34 -0
  584. package/dist/resources/knowledge/taxonomy/puya:src:puyapy:awst_build:README.md +13 -0
  585. package/dist/resources/knowledge/taxonomy/puya:stubs:README.md +89 -0
  586. package/dist/resources/knowledge/taxonomy/puya:tests:test_expected_output:README.md +17 -0
  587. package/dist/resources/knowledge/taxonomy/puya:typescript:README.md +11 -0
  588. package/dist/resources/knowledge/taxonomy/puya:typescript:docs:README.md +35 -0
  589. package/dist/resources/knowledge/taxonomy/puya:typescript:docs:architecture-decisions:2024-05-21_primitive-bytes-and-strings.md +196 -0
  590. package/dist/resources/knowledge/taxonomy/puya:typescript:docs:architecture-decisions:2024-05-21_primitive-integer-types.md +179 -0
  591. package/dist/resources/knowledge/taxonomy/puya:typescript:packages:algo-ts:readme.md +3 -0
  592. package/dist/resources/knowledge/taxonomy/puya_index.md +2143 -0
  593. package/dist/resources/knowledge/taxonomy/sdks:javascript:FAQ.md +21 -0
  594. package/dist/resources/knowledge/taxonomy/sdks:javascript:README.md +139 -0
  595. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIAddressType.md +185 -0
  596. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIArrayDynamicType.md +230 -0
  597. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIArrayStaticType.md +236 -0
  598. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIBoolType.md +185 -0
  599. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIByteType.md +185 -0
  600. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIContract.md +124 -0
  601. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIInterface.md +100 -0
  602. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIMethod.md +185 -0
  603. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIStringType.md +185 -0
  604. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABITupleType.md +230 -0
  605. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIType.md +169 -0
  606. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIUfixedType.md +221 -0
  607. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIUintType.md +209 -0
  608. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Algodv2.md +1321 -0
  609. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:AtomicTransactionComposer.md +385 -0
  610. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:DryrunResult.md +61 -0
  611. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Indexer.md +727 -0
  612. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Kmd.md +642 -0
  613. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:LogicSig.md +315 -0
  614. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:LogicSigAccount.md +276 -0
  615. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:SourceMap.md +151 -0
  616. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Transaction.md +1133 -0
  617. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Account.md +557 -0
  618. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountParticipation.md +195 -0
  619. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountResponse.md +138 -0
  620. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountStateDelta.md +136 -0
  621. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountsResponse.md +149 -0
  622. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Application.md +180 -0
  623. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLocalState.md +195 -0
  624. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLocalStatesResponse.md +149 -0
  625. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLogData.md +138 -0
  626. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLogsResponse.md +163 -0
  627. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationParams.md +209 -0
  628. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationResponse.md +136 -0
  629. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationStateSchema.md +138 -0
  630. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationsResponse.md +149 -0
  631. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Asset.md +183 -0
  632. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetBalancesResponse.md +149 -0
  633. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetHolding.md +196 -0
  634. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetHoldingsResponse.md +149 -0
  635. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetParams.md +334 -0
  636. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetResponse.md +136 -0
  637. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetsResponse.md +149 -0
  638. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Block.md +390 -0
  639. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BlockRewards.md +199 -0
  640. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BlockUpgradeState.md +181 -0
  641. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BlockUpgradeVote.md +152 -0
  642. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Box.md +152 -0
  643. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BoxDescriptor.md +124 -0
  644. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BoxesResponse.md +151 -0
  645. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ErrorResponse.md +134 -0
  646. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.EvalDelta.md +152 -0
  647. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.EvalDeltaKeyValue.md +136 -0
  648. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.HashFactory.md +122 -0
  649. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.HealthCheck.md +196 -0
  650. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.IndexerStateProofMessage.md +178 -0
  651. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.MerkleArrayProof.md +148 -0
  652. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.MiniAssetHolding.md +188 -0
  653. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ParticipationUpdates.md +139 -0
  654. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofFields.md +211 -0
  655. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofParticipant.md +136 -0
  656. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofReveal.md +151 -0
  657. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofSigSlot.md +134 -0
  658. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofSignature.md +158 -0
  659. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofTracking.md +166 -0
  660. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofVerifier.md +136 -0
  661. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateSchema.md +141 -0
  662. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TealKeyValue.md +136 -0
  663. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TealValue.md +152 -0
  664. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Transaction.md +629 -0
  665. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionApplication.md +291 -0
  666. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionAssetConfig.md +145 -0
  667. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionAssetFreeze.md +154 -0
  668. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionAssetTransfer.md +201 -0
  669. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionKeyreg.md +211 -0
  670. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionPayment.md +170 -0
  671. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionResponse.md +140 -0
  672. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignature.md +157 -0
  673. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignatureLogicsig.md +171 -0
  674. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignatureMultisig.md +154 -0
  675. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignatureMultisigSubsignature.md +136 -0
  676. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionStateProof.md +157 -0
  677. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionsResponse.md +149 -0
  678. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Account.md +516 -0
  679. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountApplicationResponse.md +158 -0
  680. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountAssetHolding.md +141 -0
  681. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountAssetResponse.md +156 -0
  682. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountAssetsInformationResponse.md +151 -0
  683. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountParticipation.md +196 -0
  684. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountStateDelta.md +136 -0
  685. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AppCallLogs.md +153 -0
  686. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Application.md +138 -0
  687. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationInitialStates.md +167 -0
  688. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationKVStorage.md +138 -0
  689. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationLocalReference.md +138 -0
  690. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationLocalState.md +152 -0
  691. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationParams.md +209 -0
  692. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationStateOperation.md +182 -0
  693. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationStateSchema.md +138 -0
  694. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Asset.md +141 -0
  695. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AssetHolding.md +154 -0
  696. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AssetHoldingReference.md +138 -0
  697. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AssetParams.md +334 -0
  698. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AvmKeyValue.md +136 -0
  699. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AvmValue.md +152 -0
  700. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockHashResponse.md +124 -0
  701. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockLogsResponse.md +128 -0
  702. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockResponse.md +139 -0
  703. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockTxidsResponse.md +124 -0
  704. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Box.md +152 -0
  705. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BoxDescriptor.md +124 -0
  706. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BoxReference.md +138 -0
  707. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BoxesResponse.md +122 -0
  708. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BuildVersion.md +180 -0
  709. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.CompileResponse.md +152 -0
  710. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DisassembleResponse.md +124 -0
  711. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunRequest.md +204 -0
  712. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunResponse.md +148 -0
  713. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunSource.md +163 -0
  714. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunState.md +176 -0
  715. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunTxnResult.md +253 -0
  716. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ErrorResponse.md +134 -0
  717. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.EvalDelta.md +152 -0
  718. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.EvalDeltaKeyValue.md +136 -0
  719. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.GetBlockTimeStampOffsetResponse.md +124 -0
  720. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.GetSyncRoundResponse.md +124 -0
  721. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.KvDelta.md +139 -0
  722. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.LedgerStateDeltaForTransactionGroup.md +136 -0
  723. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.LightBlockHeaderProof.md +153 -0
  724. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.NodeStatusResponse.md +480 -0
  725. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.PendingTransactionResponse.md +312 -0
  726. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.PendingTransactionsResponse.md +140 -0
  727. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.PostTransactionsResponse.md +124 -0
  728. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ScratchChange.md +138 -0
  729. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateInitialStates.md +125 -0
  730. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateRequest.md +227 -0
  731. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateRequestTransactionGroup.md +124 -0
  732. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateResponse.md +197 -0
  733. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateTraceConfig.md +169 -0
  734. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateTransactionGroupResult.md +206 -0
  735. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateTransactionResult.md +206 -0
  736. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateUnnamedResourcesAccessed.md +221 -0
  737. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulationEvalOverrides.md +198 -0
  738. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md +194 -0
  739. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulationTransactionExecTrace.md +241 -0
  740. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.StateProof.md +138 -0
  741. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.StateProofMessage.md +182 -0
  742. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SupplyResponse.md +152 -0
  743. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TealKeyValue.md +136 -0
  744. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TealValue.md +152 -0
  745. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TransactionGroupLedgerStateDeltasForRoundResponse.md +123 -0
  746. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TransactionParametersResponse.md +200 -0
  747. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TransactionProofResponse.md +183 -0
  748. package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Version.md +158 -0
  749. package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:ABIReferenceType.md +47 -0
  750. package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:ABITransactionType.md +99 -0
  751. package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:AtomicTransactionComposerStatus.md +73 -0
  752. package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:IntDecoding.md +65 -0
  753. package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:OnApplicationComplete.md +96 -0
  754. package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:TransactionType.md +103 -0
  755. package/dist/resources/knowledge/taxonomy/sdks:javascript:examples:README.md +9 -0
  756. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIContractNetworkInfo.md +19 -0
  757. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIContractNetworks.md +7 -0
  758. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIContractParams.md +63 -0
  759. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIInterfaceParams.md +41 -0
  760. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIMethodArgParams.md +41 -0
  761. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIMethodParams.md +78 -0
  762. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIMethodReturnParams.md +30 -0
  763. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIResult.md +90 -0
  764. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:Account.md +38 -0
  765. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:Address.md +32 -0
  766. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:AlgodTokenHeader.md +19 -0
  767. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BaseHTTPClient.md +98 -0
  768. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BaseHTTPClientError.md +22 -0
  769. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BaseHTTPClientResponse.md +41 -0
  770. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BoxReference.md +36 -0
  771. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:CustomTokenHeader.md +7 -0
  772. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedAssetParams.md +153 -0
  773. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedBoxReference.md +34 -0
  774. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedGlobalStateSchema.md +34 -0
  775. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedLocalStateSchema.md +34 -0
  776. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedLogicSig.md +52 -0
  777. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedLogicSigAccount.md +30 -0
  778. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedMultisig.md +50 -0
  779. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedSignedTransaction.md +75 -0
  780. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedSubsig.md +34 -0
  781. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedTransaction.md +606 -0
  782. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:IndexerTokenHeader.md +19 -0
  783. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:KMDTokenHeader.md +19 -0
  784. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:MultisigMetadata.md +52 -0
  785. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:SignedTransaction.md +75 -0
  786. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:SuggestedParams.md +89 -0
  787. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:TransactionParams.md +718 -0
  788. package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:TransactionWithSigner.md +36 -0
  789. package/dist/resources/knowledge/taxonomy/sdks:javascript:modules.md +2993 -0
  790. package/dist/resources/knowledge/taxonomy/sdks:javascript:modules:indexerModels.md +69 -0
  791. package/dist/resources/knowledge/taxonomy/sdks:javascript:modules:modelsv2.md +79 -0
  792. package/dist/resources/knowledge/taxonomy/sdks:python:README.md +120 -0
  793. package/dist/resources/knowledge/taxonomy/sdks:python:algosdk:v2client:harness:README.md +18 -0
  794. package/dist/resources/knowledge/taxonomy/sdks:python:examples:README.md +11 -0
  795. package/dist/resources/knowledge/taxonomy/tealscript:FEATURES.md +252 -0
  796. package/dist/resources/knowledge/taxonomy/tealscript:README.md +54 -0
  797. package/dist/resources/knowledge/taxonomy/tealscript:examples_amm_README.md +3 -0
  798. package/dist/resources/knowledge/taxonomy/tealscript:examples_auction_README.md +3 -0
  799. package/dist/resources/knowledge/taxonomy/tealscript:examples_big_box_README.md +20 -0
  800. package/dist/resources/knowledge/taxonomy/tealscript:examples_itxns_README.md +1 -0
  801. package/dist/resources/knowledge/taxonomy/tealscript:examples_lsig_with_app_README.md +3 -0
  802. package/dist/resources/knowledge/taxonomy/tealscript:examples_reti_README.md +1 -0
  803. package/dist/resources/knowledge/taxonomy/tealscript:guides_Supported Types_arrays.md +104 -0
  804. package/dist/resources/knowledge/taxonomy/tealscript:guides_Supported Types_numbers.md +49 -0
  805. package/dist/resources/knowledge/taxonomy/tealscript:guides_atomic_txn.md +22 -0
  806. package/dist/resources/knowledge/taxonomy/tealscript:guides_features.md +256 -0
  807. package/dist/resources/knowledge/taxonomy/tealscript:guides_getting_started.md +88 -0
  808. package/dist/resources/knowledge/taxonomy/tealscript:guides_inner_transactions.md +43 -0
  809. package/dist/resources/knowledge/taxonomy/tealscript:guides_lifecycle.md +88 -0
  810. package/dist/resources/knowledge/taxonomy/tealscript:guides_math.md +54 -0
  811. package/dist/resources/knowledge/taxonomy/tealscript:guides_methods.md +85 -0
  812. package/dist/resources/knowledge/taxonomy/tealscript:guides_multiple_contracts.md +92 -0
  813. package/dist/resources/knowledge/taxonomy/tealscript:guides_pyteal.md +35 -0
  814. package/dist/resources/knowledge/taxonomy/tealscript:guides_storage.md +110 -0
  815. package/dist/resources/knowledge/taxonomy/tealscript:tests_test_package_README.md +1 -0
  816. package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0001-intro.md +9 -0
  817. package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0002-init.md +50 -0
  818. package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0003-contract.md +98 -0
  819. package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0004-artifacts.md +59 -0
  820. package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0005-hello.md +35 -0
  821. package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0006-test.md +30 -0
  822. package/dist/resources/knowledge/taxonomy-categories/algokit-utils.json +148 -0
  823. package/dist/resources/knowledge/taxonomy-categories/algokit.json +105 -0
  824. package/dist/resources/knowledge/taxonomy-categories/arcs.json +92 -0
  825. package/dist/resources/knowledge/taxonomy-categories/clis.json +280 -0
  826. package/dist/resources/knowledge/taxonomy-categories/details.json +173 -0
  827. package/dist/resources/knowledge/taxonomy-categories/developers.json +71 -0
  828. package/dist/resources/knowledge/taxonomy-categories/liquid-auth.json +127 -0
  829. package/dist/resources/knowledge/taxonomy-categories/nodes.json +50 -0
  830. package/dist/resources/knowledge/taxonomy-categories/puya.json +76 -0
  831. package/dist/resources/knowledge/taxonomy-categories/python.json +104 -0
  832. package/dist/resources/knowledge/taxonomy-categories/sdks.json +152 -0
  833. package/dist/resources/knowledge/taxonomy-categories/tealscript.json +80 -0
  834. package/dist/tools/accountManager.d.ts +150 -0
  835. package/dist/tools/accountManager.js +339 -0
  836. package/dist/tools/algodManager.d.ts +134 -0
  837. package/dist/tools/algodManager.js +257 -0
  838. package/dist/tools/apiManager/algod/account.d.ts +10 -0
  839. package/dist/tools/apiManager/algod/account.js +135 -0
  840. package/dist/tools/apiManager/algod/application.d.ts +10 -0
  841. package/dist/tools/apiManager/algod/application.js +165 -0
  842. package/dist/tools/apiManager/algod/asset.d.ts +8 -0
  843. package/dist/tools/apiManager/algod/asset.js +47 -0
  844. package/dist/tools/apiManager/algod/index.d.ts +6 -0
  845. package/dist/tools/apiManager/algod/index.js +32 -0
  846. package/dist/tools/apiManager/algod/transaction.d.ts +14 -0
  847. package/dist/tools/apiManager/algod/transaction.js +216 -0
  848. package/dist/tools/apiManager/example/get-balance.d.ts +11 -0
  849. package/dist/tools/apiManager/example/get-balance.js +32 -0
  850. package/dist/tools/apiManager/example/index.d.ts +6 -0
  851. package/dist/tools/apiManager/example/index.js +18 -0
  852. package/dist/tools/apiManager/index.d.ts +45 -0
  853. package/dist/tools/apiManager/index.js +53 -0
  854. package/dist/tools/apiManager/indexer/account.d.ts +24 -0
  855. package/dist/tools/apiManager/indexer/account.js +248 -0
  856. package/dist/tools/apiManager/indexer/application.d.ts +24 -0
  857. package/dist/tools/apiManager/indexer/application.js +290 -0
  858. package/dist/tools/apiManager/indexer/asset.d.ts +36 -0
  859. package/dist/tools/apiManager/indexer/asset.js +292 -0
  860. package/dist/tools/apiManager/indexer/index.d.ts +6 -0
  861. package/dist/tools/apiManager/indexer/index.js +39 -0
  862. package/dist/tools/apiManager/indexer/transaction.d.ts +34 -0
  863. package/dist/tools/apiManager/indexer/transaction.js +276 -0
  864. package/dist/tools/apiManager/nfd/index.d.ts +6 -0
  865. package/dist/tools/apiManager/nfd/index.js +476 -0
  866. package/dist/tools/apiManager/tinyman/analytics.d.ts +3 -0
  867. package/dist/tools/apiManager/tinyman/analytics.js +80 -0
  868. package/dist/tools/apiManager/tinyman/bootstrap.d.ts +3 -0
  869. package/dist/tools/apiManager/tinyman/bootstrap.js +85 -0
  870. package/dist/tools/apiManager/tinyman/index.d.ts +3 -0
  871. package/dist/tools/apiManager/tinyman/index.js +60 -0
  872. package/dist/tools/apiManager/tinyman/liquidity.d.ts +3 -0
  873. package/dist/tools/apiManager/tinyman/liquidity.js +143 -0
  874. package/dist/tools/apiManager/tinyman/opt_in.d.ts +3 -0
  875. package/dist/tools/apiManager/tinyman/opt_in.js +112 -0
  876. package/dist/tools/apiManager/tinyman/pool.d.ts +3 -0
  877. package/dist/tools/apiManager/tinyman/pool.js +90 -0
  878. package/dist/tools/apiManager/tinyman/remove_liquidity.d.ts +3 -0
  879. package/dist/tools/apiManager/tinyman/remove_liquidity.js +148 -0
  880. package/dist/tools/apiManager/tinyman/swap.d.ts +3 -0
  881. package/dist/tools/apiManager/tinyman/swap.js +147 -0
  882. package/dist/tools/arc26Manager.d.ts +37 -0
  883. package/dist/tools/arc26Manager.js +131 -0
  884. package/dist/tools/commonParams.d.ts +18 -0
  885. package/dist/tools/commonParams.js +28 -0
  886. package/dist/tools/index.d.ts +8 -0
  887. package/dist/tools/index.js +8 -0
  888. package/dist/tools/knowledgeManager.d.ts +28 -0
  889. package/dist/tools/knowledgeManager.js +73 -0
  890. package/dist/tools/transactionManager/accountTransactions.d.ts +127 -0
  891. package/dist/tools/transactionManager/accountTransactions.js +177 -0
  892. package/dist/tools/transactionManager/appTransactions/callTxn.d.ts +17 -0
  893. package/dist/tools/transactionManager/appTransactions/callTxn.js +95 -0
  894. package/dist/tools/transactionManager/appTransactions/clearTxn.d.ts +17 -0
  895. package/dist/tools/transactionManager/appTransactions/clearTxn.js +95 -0
  896. package/dist/tools/transactionManager/appTransactions/closeOutTxn.d.ts +17 -0
  897. package/dist/tools/transactionManager/appTransactions/closeOutTxn.js +95 -0
  898. package/dist/tools/transactionManager/appTransactions/createTxn.d.ts +17 -0
  899. package/dist/tools/transactionManager/appTransactions/createTxn.js +128 -0
  900. package/dist/tools/transactionManager/appTransactions/deleteTxn.d.ts +17 -0
  901. package/dist/tools/transactionManager/appTransactions/deleteTxn.js +95 -0
  902. package/dist/tools/transactionManager/appTransactions/index.d.ts +23 -0
  903. package/dist/tools/transactionManager/appTransactions/index.js +56 -0
  904. package/dist/tools/transactionManager/appTransactions/optInTxn.d.ts +17 -0
  905. package/dist/tools/transactionManager/appTransactions/optInTxn.js +95 -0
  906. package/dist/tools/transactionManager/appTransactions/types.d.ts +525 -0
  907. package/dist/tools/transactionManager/appTransactions/types.js +298 -0
  908. package/dist/tools/transactionManager/appTransactions/updateTxn.d.ts +17 -0
  909. package/dist/tools/transactionManager/appTransactions/updateTxn.js +101 -0
  910. package/dist/tools/transactionManager/assetTransactions.d.ts +300 -0
  911. package/dist/tools/transactionManager/assetTransactions.js +351 -0
  912. package/dist/tools/transactionManager/generalTransaction.d.ts +96 -0
  913. package/dist/tools/transactionManager/generalTransaction.js +504 -0
  914. package/dist/tools/transactionManager/index.d.ts +18 -0
  915. package/dist/tools/transactionManager/index.js +42 -0
  916. package/dist/tools/utilityManager.d.ts +127 -0
  917. package/dist/tools/utilityManager.js +422 -0
  918. package/dist/tools/walletManager.d.ts +46 -0
  919. package/dist/tools/walletManager.js +781 -0
  920. package/dist/types.d.ts +123 -0
  921. package/dist/types.js +42 -0
  922. package/dist/utils/responseProcessor.d.ts +31 -0
  923. package/dist/utils/responseProcessor.js +152 -0
  924. package/package.json +58 -0
@@ -0,0 +1,1680 @@
1
+ title: Interact with smart contracts
2
+
3
+ This guide covers using smart contracts with the Algorand SDKs. Smart contracts form the basis for applications written in [Transaction Execution Approval Language (TEAL)](/docs/get-details/dapps/avm/teal/) or with Python using the [PyTeal](/docs/get-details/dapps/writing-contracts/pyteal) library.
4
+
5
+
6
+ # Application lifecycle
7
+
8
+ This guide follows an application throughout its [lifecycle](/docs/get-details/dapps/smart-contracts/apps/#the-lifecycle-of-a-smart-contract) from initial creation, to usage, to modification and finally deletion. The application stores the number of times it is called within its _global state_ and also stores the number of times each user account calls the application within their _local state_. Midway through the lifecycle, the application is upgraded to add an additional key:value pair to the user's _local storage_ for storing the call timestamp.
9
+
10
+ # Environment setup
11
+
12
+ This guide requires two accounts:
13
+
14
+ === "Python"
15
+ ```python
16
+ # user declared account mnemonics
17
+ creator_mnemonic = "Your first 25-word mnemonic goes here"
18
+ user_mnemonic = "A second distinct 25-word mnemonic goes here"
19
+ ```
20
+
21
+ === "JavaScript"
22
+ ```javascript
23
+ // user declared account mnemonics
24
+ creatorMnemonic = "Your 25-word mnemonic goes here";
25
+ userMnemonic = "A second distinct 25-word mnemonic goes here";
26
+ ```
27
+
28
+ === "Java"
29
+ ```Java
30
+ // user declared account mnemonics
31
+ String creatorMnemonic = "Your 25-word mnemonic goes here";
32
+ String userMnemonic = "A second distinct 25-word mnemonic goes here";
33
+ ```
34
+
35
+ === "Go"
36
+ ```go
37
+ // user defined mnemonics
38
+ const creatorMnemonic = "Your 25-word mnemonic goes here"
39
+ const userMnemonic = "A second distinct 25-word mnemonic goes here"
40
+ ```
41
+
42
+ An `algod` client connection is also required. The following connects using Sandbox:
43
+
44
+ === "Python"
45
+ <!-- ===PYSDK_ALGOD_CREATE_CLIENT=== -->
46
+ ```python
47
+ # Create a new algod client, configured to connect to our local sandbox
48
+ algod_address = "http://localhost:4001"
49
+ algod_token = "a" * 64
50
+ algod_client = algod.AlgodClient(algod_token, algod_address)
51
+
52
+ # Or, if necessary, pass alternate headers
53
+
54
+ # Create a new client with an alternate api key header
55
+ special_algod_client = algod.AlgodClient(
56
+ "", algod_address, headers={"X-API-Key": algod_token}
57
+ )
58
+ ```
59
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/overview.py#L10-L21)
60
+ <!-- ===PYSDK_ALGOD_CREATE_CLIENT=== -->
61
+
62
+ === "JavaScript"
63
+ <!-- ===JSSDK_ALGOD_CREATE_CLIENT=== -->
64
+ ```javascript
65
+ const algodToken = 'a'.repeat(64);
66
+ const algodServer = 'http://localhost';
67
+ const algodPort = 4001;
68
+
69
+ const algodClient = new algosdk.Algodv2(algodToken, algodServer, algodPort);
70
+ ```
71
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/overview.ts#L7-L12)
72
+ <!-- ===JSSDK_ALGOD_CREATE_CLIENT=== -->
73
+
74
+ === "Java"
75
+ <!-- ===JAVASDK_ALGOD_CREATE_CLIENT=== -->
76
+ ```java
77
+ String algodHost = "http://localhost";
78
+ int algodPort = 4001;
79
+ String algodToken = "a".repeat(64);
80
+ AlgodClient algodClient = new AlgodClient(algodHost, algodPort, algodToken);
81
+
82
+ // OR if the API provider requires a specific header key for the token
83
+ String tokenHeader = "X-API-Key";
84
+ AlgodClient otherAlgodClient = new AlgodClient(algodHost, algodPort, algodToken, tokenHeader);
85
+ ```
86
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/Overview.java#L94-L102)
87
+ <!-- ===JAVASDK_ALGOD_CREATE_CLIENT=== -->
88
+
89
+ === "Go"
90
+ <!-- ===GOSDK_ALGOD_CREATE_CLIENT=== -->
91
+ ```go
92
+ // Create a new algod client, configured to connect to out local sandbox
93
+ var algodAddress = "http://localhost:4001"
94
+ var algodToken = strings.Repeat("a", 64)
95
+ algodClient, _ := algod.MakeClient(
96
+ algodAddress,
97
+ algodToken,
98
+ )
99
+
100
+ // Or, if necessary, pass alternate headers
101
+
102
+ var algodHeader common.Header
103
+ algodHeader.Key = "X-API-Key"
104
+ algodHeader.Value = algodToken
105
+ algodClientWithHeaders, _ := algod.MakeClientWithHeaders(
106
+ algodAddress,
107
+ algodToken,
108
+ []*common.Header{&algodHeader},
109
+ )
110
+ ```
111
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/overview/main.go#L18-L36)
112
+ <!-- ===GOSDK_ALGOD_CREATE_CLIENT=== -->
113
+
114
+ !!! Info
115
+ Ensure the `algod` node has the _"EnableDeveloperAPI"_ parameter set to **true** within the `config.json` file. This is required to enable the SDK access to the _compile_ and _dryrun_ endpoints.
116
+
117
+ # Declarations
118
+
119
+ All smart contracts are comprised of state storage, an approval program and a clear program. Details of each are found within the [smart contract guide](/docs/get-details/dapps/smart-contracts/apps/).
120
+
121
+ ## State storage
122
+ Begin by defining the application's _global_schema_ and _local_schema_ storage requirements. These values are immutable once the application is created, so they must specify the maximum number required by the initial application and any future updates.
123
+
124
+ The example application defined below may hold up to one each of `bytes` and `ints` value within the _local storage_ of the user account, as well as a single `ints` value within _global storage_ of the application:
125
+
126
+ === "Python"
127
+ <!-- ===PYSDK_APP_SCHEMA=== -->
128
+ ```python
129
+ # create schema for both global and local state, specifying
130
+ # how many keys of each type we need to have available
131
+ local_schema = transaction.StateSchema(num_uints=1, num_byte_slices=1)
132
+ global_schema = transaction.StateSchema(num_uints=1, num_byte_slices=1)
133
+ ```
134
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L11-L15)
135
+ <!-- ===PYSDK_APP_SCHEMA=== -->
136
+
137
+ === "JavaScript"
138
+ <!-- ===JSSDK_APP_SCHEMA=== -->
139
+ ```javascript
140
+ // define uint64s and byteslices stored in global/local storage
141
+ const numGlobalByteSlices = 1;
142
+ const numGlobalInts = 1;
143
+ const numLocalByteSlices = 1;
144
+ const numLocalInts = 1;
145
+ ```
146
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L47-L52)
147
+ <!-- ===JSSDK_APP_SCHEMA=== -->
148
+
149
+ === "Java"
150
+ <!-- ===JAVASDK_APP_SCHEMA=== -->
151
+ ```java
152
+ int localInts = 1;
153
+ int localBytes = 1;
154
+ int globalInts = 1;
155
+ int globalBytes = 0;
156
+ StateSchema localSchema = new StateSchema(localInts, localBytes);
157
+ StateSchema globalSchema = new StateSchema(globalInts, globalBytes);
158
+ ```
159
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L40-L46)
160
+ <!-- ===JAVASDK_APP_SCHEMA=== -->
161
+
162
+ === "Go"
163
+ <!-- ===GOSDK_APP_SCHEMA=== -->
164
+ ```go
165
+ // declare application state storage (immutable)
166
+ var (
167
+ localInts uint64 = 1
168
+ localBytes uint64 = 1
169
+ globalInts uint64 = 1
170
+ globalBytes uint64 = 0
171
+ )
172
+
173
+ // define schema
174
+ globalSchema := types.StateSchema{NumUint: globalInts, NumByteSlice: globalBytes}
175
+ localSchema := types.StateSchema{NumUint: localInts, NumByteSlice: localBytes}
176
+ ```
177
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L55-L66)
178
+ <!-- ===GOSDK_APP_SCHEMA=== -->
179
+
180
+ !!! Info
181
+ The example application is not allowed to hold any `bytes` value within global storage.
182
+
183
+
184
+ ## Approval program
185
+
186
+ The [approval program](../apps/#the-lifecycle-of-a-smart-contract) handles the main logic of the application.
187
+
188
+ ## Clear program
189
+
190
+ This is the most basic [clear program](../apps/#the-lifecycle-of-a-smart-contract) and returns _true_ when an account clears its participation in a smart contract:
191
+
192
+ === "Python"
193
+ <!-- ===PYSDK_APP_SOURCE=== -->
194
+ ```python
195
+ # read the `.teal` source files from disk
196
+ with open("application/approval.teal", "r") as f:
197
+ approval_program = f.read()
198
+
199
+ with open("application/clear.teal", "r") as f:
200
+ clear_program = f.read()
201
+ ```
202
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L18-L24)
203
+ <!-- ===PYSDK_APP_SOURCE=== -->
204
+
205
+ === "JavaScript"
206
+ <!-- ===JSSDK_APP_SOURCE=== -->
207
+ ```javascript
208
+ // define TEAL source from string or from a file
209
+ const approvalProgram = fs.readFileSync(
210
+ path.join(__dirname, '/application/approval.teal'),
211
+ 'utf8'
212
+ );
213
+ const clearProgram = fs.readFileSync(
214
+ path.join(__dirname, '/application/clear.teal'),
215
+ 'utf8'
216
+ );
217
+ ```
218
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L17-L26)
219
+ <!-- ===JSSDK_APP_SOURCE=== -->
220
+
221
+ === "Java"
222
+ <!-- ===JAVASDK_APP_SOURCE=== -->
223
+ ```java
224
+ // Read in the `teal` source files as a string
225
+ String approvalSource = Files.readString(Paths.get("application/approval.teal"));
226
+ String clearSource = Files.readString(Paths.get("application/clear.teal"));
227
+ ```
228
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L49-L52)
229
+ <!-- ===JAVASDK_APP_SOURCE=== -->
230
+
231
+ === "Go"
232
+ <!-- ===GOSDK_APP_SOURCE=== -->
233
+ ```go
234
+ approvalTeal, err := ioutil.ReadFile("application/approval.teal")
235
+ if err != nil {
236
+ log.Fatalf("failed to read approval program: %s", err)
237
+ }
238
+ clearTeal, err := ioutil.ReadFile("application/clear.teal")
239
+ if err != nil {
240
+ log.Fatalf("failed to read clear program: %s", err)
241
+ }
242
+ ```
243
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L69-L77)
244
+ <!-- ===GOSDK_APP_SOURCE=== -->
245
+
246
+ # Application methods
247
+
248
+ ## Create
249
+
250
+ The creator will deploy the application using the [create app](../apps/#creating-the-smart-contract) method. It requires 7 parameters:
251
+
252
+ - sender: address, representing the creator of the app
253
+ - sp: suggested parameters obtained from the network
254
+ - on_complete: enum value, representing NoOp
255
+ - approval_program: compiled program
256
+ - clear program: compiled program
257
+ - local_schema: maximum _local storage_ allocation, immutable
258
+ - global_schema: maximum _global storage_ allocation, immutable
259
+
260
+ Use the creator_mnemonic to define sender:
261
+
262
+ === "Python"
263
+ <!-- ===PYSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
264
+ ```python
265
+ mn = "cost piano sample enough south bar diet garden nasty mystery mesh sadness convince bacon best patch surround protect drum actress entire vacuum begin abandon hair"
266
+ pk = mnemonic.to_private_key(mn)
267
+ print(f"Base64 encoded private key: {pk}")
268
+ addr = account.address_from_private_key(pk)
269
+ print(f"Address: {addr}")
270
+ ```
271
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/account.py#L12-L17)
272
+ <!-- ===PYSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
273
+
274
+ === "JavaScript"
275
+ <!-- ===JSSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
276
+ ```javascript
277
+ // restore 25-word mnemonic from a string
278
+ // Note the mnemonic should _never_ appear in your source code
279
+ const mnemonic =
280
+ 'creek phrase island true then hope employ veteran rapid hurdle above liberty tissue connect alcohol timber idle ten frog bulb embody crunch taxi abstract month';
281
+ const recoveredAccount = algosdk.mnemonicToSecretKey(mnemonic);
282
+ console.log('Recovered mnemonic account: ', recoveredAccount.addr);
283
+ ```
284
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/accounts.ts#L16-L22)
285
+ <!-- ===JSSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
286
+
287
+ === "Java"
288
+ <!-- ===JAVASDK_ACCOUNT_RECOVER_MNEMONIC=== -->
289
+ ```java
290
+ // Space delimited 25 word mnemonic
291
+ String mn = "cost piano sample enough south bar diet garden nasty mystery mesh sadness convince bacon best patch surround protect drum actress entire vacuum begin abandon hair";
292
+ // We can get the private key
293
+ byte[] key = Mnemonic.toKey(mn);
294
+ // Or just init the account directly from the mnemonic
295
+ Account acct = new Account(mn);
296
+ ```
297
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AccountExamples.java#L64-L70)
298
+ <!-- ===JAVASDK_ACCOUNT_RECOVER_MNEMONIC=== -->
299
+
300
+ === "Go"
301
+ <!-- ===GOSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
302
+ ```go
303
+ k, err := mnemonic.ToPrivateKey(mn)
304
+ if err != nil {
305
+ log.Fatalf("failed to parse mnemonic: %s", err)
306
+ }
307
+
308
+ recovered, err := crypto.AccountFromPrivateKey(k)
309
+ if err != nil {
310
+ log.Fatalf("failed to recover account from key: %s", err)
311
+ }
312
+
313
+ log.Printf("%+v", recovered)
314
+ ```
315
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/account/main.go#L28-L39)
316
+ <!-- ===GOSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
317
+
318
+ Compile the programs using the `compile` endpoint:
319
+
320
+ === "Python"
321
+ <!-- ===PYSDK_APP_COMPILE=== -->
322
+ ```python
323
+ # pass the `.teal` files to the compile endpoint
324
+ # and b64 decode the result to bytes
325
+ approval_result = algod_client.compile(approval_program)
326
+ approval_binary = base64.b64decode(approval_result["result"])
327
+
328
+ clear_result = algod_client.compile(clear_program)
329
+ clear_binary = base64.b64decode(clear_result["result"])
330
+ ```
331
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L29-L36)
332
+ <!-- ===PYSDK_APP_COMPILE=== -->
333
+
334
+ === "JavaScript"
335
+ <!-- ===JSSDK_APP_COMPILE=== -->
336
+ ```javascript
337
+ const approvalCompileResp = await algodClient
338
+ .compile(Buffer.from(approvalProgram))
339
+ .do();
340
+
341
+ const compiledApprovalProgram = new Uint8Array(
342
+ Buffer.from(approvalCompileResp.result, 'base64')
343
+ );
344
+
345
+ const clearCompileResp = await algodClient
346
+ .compile(Buffer.from(clearProgram))
347
+ .do();
348
+
349
+ const compiledClearProgram = new Uint8Array(
350
+ Buffer.from(clearCompileResp.result, 'base64')
351
+ );
352
+ ```
353
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L29-L44)
354
+ <!-- ===JSSDK_APP_COMPILE=== -->
355
+
356
+ === "Java"
357
+ <!-- ===JAVASDK_APP_COMPILE=== -->
358
+ ```java
359
+ CompileResponse approvalResponse = algodClient.TealCompile().source(approvalSource.getBytes()).execute()
360
+ .body();
361
+ CompileResponse clearResponse = algodClient.TealCompile().source(clearSource.getBytes()).execute()
362
+ .body();
363
+
364
+ TEALProgram approvalProg = new TEALProgram(approvalResponse.result);
365
+ TEALProgram clearProg = new TEALProgram(clearResponse.result);
366
+ ```
367
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L55-L62)
368
+ <!-- ===JAVASDK_APP_COMPILE=== -->
369
+
370
+ === "Go"
371
+ <!-- ===GOSDK_APP_COMPILE=== -->
372
+ ```go
373
+ approvalResult, err := algodClient.TealCompile(approvalTeal).Do(context.Background())
374
+ if err != nil {
375
+ log.Fatalf("failed to compile program: %s", err)
376
+ }
377
+
378
+ approvalBinary, err := base64.StdEncoding.DecodeString(approvalResult.Result)
379
+ if err != nil {
380
+ log.Fatalf("failed to decode compiled program: %s", err)
381
+ }
382
+
383
+ clearResult, err := algodClient.TealCompile(clearTeal).Do(context.Background())
384
+ if err != nil {
385
+ log.Fatalf("failed to compile program: %s", err)
386
+ }
387
+
388
+ clearBinary, err := base64.StdEncoding.DecodeString(clearResult.Result)
389
+ if err != nil {
390
+ log.Fatalf("failed to decode compiled program: %s", err)
391
+ }
392
+ ```
393
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L80-L99)
394
+ <!-- ===GOSDK_APP_COMPILE=== -->
395
+
396
+ Construct the transaction with defined values then sign, send, and await confirmation
397
+
398
+ === "Python"
399
+ <!-- ===PYSDK_APP_CREATE=== -->
400
+ ```python
401
+ sp = algod_client.suggested_params()
402
+ # create the app create transaction, passing compiled programs and schema
403
+ app_create_txn = transaction.ApplicationCreateTxn(
404
+ creator.address,
405
+ sp,
406
+ transaction.OnComplete.NoOpOC,
407
+ approval_program=approval_binary,
408
+ clear_program=clear_binary,
409
+ global_schema=global_schema,
410
+ local_schema=local_schema,
411
+ )
412
+ # sign transaction
413
+ signed_create_txn = app_create_txn.sign(creator.private_key)
414
+ txid = algod_client.send_transaction(signed_create_txn)
415
+ result = transaction.wait_for_confirmation(algod_client, txid, 4)
416
+ app_id = result["application-index"]
417
+ print(f"Created app with id: {app_id}")
418
+ ```
419
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L39-L56)
420
+ <!-- ===PYSDK_APP_CREATE=== -->
421
+
422
+ === "JavaScript"
423
+ <!-- ===JSSDK_APP_CREATE=== -->
424
+ ```javascript
425
+ const appCreateTxn = algosdk.makeApplicationCreateTxnFromObject({
426
+ from: creator.addr,
427
+ approvalProgram: compiledApprovalProgram,
428
+ clearProgram: compiledClearProgram,
429
+ numGlobalByteSlices,
430
+ numGlobalInts,
431
+ numLocalByteSlices,
432
+ numLocalInts,
433
+ suggestedParams,
434
+ onComplete: algosdk.OnApplicationComplete.NoOpOC,
435
+ });
436
+
437
+ // Sign and send
438
+ await algodClient
439
+ .sendRawTransaction(appCreateTxn.signTxn(creator.privateKey))
440
+ .do();
441
+ const result = await algosdk.waitForConfirmation(
442
+ algodClient,
443
+ appCreateTxn.txID().toString(),
444
+ 3
445
+ );
446
+ // Grab app id from confirmed transaction result
447
+ const appId = result['application-index'];
448
+ console.log(`Created app with index: ${appId}`);
449
+ ```
450
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L55-L79)
451
+ <!-- ===JSSDK_APP_CREATE=== -->
452
+
453
+ === "Java"
454
+ <!-- ===JAVASDK_APP_CREATE=== -->
455
+ ```java
456
+ Response<TransactionParametersResponse> rsp = algodClient.TransactionParams().execute();
457
+ TransactionParametersResponse sp = rsp.body();
458
+
459
+ Transaction appCreate = ApplicationCreateTransactionBuilder.Builder()
460
+ .sender(creator.getAddress())
461
+ .suggestedParams(sp)
462
+ .approvalProgram(approvalProg)
463
+ .clearStateProgram(clearProg)
464
+ .localStateSchema(localSchema)
465
+ .globalStateSchema(globalSchema)
466
+ .build();
467
+
468
+ SignedTransaction signedAppCreate = creator.signTransaction(appCreate);
469
+ Response<PostTransactionsResponse> createResponse = algodClient.RawTransaction()
470
+ .rawtxn(Encoder.encodeToMsgPack(signedAppCreate)).execute();
471
+
472
+ PendingTransactionResponse result = Utils.waitForConfirmation(algodClient, createResponse.body().txId,
473
+ 4);
474
+ Long appId = result.applicationIndex;
475
+ System.out.printf("Created application with id: %d\n", appId);
476
+ ```
477
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L65-L85)
478
+ <!-- ===JAVASDK_APP_CREATE=== -->
479
+
480
+ === "Go"
481
+ <!-- ===GOSDK_APP_CREATE=== -->
482
+ ```go
483
+ // Create application
484
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
485
+ if err != nil {
486
+ log.Fatalf("error getting suggested tx params: %s", err)
487
+ }
488
+
489
+ txn, err := transaction.MakeApplicationCreateTx(
490
+ false, approvalBinary, clearBinary, globalSchema, localSchema,
491
+ nil, nil, nil, nil, sp, creator.Address, nil,
492
+ types.Digest{}, [32]byte{}, types.ZeroAddress,
493
+ )
494
+ if err != nil {
495
+ log.Fatalf("failed to make txn: %s", err)
496
+ }
497
+
498
+ txid, stx, err := crypto.SignTransaction(creator.PrivateKey, txn)
499
+ if err != nil {
500
+ log.Fatalf("failed to sign transaction: %s", err)
501
+ }
502
+
503
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
504
+ if err != nil {
505
+ log.Fatalf("failed to send transaction: %s", err)
506
+ }
507
+
508
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
509
+ if err != nil {
510
+ log.Fatalf("error waiting for confirmation: %s", err)
511
+ }
512
+ appID := confirmedTxn.ApplicationIndex
513
+ log.Printf("Created app with id: %d", appID)
514
+ ```
515
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L102-L133)
516
+ <!-- ===GOSDK_APP_CREATE=== -->
517
+
518
+
519
+ !!! Notice
520
+ Note down the app-id from the confirmed transaction response. Place this value into the `index` parameter within all remaining code samples.
521
+
522
+ ## Opt-in
523
+
524
+ The user must [opt-in](../apps/#opt-into-the-smart-contract) to call the application if some local state is used during evaluation of the call. This method requires 3 parameters:
525
+
526
+ - sender: address, representing the user intending to opt-in to using the app
527
+ - sp: suggested parameters obtained from the network
528
+ - index: the app-id as defined by the create method result
529
+
530
+ Use the user_mnemonic to define sender:
531
+
532
+ === "Python"
533
+ <!-- ===PYSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
534
+ ```python
535
+ mn = "cost piano sample enough south bar diet garden nasty mystery mesh sadness convince bacon best patch surround protect drum actress entire vacuum begin abandon hair"
536
+ pk = mnemonic.to_private_key(mn)
537
+ print(f"Base64 encoded private key: {pk}")
538
+ addr = account.address_from_private_key(pk)
539
+ print(f"Address: {addr}")
540
+ ```
541
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/account.py#L12-L17)
542
+ <!-- ===PYSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
543
+
544
+ === "JavaScript"
545
+ <!-- ===JSSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
546
+ ```javascript
547
+ // restore 25-word mnemonic from a string
548
+ // Note the mnemonic should _never_ appear in your source code
549
+ const mnemonic =
550
+ 'creek phrase island true then hope employ veteran rapid hurdle above liberty tissue connect alcohol timber idle ten frog bulb embody crunch taxi abstract month';
551
+ const recoveredAccount = algosdk.mnemonicToSecretKey(mnemonic);
552
+ console.log('Recovered mnemonic account: ', recoveredAccount.addr);
553
+ ```
554
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/accounts.ts#L16-L22)
555
+ <!-- ===JSSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
556
+
557
+ === "Java"
558
+ <!-- ===JAVASDK_ACCOUNT_RECOVER_MNEMONIC=== -->
559
+ ```java
560
+ // Space delimited 25 word mnemonic
561
+ String mn = "cost piano sample enough south bar diet garden nasty mystery mesh sadness convince bacon best patch surround protect drum actress entire vacuum begin abandon hair";
562
+ // We can get the private key
563
+ byte[] key = Mnemonic.toKey(mn);
564
+ // Or just init the account directly from the mnemonic
565
+ Account acct = new Account(mn);
566
+ ```
567
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AccountExamples.java#L64-L70)
568
+ <!-- ===JAVASDK_ACCOUNT_RECOVER_MNEMONIC=== -->
569
+
570
+ === "Go"
571
+ <!-- ===GOSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
572
+ ```go
573
+ k, err := mnemonic.ToPrivateKey(mn)
574
+ if err != nil {
575
+ log.Fatalf("failed to parse mnemonic: %s", err)
576
+ }
577
+
578
+ recovered, err := crypto.AccountFromPrivateKey(k)
579
+ if err != nil {
580
+ log.Fatalf("failed to recover account from key: %s", err)
581
+ }
582
+
583
+ log.Printf("%+v", recovered)
584
+ ```
585
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/account/main.go#L28-L39)
586
+ <!-- ===GOSDK_ACCOUNT_RECOVER_MNEMONIC=== -->
587
+
588
+ Construct the transaction with defined values then sign, send, and await confirmation:
589
+
590
+ === "Python"
591
+ <!-- ===PYSDK_APP_OPTIN=== -->
592
+ ```python
593
+ opt_in_txn = transaction.ApplicationOptInTxn(user.address, sp, app_id)
594
+ signed_opt_in = opt_in_txn.sign(user.private_key)
595
+ txid = algod_client.send_transaction(signed_opt_in)
596
+ optin_result = transaction.wait_for_confirmation(algod_client, txid, 4)
597
+ assert optin_result["confirmed-round"] > 0
598
+ ```
599
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L59-L64)
600
+ <!-- ===PYSDK_APP_OPTIN=== -->
601
+
602
+ === "JavaScript"
603
+ <!-- ===JSSDK_APP_OPTIN=== -->
604
+ ```javascript
605
+ const appOptInTxn = algosdk.makeApplicationOptInTxnFromObject({
606
+ from: caller.addr,
607
+ appIndex: appId,
608
+ suggestedParams,
609
+ });
610
+
611
+ await algodClient
612
+ .sendRawTransaction(appOptInTxn.signTxn(caller.privateKey))
613
+ .do();
614
+ await algosdk.waitForConfirmation(
615
+ algodClient,
616
+ appOptInTxn.txID().toString(),
617
+ 3
618
+ );
619
+ ```
620
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L84-L98)
621
+ <!-- ===JSSDK_APP_OPTIN=== -->
622
+
623
+ === "Java"
624
+ <!-- ===JAVASDK_APP_OPTIN=== -->
625
+ ```java
626
+ Transaction optInTxn = ApplicationOptInTransactionBuilder.Builder()
627
+ .sender(user.getAddress())
628
+ .suggestedParams(sp)
629
+ .applicationId(appId)
630
+ .build();
631
+
632
+ SignedTransaction signedOptIn = user.signTransaction(optInTxn);
633
+ Response<PostTransactionsResponse> optInResponse = algodClient.RawTransaction()
634
+ .rawtxn(Encoder.encodeToMsgPack(signedOptIn)).execute();
635
+
636
+ PendingTransactionResponse optInResult = Utils.waitForConfirmation(algodClient,
637
+ optInResponse.body().txId, 4);
638
+ assert optInResult.confirmedRound > 0;
639
+ ```
640
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L88-L101)
641
+ <!-- ===JAVASDK_APP_OPTIN=== -->
642
+
643
+ === "Go"
644
+ <!-- ===GOSDK_APP_OPTIN=== -->
645
+ ```go
646
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
647
+ if err != nil {
648
+ log.Fatalf("error getting suggested tx params: %s", err)
649
+ }
650
+
651
+ // Create a new clawback transaction with the target of the user address and the recipient as the creator
652
+ // address, being sent from the address marked as `clawback` on the asset, in this case the same as creator
653
+ txn, err := transaction.MakeApplicationOptInTx(
654
+ appID, nil, nil, nil, nil, sp,
655
+ caller.Address, nil, types.Digest{}, [32]byte{}, types.ZeroAddress,
656
+ )
657
+ if err != nil {
658
+ log.Fatalf("failed to make txn: %s", err)
659
+ }
660
+ // sign the transaction
661
+ txid, stx, err := crypto.SignTransaction(caller.PrivateKey, txn)
662
+ if err != nil {
663
+ log.Fatalf("failed to sign transaction: %s", err)
664
+ }
665
+
666
+ // Broadcast the transaction to the network
667
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
668
+ if err != nil {
669
+ log.Fatalf("failed to send transaction: %s", err)
670
+ }
671
+
672
+ // Wait for confirmation
673
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
674
+ if err != nil {
675
+ log.Fatalf("error waiting for confirmation: %s", err)
676
+ }
677
+
678
+ log.Printf("OptIn Transaction: %s confirmed in Round %d\n", txid, confirmedTxn.ConfirmedRound)
679
+ ```
680
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L139-L172)
681
+ <!-- ===GOSDK_APP_OPTIN=== -->
682
+
683
+
684
+ ## Call (NoOp)
685
+
686
+ The user may now [call](../apps/#call-the-stateful-smart-contract) the application. This method requires 3 parameters:
687
+
688
+ - sender: address, representing the user intending to optin to using the app
689
+ - sp: suggested parameters obtained from the network
690
+ - index: the app-id as defined by the create method result
691
+
692
+ === "Python"
693
+ <!-- ===PYSDK_APP_NOOP=== -->
694
+ ```python
695
+ noop_txn = transaction.ApplicationNoOpTxn(user.address, sp, app_id)
696
+ signed_noop = noop_txn.sign(user.private_key)
697
+ txid = algod_client.send_transaction(signed_noop)
698
+ noop_result = transaction.wait_for_confirmation(algod_client, txid, 4)
699
+ assert noop_result["confirmed-round"] > 0
700
+ ```
701
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L67-L72)
702
+ <!-- ===PYSDK_APP_NOOP=== -->
703
+
704
+ === "JavaScript"
705
+ <!-- ===JSSDK_APP_NOOP=== -->
706
+ ```javascript
707
+ const appNoOpTxn = algosdk.makeApplicationNoOpTxnFromObject({
708
+ from: caller.addr,
709
+ appIndex: appId,
710
+ suggestedParams,
711
+ });
712
+
713
+ await algodClient
714
+ .sendRawTransaction(appNoOpTxn.signTxn(caller.privateKey))
715
+ .do();
716
+ await algosdk.waitForConfirmation(
717
+ algodClient,
718
+ appNoOpTxn.txID().toString(),
719
+ 3
720
+ );
721
+ ```
722
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L101-L115)
723
+ <!-- ===JSSDK_APP_NOOP=== -->
724
+
725
+ === "Java"
726
+ <!-- ===JAVASDK_APP_NOOP=== -->
727
+ ```java
728
+ Transaction noopTxn = ApplicationCallTransactionBuilder.Builder()
729
+ .sender(user.getAddress())
730
+ .suggestedParams(sp)
731
+ .applicationId(appId)
732
+ .build();
733
+
734
+ SignedTransaction signedNoop = user.signTransaction(noopTxn);
735
+ Response<PostTransactionsResponse> noopResponse = algodClient.RawTransaction()
736
+ .rawtxn(Encoder.encodeToMsgPack(signedNoop)).execute();
737
+
738
+ PendingTransactionResponse noopResult = Utils.waitForConfirmation(algodClient, noopResponse.body().txId,
739
+ 4);
740
+ assert noopResult.confirmedRound > 0;
741
+ ```
742
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L104-L117)
743
+ <!-- ===JAVASDK_APP_NOOP=== -->
744
+
745
+ === "Go"
746
+ <!-- ===GOSDK_APP_NOOP=== -->
747
+ ```go
748
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
749
+ if err != nil {
750
+ log.Fatalf("error getting suggested tx params: %s", err)
751
+ }
752
+
753
+ var (
754
+ appArgs [][]byte
755
+ accts []string
756
+ apps []uint64
757
+ assets []uint64
758
+ )
759
+
760
+ // Add an arg to our app call
761
+ appArgs = append(appArgs, []byte("arg0"))
762
+
763
+ txn, err := transaction.MakeApplicationNoOpTx(
764
+ appID, appArgs, accts, apps, assets, sp,
765
+ caller.Address, nil, types.Digest{}, [32]byte{}, types.ZeroAddress,
766
+ )
767
+ if err != nil {
768
+ log.Fatalf("failed to make txn: %s", err)
769
+ }
770
+
771
+ // sign the transaction
772
+ txid, stx, err := crypto.SignTransaction(caller.PrivateKey, txn)
773
+ if err != nil {
774
+ log.Fatalf("failed to sign transaction: %s", err)
775
+ }
776
+
777
+ // Broadcast the transaction to the network
778
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
779
+ if err != nil {
780
+ log.Fatalf("failed to send transaction: %s", err)
781
+ }
782
+
783
+ // Wait for confirmation
784
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
785
+ if err != nil {
786
+ log.Fatalf("error waiting for confirmation: %s", err)
787
+ }
788
+
789
+ log.Printf("NoOp Transaction: %s confirmed in Round %d\n", txid, confirmedTxn.ConfirmedRound)
790
+ ```
791
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L177-L219)
792
+ <!-- ===GOSDK_APP_NOOP=== -->
793
+
794
+ ## Read state
795
+
796
+ Anyone may read the [global state](../apps/#reading-global-state-from-other-smart-contracts) of any application or the [local state](../apps/#reading-local-state-from-other-accounts) of an application within a given user account using the REST API account_info endpoint.
797
+
798
+ === "Python"
799
+ <!-- ===PYSDK_APP_READ_STATE=== -->
800
+ ```python
801
+ acct_info = algod_client.account_application_info(user.address, app_id)
802
+ # base64 encoded keys and values
803
+ print(acct_info["app-local-state"]["key-value"])
804
+ ```
805
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L75-L78)
806
+ <!-- ===PYSDK_APP_READ_STATE=== -->
807
+
808
+ === "JavaScript"
809
+ <!-- ===JSSDK_APP_READ_STATE=== -->
810
+ ```javascript
811
+ const appInfo = await algodClient.getApplicationByID(appId).do();
812
+ const globalState = appInfo.params['global-state'][0];
813
+ console.log(`Raw global state - ${JSON.stringify(globalState)}`);
814
+
815
+ // decode b64 string key with Buffer
816
+ const globalKey = Buffer.from(globalState.key, 'base64').toString();
817
+ // decode b64 address value with encodeAddress and Buffer
818
+ const globalValue = algosdk.encodeAddress(
819
+ Buffer.from(globalState.value.bytes, 'base64')
820
+ );
821
+
822
+ console.log(`Decoded global state - ${globalKey}: ${globalValue}`);
823
+
824
+ const accountAppInfo = await algodClient
825
+ .accountApplicationInformation(caller.addr, appId)
826
+ .do();
827
+
828
+ const localState = accountAppInfo['app-local-state']['key-value'][0];
829
+ console.log(`Raw local state - ${JSON.stringify(localState)}`);
830
+
831
+ // decode b64 string key with Buffer
832
+ const localKey = Buffer.from(localState.key, 'base64').toString();
833
+ // get uint value directly
834
+ const localValue = localState.value.uint;
835
+
836
+ console.log(`Decoded local state - ${localKey}: ${localValue}`);
837
+ ```
838
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L154-L180)
839
+ <!-- ===JSSDK_APP_READ_STATE=== -->
840
+
841
+ === "Java"
842
+ <!-- ===JAVASDK_APP_READ_STATE=== -->
843
+ ```java
844
+
845
+ ```
846
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L120-L121)
847
+ <!-- ===JAVASDK_APP_READ_STATE=== -->
848
+
849
+ === "Go"
850
+ <!-- ===GOSDK_APP_READ_STATE=== -->
851
+ ```go
852
+ // grab global state and config of application
853
+ appInfo, err := algodClient.GetApplicationByID(appID).Do(context.Background())
854
+ if err != nil {
855
+ log.Fatalf("failed to get app info: %s", err)
856
+ }
857
+ log.Printf("app info: %+v", appInfo)
858
+
859
+ // grab local state for an app id for a single account
860
+ acctInfo, err := algodClient.AccountApplicationInformation(
861
+ acct1.Address.String(), appID,
862
+ ).Do(context.Background())
863
+ if err != nil {
864
+ log.Fatalf("failed to get app info: %s", err)
865
+ }
866
+ log.Printf("app info: %+v", acctInfo)
867
+ ```
868
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L28-L43)
869
+ <!-- ===GOSDK_APP_READ_STATE=== -->
870
+
871
+ ## Update
872
+
873
+ The creator may [update the approval program](../apps/#update-smart-contract) using the update method (if the current approval program allows it). The refactored approval program source code adds a key/value pair to the user's local storage indicating the timestamp when the application was called. Refer to the [appendix](#refactored-approval-program) for details. The original clear program will be reused.
874
+
875
+ The update method method requires 6 parameters:
876
+
877
+ - sender: address, representing the user intending to opt-in to using the app
878
+ - sp: suggested parameters obtained from the network
879
+ - index: the app-id as defined by the create method result
880
+ - approval_program: compiled program
881
+ - clear program: compiled program
882
+ - app_args: application arguments used by approval program
883
+
884
+ Construct the update transaction and await the response:
885
+
886
+ === "Python"
887
+ <!-- ===PYSDK_APP_UPDATE=== -->
888
+ ```python
889
+ with open("application/approval_refactored.teal", "r") as f:
890
+ approval_program = f.read()
891
+
892
+ approval_result = algod_client.compile(approval_program)
893
+ approval_binary = base64.b64decode(approval_result["result"])
894
+
895
+
896
+ sp = algod_client.suggested_params()
897
+ # create the app update transaction, passing compiled programs and schema
898
+ # note that schema is immutable, we cant change it after create
899
+ app_update_txn = transaction.ApplicationUpdateTxn(
900
+ creator.address,
901
+ sp,
902
+ app_id,
903
+ approval_program=approval_binary,
904
+ clear_program=clear_binary,
905
+ )
906
+ signed_update = app_update_txn.sign(creator.private_key)
907
+ txid = algod_client.send_transaction(signed_update)
908
+ update_result = transaction.wait_for_confirmation(algod_client, txid, 4)
909
+ assert update_result["confirmed-round"] > 0
910
+ ```
911
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L81-L102)
912
+ <!-- ===PYSDK_APP_UPDATE=== -->
913
+
914
+ === "JavaScript"
915
+ <!-- ===JSSDK_APP_UPDATE=== -->
916
+ ```javascript
917
+ const newProgram = fs.readFileSync(
918
+ path.join(__dirname, '/application/approval_refactored.teal'),
919
+ 'utf8'
920
+ );
921
+ const compiledNewProgram = await compileProgram(algodClient, newProgram);
922
+
923
+ const appUpdateTxn = algosdk.makeApplicationUpdateTxnFromObject({
924
+ from: creator.addr,
925
+ suggestedParams,
926
+ appIndex: appId,
927
+ // updates must define both approval and clear programs, even if unchanged
928
+ approvalProgram: compiledNewProgram,
929
+ clearProgram: compiledClearProgram,
930
+ });
931
+
932
+ await algodClient
933
+ .sendRawTransaction(appUpdateTxn.signTxn(creator.privateKey))
934
+ .do();
935
+ await algosdk.waitForConfirmation(
936
+ algodClient,
937
+ appUpdateTxn.txID().toString(),
938
+ 3
939
+ );
940
+ ```
941
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L200-L223)
942
+ <!-- ===JSSDK_APP_UPDATE=== -->
943
+
944
+ === "Java"
945
+ <!-- ===JAVASDK_APP_UPDATE=== -->
946
+ ```java
947
+ String approvalSourceUpdated = Files.readString(Paths.get("application/approval_refactored.teal"));
948
+ CompileResponse approvalUpdatedResponse = algodClient.TealCompile()
949
+ .source(approvalSourceUpdated.getBytes())
950
+ .execute()
951
+ .body();
952
+ TEALProgram approvalProgUpdated = new TEALProgram(approvalUpdatedResponse.result);
953
+
954
+ Transaction appUpdate = ApplicationUpdateTransactionBuilder.Builder()
955
+ .sender(creator.getAddress())
956
+ .suggestedParams(sp)
957
+ .applicationId(appId)
958
+ .approvalProgram(approvalProgUpdated)
959
+ .clearStateProgram(clearProg)
960
+ .build();
961
+
962
+ SignedTransaction signedAppUpdate = creator.signTransaction(appUpdate);
963
+ Response<PostTransactionsResponse> updateResponse = algodClient.RawTransaction()
964
+ .rawtxn(Encoder.encodeToMsgPack(signedAppUpdate)).execute();
965
+ PendingTransactionResponse updateResult = Utils.waitForConfirmation(algodClient,
966
+ updateResponse.body().txId, 4);
967
+ assert updateResult.confirmedRound > 0;
968
+ ```
969
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L123-L144)
970
+ <!-- ===JAVASDK_APP_UPDATE=== -->
971
+
972
+ === "Go"
973
+ <!-- ===GOSDK_APP_UPDATE=== -->
974
+ ```go
975
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
976
+ if err != nil {
977
+ log.Fatalf("error getting suggested tx params: %s", err)
978
+ }
979
+
980
+ var (
981
+ appArgs [][]byte
982
+ accts []string
983
+ apps []uint64
984
+ assets []uint64
985
+ )
986
+
987
+ txn, err := transaction.MakeApplicationUpdateTx(
988
+ appID, appArgs, accts, apps, assets, approvalBinary, clearBinary,
989
+ sp, caller.Address, nil, types.Digest{}, [32]byte{}, types.ZeroAddress,
990
+ )
991
+ if err != nil {
992
+ log.Fatalf("failed to make txn: %s", err)
993
+ }
994
+
995
+ // sign the transaction
996
+ txid, stx, err := crypto.SignTransaction(caller.PrivateKey, txn)
997
+ if err != nil {
998
+ log.Fatalf("failed to sign transaction: %s", err)
999
+ }
1000
+
1001
+ // Broadcast the transaction to the network
1002
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
1003
+ if err != nil {
1004
+ log.Fatalf("failed to send transaction: %s", err)
1005
+ }
1006
+
1007
+ // Wait for confirmation
1008
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
1009
+ if err != nil {
1010
+ log.Fatalf("error waiting for confirmation: %s", err)
1011
+ }
1012
+
1013
+ log.Printf("Update Transaction: %s confirmed in Round %d\n", txid, confirmedTxn.ConfirmedRound)
1014
+ ```
1015
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L227-L266)
1016
+ <!-- ===GOSDK_APP_UPDATE=== -->
1017
+
1018
+ ## Call with arguments
1019
+
1020
+ A program may [process arguments passed](../apps/##passing-arguments-to-smart-contracts) at run-time. The NoOp call method has an optional app_args parameter where smart contract parameters can be supplied:
1021
+
1022
+ === "Python"
1023
+ <!-- ===PYSDK_APP_CALL=== -->
1024
+ ```python
1025
+ now = datetime.datetime.now().strftime("%H:%M:%S")
1026
+ app_args = [now.encode("utf-8")]
1027
+ call_txn = transaction.ApplicationNoOpTxn(user.address, sp, app_id, app_args)
1028
+
1029
+ signed_call = call_txn.sign(user.private_key)
1030
+ txid = algod_client.send_transaction(signed_call)
1031
+ call_result = transaction.wait_for_confirmation(algod_client, txid, 4)
1032
+ assert call_result["confirmed-round"] > 0
1033
+
1034
+ # display results
1035
+ print("Called app-id: ", call_result["txn"]["txn"]["apid"])
1036
+ if "global-state-delta" in call_result:
1037
+ print("Global State updated :\n", call_result["global-state-delta"])
1038
+ if "local-state-delta" in call_result:
1039
+ print("Local State updated :\n", call_result["local-state-delta"])
1040
+ ```
1041
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L105-L120)
1042
+ <!-- ===PYSDK_APP_CALL=== -->
1043
+
1044
+ === "JavaScript"
1045
+ <!-- ===JSSDK_APP_CALL=== -->
1046
+ ```javascript
1047
+ const now = new Date().toString();
1048
+ const simpleAddTxn = algosdk.makeApplicationNoOpTxnFromObject({
1049
+ from: caller.addr,
1050
+ suggestedParams,
1051
+ appIndex: appId,
1052
+ appArgs: [new Uint8Array(Buffer.from(now))],
1053
+ });
1054
+
1055
+ await algodClient
1056
+ .sendRawTransaction(simpleAddTxn.signTxn(caller.privateKey))
1057
+ .do();
1058
+ await algosdk.waitForConfirmation(
1059
+ algodClient,
1060
+ simpleAddTxn.txID().toString(),
1061
+ 3
1062
+ );
1063
+ ```
1064
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L135-L151)
1065
+ <!-- ===JSSDK_APP_CALL=== -->
1066
+
1067
+ === "Java"
1068
+ <!-- ===JAVASDK_APP_CALL=== -->
1069
+ ```java
1070
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss");
1071
+ Date date = new Date(System.currentTimeMillis());
1072
+
1073
+ List<byte[]> appArgs = new ArrayList<byte[]>();
1074
+ appArgs.add(formatter.format(date).toString().getBytes());
1075
+
1076
+ // create unsigned transaction
1077
+ Transaction callTransaction = ApplicationCallTransactionBuilder.Builder()
1078
+ .sender(user.getAddress())
1079
+ .suggestedParams(sp)
1080
+ .applicationId(appId)
1081
+ .args(appArgs)
1082
+ .build();
1083
+
1084
+ SignedTransaction signedCallTransaction = user.signTransaction(callTransaction);
1085
+ Response<PostTransactionsResponse> callResponse = algodClient.RawTransaction()
1086
+ .rawtxn(Encoder.encodeToMsgPack(signedCallTransaction)).execute();
1087
+
1088
+ PendingTransactionResponse callResult = Utils.waitForConfirmation(algodClient, callResponse.body().txId,
1089
+ 4);
1090
+ assert callResult.confirmedRound > 0;
1091
+ // display results
1092
+ if (callResult.globalStateDelta != null) {
1093
+ System.out.printf("\tGlobal state: %s\n", callResult.globalStateDelta);
1094
+ }
1095
+
1096
+ if (callResult.localStateDelta != null) {
1097
+ System.out.printf("\tLocal state: %s\n", callResult.localStateDelta);
1098
+ }
1099
+ ```
1100
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L147-L176)
1101
+ <!-- ===JAVASDK_APP_CALL=== -->
1102
+
1103
+ === "Go"
1104
+ <!-- ===GOSDK_APP_CALL=== -->
1105
+ ```go
1106
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
1107
+ if err != nil {
1108
+ log.Fatalf("error getting suggested tx params: %s", err)
1109
+ }
1110
+
1111
+ var (
1112
+ appArgs [][]byte
1113
+ accts []string
1114
+ apps []uint64
1115
+ assets []uint64
1116
+ )
1117
+
1118
+ datetime := time.Now().Format("2006-01-02 at 15:04:05")
1119
+ appArgs = append(appArgs, []byte(datetime))
1120
+
1121
+ txn, err := transaction.MakeApplicationNoOpTx(
1122
+ appID, appArgs, accts, apps, assets, sp,
1123
+ caller.Address, nil, types.Digest{}, [32]byte{}, types.ZeroAddress,
1124
+ )
1125
+ if err != nil {
1126
+ log.Fatalf("failed to make txn: %s", err)
1127
+ }
1128
+
1129
+ // sign the transaction
1130
+ txid, stx, err := crypto.SignTransaction(caller.PrivateKey, txn)
1131
+ if err != nil {
1132
+ log.Fatalf("failed to sign transaction: %s", err)
1133
+ }
1134
+
1135
+ // Broadcast the transaction to the network
1136
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
1137
+ if err != nil {
1138
+ log.Fatalf("failed to send transaction: %s", err)
1139
+ }
1140
+
1141
+ // Wait for confirmation
1142
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
1143
+ if err != nil {
1144
+ log.Fatalf("error waiting for confirmation: %s", err)
1145
+ }
1146
+
1147
+ log.Printf("NoOp Transaction: %s confirmed in Round %d\n", txid, confirmedTxn.ConfirmedRound)
1148
+ ```
1149
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L359-L401)
1150
+ <!-- ===GOSDK_APP_CALL=== -->
1151
+
1152
+ ## Close out
1153
+
1154
+ The user may discontinue use of the application by sending a [close out](../apps/#the-lifecycle-of-a-smart-contract) transaction. This will remove the local state for this application from the user's account. This method requires 3 parameters:
1155
+
1156
+ - sender: address, representing the user intending to optin to using the app
1157
+ - sp: suggested parameters obtained from the network
1158
+ - index: the app-id as defined by the create method result
1159
+
1160
+ === "Python"
1161
+ <!-- ===PYSDK_APP_CLOSEOUT=== -->
1162
+ ```python
1163
+ close_txn = transaction.ApplicationCloseOutTxn(user.address, sp, app_id)
1164
+ signed_close = close_txn.sign(user.private_key)
1165
+ txid = algod_client.send_transaction(signed_close)
1166
+ optin_result = transaction.wait_for_confirmation(algod_client, txid, 4)
1167
+ assert optin_result["confirmed-round"] > 0
1168
+ ```
1169
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L123-L128)
1170
+ <!-- ===PYSDK_APP_CLOSEOUT=== -->
1171
+
1172
+ === "JavaScript"
1173
+ <!-- ===JSSDK_APP_CLOSEOUT=== -->
1174
+ ```javascript
1175
+ const appCloseOutTxn = algosdk.makeApplicationCloseOutTxnFromObject({
1176
+ from: caller.addr,
1177
+ appIndex: appId,
1178
+ suggestedParams,
1179
+ });
1180
+
1181
+ await algodClient
1182
+ .sendRawTransaction(appCloseOutTxn.signTxn(caller.privateKey))
1183
+ .do();
1184
+ await algosdk.waitForConfirmation(
1185
+ algodClient,
1186
+ appCloseOutTxn.txID().toString(),
1187
+ 3
1188
+ );
1189
+ ```
1190
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L183-L197)
1191
+ <!-- ===JSSDK_APP_CLOSEOUT=== -->
1192
+
1193
+ === "Java"
1194
+ <!-- ===JAVASDK_APP_CLOSEOUT=== -->
1195
+ ```java
1196
+ Transaction closeOutTxn = ApplicationCloseTransactionBuilder.Builder()
1197
+ .sender(user.getAddress())
1198
+ .suggestedParams(sp)
1199
+ .applicationId(appId)
1200
+ .build();
1201
+
1202
+ SignedTransaction signedCloseOut = user.signTransaction(closeOutTxn);
1203
+ Response<PostTransactionsResponse> closeOutResponse = algodClient.RawTransaction()
1204
+ .rawtxn(Encoder.encodeToMsgPack(signedCloseOut)).execute();
1205
+
1206
+ PendingTransactionResponse closeOutResult = Utils.waitForConfirmation(algodClient,
1207
+ closeOutResponse.body().txId,
1208
+ 4);
1209
+ assert closeOutResult.confirmedRound > 0;
1210
+ ```
1211
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L179-L193)
1212
+ <!-- ===JAVASDK_APP_CLOSEOUT=== -->
1213
+
1214
+ === "Go"
1215
+ <!-- ===GOSDK_APP_CLOSEOUT=== -->
1216
+ ```go
1217
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
1218
+ if err != nil {
1219
+ log.Fatalf("error getting suggested tx params: %s", err)
1220
+ }
1221
+
1222
+ var (
1223
+ appArgs [][]byte
1224
+ accts []string
1225
+ apps []uint64
1226
+ assets []uint64
1227
+ )
1228
+
1229
+ txn, err := transaction.MakeApplicationCloseOutTx(
1230
+ appID, appArgs, accts, apps, assets, sp,
1231
+ caller.Address, nil, types.Digest{}, [32]byte{}, types.ZeroAddress,
1232
+ )
1233
+ if err != nil {
1234
+ log.Fatalf("failed to make txn: %s", err)
1235
+ }
1236
+
1237
+ // sign the transaction
1238
+ txid, stx, err := crypto.SignTransaction(caller.PrivateKey, txn)
1239
+ if err != nil {
1240
+ log.Fatalf("failed to sign transaction: %s", err)
1241
+ }
1242
+
1243
+ // Broadcast the transaction to the network
1244
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
1245
+ if err != nil {
1246
+ log.Fatalf("failed to send transaction: %s", err)
1247
+ }
1248
+
1249
+ // Wait for confirmation
1250
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
1251
+ if err != nil {
1252
+ log.Fatalf("error waiting for confirmation: %s", err)
1253
+ }
1254
+
1255
+ log.Printf("Closeout Transaction: %s confirmed in Round %d\n", txid, confirmedTxn.ConfirmedRound)
1256
+ ```
1257
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L271-L310)
1258
+ <!-- ===GOSDK_APP_CLOSEOUT=== -->
1259
+
1260
+ ## Delete
1261
+
1262
+ The approval program defines the creator as the only account able to [delete the application](../apps/#delete-smart-contract). This removes the global state, but does not impact any user's local state. This method uses the same 3 parameters.
1263
+
1264
+ === "Python"
1265
+ <!-- ===PYSDK_APP_DELETE=== -->
1266
+ ```python
1267
+ delete_txn = transaction.ApplicationDeleteTxn(creator.address, sp, app_id)
1268
+ signed_delete = delete_txn.sign(creator.private_key)
1269
+ txid = algod_client.send_transaction(signed_delete)
1270
+ optin_result = transaction.wait_for_confirmation(algod_client, txid, 4)
1271
+ assert optin_result["confirmed-round"] > 0
1272
+ ```
1273
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L131-L136)
1274
+ <!-- ===PYSDK_APP_DELETE=== -->
1275
+
1276
+ === "JavaScript"
1277
+ <!-- ===JSSDK_APP_DELETE=== -->
1278
+ ```javascript
1279
+ const appDeleteTxn = algosdk.makeApplicationDeleteTxnFromObject({
1280
+ from: creator.addr,
1281
+ suggestedParams,
1282
+ appIndex: appId,
1283
+ });
1284
+
1285
+ await algodClient
1286
+ .sendRawTransaction(appDeleteTxn.signTxn(creator.privateKey))
1287
+ .do();
1288
+ await algosdk.waitForConfirmation(
1289
+ algodClient,
1290
+ appDeleteTxn.txID().toString(),
1291
+ 3
1292
+ );
1293
+ ```
1294
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L243-L257)
1295
+ <!-- ===JSSDK_APP_DELETE=== -->
1296
+
1297
+ === "Java"
1298
+ <!-- ===JAVASDK_APP_DELETE=== -->
1299
+ ```java
1300
+ Transaction appDelete = ApplicationDeleteTransactionBuilder.Builder()
1301
+ .sender(creator.getAddress())
1302
+ .suggestedParams(sp)
1303
+ .applicationId(appId)
1304
+ .build();
1305
+
1306
+ SignedTransaction signedAppDelete = creator.signTransaction(appDelete);
1307
+ Response<PostTransactionsResponse> deleteResponse = algodClient.RawTransaction()
1308
+ .rawtxn(Encoder.encodeToMsgPack(signedAppDelete)).execute();
1309
+ PendingTransactionResponse deleteResult = Utils.waitForConfirmation(algodClient,
1310
+ deleteResponse.body().txId, 4);
1311
+ assert deleteResult.confirmedRound > 0;
1312
+ ```
1313
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L196-L208)
1314
+ <!-- ===JAVASDK_APP_DELETE=== -->
1315
+
1316
+ === "Go"
1317
+ <!-- ===GOSDK_APP_DELETE=== -->
1318
+ ```go
1319
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
1320
+ if err != nil {
1321
+ log.Fatalf("error getting suggested tx params: %s", err)
1322
+ }
1323
+
1324
+ var (
1325
+ appArgs [][]byte
1326
+ accts []string
1327
+ apps []uint64
1328
+ assets []uint64
1329
+ )
1330
+
1331
+ txn, err := transaction.MakeApplicationDeleteTx(
1332
+ appID, appArgs, accts, apps, assets, sp,
1333
+ caller.Address, nil, types.Digest{}, [32]byte{}, types.ZeroAddress,
1334
+ )
1335
+ if err != nil {
1336
+ log.Fatalf("failed to make txn: %s", err)
1337
+ }
1338
+
1339
+ // sign the transaction
1340
+ txid, stx, err := crypto.SignTransaction(caller.PrivateKey, txn)
1341
+ if err != nil {
1342
+ log.Fatalf("failed to sign transaction: %s", err)
1343
+ }
1344
+
1345
+ // Broadcast the transaction to the network
1346
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
1347
+ if err != nil {
1348
+ log.Fatalf("failed to send transaction: %s", err)
1349
+ }
1350
+
1351
+ // Wait for confirmation
1352
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
1353
+ if err != nil {
1354
+ log.Fatalf("error waiting for confirmation: %s", err)
1355
+ }
1356
+
1357
+ log.Printf("Delete Transaction: %s confirmed in Round %d\n", txid, confirmedTxn.ConfirmedRound)
1358
+ ```
1359
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L406-L445)
1360
+ <!-- ===GOSDK_APP_DELETE=== -->
1361
+
1362
+ ## Clear state
1363
+
1364
+ The user may [clear the local state](../apps/#the-lifecycle-of-a-smart-contract) for an application at any time, even if the application was deleted by the creator. This method uses the same 3 parameters.
1365
+
1366
+ === "Python"
1367
+ <!-- ===PYSDK_APP_CLEAR=== -->
1368
+ ```python
1369
+ clear_txn = transaction.ApplicationClearStateTxn(user.address, sp, app_id)
1370
+ # .. sign, send, wait
1371
+ ```
1372
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/apps.py#L139-L141)
1373
+ <!-- ===PYSDK_APP_CLEAR=== -->
1374
+
1375
+ === "JavaScript"
1376
+ <!-- ===JSSDK_APP_CLEAR=== -->
1377
+ ```javascript
1378
+ const appClearTxn = algosdk.makeApplicationClearStateTxnFromObject({
1379
+ from: anotherCaller.addr,
1380
+ suggestedParams,
1381
+ appIndex: appId,
1382
+ });
1383
+
1384
+ await algodClient
1385
+ .sendRawTransaction(appClearTxn.signTxn(anotherCaller.privateKey))
1386
+ .do();
1387
+ await algosdk.waitForConfirmation(
1388
+ algodClient,
1389
+ appClearTxn.txID().toString(),
1390
+ 3
1391
+ );
1392
+ ```
1393
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/app.ts#L226-L240)
1394
+ <!-- ===JSSDK_APP_CLEAR=== -->
1395
+
1396
+ === "Java"
1397
+ <!-- ===JAVASDK_APP_CLEAR=== -->
1398
+ ```java
1399
+ Transaction clearTxn = ApplicationClearTransactionBuilder.Builder()
1400
+ .sender(user.getAddress())
1401
+ .suggestedParams(sp)
1402
+ .applicationId(appId)
1403
+ .build();
1404
+
1405
+ SignedTransaction signedClear = user.signTransaction(clearTxn);
1406
+ // ... sign, send, wait
1407
+ ```
1408
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/AppExamples.java#L211-L219)
1409
+ <!-- ===JAVASDK_APP_CLEAR=== -->
1410
+
1411
+ === "Go"
1412
+ <!-- ===GOSDK_APP_CLEAR=== -->
1413
+ ```go
1414
+ sp, err := algodClient.SuggestedParams().Do(context.Background())
1415
+ if err != nil {
1416
+ log.Fatalf("error getting suggested tx params: %s", err)
1417
+ }
1418
+
1419
+ var (
1420
+ appArgs [][]byte
1421
+ accts []string
1422
+ apps []uint64
1423
+ assets []uint64
1424
+ )
1425
+
1426
+ txn, err := transaction.MakeApplicationClearStateTx(
1427
+ appID, appArgs, accts, apps, assets, sp,
1428
+ caller.Address, nil, types.Digest{}, [32]byte{}, types.ZeroAddress,
1429
+ )
1430
+ if err != nil {
1431
+ log.Fatalf("failed to make txn: %s", err)
1432
+ }
1433
+
1434
+ // sign the transaction
1435
+ txid, stx, err := crypto.SignTransaction(caller.PrivateKey, txn)
1436
+ if err != nil {
1437
+ log.Fatalf("failed to sign transaction: %s", err)
1438
+ }
1439
+
1440
+ // Broadcast the transaction to the network
1441
+ _, err = algodClient.SendRawTransaction(stx).Do(context.Background())
1442
+ if err != nil {
1443
+ log.Fatalf("failed to send transaction: %s", err)
1444
+ }
1445
+
1446
+ // Wait for confirmation
1447
+ confirmedTxn, err := transaction.WaitForConfirmation(algodClient, txid, 4, context.Background())
1448
+ if err != nil {
1449
+ log.Fatalf("error waiting for confirmation: %s", err)
1450
+ }
1451
+
1452
+ log.Printf("ClearState Transaction: %s confirmed in Round %d\n", txid, confirmedTxn.ConfirmedRound)
1453
+ ```
1454
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/apps/main.go#L315-L354)
1455
+ <!-- ===GOSDK_APP_CLEAR=== -->
1456
+
1457
+ # Appendix
1458
+
1459
+ ## Approval program walkthrough
1460
+
1461
+ ```teal
1462
+ #pragma version 4
1463
+ // Handle each possible OnCompletion type. We don't have to worry about
1464
+ // handling ClearState, because the ClearStateProgram will execute in that
1465
+ // case, not the ApprovalProgram.
1466
+
1467
+ txn OnCompletion
1468
+ int NoOp
1469
+ ==
1470
+ bnz handle_noop
1471
+
1472
+ txn OnCompletion
1473
+ int OptIn
1474
+ ==
1475
+ bnz handle_optin
1476
+
1477
+ txn OnCompletion
1478
+ int CloseOut
1479
+ ==
1480
+ bnz handle_closeout
1481
+
1482
+ txn OnCompletion
1483
+ int UpdateApplication
1484
+ ==
1485
+ bnz handle_updateapp
1486
+
1487
+ txn OnCompletion
1488
+ int DeleteApplication
1489
+ ==
1490
+ bnz handle_deleteapp
1491
+
1492
+ // Unexpected OnCompletion value. Should be unreachable.
1493
+ err
1494
+
1495
+ handle_noop:
1496
+ // Handle NoOp
1497
+ // Check for creator
1498
+ addr 5XWY6RBNYHCSY2HK5HCTO62DUJJ4PT3G4L77FQEBUKE6ZYRGQAFTLZSQQ4
1499
+ txn Sender
1500
+ ==
1501
+ bnz handle_optin
1502
+
1503
+ // read global state
1504
+ byte "counter"
1505
+ dup
1506
+ app_global_get
1507
+
1508
+ // increment the value
1509
+ int 1
1510
+ +
1511
+
1512
+ // store to scratch space
1513
+ dup
1514
+ store 0
1515
+
1516
+ // update global state
1517
+ app_global_put
1518
+
1519
+ // read local state for sender
1520
+ int 0
1521
+ byte "counter"
1522
+ app_local_get
1523
+
1524
+ // increment the value
1525
+ int 1
1526
+ +
1527
+ store 1
1528
+
1529
+ // update local state for sender
1530
+ int 0
1531
+ byte "counter"
1532
+ load 1
1533
+ app_local_put
1534
+
1535
+ // load return value as approval
1536
+ load 0
1537
+ return
1538
+
1539
+ handle_optin:
1540
+ // Handle OptIn
1541
+ // approval
1542
+ int 1
1543
+ return
1544
+
1545
+ handle_closeout:
1546
+ // Handle CloseOut
1547
+ //approval
1548
+ int 1
1549
+ return
1550
+
1551
+ handle_deleteapp:
1552
+ // Check for creator
1553
+ addr 5XWY6RBNYHCSY2HK5HCTO62DUJJ4PT3G4L77FQEBUKE6ZYRGQAFTLZSQQ4
1554
+ txn Sender
1555
+ ==
1556
+ return
1557
+
1558
+ handle_updateapp:
1559
+ // Check for creator
1560
+ addr 5XWY6RBNYHCSY2HK5HCTO62DUJJ4PT3G4L77FQEBUKE6ZYRGQAFTLZSQQ4
1561
+ txn Sender
1562
+ ==
1563
+ return
1564
+ ```
1565
+
1566
+ ## Clear program walkthrough
1567
+
1568
+ ## Refactored approval program
1569
+
1570
+ ```teal
1571
+ #pragma version 4
1572
+ // Handle each possible OnCompletion type. We don't have to worry about
1573
+ // handling ClearState, because the ClearStateProgram will execute in that
1574
+ // case, not the ApprovalProgram.
1575
+
1576
+ txn OnCompletion
1577
+ int NoOp
1578
+ ==
1579
+ bnz handle_noop
1580
+
1581
+ txn OnCompletion
1582
+ int OptIn
1583
+ ==
1584
+ bnz handle_optin
1585
+
1586
+ txn OnCompletion
1587
+ int CloseOut
1588
+ ==
1589
+ bnz handle_closeout
1590
+
1591
+ txn OnCompletion
1592
+ int UpdateApplication
1593
+ ==
1594
+ bnz handle_updateapp
1595
+
1596
+ txn OnCompletion
1597
+ int DeleteApplication
1598
+ ==
1599
+ bnz handle_deleteapp
1600
+
1601
+ // Unexpected OnCompletion value. Should be unreachable.
1602
+ err
1603
+
1604
+ handle_noop:
1605
+ // Handle NoOp
1606
+ // Check for creator
1607
+ addr 5XWY6RBNYHCSY2HK5HCTO62DUJJ4PT3G4L77FQEBUKE6ZYRGQAFTLZSQQ4
1608
+ txn Sender
1609
+ ==
1610
+ bnz handle_optin
1611
+
1612
+ // read global state
1613
+ byte "counter"
1614
+ dup
1615
+ app_global_get
1616
+
1617
+ // increment the value
1618
+ int 1
1619
+ +
1620
+
1621
+ // store to scratch space
1622
+ dup
1623
+ store 0
1624
+
1625
+ // update global state
1626
+ app_global_put
1627
+
1628
+ // read local state for sender
1629
+ int 0
1630
+ byte "counter"
1631
+ app_local_get
1632
+
1633
+ // increment the value
1634
+ int 1
1635
+ +
1636
+ store 1
1637
+
1638
+ // update local state for sender
1639
+ // update "counter"
1640
+ int 0
1641
+ byte "counter"
1642
+ load 1
1643
+ app_local_put
1644
+
1645
+ // update "timestamp"
1646
+ int 0
1647
+ byte "timestamp"
1648
+ txn ApplicationArgs 0
1649
+ app_local_put
1650
+
1651
+ // load return value as approval
1652
+ load 0
1653
+ return
1654
+
1655
+ handle_optin:
1656
+ // Handle OptIn
1657
+ // approval
1658
+ int 1
1659
+ return
1660
+
1661
+ handle_closeout:
1662
+ // Handle CloseOut
1663
+ //approval
1664
+ int 1
1665
+ return
1666
+
1667
+ handle_deleteapp:
1668
+ // Check for creator
1669
+ addr 5XWY6RBNYHCSY2HK5HCTO62DUJJ4PT3G4L77FQEBUKE6ZYRGQAFTLZSQQ4
1670
+ txn Sender
1671
+ ==
1672
+ return
1673
+
1674
+ handle_updateapp:
1675
+ // Check for creator
1676
+ addr 5XWY6RBNYHCSY2HK5HCTO62DUJJ4PT3G4L77FQEBUKE6ZYRGQAFTLZSQQ4
1677
+ txn Sender
1678
+ ==
1679
+ return
1680
+ ```