#
tokens: 48266/50000 14/942 files (page 21/93)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 21 of 93. Use http://codebase.md/goplausible/algorand-mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── llms-install.md
├── llms.txt
├── package.json
├── packages
│   ├── client
│   │   ├── .env.example
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── env.ts
│   │   │   ├── index.ts
│   │   │   └── LocalWallet.ts
│   │   └── tsconfig.json
│   └── server
│       ├── .env.example
│       ├── API specs
│       │   ├── algod_api.json
│       │   ├── indexer_api.json
│       │   ├── mcp.json
│       │   ├── nfd_api.json
│       │   ├── ultrade_api.json
│       │   ├── vestige_api.json
│       │   └── vestige_free_api.json
│       ├── Dockerfile
│       ├── jest.config.js
│       ├── package.json
│       ├── README.md
│       ├── smithery.yaml
│       ├── src
│       │   ├── algorand-client.ts
│       │   ├── env.ts
│       │   ├── index.ts
│       │   ├── resources
│       │   │   ├── index.ts
│       │   │   ├── knowledge
│       │   │   │   ├── ARCs.txt
│       │   │   │   ├── developers-algokit-architecture-decisions.txt
│       │   │   │   ├── developers-algokit-cli.txt
│       │   │   │   ├── developers-algokit-utils-python.txt
│       │   │   │   ├── developers-algokit-utils-typescript.txt
│       │   │   │   ├── developers-clis.txt
│       │   │   │   ├── developers-details.txt
│       │   │   │   ├── developers-liquid-auth.txt
│       │   │   │   ├── developers-nodes.txt
│       │   │   │   ├── developers-puya.txt
│       │   │   │   ├── developers-python.txt
│       │   │   │   ├── developers-sdks-js.txt
│       │   │   │   ├── developers-sdks-python.txt
│       │   │   │   ├── developers-tealscript.txt
│       │   │   │   ├── developers.txt
│       │   │   │   ├── index.ts
│       │   │   │   ├── taxonomy
│       │   │   │   │   ├── algokit-cli:README.md
│       │   │   │   │   ├── algokit:cli:algokit.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2022-11-22_beaker-testing-strategy.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-01-11_beaker_productionisation_review.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-01-11_brew_install.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-01-12_smart-contract-deployment.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-06-06_frontend-templates.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-07-19_advanced_generate_command.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-01-13_native_binaries.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-01-23_init-wizard-v2.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-01-31_binary_distribution.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-03-06_local_dev_ui_packaging.md
│       │   │   │   │   ├── algokit:cli:articles:output_stability.md
│       │   │   │   │   ├── algokit:cli:cli:index.md
│       │   │   │   │   ├── algokit:cli:features:compile.md
│       │   │   │   │   ├── algokit:cli:features:completions.md
│       │   │   │   │   ├── algokit:cli:features:config.md
│       │   │   │   │   ├── algokit:cli:features:dispenser.md
│       │   │   │   │   ├── algokit:cli:features:doctor.md
│       │   │   │   │   ├── algokit:cli:features:explore.md
│       │   │   │   │   ├── algokit:cli:features:generate.md
│       │   │   │   │   ├── algokit:cli:features:goal.md
│       │   │   │   │   ├── algokit:cli:features:init.md
│       │   │   │   │   ├── algokit:cli:features:localnet.md
│       │   │   │   │   ├── algokit:cli:features:project:bootstrap.md
│       │   │   │   │   ├── algokit:cli:features:project:deploy.md
│       │   │   │   │   ├── algokit:cli:features:project:link.md
│       │   │   │   │   ├── algokit:cli:features:project:list.md
│       │   │   │   │   ├── algokit:cli:features:project:run.md
│       │   │   │   │   ├── algokit:cli:features:project.md
│       │   │   │   │   ├── algokit:cli:features:tasks:analyze.md
│       │   │   │   │   ├── algokit:cli:features:tasks:ipfs.md
│       │   │   │   │   ├── algokit:cli:features:tasks:mint.md
│       │   │   │   │   ├── algokit:cli:features:tasks:nfd.md
│       │   │   │   │   ├── algokit:cli:features:tasks:opt.md
│       │   │   │   │   ├── algokit:cli:features:tasks:send.md
│       │   │   │   │   ├── algokit:cli:features:tasks:sign.md
│       │   │   │   │   ├── algokit:cli:features:tasks:transfer.md
│       │   │   │   │   ├── algokit:cli:features:tasks:vanity_address.md
│       │   │   │   │   ├── algokit:cli:features:tasks:wallet.md
│       │   │   │   │   ├── algokit:cli:features:tasks.md
│       │   │   │   │   ├── algokit:cli:tutorials:algokit-template.md
│       │   │   │   │   ├── algokit:cli:tutorials:intro.md
│       │   │   │   │   ├── algokit:cli:tutorials:smart-contracts.md
│       │   │   │   │   ├── algokit:docs:testnet_api.md
│       │   │   │   │   ├── algokit:lora:README.md
│       │   │   │   │   ├── algokit:README.md
│       │   │   │   │   ├── algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:account.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:app-client.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:app-deploy.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:client.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:debugger.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:dispenser-client.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:transfer.md
│       │   │   │   │   ├── algokit:utils:python:markdown:index.md
│       │   │   │   │   ├── algokit:utils:python:README.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:account.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:app-client.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:app-deploy.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:client.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:debugger.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:dispenser-client.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:transfer.md
│       │   │   │   │   ├── algokit:utils:python:source:index.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:account.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:algorand-client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:amount.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:app-client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:app-deploy.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:app.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:asset.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:debugging.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:dispenser-client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:event-emitter.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:indexer.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:testing.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:transaction-composer.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:transaction.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:transfer.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:typed-app-clients.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:testing.TestLogger.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:testing.TransactionLogger.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_account_manager.AccountManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_account.MultisigAccount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_account.SigningAccount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algorand_client.AlgorandClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_amount.AlgoAmount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_arc56.Arc56Method.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_client.AppClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_client.ApplicationClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_deployer.AppDeployer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_factory.AppFactory.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_manager.AppManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_asset_manager.AssetManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_async_event_emitter.AsyncEventEmitter.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_client_manager.ClientManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_composer.TransactionComposer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_config.UpdatableConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_dispenser_client.TestNetDispenserApiClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_kmd_account_manager.KmdAccountManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_logic_error.LogicError.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_app.OnSchemaBreak.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_app.OnUpdate.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_indexer.AccountStatus.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_indexer.ApplicationOnComplete.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_indexer.SignatureType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_lifecycle_events.EventType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_account_manager.EnsureFundedResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_account.AccountConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_account.TransactionSignerAccount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_algorand_client_interface.AlgorandClientInterface.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Arc56Contract.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Event.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.ProgramSourceInfo.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageKey.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageMap.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StructField.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallABIArgs.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallCoreParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCallInterfaceParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCoreParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppSourceMaps.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.FundAppAccountParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppById.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppByIdBase.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.SourceMapExport.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppLookup.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppMetadata.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.AppInformation.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxReference.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValueRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValuesRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSources.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.CallConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.DeclaredSchemaValueSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.Hint.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.ReservedSchemaValueSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.Schema.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.SchemaSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.StateSchemaSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.Struct.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppCallParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppCallTransactionResultOfType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppCompilationResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppDeploymentParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppDeployMetadata.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppLookup.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppMetadata.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppReference.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppState.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppStorageSchema.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxName.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxReference.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxValueRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxValuesRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.CompiledTeal.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.CoreAppCallArgs.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.CreateAppParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.RawAppCallArgs.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.TealTemplateParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.UpdateAppParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset_manager.AssetInformation.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset_manager.BulkAssetOptInOutResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.AssetBulkOptInOutParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptInParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptOutParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.CreateAssetParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_client_manager.AlgoSdkClients.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppFactory.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_composer.BuiltTransactions.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_config.Config.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_debugging.AVMTracesEventData.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourceDebugEventData.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourcesDebugEventData.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserFundResponse.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserLimitResponse.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.TestNetDispenserApiClientParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_indexer.LookupAssetHoldingsOptions.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_logic_error.LogicErrorDetails.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoClientConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_network_client.NetworkDetails.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgoKitLogCaptureFixture.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixture.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixtureConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.GetTestAccountParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.LogSnapshotConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.AtomicTransactionComposerToSend.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResults.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendAtomicTransactionComposerResults.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResults.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionGroupToSend.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionToSign.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoRekeyParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoTransferParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedReturnType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.TransferAssetParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:index.indexer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:index.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:testing.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_account_manager_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_account_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_account.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algo_http_client_with_retry.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_asset_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_interface.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_creator.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_sender.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_transfer_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_amount_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_amount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_arc56.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_deployer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_factory_and_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_factory.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_asset_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_asset.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_async_event_emitter_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_async_event_emitter.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_client_manager_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_client_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_composer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_config.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_debugging.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_dispenser_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_dispenser_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_expand.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_indexer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_kmd_account_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_lifecycle_events.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_logging.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_logic_error.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_network_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_testing.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_transaction.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_transfer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:README.md
│       │   │   │   │   ├── algokit:utils:typescript:README.md
│       │   │   │   │   ├── algokit:utils:typescript:v7-migration.md
│       │   │   │   │   ├── algokit:utils:typescript:v8-migration.md
│       │   │   │   │   ├── ARCs:ARC-template.md
│       │   │   │   │   ├── ARCs:assets:arc-0012:README.md
│       │   │   │   │   ├── ARCs:assets:arc-0034:TemplateForm.md
│       │   │   │   │   ├── ARCs:assets:arc-0062:README.md
│       │   │   │   │   ├── ARCs:pages:nfts.md
│       │   │   │   │   ├── ARCs:pages:wallets.md
│       │   │   │   │   ├── ARCs:README.md
│       │   │   │   │   ├── ARCs:specs:arc-0000.md
│       │   │   │   │   ├── ARCs:specs:arc-0001.md
│       │   │   │   │   ├── ARCs:specs:arc-0002.md
│       │   │   │   │   ├── ARCs:specs:arc-0003.md
│       │   │   │   │   ├── ARCs:specs:arc-0004.md
│       │   │   │   │   ├── ARCs:specs:arc-0005.md
│       │   │   │   │   ├── ARCs:specs:arc-0006.md
│       │   │   │   │   ├── ARCs:specs:arc-0007.md
│       │   │   │   │   ├── ARCs:specs:arc-0008.md
│       │   │   │   │   ├── ARCs:specs:arc-0009.md
│       │   │   │   │   ├── ARCs:specs:arc-0010.md
│       │   │   │   │   ├── ARCs:specs:arc-0011.md
│       │   │   │   │   ├── ARCs:specs:arc-0012.md
│       │   │   │   │   ├── ARCs:specs:arc-0015.md
│       │   │   │   │   ├── ARCs:specs:arc-0016.md
│       │   │   │   │   ├── ARCs:specs:arc-0018.md
│       │   │   │   │   ├── ARCs:specs:arc-0019.md
│       │   │   │   │   ├── ARCs:specs:arc-0020.md
│       │   │   │   │   ├── ARCs:specs:arc-0021.md
│       │   │   │   │   ├── ARCs:specs:arc-0022.md
│       │   │   │   │   ├── ARCs:specs:arc-0023.md
│       │   │   │   │   ├── ARCs:specs:arc-0025.md
│       │   │   │   │   ├── ARCs:specs:arc-0026.md
│       │   │   │   │   ├── ARCs:specs:arc-0028.md
│       │   │   │   │   ├── ARCs:specs:arc-0032.md
│       │   │   │   │   ├── ARCs:specs:arc-0033.md
│       │   │   │   │   ├── ARCs:specs:arc-0034.md
│       │   │   │   │   ├── ARCs:specs:arc-0035.md
│       │   │   │   │   ├── ARCs:specs:arc-0036.md
│       │   │   │   │   ├── ARCs:specs:arc-0042.md
│       │   │   │   │   ├── ARCs:specs:arc-0047.md
│       │   │   │   │   ├── ARCs:specs:arc-0048.md
│       │   │   │   │   ├── ARCs:specs:arc-0049.md
│       │   │   │   │   ├── ARCs:specs:arc-0054.md
│       │   │   │   │   ├── ARCs:specs:arc-0055.md
│       │   │   │   │   ├── ARCs:specs:arc-0056.md
│       │   │   │   │   ├── ARCs:specs:arc-0059.md
│       │   │   │   │   ├── ARCs:specs:arc-0062.md
│       │   │   │   │   ├── ARCs:specs:arc-0065.md
│       │   │   │   │   ├── ARCs:specs:arc-0069.md
│       │   │   │   │   ├── ARCs:specs:arc-0072.md
│       │   │   │   │   ├── ARCs:specs:arc-0073.md
│       │   │   │   │   ├── ARCs:specs:arc-0074.md
│       │   │   │   │   ├── ARCs:specs:arc-0076.md
│       │   │   │   │   ├── ARCs:specs:arc-0078.md
│       │   │   │   │   ├── ARCs:specs:arc-0079.md
│       │   │   │   │   ├── ARCs:specs:arc-0200.md
│       │   │   │   │   ├── clis_index.md
│       │   │   │   │   ├── developer:docs:about.md
│       │   │   │   │   ├── developer:docs:clis:algokey:algokey.md
│       │   │   │   │   ├── developer:docs:clis:algokey:generate.md
│       │   │   │   │   ├── developer:docs:clis:algokey:import.md
│       │   │   │   │   ├── developer:docs:clis:algokey:multisig:append-auth-addr.md
│       │   │   │   │   ├── developer:docs:clis:algokey:multisig:multisig.md
│       │   │   │   │   ├── developer:docs:clis:algokey:part:info.md
│       │   │   │   │   ├── developer:docs:clis:algokey:part:part.md
│       │   │   │   │   ├── developer:docs:clis:algokey:part:reparent.md
│       │   │   │   │   ├── developer:docs:clis:algokey:sign.md
│       │   │   │   │   ├── developer:docs:clis:conduit:conduit.md
│       │   │   │   │   ├── developer:docs:clis:conduit:init.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:exporters.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:importers.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:list.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:processors.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:diagcfg.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:disable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:enable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:metric.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:status.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:disable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:enable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:endpoint.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:name.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:status.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:telemetry.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:restart.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:start.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:status.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:stop.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:wait.md
│       │   │   │   │   ├── developer:docs:clis:goal:protocols.md
│       │   │   │   │   ├── developer:docs:clis:goal:report.md
│       │   │   │   │   ├── developer:docs:clis:goal:version.md
│       │   │   │   │   ├── developer:docs:clis:goal:wallet:list.md
│       │   │   │   │   ├── developer:docs:clis:goal:wallet:new.md
│       │   │   │   │   ├── developer:docs:clis:goal:wallet:wallet.md
│       │   │   │   │   ├── developer:docs:clis:indexer:api-config.md
│       │   │   │   │   ├── developer:docs:clis:indexer:daemon.md
│       │   │   │   │   ├── developer:docs:clis:indexer:indexer.md
│       │   │   │   │   ├── developer:docs:clis:indexer:util:util.md
│       │   │   │   │   ├── developer:docs:clis:indexer:util:validator.md
│       │   │   │   │   ├── developer:docs:clis:kmd.md
│       │   │   │   │   ├── developer:docs:clis:tealdbg:debug.md
│       │   │   │   │   ├── developer:docs:clis:tealdbg:remote.md
│       │   │   │   │   ├── developer:docs:clis:tealdbg:tealdbg.md
│       │   │   │   │   ├── developer:docs:details:accounts:create.md
│       │   │   │   │   ├── developer:docs:details:accounts:index.md
│       │   │   │   │   ├── developer:docs:details:accounts:rekey.md
│       │   │   │   │   ├── developer:docs:details:algorand_consensus.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:betanet.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:index.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:mainnet.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:testnet.md
│       │   │   │   │   ├── developer:docs:details:asa.md
│       │   │   │   │   ├── developer:docs:details:atc.md
│       │   │   │   │   ├── developer:docs:details:atomic_transfers.md
│       │   │   │   │   ├── developer:docs:details:conduit.md
│       │   │   │   │   ├── developer:docs:details:crust.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:guidelines.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:jsonspec.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v1.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v10.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v2.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v3.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v4.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v5.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v6.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v7.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v8.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v9.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:specification.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:ABI:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:create.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:innertx.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:state.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:txs.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:debugging.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:frontend:apps.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:frontend:smartsigs.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:guidelines.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:smartsigs:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:smartsigs:modes.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:smartsigs:walkthrough.md
│       │   │   │   │   ├── developer:docs:details:dapps:writing-contracts:beaker.md
│       │   │   │   │   ├── developer:docs:details:dapps:writing-contracts:pyteal.md
│       │   │   │   │   ├── developer:docs:details:dapps:writing-contracts:python.md
│       │   │   │   │   ├── developer:docs:details:encoding.md
│       │   │   │   │   ├── developer:docs:details:ethereum_to_algorand.md
│       │   │   │   │   ├── developer:docs:details:index.md
│       │   │   │   │   ├── developer:docs:details:indexer.md
│       │   │   │   │   ├── developer:docs:details:parameter_tables.md
│       │   │   │   │   ├── developer:docs:details:stateproofs:index.md
│       │   │   │   │   ├── developer:docs:details:stateproofs:light_client.md
│       │   │   │   │   ├── developer:docs:details:technical_faq.md
│       │   │   │   │   ├── developer:docs:details:transactions:index.md
│       │   │   │   │   ├── developer:docs:details:transactions:offline_transactions.md
│       │   │   │   │   ├── developer:docs:details:transactions:payment_prompts.md
│       │   │   │   │   ├── developer:docs:details:transactions:signatures.md
│       │   │   │   │   ├── developer:docs:details:transactions:transactions.md
│       │   │   │   │   ├── developer:docs:details:useful_resources.md
│       │   │   │   │   ├── developer:docs:get-started:algokit.md
│       │   │   │   │   ├── developer:docs:get-started:basics:what_is_blockchain.md
│       │   │   │   │   ├── developer:docs:get-started:basics:whats_a_dapp.md
│       │   │   │   │   ├── developer:docs:get-started:basics:where_to_start.md
│       │   │   │   │   ├── developer:docs:get-started:basics:why_algorand.md
│       │   │   │   │   ├── developer:docs:get-started:tokenization:ft.md
│       │   │   │   │   ├── developer:docs:get-started:tokenization:nft.md
│       │   │   │   │   ├── developer:docs:index.md
│       │   │   │   │   ├── developer:docs:rest-apis:algod.md
│       │   │   │   │   ├── developer:docs:rest-apis:indexer.md
│       │   │   │   │   ├── developer:docs:rest-apis:kmd.md
│       │   │   │   │   ├── developer:docs:rest-apis:restendpoints.md
│       │   │   │   │   ├── developer:docs:run-a-node:operations:catchup.md
│       │   │   │   │   ├── developer:docs:run-a-node:operations:switch_networks.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:generate_keys.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:index.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:offline.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:online.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:renew.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:artifacts.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:config.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:relay.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:telemetry-config.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:indexer.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:install.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:node-troubleshooting.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:types.md
│       │   │   │   │   ├── developer:docs:sdks:go:index.md
│       │   │   │   │   ├── developer:docs:sdks:index.md
│       │   │   │   │   ├── developer:docs:sdks:java:index.md
│       │   │   │   │   ├── developer:docs:sdks:javascript:index.md
│       │   │   │   │   ├── developer:docs:sdks:python:index.md
│       │   │   │   │   ├── developer:python:code:example:accounts.md
│       │   │   │   │   ├── developer:python:code:example:arc4_types.md
│       │   │   │   │   ├── developer:python:code:example:assets.md
│       │   │   │   │   ├── developer:python:code:example:box_storage.md
│       │   │   │   │   ├── developer:python:code:example:control_flow.md
│       │   │   │   │   ├── developer:python:code:example:crypto:merkle_tree.md
│       │   │   │   │   ├── developer:python:code:example:defi:amm.md
│       │   │   │   │   ├── developer:python:code:example:defi:auction.md
│       │   │   │   │   ├── developer:python:code:example:defi:htlc_logicsig.md
│       │   │   │   │   ├── developer:python:code:example:defi:marketplace.md
│       │   │   │   │   ├── developer:python:code:example:events:arc28_events.md
│       │   │   │   │   ├── developer:python:code:example:global_storage.md
│       │   │   │   │   ├── developer:python:code:example:governance:simple_voting.md
│       │   │   │   │   ├── developer:python:code:example:hello_world.md
│       │   │   │   │   ├── developer:python:code:example:inner_transactions.md
│       │   │   │   │   ├── developer:python:code:example:local_storage.md
│       │   │   │   │   ├── developer:python:code:example:nft:proof_of_attendance.md
│       │   │   │   │   ├── developer:python:code:example:privacy:zk_whitelist.md
│       │   │   │   │   ├── developer:python:code:example:scratch_storage.md
│       │   │   │   │   ├── developer:python:code:example:self_payment.md
│       │   │   │   │   ├── developer:python:code:example:struct_in_box.md
│       │   │   │   │   ├── developer:python:code:example:subsidize_app_call.md
│       │   │   │   │   ├── developer:python:code:example:transactions.md
│       │   │   │   │   ├── developer:python:code:example:utility:calculator.md
│       │   │   │   │   ├── devportal-code-examples:projects:python-contract-examples:README.md
│       │   │   │   │   ├── devportal-code-examples:README.md
│       │   │   │   │   ├── docs:.walletconnect:index.md
│       │   │   │   │   ├── docs:.walletconnect:walletconnect-schema.md
│       │   │   │   │   ├── docs:README.md
│       │   │   │   │   ├── docs:scripts:example_tracker:example_list.md
│       │   │   │   │   ├── docs:scripts:README.md
│       │   │   │   │   ├── index.md
│       │   │   │   │   ├── liquid_auth_index.md
│       │   │   │   │   ├── liquid-auth:ARCHITECTURE.md
│       │   │   │   │   ├── liquid-auth:decisions:1-Service-Authentication.md
│       │   │   │   │   ├── liquid-auth:decisions:2-Bidirectional-Communication.md
│       │   │   │   │   ├── liquid-auth:decisions:3-Peer-to-Peer-Signaling.md
│       │   │   │   │   ├── liquid-auth:decisions:4-Fido-Extension.md
│       │   │   │   │   ├── liquid-auth:decisions:README.md
│       │   │   │   │   ├── liquid-auth:docs:architecture.md
│       │   │   │   │   ├── liquid-auth:docs:clients:android:provider-service:authenticate.md
│       │   │   │   │   ├── liquid-auth:docs:clients:android:provider-service:register.md
│       │   │   │   │   ├── liquid-auth:docs:clients:browser:authentication.md
│       │   │   │   │   ├── liquid-auth:docs:clients:browser:example.md
│       │   │   │   │   ├── liquid-auth:docs:introduction.md
│       │   │   │   │   ├── liquid-auth:docs:README.md
│       │   │   │   │   ├── liquid-auth:docs:server:environment-variables.md
│       │   │   │   │   ├── liquid-auth:docs:server:integrations.md
│       │   │   │   │   ├── liquid-auth:docs:server:introduction.md
│       │   │   │   │   ├── liquid-auth:docs:server:running-locally.md
│       │   │   │   │   ├── liquid-auth:README.md
│       │   │   │   │   ├── liquid-auth:SEQUENCE.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.request.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.response.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:attestation:attestation.controller.post.request.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:auth:auth.controller.get.user.md
│       │   │   │   │   ├── liquid-auth:sites:express-dapp:README.md
│       │   │   │   │   ├── liquid-auth:VISION.md
│       │   │   │   │   ├── puya_index.md
│       │   │   │   │   ├── puya:docs:algopy_testing:index.md
│       │   │   │   │   ├── puya:docs:api-algopy.arc4.md
│       │   │   │   │   ├── puya:docs:api-algopy.gtxn.md
│       │   │   │   │   ├── puya:docs:api-algopy.itxn.md
│       │   │   │   │   ├── puya:docs:api-algopy.md
│       │   │   │   │   ├── puya:docs:api-algopy.op.md
│       │   │   │   │   ├── puya:docs:api.md
│       │   │   │   │   ├── puya:docs:compiler.md
│       │   │   │   │   ├── puya:docs:index.md
│       │   │   │   │   ├── puya:docs:language-guide.md
│       │   │   │   │   ├── puya:docs:lg-arc28.md
│       │   │   │   │   ├── puya:docs:lg-arc4.md
│       │   │   │   │   ├── puya:docs:lg-builtins.md
│       │   │   │   │   ├── puya:docs:lg-calling-apps.md
│       │   │   │   │   ├── puya:docs:lg-compile.md
│       │   │   │   │   ├── puya:docs:lg-control.md
│       │   │   │   │   ├── puya:docs:lg-errors.md
│       │   │   │   │   ├── puya:docs:lg-logs.md
│       │   │   │   │   ├── puya:docs:lg-modules.md
│       │   │   │   │   ├── puya:docs:lg-opcode-budget.md
│       │   │   │   │   ├── puya:docs:lg-ops.md
│       │   │   │   │   ├── puya:docs:lg-storage.md
│       │   │   │   │   ├── puya:docs:lg-structure.md
│       │   │   │   │   ├── puya:docs:lg-transactions.md
│       │   │   │   │   ├── puya:docs:lg-types.md
│       │   │   │   │   ├── puya:docs:lg-unsupported-python-features.md
│       │   │   │   │   ├── puya:docs:principles.md
│       │   │   │   │   ├── puya:examples:auction:README.md
│       │   │   │   │   ├── puya:python:testing:docs:algopy.md
│       │   │   │   │   ├── puya:python:testing:docs:api.md
│       │   │   │   │   ├── puya:python:testing:docs:coverage.md
│       │   │   │   │   ├── puya:python:testing:docs:examples.md
│       │   │   │   │   ├── puya:python:testing:docs:faq.md
│       │   │   │   │   ├── puya:python:testing:docs:index.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:arc4-types.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:avm-types.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:concepts.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:contract-testing.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:index.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:opcodes.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:signature-testing.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:state-management.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:subroutines.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:transactions.md
│       │   │   │   │   ├── puya:python:testing:examples:README.md
│       │   │   │   │   ├── puya:python:testing:README.md
│       │   │   │   │   ├── puya:README.md
│       │   │   │   │   ├── puya:src:puya:ARCHITECTURE.md
│       │   │   │   │   ├── puya:src:puyapy:_typeshed:README.md
│       │   │   │   │   ├── puya:src:puyapy:_vendor:mypy:typeshed:stdlib:_typeshed:README.md
│       │   │   │   │   ├── puya:src:puyapy:awst_build:README.md
│       │   │   │   │   ├── puya:stubs:README.md
│       │   │   │   │   ├── puya:tests:test_expected_output:README.md
│       │   │   │   │   ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-bytes-and-strings.md
│       │   │   │   │   ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-integer-types.md
│       │   │   │   │   ├── puya:typescript:docs:README.md
│       │   │   │   │   ├── puya:typescript:packages:algo-ts:readme.md
│       │   │   │   │   ├── puya:typescript:README.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIAddressType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIArrayDynamicType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIArrayStaticType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIBoolType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIByteType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIContract.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIInterface.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIMethod.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIStringType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABITupleType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIUfixedType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIUintType.md
│       │   │   │   │   ├── SDKs:javascript:classes:Algodv2.md
│       │   │   │   │   ├── SDKs:javascript:classes:AtomicTransactionComposer.md
│       │   │   │   │   ├── SDKs:javascript:classes:DryrunResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:Indexer.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Account.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountParticipation.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountStateDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Application.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLocalState.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLocalStatesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLogData.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLogsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Asset.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetBalancesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetHoldingsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Block.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BlockRewards.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BlockUpgradeState.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BlockUpgradeVote.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Box.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BoxDescriptor.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BoxesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ErrorResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.EvalDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.EvalDeltaKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.HashFactory.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.HealthCheck.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.IndexerStateProofMessage.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.MerkleArrayProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.MiniAssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ParticipationUpdates.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofFields.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofParticipant.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofReveal.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofSignature.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofSigSlot.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofTracking.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofVerifier.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateSchema.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TealKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TealValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Transaction.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionApplication.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionAssetConfig.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionAssetFreeze.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionAssetTransfer.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionKeyreg.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionPayment.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignature.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignatureLogicsig.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisig.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisigSubsignature.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionStateProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:Kmd.md
│       │   │   │   │   ├── SDKs:javascript:classes:LogicSig.md
│       │   │   │   │   ├── SDKs:javascript:classes:LogicSigAccount.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Account.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountApplicationResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountAssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountAssetResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountAssetsInformationResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountParticipation.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountStateDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AppCallLogs.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Application.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationInitialStates.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationKVStorage.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationLocalReference.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationLocalState.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationStateOperation.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Asset.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AssetHoldingReference.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AssetParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AvmKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AvmValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockHashResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockLogsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockTxidsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Box.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BoxDescriptor.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BoxesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BoxReference.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BuildVersion.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.CompileResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DisassembleResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunRequest.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunSource.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunState.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunTxnResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ErrorResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.EvalDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.EvalDeltaKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.GetBlockTimeStampOffsetResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.GetSyncRoundResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.KvDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.LedgerStateDeltaForTransactionGroup.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.LightBlockHeaderProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.NodeStatusResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.PendingTransactionResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.PendingTransactionsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.PostTransactionsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ScratchChange.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateInitialStates.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateRequest.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateRequestTransactionGroup.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateTraceConfig.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateTransactionGroupResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateTransactionResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateUnnamedResourcesAccessed.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulationEvalOverrides.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulationTransactionExecTrace.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.StateProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.StateProofMessage.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SupplyResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TealKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TealValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TransactionGroupLedgerStateDeltasForRoundResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TransactionParametersResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TransactionProofResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Version.md
│       │   │   │   │   ├── SDKs:javascript:classes:SourceMap.md
│       │   │   │   │   ├── SDKs:javascript:classes:Transaction.md
│       │   │   │   │   ├── SDKs:javascript:enums:ABIReferenceType.md
│       │   │   │   │   ├── SDKs:javascript:enums:ABITransactionType.md
│       │   │   │   │   ├── SDKs:javascript:enums:AtomicTransactionComposerStatus.md
│       │   │   │   │   ├── SDKs:javascript:enums:IntDecoding.md
│       │   │   │   │   ├── SDKs:javascript:enums:OnApplicationComplete.md
│       │   │   │   │   ├── SDKs:javascript:enums:TransactionType.md
│       │   │   │   │   ├── SDKs:javascript:examples:README.md
│       │   │   │   │   ├── SDKs:javascript:FAQ.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIContractNetworkInfo.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIContractNetworks.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIContractParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIInterfaceParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIMethodArgParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIMethodParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIMethodReturnParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIResult.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:Account.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:Address.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:AlgodTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BaseHTTPClient.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BaseHTTPClientError.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BaseHTTPClientResponse.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BoxReference.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:CustomTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedAssetParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedBoxReference.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedGlobalStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedLocalStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedLogicSig.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedLogicSigAccount.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedMultisig.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedSignedTransaction.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedSubsig.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedTransaction.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:IndexerTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:KMDTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:MultisigMetadata.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:SignedTransaction.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:SuggestedParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:TransactionParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:TransactionWithSigner.md
│       │   │   │   │   ├── SDKs:javascript:modules:indexerModels.md
│       │   │   │   │   ├── SDKs:javascript:modules:modelsv2.md
│       │   │   │   │   ├── SDKs:javascript:modules.md
│       │   │   │   │   ├── SDKs:javascript:README.md
│       │   │   │   │   ├── SDKs:python:algosdk:v2client:harness:README.md
│       │   │   │   │   ├── SDKs:python:examples:README.md
│       │   │   │   │   ├── SDKs:python:README.md
│       │   │   │   │   ├── tealscript:examples_amm_README.md
│       │   │   │   │   ├── tealscript:examples_auction_README.md
│       │   │   │   │   ├── tealscript:examples_big_box_README.md
│       │   │   │   │   ├── tealscript:examples_itxns_README.md
│       │   │   │   │   ├── tealscript:examples_lsig_with_app_README.md
│       │   │   │   │   ├── tealscript:examples_reti_README.md
│       │   │   │   │   ├── tealscript:FEATURES.md
│       │   │   │   │   ├── tealscript:guides_atomic_txn.md
│       │   │   │   │   ├── tealscript:guides_features.md
│       │   │   │   │   ├── tealscript:guides_getting_started.md
│       │   │   │   │   ├── tealscript:guides_inner_transactions.md
│       │   │   │   │   ├── tealscript:guides_lifecycle.md
│       │   │   │   │   ├── tealscript:guides_math.md
│       │   │   │   │   ├── tealscript:guides_methods.md
│       │   │   │   │   ├── tealscript:guides_multiple_contracts.md
│       │   │   │   │   ├── tealscript:guides_pyteal.md
│       │   │   │   │   ├── tealscript:guides_storage.md
│       │   │   │   │   ├── tealscript:guides_Supported Types_arrays.md
│       │   │   │   │   ├── tealscript:guides_Supported Types_numbers.md
│       │   │   │   │   ├── TEALScript:README.md
│       │   │   │   │   ├── tealscript:tests_test_package_README.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0001-intro.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0002-init.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0003-contract.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0004-artifacts.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0005-hello.md
│       │   │   │   │   └── tealscript:tutorials_Hello World_0006-test.md
│       │   │   │   └── taxonomy-categories
│       │   │   │       ├── algokit-utils.json
│       │   │   │       ├── algokit.json
│       │   │   │       ├── arcs.json
│       │   │   │       ├── clis.json
│       │   │   │       ├── details.json
│       │   │   │       ├── developers.json
│       │   │   │       ├── liquid-auth.json
│       │   │   │       ├── nodes.json
│       │   │   │       ├── puya.json
│       │   │   │       ├── python.json
│       │   │   │       ├── sdks.json
│       │   │   │       └── tealscript.json
│       │   │   └── wallet
│       │   │       └── index.ts
│       │   ├── tools
│       │   │   ├── accountManager.ts
│       │   │   ├── algodManager.ts
│       │   │   ├── apiManager
│       │   │   │   ├── algod
│       │   │   │   │   ├── account.ts
│       │   │   │   │   ├── application.ts
│       │   │   │   │   ├── asset.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   └── transaction.ts
│       │   │   │   ├── example
│       │   │   │   │   ├── get-balance.ts
│       │   │   │   │   └── index.ts
│       │   │   │   ├── index.ts
│       │   │   │   ├── indexer
│       │   │   │   │   ├── account.ts
│       │   │   │   │   ├── application.ts
│       │   │   │   │   ├── asset.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   └── transaction.ts
│       │   │   │   ├── nfd
│       │   │   │   │   └── index.ts
│       │   │   │   ├── tinyman
│       │   │   │   │   ├── analytics.ts
│       │   │   │   │   ├── bootstrap.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   ├── liquidity.ts
│       │   │   │   │   ├── opt_in.ts
│       │   │   │   │   ├── pool.ts
│       │   │   │   │   ├── remove_liquidity.ts
│       │   │   │   │   └── swap.ts
│       │   │   │   ├── ultrade
│       │   │   │   │   ├── index.ts
│       │   │   │   │   ├── market.ts
│       │   │   │   │   ├── system.ts
│       │   │   │   │   └── wallet.ts
│       │   │   │   └── vestige
│       │   │   │       ├── assets.ts
│       │   │   │       ├── balances.ts
│       │   │   │       ├── index.ts
│       │   │   │       ├── networks.ts
│       │   │   │       ├── notes.ts
│       │   │   │       ├── pools.ts
│       │   │   │       ├── protocols.ts
│       │   │   │       ├── swaps.ts
│       │   │   │       └── vaults.ts
│       │   │   ├── arc26Manager.ts
│       │   │   ├── index.ts
│       │   │   ├── knowledgeManager.ts
│       │   │   ├── transactionManager
│       │   │   │   ├── accountTransactions.ts
│       │   │   │   ├── appTransactions
│       │   │   │   │   ├── callTxn.ts
│       │   │   │   │   ├── clearTxn.ts
│       │   │   │   │   ├── closeOutTxn.ts
│       │   │   │   │   ├── createTxn.ts
│       │   │   │   │   ├── deleteTxn.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   ├── optInTxn.ts
│       │   │   │   │   ├── test
│       │   │   │   │   │   ├── counter_approval.teal
│       │   │   │   │   │   ├── counter_clear.teal
│       │   │   │   │   │   ├── storage_test_approval_v2.teal
│       │   │   │   │   │   ├── storage_test_approval.teal
│       │   │   │   │   │   └── storage_test_clear.teal
│       │   │   │   │   ├── types.ts
│       │   │   │   │   └── updateTxn.ts
│       │   │   │   ├── assetTransactions.ts
│       │   │   │   ├── generalTransaction.ts
│       │   │   │   └── index.ts
│       │   │   └── utilityManager.ts
│       │   ├── types.ts
│       │   └── utils
│       │       └── responseProcessor.ts
│       ├── tests
│       │   ├── resources
│       │   │   ├── algod
│       │   │   │   ├── account.test.ts
│       │   │   │   ├── application.test.ts
│       │   │   │   ├── asset.test.ts
│       │   │   │   └── transaction.test.ts
│       │   │   └── indexer
│       │   │       ├── account.test.ts
│       │   │       ├── application.test.ts
│       │   │       ├── asset.test.ts
│       │   │       └── transaction.test.ts
│       │   └── tools
│       │       ├── accountManager.test.ts
│       │       ├── algodManager.test.ts
│       │       ├── apiManager
│       │       │   └── example
│       │       │       └── get-balance.test.ts
│       │       ├── transactionManager
│       │       │   ├── accountTransactionManager.test.ts
│       │       │   ├── appTransactionManager.test.ts
│       │       │   ├── assetTransactionManager.test.ts
│       │       │   ├── generalTransactionManager.test.ts
│       │       │   └── transactionManager.test.ts
│       │       └── utilityManager.test.ts
│       └── tsconfig.json
├── README.md
├── rename_files.sh
└── tsconfig.json
```

# Files

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:python:code:example:subsidize_app_call.md:
--------------------------------------------------------------------------------

```markdown
  1 | # Subsidizing Application Calls in Algorand
  2 | 
  3 | This guide demonstrates how to implement a logic signature (LogicSig) that subsidizes application calls in Algorand smart contracts. This allows a contract account to pay the transaction fees for application calls to a specific application.
  4 | 
  5 | ## Implementation
  6 | 
  7 | ```python
  8 | from algopy import (
  9 |     Application,
 10 |     Bytes,
 11 |     Global,
 12 |     TemplateVar,
 13 |     TransactionType,
 14 |     Txn,
 15 |     UInt64,
 16 |     logicsig,
 17 | )
 18 | from algopy.op import GTxn
 19 | 
 20 | @logicsig
 21 | def subsidize_app_call() -> bool:
 22 |     """
 23 |     This Contract Account will subsidize the fees for any AppCall 
 24 |     transaction directed to a known application.
 25 |     """
 26 |     return (
 27 |         # Payment Transaction Validation
 28 |         Txn.type_enum == TransactionType.Payment
 29 |         and Txn.receiver == Txn.sender
 30 |         and Txn.amount == 0
 31 |         and Txn.rekey_to == Global.zero_address
 32 |         and Txn.close_remainder_to == Global.zero_address
 33 |         and Txn.fee == 2 * Global.min_txn_fee
 34 |         and Txn.last_valid <= TemplateVar[UInt64]("EXPIRATION_ROUND")
 35 |         and Global.genesis_hash == TemplateVar[Bytes]("TARGET_NETWORK_GENESIS")
 36 |         # Application Call Validation
 37 |         and GTxn.type_enum(Txn.group_index - 1) == TransactionType.ApplicationCall
 38 |         and GTxn.application_id(Txn.group_index - 1) == TemplateVar[Application]("KNOWN_APP")
 39 |         and GTxn.fee(Txn.group_index - 1) == 0
 40 |     )
 41 | ```
 42 | 
 43 | ## Key Components
 44 | 
 45 | ### Payment Transaction Validation
 46 | 
 47 | 1. **Transaction Type**:
 48 |    ```python
 49 |    Txn.type_enum == TransactionType.Payment
 50 |    ```
 51 |    - Ensures the transaction is a payment type
 52 |    - Required for fee subsidization
 53 | 
 54 | 2. **Self Payment**:
 55 |    ```python
 56 |    Txn.receiver == Txn.sender
 57 |    and Txn.amount == 0
 58 |    ```
 59 |    - Verifies transaction is to self
 60 |    - Ensures no funds are transferred
 61 | 
 62 | 3. **Security Measures**:
 63 |    ```python
 64 |    Txn.rekey_to == Global.zero_address
 65 |    and Txn.close_remainder_to == Global.zero_address
 66 |    ```
 67 |    - Prevents account rekeying
 68 |    - Prevents account closure
 69 | 
 70 | 4. **Fee Structure**:
 71 |    ```python
 72 |    Txn.fee == 2 * Global.min_txn_fee
 73 |    ```
 74 |    - Sets fee to cover both transactions
 75 |    - Uses minimum transaction fee as base
 76 | 
 77 | ### Application Call Validation
 78 | 
 79 | 1. **Previous Transaction Check**:
 80 |    ```python
 81 |    GTxn.type_enum(Txn.group_index - 1) == TransactionType.ApplicationCall
 82 |    ```
 83 |    - Verifies previous transaction is app call
 84 |    - Uses group transaction index
 85 | 
 86 | 2. **Application Verification**:
 87 |    ```python
 88 |    GTxn.application_id(Txn.group_index - 1) == TemplateVar[Application]("KNOWN_APP")
 89 |    ```
 90 |    - Validates target application
 91 |    - Uses template variable for flexibility
 92 | 
 93 | 3. **Fee Verification**:
 94 |    ```python
 95 |    GTxn.fee(Txn.group_index - 1) == 0
 96 |    ```
 97 |    - Ensures app call has zero fee
 98 |    - Required for subsidization
 99 | 
