@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,405 @@
1
+ title: Modern guidelines for smart contracts and smart signatures on Algorand
2
+
3
+ ## Disclaimer
4
+
5
+ The content provided here is not an exhaustive list of security considerations. Before deploying any application in production, it is strongly advised to get the contract audited by one more third-party security companies.
6
+
7
+ ## Use smart signatures very SPARINGLY
8
+
9
+ Algorand supports two types of programs on the blockchain: **smart signatures** and **smart contracts**. Smart signatures themselves can be used both as **delegated (logic) signatures** or **contract account**.
10
+
11
+ Most dApps should **only** use **smart contracts** and should **not** use any **smart signatures**.
12
+
13
+ See the [section "More about smart signatures vs smart contracts"](#more-about-smart-signatures-vs-smart-contracts) for additional details.
14
+
15
+ !!! info
16
+ As in the section below, smart signatures were necessary in the past. If you see an example (on the [developer portal](https://developer.algorand.org) or anywhere else online) that uses smart signatures, please take some time to see if it can be migrated following the instructions below.
17
+
18
+
19
+ ## DO proper fee management
20
+
21
+ ### DO NOT hard-code 1,000 microAlgos as minimum fee
22
+
23
+ The minimum fee per transaction is a consensus parameter. It **CAN** be changed over time. As such, **NEVER** hard-code its value anywhere.
24
+
25
+ If you hard-code 1,000 microAlgos instead of using one of the method below, your smart contract or code will fail, if the minimum fee is increased.
26
+
27
+ #### Get minimum fee in smart contract
28
+
29
+ === "PyTeal"
30
+ ```py
31
+ Global.min_txn_fee()
32
+ ```
33
+
34
+ === "TEAL"
35
+ ```teal
36
+ global MinTxnFee
37
+ ```
38
+
39
+ #### Get minimum fee off-chain with SDK
40
+
41
+ There are two options:
42
+
43
+ * using SDK constants:
44
+
45
+ === "Python"
46
+ <!-- ===PYSDK_CONST_MIN_FEE=== -->
47
+ ```python
48
+ from algosdk import constants
49
+
50
+ print(constants.MIN_TXN_FEE)
51
+ ```
52
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/overview.py#L83-L86)
53
+ <!-- ===PYSDK_CONST_MIN_FEE=== -->
54
+
55
+ === "JavaScript"
56
+ <!-- ===JSSDK_CONST_MIN_FEE=== -->
57
+ ```javascript
58
+ const minFee = algosdk.ALGORAND_MIN_TX_FEE;
59
+ ```
60
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/atomics.ts#L53-L54)
61
+ <!-- ===JSSDK_CONST_MIN_FEE=== -->
62
+
63
+ === "Java"
64
+ <!-- ===JAVASDK_CONST_MIN_FEE=== -->
65
+ ```java
66
+ System.out.printf("Min fee from const: %d\n", Account.MIN_TX_FEE_UALGOS);
67
+ ```
68
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/Overview.java#L70-L71)
69
+ <!-- ===JAVASDK_CONST_MIN_FEE=== -->
70
+
71
+ === "Go"
72
+ <!-- ===GOSDK_CONST_MIN_FEE=== -->
73
+ ```go
74
+ log.Printf("Min fee const: %d", transaction.MinTxnFee)
75
+ ```
76
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/overview/main.go#L101-L102)
77
+ <!-- ===GOSDK_CONST_MIN_FEE=== -->
78
+
79
+ * using an algod API:
80
+
81
+ === "Python"
82
+ <!-- ===PYSDK_SP_MIN_FEE=== -->
83
+ ```python
84
+ suggested_params = algod_client.suggested_params()
85
+ print(suggested_params.min_fee)
86
+ ```
87
+ [Snippet Source](https://github.com/algorand/py-algorand-sdk/blob/examples/examples/overview.py#L78-L80)
88
+ <!-- ===PYSDK_SP_MIN_FEE=== -->
89
+
90
+ === "JavaScript"
91
+ <!-- ===JSSDK_SP_MIN_FEE=== -->
92
+ ```javascript
93
+ // Not supported because getTransactionParams erases the information
94
+ ```
95
+ [Snippet Source](https://github.com/algorand/js-algorand-sdk/blob/examples/examples/atomics.ts#L63-L64)
96
+ <!-- ===JSSDK_SP_MIN_FEE=== -->
97
+
98
+ === "Java"
99
+ <!-- ===JAVASDK_SP_MIN_FEE=== -->
100
+ ```java
101
+ Response<TransactionParametersResponse> tpr = algodClient.TransactionParams().execute();
102
+ TransactionParametersResponse sp = tpr.body();
103
+ System.out.printf("Min fee from suggested params: %d\n", sp.minFee);
104
+ ```
105
+ [Snippet Source](https://github.com/algorand/java-algorand-sdk/blob/examples/examples/src/main/java/com/algorand/examples/Overview.java#L50-L53)
106
+ <!-- ===JAVASDK_SP_MIN_FEE=== -->
107
+
108
+ === "Go"
109
+ <!-- ===GOSDK_SP_MIN_FEE=== -->
110
+ ```go
111
+ suggestedParams, err := algodClient.SuggestedParams().Do(context.Background())
112
+ if err != nil {
113
+ log.Fatalf("failed to %s", err)
114
+ }
115
+ log.Printf("Min fee from suggested params: %d", suggestedParams.MinFee)
116
+ ```
117
+ [Snippet Source](https://github.com/algorand/go-algorand-sdk/blob/examples/examples/overview/main.go#L93-L98)
118
+ <!-- ===GOSDK_SP_MIN_FEE=== -->
119
+
120
+ ### DO bound fees for smart signatures
121
+
122
+ In most scenarios, if you are using smart signatures, the transaction fee should be constrained by the smart signature, otherwise an attacker may be able to replay/send transactions with a much higher fee.
123
+
124
+ Often, the best solution is to require the fee to be 0 and rely on [fee pooling](../../../transactions/#pooled-transaction-fees): the other transactions (that are not signed by a smart signature) should provide enough fees to cover all transactions.
125
+
126
+ There are a few cases where forcing a 0 fee would not be appropriate: for example when a contract account is created to allow users to execute certain transactions.
127
+ In this case, the transaction fee needs to be reasonably bounded depending on the exact use case (e.g., five times the minimum fee).
128
+
129
+ ### DO use 0 fee for inner transactions when possible
130
+
131
+ The simplest solution for inner transaction fee is to set them to 0 and rely on [fee pooling](../../../transactions/#pooled-transaction-fees): the other transactions (that are not signed by a smart signature) should provide enough fees to cover all transactions.
132
+
133
+ !!! tip
134
+ Setting the inner transaction fee to 0 is different from not setting it. When it is not set, the inner transaction fee is set to the minimum allowable, taking into account the minimum transaction fee and credit from overpaying in earlier transactions. It is recommended to always set the transaction fee.
135
+
136
+ ### DO handle congestion smoothly and securely
137
+
138
+ In case of congestion, the blockchain may require higher fees.
139
+
140
+ This is a complex subject with [a discussion in progress on the forum](https://forum.algorand.org/t/brainstorm-on-default-valid-window-length-and-lease/8208).
141
+
142
+ !!! tip
143
+ Inner transaction fees are not subject to congestion fees. Inner transaction fees can always be set to the minimum fee (see guideline above how to access it) or to 0 (the recommended solution). When set to 0, the inner transaction will take the minimum fee from [fee pooling](../../../transactions/#pooled-transaction-fees).
144
+
145
+ ## DO validate carefully incoming transactions
146
+
147
+ When validating an incoming transaction to an application account to validate payment for the action of a smart contract, do not forget to:
148
+
149
+ * Always check the `Type` or `TypeEnum` field to ensure the transaction is of the expected type.
150
+ * Always check the asset ID for asset transfer.
151
+ * Smart contract developers may be tempted to optimize the contract by remarking that asset transfers can only work for assets that have been opted in by the application account. However, using the opt-in mechanism for that purpose is extremely error-prone. This is extremely strong discouraged.
152
+ * Always check the recipient is the application account.
153
+ * Always check the amount.
154
+
155
+
156
+ These guidelines are not exhaustive.
157
+
158
+ Similar guidelines apply to validate incoming transactions for smart signatures, in which case the recipient account may not be the application account.
159
+
160
+
161
+ ## DO manage key carefully
162
+
163
+ If the smart contract is not updatable and the dApp is fully web3 (users interacting with it have their own wallet), then the only account needed for deployment is the creator account.
164
+ The simplest solution is most likely to deploy the smart contract with a throw away account.
165
+
166
+ The account may then rekey to an account without a known secret key (e.g., `737777777777777777777777777777777777777777777777777UFEJ2CI`, the reward pool) so that the account essentially is locked forever.
167
+ However, note that you must be sure the creator account will never be used for any other purpose (like validating the dApp before rekeying).
168
+
169
+ If the smart contract is updatable, then extreme care should be taken to secure the key allowing for example.
170
+ This document is not meant to provide exhaustive key management guidelines as key management is an extremely complex topic that requires an expert to find the proper trade-off for the specific applications.
171
+ However, here are some points:
172
+
173
+ * Do *NOT* use a hardware or software wallet without multisig.
174
+ * Note that using a hardware or software wallet with multisigs and multiple people holding a subkey may *NOT* be appropriate either. Appropriateness needs to be assesed by an expert considering all the aspects of the project
175
+ * Do *NOT* store secret keys (or mnemonics) in unencrypted/unsecure location such as environment variables.
176
+ * *NEVER* store secret keys (or mnemonics) in code (e.g., Github).
177
+
178
+ If the dApp requires the use of custodial accounts, then key management is even more complex.
179
+ In some cases, technical solutions can be used to limit risks, see for example [this forum post](https://forum.algorand.org/t/could-i-implement-an-asa-with-its-own-custom-wallet/3139/2).
180
+ However, as for the keys to update smart contract, it is strongly recommended to consult a security expert.
181
+
182
+ ## DO follow these additional guidelines for smart contracts (and smart signatures)
183
+
184
+ ### General
185
+
186
+ * Use [Beaker](https://github.com/algorand-devrel/beaker) instead of plain PyTeal or TEAL, unless you need to go in production very quickly. Note however that Beaker may introduce breaking changes.
187
+ * If using plain TEAL or plain PyTEAL (without Beaker):
188
+ * Explicitly handling all `OnComplete` actions, including delete/update.
189
+ * Follow ARCs:
190
+ * Strictly follow [ARC-4](https://arc.algorand.foundation/ARCs/arc-0004)
191
+ * Check if there exists an [ARC](https://arc.algorand.foundation) standardizing what the smart contract will do.
192
+
193
+ * DO NOT hard-code the minimum balance requirements: those are consensus parameters that can change with consensus upgrades:
194
+ * Ensure that your smart contract can work if the minimum balance requirements change.
195
+ * Use the proper API endpoints or TEAL/PyTEAL opcode to read the minimum balance requirement of an account.
196
+ * DO NOT enforce group size as this prevents composability. But BE extremely careful to not allow your smart contract to consider twice the same payment transaction for the same method call. (An insecure example if to have a method A that looks for a payment transaction just before its call and a method B that looks for a payment transaction two transactions before. then the same payment transaction can be used to make both call A and B, which is in most cases insecure.)
197
+
198
+ ### Updatability and deletability
199
+
200
+ * Carefully decide whether the smart contracts are updatable / deletable:
201
+ * Pros of updatable smart contracts
202
+ * Can add features after creation
203
+ * Can fix bugs after creation
204
+ * Cons of updatable smart contracts
205
+ * Can introduce bugs in updates
206
+ * Generally means some sense of trust is involved
207
+ * Ensure that the smart contract cannot be deleted or made unusable while the application account still has funds.
208
+
209
+
210
+ ### Local state, boxes, clear state
211
+
212
+ * Do **NOT** use local state for data that cannot be lost:
213
+ * Local state can always be cleared by the user. There is no trustless way to recover data.
214
+ * Ideally make clear to the user consequences of clearing user data (often this implies loss of funds).
215
+ * Use boxes to store data that should never be cleared.
216
+ * Be sure to allow the user opting out easily of the smart contract and recover their minimum balance.
217
+ * Write a clear program that properly handle clear state by users and that can never fail:
218
+ * Do not use boxes or any foreign account/asset/application when clearing, as the user may not provide them in the transaction.
219
+ * Remember that the state will be cleared even if the TEAL code fails.
220
+ * A usual example is when the user sends some funds to the application account and the amount is recorded in local storage (e.g., for retrieval). In this case, a solution can keep in global storage a counter of the "lost funds" by users that cleared they state.
221
+ * Delete all boxes before deleting a smart contract:
222
+ * Each box increases the minimum balance requirement of the application account. If the smart contract is deleted, the minimum balance is forever lost.
223
+ * The above is true even if the application account is rekeyed to another account. Rekeying the application account to another account will allow to transfer all the funds out of the application account even if the smart contract is deleted, **except** for the minimum balance due to boxes.
224
+
225
+ ### Oracle, interactions, and randomness
226
+
227
+ * Use randomness beacon such as [this one](https://developer.algorand.org/articles/usage-and-best-practices-for-randomness-beacon) to generate random values and follow strictly the [best practices](https://developer.algorand.org/articles/usage-and-best-practices-for-randomness-beacon). In addition:
228
+ * Do **NOT** use the block hash or a PRG/Hash function (such as SHA256 or SHA3) on any block or transaction field information. This is **NOT** secure. For more information read the [randomness on Algorand article](https://developer.algorand.org/articles/randomness-on-algorand/).
229
+ * Take some time to read very carefully and thoroughly the documents linked above to fully understand what is happening and what the trust model is. Before using a randomness oracle, check whether the required trust assumption is sufficient for your purpose. (As an extreme example, it may not be wise to use a randomness oracle for a 10B$ lottery.)
230
+ * Remember that smart contracts and smart signatures **CANNOT KEEP SECRETS** and **MUST NOT USE PASSWORDS**:
231
+ * Everything that a smart contract operates on is made public to everyone on the blockchain. In particular, any input and output of the smart contract is public. (This is the case for all major blockchains.)
232
+ * Oracles might be used but like for randomness beacons above, the exact trust model need to be studied in a lot of details. For example, Intel SGX may or may not be appropriate in certain cases, due to its known vulnerabilities.
233
+ * Direct or indirect uses of passwords by smart contracts or smart signatures are 99.9% of the time insecure. If your dApp uses password, we strongly recommend that a cryptography expert fully review the design. Most of the documentation and examples on the Internet are wrong or misleading. (As an example amongst many others, looking for PBKDF2 will give examples with number of iterations is only 1,024 which is completely inadequate.)
234
+ * Remember that smart contract and smart signatures **CANNOT** interact by themselves with the outside world:
235
+ * Smart contracts and smart signatures can only read on-chain data.
236
+ * Oracles may provide a way for them to interact with the outside world. But as for the randomness beacon above, it is necessary to study the trust model.
237
+
238
+ ### Overflows and underflows
239
+
240
+ * Be particularly careful with **integer arithmetic**: overflow and underflow can cause issues. See for example the [(since corrected) TinyMan pool overflow errors](https://docs.tinyman.org/known-issues/2021-11-12-pool-overflow-errors). Any time integer arithmetic is used, do a semi-formal analysis proving that overflow and underflow can never happen.
241
+ * A semi-formal analysis works by manually writing invariants such as "the value XYZ is always between 1 and 42" and proving (with pen and paper) these invariants hold whatever operation is done on the smart contract. "Proving" here really means "making a proper mathematical proof". "Handwaving" is strongly not recommended.
242
+ * Similarly as integer arithmetic overflow/underflow, do an analysis that that byte arrays never go beyond the limits of the AVM. This is a rarer issue but this still needs to be manually checked.
243
+
244
+
245
+
246
+ ## DO follow these additional guidelines for dApps beyond smart contract and smart signature code
247
+
248
+ ### Algod, indexer, and caching
249
+
250
+ * If using third-party API services:
251
+ * Understand the trust model: if you do not run the node or indexer, you need to fully trust the provider to operate honestly. A malicious provider can return invalid answers.
252
+ * Understand the SLA and maximum number load that the provider allows: free tiers may have limited SLA or limited throughput. If your dApp attracts many users, this may prevent proper functioning.
253
+ * For web3 application, use the algod/indexer endpoints provided by the user wallet if the user wallet provides it.
254
+ * Consider whether adding cache is necessary. Like for direct access to database in web2, direct access to blockchain will never be as cheap and as fast as serving cached answers.
255
+ * Note that cache does not make a dApp non-web3. For example, an NFT galleries may use a cache to quickly display NFTs but then check the hashes of the retrieved cache items against the blockchain (ideally asynchronously).
256
+
257
+ ### Standard security guidelines
258
+
259
+ Blockchains do not automatically make something secure.
260
+ Traditional security guidelines still need to be strictly followed.
261
+ Actually, due to the nature of blockchains, those guidelines are even more important: in a web3 project, a bug can easily cost millions of dollars without possibility to recover the money through the justice system.
262
+
263
+ Here we highlight some of them (the list is non-exhaustive):
264
+
265
+ * **NEVER** store any key or mnemonic in source code. It is almost impossible to securely remove a key or mnemonic from a git repo.
266
+ * Perform regular audits.
267
+ * Have a security expert review any security critical part of the system, particularly key management and anything cryptography related (including any use of password).
268
+ * Ensure highest quality of code, following best practices (including outstanding documentation, full test coverage, proper CI). Review [classical security issues](https://owasp.org/www-project-top-ten/).
269
+ * Ensure proper safeguards preventing a single employees to merge and deploy code for example.
270
+ * Actively monitor both the dApp on-chain and all the systems around the dApps. Have a response plan as well as a person available 24/7 to mitigate any risk (especially for high value DeFi apps).
271
+ * Have mitigation systems in place:
272
+ * Some projects have some form of kill switch for example at the beginning. The kill switch is sometimes disabled after some time.
273
+ * Actively limit dependencies and attack surface. Constantly monitor used libraries for any exploit and update as soon as possible.
274
+ * If using servers, follow [NIST recommendation](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-123.pdf ).
275
+ * Operations should typically fail rather than default to insecure modes. For example if the keys are unavailable, it is usually better to fail than to store sensitive material in the clear. When failing is not an option, at the very least there has to be a very visible warning displayed.
276
+
277
+ ## More about smart signatures vs smart contracts
278
+
279
+ ### Issues with smart signatures
280
+
281
+ * Smart signatures are much harder to audit than smart contracts in most settings.
282
+ * Smart signatures cannot be used in inner transactions from smart contracts, which strongly limits composability of smart contracts (at least for TEAL v8 and before).
283
+ * Smart signatures are much less flexible than smart contracts. While some simple dApps could be based on smart signatures and using smart signatures could slightly reduce fees, adding any feature would become problematic and any upgrade would most likely be impossible.
284
+ * Contrary to smart contract, smart signatures do not have a standardized ABI (Application Binary Interface). Smart contracts have [ARC-4](https://arc.algorand.foundation/ARCs/arc-0004).
285
+ * (For delegated logic signatures only) Most wallets do not support signing delegated logic signatures, as this is a potentially dangerous operation: a malicious delegated logic signature can remain dormant for years and can allow to siphon out funds of an account much later. There is no way to check whether an account signed a malicious delegated logic signature until the actual fund siphoning occurs.
286
+
287
+ #### Examples comparing smart signature and applications
288
+
289
+ To highlight how easier applications are to analyze comparent to smart signatures, see the following PyTEAL examples.
290
+
291
+ A smart signature like
292
+
293
+ ```python
294
+ return Seq(
295
+ Assert(Txn.Amount() == Int(1)),
296
+ Assert(Txn.TypeEnum() == TxnType.Payment),
297
+ Assert(Txn.Receiver() == intended_receiver)
298
+ )
299
+ ```
300
+
301
+ has the following issues:
302
+ * This contract can get drained via `CloseRemainderTo`.
303
+ * This contract can lose authorization via `RekeyTo`.
304
+ * This contract can get drained via fees.
305
+
306
+ Compared with the following application
307
+
308
+ ```python
309
+ return Seq(
310
+ InnerTxnBuilder.Begin(),
311
+ InnerTxnBuilder.SetFields({
312
+ TxnField.type_enum: TxnType.AssetTransfer,
313
+ TxnField.receiver: intended_receiver,
314
+ TxnField.amount: Int(1)
315
+ }),
316
+ InnerTxnBuilder.Submit(),
317
+ )
318
+ ```
319
+
320
+ where:
321
+ * Contract account can't be closed
322
+ * Can't be rekeyed
323
+ * Fee will always be minimum fee required
324
+
325
+ ### (Niche) use cases for smart signatures
326
+
327
+ There are three main (niche) use cases for smart signatures:
328
+
329
+ * As a contract account, smart signatures can be used when very costly operations need to be performed, such as `ed25519verify` or `vrf_verify`. A smart contract needing to perform such operations would require to be called (in a group of transactions) just after a transaction from the contract account.
330
+ * Importantly, this mechanism can only be used for smart contract methods that are not meant to be called from another smart contract, as smart contracts currently cannot issue inner transaction signed by a logic signature.
331
+ * An alternative solution is to [increase the opcode budget](../../../dapps/avm/teal/#dynamic-operational-cost-of-teal-opcodes) of the smart contract using group transactions and inner transactions. PyTeal actually includes a [budget increase utility](https://pyteal.readthedocs.io/en/stable/opup.html). This method however is more expensive in terms of transaction fees, compared to using a smart signature contract account. ON the other hand, it has the advantages of being easier to code and of not breaking composability.
332
+ * As a contract account, smart signatures can be used to allow any user (even without a blockchain account) to send certain transactions for free:
333
+ * This is only meaningful if there are only a limited number of transactions that can be executed in a given amount of time.
334
+ * A concrete example would be a smart signature allowing to call a smart contract acting as a third-party blockchain light client. Only when the third-party blockchain has new valid blocks can the smart contract be called succesfully.
335
+ * As a delegated logic signature, smart signatures can be used in complex systems to delegate certain operations on an account to another signature key or another smart contract. Here are a few examples:
336
+ * Delegation of the issuance of "change offline" transactions to a lower-security key to give the ability to very quickly send "change offline" transactions in case of a participation node issue.
337
+ * Delegation of ASA transfers to a "hot key." This allows using the Algorand blockchain to record token ownership in a custodial system (e.g., for a loyalty reward program). The actual keys of the custodial accounts can be kept in cold storage, while the system uses hot keys whose only ability is to transfer tokens between custodial accounts. This way, the system is no less secure than a centralized system with a centralized DB: in case of leak of keys, the only thing the attacker can do is to transfer the tokens incorrectly, but the attacker is not able to rekey accounts or steal Algos (if Algos are used for any other purpose).
338
+
339
+ Note that the second use case can often be done using a smart contract and inner transactions. However, a delegated logic signature is often easier to write and use for that purpose.
340
+
341
+ ### Migration from smart signatures to smart contracts
342
+
343
+ In the past, smart signatures were used as companions of smart contracts in the following scenarios:
344
+
345
+ * **Escrow accounts** for smart contracts before inner transactions (AVM 1.0 / TEAL v5). Now inner transactions should be used. Notes:
346
+ * Since AVM 1.0 / TEAL v5, escrow accounts can be either a smart signature contract account or an application account (associated to a smart contract). Application accounts use inner transactions and are preferred.
347
+ * There are a few rare corner cases where inner transactions cannot be used. For example TEAL v8 does not allow making an inner transaction from a (smart signature) contract account nor allow making an application call inner transaction for a TEAL v2/v3/v4 smart contract. In those cases, it may be needed to use a contract account as escrow account. However, it is strongly recommended to restrict the use of such an escrow account to the rare method calls that need it. Indeed, such method calls would themselves not be callable from inner transactions perpetuating the above issue.
348
+ * In case multiple escrow accounts are needed (instead of a globa escrow account), the simplest solution is to rekey accounts to the application account.
349
+ * Before AVM 1.1 / TEAL v6, only a small subsets of inner transactions were supported, making use of contract accounts for escrow accounts sometimes necessary. This is no more an issue.
350
+ * **Un-erasable local storage** for smart contracts before boxes (TEAL v8). Local storage can be erased at any time by the account associated to the local storage. Sometimes, this is not a desirable property. In the past, special contract accounts holding local storages may have been used. Boxes are now the proper solution.
351
+ * **Infinite storage** for smart contracts before boxes (TEAL v8). Global storage is limited and the solution to get more global storage in the past was to use local storage of contract accounts (or accounts rekeyed to the application account). Boxes are now the proper solution.
352
+
353
+ ### Note on the terminology
354
+
355
+ Smart signatures are also called **logic signature** or **LogicSig**.
356
+
357
+ Smart signatures were also called in the past **stateless smart contracts** or just "Algorand smart contracts (ASC1)" before TEAL version 2.
358
+ In particular, any TEAL program that does not start with `#pragma version <N>` is a TEAL v1 smart signature and should not be used at all.
359
+
360
+ ## Additional guidelines specific to smart signatures
361
+
362
+ !!! info
363
+ As mentioned above, smart signatures should only be used in very few niche use cases. Most likely you should not be using them. These guidelines are only there for these very few niche use cases.
364
+
365
+ These guidelines are specific to smart signatures. They complement the other guidelines in this document. Smart signatures should also obey the other guidelines.
366
+
367
+ * **Only use smart signatures when absolutely required.** See section above for details.
368
+ * Do not use TEAL v1 smart signatures (i.e., TEAL codes not starting with any `#pragma version ...`):
369
+ * If you need to migrate a TEAL v1 smart signature to a more recent version, be extra careful. In particular, add a test checking that `RekeyTo` is the `ZeroAddress`. Not doing so most likely allows any attacker to
370
+ * Check as many transaction fields (accessible via `txn`/`Txn` in TEAL/PyTEAL) as possible to constrain the transactions approved by the smart signature as much as possible to avoid security issues. In particular (this is not an exhaustive list):
371
+ * Always check the `Type` or `TypeEnum` field to ensure the transaction is of the expected type.
372
+ * Always check the following fields: `RekeyTo`, `CloseRemainderTo` (for payments), and `AssetCloseTo` (for asset transfers).
373
+ * For most cases, these fields must be set to the `ZeroAddress`.
374
+ * Follow the guidelines for transaction validation and for fee management above.
375
+ * Be careful that the same smart signature can be used for multiple transactions in a group:
376
+ * Either check the current transaction fields using `txn` / `Txn.` (instead of `gtxn` / `Gtxn`);
377
+ * Or use `gtxn` / `Gtxn` for an index `i` and verify that the current transaction is the `i`-th ().
378
+ * Not doing the above can allow an attacker to call twice the smart signature in the same group: the first transaction obeys the rule of the smart signature and is safe, but the second one is unconstrained and can allow the attacker to siphon out all funds.
379
+ * If the use case permits it, set up an expiration mechanism:
380
+ * Contract accounts should allow the sender to reclaim their assets after a certain round/time (`txn FirstValid > NNNN` or `txn FirstValidTime > TTTT`).
381
+ * Delegated logic signatures should specify an expiration round in the future after which they will no longer function.
382
+ * Be extra careful when combining multiple contract accounts in a group of transaction and to perform multiple checks. The simplest solution is to enforce the transaction group size
383
+ * Remember that, as for smart contracts, the smart signature code, the transaction fields, and the arguments of the smart signature are all **public**. In particular:
384
+ * An attacker can replay a transaction signed by a smart signature (whether in contract account or logic signature mode).
385
+ * For example, a delegated logic signature allowing approving any change offline transaction is insecure. The first time it is used, an attacker can replay it many times and empty the account (using all the fees)! The delegated logic signature needs to
386
+ * Be careful about the fact that, contrary to arguments of smart contracts, arguments of smart signatures are **NOT** signed by the sender account and are **NOT** part of the computation of the group ID. In other words, an attacker can intercept a transaction signed by a smart signature and change its arguments (as long as it is still accepted by the smart signature).
387
+ * Be careful about the fact that the same smart signature can be used in multiple networks.
388
+ * For instance, if a smart signature is signed with the intent of using it on TestNet, that same transaction can be sent to MainNet with that same smart signature.
389
+ * Always use new accounts when using TestNet (or any other network) to avoid reusing the same account that signed a smart signature.
390
+ * Make sure to write a smart signature that checks which network it is being run on. You can use:
391
+
392
+ === "PyTeal"
393
+ ```py
394
+ Global.genesis_hash()
395
+ ```
396
+
397
+ === "TEAL"
398
+ ```teal
399
+ global GenesisHash
400
+ ```
401
+
402
+ ## Additional resources
403
+
404
+ * [Trails of Bits guideslines](https://github.com/crytic/building-secure-contracts/tree/master/not-so-smart-contracts/algorand)
405
+ * [ASC Security Guidelines from Joe Polny](https://github.com/joe-p/algo-edu/blob/master/resources/en-US/asc_security.md) on which this document is partially based
@@ -0,0 +1,41 @@
1
+ title: Introduction
2
+
3
+ Algorand Smart Contracts (ASC1) are small programs that serve various functions on the blockchain and operate on layer-1. Smart contracts are separated into two main categories, smart contracts, and smart signatures. These types are also referred to as stateful and stateless contracts respectively. The type of contract that is written will determine when and how the logic of the program is evaluated. See the following sections to understand how each type of contract is used on the Algorand blockchain. Both types of contracts are written in the [Transaction Execution Approval Language (TEAL)](../avm/teal), which is an assembly-like language that is interpreted by the [Algorand Virtual Machine (AVM)](../avm) running within an Algorand node. TEAL programs can be written by hand or by using the Python language with the PyTEAL compiler.
4
+
5
+
6
+ !!! warning
7
+ When writing smart contracts, make sure to follow [TEAL guidelines](../avm/teal/guidelines). This is very important in order to prevent smart contracts from being compromised.
8
+
9
+ # Quick start videos
10
+
11
+ If you prefer videos, take a look at this 6 minute guide to learn about Smart Contracts Overview.
12
+
13
+ <iframe width="100%" style="aspect-ratio:16/9" src="https://www.youtube-nocookie.com/embed/_8vLEeJDjlc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
14
+
15
+ # Smart contracts
16
+ Smart contracts are contracts that, once deployed, are remotely callable from any node in the Algorand blockchain. Once deployed, the on-chain instantiation of the contract is referred to as an Application and assigned an Application Id. These applications are triggered by a specific type of transaction called an Application Call transaction. These on-chain applications handle the primary decentralized logic of a dApp.
17
+
18
+ - Applications can [modify state](./apps/#modifying-state-in-smart-contract) associated with the application (global state) or a per application+account (local state) basis.
19
+ - Applications can [access](./apps/#using-assets-in-smart-contracts) on-chain values, such as account balances, asset configuration parameters, or the latest block time.
20
+ - Applications can [execute transactions](./apps/#inner-transactions) as part of the execution of the logic. One type of transaction they can perform, as of AVM 1.1, is an Application Call transaction which allows one application to call another. This ability to call other applications enables composability between applications.
21
+ - Applications have an associated [Application Account](./apps/#using-a-smart-contract-as-an-escrow) that can hold Algos or ASAs balances and can be used as on-chain escrow accounts.
22
+
23
+ To provide a standard method for exposing an API and encoding/decoding data types from application call transactions, the [ABI](/docs/get-details/dapps/smart-contracts/ABI/) should be used.
24
+
25
+ For more information on smart contracts, see the [smart contract documentation](./apps). For more information on building smart contracts in PyTeal see the [build with python documentation](/docs/get-details/dapps/writing-contracts/pyteal).
26
+ For more information on using smart contracts with the SDKs see the [Interacting with smart contracts documentation](./frontend/smartsigs.md).
27
+ For more information on debugging a smart contract, see the [debugging](./debugging.md) page.
28
+
29
+ # Smart signatures
30
+ Smart signatures contain logic that is used to sign transactions, primarily for signature delegation. The logic of the smart signature is submitted with a transaction. While the logic in the smart signature is stored on the chain as part of resolving the transaction, the logic is not remotely callable. Any new transaction that relies on the same smart signature would resubmit the logic. When the logic is submitted to a node the AVM evaluates the logic, where it either fails or succeeds. If a smart signature’s logic fails when executed by the AVM, the associated transaction will not be executed.
31
+
32
+ Smart signatures can be used in two different modes. When compiled smart signatures produce an Algorand account that functions similar to any other account on the blockchain. These accounts can hold Algos or assets. These funds are only allowed to leave the account if a transaction occurs from the account that successfully executes the logic within the smart signature. This is similar in functionality to a smart contract escrow, but the logic must be submitted for every transaction from the account. Smart signatures can also also be used to delegate some portion of authority to another account. In this case, an account can sign the smart signature which can then be used at a later time to sign a transaction from the original signer’s account. This is referred to as account delegation. See the [modes of use documentation](./smartsigs/modes.md) for more details on these two types of smart signatures.
33
+
34
+ Once a transaction that is signed with a smart signature, is submitted it is evaluated by an Algorand node using the Algorand Virtual Machine. These contracts only have access to a few global variables, some temporary scratch space, and the properties of the transaction(s) they are submitted with.
35
+
36
+ For more information on smart signatures, see the [smart signature documentation](./smartsigs). For more information on building contracts in PyTeal see the [build with Python documentation](/docs/get-details/dapps/writing-contracts/pyteal).
37
+ For more information on using smart signatures with the SDKs see the [Interacting with smart signature documentation](./frontend/smartsigs).
38
+ For more information on debugging a smart contract, see the [debugging](./debugging.md) page.
39
+
40
+
41
+ For more information on the [AVM](../avm) or the [TEAL language](../avm/teal) see the developer documentation.
@@ -0,0 +1,15 @@
1
+ title: SmartSig details
2
+
3
+ **Algorand Smart Contracts (ASC1)**, provides both smart contracts and smart signatures. The intended use case for the contract will determine the appropriate type to use. Smart signatures are primarily used to delegate signature authority. Smart signatures can also be used as escrow or contract accounts, but in most cases it is preferable to use a [smart contract](../apps/) when an escrow is required.
4
+
5
+ Most Algorand transactions are authorized by a [signature from a single account](../../../transactions/signatures.md#single-signatures) or a [multisignature account](../../../transactions/signatures#multisignatures). Algorand’s smart signatures allow for a third type of signature using a **Transaction Execution Approval Language (TEAL)** program, called a **logic signature (LogicSig)**. Smart signatures provide two modes for TEAL logic to operate as a LogicSig, to create a contract account that functions similar to an escrow or to delegate signature authority to another account. These two modes are discussed in detail in [Usage Modes](./modes/).
6
+
7
+ These smart signatures can be written in [TEAL](/docs/get-details/dapps/avm/teal/) or in Python using the [PyTeal library](/docs/get-details/dapps/writing-contracts/pyteal). If written in Python the library will return the automatically generated TEAL to be used by either the SDKs or the `goal` command-line tool.
8
+
9
+ To learn more about the TEAL language specification see the [TEAL Specification Reference](../../avm/teal/specification.md). To get a high-level understanding of how TEAL is processed see the [TEAL Overview guide](../../avm/teal/).
10
+
11
+ To compile and use a TEAL program as a smart signature with `goal`, see [CLI smart signatures](walkthrough).
12
+
13
+ To start working with smart signatures with the SDKs, visit the [Interact with smart signatures](../frontend/smartsigs/) section.
14
+
15
+
@@ -0,0 +1,34 @@
1
+ title: Modes of use
2
+
3
+ Smart signatures have two basic usage scenarios; as a [**contract account**](#contract-account) or as a [**delegated signature**](#delegated-approval). These modes are used to approve transactions in different ways which are described below. Both modes make use of Logic Signatures. While using smart signatures for contract accounts is possible, it is now possible to create a contract account using a [smart contract](../apps/index.md).
4
+
5
+ # Logic signatures
6
+ Logic Signatures, referenced as LogicSig, are structures that contain the following four parts.
7
+
8
+
9
+ <center>![Logic Signature Structure](../../../../imgs/modes-0.png)</center>
10
+ <center>*Logic Signature Structure*</center>
11
+
12
+ Before a LogicSig can be used with a transaction, it first must be a valid Logic Signature. The LogicSig is considered valid if one of the following scenarios is true.
13
+
14
+ > * Sig contains a valid Signature of the program from the account that is sending the Transaction
15
+ > * Msig contains a valid Multi-Signature of the program from the Multi-Signature account sending the Transaction
16
+ > * The hash of the program is equal to the Sender's Address
17
+
18
+
19
+ The first two cases are examples of delegation. An account owner can declare that on their behalf the signed logic can authorize transactions. These accounts can be either single or multi-signature accounts. Account delegation is described in further detail below.
20
+
21
+ The third case is an account wholly governed by the program. The program cannot be changed. Once Algos or assets have been sent to that account, Algos or assets only leave when there is a transaction that approves it. This usage case is considered a contract account which is described below.
22
+ # Contract account
23
+ For each unique compiled smart signature program there exists a single corresponding Algorand address, output by `goal clerk compile`. To use a TEAL program as a contract account, send Algos to its address to turn it into an account on Algorand with a balance. Outwardly, this account looks no different from any other Algorand account and anyone can send it Algos or Algorand Standard Assets to increase its balance. The account differs in how it authenticates spends _from_ it, in that the logic determines if the transaction is approved. To spend from a contract account, create a transaction that will evaluate to True against the TEAL logic, then add the compiled TEAL code as its logic signature. It is worth noting that anyone can create and submit the transaction that spends from a contract account as long as they have the compiled TEAL contract to add as a logic signature.
24
+
25
+ <center>![Contract Account](../../../../imgs/modes-1.png)</center>
26
+ <center>*TEAL Contract Account*</center>
27
+
28
+ # Delegated approval
29
+ Smart signatures can also be used to delegate signature authority, which means that a private key can sign a TEAL program and the resulting output can be used as a signature in transactions on behalf of the account associated with the private key. The owner of the delegated account can share this logic signature, allowing anyone to spend funds from his or her account according to the logic within the TEAL program.
30
+ For example, if Alice wants to set up a recurring payment with her utility company for up to 200 Algos every 50000 rounds, she creates a TEAL contract that encodes this logic, signs it with her private key, and gives it to the utility company. The utility company uses that logic signature in the transaction they submit every 50000 rounds to collect payment from Alice.
31
+ The logic signature can be produced from either a single or multi-signature account.
32
+
33
+ <center>![Delegated Signature](../../../../imgs/modes-2.png)</center>
34
+ <center>*TEAL Delegated Signature*</center>