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

# Directory Structure

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

# Files

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/developers-sdks-python.txt:
--------------------------------------------------------------------------------

```
 1 | SDKs:python:algosdk:v2client:harness:README.md
 2 | SDKs:python:index.rst
 3 | SDKs:python:algosdk:index.rst
 4 | SDKs:python:algosdk:box_reference.rst
 5 | SDKs:python:algosdk:transaction.rst
 6 | SDKs:python:algosdk:atomic_transaction_composer.rst
 7 | SDKs:python:algosdk:wallet.rst
 8 | SDKs:python:algosdk:encoding.rst
 9 | SDKs:python:algosdk:account.rst
10 | SDKs:python:algosdk:kmd.rst
11 | SDKs:python:algosdk:dryrun_results.rst
12 | SDKs:python:algosdk:source_map.rst
13 | SDKs:python:algosdk:abi:index.rst
14 | SDKs:python:algosdk:abi:bool_type.rst
15 | SDKs:python:algosdk:abi:string_type.rst
16 | SDKs:python:algosdk:abi:transaction.rst
17 | SDKs:python:algosdk:abi:reference.rst
18 | SDKs:python:algosdk:abi:method.rst
19 | SDKs:python:algosdk:abi:byte_type.rst
20 | SDKs:python:algosdk:abi:address_type.rst
21 | SDKs:python:algosdk:abi:uint_type.rst
22 | SDKs:python:algosdk:abi:interface.rst
23 | SDKs:python:algosdk:abi:array_static_type.rst
24 | SDKs:python:algosdk:abi:contract.rst
25 | SDKs:python:algosdk:abi:tuple_type.rst
26 | SDKs:python:algosdk:abi:base_type.rst
27 | SDKs:python:algosdk:abi:array_dynamic_type.rst
28 | SDKs:python:algosdk:abi:ufixed_type.rst
29 | SDKs:python:algosdk:mnemonic.rst
30 | SDKs:python:algosdk:constants.rst
31 | SDKs:python:algosdk:error.rst
32 | SDKs:python:algosdk:v2client:index.rst
33 | SDKs:python:algosdk:v2client:algod.rst
34 | SDKs:python:algosdk:v2client:indexer.rst
35 | SDKs:python:algosdk:logic.rst
36 | SDKs:python:algosdk:auction.rst
37 | SDKs:python:algosdk:wordlist.rst
38 | SDKs:python:algosdk:util.rst
39 | SDKs:python:README.md
40 | SDKs:python:examples:README.md
41 | specs:README.md
42 | specs:dev:partkey.md
43 | specs:dev:crypto.md
44 | specs:dev:abft.md
45 | specs:dev:README.md
46 | specs:dev:ledger.md
47 | specs:dev:TEAL_opcodes.md
48 | specs:dev:TEAL.md
49 | specs:overview:README.md
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/developers-algokit-utils-python.txt:
--------------------------------------------------------------------------------

```
 1 | algokit:utils:python:markdown:capabilities:app-client.md
 2 | algokit:utils:python:markdown:capabilities:transfer.md
 3 | algokit:utils:python:markdown:capabilities:debugger.md
 4 | algokit:utils:python:markdown:capabilities:account.md
 5 | algokit:utils:python:markdown:capabilities:app-deploy.md
 6 | algokit:utils:python:markdown:capabilities:dispenser-client.md
 7 | algokit:utils:python:markdown:capabilities:client.md
 8 | algokit:utils:python:markdown:index.md
 9 | algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md
10 | algokit:utils:python:source:capabilities:app-client.md
11 | algokit:utils:python:source:capabilities:transfer.md
12 | algokit:utils:python:source:capabilities:debugger.md
13 | algokit:utils:python:source:capabilities:account.md
14 | algokit:utils:python:source:capabilities:app-deploy.md
15 | algokit:utils:python:source:capabilities:dispenser-client.md
16 | algokit:utils:python:source:capabilities:client.md
17 | algokit:utils:python:source:index.md
18 | algokit:utils:python:README.md
19 | developer:docs:details:algokit:utils:py:capabilities:app-client.md
20 | developer:docs:details:algokit:utils:py:capabilities:transfer.md
21 | developer:docs:details:algokit:utils:py:capabilities:debugger.md
22 | developer:docs:details:algokit:utils:py:capabilities:account.md
23 | developer:docs:details:algokit:utils:py:capabilities:app-deploy.md
24 | developer:docs:details:algokit:utils:py:capabilities:dispenser-client.md
25 | developer:docs:details:algokit:utils:py:capabilities:debugging.md
26 | developer:docs:details:algokit:utils:py:capabilities:client.md
27 | developer:docs:details:algokit:utils:py:index.md
28 | developer:docs:details:algokit:utils:py:client_generator.md
29 | developer:docs:details:algokit:utils:py:apidocs.md
30 | 
```

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

```markdown
 1 | # AlgoKit Tasks
 2 | 
 3 | AlgoKit Tasks are a collection of handy tasks that can be used to perform various operations on Algorand blockchain.
 4 | 
 5 | ## Features
 6 | 
 7 | - [Wallet Aliasing](./tasks/wallet.md) - Manage your Algorand addresses and accounts effortlessly with the AlgoKit Wallet feature. This feature allows you to create short aliases for your addresses and accounts on AlgoKit CLI.
 8 | - [Vanity Address Generation](./tasks/vanity_address.md) - Generate vanity addresses for your Algorand accounts with the AlgoKit Vanity feature. This feature allows you to generate Algorand addresses which contains a specific keyword of your choice.
 9 | - [Transfer Assets or Algos](./tasks/transfer.md) - Transfer Algos or Assets from one account to another with the AlgoKit Transfer feature. This feature allows you to transfer Algos or Assets from one account to another on Algorand blockchain.