100 | ### Time and Network Controls
101 | 
102 | 1. **Expiration Control**:
103 |    ```python
104 |    Txn.last_valid <= TemplateVar[UInt64]("EXPIRATION_ROUND")
105 |    ```
106 |    - Sets transaction validity period
107 |    - Prevents indefinite usage
108 | 
109 | 2. **Network Verification**:
110 |    ```python
111 |    Global.genesis_hash == TemplateVar[Bytes]("TARGET_NETWORK_GENESIS")
112 |    ```
113 |    - Ensures correct network
114 |    - Prevents cross-network usage
115 | 
116 | ## Usage Pattern
117 | 
118 | 1. **Create Transaction Group**:
119 |    ```python
120 |    # First transaction: Application call with zero fee
121 |    app_call_txn = ApplicationCallTxn(
122 |        sender=user_address,
123 |        app_id=known_app_id,
124 |        fee=0
125 |    )
126 | 
127 |    # Second transaction: Payment for fees
128 |    payment_txn = PaymentTxn(
129 |        sender=subsidy_address,
130 |        receiver=subsidy_address,
131 |        amt=0,
132 |        fee=2 * min_fee
133 |    )
134 | 
135 |    # Group transactions
136 |    grouped_txns = assign_group_id([app_call_txn, payment_txn])
137 |    ```
138 | 
139 | 2. **Sign and Submit**:
140 |    ```python
141 |    # Sign application call with user's key
142 |    signed_app_call = app_call_txn.sign(user_private_key)
143 | 
144 |    # Sign payment with logic signature
145 |    signed_payment = LogicSigTransaction(payment_txn, logic_sig)
146 | 
147 |    # Submit group
148 |    txid = algod_client.send_transactions([signed_app_call, signed_payment])
149 |    ```
150 | 
151 | ## Best Practices
152 | 
153 | 1. **Security**:
154 |    - Validate all transaction parameters
155 |    - Use appropriate template variables
156 |    - Implement proper access controls
157 |    - Monitor subsidy account balance
158 | 
159 | 2. **Fee Management**:
160 |    - Calculate fees correctly
161 |    - Consider network congestion
162 |    - Monitor fee changes
163 |    - Handle fee updates
164 | 
165 | 3. **Application Control**:
166 |    - Verify application IDs
167 |    - Limit subsidized applications
168 |    - Monitor application usage
169 |    - Track subsidization costs
170 | 
171 | 4. **Time Management**:
172 |    - Set appropriate expiration rounds
173 |    - Consider network timing
174 |    - Handle round transitions
175 |    - Update expiration as needed
176 | 
177 | 5. **Error Handling**:
178 |    - Validate all parameters
179 |    - Handle rejection cases
180 |    - Provide clear error messages
181 |    - Monitor failed transactions
182 | 
183 | 6. **Monitoring**:
184 |    - Track usage patterns
185 |    - Monitor account balance
186 |    - Log subsidized calls
187 |    - Analyze cost metrics
188 | 
189 | This guide demonstrates how to implement a logic signature for subsidizing application calls in Algorand. The implementation includes security measures, fee management, and proper validation to ensure safe and efficient operation.
190 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_logic_error.LogicError.md:
--------------------------------------------------------------------------------

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / [types/logic-error](../modules/types_logic_error.md) / LogicError
  2 | 
  3 | # Class: LogicError
  4 | 
  5 | [types/logic-error](../modules/types_logic_error.md).LogicError
  6 | 
  7 | Wraps key functionality around processing logic errors
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `Error`
 12 | 
 13 |   ↳ **`LogicError`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](types_logic_error.LogicError.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [cause](types_logic_error.LogicError.md#cause)
 24 | - [led](types_logic_error.LogicError.md#led)
 25 | - [lines](types_logic_error.LogicError.md#lines)
 26 | - [message](types_logic_error.LogicError.md#message)
 27 | - [name](types_logic_error.LogicError.md#name)
 28 | - [program](types_logic_error.LogicError.md#program)
 29 | - [stack](types_logic_error.LogicError.md#stack)
 30 | - [teal\_line](types_logic_error.LogicError.md#teal_line)
 31 | - [prepareStackTrace](types_logic_error.LogicError.md#preparestacktrace)
 32 | - [stackTraceLimit](types_logic_error.LogicError.md#stacktracelimit)
 33 | 
 34 | ### Methods
 35 | 
 36 | - [captureStackTrace](types_logic_error.LogicError.md#capturestacktrace)
 37 | - [parseLogicError](types_logic_error.LogicError.md#parselogicerror)
 38 | 
 39 | ## Constructors
 40 | 
 41 | ### constructor
 42 | 
 43 | • **new LogicError**(`errorDetails`, `program`, `getLineForPc`): [`LogicError`](types_logic_error.LogicError.md)
 44 | 
 45 | Create a new logic error object.
 46 | 
 47 | #### Parameters
 48 | 
 49 | | Name | Type | Description |
 50 | | :------ | :------ | :------ |
 51 | | `errorDetails` | [`LogicErrorDetails`](../interfaces/types_logic_error.LogicErrorDetails.md) | The details of the logic error |
 52 | | `program` | `string`[] | The TEAL source code, split by line |
 53 | | `getLineForPc` | (`pc`: `number`) => `undefined` \| `number` | The source map of the TEAL source code |
 54 | 
 55 | #### Returns
 56 | 
 57 | [`LogicError`](types_logic_error.LogicError.md)
 58 | 
 59 | #### Overrides
 60 | 
 61 | Error.constructor
 62 | 
 63 | #### Defined in
 64 | 
 65 | [src/types/logic-error.ts:52](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L52)
 66 | 
 67 | ## Properties
 68 | 
 69 | ### cause
 70 | 
 71 | • `Optional` **cause**: `unknown`
 72 | 
 73 | #### Inherited from
 74 | 
 75 | Error.cause
 76 | 
 77 | #### Defined in
 78 | 
 79 | node_modules/typescript/lib/lib.es2022.error.d.ts:24
 80 | 
 81 | ___
 82 | 
 83 | ### led
 84 | 
 85 | • **led**: [`LogicErrorDetails`](../interfaces/types_logic_error.LogicErrorDetails.md)
 86 | 
 87 | #### Defined in
 88 | 
 89 | [src/types/logic-error.ts:40](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L40)
 90 | 
 91 | ___
 92 | 
 93 | ### lines
 94 | 
 95 | • **lines**: `number` = `5`
 96 | 
 97 | #### Defined in
 98 | 
 99 | [src/types/logic-error.ts:42](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L42)
100 | 
101 | ___
102 | 
103 | ### message
104 | 
105 | • **message**: `string`
106 | 
107 | #### Inherited from
108 | 
109 | Error.message
110 | 
111 | #### Defined in
112 | 
113 | node_modules/typescript/lib/lib.es5.d.ts:1077
114 | 
115 | ___
116 | 
117 | ### name
118 | 
119 | • **name**: `string`
120 | 
121 | #### Inherited from
122 | 
123 | Error.name
124 | 
125 | #### Defined in
126 | 
127 | node_modules/typescript/lib/lib.es5.d.ts:1076
128 | 
129 | ___
130 | 
131 | ### program
132 | 
133 | • **program**: `string`[]
134 | 
135 | #### Defined in
136 | 
137 | [src/types/logic-error.ts:41](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L41)
138 | 
139 | ___
140 | 
141 | ### stack
142 | 
143 | • `Optional` **stack**: `string`
144 | 
145 | #### Overrides
146 | 
147 | Error.stack
148 | 
149 | #### Defined in
150 | 
151 | [src/types/logic-error.ts:44](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L44)
152 | 
153 | ___
154 | 
155 | ### teal\_line
156 | 
157 | • **teal\_line**: `number` = `0`
158 | 
159 | #### Defined in
160 | 
161 | [src/types/logic-error.ts:43](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L43)
162 | 
163 | ___
164 | 
165 | ### prepareStackTrace
166 | 
167 | ▪ `Static` `Optional` **prepareStackTrace**: (`err`: `Error`, `stackTraces`: `CallSite`[]) => `any`
168 | 
169 | Optional override for formatting stack traces
170 | 
171 | **`See`**
172 | 
173 | https://v8.dev/docs/stack-trace-api#customizing-stack-traces
174 | 
175 | #### Type declaration
176 | 
177 | ▸ (`err`, `stackTraces`): `any`
178 | 
179 | ##### Parameters
180 | 
181 | | Name | Type |
182 | | :------ | :------ |
183 | | `err` | `Error` |
184 | | `stackTraces` | `CallSite`[] |
185 | 
186 | ##### Returns
187 | 
188 | `any`
189 | 
190 | #### Inherited from
191 | 
192 | Error.prepareStackTrace
193 | 
194 | #### Defined in
195 | 
196 | node_modules/@types/node/globals.d.ts:28
197 | 
198 | ___
199 | 
200 | ### stackTraceLimit
201 | 
202 | ▪ `Static` **stackTraceLimit**: `number`
203 | 
204 | #### Inherited from
205 | 
206 | Error.stackTraceLimit
207 | 
208 | #### Defined in
209 | 
210 | node_modules/@types/node/globals.d.ts:30
211 | 
212 | ## Methods
213 | 
214 | ### captureStackTrace
215 | 
216 | ▸ **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
217 | 
218 | Create .stack property on a target object
219 | 
220 | #### Parameters
221 | 
222 | | Name | Type |
223 | | :------ | :------ |
224 | | `targetObject` | `object` |
225 | | `constructorOpt?` | `Function` |
226 | 
227 | #### Returns
228 | 
229 | `void`
230 | 
231 | #### Inherited from
232 | 
233 | Error.captureStackTrace
234 | 
235 | #### Defined in
236 | 
237 | node_modules/@types/node/globals.d.ts:21
238 | 
239 | ___
240 | 
241 | ### parseLogicError
242 | 
243 | ▸ **parseLogicError**(`error`): `undefined` \| [`LogicErrorDetails`](../interfaces/types_logic_error.LogicErrorDetails.md)
244 | 
245 | Takes an error message and parses out the details of any logic errors in there.
246 | 
247 | #### Parameters
248 | 
249 | | Name | Type | Description |
250 | | :------ | :------ | :------ |
251 | | `error` | `any` | The error message to parse |
252 | 
253 | #### Returns
254 | 
255 | `undefined` \| [`LogicErrorDetails`](../interfaces/types_logic_error.LogicErrorDetails.md)
256 | 
257 | The logic error details if any, or undefined
258 | 
259 | #### Defined in
260 | 
261 | [src/types/logic-error.ts:26](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L26)
262 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md:
--------------------------------------------------------------------------------

```markdown
 1 | # AlgoKit sandbox approach
 2 | 
 3 | - **Status**: Approved
 4 | - **Owner:** Rob Moore
 5 | - **Deciders**: Anne Kenyon (Algorand Inc.), Alessandro Cappellato (Algorand Foundation), Will Winder (Algorand Inc.)
 6 | - **Date created**: 2022-11-14
 7 | - **Date decided:** 2022-11-14
 8 | - **Date updated**: 2022-11-16
 9 | 
10 | ## Context
11 | 
12 | In order for AlgoKit to facilitate a productive development experience it needs to provide a managed Algorand sandbox experience. This allows developers to run an offline (local-only) private instance of Algorand that they can privately experiment with, run automated tests against and reset at will.
13 | 
14 | ## Requirements
15 | 
16 | - The sandbox works cross-platform (i.e. runs natively on Windows, Mac and Linux)
17 | - You can spin up algod and indexer since both have useful use cases when developing
18 | - The sandbox is kept up to date with the latest version of algod / indexer
19 | - There is access to KMD so that you can programmatically fund accounts to improve the developer experience and reduce manual effort
20 | - There is access to the tealdbg port outside of algod so you can attach a debugger to it
21 | - The sandbox is isolated and (once running) works offline so the workload is private, allows development when there is no internet (e.g. when on a plane) and allows for multiple instances to be run in parallel (e.g. when developing multiple independent projects simultaneously)
22 | - Works in continuous integration and local development environments so you can facilitate automated testing
23 | 
24 | ## Principles
25 | 
26 | - **[AlgoKit Guiding Principles](../../docs/algokit.md#Guiding-Principles)** - specifically Seamless onramp, Leverage existing ecosystem, Meet devs where they are
27 | - **Lightweight** - the solution should have as low an impact as possible on resources on the developers machine
28 | - **Fast** - the solution should start quickly, which makes for a nicer experience locally and also allows it to be used for continuous integration automation testing
29 | 
30 | ## Options
31 | 
32 | ### Option 1 - Pre-built DockerHub images
33 | 
34 | Pre-built application developer-optimised DockerHub images that work cross-platform; aka an evolved AlgoKit version of <https://github.com/MakerXStudio/algorand-sandbox-dev>.
35 | 
36 | **Pros**
37 | 
38 | - It's quick to download the images and quick to start the container since you don't need to compile Algod / indexer and the images are optimised for small size
39 | - The only dependency needed is Docker, which is a fairly common dependency for most developers to use these days
40 | - The images are reasonably lightweight
41 | - The images provide an optimised application developer experience with: (devmode) algo, KMD, tealdbg, indexer
42 | - It natively works cross-platform
43 | 
44 | **Cons**
45 | 
46 | - Some people have reported problems running WSL 2 on a small proportion of Windows environments (to get the latest Docker experience)
47 | - Docker within Docker can be a problem in some CI environments that run agents on Docker in the first place
48 | - Work needs to be done to create an automated CI/CD that automatically releases new versions to keep it up to date with latest algod/indexer versions
49 | 
50 | ### Option 2 - Lightweight algod client implementation
51 | 
52 | Work with the Algorand Inc. team to get a lightweight algod client that can run outside of a Docker container cross-platform.
53 | 
54 | **Pros**
55 | 
56 | - Likely to be the most lightweight and fastest option - opening up better/easier isolated/parallelised automated testing options
57 | - Wouldn't need Docker as a dependency
58 | 
59 | **Cons**
60 | 
61 | - Indexer wouldn't be supported (Postgres would require Docker anyway)
62 | - Algorand Inc. does not distribute Windows binaries.
63 | 
64 | ### Option 3 - Sandbox
65 | 
66 | Use the existing [Algorand Sandbox](https://github.com/algorand/sandbox).
67 | 
68 | **Pros**
69 | 
70 | - Implicitly kept up to date with Algorand - no extra thing to maintain
71 | - Battle-tested by the core Algorand team day-in-day-out
72 | - Supports all environments including unreleased feature branches (because it can target a git repo / commit hash)
73 | 
74 | **Cons**
75 | 
76 | - Sandbox is designed for network testing, not application development - it's much more complex than the needs of application developers
77 | - Slow to start because it has to download and built algod and indexer (this is particularly problematic for ephemeral CI/CD build agents)
78 | - It's not cross-platform (it requires bash to run sandbox.sh, although a sandbox.ps1 version could be created)
79 | 
80 | ## Preferred option
81 | 
82 | Option 1 and Option 2.
83 | 
84 | Option 1 provides a fully-featured experience that will work great in most scenarios, having option 2 as a second option would open up more advanced parallel automated testing scenarios in addition to that.
85 | 
86 | ## Selected option
87 | 
88 | Option 1
89 | 
90 | We're aiming to release the first version of AlgoKit within a short timeframe, which won't give time for Option 2 to be developed. Sandbox itself has been ruled out since it's not cross-platform and is too slow for both development and continuous integration.
91 | 
92 | Option 1 also results in a similar result to running Sandbox, so existing Algorand documentation, libraries and approaches should work well with this option making it a good slot-in replacement for Sandbox for application developers.
93 | 
94 | AlgoKit is designed to be modular: we can add in other approaches over time such as Option 2 when/if it becomes available.
95 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.DryrunTxnResult.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / DryrunTxnResult
  2 | 
  3 | # Class: DryrunTxnResult
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).DryrunTxnResult
  6 | 
  7 | DryrunTxnResult contains any LogicSig or ApplicationCall program debug
  8 | information and state updates from a dryrun.
  9 | 
 10 | ## Hierarchy
 11 | 
 12 | - `default`
 13 | 
 14 |   ↳ **`DryrunTxnResult`**
 15 | 
 16 | ## Table of contents
 17 | 
 18 | ### Constructors
 19 | 
 20 | - [constructor](modelsv2.DryrunTxnResult.md#constructor)
 21 | 
 22 | ### Properties
 23 | 
 24 | - [appCallMessages](modelsv2.DryrunTxnResult.md#appcallmessages)
 25 | - [appCallTrace](modelsv2.DryrunTxnResult.md#appcalltrace)
 26 | - [attribute\_map](modelsv2.DryrunTxnResult.md#attribute_map)
 27 | - [budgetAdded](modelsv2.DryrunTxnResult.md#budgetadded)
 28 | - [budgetConsumed](modelsv2.DryrunTxnResult.md#budgetconsumed)
 29 | - [disassembly](modelsv2.DryrunTxnResult.md#disassembly)
 30 | - [globalDelta](modelsv2.DryrunTxnResult.md#globaldelta)
 31 | - [localDeltas](modelsv2.DryrunTxnResult.md#localdeltas)
 32 | - [logicSigDisassembly](modelsv2.DryrunTxnResult.md#logicsigdisassembly)
 33 | - [logicSigMessages](modelsv2.DryrunTxnResult.md#logicsigmessages)
 34 | - [logicSigTrace](modelsv2.DryrunTxnResult.md#logicsigtrace)
 35 | - [logs](modelsv2.DryrunTxnResult.md#logs)
 36 | 
 37 | ### Methods
 38 | 
 39 | - [get\_obj\_for\_encoding](modelsv2.DryrunTxnResult.md#get_obj_for_encoding)
 40 | - [from\_obj\_for\_encoding](modelsv2.DryrunTxnResult.md#from_obj_for_encoding)
 41 | 
 42 | ## Constructors
 43 | 
 44 | ### constructor
 45 | 
 46 | • **new DryrunTxnResult**(`«destructured»`)
 47 | 
 48 | Creates a new `DryrunTxnResult` object.
 49 | 
 50 | #### Parameters
 51 | 
 52 | | Name | Type |
 53 | | :------ | :------ |
 54 | | `«destructured»` | `Object` |
 55 | | › `appCallMessages?` | `string`[] |
 56 | | › `appCallTrace?` | [`DryrunState`](modelsv2.DryrunState.md)[] |
 57 | | › `budgetAdded?` | `number` \| `bigint` |
 58 | | › `budgetConsumed?` | `number` \| `bigint` |
 59 | | › `disassembly` | `string`[] |
 60 | | › `globalDelta?` | [`EvalDeltaKeyValue`](modelsv2.EvalDeltaKeyValue.md)[] |
 61 | | › `localDeltas?` | [`AccountStateDelta`](modelsv2.AccountStateDelta.md)[] |
 62 | | › `logicSigDisassembly?` | `string`[] |
 63 | | › `logicSigMessages?` | `string`[] |
 64 | | › `logicSigTrace?` | [`DryrunState`](modelsv2.DryrunState.md)[] |
 65 | | › `logs?` | `Uint8Array`[] |
 66 | 
 67 | #### Overrides
 68 | 
 69 | BaseModel.constructor
 70 | 
 71 | #### Defined in
 72 | 
 73 | client/v2/algod/models/types.ts:3008
 74 | 
 75 | ## Properties
 76 | 
 77 | ### appCallMessages
 78 | 
 79 | • `Optional` **appCallMessages**: `string`[]
 80 | 
 81 | #### Defined in
 82 | 
 83 | client/v2/algod/models/types.ts:2962
 84 | 
 85 | ___
 86 | 
 87 | ### appCallTrace
 88 | 
 89 | • `Optional` **appCallTrace**: [`DryrunState`](modelsv2.DryrunState.md)[]
 90 | 
 91 | #### Defined in
 92 | 
 93 | client/v2/algod/models/types.ts:2964
 94 | 
 95 | ___
 96 | 
 97 | ### attribute\_map
 98 | 
 99 | • **attribute\_map**: `Record`\<`string`, `string`\>
100 | 
101 | #### Inherited from
102 | 
103 | BaseModel.attribute\_map
104 | 
105 | #### Defined in
106 | 
107 | client/v2/basemodel.ts:56
108 | 
109 | ___
110 | 
111 | ### budgetAdded
112 | 
113 | • `Optional` **budgetAdded**: `number` \| `bigint`
114 | 
115 | Budget added during execution of app call transaction.
116 | 
117 | #### Defined in
118 | 
119 | client/v2/algod/models/types.ts:2969
120 | 
121 | ___
122 | 
123 | ### budgetConsumed
124 | 
125 | • `Optional` **budgetConsumed**: `number` \| `bigint`
126 | 
127 | Budget consumed during execution of app call transaction.
128 | 
129 | #### Defined in
130 | 
131 | client/v2/algod/models/types.ts:2974
132 | 
133 | ___
134 | 
135 | ### disassembly
136 | 
137 | • **disassembly**: `string`[]
138 | 
139 | Disassembled program line by line.
140 | 
141 | #### Defined in
142 | 
143 | client/v2/algod/models/types.ts:2960
144 | 
145 | ___
146 | 
147 | ### globalDelta
148 | 
149 | • `Optional` **globalDelta**: [`EvalDeltaKeyValue`](modelsv2.EvalDeltaKeyValue.md)[]
150 | 
151 | Application state delta.
152 | 
153 | #### Defined in
154 | 
155 | client/v2/algod/models/types.ts:2979
156 | 
157 | ___
158 | 
159 | ### localDeltas
160 | 
161 | • `Optional` **localDeltas**: [`AccountStateDelta`](modelsv2.AccountStateDelta.md)[]
162 | 
163 | #### Defined in
164 | 
165 | client/v2/algod/models/types.ts:2981
166 | 
167 | ___
168 | 
169 | ### logicSigDisassembly
170 | 
171 | • `Optional` **logicSigDisassembly**: `string`[]
172 | 
173 | Disassembled lsig program line by line.
174 | 
175 | #### Defined in
176 | 
177 | client/v2/algod/models/types.ts:2986
178 | 
179 | ___
180 | 
181 | ### logicSigMessages
182 | 
183 | • `Optional` **logicSigMessages**: `string`[]
184 | 
185 | #### Defined in
186 | 
187 | client/v2/algod/models/types.ts:2988
188 | 
189 | ___
190 | 
191 | ### logicSigTrace
192 | 
193 | • `Optional` **logicSigTrace**: [`DryrunState`](modelsv2.DryrunState.md)[]
194 | 
195 | #### Defined in
196 | 
197 | client/v2/algod/models/types.ts:2990
198 | 
199 | ___
200 | 
201 | ### logs
202 | 
203 | • `Optional` **logs**: `Uint8Array`[]
204 | 
205 | #### Defined in
206 | 
207 | client/v2/algod/models/types.ts:2992
208 | 
209 | ## Methods
210 | 
211 | ### get\_obj\_for\_encoding
212 | 
213 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
214 | 
215 | Get an object ready for encoding to either JSON or msgpack.
216 | 
217 | #### Parameters
218 | 
219 | | Name | Type | Default value | Description |
220 | | :------ | :------ | :------ | :------ |
221 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
222 | 
223 | #### Returns
224 | 
225 | `Record`\<`string`, `any`\>
226 | 
227 | #### Inherited from
228 | 
229 | BaseModel.get\_obj\_for\_encoding
230 | 
231 | #### Defined in
232 | 
233 | client/v2/basemodel.ts:65
234 | 
235 | ___
236 | 
237 | ### from\_obj\_for\_encoding
238 | 
239 | ▸ `Static` **from_obj_for_encoding**(`data`): [`DryrunTxnResult`](modelsv2.DryrunTxnResult.md)
240 | 
241 | #### Parameters
242 | 
243 | | Name | Type |
244 | | :------ | :------ |
245 | | `data` | `Record`\<`string`, `any`\> |
246 | 
247 | #### Returns
248 | 
249 | [`DryrunTxnResult`](modelsv2.DryrunTxnResult.md)
250 | 
251 | #### Defined in
252 | 
253 | client/v2/algod/models/types.ts:3062
254 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md:
--------------------------------------------------------------------------------

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / [types/algo-http-client-with-retry](../modules/types_algo_http_client_with_retry.md) / AlgoHttpClientWithRetry
  2 | 
  3 | # Class: AlgoHttpClientWithRetry
  4 | 
  5 | [types/algo-http-client-with-retry](../modules/types_algo_http_client_with_retry.md).AlgoHttpClientWithRetry
  6 | 
  7 | A HTTP Client that wraps the Algorand SDK HTTP Client with retries
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `URLTokenBaseHTTPClient`
 12 | 
 13 |   ↳ **`AlgoHttpClientWithRetry`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [MAX\_BACKOFF\_MS](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#max_backoff_ms)
 24 | - [MAX\_TRIES](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#max_tries)
 25 | - [RETRY\_ERROR\_CODES](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#retry_error_codes)
 26 | - [RETRY\_STATUS\_CODES](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#retry_status_codes)
 27 | 
 28 | ### Methods
 29 | 
 30 | - [callWithRetry](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#callwithretry)
 31 | - [delete](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#delete)
 32 | - [get](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#get)
 33 | - [post](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md#post)
 34 | 
 35 | ## Constructors
 36 | 
 37 | ### constructor
 38 | 
 39 | • **new AlgoHttpClientWithRetry**(`tokenHeader`, `baseServer`, `port?`, `defaultHeaders?`): [`AlgoHttpClientWithRetry`](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md)
 40 | 
 41 | #### Parameters
 42 | 
 43 | | Name | Type |
 44 | | :------ | :------ |
 45 | | `tokenHeader` | `TokenHeader` |
 46 | | `baseServer` | `string` |
 47 | | `port?` | `string` \| `number` |
 48 | | `defaultHeaders?` | `Record`\<`string`, `any`\> |
 49 | 
 50 | #### Returns
 51 | 
 52 | [`AlgoHttpClientWithRetry`](types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md)
 53 | 
 54 | #### Inherited from
 55 | 
 56 | URLTokenBaseHTTPClient.constructor
 57 | 
 58 | #### Defined in
 59 | 
 60 | node_modules/algosdk/dist/types/client/urlTokenBaseHTTPClient.d.ts:27
 61 | 
 62 | ## Properties
 63 | 
 64 | ### MAX\_BACKOFF\_MS
 65 | 
 66 | ▪ `Static` `Private` `Readonly` **MAX\_BACKOFF\_MS**: ``10000``
 67 | 
 68 | #### Defined in
 69 | 
 70 | [src/types/algo-http-client-with-retry.ts:8](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L8)
 71 | 
 72 | ___
 73 | 
 74 | ### MAX\_TRIES
 75 | 
 76 | ▪ `Static` `Private` `Readonly` **MAX\_TRIES**: ``5``
 77 | 
 78 | #### Defined in
 79 | 
 80 | [src/types/algo-http-client-with-retry.ts:7](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L7)
 81 | 
 82 | ___
 83 | 
 84 | ### RETRY\_ERROR\_CODES
 85 | 
 86 | ▪ `Static` `Private` `Readonly` **RETRY\_ERROR\_CODES**: `string`[]
 87 | 
 88 | #### Defined in
 89 | 
 90 | [src/types/algo-http-client-with-retry.ts:13](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L13)
 91 | 
 92 | ___
 93 | 
 94 | ### RETRY\_STATUS\_CODES
 95 | 
 96 | ▪ `Static` `Private` `Readonly` **RETRY\_STATUS\_CODES**: `number`[]
 97 | 
 98 | #### Defined in
 99 | 
100 | [src/types/algo-http-client-with-retry.ts:12](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L12)
101 | 
102 | ## Methods
103 | 
104 | ### callWithRetry
105 | 
106 | ▸ **callWithRetry**(`func`): `Promise`\<`BaseHTTPClientResponse`\>
107 | 
108 | #### Parameters
109 | 
110 | | Name | Type |
111 | | :------ | :------ |
112 | | `func` | () => `Promise`\<`BaseHTTPClientResponse`\> |
113 | 
114 | #### Returns
115 | 
116 | `Promise`\<`BaseHTTPClientResponse`\>
117 | 
118 | #### Defined in
119 | 
120 | [src/types/algo-http-client-with-retry.ts:25](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L25)
121 | 
122 | ___
123 | 
124 | ### delete
125 | 
126 | ▸ **delete**(`relativePath`, `data`, `query?`, `requestHeaders?`): `Promise`\<`BaseHTTPClientResponse`\>
127 | 
128 | #### Parameters
129 | 
130 | | Name | Type |
131 | | :------ | :------ |
132 | | `relativePath` | `string` |
133 | | `data` | `Uint8Array` |
134 | | `query?` | `Query`\<`string`\> |
135 | | `requestHeaders` | `Record`\<`string`, `string`\> |
136 | 
137 | #### Returns
138 | 
139 | `Promise`\<`BaseHTTPClientResponse`\>
140 | 
141 | #### Overrides
142 | 
143 | URLTokenBaseHTTPClient.delete
144 | 
145 | #### Defined in
146 | 
147 | [src/types/algo-http-client-with-retry.ts:100](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L100)
148 | 
149 | ___
150 | 
151 | ### get
152 | 
153 | ▸ **get**(`relativePath`, `query?`, `requestHeaders?`): `Promise`\<`BaseHTTPClientResponse`\>
154 | 
155 | #### Parameters
156 | 
157 | | Name | Type |
158 | | :------ | :------ |
159 | | `relativePath` | `string` |
160 | | `query?` | `Query`\<`string`\> |
161 | | `requestHeaders` | `Record`\<`string`, `string`\> |
162 | 
163 | #### Returns
164 | 
165 | `Promise`\<`BaseHTTPClientResponse`\>
166 | 
167 | #### Overrides
168 | 
169 | URLTokenBaseHTTPClient.get
170 | 
171 | #### Defined in
172 | 
173 | [src/types/algo-http-client-with-retry.ts:57](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L57)
174 | 
175 | ___
176 | 
177 | ### post
178 | 
179 | ▸ **post**(`relativePath`, `data`, `query?`, `requestHeaders?`): `Promise`\<`BaseHTTPClientResponse`\>
180 | 
181 | #### Parameters
182 | 
183 | | Name | Type |
184 | | :------ | :------ |
185 | | `relativePath` | `string` |
186 | | `data` | `Uint8Array` |
187 | | `query?` | `Query`\<`string`\> |
188 | | `requestHeaders` | `Record`\<`string`, `string`\> |
189 | 
190 | #### Returns
191 | 
192 | `Promise`\<`BaseHTTPClientResponse`\>
193 | 
194 | #### Overrides
195 | 
196 | URLTokenBaseHTTPClient.post
197 | 
198 | #### Defined in
199 | 
200 | [src/types/algo-http-client-with-retry.ts:91](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algo-http-client-with-retry.ts#L91)
201 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:README.md:
--------------------------------------------------------------------------------

```markdown
 1 | <div align="center">
 2 | <a href="https://github.com/algorandfoundation/algokit"><img src="https://bafybeickjkfl4mbrhmgr67kentvjr3meixppy2ziqyvpjpkvrlyjacjvua.ipfs.nftstorage.link/"></a>
 3 | </div>
 4 | 
 5 | <br/>
 6 | <div align="center">
 7 | Welcome to the AlgoKit Developer Universe repo, the one-stop shop for all <a href="https://github.com/algorandfoundation/algokit-cli#what-is-algokit"> AlgoKit</a> related repositories and information
 8 | </div>
 9 | <br/>
10 | <p align="center">
11 |     <a target="_blank" href="https://github.com/algorandfoundation/algokit-cli"><img src="https://img.shields.io/badge/algokit-cli-00dc94?logo=algorand&mac=flat.svg" /></a>
12 |     <a target="_blank" href="https://github.com/algorandfoundation/algokit-utils-py#readme"><img src="https://img.shields.io/badge/algokit-utils-00dc94?logo=python&mac=flat.svg" /></a>
13 |     <a target="_blank" href="https://github.com/algorandfoundation/algokit-utils-ts#algokit-typescript-utilities"><img src="https://img.shields.io/badge/algokit-utils-00dc94?logo=typescript&mac=flat.svg" /></a>
14 |     <a target="_blank" href="https://github.com/algorandfoundation/algokit-client-generator-py"><img src="https://img.shields.io/badge/algokit-client generator-00dc94?logo=python&mac=flat.svg" /></a>
15 |     <a target="_blank" href="https://github.com/algorandfoundation/algokit-client-generator-ts"><img src="https://img.shields.io/badge/algokit-client generator-00dc94?logo=typescript&mac=flat.svg" /></a>
16 | 
17 | </p>
18 | 
19 | ### AlgoKit CLI  
20 | <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/algokit?logo=pypi"> <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/algorandfoundation/algokit-cli?logo=github">
21 | 
22 | AlgoKit CLI is the one-stop shop tool for developers building on the [Algorand network](https://www.algorand.com/).
23 | 
24 | AlgoKit gets developers of all levels up and running with a familiar, fun and productive development environment in minutes. The goal of AlgoKit is to help developers build and launch secure, automated production-ready applications rapidly.
25 | 
26 | [Repo](https://github.com/algorandfoundation/algokit-cli) | [Quick Start Tutorial](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/tutorials/intro.md) | [Documentation](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/algokit.md)
27 | 
28 | >[!NOTE] 
29 | > By using the AlgoKit cli you will use all the below listed packages, no need to install them separately
30 | 
31 | ### Algorand Python
32 | Algorand Python is a semantically and syntactically compatible, typed Python language that works with standard Python tooling and allows you to express smart contracts (apps) and smart signatures (logic signatures) for deployment on the Algorand Virtual Machine (AVM). [See how to get started](https://github.com/algorandfoundation/puya).
33 | 
34 | ### AlgoKit Utils 
35 | A set of core Algorand utilities available in both Python and TypeScript that make it easier to build solutions on Algorand.
36 | 
37 | The goal of this library is to provide intuitive, productive utility functions that make it easier, quicker and safer to build applications on Algorand. Largely these functions wrap the underlying Algorand SDK, but provide a higher level interface with sensible defaults and capabilities for common tasks.
38 | 
39 | ##### Python 
40 | <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/algokit-utils?logo=pypi">
41 | 
42 | [Repo](https://github.com/algorandfoundation/algokit-utils-py#readme) | [Documentation](https://algorandfoundation.github.io/algokit-utils-py/html/index.html) 
43 | 
44 | 
45 | ##### TypeScript 
46 | <img alt="npm" src="https://img.shields.io/npm/dm/%40algorandfoundation/algokit-utils?logo=npm">
47 | 
48 | [Repo](https://github.com/algorandfoundation/algokit-utils-ts#algokit-typescript-utilities) | [Documentation](https://github.com/algorandfoundation/algokit-utils-ts/tree/main/docs)
49 | 
50 | ### Client Generators
51 | This project generates a type-safe smart contract client in both Python TypeScript for the Algorand Blockchain that wraps the [application client](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/docs/capabilities/app-client.md) in AlgoKit Utils. It does this by reading an [ARC-0032](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0032.md) application spec file.
52 | 
53 | ##### Python 
54 | <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/algokit-client-generator?logo=pypi">
55 | 
56 | [Repo](https://github.com/algorandfoundation/algokit-client-generator-py) | [Examples](https://github.com/algorandfoundation/algokit-client-generator-py/tree/main/examples) 
57 | 
58 | 
59 | ##### TypeScript 
60 | <img alt="npm" src="https://img.shields.io/npm/dm/%40algorandfoundation/algokit-client-generator?logo=npm">
61 | 
62 | [Repo](https://github.com/algorandfoundation/algokit-client-generator-ts) | [Examples](https://github.com/algorandfoundation/algokit-client-generator-ts/tree/main/examples)
63 | 
64 | ### AVM Debugger
65 | The AlgoKit AVM VS Code debugger extension provides a convenient way to debug any Algorand Smart Contracts written in TEAL
66 | [more info](https://marketplace.visualstudio.com/items?itemName=AlgorandFoundation.algokit-avm-vscode-debugger)
67 | 
68 | ### TestNet Dispenser
69 | The AlgoKit TestNet Dispenser API provides functionalities to interact with the Dispenser service. This service enables users to fund and refund assets, testnet Algos only for now.
70 | [Documentation](./docs/testnet_api.md) 
71 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:cli:algokit.md:
--------------------------------------------------------------------------------

```markdown
 1 | # AlgoKit
 2 | 
 3 | The Algorand AlgoKit CLI is the one-stop shop tool for developers building on the Algorand network. The goal of AlgoKit is to help developers build and launch secure, automated production-ready applications rapidly.
 4 | 
 5 | ## AlgoKit CLI commands
 6 | 
 7 | For details on how to use individual features see the following
 8 | 
 9 | - [Bootstrap](./features/project/bootstrap.md) - Bootstrap AlgoKit project dependencies
10 | - [Compile](./features/compile.md) - Compile Algorand Python code
11 | - [Completions](./features/completions.md) - Install shell completions for AlgoKit
12 | - [Deploy](./features/project/deploy.md) - Deploy your smart contracts effortlessly to various networks
13 | - [Dispenser](./features/dispenser.md) - Fund your TestNet account with ALGOs from the AlgoKit TestNet Dispenser
14 | - [Doctor](./features/doctor.md) - Check AlgoKit installation and dependencies
15 | - [Explore](./features/explore.md) - Explore Algorand Blockchains using lora
16 | - [Generate](./features/generate.md) - Generate code for an Algorand project
17 | - [Goal](./features/goal.md) - Run the Algorand goal CLI against the AlgoKit Sandbox
18 | - [Init](./features/init.md) - Quickly initialize new projects using official Algorand Templates or community provided templates
19 | - [LocalNet](./features/localnet.md) - Manage a locally sandboxed private Algorand network
20 | - [Project](./features/project.md) - Manage an AlgoKit project workspace on your file system
21 | - [Tasks](./features/tasks.md) - Perform a variety of useful operations on the Algorand blockchain
22 | 
23 | ## Common AlgoKit CLI options
24 | 
25 | AlgoKit has a number of global options that can impact all commands. Note: these global options must be appended to `algokit` and appear before a command, e.g. `algokit -v localnet start`, but not `algokit localnet start -v`. The exception to this is `-h`, which can be appended to any command or sub-command to see contextual help information.
26 | 
27 | - `-h, --help` The help option can be used on any command to get details on any command, its sub-commands and options.
28 | - `-v, --verbose` Enables DEBUG logging, useful when troubleshooting or if you want to peek under the covers and learn what AlgoKit CLI is doing.
29 | - `--color / --no-color` Enables or disables output of console styling, we also support the [NO_COLOR](https://no-color.org) environment variable.
30 | - `--skip-version-check` Skips updated AlgoKit version checking and prompting for that execution, this can also be disabled [permanently on a given machine](./cli/index.md#version-prompt) with `algokit config version-prompt disable`.
31 | 
32 | See also the [AlgoKit CLI Reference](./cli/index.md), which details every command, sub-command and option.
33 | 
34 | ## AlgoKit Tutorials
35 | 
36 | The following tutorials guide you through various scenarios:
37 | 
38 | - [AlgoKit quick start](./tutorials/intro.md)
39 | - [Creating AlgoKit templates](./tutorials/algokit-template.md)
40 | 
41 | ## Guiding Principles
42 | 
43 | AlgoKit is guided by the following solution principles which flow through to the applications created by developers.
44 | 
45 | 1. **Cohesive developer tool suite**: Using AlgoKit should feel professional and cohesive, like it was designed to work together, for the developer; not against them. Developers are guided towards delivering end-to-end, high quality outcomes on MainNet so they and Algorand are more likely to be successful.
46 | 2. **Seamless onramp**: New developers have a seamless experience to get started and they are guided into a pit of success with best practices, supported by great training collateral; you should be able to go from nothing to debugging code in 5 minutes.
47 | 3. **Leverage existing ecosystem**: AlgoKit functionality gets into the hands of Algorand developers quickly by building on top of the existing ecosystem wherever possible and aligned to these principles.
48 | 4. **Sustainable**: AlgoKit should be built in a flexible fashion with long-term maintenance in mind. Updates to latest patches in dependencies, Algorand protocol development updates, and community contributions and feedback will all feed in to the evolution of the software.
49 | 5. **Secure by default**: Include defaults, patterns and tooling that help developers write secure code and reduce the likelihood of security incidents in the Algorand ecosystem. This solution should help Algorand be the most secure Blockchain ecosystem.
50 | 6. **Extensible**: Be extensible for community contribution rather than stifling innovation, bottle-necking all changes through the Algorand Foundation and preventing the opportunity for other ecosystems being represented (e.g. Go, Rust, etc.). This helps make developers feel welcome and is part of the developer experience, plus it makes it easier to add features sustainably.
51 | 7. **Meet developers where they are**: Make Blockchain development mainstream by giving all developers an idiomatic development experience in the operating system, IDE and language they are comfortable with so they can dive in quickly and have less they need to learn before being productive.
52 | 8. **Modular components**: Solution components should be modular and loosely coupled to facilitate efficient parallel development by small, effective teams, reduced architectural complexity and allowing developers to pick and choose the specific tools and capabilities they want to use based on their needs and what they are comfortable with.
53 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:indexer.md:
--------------------------------------------------------------------------------

```markdown
 1 | title: Install the indexer
 2 | 
 3 | The Algorand Indexer is a feature that enables searching the blockchain for transactions, assets, accounts, and blocks with various criteria. Currently, Algorand has a V1 and V2 Indexer. The V1 Indexer is deprecated and can significantly slow down nodes. Users should now use the V2 Indexer. The V2 Indexer runs as an independent process that must connect to a [PostgreSQL](https://www.postgresql.org/) compatible database that contains the ledger data. The PostgreSQL database is populated by the indexer which connects to an Algorand node and processes all the ledger data and loads the database. The node the Indexer connects to must be an archival node to get all the ledger data. Alternatively, the Indexer can just connect to a PostgresSQL database that is populated by another instance of Indexer. This allows reader instances to be set up that provide the [REST APIs](../../../rest-apis/indexer) for searching the database and another Indexer to be responsible for loading the ledger data.
 4 | 
 5 | 
 6 | The V2 Indexer is network agnostic, meaning it can point at BetaNet, TestNet, or MainNet. 
 7 | 
 8 | The source code for the Indexer is provided on [github](https://github.com/algorand/indexer).
 9 | 
10 | For details on Indexer usage, read the [Searching the Blockchain](../../../get-details/indexer) feature guide and the [REST API Indexer reference](../../../rest-apis/indexer). See [Indexer README](https://github.com/algorand/indexer) for more details on running the Indexer.
11 | 
12 | 
13 | # Indexer V2
14 | ## Download the Indexer Binaries
15 | To Install the new Indexer follow the instructions below. The Indexer binaries are available on [github](https://github.com/algorand/indexer/releases).
16 | 
17 | !!! info
18 |     Additional install methods will be available in the near future.
19 | 
20 | ## Extract the binaries to a specific directory
21 | The binary can be placed in any directory you choose. In these instructions, an indexer folder is used which is located in the current user's home directory.
22 | 
23 | ```bash
24 | $ mkdir ~/indexer
25 | $ cd /path/to/download-dir
26 | $ tar -xf <your-os-tarfile> -C ~/indexer
27 | $ cd ~/indexer/<tarfile-name>
28 | ```
29 | 
30 | ## Run the Indexer
31 | The Indexer primarily provides two services, loading a PostgreSQL database with ledger data and supplying a REST API to search this ledger data. You can set the Indexer to point at a database that was loaded by another instance of the Indexer. The database does not have to be on the current node. In fact, you can have one Indexer that loads the database and many Indexers that share this data through their REST APIs. How the Indexer operates is determined with parameters that are passed to the Indexer as it is started.
32 | 
33 | The Indexer has many options which can be seen using the -h option when running the [Indexer binary](../../clis/indexer/indexer.md).
34 | 
35 | To start the Indexer as a reader (ie not connecting to an Algorand node), supply the `--postgres` or `-P` option when running the indexer. The value should be a valid connection string for a postgres database.
36 | 
37 | ```bash
38 | $ ./algorand-indexer daemon --data-dir /tmp -P "host=[your-host] port=[your-port] user=[uname] password=[password] dbname=[ledgerdb] sslmode=disable"  --no-algod
39 | ```
40 | 
41 | To start the Indexer so it populates the PostgreSQL database, supply the Algorand Archival node connection details. This can be done by either specifying the Algorand Node data directory (with `--algod`), if the node is on the same machine as the Indexer, or by supplying the algod network host and port string (`--algod-net`) and the proper API token (`--algod-token`). The database needs to be created and running prior to starting the Indexer.
42 | 
43 | !!! note
44 |     The indexer has a flag `--data-dir` for where to write it's data, which is distinct from the algod data directory in the above paragraph.
45 | 
46 | ```bash
47 | # start with local data directory
48 | $ ./algorand-indexer daemon --data-dir /tmp -P "host=[your-host] port=[your-port] user=[uname] password=[password] dbname=[ledgerdb] sslmode=disable" --algod=~/node/data
49 | 
50 | # start with networked Algorand node
51 | $ ./algorand-indexer daemon --data-dir /tmp -P "host=[your-host] port=[your-port] user=[uname] password=[password] dbname=[ledgerdb] sslmode=disable" --algod-net="http://[your-host]:[your-port]" --algod-token="[your-api-token]"
52 | 
53 | ```
54 | 
55 | !!! info
56 |     The initial loading of the Indexer Database will take a considerable amount of time.
57 | 
58 | 
59 | ## REST API Token and Server
60 | 
61 | When starting the Indexer, a REST API is exposed. To control access to this API you can you use the `--token` parameter, which allows specifying any desired token. REST API clients will be required to pass this token in their calls in order to return successful searches. The REST API defaults to serving on port 8980. This can be changed by supply a [host:port] value to the Indexer with the `--server` option.
62 | 
63 | [Click here for Indexer Rest Endpoint specfiles.](../../../rest-apis/restendpoints/)
64 | 
65 | To turn on indexing for a node, the `isIndexerActive` configuration parameter must be set to `true`. The [Node Configuration](../../reference/config) guide describes setting node configuration properties.
66 | 
67 | !!! warning
68 |      Turning on indexing with a node will increase the disk space required by the node.
69 | 
70 | !!! info
71 |     Indexing on a node is only allowed with nodes that have archival mode turned on. 
72 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:LogicSigAccount.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / LogicSigAccount
  2 | 
  3 | # Class: LogicSigAccount
  4 | 
  5 | Represents an account that can sign with a LogicSig program.
  6 | 
  7 | ## Table of contents
  8 | 
  9 | ### Constructors
 10 | 
 11 | - [constructor](LogicSigAccount.md#constructor)
 12 | 
 13 | ### Properties
 14 | 
 15 | - [lsig](LogicSigAccount.md#lsig)
 16 | - [sigkey](LogicSigAccount.md#sigkey)
 17 | 
 18 | ### Methods
 19 | 
 20 | - [address](LogicSigAccount.md#address)
 21 | - [appendToMultisig](LogicSigAccount.md#appendtomultisig)
 22 | - [get\_obj\_for\_encoding](LogicSigAccount.md#get_obj_for_encoding)
 23 | - [isDelegated](LogicSigAccount.md#isdelegated)
 24 | - [sign](LogicSigAccount.md#sign)
 25 | - [signMultisig](LogicSigAccount.md#signmultisig)
 26 | - [toByte](LogicSigAccount.md#tobyte)
 27 | - [verify](LogicSigAccount.md#verify)
 28 | - [fromByte](LogicSigAccount.md#frombyte)
 29 | - [from\_obj\_for\_encoding](LogicSigAccount.md#from_obj_for_encoding)
 30 | 
 31 | ## Constructors
 32 | 
 33 | ### constructor
 34 | 
 35 | • **new LogicSigAccount**(`program`, `args?`)
 36 | 
 37 | Create a new LogicSigAccount. By default this will create an escrow
 38 | LogicSig account. Call `sign` or `signMultisig` on the newly created
 39 | LogicSigAccount to make it a delegated account.
 40 | 
 41 | #### Parameters
 42 | 
 43 | | Name | Type | Description |
 44 | | :------ | :------ | :------ |
 45 | | `program` | `Uint8Array` | The compiled TEAL program which contains the logic for this LogicSig. |
 46 | | `args?` | (`Uint8Array` \| `Buffer`)[] | An optional array of arguments for the program. |
 47 | 
 48 | #### Defined in
 49 | 
 50 | logicsig.ts:246
 51 | 
 52 | ## Properties
 53 | 
 54 | ### lsig
 55 | 
 56 | • **lsig**: [`LogicSig`](LogicSig.md)
 57 | 
 58 | #### Defined in
 59 | 
 60 | logicsig.ts:234
 61 | 
 62 | ___
 63 | 
 64 | ### sigkey
 65 | 
 66 | • `Optional` **sigkey**: `Uint8Array`
 67 | 
 68 | #### Defined in
 69 | 
 70 | logicsig.ts:235
 71 | 
 72 | ## Methods
 73 | 
 74 | ### address
 75 | 
 76 | ▸ **address**(): `string`
 77 | 
 78 | Get the address of this LogicSigAccount.
 79 | 
 80 | If the LogicSig is delegated to another account, this will return the
 81 | address of that account.
 82 | 
 83 | If the LogicSig is not delegated to another account, this will return an
 84 |  escrow address that is the hash of the LogicSig's program code.
 85 | 
 86 | #### Returns
 87 | 
 88 | `string`
 89 | 
 90 | #### Defined in
 91 | 
 92 | logicsig.ts:315
 93 | 
 94 | ___
 95 | 
 96 | ### appendToMultisig
 97 | 
 98 | ▸ **appendToMultisig**(`secretKey`): `void`
 99 | 
100 | Adds an additional signature from a member of the delegating multisig
101 | account.
102 | 
103 | #### Parameters
104 | 
105 | | Name | Type | Description |
106 | | :------ | :------ | :------ |
107 | | `secretKey` | `Uint8Array` | The secret key of one of the members of the delegating multisig account. |
108 | 
109 | #### Returns
110 | 
111 | `void`
112 | 
113 | #### Defined in
114 | 
115 | logicsig.ts:363
116 | 
117 | ___
118 | 
119 | ### get\_obj\_for\_encoding
120 | 
121 | ▸ **get_obj_for_encoding**(): [`EncodedLogicSigAccount`](../interfaces/EncodedLogicSigAccount.md)
122 | 
123 | #### Returns
124 | 
125 | [`EncodedLogicSigAccount`](../interfaces/EncodedLogicSigAccount.md)
126 | 
127 | #### Defined in
128 | 
129 | logicsig.ts:252
130 | 
131 | ___
132 | 
133 | ### isDelegated
134 | 
135 | ▸ **isDelegated**(): `boolean`
136 | 
137 | Check if this LogicSigAccount has been delegated to another account with a
138 | signature.
139 | 
140 | Note this function only checks for the presence of a delegation signature.
141 | To verify the delegation signature, use `verify`.
142 | 
143 | #### Returns
144 | 
145 | `boolean`
146 | 
147 | #### Defined in
148 | 
149 | logicsig.ts:293
150 | 
151 | ___
152 | 
153 | ### sign
154 | 
155 | ▸ **sign**(`secretKey`): `void`
156 | 
157 | Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
158 | has the authority to sign transactions on behalf of another account, called
159 | the delegating account. If the delegating account is a multisig account,
160 | use `signMultisig` instead.
161 | 
162 | #### Parameters
163 | 
164 | | Name | Type | Description |
165 | | :------ | :------ | :------ |
166 | | `secretKey` | `Uint8Array` | The secret key of the delegating account. |
167 | 
168 | #### Returns
169 | 
170 | `void`
171 | 
172 | #### Defined in
173 | 
174 | logicsig.ts:375
175 | 
176 | ___
177 | 
178 | ### signMultisig
179 | 
180 | ▸ **signMultisig**(`msig`, `secretKey`): `void`
181 | 
182 | Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
183 | has the authority to sign transactions on behalf of another account, called
184 | the delegating account. Use this function if the delegating account is a
185 | multisig account.
186 | 
187 | #### Parameters
188 | 
189 | | Name | Type | Description |
190 | | :------ | :------ | :------ |
191 | | `msig` | [`MultisigMetadata`](../interfaces/MultisigMetadata.md) | The multisig delegating account |
192 | | `secretKey` | `Uint8Array` | The secret key of one of the members of the delegating multisig account. Use `appendToMultisig` to add additional signatures from other members. |
193 | 
194 | #### Returns
195 | 
196 | `void`
197 | 
198 | #### Defined in
199 | 
200 | logicsig.ts:352
201 | 
202 | ___
203 | 
204 | ### toByte
205 | 
206 | ▸ **toByte**(): `Uint8Array`
207 | 
208 | Encode this object into msgpack.
209 | 
210 | #### Returns
211 | 
212 | `Uint8Array`
213 | 
214 | #### Defined in
215 | 
216 | logicsig.ts:273
217 | 
218 | ___
219 | 
220 | ### verify
221 | 
222 | ▸ **verify**(): `boolean`
223 | 
224 | Verifies this LogicSig's program and signatures.
225 | 
226 | #### Returns
227 | 
228 | `boolean`
229 | 
230 | true if and only if the LogicSig program and signatures are valid.
231 | 
232 | #### Defined in
233 | 
234 | logicsig.ts:301
235 | 
236 | ___
237 | 
238 | ### fromByte
239 | 
240 | ▸ `Static` **fromByte**(`encoded`): [`LogicSigAccount`](LogicSigAccount.md)
241 | 
242 | Decode a msgpack object into a LogicSigAccount.
243 | 
244 | #### Parameters
245 | 
246 | | Name | Type | Description |
247 | | :------ | :------ | :------ |
248 | | `encoded` | `ArrayLike`\<`any`\> | The encoded LogicSigAccount. |
249 | 
250 | #### Returns
251 | 
252 | [`LogicSigAccount`](LogicSigAccount.md)
253 | 
254 | #### Defined in
255 | 
256 | logicsig.ts:281
257 | 
258 | ___
259 | 
260 | ### from\_obj\_for\_encoding
261 | 
262 | ▸ `Static` **from_obj_for_encoding**(`encoded`): [`LogicSigAccount`](LogicSigAccount.md)
263 | 
264 | #### Parameters
265 | 
266 | | Name | Type |
267 | | :------ | :------ |
268 | | `encoded` | [`EncodedLogicSigAccount`](../interfaces/EncodedLogicSigAccount.md) |
269 | 
270 | #### Returns
271 | 
272 | [`LogicSigAccount`](LogicSigAccount.md)
273 | 
274 | #### Defined in
275 | 
276 | logicsig.ts:263
277 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:rest-apis:restendpoints.md:
--------------------------------------------------------------------------------

```markdown
 1 | title: REST Endpoints
 2 | Algorand maintains SDK support in [JavaScript](../../sdks/javascript/#install-sdk-for-runtime), [Python](../../sdks/python/#install-sdk), [Java](../../sdks/java/#install-sdk-for-runtime) and [Go](../../sdks/go/#install-go-sdk). More languages are also available through [Community Provided SDKs](https://developer.algorand.org/ecosystem-projects/?from_query=sdk#net-sdk). The Algorand SDKs offer both standalone and network-connected development functionality.
 3 | 
 4 | # Algod, Indexer and KMD REST Endpoints
 5 | 
 6 | Integration with the Algorand protocol daemon (`algod`), Algorand key management daemon (`kmd`) or Algorand Indexer daemon (`algorand-indexer`) is performed using a set of REST APIs.
 7 | 
 8 | All REST methods and models are fully described within reference documentation.
 9 | 
10 | - [Algod REST APIs](../../rest-apis/algod/)
11 | 
12 | - [Indexer REST APIs](../../rest-apis/indexer/)
13 | 
14 | - [KMD REST APIs](../../rest-apis/kmd/)
15 | 
16 | _**Algod REST Endpoints**_
17 | 
18 | !!! info
19 |     Algorand provides endpoints for [Open API Specification version 2 (OAS2)](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md) and [OAS3](https://github.com/OAI/OpenAPI-Specification/tree/main/versions).
20 | 
21 | These APIs are described using the [Open API Specification version 3 (OAS3)](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md).
22 | 
23 | [Algod REST Endpoints OAS3 specfile](https://github.com/algorand/go-algorand/blob/master/daemon/algod/api/algod.oas3.yml?raw=true)(.yml)
24 | 
25 | Run Algod in Postman OAS3.
26 | 
27 | [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/7417958-60ff1bfc-b5f2-42aa-83b0-6888f0d4c2f4?action=collection%2Ffork&collection-url=entityId%3D7417958-60ff1bfc-b5f2-42aa-83b0-6888f0d4c2f4%26entityType%3Dcollection%26workspaceId%3Dab8846ef-efa3-4872-a5e5-c2992de6b69c)
28 | 
29 | OAS2 Algod specfile [here](https://github.com/algorand/go-algorand/blob/master/daemon/algod/api/algod.oas2.json?raw=true)
30 | 
31 | _**Indexer REST Endpoints**_
32 | 
33 | The `algorand-indexer` daemon provides its API from the _host:port_ defined by the _--server_ flag specified at start up. The default port is 8980.
34 | 
35 | [Indexer REST Endpoints OAS3 specfile](https://www.github.com/algorand/indexer/blob/develop/api/indexer.oas3.yml?raw=true)(.yml)
36 | 
37 | Run Indexer in Postman OAS3.
38 | 
39 | [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/7417958-2e088cf0-8c78-44b0-8b08-9a832b120d1a?action=collection%2Ffork&collection-url=entityId%3D7417958-2e088cf0-8c78-44b0-8b08-9a832b120d1a%26entityType%3Dcollection%26workspaceId%3Dab8846ef-efa3-4872-a5e5-c2992de6b69c)
40 | 
41 | OAS2 Indexer specfile [here](https://github.com/algorand/indexer/blob/develop/api/indexer.oas2.json?raw=true)
42 | 
43 | _**KMD REST Endpoints**_
44 | 
45 | !!! info
46 |     All examples in this section assume the data directory is ~/node/data
47 | 
48 | 
49 | This API is described using the [Open API Specification version 2 (OAS 2)](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). The `kmd` daemon serves it's API from the _kmd.net_ files found in the _~/node/data_ and _~/node/data/kmd-{version}_ directories. The `kmd` daemons provide their API specifications in a [swagger json](https://github.com/algorand/go-algorand/blob/master/daemon/kmd/api/swagger.json) format available from this endpoint:
50 | 
51 | Algorand Key Management Daemon (`kmd`)
52 | 
53 | ```zsh
54 | curl http://$(cat ~/node/data/kmd-v0.5/kmd.net)/swagger.json
55 | ```
56 | 
57 | !!! info
58 |     The `kmd` daemon is only automatically started when using the `goal` command line tool with specific commands requiring key management access. If you require API access to `kmd` you will need to manually start the process with `goal` using the command: `goal kmd start -d <data-dir>`. If the kmd is started with the above command it never times out and stops running unless a timeout flag is specified with the -t flag. The default of 0 is no timeout.
59 | 
60 | # Security Token
61 | 
62 | Most REST calls will also require an API token header to authenticate with the API server. For both `algod` and `kmd` the token is automatically generated by the daemon at startup and stored in a file. `algod` places _algod.token_ in the _~/node/data_ directory. `kmd` places _kmd.token_ the _~/node/data/kmd-{version}_ directory. Security tokens can be regenerated for both using the `goal node generatetoken` command.
63 | 
64 | | Daemon    | Header Identifier   | Header Value Defined Via                    |
65 | | --------- | ------------------- | ------------------------------------------- |
66 | | `algod`   | X-Algo-API-Token    | file: ~/node/data/algod.token               |
67 | | `kmd`     | X-KMD-API-Token     | file: ~/node/data/kmd-\{version\}/kmd.token |
68 | | `indexer` | X-Indexer-API-Token |                                             |
69 | 
70 | Each SDK provides a method for setting these headers. Most REST tools provide a method for setting additional headers. To set the header with a `curl` command use the `-H` parameter. For example, to make a call to retrieve a specific block, use the following curl command:
71 | 
72 | ```zsh
73 | curl http://$(cat ~/node/data/algod.net)/v2/blocks/16486179 -H "X-Algo-API-Token: $(cat ~/node/data/algod.token)"
74 | ```
75 | 
76 | In the above example, the block information will be displayed if the block exists on the local node. If the node is a non-Archival node, blocks older than 1000 blocks will not be available.
77 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:testing.TestLogger.md:
--------------------------------------------------------------------------------

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / [testing](../modules/testing.md) / TestLogger
  2 | 
  3 | # Class: TestLogger
  4 | 
  5 | [testing](../modules/testing.md).TestLogger
  6 | 
  7 | Exposes an AlgoKit logger which captures log messages, while wrapping an original logger.
  8 | This is useful for automated testing.
  9 | 
 10 | ## Implements
 11 | 
 12 | - [`Logger`](../modules/types_logging.md#logger)
 13 | 
 14 | ## Table of contents
 15 | 
 16 | ### Constructors
 17 | 
 18 | - [constructor](testing.TestLogger.md#constructor)
 19 | 
 20 | ### Properties
 21 | 
 22 | - [logs](testing.TestLogger.md#logs)
 23 | - [originalLogger](testing.TestLogger.md#originallogger)
 24 | 
 25 | ### Accessors
 26 | 
 27 | - [capturedLogs](testing.TestLogger.md#capturedlogs)
 28 | 
 29 | ### Methods
 30 | 
 31 | - [clear](testing.TestLogger.md#clear)
 32 | - [debug](testing.TestLogger.md#debug)
 33 | - [error](testing.TestLogger.md#error)
 34 | - [getLogSnapshot](testing.TestLogger.md#getlogsnapshot)
 35 | - [info](testing.TestLogger.md#info)
 36 | - [verbose](testing.TestLogger.md#verbose)
 37 | - [warn](testing.TestLogger.md#warn)
 38 | 
 39 | ## Constructors
 40 | 
 41 | ### constructor
 42 | 
 43 | • **new TestLogger**(`originalLogger?`): [`TestLogger`](testing.TestLogger.md)
 44 | 
 45 | Create a new test logger that wraps the given logger if provided.
 46 | 
 47 | #### Parameters
 48 | 
 49 | | Name | Type | Description |
 50 | | :------ | :------ | :------ |
 51 | | `originalLogger?` | [`Logger`](../modules/types_logging.md#logger) | The optional original logger to wrap. |
 52 | 
 53 | #### Returns
 54 | 
 55 | [`TestLogger`](testing.TestLogger.md)
 56 | 
 57 | #### Defined in
 58 | 
 59 | [src/testing/test-logger.ts:16](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L16)
 60 | 
 61 | ## Properties
 62 | 
 63 | ### logs
 64 | 
 65 | • `Private` **logs**: `string`[]
 66 | 
 67 | #### Defined in
 68 | 
 69 | [src/testing/test-logger.ts:10](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L10)
 70 | 
 71 | ___
 72 | 
 73 | ### originalLogger
 74 | 
 75 | • `Private` **originalLogger**: `undefined` \| [`Logger`](../modules/types_logging.md#logger)
 76 | 
 77 | #### Defined in
 78 | 
 79 | [src/testing/test-logger.ts:9](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L9)
 80 | 
 81 | ## Accessors
 82 | 
 83 | ### capturedLogs
 84 | 
 85 | • `get` **capturedLogs**(): `string`[]
 86 | 
 87 | Returns all logs captured thus far.
 88 | 
 89 | #### Returns
 90 | 
 91 | `string`[]
 92 | 
 93 | #### Defined in
 94 | 
 95 | [src/testing/test-logger.ts:22](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L22)
 96 | 
 97 | ## Methods
 98 | 
 99 | ### clear
100 | 
101 | ▸ **clear**(): `void`
102 | 
103 | Clears all logs captured so far.
104 | 
105 | #### Returns
106 | 
107 | `void`
108 | 
109 | #### Defined in
110 | 
111 | [src/testing/test-logger.ts:27](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L27)
112 | 
113 | ___
114 | 
115 | ### debug
116 | 
117 | ▸ **debug**(`message`, `...optionalParams`): `void`
118 | 
119 | #### Parameters
120 | 
121 | | Name | Type |
122 | | :------ | :------ |
123 | | `message` | `string` |
124 | | `...optionalParams` | `unknown`[] |
125 | 
126 | #### Returns
127 | 
128 | `void`
129 | 
130 | #### Implementation of
131 | 
132 | Logger.debug
133 | 
134 | #### Defined in
135 | 
136 | [src/testing/test-logger.ts:89](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L89)
137 | 
138 | ___
139 | 
140 | ### error
141 | 
142 | ▸ **error**(`message`, `...optionalParams`): `void`
143 | 
144 | #### Parameters
145 | 
146 | | Name | Type |
147 | | :------ | :------ |
148 | | `message` | `string` |
149 | | `...optionalParams` | `unknown`[] |
150 | 
151 | #### Returns
152 | 
153 | `void`
154 | 
155 | #### Implementation of
156 | 
157 | Logger.error
158 | 
159 | #### Defined in
160 | 
161 | [src/testing/test-logger.ts:73](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L73)
162 | 
163 | ___
164 | 
165 | ### getLogSnapshot
166 | 
167 | ▸ **getLogSnapshot**(`config?`): `string`
168 | 
169 | Returns a captured log snapshot.
170 | This helps ensure that the provided configuration items won't appear
171 |  with random values in the log snapshot, but rather will get substituted with predictable ids.
172 | 
173 | https://jestjs.io/docs/snapshot-testing#2-tests-should-be-deterministic
174 | 
175 | #### Parameters
176 | 
177 | | Name | Type | Description |
178 | | :------ | :------ | :------ |
179 | | `config?` | [`LogSnapshotConfig`](../interfaces/types_testing.LogSnapshotConfig.md) | The snapshot configuration |
180 | 
181 | #### Returns
182 | 
183 | `string`
184 | 
185 | The snapshotted logs.
186 | 
187 | **`Example`**
188 | 
189 | ```typescript
190 | const logger = new TestLogger()
191 | ...
192 | expect(logger.getLogSnapshot()).toMatchSnapshot()
193 | ```
194 | 
195 | #### Defined in
196 | 
197 | [src/testing/test-logger.ts:47](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L47)
198 | 
199 | ___
200 | 
201 | ### info
202 | 
203 | ▸ **info**(`message`, `...optionalParams`): `void`
204 | 
205 | #### Parameters
206 | 
207 | | Name | Type |
208 | | :------ | :------ |
209 | | `message` | `string` |
210 | | `...optionalParams` | `unknown`[] |
211 | 
212 | #### Returns
213 | 
214 | `void`
215 | 
216 | #### Implementation of
217 | 
218 | Logger.info
219 | 
220 | #### Defined in
221 | 
222 | [src/testing/test-logger.ts:81](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L81)
223 | 
224 | ___
225 | 
226 | ### verbose
227 | 
228 | ▸ **verbose**(`message`, `...optionalParams`): `void`
229 | 
230 | #### Parameters
231 | 
232 | | Name | Type |
233 | | :------ | :------ |
234 | | `message` | `string` |
235 | | `...optionalParams` | `unknown`[] |
236 | 
237 | #### Returns
238 | 
239 | `void`
240 | 
241 | #### Implementation of
242 | 
243 | Logger.verbose
244 | 
245 | #### Defined in
246 | 
247 | [src/testing/test-logger.ts:85](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L85)
248 | 
249 | ___
250 | 
251 | ### warn
252 | 
253 | ▸ **warn**(`message`, `...optionalParams`): `void`
254 | 
255 | #### Parameters
256 | 
257 | | Name | Type |
258 | | :------ | :------ |
259 | | `message` | `string` |
260 | | `...optionalParams` | `unknown`[] |
261 | 
262 | #### Returns
263 | 
264 | `void`
265 | 
266 | #### Implementation of
267 | 
268 | Logger.warn
269 | 
270 | #### Defined in
271 | 
272 | [src/testing/test-logger.ts:77](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/test-logger.ts#L77)
273 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_account.md:
--------------------------------------------------------------------------------

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / types/account
  2 | 
  3 | # Module: types/account
  4 | 
  5 | ## Table of contents
  6 | 
  7 | ### Classes
  8 | 
  9 | - [MultisigAccount](../classes/types_account.MultisigAccount.md)
 10 | - [SigningAccount](../classes/types_account.SigningAccount.md)
 11 | 
 12 | ### Interfaces
 13 | 
 14 | - [AccountConfig](../interfaces/types_account.AccountConfig.md)
 15 | - [TransactionSignerAccount](../interfaces/types_account.TransactionSignerAccount.md)
 16 | 
 17 | ### Type Aliases
 18 | 
 19 | - [AccountAssetInformation](types_account.md#accountassetinformation)
 20 | - [AccountInformation](types_account.md#accountinformation)
 21 | 
 22 | ### Variables
 23 | 
 24 | - [DISPENSER\_ACCOUNT](types_account.md#dispenser_account)
 25 | 
 26 | ## Type Aliases
 27 | 
 28 | ### AccountAssetInformation
 29 | 
 30 | Ƭ **AccountAssetInformation**: `Object`
 31 | 
 32 | Account asset holding information at a given round.
 33 | 
 34 | #### Type declaration
 35 | 
 36 | | Name | Type | Description |
 37 | | :------ | :------ | :------ |
 38 | | `assetId` | `bigint` | The ID of the asset held. |
 39 | | `balance` | `bigint` | The current balance of that asset holding. |
 40 | | `frozen` | `boolean` | Whether or not the asset is frozen for the account. |
 41 | | `round` | `bigint` | The round as at which the holding was correct. |
 42 | 
 43 | #### Defined in
 44 | 
 45 | [src/types/account.ts:273](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L273)
 46 | 
 47 | ___
 48 | 
 49 | ### AccountInformation
 50 | 
 51 | Ƭ **AccountInformation**: `Object`
 52 | 
 53 | Account information at a given round.
 54 | 
 55 | #### Type declaration
 56 | 
 57 | | Name | Type | Description |
 58 | | :------ | :------ | :------ |
 59 | | `address` | `Address` | The account public key |
 60 | | `amountWithoutPendingRewards` | [`AlgoAmount`](../classes/types_amount.AlgoAmount.md) | The amount of Algo in the account, without the pending rewards. |
 61 | | `appsLocalState?` | `ApplicationLocalState`[] | Applications local data stored in this account. |
 62 | | `appsTotalExtraPages?` | `number` | The sum of all extra application program pages for this account. |
 63 | | `appsTotalSchema?` | `ApplicationStateSchema` | (tsch) stores the sum of all of the local schemas and global schemas in this account. Note: the raw account uses `StateSchema` for this type. |
 64 | | `assets?` | `AssetHolding`[] | Assets held by this account. |
 65 | | `authAddr?` | `Address` | The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the `RekeyTo` field. |
 66 | | `balance` | [`AlgoAmount`](../classes/types_amount.AlgoAmount.md) | The balance of Algo currently held by the account. |
 67 | | `createdApps?` | `Application`[] | Parameters of applications created by this account including app global data. |
 68 | | `createdAssets?` | `Asset`[] | (apar) parameters of assets created by this account. Note: the raw account uses `map[int] -> Asset` for this type. |
 69 | | `lastHeartbeatRound?` | `bigint` | The round in which this account last went online, or explicitly renewed their online status. |
 70 | | `lastProposedRound?` | `bigint` | The round in which this account last proposed the block. |
 71 | | `minBalance` | [`AlgoAmount`](../classes/types_amount.AlgoAmount.md) | Algo balance required to be held by the account. The requirement grows based on asset and application usage. |
 72 | | `participation?` | `AccountParticipation` | AccountParticipation describes the parameters used by this account in consensus protocol. |
 73 | | `pendingRewards` | [`AlgoAmount`](../classes/types_amount.AlgoAmount.md) | Amount of Algo of pending rewards in this account. |
 74 | | `rewardBase?` | `number` | Used as part of the rewards computation. Only applicable to accounts which are participating. |
 75 | | `rewards` | [`AlgoAmount`](../classes/types_amount.AlgoAmount.md) | Total rewards of Algo the account has received, including pending rewards. |
 76 | | `sigType?` | `string` | Indicates what type of signature is used by this account, must be one of: * sig * msig * lsig |
 77 | | `status` | `string` | Delegation status of the account's Algo: * Offline - indicates that the associated account is delegated. * Online - indicates that the associated account used as part of the delegation pool. * NotParticipating - indicates that the associated account is neither a delegator nor a delegate. |
 78 | | `totalAppsOptedIn` | `number` | The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account. |
 79 | | `totalAssetsOptedIn` | `number` | The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account. |
 80 | | `totalBoxBytes?` | `number` | The total number of bytes used by this account's app's box keys and values. |
 81 | | `totalBoxes?` | `number` | The number of existing boxes created by this account's app. |
 82 | | `totalCreatedApps` | `number` | The count of all apps (AppParams objects) created by this account. |
 83 | | `totalCreatedAssets` | `number` | The count of all assets (AssetParams objects) created by this account. |
 84 | | `validAsOfRound` | `bigint` | The round number for which this information is relevant. |
 85 | 
 86 | #### Defined in
 87 | 
 88 | [src/types/account.ts:124](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L124)
 89 | 
 90 | ## Variables
 91 | 
 92 | ### DISPENSER\_ACCOUNT
 93 | 
 94 | • `Const` **DISPENSER\_ACCOUNT**: ``"DISPENSER"``
 95 | 
 96 | The account name identifier used for fund dispensing in test environments
 97 | 
 98 | #### Defined in
 99 | 
100 | [src/types/account.ts:17](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L17)
101 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.SimulateTransactionGroupResult.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SimulateTransactionGroupResult
  2 | 
  3 | # Class: SimulateTransactionGroupResult
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).SimulateTransactionGroupResult
  6 | 
  7 | Simulation result for an atomic transaction group
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`SimulateTransactionGroupResult`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.SimulateTransactionGroupResult.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [appBudgetAdded](modelsv2.SimulateTransactionGroupResult.md#appbudgetadded)
 24 | - [appBudgetConsumed](modelsv2.SimulateTransactionGroupResult.md#appbudgetconsumed)
 25 | - [attribute\_map](modelsv2.SimulateTransactionGroupResult.md#attribute_map)
 26 | - [failedAt](modelsv2.SimulateTransactionGroupResult.md#failedat)
 27 | - [failureMessage](modelsv2.SimulateTransactionGroupResult.md#failuremessage)
 28 | - [txnResults](modelsv2.SimulateTransactionGroupResult.md#txnresults)
 29 | - [unnamedResourcesAccessed](modelsv2.SimulateTransactionGroupResult.md#unnamedresourcesaccessed)
 30 | 
 31 | ### Methods
 32 | 
 33 | - [get\_obj\_for\_encoding](modelsv2.SimulateTransactionGroupResult.md#get_obj_for_encoding)
 34 | - [from\_obj\_for\_encoding](modelsv2.SimulateTransactionGroupResult.md#from_obj_for_encoding)
 35 | 
 36 | ## Constructors
 37 | 
 38 | ### constructor
 39 | 
 40 | • **new SimulateTransactionGroupResult**(`«destructured»`)
 41 | 
 42 | Creates a new `SimulateTransactionGroupResult` object.
 43 | 
 44 | #### Parameters
 45 | 
 46 | | Name | Type |
 47 | | :------ | :------ |
 48 | | `«destructured»` | `Object` |
 49 | | › `appBudgetAdded?` | `number` \| `bigint` |
 50 | | › `appBudgetConsumed?` | `number` \| `bigint` |
 51 | | › `failedAt?` | (`number` \| `bigint`)[] |
 52 | | › `failureMessage?` | `string` |
 53 | | › `txnResults` | [`SimulateTransactionResult`](modelsv2.SimulateTransactionResult.md)[] |
 54 | | › `unnamedResourcesAccessed?` | [`SimulateUnnamedResourcesAccessed`](modelsv2.SimulateUnnamedResourcesAccessed.md) |
 55 | 
 56 | #### Overrides
 57 | 
 58 | BaseModel.constructor
 59 | 
 60 | #### Defined in
 61 | 
 62 | client/v2/algod/models/types.ts:4684
 63 | 
 64 | ## Properties
 65 | 
 66 | ### appBudgetAdded
 67 | 
 68 | • `Optional` **appBudgetAdded**: `number` \| `bigint`
 69 | 
 70 | Total budget added during execution of app calls in the transaction group.
 71 | 
 72 | #### Defined in
 73 | 
 74 | client/v2/algod/models/types.ts:4629
 75 | 
 76 | ___
 77 | 
 78 | ### appBudgetConsumed
 79 | 
 80 | • `Optional` **appBudgetConsumed**: `number` \| `bigint`
 81 | 
 82 | Total budget consumed during execution of app calls in the transaction group.
 83 | 
 84 | #### Defined in
 85 | 
 86 | client/v2/algod/models/types.ts:4634
 87 | 
 88 | ___
 89 | 
 90 | ### attribute\_map
 91 | 
 92 | • **attribute\_map**: `Record`\<`string`, `string`\>
 93 | 
 94 | #### Inherited from
 95 | 
 96 | BaseModel.attribute\_map
 97 | 
 98 | #### Defined in
 99 | 
100 | client/v2/basemodel.ts:56
101 | 
102 | ___
103 | 
104 | ### failedAt
105 | 
106 | • `Optional` **failedAt**: (`number` \| `bigint`)[]
107 | 
108 | If present, indicates which transaction in this group caused the failure. This
109 | array represents the path to the failing transaction. Indexes are zero based,
110 | the first element indicates the top-level transaction, and successive elements
111 | indicate deeper inner transactions.
112 | 
113 | #### Defined in
114 | 
115 | client/v2/algod/models/types.ts:4642
116 | 
117 | ___
118 | 
119 | ### failureMessage
120 | 
121 | • `Optional` **failureMessage**: `string`
122 | 
123 | If present, indicates that the transaction group failed and specifies why that
124 | happened
125 | 
126 | #### Defined in
127 | 
128 | client/v2/algod/models/types.ts:4648
129 | 
130 | ___
131 | 
132 | ### txnResults
133 | 
134 | • **txnResults**: [`SimulateTransactionResult`](modelsv2.SimulateTransactionResult.md)[]
135 | 
136 | Simulation result for individual transactions
137 | 
138 | #### Defined in
139 | 
140 | client/v2/algod/models/types.ts:4624
141 | 
142 | ___
143 | 
144 | ### unnamedResourcesAccessed
145 | 
146 | • `Optional` **unnamedResourcesAccessed**: [`SimulateUnnamedResourcesAccessed`](modelsv2.SimulateUnnamedResourcesAccessed.md)
147 | 
148 | These are resources that were accessed by this group that would normally have
149 | caused failure, but were allowed in simulation. Depending on where this object
150 | is in the response, the unnamed resources it contains may or may not qualify for
151 | group resource sharing. If this is a field in SimulateTransactionGroupResult,
152 | the resources do qualify, but if this is a field in SimulateTransactionResult,
153 | they do not qualify. In order to make this group valid for actual submission,
154 | resources that qualify for group sharing can be made available by any
155 | transaction of the group; otherwise, resources must be placed in the same
156 | transaction which accessed them.
157 | 
158 | #### Defined in
159 | 
160 | client/v2/algod/models/types.ts:4661
161 | 
162 | ## Methods
163 | 
164 | ### get\_obj\_for\_encoding
165 | 
166 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
167 | 
168 | Get an object ready for encoding to either JSON or msgpack.
169 | 
170 | #### Parameters
171 | 
172 | | Name | Type | Default value | Description |
173 | | :------ | :------ | :------ | :------ |
174 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
175 | 
176 | #### Returns
177 | 
178 | `Record`\<`string`, `any`\>
179 | 
180 | #### Inherited from
181 | 
182 | BaseModel.get\_obj\_for\_encoding
183 | 
184 | #### Defined in
185 | 
186 | client/v2/basemodel.ts:65
187 | 
188 | ___
189 | 
190 | ### from\_obj\_for\_encoding
191 | 
192 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SimulateTransactionGroupResult`](modelsv2.SimulateTransactionGroupResult.md)
193 | 
194 | #### Parameters
195 | 
196 | | Name | Type |
197 | | :------ | :------ |
198 | | `data` | `Record`\<`string`, `any`\> |
199 | 
200 | #### Returns
201 | 
202 | [`SimulateTransactionGroupResult`](modelsv2.SimulateTransactionGroupResult.md)
203 | 
204 | #### Defined in
205 | 
206 | client/v2/algod/models/types.ts:4718
207 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/docs:scripts:example_tracker:example_list.md:
--------------------------------------------------------------------------------

```markdown
  1 | The Examples are critical to have in working order and up to date.
  2 | 
  3 | Runnable source files should be placed in the `examples` directory of the respective SDKs as well as in PyTeal and Beaker.
  4 | 
  5 | ## SDKs
  6 | 
  7 | - ACCOUNT_GENERATE - Generate a new account
  8 | - ALGOD_CREATE_CLIENT - Create Algod client
  9 | - ALGOD_FETCH_ACCOUNT_INFO - Grab account information
 10 | - TRANSACTION_PAYMENT_CREATE - Create single Payment transaction
 11 | - TRANSACTION_PAYMENT_SIGN - Sign single Payment transaction
 12 | - TRANSACTION_PAYMENT_SUBMIT - Submit transaction and display result
 13 | - TRANSACTION_FEE_OVERRIDE - show how to override the fee
 14 | - SP_MIN_FEE - Show that the suggested params contain the min fee
 15 | - CONST_MIN_FEE - show that the SDK has consts that can be used
 16 | 
 17 | ## REST APIs
 18 | ### Algod Client:
 19 | 
 20 | - ALGOD_CREATE_CLIENT - show how to init client and connect to algod and pass api keys in header
 21 | - ALGOD_USE_CLIENT - fetch some data like suggested params
 22 | 
 23 | ### Indexer Client:
 24 | 
 25 | - CREATE_INDEXER_CLIENT - show how to init client and connect to indexer and pass api keys in header ( TODO: rename to INDEXER_CREATE_CLIENT )
 26 | - INDEXER_LOOKUP_ASSET - Find asset by id, print details
 27 | - INDEXER_PAGINATE_RESULTS - Iterate over pages in results
 28 | - INDEXER_PREFIX_SEARCH - Show searching by note prefix
 29 | - INDEXER_SEARCH_MIN_AMOUNT - Show searching for accounts with min amount
 30 | 
 31 | ### KMD:
 32 | 
 33 | - KMD_CREATE_CLIENT - Show how to init client and connect to kmd
 34 | - KMD_CREATE_WALLET - Show how to create a new wallet
 35 | - KMD_RECOVER_WALLET - show how to recover a wallet
 36 | - KMD_CREATE_ACCOUNT - Show how to create a new account
 37 | - KMD_IMPORT_ACCOUNT - Show how to create a new account
 38 | - KMD_EXPORT_ACCOUNT - show how to get the list of accounts in a wallet
 39 | 
 40 | ## Accounts
 41 | 
 42 | - ACCOUNT_GENERATE - generate a new account with the SDK (mirrors SDK reference page)
 43 | - ACCOUNT_RECOVER_MNEMONIC - Create an account from a known mnemonic and print pubkey/privatekey
 44 | - ACCOUNT_RECOVER_PRIVATE_KEY - Create an account from a known private key and print pubkey/mnemonic
 45 | - ACCOUNT_MULTISIG_CREATE - Create a multisig account from a list of accounts
 46 | - ACCOUNT_REKEY - show how to rekey an account
 47 | 
 48 | ### Multisig Accounts
 49 | 
 50 | - MULTISIG_CREATE - Create a multisig from 3 accounts
 51 | - MULTISIG_SIGN - Sign a transaction with the multisig 
 52 | 
 53 | ### Lsig Accounts
 54 | 
 55 | - LSIG_COMPILE - Read a TEAL file and compile it
 56 | - LSIG_INIT - Create a LogicSig object from the compiled TEAL
 57 | - LSIG_PASS_ARGS - Pass arguments to the LogicSig
 58 | - LSIG_SIGN_FULL - Sign a transaction with the LogicSig
 59 | - LSIG_DELEGATE_FULL - Delegate the LogicSig to another account
 60 | 
 61 | ## ASAs
 62 | 
 63 | - ASSET_CREATE - Create an Asset from acct1
 64 | - ASSET_OPTIN - Opt acct2 in to the newly created asset
 65 | - ASSET_XFER - Send asset from acct1 to acct2
 66 | - ASSET_FREEZE - Freeze the asset in acct2 and then unfreeze the asset in acct2
 67 | - ASSET_CONFIG - Reconfigure Asset to remove the freeze address
 68 | - ASSET_CLAWBACK - Clawback Asset from acct2
 69 | - ASSET_OPT_OUT - Opt out of the asset
 70 | - ASSET_DELETE - Delete the asset
 71 | - ASSET_INFO - Show how to query the asset info from algod
 72 | 
 73 | ## Applications
 74 | 
 75 | - APP_SCHEMA - Show setting schema for the app
 76 | - APP_SOURCE - Show reading teal file
 77 | - APP_COMPILE - Show compile teal source
 78 | - APP_CREATE - App call to create the app
 79 | - APP_CALL - App call to call the app
 80 | - APP_READ_STATE - Read state for the app from the algod
 81 | - APP_OPTIN - Opt in to the app
 82 | - APP_CLEAR - Clear state for the app
 83 | - APP_CLOSEOUT - Close out of the app
 84 | - APP_NOOP - Noop call to the app
 85 | - APP_UPDATE - Update the app source
 86 | - APP_DELETE - Delete the app
 87 | 
 88 | ## Atomic Transactions
 89 | 
 90 | ### No ATC
 91 | 
 92 | - ATOMIC_CREATE_TXNS - Create a couple Payment transactions
 93 | - ATOMIC_GROUP_TXNS - Group them
 94 | - ATOMIC_GROUP_DEBUG - print the group ids and txids #TODO
 95 | - ATOMIC_GROUP_SIGN - sign them
 96 | - ATOMIC_GROUP_ASSEMBLE - re-assemble signed transaction (??)
 97 | - ATOMIC_GROUP_SEND - send them
 98 | - ATOMIC*GROUP_RESULTS - Show how to get \_all* the results back (not just the first txid) # TODO
 99 | 
100 | ### With ATC
101 | 
102 | - ATC_CREATE - Create a new instance of the ATC
103 | - ATC_CREATE_SIGNER - Show how to create a TransactionSigner
104 | - ATC_ADD_TRANSACTION - Add a simple transaction to the ATC
105 | - ATC_CONTRACT_INIT - Create a Contract object
106 | - ATC_ADD_METHOD_CALL - Call a method using the Contract object
107 | - ATC_GROUP_TXIDS - Show how you can get the transaction group and print the group ids and txids
108 | - ATC_RESULTS - Execute the group, Show how to get the results (esp for non method calls)
109 | - ATC_BOX_REF - Show how to set a reference to the box
110 | 
111 | ## Encoding/Decoding
112 | 
113 | - CODEC_ADDRESS - Address
114 | - CODEC_BASE64 - arbitrary byte slices encoded as b64
115 | - CODEC_UINT64 - Uint64
116 | - CODEC_STATE - Global/local state - how to decode, what the types mean
117 | - CODEC_ABI_TYPES - ABI types (using something like ABIType.from("(uint64,address)"))
118 | - CODEC_TRANSACTION_UNSIGNED - Show how to read/write unsigned transactions
119 | - CODEC_TRANSACTION_SIGNED- Show how to read/write signed transactions
120 | - CODEC_ABI - Show how to encode/decode from an ABI type
121 | - CODEC_BLOCKS - Blocks [not implemented yet]
122 | 
123 | ## Transactions
124 | 
125 | - TRANSACTION_SIGN_OFFLINE - Show how to create and sign a transaction using cold wallet
126 | - TRANSACTION_KEYREG_OFFLINE_CREATE - Create a keyreg txn to take an account offline
127 | - TRANSACTION_KEYREG_ONLINE_CREATE - Create a keyreg txn to take an account online
128 | 
129 | ## Debugging
130 | 
131 | - DEBUG_DRYRUN_DUMP - Create a file with a dryrun request object encoded as msgpack
132 | - DEBUG_DRYRUN_SUBMIT - Create a dryrun request and submit it to the algod
133 | 
```
Page 21/93FirstPrevNextLast