This is page 18 of 93. Use http://codebase.md/goplausible/algorand-mcp?format=md&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/SDKs:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SimulationOpcodeTraceUnit
  2 | 
  3 | # Class: SimulationOpcodeTraceUnit
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).SimulationOpcodeTraceUnit
  6 | 
  7 | The set of trace information and effect from evaluating a single opcode.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`SimulationOpcodeTraceUnit`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.SimulationOpcodeTraceUnit.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](modelsv2.SimulationOpcodeTraceUnit.md#attribute_map)
 24 | - [pc](modelsv2.SimulationOpcodeTraceUnit.md#pc)
 25 | - [scratchChanges](modelsv2.SimulationOpcodeTraceUnit.md#scratchchanges)
 26 | - [spawnedInners](modelsv2.SimulationOpcodeTraceUnit.md#spawnedinners)
 27 | - [stackAdditions](modelsv2.SimulationOpcodeTraceUnit.md#stackadditions)
 28 | - [stackPopCount](modelsv2.SimulationOpcodeTraceUnit.md#stackpopcount)
 29 | - [stateChanges](modelsv2.SimulationOpcodeTraceUnit.md#statechanges)
 30 | 
 31 | ### Methods
 32 | 
 33 | - [get\_obj\_for\_encoding](modelsv2.SimulationOpcodeTraceUnit.md#get_obj_for_encoding)
 34 | - [from\_obj\_for\_encoding](modelsv2.SimulationOpcodeTraceUnit.md#from_obj_for_encoding)
 35 | 
 36 | ## Constructors
 37 | 
 38 | ### constructor
 39 | 
 40 | • **new SimulationOpcodeTraceUnit**(`«destructured»`)
 41 | 
 42 | Creates a new `SimulationOpcodeTraceUnit` object.
 43 | 
 44 | #### Parameters
 45 | 
 46 | | Name | Type |
 47 | | :------ | :------ |
 48 | | `«destructured»` | `Object` |
 49 | | › `pc` | `number` \| `bigint` |
 50 | | › `scratchChanges?` | [`ScratchChange`](modelsv2.ScratchChange.md)[] |
 51 | | › `spawnedInners?` | (`number` \| `bigint`)[] |
 52 | | › `stackAdditions?` | [`AvmValue`](modelsv2.AvmValue.md)[] |
 53 | | › `stackPopCount?` | `number` \| `bigint` |
 54 | | › `stateChanges?` | [`ApplicationStateOperation`](modelsv2.ApplicationStateOperation.md)[] |
 55 | 
 56 | #### Overrides
 57 | 
 58 | BaseModel.constructor
 59 | 
 60 | #### Defined in
 61 | 
 62 | client/v2/algod/models/types.ts:5155
 63 | 
 64 | ## Properties
 65 | 
 66 | ### attribute\_map
 67 | 
 68 | • **attribute\_map**: `Record`\<`string`, `string`\>
 69 | 
 70 | #### Inherited from
 71 | 
 72 | BaseModel.attribute\_map
 73 | 
 74 | #### Defined in
 75 | 
 76 | client/v2/basemodel.ts:56
 77 | 
 78 | ___
 79 | 
 80 | ### pc
 81 | 
 82 | • **pc**: `number` \| `bigint`
 83 | 
 84 | The program counter of the current opcode being evaluated.
 85 | 
 86 | #### Defined in
 87 | 
 88 | client/v2/algod/models/types.ts:5119
 89 | 
 90 | ___
 91 | 
 92 | ### scratchChanges
 93 | 
 94 | • `Optional` **scratchChanges**: [`ScratchChange`](modelsv2.ScratchChange.md)[]
 95 | 
 96 | The writes into scratch slots.
 97 | 
 98 | #### Defined in
 99 | 
100 | client/v2/algod/models/types.ts:5124
101 | 
102 | ___
103 | 
104 | ### spawnedInners
105 | 
106 | • `Optional` **spawnedInners**: (`number` \| `bigint`)[]
107 | 
108 | The indexes of the traces for inner transactions spawned by this opcode, if any.
109 | 
110 | #### Defined in
111 | 
112 | client/v2/algod/models/types.ts:5129
113 | 
114 | ___
115 | 
116 | ### stackAdditions
117 | 
118 | • `Optional` **stackAdditions**: [`AvmValue`](modelsv2.AvmValue.md)[]
119 | 
120 | The values added by this opcode to the stack.
121 | 
122 | #### Defined in
123 | 
124 | client/v2/algod/models/types.ts:5134
125 | 
126 | ___
127 | 
128 | ### stackPopCount
129 | 
130 | • `Optional` **stackPopCount**: `number` \| `bigint`
131 | 
132 | The number of deleted stack values by this opcode.
133 | 
134 | #### Defined in
135 | 
136 | client/v2/algod/models/types.ts:5139
137 | 
138 | ___
139 | 
140 | ### stateChanges
141 | 
142 | • `Optional` **stateChanges**: [`ApplicationStateOperation`](modelsv2.ApplicationStateOperation.md)[]
143 | 
144 | The operations against the current application's states.
145 | 
146 | #### Defined in
147 | 
148 | client/v2/algod/models/types.ts:5144
149 | 
150 | ## Methods
151 | 
152 | ### get\_obj\_for\_encoding
153 | 
154 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
155 | 
156 | Get an object ready for encoding to either JSON or msgpack.
157 | 
158 | #### Parameters
159 | 
160 | | Name | Type | Default value | Description |
161 | | :------ | :------ | :------ | :------ |
162 | | `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. |
163 | 
164 | #### Returns
165 | 
166 | `Record`\<`string`, `any`\>
167 | 
168 | #### Inherited from
169 | 
170 | BaseModel.get\_obj\_for\_encoding
171 | 
172 | #### Defined in
173 | 
174 | client/v2/basemodel.ts:65
175 | 
176 | ___
177 | 
178 | ### from\_obj\_for\_encoding
179 | 
180 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SimulationOpcodeTraceUnit`](modelsv2.SimulationOpcodeTraceUnit.md)
181 | 
182 | #### Parameters
183 | 
184 | | Name | Type |
185 | | :------ | :------ |
186 | | `data` | `Record`\<`string`, `any`\> |
187 | 
188 | #### Returns
189 | 
190 | [`SimulationOpcodeTraceUnit`](modelsv2.SimulationOpcodeTraceUnit.md)
191 | 
192 | #### Defined in
193 | 
194 | client/v2/algod/models/types.ts:5189
195 | 
```

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

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / types/app-spec
  2 | 
  3 | # Module: types/app-spec
  4 | 
  5 | ## Table of contents
  6 | 
  7 | ### Interfaces
  8 | 
  9 | - [AppSources](../interfaces/types_app_spec.AppSources.md)
 10 | - [AppSpec](../interfaces/types_app_spec.AppSpec.md)
 11 | - [CallConfig](../interfaces/types_app_spec.CallConfig.md)
 12 | - [DeclaredSchemaValueSpec](../interfaces/types_app_spec.DeclaredSchemaValueSpec.md)
 13 | - [Hint](../interfaces/types_app_spec.Hint.md)
 14 | - [ReservedSchemaValueSpec](../interfaces/types_app_spec.ReservedSchemaValueSpec.md)
 15 | - [Schema](../interfaces/types_app_spec.Schema.md)
 16 | - [SchemaSpec](../interfaces/types_app_spec.SchemaSpec.md)
 17 | - [StateSchemaSpec](../interfaces/types_app_spec.StateSchemaSpec.md)
 18 | - [Struct](../interfaces/types_app_spec.Struct.md)
 19 | 
 20 | ### Type Aliases
 21 | 
 22 | - [ABIType](types_app_spec.md#abitype)
 23 | - [AVMType](types_app_spec.md#avmtype)
 24 | - [CallConfigValue](types_app_spec.md#callconfigvalue)
 25 | - [DefaultArgument](types_app_spec.md#defaultargument)
 26 | - [FieldName](types_app_spec.md#fieldname)
 27 | - [HintSpec](types_app_spec.md#hintspec)
 28 | - [StateSchema](types_app_spec.md#stateschema)
 29 | - [StructElement](types_app_spec.md#structelement)
 30 | 
 31 | ### Functions
 32 | 
 33 | - [arc32ToArc56](types_app_spec.md#arc32toarc56)
 34 | 
 35 | ## Type Aliases
 36 | 
 37 | ### ABIType
 38 | 
 39 | Ƭ **ABIType**: `string`
 40 | 
 41 | The string name of an ABI type
 42 | 
 43 | #### Defined in
 44 | 
 45 | [src/types/app-spec.ts:203](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L203)
 46 | 
 47 | ___
 48 | 
 49 | ### AVMType
 50 | 
 51 | Ƭ **AVMType**: ``"uint64"`` \| ``"bytes"``
 52 | 
 53 | AVM data type
 54 | 
 55 | #### Defined in
 56 | 
 57 | [src/types/app-spec.ts:259](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L259)
 58 | 
 59 | ___
 60 | 
 61 | ### CallConfigValue
 62 | 
 63 | Ƭ **CallConfigValue**: ``"NEVER"`` \| ``"CALL"`` \| ``"CREATE"`` \| ``"ALL"``
 64 | 
 65 | The various call configs:
 66 |  * `NEVER`: Will not be called
 67 |  * `CALL`: Can be called during a non-create call i.e. app id != 0
 68 |  * `CREATE`: Can be called during a create call i.e. app id = 0
 69 |  * `ALL`: Can be during a create OR non-create call
 70 | 
 71 | #### Defined in
 72 | 
 73 | [src/types/app-spec.ts:174](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L174)
 74 | 
 75 | ___
 76 | 
 77 | ### DefaultArgument
 78 | 
 79 | Ƭ **DefaultArgument**: \{ `data`: `ABIMethodParams` ; `source`: ``"abi-method"``  } \| \{ `data`: `string` ; `source`: ``"global-state"``  } \| \{ `data`: `string` ; `source`: ``"local-state"``  } \| \{ `data`: `string` \| `number` ; `source`: ``"constant"``  }
 80 | 
 81 | Defines a strategy for obtaining a default value for a given ABI arg.
 82 | 
 83 | #### Defined in
 84 | 
 85 | [src/types/app-spec.ts:219](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L219)
 86 | 
 87 | ___
 88 | 
 89 | ### FieldName
 90 | 
 91 | Ƭ **FieldName**: `string`
 92 | 
 93 | The name of a field
 94 | 
 95 | #### Defined in
 96 | 
 97 | [src/types/app-spec.ts:200](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L200)
 98 | 
 99 | ___
100 | 
101 | ### HintSpec
102 | 
103 | Ƭ **HintSpec**: `Record`\<`string`, [`Hint`](../interfaces/types_app_spec.Hint.md)\>
104 | 
105 | A lookup of encoded method call spec to hint
106 | 
107 | #### Defined in
108 | 
109 | [src/types/app-spec.ts:158](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L158)
110 | 
111 | ___
112 | 
113 | ### StateSchema
114 | 
115 | Ƭ **StateSchema**: `Object`
116 | 
117 | Schema spec summary for global or local storage
118 | 
119 | #### Type declaration
120 | 
121 | | Name | Type | Description |
122 | | :------ | :------ | :------ |
123 | | `num_byte_slices` | `number` | Number of byte slots |
124 | | `num_uints` | `number` | Number of uint slots |
125 | 
126 | #### Defined in
127 | 
128 | [src/types/app-spec.ts:308](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L308)
129 | 
130 | ___
131 | 
132 | ### StructElement
133 | 
134 | Ƭ **StructElement**: [[`FieldName`](types_app_spec.md#fieldname), [`ABIType`](types_app_spec.md#abitype)]
135 | 
136 | The elements of the struct/tuple: `FieldName`, `ABIType`
137 | 
138 | #### Defined in
139 | 
140 | [src/types/app-spec.ts:206](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L206)
141 | 
142 | ## Functions
143 | 
144 | ### arc32ToArc56
145 | 
146 | ▸ **arc32ToArc56**(`appSpec`): [`Arc56Contract`](../interfaces/types_app_arc56.Arc56Contract.md)
147 | 
148 | #### Parameters
149 | 
150 | | Name | Type |
151 | | :------ | :------ |
152 | | `appSpec` | [`AppSpec`](../interfaces/types_app_spec.AppSpec.md) |
153 | 
154 | #### Returns
155 | 
156 | [`Arc56Contract`](../interfaces/types_app_arc56.Arc56Contract.md)
157 | 
158 | #### Defined in
159 | 
160 | [src/types/app-spec.ts:7](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L7)
161 | 
```

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

```markdown
 1 | # Algorand Python
 2 | 
 3 | Algorand Python is a partial implementation of the Python programming language that runs on the AVM. It includes a statically typed framework for development of Algorand smart contracts and logic signatures, with Pythonic interfaces to underlying AVM functionality that works with standard Python tooling.
 4 | 
 5 | Algorand Python is compiled for execution on the AVM by PuyaPy, an optimising compiler that ensures the resulting AVM bytecode execution semantics that match the given Python code. PuyaPy produces output that is directly compatible with [AlgoKit typed clients](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/generate.md#1-typed-clients) to make deployment and calling easy.
 6 | 
 7 | [Documentation](https://algorandfoundation.github.io/puya/) | [Language guide](https://algorandfoundation.github.io/puya/language-guide.html)
 8 | 
 9 | ## Installation
10 | 
11 | ### Recommended method
12 | 
13 | The easiest way to use Algorand Python is to instantiate a template with AlgoKit via:
14 | 
15 | ```algokit init -t python```
16 | 
17 | This will give you a full development environment with intellisense, linting, automatic formatting, breakpoint debugging, deployment and CI/CD.
18 | 
19 | A sample smart contract will be placed under `PROJECT_NAME/projects/PROJECT_NAME/smart_contracts/SMART_CONTRACT_NAME/contract.py` (replacing `PROJECT_NAME` and `SMART_CONTRACT_NAME` with the values you chose during the template wizard.)
20 | 
21 | ### Manual Alternative
22 | 
23 | Alternatively, if you want to start from scratch you can do the following:
24 | 
25 | 1. Ensure you have Python 3.12+
26 | 2. Install [AlgoKit CLI](https://github.com/algorandfoundation/algokit-cli?tab=readme-ov-file#install)
27 | 3. Check you can run the compiler:
28 |     ```shell
29 |     algokit compile py -h
30 |     ```
31 | 4. Install Algorand Python into your project `poetry add algorand-python`
32 | 5. Create a contract in a (e.g.) `contract.py` file:
33 |     ```python
34 |     from algopy import ARC4Contract, arc4
35 |     class HelloWorldContract(ARC4Contract):
36 |         @arc4.abimethod
37 |         def hello(self, name: arc4.String) -> arc4.String:
38 |             return "Hello, " + name
39 |     ```
40 | 
41 | ## Usage
42 | 
43 | 1. Navigate to your contract and compile it:
44 |     ```shell
45 |     algokit compile py contract.py
46 |     ```
47 | 2. You should now have `HelloWorldContract.approval.teal` and `HelloWorldContract.clear.teal` on the file system!
48 | 3. We generally recommend using ARC-32 and [generated typed clients](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/generate.md#1-typed-clients) to have the most optimal deployment and consumption experience; to do this you need to ask PuyaPy to output an ARC-32 compatible app spec file:
49 |     ```shell
50 |     algokit compile py contract.py --output-arc32 --no-output-teal
51 |     ```
52 | 4. You should now have `HelloWorldContract.arc32.json`, which can be generated into a client e.g. using AlgoKit CLI:
53 |     ```shell
54 |     algokit generate client HelloWorldContract.arc32.json --output client.py
55 |     ```
56 | 5. From here you can dive into the [examples](https://github.com/algorandfoundation/puya/tree/main/examples) or look at the [documentation](https://algorandfoundation.github.io/puya/).
57 | 
58 | ## Examples
59 | 
60 | There are [many](https://github.com/algorandfoundation/puya/tree/main/examples) [examples](https://github.com/algorandfoundation/puya/tree/main/test_cases) in this repo, here are some of the more useful ones that showcase what
61 | is possible.
62 | 
63 | -   [hello world](https://github.com/algorandfoundation/puya/tree/main/examples/hello_world/contract.py)
64 | -   [hello world (ARC4)](https://github.com/algorandfoundation/puya/tree/main/examples/hello_world_arc4/contract.py)
65 | -   [voting](https://github.com/algorandfoundation/puya/tree/main/examples/voting/voting.py)
66 | -   [AMM](https://github.com/algorandfoundation/puya/tree/main/examples/amm/contract.py)
67 | -   [auction](https://github.com/algorandfoundation/puya/tree/main/examples/auction/contract.py)
68 | -   [non-ABI calculator](https://github.com/algorandfoundation/puya/tree/main/examples/calculator/contract.py)
69 | -   [local storage](https://github.com/algorandfoundation/puya/tree/main/examples/local_state/local_state_contract.py)
70 | 
71 | The compiled output is available under the `out/` directory alongside these, e.g. the approval
72 | TEAL for `voting` is available at [examples/voting/out/VotingRoundApp.approval.teal](https://github.com/algorandfoundation/puya/blob/main/examples/voting/out/VotingRoundApp.approval.teal).
73 | 
```

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

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SimulationEvalOverrides
  2 | 
  3 | # Class: SimulationEvalOverrides
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).SimulationEvalOverrides
  6 | 
  7 | The set of parameters and limits override during simulation. If this set of
  8 | parameters is present, then evaluation parameters may differ from standard
  9 | evaluation in certain ways.
 10 | 
 11 | ## Hierarchy
 12 | 
 13 | - `default`
 14 | 
 15 |   ↳ **`SimulationEvalOverrides`**
 16 | 
 17 | ## Table of contents
 18 | 
 19 | ### Constructors
 20 | 
 21 | - [constructor](modelsv2.SimulationEvalOverrides.md#constructor)
 22 | 
 23 | ### Properties
 24 | 
 25 | - [allowEmptySignatures](modelsv2.SimulationEvalOverrides.md#allowemptysignatures)
 26 | - [allowUnnamedResources](modelsv2.SimulationEvalOverrides.md#allowunnamedresources)
 27 | - [attribute\_map](modelsv2.SimulationEvalOverrides.md#attribute_map)
 28 | - [extraOpcodeBudget](modelsv2.SimulationEvalOverrides.md#extraopcodebudget)
 29 | - [fixSigners](modelsv2.SimulationEvalOverrides.md#fixsigners)
 30 | - [maxLogCalls](modelsv2.SimulationEvalOverrides.md#maxlogcalls)
 31 | - [maxLogSize](modelsv2.SimulationEvalOverrides.md#maxlogsize)
 32 | 
 33 | ### Methods
 34 | 
 35 | - [get\_obj\_for\_encoding](modelsv2.SimulationEvalOverrides.md#get_obj_for_encoding)
 36 | - [from\_obj\_for\_encoding](modelsv2.SimulationEvalOverrides.md#from_obj_for_encoding)
 37 | 
 38 | ## Constructors
 39 | 
 40 | ### constructor
 41 | 
 42 | • **new SimulationEvalOverrides**(`«destructured»`)
 43 | 
 44 | Creates a new `SimulationEvalOverrides` object.
 45 | 
 46 | #### Parameters
 47 | 
 48 | | Name | Type |
 49 | | :------ | :------ |
 50 | | `«destructured»` | `Object` |
 51 | | › `allowEmptySignatures?` | `boolean` |
 52 | | › `allowUnnamedResources?` | `boolean` |
 53 | | › `extraOpcodeBudget?` | `number` \| `bigint` |
 54 | | › `fixSigners?` | `boolean` |
 55 | | › `maxLogCalls?` | `number` \| `bigint` |
 56 | | › `maxLogSize?` | `number` \| `bigint` |
 57 | 
 58 | #### Overrides
 59 | 
 60 | BaseModel.constructor
 61 | 
 62 | #### Defined in
 63 | 
 64 | client/v2/algod/models/types.ts:5062
 65 | 
 66 | ## Properties
 67 | 
 68 | ### allowEmptySignatures
 69 | 
 70 | • `Optional` **allowEmptySignatures**: `boolean`
 71 | 
 72 | If true, transactions without signatures are allowed and simulated as if they
 73 | were properly signed.
 74 | 
 75 | #### Defined in
 76 | 
 77 | client/v2/algod/models/types.ts:5023
 78 | 
 79 | ___
 80 | 
 81 | ### allowUnnamedResources
 82 | 
 83 | • `Optional` **allowUnnamedResources**: `boolean`
 84 | 
 85 | If true, allows access to unnamed resources during simulation.
 86 | 
 87 | #### Defined in
 88 | 
 89 | client/v2/algod/models/types.ts:5028
 90 | 
 91 | ___
 92 | 
 93 | ### attribute\_map
 94 | 
 95 | • **attribute\_map**: `Record`\<`string`, `string`\>
 96 | 
 97 | #### Inherited from
 98 | 
 99 | BaseModel.attribute\_map
100 | 
101 | #### Defined in
102 | 
103 | client/v2/basemodel.ts:56
104 | 
105 | ___
106 | 
107 | ### extraOpcodeBudget
108 | 
109 | • `Optional` **extraOpcodeBudget**: `number` \| `bigint`
110 | 
111 | The extra opcode budget added to each transaction group during simulation
112 | 
113 | #### Defined in
114 | 
115 | client/v2/algod/models/types.ts:5033
116 | 
117 | ___
118 | 
119 | ### fixSigners
120 | 
121 | • `Optional` **fixSigners**: `boolean`
122 | 
123 | If true, signers for transactions that are missing signatures will be fixed
124 | during evaluation.
125 | 
126 | #### Defined in
127 | 
128 | client/v2/algod/models/types.ts:5039
129 | 
130 | ___
131 | 
132 | ### maxLogCalls
133 | 
134 | • `Optional` **maxLogCalls**: `number` \| `bigint`
135 | 
136 | The maximum log calls one can make during simulation
137 | 
138 | #### Defined in
139 | 
140 | client/v2/algod/models/types.ts:5044
141 | 
142 | ___
143 | 
144 | ### maxLogSize
145 | 
146 | • `Optional` **maxLogSize**: `number` \| `bigint`
147 | 
148 | The maximum byte number to log during simulation
149 | 
150 | #### Defined in
151 | 
152 | client/v2/algod/models/types.ts:5049
153 | 
154 | ## Methods
155 | 
156 | ### get\_obj\_for\_encoding
157 | 
158 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
159 | 
160 | Get an object ready for encoding to either JSON or msgpack.
161 | 
162 | #### Parameters
163 | 
164 | | Name | Type | Default value | Description |
165 | | :------ | :------ | :------ | :------ |
166 | | `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. |
167 | 
168 | #### Returns
169 | 
170 | `Record`\<`string`, `any`\>
171 | 
172 | #### Inherited from
173 | 
174 | BaseModel.get\_obj\_for\_encoding
175 | 
176 | #### Defined in
177 | 
178 | client/v2/basemodel.ts:65
179 | 
180 | ___
181 | 
182 | ### from\_obj\_for\_encoding
183 | 
184 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md)
185 | 
186 | #### Parameters
187 | 
188 | | Name | Type |
189 | | :------ | :------ |
190 | | `data` | `Record`\<`string`, `any`\> |
191 | 
192 | #### Returns
193 | 
194 | [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md)
195 | 
196 | #### Defined in
197 | 
198 | client/v2/algod/models/types.ts:5096
199 | 
```

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

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / StateProofFields
  2 | 
  3 | # Class: StateProofFields
  4 | 
  5 | [indexerModels](../modules/indexerModels.md).StateProofFields
  6 | 
  7 | (sp) represents a state proof.
  8 | Definition:
  9 | crypto/stateproof/structs.go : StateProof
 10 | 
 11 | ## Hierarchy
 12 | 
 13 | - `default`
 14 | 
 15 |   ↳ **`StateProofFields`**
 16 | 
 17 | ## Table of contents
 18 | 
 19 | ### Constructors
 20 | 
 21 | - [constructor](indexerModels.StateProofFields.md#constructor)
 22 | 
 23 | ### Properties
 24 | 
 25 | - [attribute\_map](indexerModels.StateProofFields.md#attribute_map)
 26 | - [partProofs](indexerModels.StateProofFields.md#partproofs)
 27 | - [positionsToReveal](indexerModels.StateProofFields.md#positionstoreveal)
 28 | - [reveals](indexerModels.StateProofFields.md#reveals)
 29 | - [saltVersion](indexerModels.StateProofFields.md#saltversion)
 30 | - [sigCommit](indexerModels.StateProofFields.md#sigcommit)
 31 | - [sigProofs](indexerModels.StateProofFields.md#sigproofs)
 32 | - [signedWeight](indexerModels.StateProofFields.md#signedweight)
 33 | 
 34 | ### Methods
 35 | 
 36 | - [get\_obj\_for\_encoding](indexerModels.StateProofFields.md#get_obj_for_encoding)
 37 | - [from\_obj\_for\_encoding](indexerModels.StateProofFields.md#from_obj_for_encoding)
 38 | 
 39 | ## Constructors
 40 | 
 41 | ### constructor
 42 | 
 43 | • **new StateProofFields**(`«destructured»`)
 44 | 
 45 | Creates a new `StateProofFields` object.
 46 | 
 47 | #### Parameters
 48 | 
 49 | | Name | Type |
 50 | | :------ | :------ |
 51 | | `«destructured»` | `Object` |
 52 | | › `partProofs?` | [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md) |
 53 | | › `positionsToReveal?` | (`number` \| `bigint`)[] |
 54 | | › `reveals?` | [`StateProofReveal`](indexerModels.StateProofReveal.md)[] |
 55 | | › `saltVersion?` | `number` \| `bigint` |
 56 | | › `sigCommit?` | `string` \| `Uint8Array` |
 57 | | › `sigProofs?` | [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md) |
 58 | | › `signedWeight?` | `number` \| `bigint` |
 59 | 
 60 | #### Overrides
 61 | 
 62 | BaseModel.constructor
 63 | 
 64 | #### Defined in
 65 | 
 66 | client/v2/indexer/models/types.ts:3515
 67 | 
 68 | ## Properties
 69 | 
 70 | ### attribute\_map
 71 | 
 72 | • **attribute\_map**: `Record`\<`string`, `string`\>
 73 | 
 74 | #### Inherited from
 75 | 
 76 | BaseModel.attribute\_map
 77 | 
 78 | #### Defined in
 79 | 
 80 | client/v2/basemodel.ts:56
 81 | 
 82 | ___
 83 | 
 84 | ### partProofs
 85 | 
 86 | • `Optional` **partProofs**: [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md)
 87 | 
 88 | (P)
 89 | 
 90 | #### Defined in
 91 | 
 92 | client/v2/indexer/models/types.ts:3471
 93 | 
 94 | ___
 95 | 
 96 | ### positionsToReveal
 97 | 
 98 | • `Optional` **positionsToReveal**: (`number` \| `bigint`)[]
 99 | 
100 | (pr) Sequence of reveal positions.
101 | 
102 | #### Defined in
103 | 
104 | client/v2/indexer/models/types.ts:3476
105 | 
106 | ___
107 | 
108 | ### reveals
109 | 
110 | • `Optional` **reveals**: [`StateProofReveal`](indexerModels.StateProofReveal.md)[]
111 | 
112 | (r) Note that this is actually stored as a map[uint64] - Reveal in the actual
113 | msgp
114 | 
115 | #### Defined in
116 | 
117 | client/v2/indexer/models/types.ts:3482
118 | 
119 | ___
120 | 
121 | ### saltVersion
122 | 
123 | • `Optional` **saltVersion**: `number` \| `bigint`
124 | 
125 | (v) Salt version of the merkle signature.
126 | 
127 | #### Defined in
128 | 
129 | client/v2/indexer/models/types.ts:3487
130 | 
131 | ___
132 | 
133 | ### sigCommit
134 | 
135 | • `Optional` **sigCommit**: `Uint8Array`
136 | 
137 | (c)
138 | 
139 | #### Defined in
140 | 
141 | client/v2/indexer/models/types.ts:3492
142 | 
143 | ___
144 | 
145 | ### sigProofs
146 | 
147 | • `Optional` **sigProofs**: [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md)
148 | 
149 | (S)
150 | 
151 | #### Defined in
152 | 
153 | client/v2/indexer/models/types.ts:3497
154 | 
155 | ___
156 | 
157 | ### signedWeight
158 | 
159 | • `Optional` **signedWeight**: `number` \| `bigint`
160 | 
161 | (w)
162 | 
163 | #### Defined in
164 | 
165 | client/v2/indexer/models/types.ts:3502
166 | 
167 | ## Methods
168 | 
169 | ### get\_obj\_for\_encoding
170 | 
171 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
172 | 
173 | Get an object ready for encoding to either JSON or msgpack.
174 | 
175 | #### Parameters
176 | 
177 | | Name | Type | Default value | Description |
178 | | :------ | :------ | :------ | :------ |
179 | | `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. |
180 | 
181 | #### Returns
182 | 
183 | `Record`\<`string`, `any`\>
184 | 
185 | #### Inherited from
186 | 
187 | BaseModel.get\_obj\_for\_encoding
188 | 
189 | #### Defined in
190 | 
191 | client/v2/basemodel.ts:65
192 | 
193 | ___
194 | 
195 | ### from\_obj\_for\_encoding
196 | 
197 | ▸ `Static` **from_obj_for_encoding**(`data`): [`StateProofFields`](indexerModels.StateProofFields.md)
198 | 
199 | #### Parameters
200 | 
201 | | Name | Type |
202 | | :------ | :------ |
203 | | `data` | `Record`\<`string`, `any`\> |
204 | 
205 | #### Returns
206 | 
207 | [`StateProofFields`](indexerModels.StateProofFields.md)
208 | 
209 | #### Defined in
210 | 
211 | client/v2/indexer/models/types.ts:3556
212 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:get-started:tokenization:nft.md:
--------------------------------------------------------------------------------

```markdown
 1 | title: Create an NFT
 2 | 
 3 | # What are NFTs?
 4 | 
 5 | Non-fungible tokens, or NFTs for short, are unique assets represented on the blockchain. Digital art and collectibles are types of NFTs that you may have heard about, but they only scratch the surface of what is possible. 
 6 | 
 7 | <center>
 8 | ![Examples of NFTs](../../imgs/tokenization-nfts.png){: style="width:500px" align=center }
 9 | <figcaption style="font-size:12px">Examples of NFT use cases: Tokenizing the rights to a song to facilitate royalty payments, in-game collectibles, or special edition brand merchandise.</figcaption>
10 | </center>
11 | 
12 | If Alice wants to use blockchain to help her scale and grow her art business, because it provides important properties that she cannot achieve otherwise (trust, transparency, efficiency, low costs). The first step for her is to represent her unique art pieces on-chain as NFTs. Let's go ahead and learn how to create an NFT on Algorand.
13 | 
14 | # How to create NFTs
15 | NFTs are created using Algorand Standard Assets (ASAs), which are built into the protocol and created using a special type of transaction. This is distinct from some other blockchains where a smart contract is necessary to represent assets. You just need to specify a few parameters to identify it as an NFT and link to the metadata so that potential owners have the information they need to validate the integrity of the asset. For instance, you need to set the total amount of units you want to create for this asset to 1 and set the number of decimals to 0. This ensures you create precisely one unit of your ASA and can't divide the newly minted asset. See [Algorand Request for Comments](https://arc.algorand.foundation/) for standards used by the Algorand community to properly format properties of an NFT.
16 | 
17 | This asset creation transaction can be created using any of [Algorands SDKs](../../sdks/index.md). Code demonstrating creating an Asset is available in the [ASA documentation](../../get-details/asa.md#creating-an-asset).
18 | 
19 | 
20 | <center>
21 | ![Alice creates an NFT](../../imgs/tokenization-alice-bob-nft.png){: style="width:500px"}
22 | <figcaption style="font-size:12px">Alice tokenizes her art piece as an NFT on Algorand.</figcaption>
23 | </center>
24 | 
25 | **Composability**
26 | 
27 | ASAs can be composed with other features on Algorand (like smart contracts) and with applications built on top of Algorand. What makes this possible is the combination of the standard representation of an NFT on the Algorand blockchain, both as an ASA and specifically as a unique ASA, and the openness and permissionless nature of the Algorand blockchain. 
28 | 
29 | # Fractional NFTS
30 | 
31 | A fractional NFT is a unique asset that has been divided into multiple, equal shares. When NFTs are selling for millions of dollars, this may be one way to lower the bar for entry and reach more potential buyers who would not have been able to invest in the whole NFT. The other side of the coin (pun intended) is that by increasing your pool of potential buyers, you may see the value of your NFT increase. Need a compelling example? In September 2021, the owner of a meme Doge NFT who paid 4 million dollars for it, fractionalized it and then auctioned off a portion of those fractional shares at a price that revalued their asset at 225 million USD[^1].
32 | 
33 | [^1]: [https://www.theblockcrypto.com/linked/116464/fractionalized-doge-nft-valued-at-225-million-after-sushiswap-auction](https://www.theblockcrypto.com/linked/116464/fractionalized-doge-nft-valued-at-225-million-after-sushiswap-auction){: target="_blank"}
34 | 
35 | Maybe Alice should think about fractionalizing her artwork for her next auction!
36 |  
37 | To create a fractional NFT, the total units must be a power of 10, greater than 1, and the number of decimals must be equal to the logarithm in base 10 of the total number of units. The fractional NFT standard is defined as part of [ARC-0003](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0003.md){: target="_blank"}. 
38 | # More NFT Resources
39 | 
40 | - Learn more about NFTs from Algorand's Chief Product Officer: [The Enduring Value of NFTs on Algorand: A Critical Role in the Future of Finance](https://www.algorand.com/resources/blog/the-enduring-value-of-nfts-on-algorand){: target="blank"}
41 | - Detailed documentation on [Algorand Standard Assets (ASAs)](../../../get-details/asa/){: target="blank"} and related [transaction types](../../../get-details/transactions/#asset-configuration-transaction){: target="blank"}.
42 | 
```

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

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / TransactionAssetTransfer
  2 | 
  3 | # Class: TransactionAssetTransfer
  4 | 
  5 | [indexerModels](../modules/indexerModels.md).TransactionAssetTransfer
  6 | 
  7 | Fields for an asset transfer transaction.
  8 | Definition:
  9 | data/transactions/asset.go : AssetTransferTxnFields
 10 | 
 11 | ## Hierarchy
 12 | 
 13 | - `default`
 14 | 
 15 |   ↳ **`TransactionAssetTransfer`**
 16 | 
 17 | ## Table of contents
 18 | 
 19 | ### Constructors
 20 | 
 21 | - [constructor](indexerModels.TransactionAssetTransfer.md#constructor)
 22 | 
 23 | ### Properties
 24 | 
 25 | - [amount](indexerModels.TransactionAssetTransfer.md#amount)
 26 | - [assetId](indexerModels.TransactionAssetTransfer.md#assetid)
 27 | - [attribute\_map](indexerModels.TransactionAssetTransfer.md#attribute_map)
 28 | - [closeAmount](indexerModels.TransactionAssetTransfer.md#closeamount)
 29 | - [closeTo](indexerModels.TransactionAssetTransfer.md#closeto)
 30 | - [receiver](indexerModels.TransactionAssetTransfer.md#receiver)
 31 | - [sender](indexerModels.TransactionAssetTransfer.md#sender)
 32 | 
 33 | ### Methods
 34 | 
 35 | - [get\_obj\_for\_encoding](indexerModels.TransactionAssetTransfer.md#get_obj_for_encoding)
 36 | - [from\_obj\_for\_encoding](indexerModels.TransactionAssetTransfer.md#from_obj_for_encoding)
 37 | 
 38 | ## Constructors
 39 | 
 40 | ### constructor
 41 | 
 42 | • **new TransactionAssetTransfer**(`«destructured»`)
 43 | 
 44 | Creates a new `TransactionAssetTransfer` object.
 45 | 
 46 | #### Parameters
 47 | 
 48 | | Name | Type |
 49 | | :------ | :------ |
 50 | | `«destructured»` | `Object` |
 51 | | › `amount` | `number` \| `bigint` |
 52 | | › `assetId` | `number` \| `bigint` |
 53 | | › `closeAmount?` | `number` \| `bigint` |
 54 | | › `closeTo?` | `string` |
 55 | | › `receiver` | `string` |
 56 | | › `sender?` | `string` |
 57 | 
 58 | #### Overrides
 59 | 
 60 | BaseModel.constructor
 61 | 
 62 | #### Defined in
 63 | 
 64 | client/v2/indexer/models/types.ts:5041
 65 | 
 66 | ## Properties
 67 | 
 68 | ### amount
 69 | 
 70 | • **amount**: `number` \| `bigint`
 71 | 
 72 | (aamt) Amount of asset to transfer. A zero amount transferred to self allocates
 73 | that asset in the account's Assets map.
 74 | 
 75 | #### Defined in
 76 | 
 77 | client/v2/indexer/models/types.ts:4996
 78 | 
 79 | ___
 80 | 
 81 | ### assetId
 82 | 
 83 | • **assetId**: `number` \| `bigint`
 84 | 
 85 | (xaid) ID of the asset being transferred.
 86 | 
 87 | #### Defined in
 88 | 
 89 | client/v2/indexer/models/types.ts:5001
 90 | 
 91 | ___
 92 | 
 93 | ### attribute\_map
 94 | 
 95 | • **attribute\_map**: `Record`\<`string`, `string`\>
 96 | 
 97 | #### Inherited from
 98 | 
 99 | BaseModel.attribute\_map
100 | 
101 | #### Defined in
102 | 
103 | client/v2/basemodel.ts:56
104 | 
105 | ___
106 | 
107 | ### closeAmount
108 | 
109 | • `Optional` **closeAmount**: `number` \| `bigint`
110 | 
111 | Number of assets transferred to the close-to account as part of the transaction.
112 | 
113 | #### Defined in
114 | 
115 | client/v2/indexer/models/types.ts:5011
116 | 
117 | ___
118 | 
119 | ### closeTo
120 | 
121 | • `Optional` **closeTo**: `string`
122 | 
123 | (aclose) Indicates that the asset should be removed from the account's Assets
124 | map, and specifies where the remaining asset holdings should be transferred.
125 | It's always valid to transfer remaining asset holdings to the creator account.
126 | 
127 | #### Defined in
128 | 
129 | client/v2/indexer/models/types.ts:5018
130 | 
131 | ___
132 | 
133 | ### receiver
134 | 
135 | • **receiver**: `string`
136 | 
137 | (arcv) Recipient address of the transfer.
138 | 
139 | #### Defined in
140 | 
141 | client/v2/indexer/models/types.ts:5006
142 | 
143 | ___
144 | 
145 | ### sender
146 | 
147 | • `Optional` **sender**: `string`
148 | 
149 | (asnd) The effective sender during a clawback transactions. If this is not a
150 | zero value, the real transaction sender must be the Clawback address from the
151 | AssetParams.
152 | 
153 | #### Defined in
154 | 
155 | client/v2/indexer/models/types.ts:5025
156 | 
157 | ## Methods
158 | 
159 | ### get\_obj\_for\_encoding
160 | 
161 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
162 | 
163 | Get an object ready for encoding to either JSON or msgpack.
164 | 
165 | #### Parameters
166 | 
167 | | Name | Type | Default value | Description |
168 | | :------ | :------ | :------ | :------ |
169 | | `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. |
170 | 
171 | #### Returns
172 | 
173 | `Record`\<`string`, `any`\>
174 | 
175 | #### Inherited from
176 | 
177 | BaseModel.get\_obj\_for\_encoding
178 | 
179 | #### Defined in
180 | 
181 | client/v2/basemodel.ts:65
182 | 
183 | ___
184 | 
185 | ### from\_obj\_for\_encoding
186 | 
187 | ▸ `Static` **from_obj_for_encoding**(`data`): [`TransactionAssetTransfer`](indexerModels.TransactionAssetTransfer.md)
188 | 
189 | #### Parameters
190 | 
191 | | Name | Type |
192 | | :------ | :------ |
193 | | `data` | `Record`\<`string`, `any`\> |
194 | 
195 | #### Returns
196 | 
197 | [`TransactionAssetTransfer`](indexerModels.TransactionAssetTransfer.md)
198 | 
199 | #### Defined in
200 | 
201 | client/v2/indexer/models/types.ts:5075
202 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:python:testing:docs:examples.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Examples
 2 | 
 3 | Below is a showcase of various examples of unit testing real and sample Algorand Python smart contracts using `algorand-python-testing`.
 4 | 
 5 | | Contract Name       | Test File                                                                                                                                 | Key Features Demonstrated                                                                                                                                                                                        | Test versions of Algopy Abstractions used                                                           |
 6 | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
 7 | | Auction             | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/auction/test_contract.py)             | - Use of algopy_testing_context<br>- Mocking of global state and transaction fields<br>- Testing of ARC4 contract methods<br>- Emulation of asset creation and transfers<br>- Verification of inner transactions | - **ARC4Contract**<br>- **Global**<br>- **Txn**<br>- **Asset**<br>- **Account**<br>- **LocalState** |
 8 | | Proof of Attendance | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/proof_of_attendance/test_contract.py) | - Creation and management of dummy assets<br>- Testing of box storage operations<br>- Verification of inner transactions for asset transfers<br>- Use of any\_\* methods for generating test data                | - **ARC4Contract**<br>- **Box**<br>- **BoxMap**<br>- **Asset**<br>- **Account**<br>- **op**         |
 9 | | Simple Voting       | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/simple_voting/test_contract.py)       | - Testing of global and local state operations<br>- Verification of transaction group operations<br>- Mocking of payment transactions                                                                            | - **Contract**<br>- **GlobalState**<br>- **LocalState**<br>- **Txn**<br>- **op.GTxn**               |
10 | | ZK Whitelist        | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/zk_whitelist/test_contract.py)        | - Testing of zero-knowledge proof verification<br>- Mocking of external application calls<br>- Use of ARC4 types and methods                                                                                     | - **ARC4Contract**<br>- **arc4 types**<br>- **LocalState**<br>- **Global**<br>- **Txn**             |
11 | | HTLC LogicSig       | [test_signature.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/htlc_logicsig/test_signature.py)     | - Testing of LogicSig contracts<br>- Verification of time-based conditions<br>- Mocking of transaction parameters                                                                                                | - **logicsig**<br>- **Account**<br>- **Txn**<br>- **Global**<br>- **op**                            |
12 | | Marketplace         | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/marketplace/test_contract.py)         | - Testing of complex marketplace operations<br>- Use of BoxMap for listings<br>- Testing of asset transfers and payments                                                                                         | - **ARC4Contract**<br>- **BoxMap**<br>- **Asset**<br>- **arc4 types**<br>- **Global**<br>- **Txn**  |
13 | | Scratch Storage     | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/scratch_storage/test_contract.py)     | - Testing of scratch space usage<br>- Verification of scratch slot values                                                                                                                                        | - **ARC4Contract**<br>- **Contract**<br>- **op**                                                    |
14 | 
```

--------------------------------------------------------------------------------
/packages/server/src/tools/arc26Manager.ts:
--------------------------------------------------------------------------------

```typescript
  1 | import QRCode from 'qrcode';
  2 | import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
  3 | 
  4 | interface Arc26ToolInput {
  5 |   address: string;
  6 |   label?: string;
  7 |   amount?: number;
  8 |   asset?: number;
  9 |   note?: string;
 10 |   xnote?: string;
 11 | }
 12 | 
 13 | export class Arc26Manager {
 14 |   public arc26Tools = [
 15 |     {
 16 |       name: 'generate_algorand_uri',
 17 |       description: 'Generate an Algorand URI and QR code according to ARC-26 specification',
 18 |       inputSchema: {
 19 |         type: 'object',
 20 |         properties: {
 21 |           address: {
 22 |             type: 'string',
 23 |             description: 'Algorand address in standard format (58 characters)'
 24 |           },
 25 |           label: {
 26 |             type: 'string',
 27 |             description: 'Label for the address (e.g. name of receiver)',
 28 |             optional: true
 29 |           },
 30 |           amount: {
 31 |             type: 'number',
 32 |             description: 'Amount in microAlgos (must be non-negative)',
 33 |             optional: true
 34 |           },
 35 |           asset: {
 36 |             type: 'number',
 37 |             description: 'Asset ID for ASA transfers',
 38 |             optional: true
 39 |           },
 40 |           note: {
 41 |             type: 'string',
 42 |             description: 'URL-encoded note that can be modified by user',
 43 |             optional: true
 44 |           },
 45 |           xnote: {
 46 |             type: 'string',
 47 |             description: 'URL-encoded note that must not be modified by user',
 48 |             optional: true
 49 |           }
 50 |         },
 51 |         required: ['address']
 52 |       }
 53 |     }
 54 |   ];
 55 | 
 56 |   /**
 57 |    * Constructs an Algorand URI according to ARC-26 specification and generates a QR code
 58 |    * @param params The parameters for constructing the URI
 59 |    * @returns Object containing the URI and QR code as base64 data URL
 60 |    */
 61 |   async generateUriAndQr(params: Arc26ToolInput): Promise<{ uri: string; qrCode: string }> {
 62 |     // Validate address format (base32 string)
 63 |     if (!params.address || !/^[A-Z2-7]{58}$/.test(params.address)) {
 64 |       throw new McpError(ErrorCode.InvalidParams, 'Invalid Algorand address format');
 65 |     }
 66 | 
 67 |     // Start building the URI with the scheme and address
 68 |     let uri = `algorand://${params.address}`;
 69 | 
 70 |     // Build query parameters
 71 |     const queryParams: string[] = [];
 72 | 
 73 |     // Add optional parameters if provided
 74 |     if (params.label) {
 75 |       queryParams.push(`label=${encodeURIComponent(params.label)}`);
 76 |     }
 77 | 
 78 |     if (typeof params.amount === 'number') {
 79 |       if (params.amount < 0) {
 80 |         throw new McpError(ErrorCode.InvalidParams, 'Amount must be non-negative');
 81 |       }
 82 |       // Convert to microAlgos and ensure no decimals
 83 |       const microAlgos = Math.floor(params.amount);
 84 |       queryParams.push(`amount=${microAlgos}`);
 85 |     }
 86 | 
 87 |     if (typeof params.asset === 'number') {
 88 |       if (params.asset < 0) {
 89 |         throw new McpError(ErrorCode.InvalidParams, 'Asset ID must be non-negative');
 90 |       }
 91 |       queryParams.push(`asset=${params.asset}`);
 92 |     }
 93 | 
 94 |     if (params.note) {
 95 |       queryParams.push(`note=${encodeURIComponent(params.note)}`);
 96 |     }
 97 | 
 98 |     if (params.xnote) {
 99 |       queryParams.push(`xnote=${encodeURIComponent(params.xnote)}`);
100 |     }
101 | 
102 |     // Add query parameters to URI if any exist
103 |     if (queryParams.length > 0) {
104 |       uri += '?' + queryParams.join('&');
105 |     }
106 | 
107 |     // Generate QR code as SVG
108 |     const qrCode = await QRCode.toString(uri, {
109 |       type: 'svg',
110 |       errorCorrectionLevel: 'H',
111 |       margin: 1,
112 |       width: 300
113 |     });
114 | 
115 |     return {
116 |       uri,
117 |       qrCode
118 |     };
119 |   }
120 | 
121 |   async handleTool(name: string, args: Record<string, unknown>) {
122 |     // Cast args to Arc26ToolInput after validation
123 |     const toolArgs: Arc26ToolInput = {
124 |       address: args.address as string,
125 |       label: args.label as string | undefined,
126 |       amount: typeof args.amount === 'number' ? args.amount : undefined,
127 |       asset: typeof args.asset === 'number' ? args.asset : undefined,
128 |       note: args.note as string | undefined,
129 |       xnote: args.xnote as string | undefined
130 |     };
131 |     if (name === 'generate_algorand_uri') {
132 |       const { uri, qrCode } = await this.generateUriAndQr(toolArgs);
133 |       return {
134 |         content: [
135 |           {
136 |             type: "text",
137 |             text: JSON.stringify({ uri }, null, 2)
138 |           },
139 |           {
140 |             type: "text",
141 |             text: qrCode,
142 |             mimeType: "image/svg+xml"
143 |           }
144 |         ]
145 |       };
146 |     }
147 | 
148 |     throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
149 |   }
150 | }
151 | 
152 | export const arc26Manager = new Arc26Manager();
153 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:clis:indexer:daemon.md:
--------------------------------------------------------------------------------

```markdown
  1 | title: indexer daemon
  2 | ---
  3 | ## indexer daemon
  4 | 
  5 | 
  6 | 
  7 | run indexer daemon
  8 | 
  9 | 
 10 | 
 11 | ### Synopsis
 12 | 
 13 | 
 14 | 
 15 | run indexer daemon. Serve api on HTTP.
 16 | 
 17 | 
 18 | 
 19 | ```
 20 | 
 21 | indexer daemon [flags]
 22 | 
 23 | ```
 24 | 
 25 | 
 26 | 
 27 | ### Options
 28 | 
 29 | 
 30 | 
 31 | ```
 32 | 
 33 |       --api-config-file string                 supply an API config file to enable/disable parameters
 34 | 
 35 |   -c, --configfile string                      file path to configuration file (indexer.yml)
 36 | 
 37 |       --cpuprofile string                      file to record cpu profile to
 38 | 
 39 |   -i, --data-dir string                        path to indexer data dir, or $INDEXER_DATA
 40 | 
 41 |       --default-accounts-limit uint32          set the default Limit parameter for querying accounts, if none is provided (default 100)
 42 | 
 43 |       --default-applications-limit uint32      set the default Limit parameter for querying applications, if none is provided (default 100)
 44 | 
 45 |       --default-assets-limit uint32            set the default Limit parameter for querying assets, if none is provided (default 100)
 46 | 
 47 |       --default-balances-limit uint32          set the default Limit parameter for querying balances, if none is provided (default 1000)
 48 | 
 49 |       --default-boxes-limit uint32             set the default allowed Limit parameter for searching an app's boxes (default 1000)
 50 | 
 51 |       --default-transactions-limit uint32      set the default Limit parameter for querying transactions, if none is provided (default 1000)
 52 | 
 53 |       --dev-mode                               has no effect currently, reserved for future performance intensive operations
 54 | 
 55 |   -n, --dummydb                                use dummy indexer db
 56 | 
 57 |       --enable-all-parameters                  override default configuration and enable all parameters. Can't be used with --api-config-file
 58 | 
 59 |       --enable-private-network-access-header   respond to Private Network Access preflight requests
 60 | 
 61 |   -h, --help                                   help for daemon
 62 | 
 63 |   -f, --logfile string                         file to write logs to, if unset logs are written to standard out
 64 | 
 65 |   -l, --loglevel string                        verbosity of logs: [error, warn, info, debug, trace] (default "info")
 66 | 
 67 |       --max-accounts-limit uint32              set the maximum allowed Limit parameter for querying accounts (default 1000)
 68 | 
 69 |       --max-api-resources-per-account uint32   set the maximum total number of resources (created assets, created apps, asset holdings, and application local state) per account that will be allowed in REST API lookupAccountByID and searchForAccounts responses before returning a 400 Bad Request. Set zero for no limit (default 1000)
 70 | 
 71 |       --max-applications-limit uint32          set the maximum allowed Limit parameter for querying applications (default 1000)
 72 | 
 73 |       --max-assets-limit uint32                set the maximum allowed Limit parameter for querying assets (default 1000)
 74 | 
 75 |       --max-balances-limit uint32              set the maximum allowed Limit parameter for querying balances (default 10000)
 76 | 
 77 |       --max-boxes-limit uint32                 set the maximum allowed Limit parameter for searching an app's boxes (default 10000)
 78 | 
 79 |       --max-conn uint32                        set the maximum connections allowed in the connection pool, if the maximum is reached subsequent connections will wait until a connection becomes available, or timeout according to the read-timeout setting
 80 | 
 81 |       --max-transactions-limit uint32          set the maximum allowed Limit parameter for querying transactions (default 10000)
 82 | 
 83 |       --metrics-mode string                    configure the /metrics endpoint to [ON, OFF, VERBOSE] (default "OFF")
 84 | 
 85 |       --pidfile string                         file to write daemon's process id to
 86 | 
 87 |   -P, --postgres string                        connection string for postgres database
 88 | 
 89 |       --read-timeout duration                  set the maximum duration for reading the entire request (default 5s)
 90 | 
 91 |   -S, --server string                          host:port to serve API on (default :8980) (default ":8980")
 92 | 
 93 |   -t, --token string                           an optional auth token, when set REST calls must use this token in a bearer format, or in a 'X-Indexer-API-Token' header
 94 | 
 95 |   -v, --version                                print version and exit
 96 | 
 97 |       --write-timeout duration                 set the maximum duration to wait before timing out writes to a http response, breaking connection (default 30s)
 98 | 
 99 | ```
100 | 
101 | 
102 | 
103 | ### SEE ALSO
104 | 
105 | 
106 | 
107 | * [indexer](../../indexer/indexer/)	 - Algorand Indexer
108 | 
109 | 
110 | 
111 | 
```

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

```markdown
  1 | # Self Payment Logic Signatures in Algorand
  2 | 
  3 | This guide demonstrates how to implement a self-payment logic signature (LogicSig) in Algorand using Python. A self-payment LogicSig allows an account to make payments to itself under specific conditions.
  4 | 
  5 | ## Self Payment Implementation
  6 | 
  7 | ```python
  8 | from algopy import (
  9 |     Bytes,
 10 |     Global,
 11 |     TemplateVar,
 12 |     TransactionType,
 13 |     Txn,
 14 |     UInt64,
 15 |     logicsig,
 16 |     op,
 17 | )
 18 | 
 19 | @logicsig
 20 | def self_payment() -> bool:
 21 |     """
 22 |     This Delegated Account will authorize a single empty self payment 
 23 |     in a block known ahead of time.
 24 |     """
 25 |     return (
 26 |         # Verify transaction type is Payment
 27 |         Txn.type_enum == TransactionType.Payment
 28 |         # Ensure receiver is the same as sender
 29 |         and Txn.receiver == Txn.sender
 30 |         # Ensure payment amount is 0
 31 |         and Txn.amount == 0
 32 |         # Prevent account rekeying
 33 |         and Txn.rekey_to == Global.zero_address
 34 |         # Prevent account closure
 35 |         and Txn.close_remainder_to == Global.zero_address
 36 |         # Ensure minimum transaction fee
 37 |         and Txn.fee == Global.min_txn_fee
 38 |         # Verify network by genesis hash
 39 |         and Global.genesis_hash == TemplateVar[Bytes]("TARGET_NETWORK_GENESIS")
 40 |         # Prevent replay attacks with round number
 41 |         and Txn.last_valid == TemplateVar[UInt64]("LAST_ROUND")
 42 |         # Use lease to prevent concurrent transactions
 43 |         and Txn.lease == op.sha256(b"self-payment")
 44 |     )
 45 | ```
 46 | 
 47 | ## Key Components
 48 | 
 49 | ### Transaction Validation
 50 | 
 51 | 1. **Payment Type**:
 52 |    ```python
 53 |    Txn.type_enum == TransactionType.Payment
 54 |    ```
 55 |    - Ensures the transaction is a payment transaction
 56 |    - Rejects any other transaction types
 57 | 
 58 | 2. **Self Payment**:
 59 |    ```python
 60 |    Txn.receiver == Txn.sender
 61 |    ```
 62 |    - Verifies that the receiver is the same as the sender
 63 |    - Ensures funds stay within the same account
 64 | 
 65 | 3. **Zero Amount**:
 66 |    ```python
 67 |    Txn.amount == 0
 68 |    ```
 69 |    - Ensures the payment amount is zero
 70 |    - Prevents accidental fund transfers
 71 | 
 72 | ### Security Measures
 73 | 
 74 | 1. **Rekey Prevention**:
 75 |    ```python
 76 |    Txn.rekey_to == Global.zero_address
 77 |    ```
 78 |    - Prevents account rekeying
 79 |    - Maintains account control
 80 | 
 81 | 2. **Closure Prevention**:
 82 |    ```python
 83 |    Txn.close_remainder_to == Global.zero_address
 84 |    ```
 85 |    - Prevents account closure
 86 |    - Protects account funds
 87 | 
 88 | 3. **Fee Control**:
 89 |    ```python
 90 |    Txn.fee == Global.min_txn_fee
 91 |    ```
 92 |    - Ensures minimum transaction fee
 93 |    - Prevents fee manipulation
 94 | 
 95 | ### Replay Protection
 96 | 
 97 | 1. **Network Verification**:
 98 |    ```python
 99 |    Global.genesis_hash == TemplateVar[Bytes]("TARGET_NETWORK_GENESIS")
100 |    ```
101 |    - Verifies the correct network
102 |    - Prevents cross-network replay attacks
103 | 
104 | 2. **Round Number Check**:
105 |    ```python
106 |    Txn.last_valid == TemplateVar[UInt64]("LAST_ROUND")
107 |    ```
108 |    - Enforces specific round number
109 |    - Limits transaction validity period
110 | 
111 | 3. **Transaction Lease**:
112 |    ```python
113 |    Txn.lease == op.sha256(b"self-payment")
114 |    ```
115 |    - Prevents concurrent transactions
116 |    - Adds additional replay protection
117 | 
118 | ## Use Cases
119 | 
120 | 1. **Account Maintenance**:
121 |    - Regular account activity
122 |    - Keeping account active
123 |    - Preventing account dormancy
124 | 
125 | 2. **Network Participation**:
126 |    - Maintaining network presence
127 |    - Participating in consensus
128 |    - Meeting activity requirements
129 | 
130 | 3. **Security Verification**:
131 |    - Account control verification
132 |    - Network connectivity testing
133 |    - Transaction capability testing
134 | 
135 | ## Best Practices
136 | 
137 | 1. **Transaction Parameters**:
138 |    - Always use zero amount for self-payments
139 |    - Set appropriate transaction fees
140 |    - Use minimum required parameters
141 | 
142 | 2. **Security**:
143 |    - Implement all security checks
144 |    - Use replay protection mechanisms
145 |    - Verify network parameters
146 | 
147 | 3. **Round Numbers**:
148 |    - Choose appropriate round numbers
149 |    - Consider network timing
150 |    - Account for block finality
151 | 
152 | 4. **Lease Management**:
153 |    - Use unique lease values
154 |    - Implement proper lease timing
155 |    - Handle lease expiration
156 | 
157 | 5. **Error Handling**:
158 |    - Validate all parameters
159 |    - Handle failure cases
160 |    - Provide clear error messages
161 | 
162 | 6. **Testing**:
163 |    - Test on test networks first
164 |    - Verify all security measures
165 |    - Simulate various scenarios
166 | 
167 | This guide demonstrates how to implement a secure self-payment logic signature in Algorand using Python. The implementation includes various security measures to prevent unauthorized use and replay attacks while ensuring the transaction serves its intended purpose.
168 | 
```

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

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SimulateResponse
  2 | 
  3 | # Class: SimulateResponse
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).SimulateResponse
  6 | 
  7 | Result of a transaction group simulation.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`SimulateResponse`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.SimulateResponse.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](modelsv2.SimulateResponse.md#attribute_map)
 24 | - [evalOverrides](modelsv2.SimulateResponse.md#evaloverrides)
 25 | - [execTraceConfig](modelsv2.SimulateResponse.md#exectraceconfig)
 26 | - [initialStates](modelsv2.SimulateResponse.md#initialstates)
 27 | - [lastRound](modelsv2.SimulateResponse.md#lastround)
 28 | - [txnGroups](modelsv2.SimulateResponse.md#txngroups)
 29 | - [version](modelsv2.SimulateResponse.md#version)
 30 | 
 31 | ### Methods
 32 | 
 33 | - [get\_obj\_for\_encoding](modelsv2.SimulateResponse.md#get_obj_for_encoding)
 34 | - [from\_obj\_for\_encoding](modelsv2.SimulateResponse.md#from_obj_for_encoding)
 35 | 
 36 | ## Constructors
 37 | 
 38 | ### constructor
 39 | 
 40 | • **new SimulateResponse**(`«destructured»`)
 41 | 
 42 | Creates a new `SimulateResponse` object.
 43 | 
 44 | #### Parameters
 45 | 
 46 | | Name | Type |
 47 | | :------ | :------ |
 48 | | `«destructured»` | `Object` |
 49 | | › `evalOverrides?` | [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md) |
 50 | | › `execTraceConfig?` | [`SimulateTraceConfig`](modelsv2.SimulateTraceConfig.md) |
 51 | | › `initialStates?` | [`SimulateInitialStates`](modelsv2.SimulateInitialStates.md) |
 52 | | › `lastRound` | `number` \| `bigint` |
 53 | | › `txnGroups` | [`SimulateTransactionGroupResult`](modelsv2.SimulateTransactionGroupResult.md)[] |
 54 | | › `version` | `number` \| `bigint` |
 55 | 
 56 | #### Overrides
 57 | 
 58 | BaseModel.constructor
 59 | 
 60 | #### Defined in
 61 | 
 62 | client/v2/algod/models/types.ts:4471
 63 | 
 64 | ## Properties
 65 | 
 66 | ### attribute\_map
 67 | 
 68 | • **attribute\_map**: `Record`\<`string`, `string`\>
 69 | 
 70 | #### Inherited from
 71 | 
 72 | BaseModel.attribute\_map
 73 | 
 74 | #### Defined in
 75 | 
 76 | client/v2/basemodel.ts:56
 77 | 
 78 | ___
 79 | 
 80 | ### evalOverrides
 81 | 
 82 | • `Optional` **evalOverrides**: [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md)
 83 | 
 84 | The set of parameters and limits override during simulation. If this set of
 85 | parameters is present, then evaluation parameters may differ from standard
 86 | evaluation in certain ways.
 87 | 
 88 | #### Defined in
 89 | 
 90 | client/v2/algod/models/types.ts:4447
 91 | 
 92 | ___
 93 | 
 94 | ### execTraceConfig
 95 | 
 96 | • `Optional` **execTraceConfig**: [`SimulateTraceConfig`](modelsv2.SimulateTraceConfig.md)
 97 | 
 98 | An object that configures simulation execution trace.
 99 | 
100 | #### Defined in
101 | 
102 | client/v2/algod/models/types.ts:4452
103 | 
104 | ___
105 | 
106 | ### initialStates
107 | 
108 | • `Optional` **initialStates**: [`SimulateInitialStates`](modelsv2.SimulateInitialStates.md)
109 | 
110 | Initial states of resources that were accessed during simulation.
111 | 
112 | #### Defined in
113 | 
114 | client/v2/algod/models/types.ts:4457
115 | 
116 | ___
117 | 
118 | ### lastRound
119 | 
120 | • **lastRound**: `number` \| `bigint`
121 | 
122 | The round immediately preceding this simulation. State changes through this
123 | round were used to run this simulation.
124 | 
125 | #### Defined in
126 | 
127 | client/v2/algod/models/types.ts:4430
128 | 
129 | ___
130 | 
131 | ### txnGroups
132 | 
133 | • **txnGroups**: [`SimulateTransactionGroupResult`](modelsv2.SimulateTransactionGroupResult.md)[]
134 | 
135 | A result object for each transaction group that was simulated.
136 | 
137 | #### Defined in
138 | 
139 | client/v2/algod/models/types.ts:4435
140 | 
141 | ___
142 | 
143 | ### version
144 | 
145 | • **version**: `number` \| `bigint`
146 | 
147 | The version of this response object.
148 | 
149 | #### Defined in
150 | 
151 | client/v2/algod/models/types.ts:4440
152 | 
153 | ## Methods
154 | 
155 | ### get\_obj\_for\_encoding
156 | 
157 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
158 | 
159 | Get an object ready for encoding to either JSON or msgpack.
160 | 
161 | #### Parameters
162 | 
163 | | Name | Type | Default value | Description |
164 | | :------ | :------ | :------ | :------ |
165 | | `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. |
166 | 
167 | #### Returns
168 | 
169 | `Record`\<`string`, `any`\>
170 | 
171 | #### Inherited from
172 | 
173 | BaseModel.get\_obj\_for\_encoding
174 | 
175 | #### Defined in
176 | 
177 | client/v2/basemodel.ts:65
178 | 
179 | ___
180 | 
181 | ### from\_obj\_for\_encoding
182 | 
183 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SimulateResponse`](modelsv2.SimulateResponse.md)
184 | 
185 | #### Parameters
186 | 
187 | | Name | Type |
188 | | :------ | :------ |
189 | | `data` | `Record`\<`string`, `any`\> |
190 | 
191 | #### Returns
192 | 
193 | [`SimulateResponse`](modelsv2.SimulateResponse.md)
194 | 
195 | #### Defined in
196 | 
197 | client/v2/algod/models/types.ts:4505
198 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md:
--------------------------------------------------------------------------------

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-factory](../modules/types_app_factory.md) / AppFactoryParams
  2 | 
  3 | # Interface: AppFactoryParams
  4 | 
  5 | [types/app-factory](../modules/types_app_factory.md).AppFactoryParams
  6 | 
  7 | Parameters to create an app client
  8 | 
  9 | ## Table of contents
 10 | 
 11 | ### Properties
 12 | 
 13 | - [algorand](types_app_factory.AppFactoryParams.md#algorand)
 14 | - [appName](types_app_factory.AppFactoryParams.md#appname)
 15 | - [appSpec](types_app_factory.AppFactoryParams.md#appspec)
 16 | - [defaultSender](types_app_factory.AppFactoryParams.md#defaultsender)
 17 | - [defaultSigner](types_app_factory.AppFactoryParams.md#defaultsigner)
 18 | - [deletable](types_app_factory.AppFactoryParams.md#deletable)
 19 | - [deployTimeParams](types_app_factory.AppFactoryParams.md#deploytimeparams)
 20 | - [updatable](types_app_factory.AppFactoryParams.md#updatable)
 21 | - [version](types_app_factory.AppFactoryParams.md#version)
 22 | 
 23 | ## Properties
 24 | 
 25 | ### algorand
 26 | 
 27 | • **algorand**: [`AlgorandClientInterface`](types_algorand_client_interface.AlgorandClientInterface.md)
 28 | 
 29 | `AlgorandClient` instance
 30 | 
 31 | #### Defined in
 32 | 
 33 | [src/types/app-factory.ts:56](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L56)
 34 | 
 35 | ___
 36 | 
 37 | ### appName
 38 | 
 39 | • `Optional` **appName**: `string`
 40 | 
 41 | Optional override for the app name; used for on-chain metadata and lookups.
 42 | Defaults to the ARC-32/ARC-56 app spec name.
 43 | 
 44 | #### Defined in
 45 | 
 46 | [src/types/app-factory.ts:62](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L62)
 47 | 
 48 | ___
 49 | 
 50 | ### appSpec
 51 | 
 52 | • **appSpec**: `string` \| [`Arc56Contract`](types_app_arc56.Arc56Contract.md) \| [`AppSpec`](types_app_spec.AppSpec.md)
 53 | 
 54 | The ARC-56 or ARC-32 application spec as either:
 55 |  * Parsed JSON ARC-56 `Contract`
 56 |  * Parsed JSON ARC-32 `AppSpec`
 57 |  * Raw JSON string (in either ARC-56 or ARC-32 format)
 58 | 
 59 | #### Defined in
 60 | 
 61 | [src/types/app-factory.ts:53](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L53)
 62 | 
 63 | ___
 64 | 
 65 | ### defaultSender
 66 | 
 67 | • `Optional` **defaultSender**: `string` \| `Address`
 68 | 
 69 | Optional address to use for the account to use as the default sender for calls.
 70 | 
 71 | #### Defined in
 72 | 
 73 | [src/types/app-factory.ts:65](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L65)
 74 | 
 75 | ___
 76 | 
 77 | ### defaultSigner
 78 | 
 79 | • `Optional` **defaultSigner**: `TransactionSigner`
 80 | 
 81 | Optional signer to use as the default signer for default sender calls (if not specified then the signer will be resolved from `AlgorandClient`).
 82 | 
 83 | #### Defined in
 84 | 
 85 | [src/types/app-factory.ts:68](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L68)
 86 | 
 87 | ___
 88 | 
 89 | ### deletable
 90 | 
 91 | • `Optional` **deletable**: `boolean`
 92 | 
 93 | Whether or not the contract should have deploy-time permanence control set, undefined = ignore.
 94 | If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.
 95 | 
 96 | Useful if you want to vend multiple contracts from the same factory without specifying this value
 97 | for each call.
 98 | 
 99 | #### Defined in
100 | 
101 | [src/types/app-factory.ts:89](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L89)
102 | 
103 | ___
104 | 
105 | ### deployTimeParams
106 | 
107 | • `Optional` **deployTimeParams**: [`TealTemplateParams`](types_app.TealTemplateParams.md)
108 | 
109 | Optional deploy-time TEAL template replacement parameters.
110 | If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.
111 | 
112 | Useful if you want to vend multiple contracts from the same factory without specifying this value
113 | for each call.
114 | 
115 | #### Defined in
116 | 
117 | [src/types/app-factory.ts:98](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L98)
118 | 
119 | ___
120 | 
121 | ### updatable
122 | 
123 | • `Optional` **updatable**: `boolean`
124 | 
125 | Whether or not the contract should have deploy-time immutability control set, undefined = ignore.
126 | If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.
127 | 
128 | Useful if you want to vend multiple contracts from the same factory without specifying this value
129 | for each call.
130 | 
131 | #### Defined in
132 | 
133 | [src/types/app-factory.ts:80](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L80)
134 | 
135 | ___
136 | 
137 | ### version
138 | 
139 | • `Optional` **version**: `string`
140 | 
141 | The version of app that is / will be deployed; defaults to 1.0
142 | 
143 | #### Defined in
144 | 
145 | [src/types/app-factory.ts:71](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L71)
146 | 
```

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

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / ApplicationParams
  2 | 
  3 | # Class: ApplicationParams
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).ApplicationParams
  6 | 
  7 | Stores the global information associated with an application.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`ApplicationParams`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.ApplicationParams.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [approvalProgram](modelsv2.ApplicationParams.md#approvalprogram)
 24 | - [attribute\_map](modelsv2.ApplicationParams.md#attribute_map)
 25 | - [clearStateProgram](modelsv2.ApplicationParams.md#clearstateprogram)
 26 | - [creator](modelsv2.ApplicationParams.md#creator)
 27 | - [extraProgramPages](modelsv2.ApplicationParams.md#extraprogrampages)
 28 | - [globalState](modelsv2.ApplicationParams.md#globalstate)
 29 | - [globalStateSchema](modelsv2.ApplicationParams.md#globalstateschema)
 30 | - [localStateSchema](modelsv2.ApplicationParams.md#localstateschema)
 31 | 
 32 | ### Methods
 33 | 
 34 | - [get\_obj\_for\_encoding](modelsv2.ApplicationParams.md#get_obj_for_encoding)
 35 | - [from\_obj\_for\_encoding](modelsv2.ApplicationParams.md#from_obj_for_encoding)
 36 | 
 37 | ## Constructors
 38 | 
 39 | ### constructor
 40 | 
 41 | • **new ApplicationParams**(`«destructured»`)
 42 | 
 43 | Creates a new `ApplicationParams` object.
 44 | 
 45 | #### Parameters
 46 | 
 47 | | Name | Type |
 48 | | :------ | :------ |
 49 | | `«destructured»` | `Object` |
 50 | | › `approvalProgram` | `string` \| `Uint8Array` |
 51 | | › `clearStateProgram` | `string` \| `Uint8Array` |
 52 | | › `creator` | `string` |
 53 | | › `extraProgramPages?` | `number` \| `bigint` |
 54 | | › `globalState?` | [`TealKeyValue`](modelsv2.TealKeyValue.md)[] |
 55 | | › `globalStateSchema?` | [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md) |
 56 | | › `localStateSchema?` | [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md) |
 57 | 
 58 | #### Overrides
 59 | 
 60 | BaseModel.constructor
 61 | 
 62 | #### Defined in
 63 | 
 64 | client/v2/algod/models/types.ts:1313
 65 | 
 66 | ## Properties
 67 | 
 68 | ### approvalProgram
 69 | 
 70 | • **approvalProgram**: `Uint8Array`
 71 | 
 72 | (approv) approval program.
 73 | 
 74 | #### Defined in
 75 | 
 76 | client/v2/algod/models/types.ts:1269
 77 | 
 78 | ___
 79 | 
 80 | ### attribute\_map
 81 | 
 82 | • **attribute\_map**: `Record`\<`string`, `string`\>
 83 | 
 84 | #### Inherited from
 85 | 
 86 | BaseModel.attribute\_map
 87 | 
 88 | #### Defined in
 89 | 
 90 | client/v2/basemodel.ts:56
 91 | 
 92 | ___
 93 | 
 94 | ### clearStateProgram
 95 | 
 96 | • **clearStateProgram**: `Uint8Array`
 97 | 
 98 | (clearp) approval program.
 99 | 
100 | #### Defined in
101 | 
102 | client/v2/algod/models/types.ts:1274
103 | 
104 | ___
105 | 
106 | ### creator
107 | 
108 | • **creator**: `string`
109 | 
110 | The address that created this application. This is the address where the
111 | parameters and global state for this application can be found.
112 | 
113 | #### Defined in
114 | 
115 | client/v2/algod/models/types.ts:1280
116 | 
117 | ___
118 | 
119 | ### extraProgramPages
120 | 
121 | • `Optional` **extraProgramPages**: `number` \| `bigint`
122 | 
123 | (epp) the amount of extra program pages available to this app.
124 | 
125 | #### Defined in
126 | 
127 | client/v2/algod/models/types.ts:1285
128 | 
129 | ___
130 | 
131 | ### globalState
132 | 
133 | • `Optional` **globalState**: [`TealKeyValue`](modelsv2.TealKeyValue.md)[]
134 | 
135 | (gs) global state
136 | 
137 | #### Defined in
138 | 
139 | client/v2/algod/models/types.ts:1290
140 | 
141 | ___
142 | 
143 | ### globalStateSchema
144 | 
145 | • `Optional` **globalStateSchema**: [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md)
146 | 
147 | (gsch) global schema
148 | 
149 | #### Defined in
150 | 
151 | client/v2/algod/models/types.ts:1295
152 | 
153 | ___
154 | 
155 | ### localStateSchema
156 | 
157 | • `Optional` **localStateSchema**: [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md)
158 | 
159 | (lsch) local schema
160 | 
161 | #### Defined in
162 | 
163 | client/v2/algod/models/types.ts:1300
164 | 
165 | ## Methods
166 | 
167 | ### get\_obj\_for\_encoding
168 | 
169 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
170 | 
171 | Get an object ready for encoding to either JSON or msgpack.
172 | 
173 | #### Parameters
174 | 
175 | | Name | Type | Default value | Description |
176 | | :------ | :------ | :------ | :------ |
177 | | `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. |
178 | 
179 | #### Returns
180 | 
181 | `Record`\<`string`, `any`\>
182 | 
183 | #### Inherited from
184 | 
185 | BaseModel.get\_obj\_for\_encoding
186 | 
187 | #### Defined in
188 | 
189 | client/v2/basemodel.ts:65
190 | 
191 | ___
192 | 
193 | ### from\_obj\_for\_encoding
194 | 
195 | ▸ `Static` **from_obj_for_encoding**(`data`): [`ApplicationParams`](modelsv2.ApplicationParams.md)
196 | 
197 | #### Parameters
198 | 
199 | | Name | Type |
200 | | :------ | :------ |
201 | | `data` | `Record`\<`string`, `any`\> |
202 | 
203 | #### Returns
204 | 
205 | [`ApplicationParams`](modelsv2.ApplicationParams.md)
206 | 
207 | #### Defined in
208 | 
209 | client/v2/algod/models/types.ts:1357
210 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md:
--------------------------------------------------------------------------------

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-arc56](../modules/types_app_arc56.md) / Method
  2 | 
  3 | # Interface: Method
  4 | 
  5 | [types/app-arc56](../modules/types_app_arc56.md).Method
  6 | 
  7 | Describes a method in the contract. This interface is an extension of the interface described in ARC-4
  8 | 
  9 | ## Table of contents
 10 | 
 11 | ### Properties
 12 | 
 13 | - [actions](types_app_arc56.Method.md#actions)
 14 | - [args](types_app_arc56.Method.md#args)
 15 | - [desc](types_app_arc56.Method.md#desc)
 16 | - [events](types_app_arc56.Method.md#events)
 17 | - [name](types_app_arc56.Method.md#name)
 18 | - [readonly](types_app_arc56.Method.md#readonly)
 19 | - [recommendations](types_app_arc56.Method.md#recommendations)
 20 | - [returns](types_app_arc56.Method.md#returns)
 21 | 
 22 | ## Properties
 23 | 
 24 | ### actions
 25 | 
 26 | • **actions**: `Object`
 27 | 
 28 | an action is a combination of call/create and an OnComplete
 29 | 
 30 | #### Type declaration
 31 | 
 32 | | Name | Type | Description |
 33 | | :------ | :------ | :------ |
 34 | | `call` | (``"NoOp"`` \| ``"OptIn"`` \| ``"DeleteApplication"`` \| ``"CloseOut"`` \| ``"ClearState"`` \| ``"UpdateApplication"``)[] | OnCompletes this method allows when appID !== 0 |
 35 | | `create` | (``"NoOp"`` \| ``"OptIn"`` \| ``"DeleteApplication"``)[] | OnCompletes this method allows when appID === 0 |
 36 | 
 37 | #### Defined in
 38 | 
 39 | [src/types/app-arc56.ts:382](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L382)
 40 | 
 41 | ___
 42 | 
 43 | ### args
 44 | 
 45 | • **args**: \{ `defaultValue?`: \{ `data`: `string` ; `source`: ``"method"`` \| ``"box"`` \| ``"global"`` \| ``"local"`` \| ``"literal"`` ; `type?`: `string`  } ; `desc?`: `string` ; `name?`: `string` ; `struct?`: `string` ; `type`: `string`  }[]
 46 | 
 47 | The arguments of the method, in order
 48 | 
 49 | #### Defined in
 50 | 
 51 | [src/types/app-arc56.ts:347](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L347)
 52 | 
 53 | ___
 54 | 
 55 | ### desc
 56 | 
 57 | • `Optional` **desc**: `string`
 58 | 
 59 | Optional, user-friendly description for the method
 60 | 
 61 | #### Defined in
 62 | 
 63 | [src/types/app-arc56.ts:345](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L345)
 64 | 
 65 | ___
 66 | 
 67 | ### events
 68 | 
 69 | • `Optional` **events**: [`Event`](types_app_arc56.Event.md)[]
 70 | 
 71 | ARC-28 events that MAY be emitted by this method
 72 | 
 73 | #### Defined in
 74 | 
 75 | [src/types/app-arc56.ts:391](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L391)
 76 | 
 77 | ___
 78 | 
 79 | ### name
 80 | 
 81 | • **name**: `string`
 82 | 
 83 | The name of the method
 84 | 
 85 | #### Defined in
 86 | 
 87 | [src/types/app-arc56.ts:343](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L343)
 88 | 
 89 | ___
 90 | 
 91 | ### readonly
 92 | 
 93 | • `Optional` **readonly**: `boolean`
 94 | 
 95 | If this method does not write anything to the ledger (ARC-22)
 96 | 
 97 | #### Defined in
 98 | 
 99 | [src/types/app-arc56.ts:389](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L389)
100 | 
101 | ___
102 | 
103 | ### recommendations
104 | 
105 | • `Optional` **recommendations**: `Object`
106 | 
107 | Information that clients can use when calling the method
108 | 
109 | #### Type declaration
110 | 
111 | | Name | Type | Description |
112 | | :------ | :------ | :------ |
113 | | `accounts?` | `string`[] | Recommended foreign accounts |
114 | | `apps?` | `number`[] | Recommended foreign apps |
115 | | `assets?` | `number`[] | Recommended foreign assets |
116 | | `boxes?` | \{ `app?`: `number` ; `key`: `string` ; `readBytes`: `number` ; `writeBytes`: `number`  } | Recommended box references to include |
117 | | `boxes.app?` | `number` | The app ID for the box |
118 | | `boxes.key` | `string` | The base64 encoded box key |
119 | | `boxes.readBytes` | `number` | The number of bytes being read from the box |
120 | | `boxes.writeBytes` | `number` | The number of bytes being written to the box |
121 | | `innerTransactionCount?` | `number` | The number of inner transactions the caller should cover the fees for |
122 | 
123 | #### Defined in
124 | 
125 | [src/types/app-arc56.ts:393](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L393)
126 | 
127 | ___
128 | 
129 | ### returns
130 | 
131 | • **returns**: `Object`
132 | 
133 | Information about the method's return value
134 | 
135 | #### Type declaration
136 | 
137 | | Name | Type | Description |
138 | | :------ | :------ | :------ |
139 | | `desc?` | `string` | Optional, user-friendly description for the return value |
140 | | `struct?` | `string` | If the type is a struct, the name of the struct |
141 | | `type` | `string` | The type of the return value, or "void" to indicate no return value. The `struct` field should also be checked to determine if this return value is a struct. |
142 | 
143 | #### Defined in
144 | 
145 | [src/types/app-arc56.ts:373](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L373)
146 | 
```

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

```markdown
 1 | # Algorand Python framework - API for writing Algorand Python smart contracts
 2 | 
 3 | ## Installation
 4 | 
 5 | The minimum supported Python version for writing Algorand Python smart contracts is 3.12.
 6 | 
 7 | You can install the Algorand Python framework from PyPI into your project virtualenv:
 8 | ```shell
 9 | pip install algorand-python
10 | ```
11 | If you're using poetry for dependency and virutalenv management, you can add it that way with
12 | `poetry add algorand-python`.
13 | 
14 | Once you have installed the Algorand Python framework, you can access the type definitions from the `algopy` module, e.g.
15 | ```python
16 | from algopy import Contract
17 | ```
18 | 
19 | For more details on using this API and the puyapy compiler see https://algorandfoundation.github.io/puya/
20 | 
21 | ## Versioning
22 | 
23 | The Algorand Python API follows [semver](https://semver.org/) principles, however since the compiler is very closely
24 | coupled with the stubs definition, it's worth noting the interplay.
25 | 
26 | ### Major
27 | An increase in the major version should only occur if existing contracts would fail to type-check
28 | after the update.
29 | 
30 | Some examples of situations that might cause this:
31 | - Breaking changes to the signature of an existing function, such as a new parameter being added 
32 |   to an existing
33 |   method and no default value is provided.
34 | - Something has been renamed, or moved such that the import path has changed (excluding moving 
35 |   between private modules, indicated with a leading underscore).
36 | - Something has been removed.
37 | 
38 | The first two examples would necessitate changes in the compiler itself as well, which should
39 | also be considered breaking changes, thus there would be a coinciding new major version of the 
40 | compiler.
41 | 
42 | The third example may not necessitate a change to the compiler, although it probably would be 
43 | likely there is one to remove the supporting code, but either way, since it will also change
44 | the behaviour in terms of what version range of the stubs is supported, should also result in a
45 | new major version of the compiler.
46 | 
47 | However, vice versa is not necessarily true: a new major version of the compiler may not require
48 | a new major version of the stubs. For example:
49 | - Any breaking change to the compiler that has no changes in the stubs.
50 | - The default value of a parameter has changed. This changes the meaning of existing code that
51 |   does not supply a default, thus requiring a major version bump of the compiler, but no 
52 |   existing contracts will fail to compile.
53 | 
54 | ### Minor
55 | When new functionality is added, the minor version should be bumped.
56 | 
57 | Example situations:
58 | - A new high level API has been added.
59 | - A new parameter has been added to an existing method but a default value has been provided.
60 | - A new TEAL/AVM version has been released with new low-level op-codes that should be exposed.
61 |  
62 | In each of these cases, there should be zero impact on whether existing contracts will compile
63 | or not. They all would also require a new compiler version to be released. Although the existing
64 | compiler version could continue to work with new stubs version, provided none of the new 
65 | functionality is used, for simplicity the compiler should be updated to require the new stubs 
66 | version as a minimum.
67 | 
68 | ### Patch
69 | When a bug in the stubs themselves is fixed, or a non-functional change is made (such as 
70 | changes to docstrings / documentation), the patch version should be bumped.
71 | 
72 | Examples:
73 | - Docstrings added/removed/updated.
74 | - Type parameters that were incorrectly specified are fixed
75 |   ([concrete example](https://github.com/algorandfoundation/puya/issues/191)).
76 | - Adding something that was unintentionally omitted from the stubs, but is otherwise supported by 
77 |   the current compiler. 
78 |   Generally in these cases, the code would compile if a `# type: ignore[<error-code>]` was added 
79 |   ([concrete example](https://github.com/algorandfoundation/puya/issues/200)).
80 | 
81 | In each of these cases, the new stubs should functional correctly when paired with the current
82 | release of the compiler.
83 | 
84 | The second example is a slight break from semver principles, since this is not backwards 
85 | compatible, as existing contracts may fail to compile. However, those contracts should not have
86 | compiled in the first place. The minimum version of stubs supported by the compiler should be
87 | increased to this new patch release, however this will only take effect on the next release of the
88 | compiler itself. The current compiler release would detect the new stubs version as supported 
89 | though, and so users can update to that new version of the stubs once it is released.
90 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md:
--------------------------------------------------------------------------------

```markdown
  1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / AlgorandTestAutomationContext
  2 | 
  3 | # Interface: AlgorandTestAutomationContext
  4 | 
  5 | [types/testing](../modules/types_testing.md).AlgorandTestAutomationContext
  6 | 
  7 | Test automation context.
  8 | 
  9 | ## Table of contents
 10 | 
 11 | ### Properties
 12 | 
 13 | - [algod](types_testing.AlgorandTestAutomationContext.md#algod)
 14 | - [algorand](types_testing.AlgorandTestAutomationContext.md#algorand)
 15 | - [generateAccount](types_testing.AlgorandTestAutomationContext.md#generateaccount)
 16 | - [indexer](types_testing.AlgorandTestAutomationContext.md#indexer)
 17 | - [kmd](types_testing.AlgorandTestAutomationContext.md#kmd)
 18 | - [testAccount](types_testing.AlgorandTestAutomationContext.md#testaccount)
 19 | - [transactionLogger](types_testing.AlgorandTestAutomationContext.md#transactionlogger)
 20 | - [waitForIndexer](types_testing.AlgorandTestAutomationContext.md#waitforindexer)
 21 | - [waitForIndexerTransaction](types_testing.AlgorandTestAutomationContext.md#waitforindexertransaction)
 22 | 
 23 | ## Properties
 24 | 
 25 | ### algod
 26 | 
 27 | • **algod**: `AlgodClient`
 28 | 
 29 | Algod client instance that will log transactions in `transactionLogger`
 30 | 
 31 | #### Defined in
 32 | 
 33 | [src/types/testing.ts:22](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L22)
 34 | 
 35 | ___
 36 | 
 37 | ### algorand
 38 | 
 39 | • **algorand**: [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md)
 40 | 
 41 | An AlgorandClient instance loaded with the current context, including testAccount and any generated accounts loaded as signers
 42 | 
 43 | #### Defined in
 44 | 
 45 | [src/types/testing.ts:20](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L20)
 46 | 
 47 | ___
 48 | 
 49 | ### generateAccount
 50 | 
 51 | • **generateAccount**: (`params`: [`GetTestAccountParams`](types_testing.GetTestAccountParams.md)) => `Promise`\<`Address` & `default` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md)\>
 52 | 
 53 | Generate and fund an additional ephemerally created account
 54 | 
 55 | #### Type declaration
 56 | 
 57 | ▸ (`params`): `Promise`\<`Address` & `default` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md)\>
 58 | 
 59 | ##### Parameters
 60 | 
 61 | | Name | Type |
 62 | | :------ | :------ |
 63 | | `params` | [`GetTestAccountParams`](types_testing.GetTestAccountParams.md) |
 64 | 
 65 | ##### Returns
 66 | 
 67 | `Promise`\<`Address` & `default` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md)\>
 68 | 
 69 | #### Defined in
 70 | 
 71 | [src/types/testing.ts:32](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L32)
 72 | 
 73 | ___
 74 | 
 75 | ### indexer
 76 | 
 77 | • **indexer**: `IndexerClient`
 78 | 
 79 | Indexer client instance
 80 | 
 81 | #### Defined in
 82 | 
 83 | [src/types/testing.ts:24](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L24)
 84 | 
 85 | ___
 86 | 
 87 | ### kmd
 88 | 
 89 | • **kmd**: `KmdClient`
 90 | 
 91 | KMD client instance
 92 | 
 93 | #### Defined in
 94 | 
 95 | [src/types/testing.ts:26](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L26)
 96 | 
 97 | ___
 98 | 
 99 | ### testAccount
100 | 
101 | • **testAccount**: `Address` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md) & `default`
102 | 
103 | Default, funded test account that is ephemerally created
104 | 
105 | #### Defined in
106 | 
107 | [src/types/testing.ts:30](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L30)
108 | 
109 | ___
110 | 
111 | ### transactionLogger
112 | 
113 | • **transactionLogger**: [`TransactionLogger`](../classes/testing.TransactionLogger.md)
114 | 
115 | Transaction logger that will log transaction IDs for all transactions issued by `algod`
116 | 
117 | #### Defined in
118 | 
119 | [src/types/testing.ts:28](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L28)
120 | 
121 | ___
122 | 
123 | ### waitForIndexer
124 | 
125 | • **waitForIndexer**: () => `Promise`\<`void`\>
126 | 
127 | Wait for the indexer to catch up with all transactions logged by `transactionLogger`
128 | 
129 | #### Type declaration
130 | 
131 | ▸ (): `Promise`\<`void`\>
132 | 
133 | ##### Returns
134 | 
135 | `Promise`\<`void`\>
136 | 
137 | #### Defined in
138 | 
139 | [src/types/testing.ts:34](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L34)
140 | 
141 | ___
142 | 
143 | ### waitForIndexerTransaction
144 | 
145 | • **waitForIndexerTransaction**: (`transactionId`: `string`) => `Promise`\<`TransactionResponse`\>
146 | 
147 | Wait for the indexer to catch up with the given transaction ID
148 | 
149 | #### Type declaration
150 | 
151 | ▸ (`transactionId`): `Promise`\<`TransactionResponse`\>
152 | 
153 | ##### Parameters
154 | 
155 | | Name | Type |
156 | | :------ | :------ |
157 | | `transactionId` | `string` |
158 | 
159 | ##### Returns
160 | 
161 | `Promise`\<`TransactionResponse`\>
162 | 
163 | #### Defined in
164 | 
165 | [src/types/testing.ts:36](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L36)
166 | 
```