10 | - [Opt-(in|out) Assets](./tasks/opt.md) - Opt-in or opt-out of Algorand Asset(s). Supports single or multiple assets.
11 | - [Signing transactions](./tasks/sign.md) - Sign goal clerk compatible Algorand transactions.
12 | - [Sending transactions](./tasks/send.md) - Send signed goal clerk compatible Algorand transactions.
13 | - [NFD lookups](./tasks/nfd.md) - Perform a lookup via NFD domain or address, returning the associated address or domain respectively using the AlgoKit CLI.
14 | - [IPFS uploads](./tasks/ipfs.md) - Upload files to IPFS.
15 | - [Asset minting](./tasks/mint.md) - Mint new fungible or non-fungible assets on Algorand.
16 | - [Analyze TEAL code](./tasks/analyze.md) - Analyze TEAL code using [`tealer`](https://github.com/crytic/tealer) integration for common vulnerabilities.
17 | 
```

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

```markdown
 1 | # Subroutines
 2 | 
 3 | Subroutines allow direct testing of internal contract logic without full application calls.
 4 | 
 5 | ```{testsetup}
 6 | import algopy
 7 | import algopy_testing
 8 | from algopy_testing import algopy_testing_context
 9 | 
10 | # Create the context manager for snippets below
11 | ctx_manager = algopy_testing_context()
12 | 
13 | # Enter the context
14 | context = ctx_manager.__enter__()
15 | ```
16 | 
17 | ## Overview
18 | 
19 | The `@algopy.subroutine` decorator exposes contract methods for isolated testing within the Algorand Python Testing framework. This enables focused validation of core business logic without the overhead of full application deployment and execution.
20 | 
21 | ## Usage
22 | 
23 | 1. Decorate internal methods with `@algopy.subroutine`:
24 | 
25 | ```{testcode}
26 | from algopy import subroutine, UInt64
27 | 
28 | class MyContract:
29 |     @subroutine
30 |     def calculate_value(self, input: UInt64) -> UInt64:
31 |         return input * UInt64(2)
32 | ```
33 | 
34 | 2. Test the subroutine directly:
35 | 
36 | ```{testcode}
37 | def test_calculate_value(context: algopy_testing.AlgopyTestContext):
38 |     contract = MyContract()
39 |     result = contract.calculate_value(UInt64(5))
40 |     assert result == UInt64(10)
41 | ```
42 | 
43 | ## Benefits
44 | 
45 | -   Faster test execution
46 | -   Simplified debugging
47 | -   Focused unit testing of core logic
48 | 
49 | ## Best Practices
50 | 
51 | -   Use subroutines for complex internal calculations
52 | -   Prefer writing `pure` subroutines in ARC4Contract classes
53 | -   Combine with full application tests for comprehensive coverage
54 | -   Maintain realistic input and output types (e.g., `UInt64`, `Bytes`)
55 | 
56 | ## Example
57 | 
58 | For a complete example, see the `simple_voting` contract in the [examples](../examples.md) section.
59 | 
60 | ```{testcleanup}
61 | ctx_manager.__exit__(None, None, None)
62 | ```
63 | 
```

--------------------------------------------------------------------------------
/packages/server/src/tools/apiManager/indexer/index.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { accountTools, handleAccountTools } from './account.js';
 2 | import { applicationTools, handleApplicationTools } from './application.js';
 3 | import { assetTools, handleAssetTools } from './asset.js';
 4 | import { transactionTools, handleTransactionTools } from './transaction.js';
 5 | import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
 6 | 
 7 | // Combine all indexer tools
 8 | export const indexerTools = [
 9 |   ...accountTools,
10 |   ...applicationTools,
11 |   ...assetTools,
12 |   ...transactionTools
13 | ];
14 | 
15 | // Handle all indexer API tools
16 | export async function handleIndexerTools(name: string, args: any): Promise<any> {
17 |   const toolArgs = { ...args, name };
18 | 
19 |   // Transaction tools (including account transactions)
20 |   if (name === 'api_indexer_lookup_transaction_by_id' ||
21 |       name === 'api_indexer_lookup_account_transactions' ||
22 |       name.startsWith('api_indexer_search_for_transaction')) {
23 |     return handleTransactionTools(toolArgs);
24 |   }
25 |   
26 |   // Account tools (excluding account transactions)
27 |   if ((name.startsWith('api_indexer_lookup_account_') && 
28 |       name !== 'api_indexer_lookup_account_transactions') ||
29 |       name === 'api_indexer_search_for_accounts') {
30 |     return handleAccountTools(toolArgs);
31 |   }
32 |   
33 |   // Application tools
34 |   if (name.startsWith('api_indexer_lookup_application') || 
35 |       name.startsWith('api_indexer_search_for_application')) {
36 |     return handleApplicationTools(toolArgs);
37 |   }
38 |   
39 |   // Asset tools
40 |   if (name.startsWith('api_indexer_lookup_asset') || 
41 |       name.startsWith('api_indexer_search_for_asset')) {
42 |     return handleAssetTools(toolArgs);
43 |   }
44 | 
45 |   throw new McpError(
46 |     ErrorCode.MethodNotFound,
47 |     `Unknown tool: ${name}`
48 |   );
49 | }
50 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / SendParams
 2 | 
 3 | # Interface: SendParams
 4 | 
 5 | [types/transaction](../modules/types_transaction.md).SendParams
 6 | 
 7 | Parameters to configure transaction sending.
 8 | 
 9 | ## Hierarchy
10 | 
11 | - **`SendParams`**
12 | 
13 |   ↳ [`AtomicTransactionComposerToSend`](types_transaction.AtomicTransactionComposerToSend.md)
14 | 
15 | ## Table of contents
16 | 
17 | ### Properties
18 | 
19 | - [maxRoundsToWaitForConfirmation](types_transaction.SendParams.md#maxroundstowaitforconfirmation)
20 | - [populateAppCallResources](types_transaction.SendParams.md#populateappcallresources)
21 | - [suppressLog](types_transaction.SendParams.md#suppresslog)
22 | 
23 | ## Properties
24 | 
25 | ### maxRoundsToWaitForConfirmation
26 | 
27 | • `Optional` **maxRoundsToWaitForConfirmation**: `number`
28 | 
29 | The number of rounds to wait for confirmation. By default until the latest lastValid has past.
30 | 
31 | #### Defined in
32 | 
33 | [src/types/transaction.ts:136](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L136)
34 | 
35 | ___
36 | 
37 | ### populateAppCallResources
38 | 
39 | • `Optional` **populateAppCallResources**: `boolean`
40 | 
41 | Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to `Config.populateAppCallResources`.
42 | 
43 | #### Defined in
44 | 
45 | [src/types/transaction.ts:140](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L140)
46 | 
47 | ___
48 | 
49 | ### suppressLog
50 | 
51 | • `Optional` **suppressLog**: `boolean`
52 | 
53 | Whether to suppress log messages from transaction send, default: do not suppress.
54 | 
55 | #### Defined in
56 | 
57 | [src/types/transaction.ts:138](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L138)
58 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/logic-error](../modules/types_logic_error.md) / LogicErrorDetails
 2 | 
 3 | # Interface: LogicErrorDetails
 4 | 
 5 | [types/logic-error](../modules/types_logic_error.md).LogicErrorDetails
 6 | 
 7 | Details about a smart contract logic error
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Properties
12 | 
13 | - [desc](types_logic_error.LogicErrorDetails.md#desc)
14 | - [msg](types_logic_error.LogicErrorDetails.md#msg)
15 | - [pc](types_logic_error.LogicErrorDetails.md#pc)
16 | - [traces](types_logic_error.LogicErrorDetails.md#traces)
17 | - [txId](types_logic_error.LogicErrorDetails.md#txid)
18 | 
19 | ## Properties
20 | 
21 | ### desc
22 | 
23 | • **desc**: `string`
24 | 
25 | The full error description
26 | 
27 | #### Defined in
28 | 
29 | [src/types/logic-error.ts:14](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L14)
30 | 
31 | ___
32 | 
33 | ### msg
34 | 
35 | • **msg**: `string`
36 | 
37 | The error message
38 | 
39 | #### Defined in
40 | 
41 | [src/types/logic-error.ts:12](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L12)
42 | 
43 | ___
44 | 
45 | ### pc
46 | 
47 | • **pc**: `number`
48 | 
49 | The program counter where the error was
50 | 
51 | #### Defined in
52 | 
53 | [src/types/logic-error.ts:10](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L10)
54 | 
55 | ___
56 | 
57 | ### traces
58 | 
59 | • **traces**: `Record`\<`string`, `unknown`\>[]
60 | 
61 | Any trace information included in the error
62 | 
63 | #### Defined in
64 | 
65 | [src/types/logic-error.ts:16](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L16)
66 | 
67 | ___
68 | 
69 | ### txId
70 | 
71 | • **txId**: `string`
72 | 
73 | The ID of the transaction with the logic error
74 | 
75 | #### Defined in
76 | 
77 | [src/types/logic-error.ts:8](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L8)
78 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppDeployMetadata
 2 | 
 3 | # Interface: AppDeployMetadata
 4 | 
 5 | [types/app](../modules/types_app.md).AppDeployMetadata
 6 | 
 7 | The payload of the metadata to add to the transaction note when deploying an app, noting it will be prefixed with `APP_DEPLOY_NOTE_PREFIX`.
 8 | 
 9 | ## Hierarchy
10 | 
11 | - **`AppDeployMetadata`**
12 | 
13 |   ↳ [`AppMetadata`](types_app_deployer.AppMetadata.md)
14 | 
15 |   ↳ [`AppMetadata`](types_app.AppMetadata.md)
16 | 
17 | ## Table of contents
18 | 
19 | ### Properties
20 | 
21 | - [deletable](types_app.AppDeployMetadata.md#deletable)
22 | - [name](types_app.AppDeployMetadata.md#name)
23 | - [updatable](types_app.AppDeployMetadata.md#updatable)
24 | - [version](types_app.AppDeployMetadata.md#version)
25 | 
26 | ## Properties
27 | 
28 | ### deletable
29 | 
30 | • `Optional` **deletable**: `boolean`
31 | 
32 | Whether or not the app is deletable / permanent / unspecified
33 | 
34 | #### Defined in
35 | 
36 | [src/types/app.ts:253](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L253)
37 | 
38 | ___
39 | 
40 | ### name
41 | 
42 | • **name**: `string`
43 | 
44 | The unique name identifier of the app within the creator account
45 | 
46 | #### Defined in
47 | 
48 | [src/types/app.ts:249](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L249)
49 | 
50 | ___
51 | 
52 | ### updatable
53 | 
54 | • `Optional` **updatable**: `boolean`
55 | 
56 | Whether or not the app is updatable / immutable / unspecified
57 | 
58 | #### Defined in
59 | 
60 | [src/types/app.ts:255](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L255)
61 | 
62 | ___
63 | 
64 | ### version
65 | 
66 | • **version**: `string`
67 | 
68 | The version of app that is / will be deployed
69 | 
70 | #### Defined in
71 | 
72 | [src/types/app.ts:251](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L251)
73 | 
```

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

```markdown
 1 | # ARCs: Algorand Requests for Comments
 2 | 
 3 | ## Mission
 4 | This repository serves to provide a location for the proposal and discussion of ARCs.
 5 | 
 6 | To know an ARC's status, please refer to https://arc.algorand.foundation/.
 7 | 
 8 | ## Status
 9 | Please consider anything which is not published on https://github.com/algorandfoundation/ARCs as a working paper.
10 | 
11 | And please consider anything published at https://github.com/algorandfoundation/ARCs with a status of "draft" as an incomplete draft.
12 | 
13 | We recommend only using ARCs with the status "Final", "Living" or "Last Call".
14 | 
15 | ## Process
16 | Before submitting a new ARC, please have a look at [ARC-0](ARCs/arc-0000.md).
17 | 
18 | ## Validation
19 | 
20 | Pull requests in this repository must pass automated validation checks:
21 | 
22 | * HTML formatting and broken links are checked using [html-proofer](https://rubygems.org/gems/html-proofer).
23 | 
24 | * ARC front matter and formatting are [checked](https://github.com/algorandfoundation/ARCs/blob/master/.github/workflows/auto-merge-bot.yml) using [ARC Validator](https://github.com/algorandfoundation/arcw).
25 | 
26 | To install `arcw` and validate the ARCs repository:
27 | 
28 | > You will need [Rust/cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html)
29 | 
30 | ```console
31 | git clone [email protected]:algorandfoundation/arcw.git
32 | cargo install --path=arcw arcw
33 | arcw Path-to-ARCs-Folder/ARCs/ARCs/arc-xxxx.md
34 | ```
35 | 
36 | 
37 | Here is a dedicated part on the [forum](https://forum.algorand.org/c/arc/19) to talk  about ARCs.
38 | 
39 | To discuss ARCs ideas, see the open [Pull Requests](https://github.com/algorandfoundation/ARCs/pulls) of this repository. 
40 | 
41 | To discuss ARC drafts, use the corresponding issue in the [issue tracker](https://github.com/algorandfoundation/ARCs/issues).
42 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / LogSnapshotConfig
 2 | 
 3 | # Interface: LogSnapshotConfig
 4 | 
 5 | [types/testing](../modules/types_testing.md).LogSnapshotConfig
 6 | 
 7 | Configuration for preparing a captured log snapshot.
 8 | This helps ensure that the provided configuration items won't appear
 9 |  with random values in the log snapshot, but rather will get substituted with predictable ids.
10 | 
11 | ## Table of contents
12 | 
13 | ### Properties
14 | 
15 | - [accounts](types_testing.LogSnapshotConfig.md#accounts)
16 | - [apps](types_testing.LogSnapshotConfig.md#apps)
17 | - [transactions](types_testing.LogSnapshotConfig.md#transactions)
18 | 
19 | ## Properties
20 | 
21 | ### accounts
22 | 
23 | • `Optional` **accounts**: (`string` \| [`MultisigAccount`](../classes/types_account.MultisigAccount.md) \| `default` \| [`SigningAccount`](../classes/types_account.SigningAccount.md) \| `Address` \| [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md) \| `LogicSigAccount`)[]
24 | 
25 | Any accounts/addresses to replace the address for predictably
26 | 
27 | #### Defined in
28 | 
29 | [src/types/testing.ts:98](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L98)
30 | 
31 | ___
32 | 
33 | ### apps
34 | 
35 | • `Optional` **apps**: (`string` \| `number` \| `bigint`)[]
36 | 
37 | Any app IDs to replace predictably
38 | 
39 | #### Defined in
40 | 
41 | [src/types/testing.ts:100](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L100)
42 | 
43 | ___
44 | 
45 | ### transactions
46 | 
47 | • `Optional` **transactions**: (`string` \| `Transaction`)[]
48 | 
49 | Any transaction IDs or transactions to replace the ID for predictably
50 | 
51 | #### Defined in
52 | 
53 | [src/types/testing.ts:96](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L96)
54 | 
```

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

```markdown
 1 | # Smart Signature Testing
 2 | 
 3 | Test Algorand smart signatures (LogicSigs) with ease using the Algorand Python Testing framework.
 4 | 
 5 | ```{testsetup}
 6 | import algopy
 7 | from algopy_testing import algopy_testing_context
 8 | 
 9 | # Create the context manager for snippets below
10 | ctx_manager = algopy_testing_context()
11 | 
12 | # Enter the context
13 | context = ctx_manager.__enter__()
14 | ```
15 | 
16 | ## Define a LogicSig
17 | 
18 | Use the `@logicsig` decorator to create a LogicSig:
19 | 
20 | ```{testcode}
21 | from algopy import logicsig, Account, Txn, Global, UInt64, Bytes
22 | 
23 | @logicsig
24 | def hashed_time_locked_lsig() -> bool:
25 |     # LogicSig code here
26 |     return True  # Approve transaction
27 | ```
28 | 
29 | ## Execute and Test
30 | 
31 | Use `AlgopyTestContext.execute_logicsig()` to run and verify LogicSigs:
32 | 
33 | ```{testcode}
34 | with context.txn.create_group([
35 |     context.any.txn.payment(),
36 | ]):
37 |     result = context.execute_logicsig(hashed_time_locked_lsig, algopy.Bytes(b"secret"))
38 | 
39 | assert result is True
40 | ```
41 | 
42 | `execute_logicsig()` returns a boolean:
43 | 
44 | -   `True`: Transaction approved
45 | -   `False`: Transaction rejected
46 | 
47 | ## Pass Arguments
48 | 
49 | Provide arguments to LogicSigs using `execute_logicsig()`:
50 | 
51 | ```{testcode}
52 | result = context.execute_logicsig(hashed_time_locked_lsig, algopy.Bytes(b"secret"))
53 | ```
54 | 
55 | Access arguments in the LogicSig with `algopy.op.arg()` opcode:
56 | 
57 | ```{testcode}
58 | @logicsig
59 | def hashed_time_locked_lsig() -> bool:
60 |     secret = algopy.op.arg(0)
61 |     expected_hash = algopy.op.sha256(algopy.Bytes(b"secret"))
62 |     return algopy.op.sha256(secret) == expected_hash
63 | 
64 | # Example usage
65 | secret = algopy.Bytes(b"secret")
66 | assert context.execute_logicsig(hashed_time_locked_lsig, secret)
67 | ```
68 | 
69 | For more details on available operations, see the [coverage](../coverage.md).
70 | 
71 | ```{testcleanup}
72 | ctx_manager.__exit__(None, None, None)
73 | ```
74 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / ResolveAppById
 2 | 
 3 | # Interface: ResolveAppById
 4 | 
 5 | [types/app-client](../modules/types_app_client.md).ResolveAppById
 6 | 
 7 | Configuration to resolve app by ID
 8 | 
 9 | ## Hierarchy
10 | 
11 | - [`ResolveAppByIdBase`](types_app_client.ResolveAppByIdBase.md)
12 | 
13 |   ↳ **`ResolveAppById`**
14 | 
15 | ## Table of contents
16 | 
17 | ### Properties
18 | 
19 | - [id](types_app_client.ResolveAppById.md#id)
20 | - [name](types_app_client.ResolveAppById.md#name)
21 | - [resolveBy](types_app_client.ResolveAppById.md#resolveby)
22 | 
23 | ## Properties
24 | 
25 | ### id
26 | 
27 | • **id**: `number` \| `bigint`
28 | 
29 | The id of an existing app to call using this client, or 0 if the app hasn't been created yet
30 | 
31 | #### Inherited from
32 | 
33 | [ResolveAppByIdBase](types_app_client.ResolveAppByIdBase.md).[id](types_app_client.ResolveAppByIdBase.md#id)
34 | 
35 | #### Defined in
36 | 
37 | [src/types/app-client.ts:112](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L112)
38 | 
39 | ___
40 | 
41 | ### name
42 | 
43 | • `Optional` **name**: `string`
44 | 
45 | The optional name to use to mark the app when deploying `ApplicationClient.deploy` (default: uses the name in the ABI contract)
46 | 
47 | #### Inherited from
48 | 
49 | [ResolveAppByIdBase](types_app_client.ResolveAppByIdBase.md).[name](types_app_client.ResolveAppByIdBase.md#name)
50 | 
51 | #### Defined in
52 | 
53 | [src/types/app-client.ts:114](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L114)
54 | 
55 | ___
56 | 
57 | ### resolveBy
58 | 
59 | • **resolveBy**: ``"id"``
60 | 
61 | How the app ID is resolved, either by `'id'` or `'creatorAndName'`; must be `'creatorAndName'` if you want to use `deploy`
62 | 
63 | #### Defined in
64 | 
65 | [src/types/app-client.ts:119](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L119)
66 | 
```

--------------------------------------------------------------------------------
/packages/server/src/tools/transactionManager/index.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
 2 | import { AccountTransactionManager, accountTransactionTools } from './accountTransactions.js';
 3 | import { AssetTransactionManager, assetTransactionTools } from './assetTransactions.js';
 4 | import { AppTransactionManager, appTransactionTools } from './appTransactions/index.js';
 5 | import { GeneralTransactionManager, generalTransactionTools } from './generalTransaction.js';
 6 | 
 7 | // Combine all transaction tools
 8 | export const transactionTools = [
 9 |   ...accountTransactionTools,
10 |   ...assetTransactionTools,
11 |   ...appTransactionTools,
12 |   ...generalTransactionTools
13 | ];
14 | 
15 | export class TransactionManager {
16 |   // Tool handlers
17 |   static async handleTool(name: string, args: Record<string, unknown>) {
18 |     // Account transactions
19 |     if (name.startsWith('make_payment_') || name.startsWith('make_keyreg_')) {
20 |       return AccountTransactionManager.handleTool(name, args);
21 |     }
22 | 
23 |     // Asset transactions
24 |     if (name.startsWith('make_asset_')) {
25 |       return AssetTransactionManager.handleTool(name, args);
26 |     }
27 | 
28 |     // Application transactions
29 |     if (name.startsWith('make_app_')) {
30 |       return AppTransactionManager.handleTool(name, args);
31 |     }
32 | 
33 |     // General transactions
34 |     if (name === 'assign_group_id' || 
35 |         name === 'sign_transaction' || 
36 |         name === 'sign_bytes' || 
37 |         name === 'encode_obj' || 
38 |         name === 'decode_obj') {
39 |       return GeneralTransactionManager.handleTool(name, args);
40 |     }
41 | 
42 |     throw new McpError(
43 |       ErrorCode.MethodNotFound,
44 |       `Unknown transaction tool: ${name}`
45 |     );
46 |   }
47 | }
48 | 
49 | // Re-export all transaction managers
50 | export {
51 |   AccountTransactionManager,
52 |   AssetTransactionManager,
53 |   AppTransactionManager,
54 |   GeneralTransactionManager
55 | };
56 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / GetTestAccountParams
 2 | 
 3 | # Interface: GetTestAccountParams
 4 | 
 5 | [types/testing](../modules/types_testing.md).GetTestAccountParams
 6 | 
 7 | Parameters for the `getTestAccount` function.
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Properties
12 | 
13 | - [accountGetter](types_testing.GetTestAccountParams.md#accountgetter)
14 | - [initialFunds](types_testing.GetTestAccountParams.md#initialfunds)
15 | - [suppressLog](types_testing.GetTestAccountParams.md#suppresslog)
16 | 
17 | ## Properties
18 | 
19 | ### accountGetter
20 | 
21 | • `Optional` **accountGetter**: (`algorand`: [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md)) => `Promise`\<`default`\>
22 | 
23 | Optional override for how to get a test account; this allows you to retrieve accounts from a known or cached list of accounts.
24 | 
25 | #### Type declaration
26 | 
27 | ▸ (`algorand`): `Promise`\<`default`\>
28 | 
29 | ##### Parameters
30 | 
31 | | Name | Type |
32 | | :------ | :------ |
33 | | `algorand` | [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md) |
34 | 
35 | ##### Returns
36 | 
37 | `Promise`\<`default`\>
38 | 
39 | #### Defined in
40 | 
41 | [src/types/testing.ts:48](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L48)
42 | 
43 | ___
44 | 
45 | ### initialFunds
46 | 
47 | • **initialFunds**: [`AlgoAmount`](../classes/types_amount.AlgoAmount.md)
48 | 
49 | Initial funds to ensure the account has
50 | 
51 | #### Defined in
52 | 
53 | [src/types/testing.ts:44](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L44)
54 | 
55 | ___
56 | 
57 | ### suppressLog
58 | 
59 | • `Optional` **suppressLog**: `boolean`
60 | 
61 | Whether to suppress the log (which includes a mnemonic) or not (default: do not suppress the log)
62 | 
63 | #### Defined in
64 | 
65 | [src/types/testing.ts:46](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L46)
66 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/developers-algokit-architecture-decisions.txt:
--------------------------------------------------------------------------------

```
 1 | algokit:cli:architecture-decisions:2024-01-13_native_binaries.md
 2 | algokit:cli:architecture-decisions:2024-03-06_local_dev_ui_packaging.md
 3 | algokit:cli:architecture-decisions:2023-07-19_advanced_generate_command.md
 4 | algokit:cli:architecture-decisions:2022-11-22_beaker-testing-strategy.md
 5 | algokit:cli:architecture-decisions:2023-01-11_brew_install.md
 6 | algokit:cli:architecture-decisions:2024-01-31_binary_distribution.md
 7 | algokit:cli:architecture-decisions:2023-01-12_smart-contract-deployment.md
 8 | algokit:cli:architecture-decisions:2023-06-06_frontend-templates.md
 9 | algokit:cli:architecture-decisions:2023-01-11_beaker_productionisation_review.md
10 | algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md
11 | algokit:cli:architecture-decisions:2024-01-23_init-wizard-v2.md
12 | developer:docs:details:algokit:architecture-decisions:2024-01-13_native_binaries.md
13 | developer:docs:details:algokit:architecture-decisions:2023-07-19_advanced_generate_command.md
14 | developer:docs:details:algokit:architecture-decisions:2022-11-22_beaker-testing-strategy.md
15 | developer:docs:details:algokit:architecture-decisions:2023-01-11_brew_install.md
16 | developer:docs:details:algokit:architecture-decisions:2024-01-31_binary_distribution.md
17 | developer:docs:details:algokit:architecture-decisions:2023-01-12_smart-contract-deployment.md
18 | developer:docs:details:algokit:architecture-decisions:2023-06-06_frontend-templates.md
19 | developer:docs:details:algokit:architecture-decisions:2023-01-11_beaker_productionisation_review.md
20 | developer:docs:details:algokit:architecture-decisions:2022-11-14_sandbox-approach.md
21 | developer:docs:details:algokit:architecture-decisions:2024-01-23_init-wizard-v2.md
22 | puya:docs:architecture-decisions:2024-12-10_arrays.md
23 | puya:docs:architecture-decisions:2024-05-22_teal-compilation.md
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / FundAppAccountParams
 2 | 
 3 | # Interface: FundAppAccountParams
 4 | 
 5 | [types/app-client](../modules/types_app_client.md).FundAppAccountParams
 6 | 
 7 | Parameters for funding an app account
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Properties
12 | 
13 | - [amount](types_app_client.FundAppAccountParams.md#amount)
14 | - [note](types_app_client.FundAppAccountParams.md#note)
15 | - [sendParams](types_app_client.FundAppAccountParams.md#sendparams)
16 | - [sender](types_app_client.FundAppAccountParams.md#sender)
17 | 
18 | ## Properties
19 | 
20 | ### amount
21 | 
22 | • **amount**: [`AlgoAmount`](../classes/types_amount.AlgoAmount.md)
23 | 
24 | #### Defined in
25 | 
26 | [src/types/app-client.ts:251](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L251)
27 | 
28 | ___
29 | 
30 | ### note
31 | 
32 | • `Optional` **note**: [`TransactionNote`](../modules/types_transaction.md#transactionnote)
33 | 
34 | The transaction note for the smart contract call
35 | 
36 | #### Defined in
37 | 
38 | [src/types/app-client.ts:255](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L255)
39 | 
40 | ___
41 | 
42 | ### sendParams
43 | 
44 | • `Optional` **sendParams**: [`SendTransactionParams`](types_transaction.SendTransactionParams.md)
45 | 
46 | Parameters to control transaction sending
47 | 
48 | #### Defined in
49 | 
50 | [src/types/app-client.ts:257](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L257)
51 | 
52 | ___
53 | 
54 | ### sender
55 | 
56 | • `Optional` **sender**: [`SendTransactionFrom`](../modules/types_transaction.md#sendtransactionfrom)
57 | 
58 | The optional sender to send the transaction from, will use the application client's default sender by default if specified
59 | 
60 | #### Defined in
61 | 
62 | [src/types/app-client.ts:253](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L253)
63 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:interfaces:EncodedAssetParams.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / EncodedAssetParams
  2 | 
  3 | # Interface: EncodedAssetParams
  4 | 
  5 | Interfaces for the encoded transaction object. Every property is labelled with its associated Transaction type property
  6 | 
  7 | ## Table of contents
  8 | 
  9 | ### Properties
 10 | 
 11 | - [am](EncodedAssetParams.md#am)
 12 | - [an](EncodedAssetParams.md#an)
 13 | - [au](EncodedAssetParams.md#au)
 14 | - [c](EncodedAssetParams.md#c)
 15 | - [dc](EncodedAssetParams.md#dc)
 16 | - [df](EncodedAssetParams.md#df)
 17 | - [f](EncodedAssetParams.md#f)
 18 | - [m](EncodedAssetParams.md#m)
 19 | - [r](EncodedAssetParams.md#r)
 20 | - [t](EncodedAssetParams.md#t)
 21 | - [un](EncodedAssetParams.md#un)
 22 | 
 23 | ## Properties
 24 | 
 25 | ### am
 26 | 
 27 | • `Optional` **am**: `Buffer`
 28 | 
 29 | assetMetadataHash
 30 | 
 31 | #### Defined in
 32 | 
 33 | types/transactions/encoded.ts:61
 34 | 
 35 | ___
 36 | 
 37 | ### an
 38 | 
 39 | • `Optional` **an**: `string`
 40 | 
 41 | assetName
 42 | 
 43 | #### Defined in
 44 | 
 45 | types/transactions/encoded.ts:46
 46 | 
 47 | ___
 48 | 
 49 | ### au
 50 | 
 51 | • `Optional` **au**: `string`
 52 | 
 53 | assetURL
 54 | 
 55 | #### Defined in
 56 | 
 57 | types/transactions/encoded.ts:56
 58 | 
 59 | ___
 60 | 
 61 | ### c
 62 | 
 63 | • `Optional` **c**: `Buffer`
 64 | 
 65 | assetClawback
 66 | 
 67 | #### Defined in
 68 | 
 69 | types/transactions/encoded.ts:41
 70 | 
 71 | ___
 72 | 
 73 | ### dc
 74 | 
 75 | • **dc**: `number`
 76 | 
 77 | assetDecimals
 78 | 
 79 | #### Defined in
 80 | 
 81 | types/transactions/encoded.ts:21
 82 | 
 83 | ___
 84 | 
 85 | ### df
 86 | 
 87 | • **df**: `boolean`
 88 | 
 89 | assetDefaultFrozen
 90 | 
 91 | #### Defined in
 92 | 
 93 | types/transactions/encoded.ts:16
 94 | 
 95 | ___
 96 | 
 97 | ### f
 98 | 
 99 | • `Optional` **f**: `Buffer`
100 | 
101 | assetFreeze
102 | 
103 | #### Defined in
104 | 
105 | types/transactions/encoded.ts:36
106 | 
107 | ___
108 | 
109 | ### m
110 | 
111 | • `Optional` **m**: `Buffer`
112 | 
113 | assetManager
114 | 
115 | #### Defined in
116 | 
117 | types/transactions/encoded.ts:26
118 | 
119 | ___
120 | 
121 | ### r
122 | 
123 | • `Optional` **r**: `Buffer`
124 | 
125 | assetReserve
126 | 
127 | #### Defined in
128 | 
129 | types/transactions/encoded.ts:31
130 | 
131 | ___
132 | 
133 | ### t
134 | 
135 | • **t**: `number` \| `bigint`
136 | 
137 | assetTotal
138 | 
139 | #### Defined in
140 | 
141 | types/transactions/encoded.ts:11
142 | 
143 | ___
144 | 
145 | ### un
146 | 
147 | • `Optional` **un**: `string`
148 | 
149 | assetUnitName
150 | 
151 | #### Defined in
152 | 
153 | types/transactions/encoded.ts:51
154 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/index.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
 2 | import { walletResources } from './wallet/index.js';
 3 | import { knowledgeResources } from './knowledge/index.js';
 4 | 
 5 | // Resource handler type
 6 | type ResourceHandler = (uri: string) => Promise<{
 7 |   contents: Array<{
 8 |     uri: string;
 9 |     mimeType: string;
10 |     text: string;
11 |   }>;
12 | }>;
13 | 
14 | // Resource module interface
15 | interface ResourceModule {
16 |   canHandle: (uri: string) => boolean;
17 |   handle: ResourceHandler;
18 |   getResourceDefinitions: () => Array<{
19 |     uri: string;
20 |     name: string;
21 |     description: string;
22 |     schema?: any;
23 |   }>;
24 | }
25 | 
26 | // Resource modules registry
27 | const resourceModules: ResourceModule[] = [
28 |   walletResources,
29 |   knowledgeResources
30 | ];
31 | 
32 | export class ResourceManager {
33 |   // Get all resource definitions from all modules
34 |   static get resources() {
35 |     return resourceModules.flatMap(module => module.getResourceDefinitions());
36 |   }
37 | 
38 |   // Get schemas for all resources
39 |   static get schemas() {
40 |     return this.resources.reduce((acc, resource) => ({
41 |       ...acc,
42 |       [resource.uri]: resource.schema
43 |     }), {} as Record<string, any>);
44 |   }
45 | 
46 |   // Handle resource request
47 |   static async handleResource(uri: string) {
48 |     // Find module that can handle this URI
49 |     const module = resourceModules.find(m => m.canHandle(uri));
50 | 
51 |     if (!module) {
52 |       throw new McpError(
53 |         ErrorCode.InvalidRequest,
54 |         `No module found to handle resource: ${uri}`
55 |       );
56 |     }
57 | 
58 |     try {
59 |       return await module.handle(uri);
60 |     } catch (error: unknown) {
61 |       if (error instanceof McpError) {
62 |         throw error;
63 |       }
64 |       const message = error instanceof Error ? error.message : 'Unknown error';
65 |       throw new McpError(
66 |         ErrorCode.InternalError,
67 |         `Failed to handle resource: ${message}`
68 |       );
69 |     }
70 |   }
71 | }
72 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:docs:lg-ops.md:
--------------------------------------------------------------------------------

```markdown
 1 | # AVM operations
 2 | 
 3 | Algorand Python allows you to do express [every op code the AVM has available](https://developer.algorand.org/docs/get-details/dapps/avm/teal/specification/#operations) apart from ops that manipulate the stack (to avoid conflicts with the compiler), and `log` (to avoid confusion with the superior [Algorand Python log function](./lg-logs.md)). These ops are exposed via the [`algopy.op`](#algopy.op) submodule.
 4 | We generally recommend importing this entire submodule so you can use intellisense to discover the available methods:
 5 | 
 6 | ```python
 7 | from algopy import UInt64, op, subroutine
 8 | 
 9 | @subroutine
10 | def sqrt_16() -> UInt64:
11 |     return op.sqrt(16)
12 | ```
13 | 
14 | All ops are typed using Algorand Python types and have correct static type representations.
15 | 
16 | Many ops have higher-order functionality that Algorand Python exposes and would limit the need to reach for the underlying ops. For instance, there is first-class support for local and global storage so there is little need to use the likes of `app_local_get` et. al. But they are still exposed just in case you want to do something that Algorand Python's abstractions don't support.
17 | 
18 | ## Txn
19 | 
20 | The `Txn` opcodes are so commonly used they have been exposed directly in the `algopy` module and can be easily imported to make it terser to access:
21 | 
22 | ```python
23 | from algopy import subroutine, Txn
24 | 
25 | @subroutine
26 | def has_no_app_args() -> bool:
27 |     return Txn.num_app_args == 0
28 | ```
29 | 
30 | ## Global
31 | 
32 | The `Global` opcodes are so commonly used they have been exposed directly in the `algopy` module and can be easily imported to make it terser to access:
33 | 
34 | ```python
35 | from algopy import subroutine, Global, Txn
36 | 
37 | @subroutine
38 | def only_allow_creator() -> None:
39 |     assert Txn.sender == Global.creator_address, "Only the contract creator can perform this operation"
40 | ```
41 | 
```

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

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / ABIContract
  2 | 
  3 | # Class: ABIContract
  4 | 
  5 | ## Table of contents
  6 | 
  7 | ### Constructors
  8 | 
  9 | - [constructor](ABIContract.md#constructor)
 10 | 
 11 | ### Properties
 12 | 
 13 | - [description](ABIContract.md#description)
 14 | - [events](ABIContract.md#events)
 15 | - [methods](ABIContract.md#methods)
 16 | - [name](ABIContract.md#name)
 17 | - [networks](ABIContract.md#networks)
 18 | 
 19 | ### Methods
 20 | 
 21 | - [getMethodByName](ABIContract.md#getmethodbyname)
 22 | - [toJSON](ABIContract.md#tojson)
 23 | 
 24 | ## Constructors
 25 | 
 26 | ### constructor
 27 | 
 28 | • **new ABIContract**(`params`)
 29 | 
 30 | #### Parameters
 31 | 
 32 | | Name | Type |
 33 | | :------ | :------ |
 34 | | `params` | [`ABIContractParams`](../interfaces/ABIContractParams.md) |
 35 | 
 36 | #### Defined in
 37 | 
 38 | abi/contract.ts:28
 39 | 
 40 | ## Properties
 41 | 
 42 | ### description
 43 | 
 44 | • `Optional` `Readonly` **description**: `string`
 45 | 
 46 | #### Defined in
 47 | 
 48 | abi/contract.ts:22
 49 | 
 50 | ___
 51 | 
 52 | ### events
 53 | 
 54 | • `Optional` `Readonly` **events**: `ARC28Event`[]
 55 | 
 56 | [ARC-28](https://arc.algorand.foundation/ARCs/arc-0028) events that MAY be emitted by this contract
 57 | 
 58 | #### Defined in
 59 | 
 60 | abi/contract.ts:26
 61 | 
 62 | ___
 63 | 
 64 | ### methods
 65 | 
 66 | • `Readonly` **methods**: [`ABIMethod`](ABIMethod.md)[]
 67 | 
 68 | #### Defined in
 69 | 
 70 | abi/contract.ts:24
 71 | 
 72 | ___
 73 | 
 74 | ### name
 75 | 
 76 | • `Readonly` **name**: `string`
 77 | 
 78 | #### Defined in
 79 | 
 80 | abi/contract.ts:21
 81 | 
 82 | ___
 83 | 
 84 | ### networks
 85 | 
 86 | • `Readonly` **networks**: [`ABIContractNetworks`](../interfaces/ABIContractNetworks.md)
 87 | 
 88 | #### Defined in
 89 | 
 90 | abi/contract.ts:23
 91 | 
 92 | ## Methods
 93 | 
 94 | ### getMethodByName
 95 | 
 96 | ▸ **getMethodByName**(`name`): [`ABIMethod`](ABIMethod.md)
 97 | 
 98 | #### Parameters
 99 | 
100 | | Name | Type |
101 | | :------ | :------ |
102 | | `name` | `string` |
103 | 
104 | #### Returns
105 | 
106 | [`ABIMethod`](ABIMethod.md)
107 | 
108 | #### Defined in
109 | 
110 | abi/contract.ts:54
111 | 
112 | ___
113 | 
114 | ### toJSON
115 | 
116 | ▸ **toJSON**(): [`ABIContractParams`](../interfaces/ABIContractParams.md)
117 | 
118 | #### Returns
119 | 
120 | [`ABIContractParams`](../interfaces/ABIContractParams.md)
121 | 
122 | #### Defined in
123 | 
124 | abi/contract.ts:44
125 | 
```

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

```markdown
 1 | # AlgoKit Task Analyze
 2 | 
 3 | The `analyze` task is a command-line utility that analyzes TEAL programs for common vulnerabilities using [Tealer](https://github.com/crytic/tealer) integration. It allows you to detect a range of common vulnerabilities in code written in TEAL. For full list of vulnerability detectors refer to [Tealer documentation](https://github.com/crytic/tealer?tab=readme-ov-file#detectors).
 4 | 
 5 | ## Usage
 6 | 
 7 | ```bash
 8 | algokit task analyze INPUT_PATHS [OPTIONS]
 9 | ```
10 | 
11 | ### Arguments
12 | 
13 | - `INPUT_PATHS`: Paths to the TEAL files or directories containing TEAL files to be analyzed. This argument is required.
14 | 
15 | ### Options
16 | 
17 | - `-r, --recursive`: Recursively search for all TEAL files within any provided directories.
18 | - `--force`: Force verification without the disclaimer confirmation prompt.
19 | - `--diff`: Exit with a non-zero code if differences are found between current and last reports.
20 | - `-o, --output OUTPUT_PATH`: Directory path where to store the reports of the static analysis.
21 | - `-e, --exclude DETECTORS`: Exclude specific vulnerabilities from the analysis. Supports multiple exclusions in a single run.
22 | 
23 | ## Example
24 | 
25 | ```bash
26 | algokit task analyze ./contracts -r --exclude rekey-to --exclude missing-fee-check
27 | ```
28 | 
29 | This command will recursively analyze all TEAL files in the `contracts` directory and exclude the `missing-fee-check` vulnerability from the analysis.
30 | 
31 | ## Security considerations
32 | 
33 | This task uses [`tealer`](https://github.com/crytic/tealer), a third-party tool, to suggest improvements for your TEAL programs, but remember to always test your smart contracts code, follow modern software engineering practices and use the [guidelines for smart contract development](https://developer.algorand.org/docs/get-details/dapps/smart-contracts/guidelines/). This should not be used as a substitute for an actual audit.
34 | 
```

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

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / SourceMap
  2 | 
  3 | # Class: SourceMap
  4 | 
  5 | ## Table of contents
  6 | 
  7 | ### Constructors
  8 | 
  9 | - [constructor](SourceMap.md#constructor)
 10 | 
 11 | ### Properties
 12 | 
 13 | - [lineToPc](SourceMap.md#linetopc)
 14 | - [mappings](SourceMap.md#mappings)
 15 | - [names](SourceMap.md#names)
 16 | - [pcToLine](SourceMap.md#pctoline)
 17 | - [sources](SourceMap.md#sources)
 18 | - [version](SourceMap.md#version)
 19 | 
 20 | ### Methods
 21 | 
 22 | - [getLineForPc](SourceMap.md#getlineforpc)
 23 | - [getPcsForLine](SourceMap.md#getpcsforline)
 24 | 
 25 | ## Constructors
 26 | 
 27 | ### constructor
 28 | 
 29 | • **new SourceMap**(`«destructured»`)
 30 | 
 31 | #### Parameters
 32 | 
 33 | | Name | Type |
 34 | | :------ | :------ |
 35 | | `«destructured»` | `Object` |
 36 | | › `mappings` | `string` |
 37 | | › `names` | `string`[] |
 38 | | › `sources` | `string`[] |
 39 | | › `version` | `number` |
 40 | 
 41 | #### Defined in
 42 | 
 43 | logic/sourcemap.ts:12
 44 | 
 45 | ## Properties
 46 | 
 47 | ### lineToPc
 48 | 
 49 | • **lineToPc**: `Object`
 50 | 
 51 | #### Index signature
 52 | 
 53 | ▪ [key: `number`]: `number`[]
 54 | 
 55 | #### Defined in
 56 | 
 57 | logic/sourcemap.ts:10
 58 | 
 59 | ___
 60 | 
 61 | ### mappings
 62 | 
 63 | • **mappings**: `string`
 64 | 
 65 | #### Defined in
 66 | 
 67 | logic/sourcemap.ts:7
 68 | 
 69 | ___
 70 | 
 71 | ### names
 72 | 
 73 | • **names**: `string`[]
 74 | 
 75 | #### Defined in
 76 | 
 77 | logic/sourcemap.ts:6
 78 | 
 79 | ___
 80 | 
 81 | ### pcToLine
 82 | 
 83 | • **pcToLine**: `Object`
 84 | 
 85 | #### Index signature
 86 | 
 87 | ▪ [key: `number`]: `number`
 88 | 
 89 | #### Defined in
 90 | 
 91 | logic/sourcemap.ts:9
 92 | 
 93 | ___
 94 | 
 95 | ### sources
 96 | 
 97 | • **sources**: `string`[]
 98 | 
 99 | #### Defined in
100 | 
101 | logic/sourcemap.ts:5
102 | 
103 | ___
104 | 
105 | ### version
106 | 
107 | • **version**: `number`
108 | 
109 | #### Defined in
110 | 
111 | logic/sourcemap.ts:4
112 | 
113 | ## Methods
114 | 
115 | ### getLineForPc
116 | 
117 | ▸ **getLineForPc**(`pc`): `number`
118 | 
119 | #### Parameters
120 | 
121 | | Name | Type |
122 | | :------ | :------ |
123 | | `pc` | `number` |
124 | 
125 | #### Returns
126 | 
127 | `number`
128 | 
129 | #### Defined in
130 | 
131 | logic/sourcemap.ts:60
132 | 
133 | ___
134 | 
135 | ### getPcsForLine
136 | 
137 | ▸ **getPcsForLine**(`line`): `number`[]
138 | 
139 | #### Parameters
140 | 
141 | | Name | Type |
142 | | :------ | :------ |
143 | | `line` | `number` |
144 | 
145 | #### Returns
146 | 
147 | `number`[]
148 | 
149 | #### Defined in
150 | 
151 | logic/sourcemap.ts:64
152 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/network-client](../modules/types_network_client.md) / NetworkDetails
 2 | 
 3 | # Interface: NetworkDetails
 4 | 
 5 | [types/network-client](../modules/types_network_client.md).NetworkDetails
 6 | 
 7 | Details of the current network.
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Properties
12 | 
13 | - [genesisHash](types_network_client.NetworkDetails.md#genesishash)
14 | - [genesisId](types_network_client.NetworkDetails.md#genesisid)
15 | - [isLocalNet](types_network_client.NetworkDetails.md#islocalnet)
16 | - [isMainNet](types_network_client.NetworkDetails.md#ismainnet)
17 | - [isTestNet](types_network_client.NetworkDetails.md#istestnet)
18 | 
19 | ## Properties
20 | 
21 | ### genesisHash
22 | 
23 | • **genesisHash**: `string`
24 | 
25 | The base64 genesis hash of the current network.
26 | 
27 | #### Defined in
28 | 
29 | [src/types/network-client.ts:34](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L34)
30 | 
31 | ___
32 | 
33 | ### genesisId
34 | 
35 | • **genesisId**: `string`
36 | 
37 | The genesis ID of the current network.
38 | 
39 | #### Defined in
40 | 
41 | [src/types/network-client.ts:32](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L32)
42 | 
43 | ___
44 | 
45 | ### isLocalNet
46 | 
47 | • **isLocalNet**: `boolean`
48 | 
49 | Whether or not the network is LocalNet.
50 | 
51 | #### Defined in
52 | 
53 | [src/types/network-client.ts:30](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L30)
54 | 
55 | ___
56 | 
57 | ### isMainNet
58 | 
59 | • **isMainNet**: `boolean`
60 | 
61 | Whether or not the network is MainNet.
62 | 
63 | #### Defined in
64 | 
65 | [src/types/network-client.ts:28](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L28)
66 | 
67 | ___
68 | 
69 | ### isTestNet
70 | 
71 | • **isTestNet**: `boolean`
72 | 
73 | Whether or not the network is TestNet.
74 | 
75 | #### Defined in
76 | 
77 | [src/types/network-client.ts:26](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L26)
78 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/liquid-auth:docs:clients:browser:example.md:
--------------------------------------------------------------------------------

```markdown
 1 | ---
 2 | title: 'Browser: Example'
 3 | next: false
 4 | ---
 5 | 
 6 | You can check the example in the <a href="https://github.com/algorandfoundation/liquid-auth-js/tree/develop/example" target="blank">GitHub repository</a> for a working browser based application
 7 | 
 8 | 
 9 | ## Answer Client
10 | A dApp that wants a remote wallet to log into the service and create a peer-to-peer connection.
11 | ```typescript
12 | import { SignalClient } from "@algorandfoundation/liquid-client";
13 | const client = new SignalClient(window.origin);
14 | 
15 | const requestId = SignalClient.generateRequestId() // 12345
16 | 
17 | // Wait for the Offer Client to connect
18 | client.peer(requestId, 'offer').then((dc)=>{
19 |   // Handle Peer Messages
20 |   dc.onmessage = (event: MessageEvent) => {
21 |     console.log(event.data)
22 |   }
23 |   // Send Messages to Peer
24 |   dc.send('Hello World')
25 | })
26 | 
27 | // Generate a QR Code
28 | const qrData = await client.qrCode()
29 | ```
30 | 
31 | ## Offer Client
32 | 
33 | The remote browser-based wallet. This could be an extension or hybrid mobile application.
34 | 
35 | ```typescript
36 | import * as nacl from 'tweetnacl'
37 | import { SignalClient, toBase64URL } from "@algorandfoundation/liquid-client";
38 | 
39 | const requestId = 12345 // A known request ID from a Answer Client
40 | const origin = "https://example.com" // Some known origin
41 | const address = "encoded-address" // Some known address
42 | const secretKey = new Uint8Array(32) // Some secret key
43 | 
44 | // Sign in to the service with a new credential
45 | await client.attestation(async (challenge: Uint8Array) => ({
46 |   type: 'algorand',
47 |   requestId,
48 |   origin,
49 |   address,
50 |   signature: toBase64URL(nacl.sign.detached(challenge, secretKey)),
51 |   device: 'Demo Web Wallet'
52 | }))
53 | 
54 | // Wait for the Answer Client to connect
55 | client.peer(requestId, 'answer').then((dc)=>{
56 |   // Handle Peer Messages
57 |   dc.onmessage = (event: MessageEvent) => {
58 |     console.log(event.data)
59 |   }
60 |   // Send Messages to Peer
61 |   dc.send('Hello World')
62 | })
63 | ```
64 | 
65 | 
```

--------------------------------------------------------------------------------
/packages/server/src/tools/apiManager/example/get-balance.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
 2 | import { ResponseProcessor } from '../../../utils/responseProcessor.js';
 3 | import { algodClient } from '../../../algorand-client.js';
 4 | 
 5 | /**
 6 |  * Example tool to demonstrate implementation patterns
 7 |  * Gets account balance and assets for a given address
 8 |  * 
 9 |  * @param {Object} args - Tool arguments
10 |  * @param {string} args.address - Algorand address to check
11 |  * @returns {Promise<Object>} Account balance information including assets
12 |  * @throws {McpError} If address is invalid or operation fails
13 |  */
14 | export const getBalanceToolSchema: { type: "object", properties: any, required: string[] } = {
15 |   type: "object",
16 |   properties: {
17 |     address: {
18 |       type: 'string',
19 |       description: 'Algorand address in standard format (58 characters)'
20 |     }
21 |   },
22 |   required: ['address']
23 | };
24 | 
25 | export const getBalanceTool = async (args: { address: string }) => {
26 |   try {
27 |     // Input validation
28 |     if (!args.address) {
29 |       throw new McpError(
30 |         ErrorCode.InvalidParams,
31 |         'Missing required parameter: address'
32 |       );
33 |     }
34 | 
35 |     if (!/^[A-Z2-7]{58}$/.test(args.address)) {
36 |       throw new McpError(
37 |         ErrorCode.InvalidParams,
38 |         'Invalid Algorand address format'
39 |       );
40 |     }
41 | 
42 |     // Get account information using Algorand client
43 |     const accountInfo = await algodClient.accountInformation(args.address).do();
44 | 
45 |     // Return complete response without pagination
46 |     return accountInfo;
47 |   } catch (error: unknown) {
48 |     // Handle specific Algorand API errors
49 |     if (error instanceof McpError) {
50 |       throw error;
51 |     }
52 | 
53 |     // Format error response
54 |     const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
55 |     throw new McpError(
56 |       ErrorCode.InternalError,
57 |       `Failed to get account balance: ${errorMessage}`
58 |     );
59 |   }
60 | };
61 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/devportal-code-examples:README.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Algorand Developer Portal Code Examples
 2 | 
 3 | Welcome to your new AlgoKit project!
 4 | 
 5 | This is your workspace root. A `workspace` in AlgoKit is an orchestrated collection of standalone projects (backends, smart contracts, frontend apps and etc).
 6 | 
 7 | By default, `projects_root_path` parameter is set to `projects`. Which instructs AlgoKit CLI to create a new directory under `projects` directory when new project is instantiated via `algokit init` at the root of the workspace.
 8 | 
 9 | ## Prerequisites
10 | - [Install AlgoKit](https://github.com/algorandfoundation/algokit-cli/tree/main?tab=readme-ov-file#install)
11 | - Install [Docker](https://www.docker.com/products/docker-desktop/)
12 | - Install [Node.JS / npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
13 | 
14 | ## Project Setup
15 | - Run `algokit project bootstrap all` from the root of this repository to bootstrap all subprojects under the `projects` folder.
16 | - Open Docker Desktop and then launch AlgoKit localnet by running `algokit localnet start`
17 | 
18 | ## Getting Started
19 | 
20 | To get started refer to `README.md` files in respective sub-projects in the `projects` directory.
21 | 
22 | To learn more about algokit, visit [documentation](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/algokit.md).
23 | 
24 | ### GitHub Codespaces
25 | 
26 | To get started execute:
27 | 
28 | 1. `algokit generate devcontainer` - invoking this command from the root of this repository will create a `devcontainer.json` file with all the configuration needed to run this project in a GitHub codespace. [Run the repository inside a codespace](https://docs.github.com/en/codespaces/getting-started/quickstart) to get started.
29 | 2. `algokit init` - invoke this command inside a github codespace to launch an interactive wizard to guide you through the process of creating a new AlgoKit project
30 | 
31 | Powered by [Copier templates](https://copier.readthedocs.io/en/stable/).
32 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_indexer.ApplicationOnComplete.md:
--------------------------------------------------------------------------------

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/indexer](../modules/types_indexer.md) / ApplicationOnComplete
 2 | 
 3 | # Enumeration: ApplicationOnComplete
 4 | 
 5 | [types/indexer](../modules/types_indexer.md).ApplicationOnComplete
 6 | 
 7 | Defines the what additional actions occur with the transaction https://developer.algorand.org/docs/rest-apis/indexer/#oncompletion
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Enumeration Members
12 | 
13 | - [clear](types_indexer.ApplicationOnComplete.md#clear)
14 | - [closeout](types_indexer.ApplicationOnComplete.md#closeout)
15 | - [delete](types_indexer.ApplicationOnComplete.md#delete)
16 | - [noop](types_indexer.ApplicationOnComplete.md#noop)
17 | - [optin](types_indexer.ApplicationOnComplete.md#optin)
18 | - [update](types_indexer.ApplicationOnComplete.md#update)
19 | 
20 | ## Enumeration Members
21 | 
22 | ### clear
23 | 
24 | • **clear** = ``"clear"``
25 | 
26 | #### Defined in
27 | 
28 | [src/types/indexer.ts:171](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L171)
29 | 
30 | ___
31 | 
32 | ### closeout
33 | 
34 | • **closeout** = ``"closeout"``
35 | 
36 | #### Defined in
37 | 
38 | [src/types/indexer.ts:170](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L170)
39 | 
40 | ___
41 | 
42 | ### delete
43 | 
44 | • **delete** = ``"delete"``
45 | 
46 | #### Defined in
47 | 
48 | [src/types/indexer.ts:173](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L173)
49 | 
50 | ___
51 | 
52 | ### noop
53 | 
54 | • **noop** = ``"noop"``
55 | 
56 | #### Defined in
57 | 
58 | [src/types/indexer.ts:168](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L168)
59 | 
60 | ___
61 | 
62 | ### optin
63 | 
64 | • **optin** = ``"optin"``
65 | 
66 | #### Defined in
67 | 
68 | [src/types/indexer.ts:169](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L169)
69 | 
70 | ___
71 | 
72 | ### update
73 | 
74 | • **update** = ``"update"``
75 | 
76 | #### Defined in
77 | 
78 | [src/types/indexer.ts:172](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L172)
79 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppStorageSchema
 2 | 
 3 | # Interface: AppStorageSchema
 4 | 
 5 | [types/app](../modules/types_app.md).AppStorageSchema
 6 | 
 7 | Parameters representing the storage schema of an app.
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Properties
12 | 
13 | - [extraPages](types_app.AppStorageSchema.md#extrapages)
14 | - [globalByteSlices](types_app.AppStorageSchema.md#globalbyteslices)
15 | - [globalInts](types_app.AppStorageSchema.md#globalints)
16 | - [localByteSlices](types_app.AppStorageSchema.md#localbyteslices)
17 | - [localInts](types_app.AppStorageSchema.md#localints)
18 | 
19 | ## Properties
20 | 
21 | ### extraPages
22 | 
23 | • `Optional` **extraPages**: `number`
24 | 
25 | Any extra pages that are needed for the smart contract; if left blank then the right number of pages will be calculated based on the teal code size
26 | 
27 | #### Defined in
28 | 
29 | [src/types/app.ts:209](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L209)
30 | 
31 | ___
32 | 
33 | ### globalByteSlices
34 | 
35 | • **globalByteSlices**: `number`
36 | 
37 | Restricts number of byte slices in global state
38 | 
39 | #### Defined in
40 | 
41 | [src/types/app.ts:207](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L207)
42 | 
43 | ___
44 | 
45 | ### globalInts
46 | 
47 | • **globalInts**: `number`
48 | 
49 | Restricts number of ints in global state
50 | 
51 | #### Defined in
52 | 
53 | [src/types/app.ts:205](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L205)
54 | 
55 | ___
56 | 
57 | ### localByteSlices
58 | 
59 | • **localByteSlices**: `number`
60 | 
61 | Restricts number of byte slices in per-user local state
62 | 
63 | #### Defined in
64 | 
65 | [src/types/app.ts:203](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L203)
66 | 
67 | ___
68 | 
69 | ### localInts
70 | 
71 | • **localInts**: `number`
72 | 
73 | Restricts number of ints in per-user local state
74 | 
75 | #### Defined in
76 | 
77 | [src/types/app.ts:201](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L201)
78 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:smartsigs:index.md:
--------------------------------------------------------------------------------

```markdown
 1 | title: SmartSig details
 2 | 
 3 | **Algorand Smart Contracts (ASC1)**, provides both smart contracts and smart signatures. The intended use case for the contract will determine the appropriate type to use. Smart signatures are primarily used to delegate signature authority. Smart signatures can also be used as escrow or contract accounts, but in most cases it is preferable to use a [smart contract](../apps/) when an escrow is required.
 4 | 
 5 | Most Algorand transactions are authorized by a [signature from a single account](../../../transactions/signatures.md#single-signatures) or a [multisignature account](../../../transactions/signatures#multisignatures). Algorand’s smart signatures allow for a third type of signature using a **Transaction Execution Approval Language (TEAL)** program, called a **logic signature (LogicSig)**. Smart signatures provide two modes for TEAL logic to operate as a LogicSig, to create a contract account that functions similar to an escrow or to delegate signature authority to another account. These two modes are discussed in detail in [Usage Modes](./modes/).
 6 | 
 7 | These smart signatures can be written in [TEAL](/docs/get-details/dapps/avm/teal/) or in Python using the [PyTeal library](/docs/get-details/dapps/writing-contracts/pyteal). If written in Python the library will return the automatically generated TEAL to be used by either the SDKs or the `goal` command-line tool.  
 8 | 
 9 | To learn more about the TEAL language specification see the [TEAL Specification Reference](../../avm/teal/specification.md). To get a high-level understanding of how TEAL is processed see the [TEAL Overview guide](../../avm/teal/).
10 | 
11 | To compile and use a TEAL program as a smart signature with `goal`, see [CLI smart signatures](walkthrough).
12 | 
13 | To start working with smart signatures with the SDKs, visit the [Interact with smart signatures](../frontend/smartsigs/) section.
14 | 
15 | 
16 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / AlgorandFixture
 2 | 
 3 | # Interface: AlgorandFixture
 4 | 
 5 | [types/testing](../modules/types_testing.md).AlgorandFixture
 6 | 
 7 | An Algorand automated testing fixture
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Properties
12 | 
13 | - [beforeEach](types_testing.AlgorandFixture.md#beforeeach)
14 | 
15 | ### Accessors
16 | 
17 | - [algorand](types_testing.AlgorandFixture.md#algorand)
18 | - [context](types_testing.AlgorandFixture.md#context)
19 | 
20 | ## Properties
21 | 
22 | ### beforeEach
23 | 
24 | • **beforeEach**: () => `Promise`\<`void`\>
25 | 
26 | Testing framework agnostic handler method to run before each test to prepare the `context` for that test.
27 | 
28 | #### Type declaration
29 | 
30 | ▸ (): `Promise`\<`void`\>
31 | 
32 | ##### Returns
33 | 
34 | `Promise`\<`void`\>
35 | 
36 | #### Defined in
37 | 
38 | [src/types/testing.ts:87](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L87)
39 | 
40 | ## Accessors
41 | 
42 | ### algorand
43 | 
44 | • `get` **algorand**(): [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md)
45 | 
46 | Retrieve an `AlgorandClient` loaded with the current context, including testAccount and any generated accounts loaded as signers.
47 | 
48 | #### Returns
49 | 
50 | [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md)
51 | 
52 | #### Defined in
53 | 
54 | [src/types/testing.ts:82](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L82)
55 | 
56 | ___
57 | 
58 | ### context
59 | 
60 | • `get` **context**(): [`AlgorandTestAutomationContext`](types_testing.AlgorandTestAutomationContext.md)
61 | 
62 | Retrieve the current context.
63 | Useful with destructuring.
64 | 
65 | #### Returns
66 | 
67 | [`AlgorandTestAutomationContext`](types_testing.AlgorandTestAutomationContext.md)
68 | 
69 | **`Example`**
70 | 
71 | ```typescript
72 | test('My test', () => {
73 |     const {algod, indexer, testAccount, ...} = algorand.context
74 | })
75 | ```
76 | 
77 | #### Defined in
78 | 
79 | [src/types/testing.ts:77](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L77)
80 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/liquid-auth:decisions:4-Fido-Extension.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Overview
 2 | 
 3 | Deprecate ARC-31/Arbitrary Auth Message in favor of custom FIDO2 extension
 4 | 
 5 | ## Decisions
 6 | 
 7 | - Remove connect module and endpoints
 8 | - Use FIDO2 Attestation/Assertions for device linking
 9 | 
10 | ## Implementation
11 | 
12 | ```mermaid
13 | sequenceDiagram
14 |     participant Website
15 |     participant Server
16 |     participant Wallet
17 |     Note over Website, Wallet: Link devices
18 |     Website->>Server: Subscribe to 'wss:link'
19 |     Website-->>Website: Display QR Connect Request ID
20 |     Wallet->>Website: Scan QR Code
21 |     Server-->>Wallet: Get Challenge/Options
22 |     Wallet->>Server: POST FIDO2 Credential + Liquid Auth Signature
23 |     Server-->>Server: Validate Signatures
24 |     Server-->>Website: HTTPOnly Session
25 |     Server->>Wallet: Ok Response + HTTPOnly Session
26 |     Server->>Website: Emit to `wss:link` client
27 |     Note over Website, Wallet: Signaling Channels
28 |     Website-->>Server: Subscribe to 'wss:offer-description'
29 |     Website-->>Server: Subscribe to 'wss:offer-candidate'
30 |     Wallet-->>Server: Subscribe to 'wss:answer-description'
31 |     Wallet-->>Server: Subscribe to 'wss:answer-candidate'
32 |     
33 |     Note over Website, Wallet: Peer Offer
34 |     Wallet-->>Wallet: On answer-description, set Remote SDP
35 |     Wallet-->>Wallet: On answer-candidate, add ICE Candidate
36 |     Wallet-->>Wallet: Create Peer Offer & DataChannel
37 |     Wallet-->>Server: Emit `wss:offer-description`
38 |     Wallet-->>Server: Emit `wss:offer-candidate`
39 |     
40 |     Note over Website, Wallet: Peer Answer
41 |     Website-->>Website: On offer-description, set Remote SDP and create Answer
42 |     Website-->>Website: On offer-candidate, add ICE Candidate
43 |     Website-->>Server: Emit `wss:answer-description`
44 |     Website-->>Server: Emit `wss:answer-candidate`
45 |     
46 |     Note over Website, Wallet: Data Channel
47 |     Website-->>Wallet: On DataChannel, Emit Messages
48 |     
49 | ```
50 | 
51 | *Note: It may be possible to handle signaling in a fully decentralized manner in the future. 
52 | 
```

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

```markdown
 1 | # AlgoKit Task NFD Lookup
 2 | 
 3 | The AlgoKit NFD Lookup feature allows you to perform a lookup via NFD domain or address, returning the associated address or domain respectively using the AlgoKit CLI. The feature is powered by [NFDomains MainNet API](https://api-docs.nf.domains/).
 4 | 
 5 | ## Usage
 6 | 
 7 | Available commands and possible usage as follows:
 8 | 
 9 | ```bash
10 | $ ~ algokit task nfd-lookup
11 | Usage: algokit task nfd-lookup [OPTIONS] VALUE
12 | 
13 | Perform a lookup via NFD domain or address, returning the associated address or domain respectively.
14 | 
15 | Options:
16 | -o, --output [full|tiny|address] Output format for NFD API response. Defaults to address|domain resolved.
17 | -h, --help                       Show this message and exit.
18 | ```
19 | 
20 | ## Options
21 | 
22 | - `VALUE`: Specifies the NFD domain or Algorand address to lookup. This argument is required.
23 | - `--output, -o [full|tiny|address]`: Specifies the output format for NFD API response. Defaults to address|domain resolved.
24 | 
25 | > When using the `full` and `tiny` output formats, please be aware that these match the [views in get requests of the NFD API](https://api-docs.nf.domains/quick-start#views-in-get-requests). The `address` output format, which is used by default, refers to the respective domain name or address resolved and outputs it as a string (if found).
26 | 
27 | ## Example
28 | 
29 | To perform a lookup, you can use the nfd-lookup command as follows:
30 | 
31 | ```bash
32 | $ algokit task nfd-lookup {NFD_DOMAIN_OR_ALGORAND_ADDRESS}
33 | ```
34 | 
35 | This will perform a lookup and return the associated address or domain. If you want to specify the output format, you can use the --output flag:
36 | 
37 | ```bash
38 | $ algokit task nfd-lookup {NFD_DOMAIN_OR_ALGORAND_ADDRESS} --output full
39 | ```
40 | 
41 | If the lookup is successful, the result will be output to the console in a JSON format.
42 | 
43 | ## Further Reading
44 | 
45 | For in-depth details, visit the [nfd-lookup section](../../cli/index.md#nfd-lookup) in the AlgoKit CLI reference documentation.
46 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:account.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Account management
 2 | 
 3 | Account management is one of the core capabilities provided by AlgoKit Utils. It allows you to create mnemonic, idempotent KMD and environment variable injected accounts 
 4 | that can be used to sign transactions as well as representing a sender address at the same time.
 5 | 
 6 | (account)=
 7 | ## `Account`
 8 | 
 9 | Encapsulates a private key with convenience properties for `address`, `signer` and `public_key`.
10 | 
11 | There are various methods of obtaining an `Account` instance
12 | 
13 | * `get_account`: Returns an `Account` instance with the private key loaded by convention based on the given name identifier:
14 |   * from an environment variable containing a mnemonic `{NAME}_MNEMONIC` OR
15 |   * loading the account from KMD ny name if it exists (LocalNet only) OR
16 |   * creating the account in KMD with associated name (LocalNet only)
17 | 
18 |   This allows you to have powerful code that will automatically create and fund an account by name locally and when deployed against 
19 |   TestNet/MainNet will automatically resolve from environment variables
20 |  
21 | * `Account.new_account`: Returns a new `Account` using `algosdk.account.generate_account()`
22 | * `Account(private_key)`: Load an existing account from a private key
23 | * `Account(private_key, address)`: Load an existing account from a private key and address, useful for re-keyed accounts
24 | * `get_account_from_mnemonic`: Load an existing account from a mnemonic
25 | * `get_dispenser_account`: Gets a dispenser account that is funded by either:
26 |   * Using the LocalNet default account (LocalNet only) OR
27 |   * Loading an account from `DISPENSER_MNEMONIC`
28 | 
29 | If working with a LocalNet instance, there are some additional functions that rely on a KMD service being exposed:
30 | * `create_kmd_wallet_account`, `get_kmd_wallet_account` or `get_or_create_kmd_wallet_account`: These functions allow retrieving a KMD wallet account by name,
31 | * `get_localnet_default_account`: Gets default localnet account that is funded with algos
32 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:account.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Account management
 2 | 
 3 | Account management is one of the core capabilities provided by AlgoKit Utils. It allows you to create mnemonic, idempotent KMD and environment variable injected accounts
 4 | that can be used to sign transactions as well as representing a sender address at the same time.
 5 | 
 6 | <a id="account"></a>
 7 | 
 8 | ## `Account`
 9 | 
10 | Encapsulates a private key with convenience properties for `address`, `signer` and `public_key`.
11 | 
12 | There are various methods of obtaining an `Account` instance
13 | 
14 | * `get_account`: Returns an `Account` instance with the private key loaded by convention based on the given name identifier:
15 |   * from an environment variable containing a mnemonic `{NAME}_MNEMONIC` OR
16 |   * loading the account from KMD ny name if it exists (LocalNet only) OR
17 |   * creating the account in KMD with associated name (LocalNet only)
18 | 
19 |   This allows you to have powerful code that will automatically create and fund an account by name locally and when deployed against
20 |   TestNet/MainNet will automatically resolve from environment variables
21 | * `Account.new_account`: Returns a new `Account` using `algosdk.account.generate_account()`
22 | * `Account(private_key)`: Load an existing account from a private key
23 | * `Account(private_key, address)`: Load an existing account from a private key and address, useful for re-keyed accounts
24 | * `get_account_from_mnemonic`: Load an existing account from a mnemonic
25 | * `get_dispenser_account`: Gets a dispenser account that is funded by either:
26 |   * Using the LocalNet default account (LocalNet only) OR
27 |   * Loading an account from `DISPENSER_MNEMONIC`
28 | 
29 | If working with a LocalNet instance, there are some additional functions that rely on a KMD service being exposed:
30 | 
31 | * `create_kmd_wallet_account`, `get_kmd_wallet_account` or `get_or_create_kmd_wallet_account`: These functions allow retrieving a KMD wallet account by name,
32 | * `get_localnet_default_account`: Gets default localnet account that is funded with algos
33 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0002-init.md:
--------------------------------------------------------------------------------

```markdown
 1 | ---
 2 | title: "2. Initializing The Template"
 3 | ---
 4 | 
 5 | ## Algokit Init
 6 | 
 7 | To get started, run the following Algokit command to initialize a template:
 8 | 
 9 | ```bash
10 | $ algokit init --template tealscript --name hello_world
11 | ```
12 | 
13 | For this tutorial, I have chosen the name `hello_world` for my project, which will be reflected throughout the rest of this content. If you choose a different name, some parts might be different for you.
14 | 
15 | ## Template Layout
16 | 
17 | After the init command finishes, you should have the following directory structure:
18 | 
19 | ```
20 | .
21 | ├── README.md
22 | ├── __test__
23 | │   └── hello_world.test.ts
24 | ├── contracts
25 | │   ├── artifacts
26 | │   │   └── components
27 | │   ├── clients
28 | │   └── hello_world.algo.ts
29 | ├── jest.config.js
30 | ├── package-lock.json
31 | ├── package.json
32 | └── tsconfig.json
33 | ```
34 | 
35 | If you have experience with web development, most of this should look familiar. Below are the key directory and files
36 | 
37 | ### __test__/
38 | #### hello_world.test.ts
39 | 
40 | `hello_world.test.ts` is a test for our contract written with Jest. This tutorial won't go too in-depth into testing, but it is a good example on how client-side contract interaction works
41 | 
42 | ### contracts/
43 | 
44 | #### hello_world.algo.ts
45 | 
46 | `hello_world.algo.ts` is the most important file in the template. This is where our contract logic is defined. You might notice that this file has a `.ts` extension, but also an `.algo.ts`. The `.algo.` is there solely to help tools like ESLint and TypeScript differentiate between regular TypeScript files and TEALScript files. The TEALScript compiler does not require the `.algo.ts` extension but it is highly recommended to use. Any files without `.algo.ts` extension in this template may be mistaken for TypeScript files that should be compiled into JavaScript (instead of TEAL), which may cause errors.
47 | 
48 | #### artifacts/
49 | 
50 | `artifacts/` is the directory where all the files generated by the TEALScript compiler and algokit will go. We will go further in-depth on these artifacts in the next step of this tutorial.
51 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:enums:OnApplicationComplete.md:
--------------------------------------------------------------------------------

```markdown
 1 | [algosdk](../README.md) / [Exports](../modules.md) / OnApplicationComplete
 2 | 
 3 | # Enumeration: OnApplicationComplete
 4 | 
 5 | Enums for application transactions on-transaction-complete behavior
 6 | 
 7 | ## Table of contents
 8 | 
 9 | ### Enumeration Members
10 | 
11 | - [ClearStateOC](OnApplicationComplete.md#clearstateoc)
12 | - [CloseOutOC](OnApplicationComplete.md#closeoutoc)
13 | - [DeleteApplicationOC](OnApplicationComplete.md#deleteapplicationoc)
14 | - [NoOpOC](OnApplicationComplete.md#noopoc)
15 | - [OptInOC](OnApplicationComplete.md#optinoc)
16 | - [UpdateApplicationOC](OnApplicationComplete.md#updateapplicationoc)
17 | 
18 | ## Enumeration Members
19 | 
20 | ### ClearStateOC
21 | 
22 | • **ClearStateOC** = ``3``
23 | 
24 | ClearStateOC is similar to CloseOutOC, but may never fail. This
25 | allows users to reclaim their minimum balance from an application
26 | they no longer wish to opt in to.
27 | 
28 | #### Defined in
29 | 
30 | types/transactions/base.ts:81
31 | 
32 | ___
33 | 
34 | ### CloseOutOC
35 | 
36 | • **CloseOutOC** = ``2``
37 | 
38 | CloseOutOC indicates that an application transaction will deallocate
39 | some LocalState for the application from the user's account
40 | 
41 | #### Defined in
42 | 
43 | types/transactions/base.ts:74
44 | 
45 | ___
46 | 
47 | ### DeleteApplicationOC
48 | 
49 | • **DeleteApplicationOC** = ``5``
50 | 
51 | DeleteApplicationOC indicates that an application transaction will
52 | delete the AppParams for the application from the creator's balance
53 | record
54 | 
55 | #### Defined in
56 | 
57 | types/transactions/base.ts:94
58 | 
59 | ___
60 | 
61 | ### NoOpOC
62 | 
63 | • **NoOpOC** = ``0``
64 | 
65 | NoOpOC indicates that an application transaction will simply call its
66 | ApprovalProgram
67 | 
68 | #### Defined in
69 | 
70 | types/transactions/base.ts:62
71 | 
72 | ___
73 | 
74 | ### OptInOC
75 | 
76 | • **OptInOC** = ``1``
77 | 
78 | OptInOC indicates that an application transaction will allocate some
79 | LocalState for the application in the sender's account
80 | 
81 | #### Defined in
82 | 
83 | types/transactions/base.ts:68
84 | 
85 | ___
86 | 
87 | ### UpdateApplicationOC
88 | 
89 | • **UpdateApplicationOC** = ``4``
90 | 
91 | UpdateApplicationOC indicates that an application transaction will
92 | update the ApprovalProgram and ClearStateProgram for the application
93 | 
94 | #### Defined in
95 | 
96 | types/transactions/base.ts:87
97 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / CallConfig
 2 | 
 3 | # Interface: CallConfig
 4 | 
 5 | [types/app-spec](../modules/types_app_spec.md).CallConfig
 6 | 
 7 | Call configuration for a method
 8 | 
 9 | ## Table of contents
10 | 
11 | ### Properties
12 | 
13 | - [close\_out](types_app_spec.CallConfig.md#close_out)
14 | - [delete\_application](types_app_spec.CallConfig.md#delete_application)
15 | - [no\_op](types_app_spec.CallConfig.md#no_op)
16 | - [opt\_in](types_app_spec.CallConfig.md#opt_in)
17 | - [update\_application](types_app_spec.CallConfig.md#update_application)
18 | 
19 | ## Properties
20 | 
21 | ### close\_out
22 | 
23 | • `Optional` **close\_out**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
24 | 
25 | Close out call config
26 | 
27 | #### Defined in
28 | 
29 | [src/types/app-spec.ts:183](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L183)
30 | 
31 | ___
32 | 
33 | ### delete\_application
34 | 
35 | • `Optional` **delete\_application**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
36 | 
37 | Delete call config
38 | 
39 | #### Defined in
40 | 
41 | [src/types/app-spec.ts:187](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L187)
42 | 
43 | ___
44 | 
45 | ### no\_op
46 | 
47 | • `Optional` **no\_op**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
48 | 
49 | NoOp call config
50 | 
51 | #### Defined in
52 | 
53 | [src/types/app-spec.ts:179](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L179)
54 | 
55 | ___
56 | 
57 | ### opt\_in
58 | 
59 | • `Optional` **opt\_in**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
60 | 
61 | Opt-in call config
62 | 
63 | #### Defined in
64 | 
65 | [src/types/app-spec.ts:181](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L181)
66 | 
67 | ___
68 | 
69 | ### update\_application
70 | 
71 | • `Optional` **update\_application**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
72 | 
73 | Update call config
74 | 
75 | #### Defined in
76 | 
77 | [src/types/app-spec.ts:185](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L185)
78 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:get-started:basics:where_to_start.md:
--------------------------------------------------------------------------------

```markdown
 1 | title: Where do I start?
 2 | 
 3 | # Smart contracts & dApps
 4 | 
 5 | If you are interested in building an application([dApp](whats_a_dapp.md)) on Algorand, checkout [Algokit](/docs/get-started/algokit), which is a tool for quickly building, testing, and deploying Algorand smart contracts. 
 6 | 
 7 | > [Tell me more about Algorand smart contracts!](/docs/get-details/dapps/smart-contracts/)
 8 | 
 9 | 
10 | # Tokenization
11 | 
12 | This section will walk you through the basics of tokenizing assets on Algorand. We’ll start with showing you how Alice and Bob tokenize their NFT, and then walk through creating fungible tokens. You don’t need to write smart contract code to tokenize assets on Algorand. Assets are a layer-1 primitive, built right into the protocol itself.
13 | 
14 | > [I want to learn how to mint NFTs.](/docs/get-started/tokenization/nft/){: target="_blank}
15 | 
16 | > [I want to learn how to create fungible tokens.](/docs/get-started/tokenization/ft){: target="_blank}
17 | 
18 | -----
19 | 
20 | # Detailed feature documentation
21 | 
22 | If you are looking for detailed feature explanations and reference documentation, check out the “Get details” section or just search for what you’re looking for using the search box in the top left corner of the site.
23 | 
24 | > [Get all the details on layer-1 features and capabilities.](/docs/get-details/){: target="_blank}
25 | 
26 | -----
27 | 
28 | # Developer Blog
29 | 
30 | Here you can find code tutorials and prototypes from the Algorand developer community. This is also where big features will be announced. 
31 | 
32 | > [See the latest articles and code from Algorand and the community.](../../../../blog/){: target="_blank}
33 | 
34 | -----
35 | 
36 | # Participate in Algorand Consensus
37 | 
38 | Most of this getting started section is targeted towards application developers. If you’re interested in running a MainNet node and participating in Algorand consensus, refer to the "Run a node" section.
39 | 
40 | > [I want to run a node.](/docs/run-a-node/setup/types/){: target="_blank}
41 | 
42 | > [I want to participate in Algorand consensus.](/docs/run-a-node/participate/){: target="_blank}
43 | 
44 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:index.md:
--------------------------------------------------------------------------------

```markdown
 1 | title: Overview
 2 | 
 3 | Algorand has three public networks: [**MainNet**](mainnet), [**TestNet**](testnet), and [**BetaNet**](betanet). This section provides details about each of these networks that will help you validate the integrity of your connection to them. 
 4 | 
 5 | <center>
 6 | **Diagram of the relationship between the three public networks.**
 7 | 
 8 | ![Algorand Public Networks](../../imgs/network.png)
 9 | 
10 | </center>
11 | 
12 | Each network page, contains the following information:
13 | 
14 | - **What's New** ([M](mainnet#whats-new), [T](testnet#whats-new), [B](betanet#whats-new))- An optional section where new features are highlighted with links to accompanying documentation.
15 | - **Version** ([M](mainnet#version), [T](testnet#version), [B](betanet#version)) - The latest protocol software version.  Should match `goal -v` or `GET /versions` [build version](/docs/rest-apis/algod#buildversion).
16 | - **Release Version** ([M](mainnet#release-version), [T](testnet#release-version), [B](betanet#release-version)) - A link to the official release notes where you can view all the latest changes.
17 | - **Genesis ID** ([M](mainnet#genesis-id), [T](testnet#genesis-id), [B](betanet#genesis-id)) - A human-readable identifier for the network. This should not be used as a unique identifier.
18 | - **Genesis Hash** ([M](mainnet#genesis-hash), [T](testnet#genesis-hash), [B](betanet#genesis-hash)) - The unique identifier for the network, present in every transaction. Validate that your transactions match the network you plan to submit them to.
19 | - **FeeSink Address** ([M](mainnet#feesink-address), [T](testnet#feesink-address), [B](betanet#feesink-address)) - Read more about special accounts [here](/docs/get-details/accounts#special-accounts).
20 | - **RewardsPool Address** ([M](mainnet#rewardspool-address), [T](testnet#rewardspool-address), [B](betanet#rewardspool-address)) - Read more about special accounts [here](../accounts#special-accounts).
21 | - **Faucet** ([T](testnet#faucet), [B](betanet#faucet)) - Link to a faucet (TestNet and BetaNet only).
22 | 
23 | 
24 | 
```

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

```markdown
 1 | [@algorandfoundation/algokit-utils](../README.md) / types/debugging
 2 | 
 3 | # Module: types/debugging
 4 | 
 5 | ## Table of contents
 6 | 
 7 | ### Interfaces
 8 | 
 9 | - [AVMTracesEventData](../interfaces/types_debugging.AVMTracesEventData.md)
10 | - [TealSourceDebugEventData](../interfaces/types_debugging.TealSourceDebugEventData.md)
11 | - [TealSourcesDebugEventData](../interfaces/types_debugging.TealSourcesDebugEventData.md)
12 | 
13 | ### Variables
14 | 
15 | - [ALGOKIT\_DIR](types_debugging.md#algokit_dir)
16 | - [DEFAULT\_MAX\_SEARCH\_DEPTH](types_debugging.md#default_max_search_depth)
17 | - [SOURCES\_DIR](types_debugging.md#sources_dir)
18 | - [TEAL\_FILE\_EXT](types_debugging.md#teal_file_ext)
19 | - [TEAL\_SOURCEMAP\_EXT](types_debugging.md#teal_sourcemap_ext)
20 | 
21 | ## Variables
22 | 
23 | ### ALGOKIT\_DIR
24 | 
25 | • `Const` **ALGOKIT\_DIR**: ``".algokit"``
26 | 
27 | The directory name for AlgoKit project related files
28 | 
29 | #### Defined in
30 | 
31 | [src/types/debugging.ts:9](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L9)
32 | 
33 | ___
34 | 
35 | ### DEFAULT\_MAX\_SEARCH\_DEPTH
36 | 
37 | • `Const` **DEFAULT\_MAX\_SEARCH\_DEPTH**: ``10``
38 | 
39 | The default maximum search depth for file operations
40 | 
41 | #### Defined in
42 | 
43 | [src/types/debugging.ts:21](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L21)
44 | 
45 | ___
46 | 
47 | ### SOURCES\_DIR
48 | 
49 | • `Const` **SOURCES\_DIR**: ``"sources"``
50 | 
51 | The directory name for debug source files
52 | 
53 | #### Defined in
54 | 
55 | [src/types/debugging.ts:12](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L12)
56 | 
57 | ___
58 | 
59 | ### TEAL\_FILE\_EXT
60 | 
61 | • `Const` **TEAL\_FILE\_EXT**: ``".teal"``
62 | 
63 | The file extension for TEAL files
64 | 
65 | #### Defined in
66 | 
67 | [src/types/debugging.ts:15](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L15)
68 | 
69 | ___
70 | 
71 | ### TEAL\_SOURCEMAP\_EXT
72 | 
73 | • `Const` **TEAL\_SOURCEMAP\_EXT**: ``".teal.map"``
74 | 
75 | The file extension for TEAL source map files
76 | 
77 | #### Defined in
78 | 
79 | [src/types/debugging.ts:18](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L18)
80 | 
```

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

```markdown
 1 | # AlgoKit Completions
 2 | 
 3 | AlgoKit supports shell completions for zsh and bash shells, e.g.
 4 | 
 5 | **bash**
 6 | 
 7 | ```
 8 | $ algokit <Press Tab>
 9 | bootstrap    completions  config       doctor       explore      goal         init         sandbox
10 | ```
11 | 
12 | **zsh**
13 | 
14 | ```
15 | $ ~ algokit <Press Tab>
16 | bootstrap    -- Bootstrap AlgoKit project dependencies.
17 | completions  -- Install and Uninstall AlgoKit shell integration.
18 | config       -- Configure AlgoKit options.
19 | doctor       -- Run the Algorand doctor CLI.
20 | explore      -- Explore the specified network in the...
21 | goal         -- Run the Algorand goal CLI against the AlgoKit Sandbox.
22 | init         -- Initializes a new project.
23 | sandbox      -- Manage the AlgoKit sandbox.
24 | ```
25 | 
26 | ## Installing
27 | 
28 | To setup the completions, AlgoKit provides commands that will modify the current users interactive shell script (`.bashrc`/`.zshrc`).
29 | 
30 | > **Note**
31 | > If you would prefer AlgoKit to not modify your interactive shell scripts you can install the completions yourself by following the instructions [here](https://click.palletsprojects.com/en/8.1.x/shell-completion/).
32 | 
33 | To [install](../cli/index.md#install) completions for the current shell execute `algokit completions install`. You should see output similar to below:
34 | 
35 | ```
36 | $ ~ algokit completions install
37 | AlgoKit completions installed for zsh 🎉
38 | Restart shell or run `. ~/.zshrc` to enable completions
39 | ```
40 | 
41 | After installing the completions don't forget to restart the shell to begin using them!
42 | 
43 | ## Uninstalling
44 | 
45 | To [uninstall](../cli/index.md#uninstall) completions for the current shell run `algokit completions uninstall`:
46 | 
47 | ```
48 | $ ~ algokit completions uninstall
49 | AlgoKit completions uninstalled for zsh 🎉
50 | ```
51 | 
52 | ## Shell Option
53 | 
54 | To install/uninstall the completions for a specific [shell](../cli/index.md#shell) the `--shell` option can be used e.g. `algokit completions install --shell bash`.
55 | 
56 | To learn more about the `algokit completions` command, please refer to [completions](../cli/index.md#completions) in the AlgoKit CLI reference documentation.
57 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:docs:lg-logs.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Logging
 2 | 
 3 | Algorand Python provides a [`log` method](./api-algopy.md#algopy.log) that allows you to emit debugging and event information as well as return values from your contracts to the caller.
 4 | 
 5 | This `log` method is a superset of the [AVM `log` method](./lg-ops.md) that adds extra functionality:
 6 | 
 7 | -   You can log multiple items rather than a single item
 8 | -   Items are concatenated together with an optional separator (which defaults to: `""`)
 9 | -   Items are automatically converted to bytes for you
10 | -   Support for:
11 |     -   `int` literals / module variables (encoded as raw bytes, not ASCII)
12 |     -   `UInt64` values (encoded as raw bytes, not ASCII)
13 |     -   `str` literals / module variables (encoded as UTF-8)
14 |     -   `bytes` literals / module variables (encoded as is)
15 |     -   `Bytes` values (encoded as is)
16 |     -   `BytesBacked` values, which includes [`String`](./api-algopy.md#algopy.String), [`BigUInt`](./api-algopy.md#algopy.BigUInt), [`Account`](./api-algopy.md#algopy.Account) and all of the [ARC-4 types](./api-algopy.arc4.md) (encoded as their underlying bytes values)
17 | 
18 | Logged values are [available to the calling client](https://developer.algorand.org/docs/rest-apis/algod/#pendingtransactionresponse) and attached to the transaction record stored on the blockchain ledger.
19 | 
20 | If you want to emit ARC-28 events in the logs then there is a [purpose-built function for that](./lg-arc28.md).
21 | 
22 | Here's an example contract that uses the log method in various ways:
23 | 
24 | ```python
25 | from algopy import BigUInt, Bytes, Contract, log, op
26 | 
27 | class MyContract(Contract):
28 |     def approval_program(self) -> bool:
29 |         log(0)
30 |         log(b"1")
31 |         log("2")
32 |         log(op.Txn.num_app_args + 3)
33 |         log(Bytes(b"4") if op.Txn.num_app_args else Bytes())
34 |         log(
35 |             b"5",
36 |             6,
37 |             op.Txn.num_app_args + 7,
38 |             BigUInt(8),
39 |             Bytes(b"9") if op.Txn.num_app_args else Bytes(),
40 |             sep="_",
41 |         )
42 |         return True
43 | 
44 |     def clear_state_program(self) -> bool:
45 |         return True
46 | ```
47 | 
```
Page 5/93FirstPrevNextLast