This is page 18 of 93. Use http://codebase.md/goplausible/algorand-mcp?lines=true&page={x} to view the full context.
# Directory Structure
```
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── llms-install.md
├── llms.txt
├── package.json
├── packages
│ ├── client
│ │ ├── .env.example
│ │ ├── package.json
│ │ ├── README.md
│ │ ├── src
│ │ │ ├── env.ts
│ │ │ ├── index.ts
│ │ │ └── LocalWallet.ts
│ │ └── tsconfig.json
│ └── server
│ ├── .env.example
│ ├── API specs
│ │ ├── algod_api.json
│ │ ├── indexer_api.json
│ │ ├── mcp.json
│ │ ├── nfd_api.json
│ │ ├── ultrade_api.json
│ │ ├── vestige_api.json
│ │ └── vestige_free_api.json
│ ├── Dockerfile
│ ├── jest.config.js
│ ├── package.json
│ ├── README.md
│ ├── smithery.yaml
│ ├── src
│ │ ├── algorand-client.ts
│ │ ├── env.ts
│ │ ├── index.ts
│ │ ├── resources
│ │ │ ├── index.ts
│ │ │ ├── knowledge
│ │ │ │ ├── ARCs.txt
│ │ │ │ ├── developers-algokit-architecture-decisions.txt
│ │ │ │ ├── developers-algokit-cli.txt
│ │ │ │ ├── developers-algokit-utils-python.txt
│ │ │ │ ├── developers-algokit-utils-typescript.txt
│ │ │ │ ├── developers-clis.txt
│ │ │ │ ├── developers-details.txt
│ │ │ │ ├── developers-liquid-auth.txt
│ │ │ │ ├── developers-nodes.txt
│ │ │ │ ├── developers-puya.txt
│ │ │ │ ├── developers-python.txt
│ │ │ │ ├── developers-sdks-js.txt
│ │ │ │ ├── developers-sdks-python.txt
│ │ │ │ ├── developers-tealscript.txt
│ │ │ │ ├── developers.txt
│ │ │ │ ├── index.ts
│ │ │ │ ├── taxonomy
│ │ │ │ │ ├── algokit-cli:README.md
│ │ │ │ │ ├── algokit:cli:algokit.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2022-11-22_beaker-testing-strategy.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-01-11_beaker_productionisation_review.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-01-11_brew_install.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-01-12_smart-contract-deployment.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-06-06_frontend-templates.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-07-19_advanced_generate_command.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-01-13_native_binaries.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-01-23_init-wizard-v2.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-01-31_binary_distribution.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-03-06_local_dev_ui_packaging.md
│ │ │ │ │ ├── algokit:cli:articles:output_stability.md
│ │ │ │ │ ├── algokit:cli:cli:index.md
│ │ │ │ │ ├── algokit:cli:features:compile.md
│ │ │ │ │ ├── algokit:cli:features:completions.md
│ │ │ │ │ ├── algokit:cli:features:config.md
│ │ │ │ │ ├── algokit:cli:features:dispenser.md
│ │ │ │ │ ├── algokit:cli:features:doctor.md
│ │ │ │ │ ├── algokit:cli:features:explore.md
│ │ │ │ │ ├── algokit:cli:features:generate.md
│ │ │ │ │ ├── algokit:cli:features:goal.md
│ │ │ │ │ ├── algokit:cli:features:init.md
│ │ │ │ │ ├── algokit:cli:features:localnet.md
│ │ │ │ │ ├── algokit:cli:features:project:bootstrap.md
│ │ │ │ │ ├── algokit:cli:features:project:deploy.md
│ │ │ │ │ ├── algokit:cli:features:project:link.md
│ │ │ │ │ ├── algokit:cli:features:project:list.md
│ │ │ │ │ ├── algokit:cli:features:project:run.md
│ │ │ │ │ ├── algokit:cli:features:project.md
│ │ │ │ │ ├── algokit:cli:features:tasks:analyze.md
│ │ │ │ │ ├── algokit:cli:features:tasks:ipfs.md
│ │ │ │ │ ├── algokit:cli:features:tasks:mint.md
│ │ │ │ │ ├── algokit:cli:features:tasks:nfd.md
│ │ │ │ │ ├── algokit:cli:features:tasks:opt.md
│ │ │ │ │ ├── algokit:cli:features:tasks:send.md
│ │ │ │ │ ├── algokit:cli:features:tasks:sign.md
│ │ │ │ │ ├── algokit:cli:features:tasks:transfer.md
│ │ │ │ │ ├── algokit:cli:features:tasks:vanity_address.md
│ │ │ │ │ ├── algokit:cli:features:tasks:wallet.md
│ │ │ │ │ ├── algokit:cli:features:tasks.md
│ │ │ │ │ ├── algokit:cli:tutorials:algokit-template.md
│ │ │ │ │ ├── algokit:cli:tutorials:intro.md
│ │ │ │ │ ├── algokit:cli:tutorials:smart-contracts.md
│ │ │ │ │ ├── algokit:docs:testnet_api.md
│ │ │ │ │ ├── algokit:lora:README.md
│ │ │ │ │ ├── algokit:README.md
│ │ │ │ │ ├── algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:account.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:app-client.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:app-deploy.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:client.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:debugger.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:dispenser-client.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:transfer.md
│ │ │ │ │ ├── algokit:utils:python:markdown:index.md
│ │ │ │ │ ├── algokit:utils:python:README.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:account.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:app-client.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:app-deploy.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:client.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:debugger.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:dispenser-client.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:transfer.md
│ │ │ │ │ ├── algokit:utils:python:source:index.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:account.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:algorand-client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:amount.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:app-client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:app-deploy.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:app.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:asset.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:debugging.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:dispenser-client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:event-emitter.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:indexer.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:testing.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:transaction-composer.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:transaction.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:transfer.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:typed-app-clients.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:testing.TestLogger.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:testing.TransactionLogger.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_account_manager.AccountManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_account.MultisigAccount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_account.SigningAccount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algorand_client.AlgorandClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_amount.AlgoAmount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_arc56.Arc56Method.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_client.AppClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_client.ApplicationClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_deployer.AppDeployer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_factory.AppFactory.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_manager.AppManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_asset_manager.AssetManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_async_event_emitter.AsyncEventEmitter.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_client_manager.ClientManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_composer.TransactionComposer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_config.UpdatableConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_dispenser_client.TestNetDispenserApiClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_kmd_account_manager.KmdAccountManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_logic_error.LogicError.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_app.OnSchemaBreak.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_app.OnUpdate.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_indexer.AccountStatus.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_indexer.ApplicationOnComplete.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_indexer.SignatureType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_lifecycle_events.EventType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_account_manager.EnsureFundedResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_account.AccountConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_account.TransactionSignerAccount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_algorand_client_interface.AlgorandClientInterface.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Arc56Contract.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Event.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.ProgramSourceInfo.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageKey.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageMap.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StructField.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallABIArgs.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallCoreParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCallInterfaceParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCoreParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppSourceMaps.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.FundAppAccountParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppById.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppByIdBase.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.SourceMapExport.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppLookup.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppMetadata.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.AppInformation.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxReference.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValueRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValuesRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSources.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.CallConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.DeclaredSchemaValueSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.Hint.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.ReservedSchemaValueSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.Schema.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.SchemaSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.StateSchemaSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.Struct.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppCallParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppCallTransactionResultOfType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppCompilationResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppDeploymentParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppDeployMetadata.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppLookup.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppMetadata.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppReference.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppState.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppStorageSchema.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxName.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxReference.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxValueRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxValuesRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.CompiledTeal.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.CoreAppCallArgs.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.CreateAppParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.RawAppCallArgs.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.TealTemplateParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.UpdateAppParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset_manager.AssetInformation.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset_manager.BulkAssetOptInOutResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.AssetBulkOptInOutParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptInParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptOutParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.CreateAssetParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_client_manager.AlgoSdkClients.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppFactory.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_composer.BuiltTransactions.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_config.Config.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_debugging.AVMTracesEventData.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourceDebugEventData.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourcesDebugEventData.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserFundResponse.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserLimitResponse.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.TestNetDispenserApiClientParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_indexer.LookupAssetHoldingsOptions.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_logic_error.LogicErrorDetails.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoClientConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_network_client.NetworkDetails.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgoKitLogCaptureFixture.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixture.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixtureConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.GetTestAccountParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.LogSnapshotConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.AtomicTransactionComposerToSend.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResults.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendAtomicTransactionComposerResults.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResults.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionGroupToSend.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionToSign.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoRekeyParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoTransferParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedReturnType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.TransferAssetParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:index.indexer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:index.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:testing.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_account_manager_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_account_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_account.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algo_http_client_with_retry.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_asset_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_interface.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_creator.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_sender.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_transfer_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_amount_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_amount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_arc56.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_deployer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_factory_and_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_factory.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_asset_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_asset.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_async_event_emitter_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_async_event_emitter.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_client_manager_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_client_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_composer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_config.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_debugging.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_dispenser_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_dispenser_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_expand.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_indexer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_kmd_account_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_lifecycle_events.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_logging.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_logic_error.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_network_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_testing.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_transaction.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_transfer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:README.md
│ │ │ │ │ ├── algokit:utils:typescript:README.md
│ │ │ │ │ ├── algokit:utils:typescript:v7-migration.md
│ │ │ │ │ ├── algokit:utils:typescript:v8-migration.md
│ │ │ │ │ ├── ARCs:ARC-template.md
│ │ │ │ │ ├── ARCs:assets:arc-0012:README.md
│ │ │ │ │ ├── ARCs:assets:arc-0034:TemplateForm.md
│ │ │ │ │ ├── ARCs:assets:arc-0062:README.md
│ │ │ │ │ ├── ARCs:pages:nfts.md
│ │ │ │ │ ├── ARCs:pages:wallets.md
│ │ │ │ │ ├── ARCs:README.md
│ │ │ │ │ ├── ARCs:specs:arc-0000.md
│ │ │ │ │ ├── ARCs:specs:arc-0001.md
│ │ │ │ │ ├── ARCs:specs:arc-0002.md
│ │ │ │ │ ├── ARCs:specs:arc-0003.md
│ │ │ │ │ ├── ARCs:specs:arc-0004.md
│ │ │ │ │ ├── ARCs:specs:arc-0005.md
│ │ │ │ │ ├── ARCs:specs:arc-0006.md
│ │ │ │ │ ├── ARCs:specs:arc-0007.md
│ │ │ │ │ ├── ARCs:specs:arc-0008.md
│ │ │ │ │ ├── ARCs:specs:arc-0009.md
│ │ │ │ │ ├── ARCs:specs:arc-0010.md
│ │ │ │ │ ├── ARCs:specs:arc-0011.md
│ │ │ │ │ ├── ARCs:specs:arc-0012.md
│ │ │ │ │ ├── ARCs:specs:arc-0015.md
│ │ │ │ │ ├── ARCs:specs:arc-0016.md
│ │ │ │ │ ├── ARCs:specs:arc-0018.md
│ │ │ │ │ ├── ARCs:specs:arc-0019.md
│ │ │ │ │ ├── ARCs:specs:arc-0020.md
│ │ │ │ │ ├── ARCs:specs:arc-0021.md
│ │ │ │ │ ├── ARCs:specs:arc-0022.md
│ │ │ │ │ ├── ARCs:specs:arc-0023.md
│ │ │ │ │ ├── ARCs:specs:arc-0025.md
│ │ │ │ │ ├── ARCs:specs:arc-0026.md
│ │ │ │ │ ├── ARCs:specs:arc-0028.md
│ │ │ │ │ ├── ARCs:specs:arc-0032.md
│ │ │ │ │ ├── ARCs:specs:arc-0033.md
│ │ │ │ │ ├── ARCs:specs:arc-0034.md
│ │ │ │ │ ├── ARCs:specs:arc-0035.md
│ │ │ │ │ ├── ARCs:specs:arc-0036.md
│ │ │ │ │ ├── ARCs:specs:arc-0042.md
│ │ │ │ │ ├── ARCs:specs:arc-0047.md
│ │ │ │ │ ├── ARCs:specs:arc-0048.md
│ │ │ │ │ ├── ARCs:specs:arc-0049.md
│ │ │ │ │ ├── ARCs:specs:arc-0054.md
│ │ │ │ │ ├── ARCs:specs:arc-0055.md
│ │ │ │ │ ├── ARCs:specs:arc-0056.md
│ │ │ │ │ ├── ARCs:specs:arc-0059.md
│ │ │ │ │ ├── ARCs:specs:arc-0062.md
│ │ │ │ │ ├── ARCs:specs:arc-0065.md
│ │ │ │ │ ├── ARCs:specs:arc-0069.md
│ │ │ │ │ ├── ARCs:specs:arc-0072.md
│ │ │ │ │ ├── ARCs:specs:arc-0073.md
│ │ │ │ │ ├── ARCs:specs:arc-0074.md
│ │ │ │ │ ├── ARCs:specs:arc-0076.md
│ │ │ │ │ ├── ARCs:specs:arc-0078.md
│ │ │ │ │ ├── ARCs:specs:arc-0079.md
│ │ │ │ │ ├── ARCs:specs:arc-0200.md
│ │ │ │ │ ├── clis_index.md
│ │ │ │ │ ├── developer:docs:about.md
│ │ │ │ │ ├── developer:docs:clis:algokey:algokey.md
│ │ │ │ │ ├── developer:docs:clis:algokey:generate.md
│ │ │ │ │ ├── developer:docs:clis:algokey:import.md
│ │ │ │ │ ├── developer:docs:clis:algokey:multisig:append-auth-addr.md
│ │ │ │ │ ├── developer:docs:clis:algokey:multisig:multisig.md
│ │ │ │ │ ├── developer:docs:clis:algokey:part:info.md
│ │ │ │ │ ├── developer:docs:clis:algokey:part:part.md
│ │ │ │ │ ├── developer:docs:clis:algokey:part:reparent.md
│ │ │ │ │ ├── developer:docs:clis:algokey:sign.md
│ │ │ │ │ ├── developer:docs:clis:conduit:conduit.md
│ │ │ │ │ ├── developer:docs:clis:conduit:init.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:exporters.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:importers.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:list.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:processors.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:diagcfg.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:disable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:enable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:metric.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:status.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:disable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:enable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:endpoint.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:name.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:status.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:telemetry.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:restart.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:start.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:status.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:stop.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:wait.md
│ │ │ │ │ ├── developer:docs:clis:goal:protocols.md
│ │ │ │ │ ├── developer:docs:clis:goal:report.md
│ │ │ │ │ ├── developer:docs:clis:goal:version.md
│ │ │ │ │ ├── developer:docs:clis:goal:wallet:list.md
│ │ │ │ │ ├── developer:docs:clis:goal:wallet:new.md
│ │ │ │ │ ├── developer:docs:clis:goal:wallet:wallet.md
│ │ │ │ │ ├── developer:docs:clis:indexer:api-config.md
│ │ │ │ │ ├── developer:docs:clis:indexer:daemon.md
│ │ │ │ │ ├── developer:docs:clis:indexer:indexer.md
│ │ │ │ │ ├── developer:docs:clis:indexer:util:util.md
│ │ │ │ │ ├── developer:docs:clis:indexer:util:validator.md
│ │ │ │ │ ├── developer:docs:clis:kmd.md
│ │ │ │ │ ├── developer:docs:clis:tealdbg:debug.md
│ │ │ │ │ ├── developer:docs:clis:tealdbg:remote.md
│ │ │ │ │ ├── developer:docs:clis:tealdbg:tealdbg.md
│ │ │ │ │ ├── developer:docs:details:accounts:create.md
│ │ │ │ │ ├── developer:docs:details:accounts:index.md
│ │ │ │ │ ├── developer:docs:details:accounts:rekey.md
│ │ │ │ │ ├── developer:docs:details:algorand_consensus.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:betanet.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:index.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:mainnet.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:testnet.md
│ │ │ │ │ ├── developer:docs:details:asa.md
│ │ │ │ │ ├── developer:docs:details:atc.md
│ │ │ │ │ ├── developer:docs:details:atomic_transfers.md
│ │ │ │ │ ├── developer:docs:details:conduit.md
│ │ │ │ │ ├── developer:docs:details:crust.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:guidelines.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:jsonspec.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v1.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v10.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v2.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v3.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v4.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v5.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v6.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v7.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v8.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v9.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:specification.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:ABI:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:create.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:innertx.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:state.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:txs.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:debugging.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:frontend:apps.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:frontend:smartsigs.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:guidelines.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:smartsigs:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:smartsigs:modes.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:smartsigs:walkthrough.md
│ │ │ │ │ ├── developer:docs:details:dapps:writing-contracts:beaker.md
│ │ │ │ │ ├── developer:docs:details:dapps:writing-contracts:pyteal.md
│ │ │ │ │ ├── developer:docs:details:dapps:writing-contracts:python.md
│ │ │ │ │ ├── developer:docs:details:encoding.md
│ │ │ │ │ ├── developer:docs:details:ethereum_to_algorand.md
│ │ │ │ │ ├── developer:docs:details:index.md
│ │ │ │ │ ├── developer:docs:details:indexer.md
│ │ │ │ │ ├── developer:docs:details:parameter_tables.md
│ │ │ │ │ ├── developer:docs:details:stateproofs:index.md
│ │ │ │ │ ├── developer:docs:details:stateproofs:light_client.md
│ │ │ │ │ ├── developer:docs:details:technical_faq.md
│ │ │ │ │ ├── developer:docs:details:transactions:index.md
│ │ │ │ │ ├── developer:docs:details:transactions:offline_transactions.md
│ │ │ │ │ ├── developer:docs:details:transactions:payment_prompts.md
│ │ │ │ │ ├── developer:docs:details:transactions:signatures.md
│ │ │ │ │ ├── developer:docs:details:transactions:transactions.md
│ │ │ │ │ ├── developer:docs:details:useful_resources.md
│ │ │ │ │ ├── developer:docs:get-started:algokit.md
│ │ │ │ │ ├── developer:docs:get-started:basics:what_is_blockchain.md
│ │ │ │ │ ├── developer:docs:get-started:basics:whats_a_dapp.md
│ │ │ │ │ ├── developer:docs:get-started:basics:where_to_start.md
│ │ │ │ │ ├── developer:docs:get-started:basics:why_algorand.md
│ │ │ │ │ ├── developer:docs:get-started:tokenization:ft.md
│ │ │ │ │ ├── developer:docs:get-started:tokenization:nft.md
│ │ │ │ │ ├── developer:docs:index.md
│ │ │ │ │ ├── developer:docs:rest-apis:algod.md
│ │ │ │ │ ├── developer:docs:rest-apis:indexer.md
│ │ │ │ │ ├── developer:docs:rest-apis:kmd.md
│ │ │ │ │ ├── developer:docs:rest-apis:restendpoints.md
│ │ │ │ │ ├── developer:docs:run-a-node:operations:catchup.md
│ │ │ │ │ ├── developer:docs:run-a-node:operations:switch_networks.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:generate_keys.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:index.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:offline.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:online.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:renew.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:artifacts.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:config.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:relay.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:telemetry-config.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:indexer.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:install.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:node-troubleshooting.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:types.md
│ │ │ │ │ ├── developer:docs:sdks:go:index.md
│ │ │ │ │ ├── developer:docs:sdks:index.md
│ │ │ │ │ ├── developer:docs:sdks:java:index.md
│ │ │ │ │ ├── developer:docs:sdks:javascript:index.md
│ │ │ │ │ ├── developer:docs:sdks:python:index.md
│ │ │ │ │ ├── developer:python:code:example:accounts.md
│ │ │ │ │ ├── developer:python:code:example:arc4_types.md
│ │ │ │ │ ├── developer:python:code:example:assets.md
│ │ │ │ │ ├── developer:python:code:example:box_storage.md
│ │ │ │ │ ├── developer:python:code:example:control_flow.md
│ │ │ │ │ ├── developer:python:code:example:crypto:merkle_tree.md
│ │ │ │ │ ├── developer:python:code:example:defi:amm.md
│ │ │ │ │ ├── developer:python:code:example:defi:auction.md
│ │ │ │ │ ├── developer:python:code:example:defi:htlc_logicsig.md
│ │ │ │ │ ├── developer:python:code:example:defi:marketplace.md
│ │ │ │ │ ├── developer:python:code:example:events:arc28_events.md
│ │ │ │ │ ├── developer:python:code:example:global_storage.md
│ │ │ │ │ ├── developer:python:code:example:governance:simple_voting.md
│ │ │ │ │ ├── developer:python:code:example:hello_world.md
│ │ │ │ │ ├── developer:python:code:example:inner_transactions.md
│ │ │ │ │ ├── developer:python:code:example:local_storage.md
│ │ │ │ │ ├── developer:python:code:example:nft:proof_of_attendance.md
│ │ │ │ │ ├── developer:python:code:example:privacy:zk_whitelist.md
│ │ │ │ │ ├── developer:python:code:example:scratch_storage.md
│ │ │ │ │ ├── developer:python:code:example:self_payment.md
│ │ │ │ │ ├── developer:python:code:example:struct_in_box.md
│ │ │ │ │ ├── developer:python:code:example:subsidize_app_call.md
│ │ │ │ │ ├── developer:python:code:example:transactions.md
│ │ │ │ │ ├── developer:python:code:example:utility:calculator.md
│ │ │ │ │ ├── devportal-code-examples:projects:python-contract-examples:README.md
│ │ │ │ │ ├── devportal-code-examples:README.md
│ │ │ │ │ ├── docs:.walletconnect:index.md
│ │ │ │ │ ├── docs:.walletconnect:walletconnect-schema.md
│ │ │ │ │ ├── docs:README.md
│ │ │ │ │ ├── docs:scripts:example_tracker:example_list.md
│ │ │ │ │ ├── docs:scripts:README.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ ├── liquid_auth_index.md
│ │ │ │ │ ├── liquid-auth:ARCHITECTURE.md
│ │ │ │ │ ├── liquid-auth:decisions:1-Service-Authentication.md
│ │ │ │ │ ├── liquid-auth:decisions:2-Bidirectional-Communication.md
│ │ │ │ │ ├── liquid-auth:decisions:3-Peer-to-Peer-Signaling.md
│ │ │ │ │ ├── liquid-auth:decisions:4-Fido-Extension.md
│ │ │ │ │ ├── liquid-auth:decisions:README.md
│ │ │ │ │ ├── liquid-auth:docs:architecture.md
│ │ │ │ │ ├── liquid-auth:docs:clients:android:provider-service:authenticate.md
│ │ │ │ │ ├── liquid-auth:docs:clients:android:provider-service:register.md
│ │ │ │ │ ├── liquid-auth:docs:clients:browser:authentication.md
│ │ │ │ │ ├── liquid-auth:docs:clients:browser:example.md
│ │ │ │ │ ├── liquid-auth:docs:introduction.md
│ │ │ │ │ ├── liquid-auth:docs:README.md
│ │ │ │ │ ├── liquid-auth:docs:server:environment-variables.md
│ │ │ │ │ ├── liquid-auth:docs:server:integrations.md
│ │ │ │ │ ├── liquid-auth:docs:server:introduction.md
│ │ │ │ │ ├── liquid-auth:docs:server:running-locally.md
│ │ │ │ │ ├── liquid-auth:README.md
│ │ │ │ │ ├── liquid-auth:SEQUENCE.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.request.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.response.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:attestation:attestation.controller.post.request.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:auth:auth.controller.get.user.md
│ │ │ │ │ ├── liquid-auth:sites:express-dapp:README.md
│ │ │ │ │ ├── liquid-auth:VISION.md
│ │ │ │ │ ├── puya_index.md
│ │ │ │ │ ├── puya:docs:algopy_testing:index.md
│ │ │ │ │ ├── puya:docs:api-algopy.arc4.md
│ │ │ │ │ ├── puya:docs:api-algopy.gtxn.md
│ │ │ │ │ ├── puya:docs:api-algopy.itxn.md
│ │ │ │ │ ├── puya:docs:api-algopy.md
│ │ │ │ │ ├── puya:docs:api-algopy.op.md
│ │ │ │ │ ├── puya:docs:api.md
│ │ │ │ │ ├── puya:docs:compiler.md
│ │ │ │ │ ├── puya:docs:index.md
│ │ │ │ │ ├── puya:docs:language-guide.md
│ │ │ │ │ ├── puya:docs:lg-arc28.md
│ │ │ │ │ ├── puya:docs:lg-arc4.md
│ │ │ │ │ ├── puya:docs:lg-builtins.md
│ │ │ │ │ ├── puya:docs:lg-calling-apps.md
│ │ │ │ │ ├── puya:docs:lg-compile.md
│ │ │ │ │ ├── puya:docs:lg-control.md
│ │ │ │ │ ├── puya:docs:lg-errors.md
│ │ │ │ │ ├── puya:docs:lg-logs.md
│ │ │ │ │ ├── puya:docs:lg-modules.md
│ │ │ │ │ ├── puya:docs:lg-opcode-budget.md
│ │ │ │ │ ├── puya:docs:lg-ops.md
│ │ │ │ │ ├── puya:docs:lg-storage.md
│ │ │ │ │ ├── puya:docs:lg-structure.md
│ │ │ │ │ ├── puya:docs:lg-transactions.md
│ │ │ │ │ ├── puya:docs:lg-types.md
│ │ │ │ │ ├── puya:docs:lg-unsupported-python-features.md
│ │ │ │ │ ├── puya:docs:principles.md
│ │ │ │ │ ├── puya:examples:auction:README.md
│ │ │ │ │ ├── puya:python:testing:docs:algopy.md
│ │ │ │ │ ├── puya:python:testing:docs:api.md
│ │ │ │ │ ├── puya:python:testing:docs:coverage.md
│ │ │ │ │ ├── puya:python:testing:docs:examples.md
│ │ │ │ │ ├── puya:python:testing:docs:faq.md
│ │ │ │ │ ├── puya:python:testing:docs:index.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:arc4-types.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:avm-types.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:concepts.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:contract-testing.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:index.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:opcodes.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:signature-testing.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:state-management.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:subroutines.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:transactions.md
│ │ │ │ │ ├── puya:python:testing:examples:README.md
│ │ │ │ │ ├── puya:python:testing:README.md
│ │ │ │ │ ├── puya:README.md
│ │ │ │ │ ├── puya:src:puya:ARCHITECTURE.md
│ │ │ │ │ ├── puya:src:puyapy:_typeshed:README.md
│ │ │ │ │ ├── puya:src:puyapy:_vendor:mypy:typeshed:stdlib:_typeshed:README.md
│ │ │ │ │ ├── puya:src:puyapy:awst_build:README.md
│ │ │ │ │ ├── puya:stubs:README.md
│ │ │ │ │ ├── puya:tests:test_expected_output:README.md
│ │ │ │ │ ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-bytes-and-strings.md
│ │ │ │ │ ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-integer-types.md
│ │ │ │ │ ├── puya:typescript:docs:README.md
│ │ │ │ │ ├── puya:typescript:packages:algo-ts:readme.md
│ │ │ │ │ ├── puya:typescript:README.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIAddressType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIArrayDynamicType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIArrayStaticType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIBoolType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIByteType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIContract.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIInterface.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIMethod.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIStringType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABITupleType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIUfixedType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIUintType.md
│ │ │ │ │ ├── SDKs:javascript:classes:Algodv2.md
│ │ │ │ │ ├── SDKs:javascript:classes:AtomicTransactionComposer.md
│ │ │ │ │ ├── SDKs:javascript:classes:DryrunResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:Indexer.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Account.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountParticipation.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountStateDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Application.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLocalState.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLocalStatesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLogData.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLogsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Asset.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetBalancesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetHoldingsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Block.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BlockRewards.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BlockUpgradeState.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BlockUpgradeVote.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Box.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BoxDescriptor.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BoxesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ErrorResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.EvalDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.EvalDeltaKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.HashFactory.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.HealthCheck.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.IndexerStateProofMessage.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.MerkleArrayProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.MiniAssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ParticipationUpdates.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofFields.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofParticipant.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofReveal.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofSignature.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofSigSlot.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofTracking.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofVerifier.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateSchema.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TealKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TealValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Transaction.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionApplication.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionAssetConfig.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionAssetFreeze.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionAssetTransfer.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionKeyreg.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionPayment.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignature.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignatureLogicsig.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisig.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisigSubsignature.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionStateProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:Kmd.md
│ │ │ │ │ ├── SDKs:javascript:classes:LogicSig.md
│ │ │ │ │ ├── SDKs:javascript:classes:LogicSigAccount.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Account.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountApplicationResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountAssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountAssetResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountAssetsInformationResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountParticipation.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountStateDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AppCallLogs.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Application.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationInitialStates.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationKVStorage.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationLocalReference.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationLocalState.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationStateOperation.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Asset.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AssetHoldingReference.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AssetParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AvmKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AvmValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockHashResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockLogsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockTxidsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Box.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BoxDescriptor.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BoxesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BoxReference.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BuildVersion.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.CompileResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DisassembleResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunRequest.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunSource.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunState.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunTxnResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ErrorResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.EvalDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.EvalDeltaKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.GetBlockTimeStampOffsetResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.GetSyncRoundResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.KvDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.LedgerStateDeltaForTransactionGroup.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.LightBlockHeaderProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.NodeStatusResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.PendingTransactionResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.PendingTransactionsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.PostTransactionsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ScratchChange.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateInitialStates.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateRequest.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateRequestTransactionGroup.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateTraceConfig.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateTransactionGroupResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateTransactionResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateUnnamedResourcesAccessed.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulationEvalOverrides.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulationTransactionExecTrace.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.StateProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.StateProofMessage.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SupplyResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TealKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TealValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TransactionGroupLedgerStateDeltasForRoundResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TransactionParametersResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TransactionProofResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Version.md
│ │ │ │ │ ├── SDKs:javascript:classes:SourceMap.md
│ │ │ │ │ ├── SDKs:javascript:classes:Transaction.md
│ │ │ │ │ ├── SDKs:javascript:enums:ABIReferenceType.md
│ │ │ │ │ ├── SDKs:javascript:enums:ABITransactionType.md
│ │ │ │ │ ├── SDKs:javascript:enums:AtomicTransactionComposerStatus.md
│ │ │ │ │ ├── SDKs:javascript:enums:IntDecoding.md
│ │ │ │ │ ├── SDKs:javascript:enums:OnApplicationComplete.md
│ │ │ │ │ ├── SDKs:javascript:enums:TransactionType.md
│ │ │ │ │ ├── SDKs:javascript:examples:README.md
│ │ │ │ │ ├── SDKs:javascript:FAQ.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIContractNetworkInfo.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIContractNetworks.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIContractParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIInterfaceParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIMethodArgParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIMethodParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIMethodReturnParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIResult.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:Account.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:Address.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:AlgodTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BaseHTTPClient.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BaseHTTPClientError.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BaseHTTPClientResponse.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BoxReference.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:CustomTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedAssetParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedBoxReference.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedGlobalStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedLocalStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedLogicSig.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedLogicSigAccount.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedMultisig.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedSignedTransaction.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedSubsig.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedTransaction.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:IndexerTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:KMDTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:MultisigMetadata.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:SignedTransaction.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:SuggestedParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:TransactionParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:TransactionWithSigner.md
│ │ │ │ │ ├── SDKs:javascript:modules:indexerModels.md
│ │ │ │ │ ├── SDKs:javascript:modules:modelsv2.md
│ │ │ │ │ ├── SDKs:javascript:modules.md
│ │ │ │ │ ├── SDKs:javascript:README.md
│ │ │ │ │ ├── SDKs:python:algosdk:v2client:harness:README.md
│ │ │ │ │ ├── SDKs:python:examples:README.md
│ │ │ │ │ ├── SDKs:python:README.md
│ │ │ │ │ ├── tealscript:examples_amm_README.md
│ │ │ │ │ ├── tealscript:examples_auction_README.md
│ │ │ │ │ ├── tealscript:examples_big_box_README.md
│ │ │ │ │ ├── tealscript:examples_itxns_README.md
│ │ │ │ │ ├── tealscript:examples_lsig_with_app_README.md
│ │ │ │ │ ├── tealscript:examples_reti_README.md
│ │ │ │ │ ├── tealscript:FEATURES.md
│ │ │ │ │ ├── tealscript:guides_atomic_txn.md
│ │ │ │ │ ├── tealscript:guides_features.md
│ │ │ │ │ ├── tealscript:guides_getting_started.md
│ │ │ │ │ ├── tealscript:guides_inner_transactions.md
│ │ │ │ │ ├── tealscript:guides_lifecycle.md
│ │ │ │ │ ├── tealscript:guides_math.md
│ │ │ │ │ ├── tealscript:guides_methods.md
│ │ │ │ │ ├── tealscript:guides_multiple_contracts.md
│ │ │ │ │ ├── tealscript:guides_pyteal.md
│ │ │ │ │ ├── tealscript:guides_storage.md
│ │ │ │ │ ├── tealscript:guides_Supported Types_arrays.md
│ │ │ │ │ ├── tealscript:guides_Supported Types_numbers.md
│ │ │ │ │ ├── TEALScript:README.md
│ │ │ │ │ ├── tealscript:tests_test_package_README.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0001-intro.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0002-init.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0003-contract.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0004-artifacts.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0005-hello.md
│ │ │ │ │ └── tealscript:tutorials_Hello World_0006-test.md
│ │ │ │ └── taxonomy-categories
│ │ │ │ ├── algokit-utils.json
│ │ │ │ ├── algokit.json
│ │ │ │ ├── arcs.json
│ │ │ │ ├── clis.json
│ │ │ │ ├── details.json
│ │ │ │ ├── developers.json
│ │ │ │ ├── liquid-auth.json
│ │ │ │ ├── nodes.json
│ │ │ │ ├── puya.json
│ │ │ │ ├── python.json
│ │ │ │ ├── sdks.json
│ │ │ │ └── tealscript.json
│ │ │ └── wallet
│ │ │ └── index.ts
│ │ ├── tools
│ │ │ ├── accountManager.ts
│ │ │ ├── algodManager.ts
│ │ │ ├── apiManager
│ │ │ │ ├── algod
│ │ │ │ │ ├── account.ts
│ │ │ │ │ ├── application.ts
│ │ │ │ │ ├── asset.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── transaction.ts
│ │ │ │ ├── example
│ │ │ │ │ ├── get-balance.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── indexer
│ │ │ │ │ ├── account.ts
│ │ │ │ │ ├── application.ts
│ │ │ │ │ ├── asset.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── transaction.ts
│ │ │ │ ├── nfd
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tinyman
│ │ │ │ │ ├── analytics.ts
│ │ │ │ │ ├── bootstrap.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── liquidity.ts
│ │ │ │ │ ├── opt_in.ts
│ │ │ │ │ ├── pool.ts
│ │ │ │ │ ├── remove_liquidity.ts
│ │ │ │ │ └── swap.ts
│ │ │ │ ├── ultrade
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── market.ts
│ │ │ │ │ ├── system.ts
│ │ │ │ │ └── wallet.ts
│ │ │ │ └── vestige
│ │ │ │ ├── assets.ts
│ │ │ │ ├── balances.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── networks.ts
│ │ │ │ ├── notes.ts
│ │ │ │ ├── pools.ts
│ │ │ │ ├── protocols.ts
│ │ │ │ ├── swaps.ts
│ │ │ │ └── vaults.ts
│ │ │ ├── arc26Manager.ts
│ │ │ ├── index.ts
│ │ │ ├── knowledgeManager.ts
│ │ │ ├── transactionManager
│ │ │ │ ├── accountTransactions.ts
│ │ │ │ ├── appTransactions
│ │ │ │ │ ├── callTxn.ts
│ │ │ │ │ ├── clearTxn.ts
│ │ │ │ │ ├── closeOutTxn.ts
│ │ │ │ │ ├── createTxn.ts
│ │ │ │ │ ├── deleteTxn.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── optInTxn.ts
│ │ │ │ │ ├── test
│ │ │ │ │ │ ├── counter_approval.teal
│ │ │ │ │ │ ├── counter_clear.teal
│ │ │ │ │ │ ├── storage_test_approval_v2.teal
│ │ │ │ │ │ ├── storage_test_approval.teal
│ │ │ │ │ │ └── storage_test_clear.teal
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── updateTxn.ts
│ │ │ │ ├── assetTransactions.ts
│ │ │ │ ├── generalTransaction.ts
│ │ │ │ └── index.ts
│ │ │ └── utilityManager.ts
│ │ ├── types.ts
│ │ └── utils
│ │ └── responseProcessor.ts
│ ├── tests
│ │ ├── resources
│ │ │ ├── algod
│ │ │ │ ├── account.test.ts
│ │ │ │ ├── application.test.ts
│ │ │ │ ├── asset.test.ts
│ │ │ │ └── transaction.test.ts
│ │ │ └── indexer
│ │ │ ├── account.test.ts
│ │ │ ├── application.test.ts
│ │ │ ├── asset.test.ts
│ │ │ └── transaction.test.ts
│ │ └── tools
│ │ ├── accountManager.test.ts
│ │ ├── algodManager.test.ts
│ │ ├── apiManager
│ │ │ └── example
│ │ │ └── get-balance.test.ts
│ │ ├── transactionManager
│ │ │ ├── accountTransactionManager.test.ts
│ │ │ ├── appTransactionManager.test.ts
│ │ │ ├── assetTransactionManager.test.ts
│ │ │ ├── generalTransactionManager.test.ts
│ │ │ └── transactionManager.test.ts
│ │ └── utilityManager.test.ts
│ └── tsconfig.json
├── README.md
├── rename_files.sh
└── tsconfig.json
```
# Files
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md:
--------------------------------------------------------------------------------
```markdown
1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SimulationOpcodeTraceUnit
2 |
3 | # Class: SimulationOpcodeTraceUnit
4 |
5 | [modelsv2](../modules/modelsv2.md).SimulationOpcodeTraceUnit
6 |
7 | The set of trace information and effect from evaluating a single opcode.
8 |
9 | ## Hierarchy
10 |
11 | - `default`
12 |
13 | ↳ **`SimulationOpcodeTraceUnit`**
14 |
15 | ## Table of contents
16 |
17 | ### Constructors
18 |
19 | - [constructor](modelsv2.SimulationOpcodeTraceUnit.md#constructor)
20 |
21 | ### Properties
22 |
23 | - [attribute\_map](modelsv2.SimulationOpcodeTraceUnit.md#attribute_map)
24 | - [pc](modelsv2.SimulationOpcodeTraceUnit.md#pc)
25 | - [scratchChanges](modelsv2.SimulationOpcodeTraceUnit.md#scratchchanges)
26 | - [spawnedInners](modelsv2.SimulationOpcodeTraceUnit.md#spawnedinners)
27 | - [stackAdditions](modelsv2.SimulationOpcodeTraceUnit.md#stackadditions)
28 | - [stackPopCount](modelsv2.SimulationOpcodeTraceUnit.md#stackpopcount)
29 | - [stateChanges](modelsv2.SimulationOpcodeTraceUnit.md#statechanges)
30 |
31 | ### Methods
32 |
33 | - [get\_obj\_for\_encoding](modelsv2.SimulationOpcodeTraceUnit.md#get_obj_for_encoding)
34 | - [from\_obj\_for\_encoding](modelsv2.SimulationOpcodeTraceUnit.md#from_obj_for_encoding)
35 |
36 | ## Constructors
37 |
38 | ### constructor
39 |
40 | • **new SimulationOpcodeTraceUnit**(`«destructured»`)
41 |
42 | Creates a new `SimulationOpcodeTraceUnit` object.
43 |
44 | #### Parameters
45 |
46 | | Name | Type |
47 | | :------ | :------ |
48 | | `«destructured»` | `Object` |
49 | | › `pc` | `number` \| `bigint` |
50 | | › `scratchChanges?` | [`ScratchChange`](modelsv2.ScratchChange.md)[] |
51 | | › `spawnedInners?` | (`number` \| `bigint`)[] |
52 | | › `stackAdditions?` | [`AvmValue`](modelsv2.AvmValue.md)[] |
53 | | › `stackPopCount?` | `number` \| `bigint` |
54 | | › `stateChanges?` | [`ApplicationStateOperation`](modelsv2.ApplicationStateOperation.md)[] |
55 |
56 | #### Overrides
57 |
58 | BaseModel.constructor
59 |
60 | #### Defined in
61 |
62 | client/v2/algod/models/types.ts:5155
63 |
64 | ## Properties
65 |
66 | ### attribute\_map
67 |
68 | • **attribute\_map**: `Record`\<`string`, `string`\>
69 |
70 | #### Inherited from
71 |
72 | BaseModel.attribute\_map
73 |
74 | #### Defined in
75 |
76 | client/v2/basemodel.ts:56
77 |
78 | ___
79 |
80 | ### pc
81 |
82 | • **pc**: `number` \| `bigint`
83 |
84 | The program counter of the current opcode being evaluated.
85 |
86 | #### Defined in
87 |
88 | client/v2/algod/models/types.ts:5119
89 |
90 | ___
91 |
92 | ### scratchChanges
93 |
94 | • `Optional` **scratchChanges**: [`ScratchChange`](modelsv2.ScratchChange.md)[]
95 |
96 | The writes into scratch slots.
97 |
98 | #### Defined in
99 |
100 | client/v2/algod/models/types.ts:5124
101 |
102 | ___
103 |
104 | ### spawnedInners
105 |
106 | • `Optional` **spawnedInners**: (`number` \| `bigint`)[]
107 |
108 | The indexes of the traces for inner transactions spawned by this opcode, if any.
109 |
110 | #### Defined in
111 |
112 | client/v2/algod/models/types.ts:5129
113 |
114 | ___
115 |
116 | ### stackAdditions
117 |
118 | • `Optional` **stackAdditions**: [`AvmValue`](modelsv2.AvmValue.md)[]
119 |
120 | The values added by this opcode to the stack.
121 |
122 | #### Defined in
123 |
124 | client/v2/algod/models/types.ts:5134
125 |
126 | ___
127 |
128 | ### stackPopCount
129 |
130 | • `Optional` **stackPopCount**: `number` \| `bigint`
131 |
132 | The number of deleted stack values by this opcode.
133 |
134 | #### Defined in
135 |
136 | client/v2/algod/models/types.ts:5139
137 |
138 | ___
139 |
140 | ### stateChanges
141 |
142 | • `Optional` **stateChanges**: [`ApplicationStateOperation`](modelsv2.ApplicationStateOperation.md)[]
143 |
144 | The operations against the current application's states.
145 |
146 | #### Defined in
147 |
148 | client/v2/algod/models/types.ts:5144
149 |
150 | ## Methods
151 |
152 | ### get\_obj\_for\_encoding
153 |
154 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
155 |
156 | Get an object ready for encoding to either JSON or msgpack.
157 |
158 | #### Parameters
159 |
160 | | Name | Type | Default value | Description |
161 | | :------ | :------ | :------ | :------ |
162 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
163 |
164 | #### Returns
165 |
166 | `Record`\<`string`, `any`\>
167 |
168 | #### Inherited from
169 |
170 | BaseModel.get\_obj\_for\_encoding
171 |
172 | #### Defined in
173 |
174 | client/v2/basemodel.ts:65
175 |
176 | ___
177 |
178 | ### from\_obj\_for\_encoding
179 |
180 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SimulationOpcodeTraceUnit`](modelsv2.SimulationOpcodeTraceUnit.md)
181 |
182 | #### Parameters
183 |
184 | | Name | Type |
185 | | :------ | :------ |
186 | | `data` | `Record`\<`string`, `any`\> |
187 |
188 | #### Returns
189 |
190 | [`SimulationOpcodeTraceUnit`](modelsv2.SimulationOpcodeTraceUnit.md)
191 |
192 | #### Defined in
193 |
194 | client/v2/algod/models/types.ts:5189
195 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_spec.md:
--------------------------------------------------------------------------------
```markdown
1 | [@algorandfoundation/algokit-utils](../README.md) / types/app-spec
2 |
3 | # Module: types/app-spec
4 |
5 | ## Table of contents
6 |
7 | ### Interfaces
8 |
9 | - [AppSources](../interfaces/types_app_spec.AppSources.md)
10 | - [AppSpec](../interfaces/types_app_spec.AppSpec.md)
11 | - [CallConfig](../interfaces/types_app_spec.CallConfig.md)
12 | - [DeclaredSchemaValueSpec](../interfaces/types_app_spec.DeclaredSchemaValueSpec.md)
13 | - [Hint](../interfaces/types_app_spec.Hint.md)
14 | - [ReservedSchemaValueSpec](../interfaces/types_app_spec.ReservedSchemaValueSpec.md)
15 | - [Schema](../interfaces/types_app_spec.Schema.md)
16 | - [SchemaSpec](../interfaces/types_app_spec.SchemaSpec.md)
17 | - [StateSchemaSpec](../interfaces/types_app_spec.StateSchemaSpec.md)
18 | - [Struct](../interfaces/types_app_spec.Struct.md)
19 |
20 | ### Type Aliases
21 |
22 | - [ABIType](types_app_spec.md#abitype)
23 | - [AVMType](types_app_spec.md#avmtype)
24 | - [CallConfigValue](types_app_spec.md#callconfigvalue)
25 | - [DefaultArgument](types_app_spec.md#defaultargument)
26 | - [FieldName](types_app_spec.md#fieldname)
27 | - [HintSpec](types_app_spec.md#hintspec)
28 | - [StateSchema](types_app_spec.md#stateschema)
29 | - [StructElement](types_app_spec.md#structelement)
30 |
31 | ### Functions
32 |
33 | - [arc32ToArc56](types_app_spec.md#arc32toarc56)
34 |
35 | ## Type Aliases
36 |
37 | ### ABIType
38 |
39 | Ƭ **ABIType**: `string`
40 |
41 | The string name of an ABI type
42 |
43 | #### Defined in
44 |
45 | [src/types/app-spec.ts:203](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L203)
46 |
47 | ___
48 |
49 | ### AVMType
50 |
51 | Ƭ **AVMType**: ``"uint64"`` \| ``"bytes"``
52 |
53 | AVM data type
54 |
55 | #### Defined in
56 |
57 | [src/types/app-spec.ts:259](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L259)
58 |
59 | ___
60 |
61 | ### CallConfigValue
62 |
63 | Ƭ **CallConfigValue**: ``"NEVER"`` \| ``"CALL"`` \| ``"CREATE"`` \| ``"ALL"``
64 |
65 | The various call configs:
66 | * `NEVER`: Will not be called
67 | * `CALL`: Can be called during a non-create call i.e. app id != 0
68 | * `CREATE`: Can be called during a create call i.e. app id = 0
69 | * `ALL`: Can be during a create OR non-create call
70 |
71 | #### Defined in
72 |
73 | [src/types/app-spec.ts:174](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L174)
74 |
75 | ___
76 |
77 | ### DefaultArgument
78 |
79 | Ƭ **DefaultArgument**: \{ `data`: `ABIMethodParams` ; `source`: ``"abi-method"`` } \| \{ `data`: `string` ; `source`: ``"global-state"`` } \| \{ `data`: `string` ; `source`: ``"local-state"`` } \| \{ `data`: `string` \| `number` ; `source`: ``"constant"`` }
80 |
81 | Defines a strategy for obtaining a default value for a given ABI arg.
82 |
83 | #### Defined in
84 |
85 | [src/types/app-spec.ts:219](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L219)
86 |
87 | ___
88 |
89 | ### FieldName
90 |
91 | Ƭ **FieldName**: `string`
92 |
93 | The name of a field
94 |
95 | #### Defined in
96 |
97 | [src/types/app-spec.ts:200](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L200)
98 |
99 | ___
100 |
101 | ### HintSpec
102 |
103 | Ƭ **HintSpec**: `Record`\<`string`, [`Hint`](../interfaces/types_app_spec.Hint.md)\>
104 |
105 | A lookup of encoded method call spec to hint
106 |
107 | #### Defined in
108 |
109 | [src/types/app-spec.ts:158](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L158)
110 |
111 | ___
112 |
113 | ### StateSchema
114 |
115 | Ƭ **StateSchema**: `Object`
116 |
117 | Schema spec summary for global or local storage
118 |
119 | #### Type declaration
120 |
121 | | Name | Type | Description |
122 | | :------ | :------ | :------ |
123 | | `num_byte_slices` | `number` | Number of byte slots |
124 | | `num_uints` | `number` | Number of uint slots |
125 |
126 | #### Defined in
127 |
128 | [src/types/app-spec.ts:308](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L308)
129 |
130 | ___
131 |
132 | ### StructElement
133 |
134 | Ƭ **StructElement**: [[`FieldName`](types_app_spec.md#fieldname), [`ABIType`](types_app_spec.md#abitype)]
135 |
136 | The elements of the struct/tuple: `FieldName`, `ABIType`
137 |
138 | #### Defined in
139 |
140 | [src/types/app-spec.ts:206](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L206)
141 |
142 | ## Functions
143 |
144 | ### arc32ToArc56
145 |
146 | ▸ **arc32ToArc56**(`appSpec`): [`Arc56Contract`](../interfaces/types_app_arc56.Arc56Contract.md)
147 |
148 | #### Parameters
149 |
150 | | Name | Type |
151 | | :------ | :------ |
152 | | `appSpec` | [`AppSpec`](../interfaces/types_app_spec.AppSpec.md) |
153 |
154 | #### Returns
155 |
156 | [`Arc56Contract`](../interfaces/types_app_arc56.Arc56Contract.md)
157 |
158 | #### Defined in
159 |
160 | [src/types/app-spec.ts:7](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L7)
161 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:README.md:
--------------------------------------------------------------------------------
```markdown
1 | # Algorand Python
2 |
3 | Algorand Python is a partial implementation of the Python programming language that runs on the AVM. It includes a statically typed framework for development of Algorand smart contracts and logic signatures, with Pythonic interfaces to underlying AVM functionality that works with standard Python tooling.
4 |
5 | Algorand Python is compiled for execution on the AVM by PuyaPy, an optimising compiler that ensures the resulting AVM bytecode execution semantics that match the given Python code. PuyaPy produces output that is directly compatible with [AlgoKit typed clients](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/generate.md#1-typed-clients) to make deployment and calling easy.
6 |
7 | [Documentation](https://algorandfoundation.github.io/puya/) | [Language guide](https://algorandfoundation.github.io/puya/language-guide.html)
8 |
9 | ## Installation
10 |
11 | ### Recommended method
12 |
13 | The easiest way to use Algorand Python is to instantiate a template with AlgoKit via:
14 |
15 | ```algokit init -t python```
16 |
17 | This will give you a full development environment with intellisense, linting, automatic formatting, breakpoint debugging, deployment and CI/CD.
18 |
19 | A sample smart contract will be placed under `PROJECT_NAME/projects/PROJECT_NAME/smart_contracts/SMART_CONTRACT_NAME/contract.py` (replacing `PROJECT_NAME` and `SMART_CONTRACT_NAME` with the values you chose during the template wizard.)
20 |
21 | ### Manual Alternative
22 |
23 | Alternatively, if you want to start from scratch you can do the following:
24 |
25 | 1. Ensure you have Python 3.12+
26 | 2. Install [AlgoKit CLI](https://github.com/algorandfoundation/algokit-cli?tab=readme-ov-file#install)
27 | 3. Check you can run the compiler:
28 | ```shell
29 | algokit compile py -h
30 | ```
31 | 4. Install Algorand Python into your project `poetry add algorand-python`
32 | 5. Create a contract in a (e.g.) `contract.py` file:
33 | ```python
34 | from algopy import ARC4Contract, arc4
35 | class HelloWorldContract(ARC4Contract):
36 | @arc4.abimethod
37 | def hello(self, name: arc4.String) -> arc4.String:
38 | return "Hello, " + name
39 | ```
40 |
41 | ## Usage
42 |
43 | 1. Navigate to your contract and compile it:
44 | ```shell
45 | algokit compile py contract.py
46 | ```
47 | 2. You should now have `HelloWorldContract.approval.teal` and `HelloWorldContract.clear.teal` on the file system!
48 | 3. We generally recommend using ARC-32 and [generated typed clients](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/generate.md#1-typed-clients) to have the most optimal deployment and consumption experience; to do this you need to ask PuyaPy to output an ARC-32 compatible app spec file:
49 | ```shell
50 | algokit compile py contract.py --output-arc32 --no-output-teal
51 | ```
52 | 4. You should now have `HelloWorldContract.arc32.json`, which can be generated into a client e.g. using AlgoKit CLI:
53 | ```shell
54 | algokit generate client HelloWorldContract.arc32.json --output client.py
55 | ```
56 | 5. From here you can dive into the [examples](https://github.com/algorandfoundation/puya/tree/main/examples) or look at the [documentation](https://algorandfoundation.github.io/puya/).
57 |
58 | ## Examples
59 |
60 | There are [many](https://github.com/algorandfoundation/puya/tree/main/examples) [examples](https://github.com/algorandfoundation/puya/tree/main/test_cases) in this repo, here are some of the more useful ones that showcase what
61 | is possible.
62 |
63 | - [hello world](https://github.com/algorandfoundation/puya/tree/main/examples/hello_world/contract.py)
64 | - [hello world (ARC4)](https://github.com/algorandfoundation/puya/tree/main/examples/hello_world_arc4/contract.py)
65 | - [voting](https://github.com/algorandfoundation/puya/tree/main/examples/voting/voting.py)
66 | - [AMM](https://github.com/algorandfoundation/puya/tree/main/examples/amm/contract.py)
67 | - [auction](https://github.com/algorandfoundation/puya/tree/main/examples/auction/contract.py)
68 | - [non-ABI calculator](https://github.com/algorandfoundation/puya/tree/main/examples/calculator/contract.py)
69 | - [local storage](https://github.com/algorandfoundation/puya/tree/main/examples/local_state/local_state_contract.py)
70 |
71 | The compiled output is available under the `out/` directory alongside these, e.g. the approval
72 | TEAL for `voting` is available at [examples/voting/out/VotingRoundApp.approval.teal](https://github.com/algorandfoundation/puya/blob/main/examples/voting/out/VotingRoundApp.approval.teal).
73 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.SimulationEvalOverrides.md:
--------------------------------------------------------------------------------
```markdown
1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SimulationEvalOverrides
2 |
3 | # Class: SimulationEvalOverrides
4 |
5 | [modelsv2](../modules/modelsv2.md).SimulationEvalOverrides
6 |
7 | The set of parameters and limits override during simulation. If this set of
8 | parameters is present, then evaluation parameters may differ from standard
9 | evaluation in certain ways.
10 |
11 | ## Hierarchy
12 |
13 | - `default`
14 |
15 | ↳ **`SimulationEvalOverrides`**
16 |
17 | ## Table of contents
18 |
19 | ### Constructors
20 |
21 | - [constructor](modelsv2.SimulationEvalOverrides.md#constructor)
22 |
23 | ### Properties
24 |
25 | - [allowEmptySignatures](modelsv2.SimulationEvalOverrides.md#allowemptysignatures)
26 | - [allowUnnamedResources](modelsv2.SimulationEvalOverrides.md#allowunnamedresources)
27 | - [attribute\_map](modelsv2.SimulationEvalOverrides.md#attribute_map)
28 | - [extraOpcodeBudget](modelsv2.SimulationEvalOverrides.md#extraopcodebudget)
29 | - [fixSigners](modelsv2.SimulationEvalOverrides.md#fixsigners)
30 | - [maxLogCalls](modelsv2.SimulationEvalOverrides.md#maxlogcalls)
31 | - [maxLogSize](modelsv2.SimulationEvalOverrides.md#maxlogsize)
32 |
33 | ### Methods
34 |
35 | - [get\_obj\_for\_encoding](modelsv2.SimulationEvalOverrides.md#get_obj_for_encoding)
36 | - [from\_obj\_for\_encoding](modelsv2.SimulationEvalOverrides.md#from_obj_for_encoding)
37 |
38 | ## Constructors
39 |
40 | ### constructor
41 |
42 | • **new SimulationEvalOverrides**(`«destructured»`)
43 |
44 | Creates a new `SimulationEvalOverrides` object.
45 |
46 | #### Parameters
47 |
48 | | Name | Type |
49 | | :------ | :------ |
50 | | `«destructured»` | `Object` |
51 | | › `allowEmptySignatures?` | `boolean` |
52 | | › `allowUnnamedResources?` | `boolean` |
53 | | › `extraOpcodeBudget?` | `number` \| `bigint` |
54 | | › `fixSigners?` | `boolean` |
55 | | › `maxLogCalls?` | `number` \| `bigint` |
56 | | › `maxLogSize?` | `number` \| `bigint` |
57 |
58 | #### Overrides
59 |
60 | BaseModel.constructor
61 |
62 | #### Defined in
63 |
64 | client/v2/algod/models/types.ts:5062
65 |
66 | ## Properties
67 |
68 | ### allowEmptySignatures
69 |
70 | • `Optional` **allowEmptySignatures**: `boolean`
71 |
72 | If true, transactions without signatures are allowed and simulated as if they
73 | were properly signed.
74 |
75 | #### Defined in
76 |
77 | client/v2/algod/models/types.ts:5023
78 |
79 | ___
80 |
81 | ### allowUnnamedResources
82 |
83 | • `Optional` **allowUnnamedResources**: `boolean`
84 |
85 | If true, allows access to unnamed resources during simulation.
86 |
87 | #### Defined in
88 |
89 | client/v2/algod/models/types.ts:5028
90 |
91 | ___
92 |
93 | ### attribute\_map
94 |
95 | • **attribute\_map**: `Record`\<`string`, `string`\>
96 |
97 | #### Inherited from
98 |
99 | BaseModel.attribute\_map
100 |
101 | #### Defined in
102 |
103 | client/v2/basemodel.ts:56
104 |
105 | ___
106 |
107 | ### extraOpcodeBudget
108 |
109 | • `Optional` **extraOpcodeBudget**: `number` \| `bigint`
110 |
111 | The extra opcode budget added to each transaction group during simulation
112 |
113 | #### Defined in
114 |
115 | client/v2/algod/models/types.ts:5033
116 |
117 | ___
118 |
119 | ### fixSigners
120 |
121 | • `Optional` **fixSigners**: `boolean`
122 |
123 | If true, signers for transactions that are missing signatures will be fixed
124 | during evaluation.
125 |
126 | #### Defined in
127 |
128 | client/v2/algod/models/types.ts:5039
129 |
130 | ___
131 |
132 | ### maxLogCalls
133 |
134 | • `Optional` **maxLogCalls**: `number` \| `bigint`
135 |
136 | The maximum log calls one can make during simulation
137 |
138 | #### Defined in
139 |
140 | client/v2/algod/models/types.ts:5044
141 |
142 | ___
143 |
144 | ### maxLogSize
145 |
146 | • `Optional` **maxLogSize**: `number` \| `bigint`
147 |
148 | The maximum byte number to log during simulation
149 |
150 | #### Defined in
151 |
152 | client/v2/algod/models/types.ts:5049
153 |
154 | ## Methods
155 |
156 | ### get\_obj\_for\_encoding
157 |
158 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
159 |
160 | Get an object ready for encoding to either JSON or msgpack.
161 |
162 | #### Parameters
163 |
164 | | Name | Type | Default value | Description |
165 | | :------ | :------ | :------ | :------ |
166 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
167 |
168 | #### Returns
169 |
170 | `Record`\<`string`, `any`\>
171 |
172 | #### Inherited from
173 |
174 | BaseModel.get\_obj\_for\_encoding
175 |
176 | #### Defined in
177 |
178 | client/v2/basemodel.ts:65
179 |
180 | ___
181 |
182 | ### from\_obj\_for\_encoding
183 |
184 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md)
185 |
186 | #### Parameters
187 |
188 | | Name | Type |
189 | | :------ | :------ |
190 | | `data` | `Record`\<`string`, `any`\> |
191 |
192 | #### Returns
193 |
194 | [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md)
195 |
196 | #### Defined in
197 |
198 | client/v2/algod/models/types.ts:5096
199 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.StateProofFields.md:
--------------------------------------------------------------------------------
```markdown
1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / StateProofFields
2 |
3 | # Class: StateProofFields
4 |
5 | [indexerModels](../modules/indexerModels.md).StateProofFields
6 |
7 | (sp) represents a state proof.
8 | Definition:
9 | crypto/stateproof/structs.go : StateProof
10 |
11 | ## Hierarchy
12 |
13 | - `default`
14 |
15 | ↳ **`StateProofFields`**
16 |
17 | ## Table of contents
18 |
19 | ### Constructors
20 |
21 | - [constructor](indexerModels.StateProofFields.md#constructor)
22 |
23 | ### Properties
24 |
25 | - [attribute\_map](indexerModels.StateProofFields.md#attribute_map)
26 | - [partProofs](indexerModels.StateProofFields.md#partproofs)
27 | - [positionsToReveal](indexerModels.StateProofFields.md#positionstoreveal)
28 | - [reveals](indexerModels.StateProofFields.md#reveals)
29 | - [saltVersion](indexerModels.StateProofFields.md#saltversion)
30 | - [sigCommit](indexerModels.StateProofFields.md#sigcommit)
31 | - [sigProofs](indexerModels.StateProofFields.md#sigproofs)
32 | - [signedWeight](indexerModels.StateProofFields.md#signedweight)
33 |
34 | ### Methods
35 |
36 | - [get\_obj\_for\_encoding](indexerModels.StateProofFields.md#get_obj_for_encoding)
37 | - [from\_obj\_for\_encoding](indexerModels.StateProofFields.md#from_obj_for_encoding)
38 |
39 | ## Constructors
40 |
41 | ### constructor
42 |
43 | • **new StateProofFields**(`«destructured»`)
44 |
45 | Creates a new `StateProofFields` object.
46 |
47 | #### Parameters
48 |
49 | | Name | Type |
50 | | :------ | :------ |
51 | | `«destructured»` | `Object` |
52 | | › `partProofs?` | [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md) |
53 | | › `positionsToReveal?` | (`number` \| `bigint`)[] |
54 | | › `reveals?` | [`StateProofReveal`](indexerModels.StateProofReveal.md)[] |
55 | | › `saltVersion?` | `number` \| `bigint` |
56 | | › `sigCommit?` | `string` \| `Uint8Array` |
57 | | › `sigProofs?` | [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md) |
58 | | › `signedWeight?` | `number` \| `bigint` |
59 |
60 | #### Overrides
61 |
62 | BaseModel.constructor
63 |
64 | #### Defined in
65 |
66 | client/v2/indexer/models/types.ts:3515
67 |
68 | ## Properties
69 |
70 | ### attribute\_map
71 |
72 | • **attribute\_map**: `Record`\<`string`, `string`\>
73 |
74 | #### Inherited from
75 |
76 | BaseModel.attribute\_map
77 |
78 | #### Defined in
79 |
80 | client/v2/basemodel.ts:56
81 |
82 | ___
83 |
84 | ### partProofs
85 |
86 | • `Optional` **partProofs**: [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md)
87 |
88 | (P)
89 |
90 | #### Defined in
91 |
92 | client/v2/indexer/models/types.ts:3471
93 |
94 | ___
95 |
96 | ### positionsToReveal
97 |
98 | • `Optional` **positionsToReveal**: (`number` \| `bigint`)[]
99 |
100 | (pr) Sequence of reveal positions.
101 |
102 | #### Defined in
103 |
104 | client/v2/indexer/models/types.ts:3476
105 |
106 | ___
107 |
108 | ### reveals
109 |
110 | • `Optional` **reveals**: [`StateProofReveal`](indexerModels.StateProofReveal.md)[]
111 |
112 | (r) Note that this is actually stored as a map[uint64] - Reveal in the actual
113 | msgp
114 |
115 | #### Defined in
116 |
117 | client/v2/indexer/models/types.ts:3482
118 |
119 | ___
120 |
121 | ### saltVersion
122 |
123 | • `Optional` **saltVersion**: `number` \| `bigint`
124 |
125 | (v) Salt version of the merkle signature.
126 |
127 | #### Defined in
128 |
129 | client/v2/indexer/models/types.ts:3487
130 |
131 | ___
132 |
133 | ### sigCommit
134 |
135 | • `Optional` **sigCommit**: `Uint8Array`
136 |
137 | (c)
138 |
139 | #### Defined in
140 |
141 | client/v2/indexer/models/types.ts:3492
142 |
143 | ___
144 |
145 | ### sigProofs
146 |
147 | • `Optional` **sigProofs**: [`MerkleArrayProof`](indexerModels.MerkleArrayProof.md)
148 |
149 | (S)
150 |
151 | #### Defined in
152 |
153 | client/v2/indexer/models/types.ts:3497
154 |
155 | ___
156 |
157 | ### signedWeight
158 |
159 | • `Optional` **signedWeight**: `number` \| `bigint`
160 |
161 | (w)
162 |
163 | #### Defined in
164 |
165 | client/v2/indexer/models/types.ts:3502
166 |
167 | ## Methods
168 |
169 | ### get\_obj\_for\_encoding
170 |
171 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
172 |
173 | Get an object ready for encoding to either JSON or msgpack.
174 |
175 | #### Parameters
176 |
177 | | Name | Type | Default value | Description |
178 | | :------ | :------ | :------ | :------ |
179 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
180 |
181 | #### Returns
182 |
183 | `Record`\<`string`, `any`\>
184 |
185 | #### Inherited from
186 |
187 | BaseModel.get\_obj\_for\_encoding
188 |
189 | #### Defined in
190 |
191 | client/v2/basemodel.ts:65
192 |
193 | ___
194 |
195 | ### from\_obj\_for\_encoding
196 |
197 | ▸ `Static` **from_obj_for_encoding**(`data`): [`StateProofFields`](indexerModels.StateProofFields.md)
198 |
199 | #### Parameters
200 |
201 | | Name | Type |
202 | | :------ | :------ |
203 | | `data` | `Record`\<`string`, `any`\> |
204 |
205 | #### Returns
206 |
207 | [`StateProofFields`](indexerModels.StateProofFields.md)
208 |
209 | #### Defined in
210 |
211 | client/v2/indexer/models/types.ts:3556
212 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:get-started:tokenization:nft.md:
--------------------------------------------------------------------------------
```markdown
1 | title: Create an NFT
2 |
3 | # What are NFTs?
4 |
5 | Non-fungible tokens, or NFTs for short, are unique assets represented on the blockchain. Digital art and collectibles are types of NFTs that you may have heard about, but they only scratch the surface of what is possible.
6 |
7 | <center>
8 | {: style="width:500px" align=center }
9 | <figcaption style="font-size:12px">Examples of NFT use cases: Tokenizing the rights to a song to facilitate royalty payments, in-game collectibles, or special edition brand merchandise.</figcaption>
10 | </center>
11 |
12 | If Alice wants to use blockchain to help her scale and grow her art business, because it provides important properties that she cannot achieve otherwise (trust, transparency, efficiency, low costs). The first step for her is to represent her unique art pieces on-chain as NFTs. Let's go ahead and learn how to create an NFT on Algorand.
13 |
14 | # How to create NFTs
15 | NFTs are created using Algorand Standard Assets (ASAs), which are built into the protocol and created using a special type of transaction. This is distinct from some other blockchains where a smart contract is necessary to represent assets. You just need to specify a few parameters to identify it as an NFT and link to the metadata so that potential owners have the information they need to validate the integrity of the asset. For instance, you need to set the total amount of units you want to create for this asset to 1 and set the number of decimals to 0. This ensures you create precisely one unit of your ASA and can't divide the newly minted asset. See [Algorand Request for Comments](https://arc.algorand.foundation/) for standards used by the Algorand community to properly format properties of an NFT.
16 |
17 | This asset creation transaction can be created using any of [Algorands SDKs](../../sdks/index.md). Code demonstrating creating an Asset is available in the [ASA documentation](../../get-details/asa.md#creating-an-asset).
18 |
19 |
20 | <center>
21 | {: style="width:500px"}
22 | <figcaption style="font-size:12px">Alice tokenizes her art piece as an NFT on Algorand.</figcaption>
23 | </center>
24 |
25 | **Composability**
26 |
27 | ASAs can be composed with other features on Algorand (like smart contracts) and with applications built on top of Algorand. What makes this possible is the combination of the standard representation of an NFT on the Algorand blockchain, both as an ASA and specifically as a unique ASA, and the openness and permissionless nature of the Algorand blockchain.
28 |
29 | # Fractional NFTS
30 |
31 | A fractional NFT is a unique asset that has been divided into multiple, equal shares. When NFTs are selling for millions of dollars, this may be one way to lower the bar for entry and reach more potential buyers who would not have been able to invest in the whole NFT. The other side of the coin (pun intended) is that by increasing your pool of potential buyers, you may see the value of your NFT increase. Need a compelling example? In September 2021, the owner of a meme Doge NFT who paid 4 million dollars for it, fractionalized it and then auctioned off a portion of those fractional shares at a price that revalued their asset at 225 million USD[^1].
32 |
33 | [^1]: [https://www.theblockcrypto.com/linked/116464/fractionalized-doge-nft-valued-at-225-million-after-sushiswap-auction](https://www.theblockcrypto.com/linked/116464/fractionalized-doge-nft-valued-at-225-million-after-sushiswap-auction){: target="_blank"}
34 |
35 | Maybe Alice should think about fractionalizing her artwork for her next auction!
36 |
37 | To create a fractional NFT, the total units must be a power of 10, greater than 1, and the number of decimals must be equal to the logarithm in base 10 of the total number of units. The fractional NFT standard is defined as part of [ARC-0003](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0003.md){: target="_blank"}.
38 | # More NFT Resources
39 |
40 | - Learn more about NFTs from Algorand's Chief Product Officer: [The Enduring Value of NFTs on Algorand: A Critical Role in the Future of Finance](https://www.algorand.com/resources/blog/the-enduring-value-of-nfts-on-algorand){: target="blank"}
41 | - Detailed documentation on [Algorand Standard Assets (ASAs)](../../../get-details/asa/){: target="blank"} and related [transaction types](../../../get-details/transactions/#asset-configuration-transaction){: target="blank"}.
42 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.TransactionAssetTransfer.md:
--------------------------------------------------------------------------------
```markdown
1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / TransactionAssetTransfer
2 |
3 | # Class: TransactionAssetTransfer
4 |
5 | [indexerModels](../modules/indexerModels.md).TransactionAssetTransfer
6 |
7 | Fields for an asset transfer transaction.
8 | Definition:
9 | data/transactions/asset.go : AssetTransferTxnFields
10 |
11 | ## Hierarchy
12 |
13 | - `default`
14 |
15 | ↳ **`TransactionAssetTransfer`**
16 |
17 | ## Table of contents
18 |
19 | ### Constructors
20 |
21 | - [constructor](indexerModels.TransactionAssetTransfer.md#constructor)
22 |
23 | ### Properties
24 |
25 | - [amount](indexerModels.TransactionAssetTransfer.md#amount)
26 | - [assetId](indexerModels.TransactionAssetTransfer.md#assetid)
27 | - [attribute\_map](indexerModels.TransactionAssetTransfer.md#attribute_map)
28 | - [closeAmount](indexerModels.TransactionAssetTransfer.md#closeamount)
29 | - [closeTo](indexerModels.TransactionAssetTransfer.md#closeto)
30 | - [receiver](indexerModels.TransactionAssetTransfer.md#receiver)
31 | - [sender](indexerModels.TransactionAssetTransfer.md#sender)
32 |
33 | ### Methods
34 |
35 | - [get\_obj\_for\_encoding](indexerModels.TransactionAssetTransfer.md#get_obj_for_encoding)
36 | - [from\_obj\_for\_encoding](indexerModels.TransactionAssetTransfer.md#from_obj_for_encoding)
37 |
38 | ## Constructors
39 |
40 | ### constructor
41 |
42 | • **new TransactionAssetTransfer**(`«destructured»`)
43 |
44 | Creates a new `TransactionAssetTransfer` object.
45 |
46 | #### Parameters
47 |
48 | | Name | Type |
49 | | :------ | :------ |
50 | | `«destructured»` | `Object` |
51 | | › `amount` | `number` \| `bigint` |
52 | | › `assetId` | `number` \| `bigint` |
53 | | › `closeAmount?` | `number` \| `bigint` |
54 | | › `closeTo?` | `string` |
55 | | › `receiver` | `string` |
56 | | › `sender?` | `string` |
57 |
58 | #### Overrides
59 |
60 | BaseModel.constructor
61 |
62 | #### Defined in
63 |
64 | client/v2/indexer/models/types.ts:5041
65 |
66 | ## Properties
67 |
68 | ### amount
69 |
70 | • **amount**: `number` \| `bigint`
71 |
72 | (aamt) Amount of asset to transfer. A zero amount transferred to self allocates
73 | that asset in the account's Assets map.
74 |
75 | #### Defined in
76 |
77 | client/v2/indexer/models/types.ts:4996
78 |
79 | ___
80 |
81 | ### assetId
82 |
83 | • **assetId**: `number` \| `bigint`
84 |
85 | (xaid) ID of the asset being transferred.
86 |
87 | #### Defined in
88 |
89 | client/v2/indexer/models/types.ts:5001
90 |
91 | ___
92 |
93 | ### attribute\_map
94 |
95 | • **attribute\_map**: `Record`\<`string`, `string`\>
96 |
97 | #### Inherited from
98 |
99 | BaseModel.attribute\_map
100 |
101 | #### Defined in
102 |
103 | client/v2/basemodel.ts:56
104 |
105 | ___
106 |
107 | ### closeAmount
108 |
109 | • `Optional` **closeAmount**: `number` \| `bigint`
110 |
111 | Number of assets transferred to the close-to account as part of the transaction.
112 |
113 | #### Defined in
114 |
115 | client/v2/indexer/models/types.ts:5011
116 |
117 | ___
118 |
119 | ### closeTo
120 |
121 | • `Optional` **closeTo**: `string`
122 |
123 | (aclose) Indicates that the asset should be removed from the account's Assets
124 | map, and specifies where the remaining asset holdings should be transferred.
125 | It's always valid to transfer remaining asset holdings to the creator account.
126 |
127 | #### Defined in
128 |
129 | client/v2/indexer/models/types.ts:5018
130 |
131 | ___
132 |
133 | ### receiver
134 |
135 | • **receiver**: `string`
136 |
137 | (arcv) Recipient address of the transfer.
138 |
139 | #### Defined in
140 |
141 | client/v2/indexer/models/types.ts:5006
142 |
143 | ___
144 |
145 | ### sender
146 |
147 | • `Optional` **sender**: `string`
148 |
149 | (asnd) The effective sender during a clawback transactions. If this is not a
150 | zero value, the real transaction sender must be the Clawback address from the
151 | AssetParams.
152 |
153 | #### Defined in
154 |
155 | client/v2/indexer/models/types.ts:5025
156 |
157 | ## Methods
158 |
159 | ### get\_obj\_for\_encoding
160 |
161 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
162 |
163 | Get an object ready for encoding to either JSON or msgpack.
164 |
165 | #### Parameters
166 |
167 | | Name | Type | Default value | Description |
168 | | :------ | :------ | :------ | :------ |
169 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
170 |
171 | #### Returns
172 |
173 | `Record`\<`string`, `any`\>
174 |
175 | #### Inherited from
176 |
177 | BaseModel.get\_obj\_for\_encoding
178 |
179 | #### Defined in
180 |
181 | client/v2/basemodel.ts:65
182 |
183 | ___
184 |
185 | ### from\_obj\_for\_encoding
186 |
187 | ▸ `Static` **from_obj_for_encoding**(`data`): [`TransactionAssetTransfer`](indexerModels.TransactionAssetTransfer.md)
188 |
189 | #### Parameters
190 |
191 | | Name | Type |
192 | | :------ | :------ |
193 | | `data` | `Record`\<`string`, `any`\> |
194 |
195 | #### Returns
196 |
197 | [`TransactionAssetTransfer`](indexerModels.TransactionAssetTransfer.md)
198 |
199 | #### Defined in
200 |
201 | client/v2/indexer/models/types.ts:5075
202 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:python:testing:docs:examples.md:
--------------------------------------------------------------------------------
```markdown
1 | # Examples
2 |
3 | Below is a showcase of various examples of unit testing real and sample Algorand Python smart contracts using `algorand-python-testing`.
4 |
5 | | Contract Name | Test File | Key Features Demonstrated | Test versions of Algopy Abstractions used |
6 | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
7 | | Auction | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/auction/test_contract.py) | - Use of algopy_testing_context<br>- Mocking of global state and transaction fields<br>- Testing of ARC4 contract methods<br>- Emulation of asset creation and transfers<br>- Verification of inner transactions | - **ARC4Contract**<br>- **Global**<br>- **Txn**<br>- **Asset**<br>- **Account**<br>- **LocalState** |
8 | | Proof of Attendance | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/proof_of_attendance/test_contract.py) | - Creation and management of dummy assets<br>- Testing of box storage operations<br>- Verification of inner transactions for asset transfers<br>- Use of any\_\* methods for generating test data | - **ARC4Contract**<br>- **Box**<br>- **BoxMap**<br>- **Asset**<br>- **Account**<br>- **op** |
9 | | Simple Voting | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/simple_voting/test_contract.py) | - Testing of global and local state operations<br>- Verification of transaction group operations<br>- Mocking of payment transactions | - **Contract**<br>- **GlobalState**<br>- **LocalState**<br>- **Txn**<br>- **op.GTxn** |
10 | | ZK Whitelist | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/zk_whitelist/test_contract.py) | - Testing of zero-knowledge proof verification<br>- Mocking of external application calls<br>- Use of ARC4 types and methods | - **ARC4Contract**<br>- **arc4 types**<br>- **LocalState**<br>- **Global**<br>- **Txn** |
11 | | HTLC LogicSig | [test_signature.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/htlc_logicsig/test_signature.py) | - Testing of LogicSig contracts<br>- Verification of time-based conditions<br>- Mocking of transaction parameters | - **logicsig**<br>- **Account**<br>- **Txn**<br>- **Global**<br>- **op** |
12 | | Marketplace | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/marketplace/test_contract.py) | - Testing of complex marketplace operations<br>- Use of BoxMap for listings<br>- Testing of asset transfers and payments | - **ARC4Contract**<br>- **BoxMap**<br>- **Asset**<br>- **arc4 types**<br>- **Global**<br>- **Txn** |
13 | | Scratch Storage | [test_contract.py](https://github.com/algorandfoundation/algorand-python-testing/blob/main/examples/scratch_storage/test_contract.py) | - Testing of scratch space usage<br>- Verification of scratch slot values | - **ARC4Contract**<br>- **Contract**<br>- **op** |
14 |
```
--------------------------------------------------------------------------------
/packages/server/src/tools/arc26Manager.ts:
--------------------------------------------------------------------------------
```typescript
1 | import QRCode from 'qrcode';
2 | import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
3 |
4 | interface Arc26ToolInput {
5 | address: string;
6 | label?: string;
7 | amount?: number;
8 | asset?: number;
9 | note?: string;
10 | xnote?: string;
11 | }
12 |
13 | export class Arc26Manager {
14 | public arc26Tools = [
15 | {
16 | name: 'generate_algorand_uri',
17 | description: 'Generate an Algorand URI and QR code according to ARC-26 specification',
18 | inputSchema: {
19 | type: 'object',
20 | properties: {
21 | address: {
22 | type: 'string',
23 | description: 'Algorand address in standard format (58 characters)'
24 | },
25 | label: {
26 | type: 'string',
27 | description: 'Label for the address (e.g. name of receiver)',
28 | optional: true
29 | },
30 | amount: {
31 | type: 'number',
32 | description: 'Amount in microAlgos (must be non-negative)',
33 | optional: true
34 | },
35 | asset: {
36 | type: 'number',
37 | description: 'Asset ID for ASA transfers',
38 | optional: true
39 | },
40 | note: {
41 | type: 'string',
42 | description: 'URL-encoded note that can be modified by user',
43 | optional: true
44 | },
45 | xnote: {
46 | type: 'string',
47 | description: 'URL-encoded note that must not be modified by user',
48 | optional: true
49 | }
50 | },
51 | required: ['address']
52 | }
53 | }
54 | ];
55 |
56 | /**
57 | * Constructs an Algorand URI according to ARC-26 specification and generates a QR code
58 | * @param params The parameters for constructing the URI
59 | * @returns Object containing the URI and QR code as base64 data URL
60 | */
61 | async generateUriAndQr(params: Arc26ToolInput): Promise<{ uri: string; qrCode: string }> {
62 | // Validate address format (base32 string)
63 | if (!params.address || !/^[A-Z2-7]{58}$/.test(params.address)) {
64 | throw new McpError(ErrorCode.InvalidParams, 'Invalid Algorand address format');
65 | }
66 |
67 | // Start building the URI with the scheme and address
68 | let uri = `algorand://${params.address}`;
69 |
70 | // Build query parameters
71 | const queryParams: string[] = [];
72 |
73 | // Add optional parameters if provided
74 | if (params.label) {
75 | queryParams.push(`label=${encodeURIComponent(params.label)}`);
76 | }
77 |
78 | if (typeof params.amount === 'number') {
79 | if (params.amount < 0) {
80 | throw new McpError(ErrorCode.InvalidParams, 'Amount must be non-negative');
81 | }
82 | // Convert to microAlgos and ensure no decimals
83 | const microAlgos = Math.floor(params.amount);
84 | queryParams.push(`amount=${microAlgos}`);
85 | }
86 |
87 | if (typeof params.asset === 'number') {
88 | if (params.asset < 0) {
89 | throw new McpError(ErrorCode.InvalidParams, 'Asset ID must be non-negative');
90 | }
91 | queryParams.push(`asset=${params.asset}`);
92 | }
93 |
94 | if (params.note) {
95 | queryParams.push(`note=${encodeURIComponent(params.note)}`);
96 | }
97 |
98 | if (params.xnote) {
99 | queryParams.push(`xnote=${encodeURIComponent(params.xnote)}`);
100 | }
101 |
102 | // Add query parameters to URI if any exist
103 | if (queryParams.length > 0) {
104 | uri += '?' + queryParams.join('&');
105 | }
106 |
107 | // Generate QR code as SVG
108 | const qrCode = await QRCode.toString(uri, {
109 | type: 'svg',
110 | errorCorrectionLevel: 'H',
111 | margin: 1,
112 | width: 300
113 | });
114 |
115 | return {
116 | uri,
117 | qrCode
118 | };
119 | }
120 |
121 | async handleTool(name: string, args: Record<string, unknown>) {
122 | // Cast args to Arc26ToolInput after validation
123 | const toolArgs: Arc26ToolInput = {
124 | address: args.address as string,
125 | label: args.label as string | undefined,
126 | amount: typeof args.amount === 'number' ? args.amount : undefined,
127 | asset: typeof args.asset === 'number' ? args.asset : undefined,
128 | note: args.note as string | undefined,
129 | xnote: args.xnote as string | undefined
130 | };
131 | if (name === 'generate_algorand_uri') {
132 | const { uri, qrCode } = await this.generateUriAndQr(toolArgs);
133 | return {
134 | content: [
135 | {
136 | type: "text",
137 | text: JSON.stringify({ uri }, null, 2)
138 | },
139 | {
140 | type: "text",
141 | text: qrCode,
142 | mimeType: "image/svg+xml"
143 | }
144 | ]
145 | };
146 | }
147 |
148 | throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
149 | }
150 | }
151 |
152 | export const arc26Manager = new Arc26Manager();
153 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:docs:clis:indexer:daemon.md:
--------------------------------------------------------------------------------
```markdown
1 | title: indexer daemon
2 | ---
3 | ## indexer daemon
4 |
5 |
6 |
7 | run indexer daemon
8 |
9 |
10 |
11 | ### Synopsis
12 |
13 |
14 |
15 | run indexer daemon. Serve api on HTTP.
16 |
17 |
18 |
19 | ```
20 |
21 | indexer daemon [flags]
22 |
23 | ```
24 |
25 |
26 |
27 | ### Options
28 |
29 |
30 |
31 | ```
32 |
33 | --api-config-file string supply an API config file to enable/disable parameters
34 |
35 | -c, --configfile string file path to configuration file (indexer.yml)
36 |
37 | --cpuprofile string file to record cpu profile to
38 |
39 | -i, --data-dir string path to indexer data dir, or $INDEXER_DATA
40 |
41 | --default-accounts-limit uint32 set the default Limit parameter for querying accounts, if none is provided (default 100)
42 |
43 | --default-applications-limit uint32 set the default Limit parameter for querying applications, if none is provided (default 100)
44 |
45 | --default-assets-limit uint32 set the default Limit parameter for querying assets, if none is provided (default 100)
46 |
47 | --default-balances-limit uint32 set the default Limit parameter for querying balances, if none is provided (default 1000)
48 |
49 | --default-boxes-limit uint32 set the default allowed Limit parameter for searching an app's boxes (default 1000)
50 |
51 | --default-transactions-limit uint32 set the default Limit parameter for querying transactions, if none is provided (default 1000)
52 |
53 | --dev-mode has no effect currently, reserved for future performance intensive operations
54 |
55 | -n, --dummydb use dummy indexer db
56 |
57 | --enable-all-parameters override default configuration and enable all parameters. Can't be used with --api-config-file
58 |
59 | --enable-private-network-access-header respond to Private Network Access preflight requests
60 |
61 | -h, --help help for daemon
62 |
63 | -f, --logfile string file to write logs to, if unset logs are written to standard out
64 |
65 | -l, --loglevel string verbosity of logs: [error, warn, info, debug, trace] (default "info")
66 |
67 | --max-accounts-limit uint32 set the maximum allowed Limit parameter for querying accounts (default 1000)
68 |
69 | --max-api-resources-per-account uint32 set the maximum total number of resources (created assets, created apps, asset holdings, and application local state) per account that will be allowed in REST API lookupAccountByID and searchForAccounts responses before returning a 400 Bad Request. Set zero for no limit (default 1000)
70 |
71 | --max-applications-limit uint32 set the maximum allowed Limit parameter for querying applications (default 1000)
72 |
73 | --max-assets-limit uint32 set the maximum allowed Limit parameter for querying assets (default 1000)
74 |
75 | --max-balances-limit uint32 set the maximum allowed Limit parameter for querying balances (default 10000)
76 |
77 | --max-boxes-limit uint32 set the maximum allowed Limit parameter for searching an app's boxes (default 10000)
78 |
79 | --max-conn uint32 set the maximum connections allowed in the connection pool, if the maximum is reached subsequent connections will wait until a connection becomes available, or timeout according to the read-timeout setting
80 |
81 | --max-transactions-limit uint32 set the maximum allowed Limit parameter for querying transactions (default 10000)
82 |
83 | --metrics-mode string configure the /metrics endpoint to [ON, OFF, VERBOSE] (default "OFF")
84 |
85 | --pidfile string file to write daemon's process id to
86 |
87 | -P, --postgres string connection string for postgres database
88 |
89 | --read-timeout duration set the maximum duration for reading the entire request (default 5s)
90 |
91 | -S, --server string host:port to serve API on (default :8980) (default ":8980")
92 |
93 | -t, --token string an optional auth token, when set REST calls must use this token in a bearer format, or in a 'X-Indexer-API-Token' header
94 |
95 | -v, --version print version and exit
96 |
97 | --write-timeout duration set the maximum duration to wait before timing out writes to a http response, breaking connection (default 30s)
98 |
99 | ```
100 |
101 |
102 |
103 | ### SEE ALSO
104 |
105 |
106 |
107 | * [indexer](../../indexer/indexer/) - Algorand Indexer
108 |
109 |
110 |
111 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/developer:python:code:example:self_payment.md:
--------------------------------------------------------------------------------
```markdown
1 | # Self Payment Logic Signatures in Algorand
2 |
3 | This guide demonstrates how to implement a self-payment logic signature (LogicSig) in Algorand using Python. A self-payment LogicSig allows an account to make payments to itself under specific conditions.
4 |
5 | ## Self Payment Implementation
6 |
7 | ```python
8 | from algopy import (
9 | Bytes,
10 | Global,
11 | TemplateVar,
12 | TransactionType,
13 | Txn,
14 | UInt64,
15 | logicsig,
16 | op,
17 | )
18 |
19 | @logicsig
20 | def self_payment() -> bool:
21 | """
22 | This Delegated Account will authorize a single empty self payment
23 | in a block known ahead of time.
24 | """
25 | return (
26 | # Verify transaction type is Payment
27 | Txn.type_enum == TransactionType.Payment
28 | # Ensure receiver is the same as sender
29 | and Txn.receiver == Txn.sender
30 | # Ensure payment amount is 0
31 | and Txn.amount == 0
32 | # Prevent account rekeying
33 | and Txn.rekey_to == Global.zero_address
34 | # Prevent account closure
35 | and Txn.close_remainder_to == Global.zero_address
36 | # Ensure minimum transaction fee
37 | and Txn.fee == Global.min_txn_fee
38 | # Verify network by genesis hash
39 | and Global.genesis_hash == TemplateVar[Bytes]("TARGET_NETWORK_GENESIS")
40 | # Prevent replay attacks with round number
41 | and Txn.last_valid == TemplateVar[UInt64]("LAST_ROUND")
42 | # Use lease to prevent concurrent transactions
43 | and Txn.lease == op.sha256(b"self-payment")
44 | )
45 | ```
46 |
47 | ## Key Components
48 |
49 | ### Transaction Validation
50 |
51 | 1. **Payment Type**:
52 | ```python
53 | Txn.type_enum == TransactionType.Payment
54 | ```
55 | - Ensures the transaction is a payment transaction
56 | - Rejects any other transaction types
57 |
58 | 2. **Self Payment**:
59 | ```python
60 | Txn.receiver == Txn.sender
61 | ```
62 | - Verifies that the receiver is the same as the sender
63 | - Ensures funds stay within the same account
64 |
65 | 3. **Zero Amount**:
66 | ```python
67 | Txn.amount == 0
68 | ```
69 | - Ensures the payment amount is zero
70 | - Prevents accidental fund transfers
71 |
72 | ### Security Measures
73 |
74 | 1. **Rekey Prevention**:
75 | ```python
76 | Txn.rekey_to == Global.zero_address
77 | ```
78 | - Prevents account rekeying
79 | - Maintains account control
80 |
81 | 2. **Closure Prevention**:
82 | ```python
83 | Txn.close_remainder_to == Global.zero_address
84 | ```
85 | - Prevents account closure
86 | - Protects account funds
87 |
88 | 3. **Fee Control**:
89 | ```python
90 | Txn.fee == Global.min_txn_fee
91 | ```
92 | - Ensures minimum transaction fee
93 | - Prevents fee manipulation
94 |
95 | ### Replay Protection
96 |
97 | 1. **Network Verification**:
98 | ```python
99 | Global.genesis_hash == TemplateVar[Bytes]("TARGET_NETWORK_GENESIS")
100 | ```
101 | - Verifies the correct network
102 | - Prevents cross-network replay attacks
103 |
104 | 2. **Round Number Check**:
105 | ```python
106 | Txn.last_valid == TemplateVar[UInt64]("LAST_ROUND")
107 | ```
108 | - Enforces specific round number
109 | - Limits transaction validity period
110 |
111 | 3. **Transaction Lease**:
112 | ```python
113 | Txn.lease == op.sha256(b"self-payment")
114 | ```
115 | - Prevents concurrent transactions
116 | - Adds additional replay protection
117 |
118 | ## Use Cases
119 |
120 | 1. **Account Maintenance**:
121 | - Regular account activity
122 | - Keeping account active
123 | - Preventing account dormancy
124 |
125 | 2. **Network Participation**:
126 | - Maintaining network presence
127 | - Participating in consensus
128 | - Meeting activity requirements
129 |
130 | 3. **Security Verification**:
131 | - Account control verification
132 | - Network connectivity testing
133 | - Transaction capability testing
134 |
135 | ## Best Practices
136 |
137 | 1. **Transaction Parameters**:
138 | - Always use zero amount for self-payments
139 | - Set appropriate transaction fees
140 | - Use minimum required parameters
141 |
142 | 2. **Security**:
143 | - Implement all security checks
144 | - Use replay protection mechanisms
145 | - Verify network parameters
146 |
147 | 3. **Round Numbers**:
148 | - Choose appropriate round numbers
149 | - Consider network timing
150 | - Account for block finality
151 |
152 | 4. **Lease Management**:
153 | - Use unique lease values
154 | - Implement proper lease timing
155 | - Handle lease expiration
156 |
157 | 5. **Error Handling**:
158 | - Validate all parameters
159 | - Handle failure cases
160 | - Provide clear error messages
161 |
162 | 6. **Testing**:
163 | - Test on test networks first
164 | - Verify all security measures
165 | - Simulate various scenarios
166 |
167 | This guide demonstrates how to implement a secure self-payment logic signature in Algorand using Python. The implementation includes various security measures to prevent unauthorized use and replay attacks while ensuring the transaction serves its intended purpose.
168 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.SimulateResponse.md:
--------------------------------------------------------------------------------
```markdown
1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SimulateResponse
2 |
3 | # Class: SimulateResponse
4 |
5 | [modelsv2](../modules/modelsv2.md).SimulateResponse
6 |
7 | Result of a transaction group simulation.
8 |
9 | ## Hierarchy
10 |
11 | - `default`
12 |
13 | ↳ **`SimulateResponse`**
14 |
15 | ## Table of contents
16 |
17 | ### Constructors
18 |
19 | - [constructor](modelsv2.SimulateResponse.md#constructor)
20 |
21 | ### Properties
22 |
23 | - [attribute\_map](modelsv2.SimulateResponse.md#attribute_map)
24 | - [evalOverrides](modelsv2.SimulateResponse.md#evaloverrides)
25 | - [execTraceConfig](modelsv2.SimulateResponse.md#exectraceconfig)
26 | - [initialStates](modelsv2.SimulateResponse.md#initialstates)
27 | - [lastRound](modelsv2.SimulateResponse.md#lastround)
28 | - [txnGroups](modelsv2.SimulateResponse.md#txngroups)
29 | - [version](modelsv2.SimulateResponse.md#version)
30 |
31 | ### Methods
32 |
33 | - [get\_obj\_for\_encoding](modelsv2.SimulateResponse.md#get_obj_for_encoding)
34 | - [from\_obj\_for\_encoding](modelsv2.SimulateResponse.md#from_obj_for_encoding)
35 |
36 | ## Constructors
37 |
38 | ### constructor
39 |
40 | • **new SimulateResponse**(`«destructured»`)
41 |
42 | Creates a new `SimulateResponse` object.
43 |
44 | #### Parameters
45 |
46 | | Name | Type |
47 | | :------ | :------ |
48 | | `«destructured»` | `Object` |
49 | | › `evalOverrides?` | [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md) |
50 | | › `execTraceConfig?` | [`SimulateTraceConfig`](modelsv2.SimulateTraceConfig.md) |
51 | | › `initialStates?` | [`SimulateInitialStates`](modelsv2.SimulateInitialStates.md) |
52 | | › `lastRound` | `number` \| `bigint` |
53 | | › `txnGroups` | [`SimulateTransactionGroupResult`](modelsv2.SimulateTransactionGroupResult.md)[] |
54 | | › `version` | `number` \| `bigint` |
55 |
56 | #### Overrides
57 |
58 | BaseModel.constructor
59 |
60 | #### Defined in
61 |
62 | client/v2/algod/models/types.ts:4471
63 |
64 | ## Properties
65 |
66 | ### attribute\_map
67 |
68 | • **attribute\_map**: `Record`\<`string`, `string`\>
69 |
70 | #### Inherited from
71 |
72 | BaseModel.attribute\_map
73 |
74 | #### Defined in
75 |
76 | client/v2/basemodel.ts:56
77 |
78 | ___
79 |
80 | ### evalOverrides
81 |
82 | • `Optional` **evalOverrides**: [`SimulationEvalOverrides`](modelsv2.SimulationEvalOverrides.md)
83 |
84 | The set of parameters and limits override during simulation. If this set of
85 | parameters is present, then evaluation parameters may differ from standard
86 | evaluation in certain ways.
87 |
88 | #### Defined in
89 |
90 | client/v2/algod/models/types.ts:4447
91 |
92 | ___
93 |
94 | ### execTraceConfig
95 |
96 | • `Optional` **execTraceConfig**: [`SimulateTraceConfig`](modelsv2.SimulateTraceConfig.md)
97 |
98 | An object that configures simulation execution trace.
99 |
100 | #### Defined in
101 |
102 | client/v2/algod/models/types.ts:4452
103 |
104 | ___
105 |
106 | ### initialStates
107 |
108 | • `Optional` **initialStates**: [`SimulateInitialStates`](modelsv2.SimulateInitialStates.md)
109 |
110 | Initial states of resources that were accessed during simulation.
111 |
112 | #### Defined in
113 |
114 | client/v2/algod/models/types.ts:4457
115 |
116 | ___
117 |
118 | ### lastRound
119 |
120 | • **lastRound**: `number` \| `bigint`
121 |
122 | The round immediately preceding this simulation. State changes through this
123 | round were used to run this simulation.
124 |
125 | #### Defined in
126 |
127 | client/v2/algod/models/types.ts:4430
128 |
129 | ___
130 |
131 | ### txnGroups
132 |
133 | • **txnGroups**: [`SimulateTransactionGroupResult`](modelsv2.SimulateTransactionGroupResult.md)[]
134 |
135 | A result object for each transaction group that was simulated.
136 |
137 | #### Defined in
138 |
139 | client/v2/algod/models/types.ts:4435
140 |
141 | ___
142 |
143 | ### version
144 |
145 | • **version**: `number` \| `bigint`
146 |
147 | The version of this response object.
148 |
149 | #### Defined in
150 |
151 | client/v2/algod/models/types.ts:4440
152 |
153 | ## Methods
154 |
155 | ### get\_obj\_for\_encoding
156 |
157 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
158 |
159 | Get an object ready for encoding to either JSON or msgpack.
160 |
161 | #### Parameters
162 |
163 | | Name | Type | Default value | Description |
164 | | :------ | :------ | :------ | :------ |
165 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
166 |
167 | #### Returns
168 |
169 | `Record`\<`string`, `any`\>
170 |
171 | #### Inherited from
172 |
173 | BaseModel.get\_obj\_for\_encoding
174 |
175 | #### Defined in
176 |
177 | client/v2/basemodel.ts:65
178 |
179 | ___
180 |
181 | ### from\_obj\_for\_encoding
182 |
183 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SimulateResponse`](modelsv2.SimulateResponse.md)
184 |
185 | #### Parameters
186 |
187 | | Name | Type |
188 | | :------ | :------ |
189 | | `data` | `Record`\<`string`, `any`\> |
190 |
191 | #### Returns
192 |
193 | [`SimulateResponse`](modelsv2.SimulateResponse.md)
194 |
195 | #### Defined in
196 |
197 | client/v2/algod/models/types.ts:4505
198 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md:
--------------------------------------------------------------------------------
```markdown
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-factory](../modules/types_app_factory.md) / AppFactoryParams
2 |
3 | # Interface: AppFactoryParams
4 |
5 | [types/app-factory](../modules/types_app_factory.md).AppFactoryParams
6 |
7 | Parameters to create an app client
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [algorand](types_app_factory.AppFactoryParams.md#algorand)
14 | - [appName](types_app_factory.AppFactoryParams.md#appname)
15 | - [appSpec](types_app_factory.AppFactoryParams.md#appspec)
16 | - [defaultSender](types_app_factory.AppFactoryParams.md#defaultsender)
17 | - [defaultSigner](types_app_factory.AppFactoryParams.md#defaultsigner)
18 | - [deletable](types_app_factory.AppFactoryParams.md#deletable)
19 | - [deployTimeParams](types_app_factory.AppFactoryParams.md#deploytimeparams)
20 | - [updatable](types_app_factory.AppFactoryParams.md#updatable)
21 | - [version](types_app_factory.AppFactoryParams.md#version)
22 |
23 | ## Properties
24 |
25 | ### algorand
26 |
27 | • **algorand**: [`AlgorandClientInterface`](types_algorand_client_interface.AlgorandClientInterface.md)
28 |
29 | `AlgorandClient` instance
30 |
31 | #### Defined in
32 |
33 | [src/types/app-factory.ts:56](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L56)
34 |
35 | ___
36 |
37 | ### appName
38 |
39 | • `Optional` **appName**: `string`
40 |
41 | Optional override for the app name; used for on-chain metadata and lookups.
42 | Defaults to the ARC-32/ARC-56 app spec name.
43 |
44 | #### Defined in
45 |
46 | [src/types/app-factory.ts:62](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L62)
47 |
48 | ___
49 |
50 | ### appSpec
51 |
52 | • **appSpec**: `string` \| [`Arc56Contract`](types_app_arc56.Arc56Contract.md) \| [`AppSpec`](types_app_spec.AppSpec.md)
53 |
54 | The ARC-56 or ARC-32 application spec as either:
55 | * Parsed JSON ARC-56 `Contract`
56 | * Parsed JSON ARC-32 `AppSpec`
57 | * Raw JSON string (in either ARC-56 or ARC-32 format)
58 |
59 | #### Defined in
60 |
61 | [src/types/app-factory.ts:53](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L53)
62 |
63 | ___
64 |
65 | ### defaultSender
66 |
67 | • `Optional` **defaultSender**: `string` \| `Address`
68 |
69 | Optional address to use for the account to use as the default sender for calls.
70 |
71 | #### Defined in
72 |
73 | [src/types/app-factory.ts:65](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L65)
74 |
75 | ___
76 |
77 | ### defaultSigner
78 |
79 | • `Optional` **defaultSigner**: `TransactionSigner`
80 |
81 | Optional signer to use as the default signer for default sender calls (if not specified then the signer will be resolved from `AlgorandClient`).
82 |
83 | #### Defined in
84 |
85 | [src/types/app-factory.ts:68](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L68)
86 |
87 | ___
88 |
89 | ### deletable
90 |
91 | • `Optional` **deletable**: `boolean`
92 |
93 | Whether or not the contract should have deploy-time permanence control set, undefined = ignore.
94 | If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.
95 |
96 | Useful if you want to vend multiple contracts from the same factory without specifying this value
97 | for each call.
98 |
99 | #### Defined in
100 |
101 | [src/types/app-factory.ts:89](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L89)
102 |
103 | ___
104 |
105 | ### deployTimeParams
106 |
107 | • `Optional` **deployTimeParams**: [`TealTemplateParams`](types_app.TealTemplateParams.md)
108 |
109 | Optional deploy-time TEAL template replacement parameters.
110 | If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.
111 |
112 | Useful if you want to vend multiple contracts from the same factory without specifying this value
113 | for each call.
114 |
115 | #### Defined in
116 |
117 | [src/types/app-factory.ts:98](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L98)
118 |
119 | ___
120 |
121 | ### updatable
122 |
123 | • `Optional` **updatable**: `boolean`
124 |
125 | Whether or not the contract should have deploy-time immutability control set, undefined = ignore.
126 | If specified here will get used in calls to `deploy` and `create` calls unless overridden in those calls.
127 |
128 | Useful if you want to vend multiple contracts from the same factory without specifying this value
129 | for each call.
130 |
131 | #### Defined in
132 |
133 | [src/types/app-factory.ts:80](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L80)
134 |
135 | ___
136 |
137 | ### version
138 |
139 | • `Optional` **version**: `string`
140 |
141 | The version of app that is / will be deployed; defaults to 1.0
142 |
143 | #### Defined in
144 |
145 | [src/types/app-factory.ts:71](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-factory.ts#L71)
146 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.ApplicationParams.md:
--------------------------------------------------------------------------------
```markdown
1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / ApplicationParams
2 |
3 | # Class: ApplicationParams
4 |
5 | [modelsv2](../modules/modelsv2.md).ApplicationParams
6 |
7 | Stores the global information associated with an application.
8 |
9 | ## Hierarchy
10 |
11 | - `default`
12 |
13 | ↳ **`ApplicationParams`**
14 |
15 | ## Table of contents
16 |
17 | ### Constructors
18 |
19 | - [constructor](modelsv2.ApplicationParams.md#constructor)
20 |
21 | ### Properties
22 |
23 | - [approvalProgram](modelsv2.ApplicationParams.md#approvalprogram)
24 | - [attribute\_map](modelsv2.ApplicationParams.md#attribute_map)
25 | - [clearStateProgram](modelsv2.ApplicationParams.md#clearstateprogram)
26 | - [creator](modelsv2.ApplicationParams.md#creator)
27 | - [extraProgramPages](modelsv2.ApplicationParams.md#extraprogrampages)
28 | - [globalState](modelsv2.ApplicationParams.md#globalstate)
29 | - [globalStateSchema](modelsv2.ApplicationParams.md#globalstateschema)
30 | - [localStateSchema](modelsv2.ApplicationParams.md#localstateschema)
31 |
32 | ### Methods
33 |
34 | - [get\_obj\_for\_encoding](modelsv2.ApplicationParams.md#get_obj_for_encoding)
35 | - [from\_obj\_for\_encoding](modelsv2.ApplicationParams.md#from_obj_for_encoding)
36 |
37 | ## Constructors
38 |
39 | ### constructor
40 |
41 | • **new ApplicationParams**(`«destructured»`)
42 |
43 | Creates a new `ApplicationParams` object.
44 |
45 | #### Parameters
46 |
47 | | Name | Type |
48 | | :------ | :------ |
49 | | `«destructured»` | `Object` |
50 | | › `approvalProgram` | `string` \| `Uint8Array` |
51 | | › `clearStateProgram` | `string` \| `Uint8Array` |
52 | | › `creator` | `string` |
53 | | › `extraProgramPages?` | `number` \| `bigint` |
54 | | › `globalState?` | [`TealKeyValue`](modelsv2.TealKeyValue.md)[] |
55 | | › `globalStateSchema?` | [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md) |
56 | | › `localStateSchema?` | [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md) |
57 |
58 | #### Overrides
59 |
60 | BaseModel.constructor
61 |
62 | #### Defined in
63 |
64 | client/v2/algod/models/types.ts:1313
65 |
66 | ## Properties
67 |
68 | ### approvalProgram
69 |
70 | • **approvalProgram**: `Uint8Array`
71 |
72 | (approv) approval program.
73 |
74 | #### Defined in
75 |
76 | client/v2/algod/models/types.ts:1269
77 |
78 | ___
79 |
80 | ### attribute\_map
81 |
82 | • **attribute\_map**: `Record`\<`string`, `string`\>
83 |
84 | #### Inherited from
85 |
86 | BaseModel.attribute\_map
87 |
88 | #### Defined in
89 |
90 | client/v2/basemodel.ts:56
91 |
92 | ___
93 |
94 | ### clearStateProgram
95 |
96 | • **clearStateProgram**: `Uint8Array`
97 |
98 | (clearp) approval program.
99 |
100 | #### Defined in
101 |
102 | client/v2/algod/models/types.ts:1274
103 |
104 | ___
105 |
106 | ### creator
107 |
108 | • **creator**: `string`
109 |
110 | The address that created this application. This is the address where the
111 | parameters and global state for this application can be found.
112 |
113 | #### Defined in
114 |
115 | client/v2/algod/models/types.ts:1280
116 |
117 | ___
118 |
119 | ### extraProgramPages
120 |
121 | • `Optional` **extraProgramPages**: `number` \| `bigint`
122 |
123 | (epp) the amount of extra program pages available to this app.
124 |
125 | #### Defined in
126 |
127 | client/v2/algod/models/types.ts:1285
128 |
129 | ___
130 |
131 | ### globalState
132 |
133 | • `Optional` **globalState**: [`TealKeyValue`](modelsv2.TealKeyValue.md)[]
134 |
135 | (gs) global state
136 |
137 | #### Defined in
138 |
139 | client/v2/algod/models/types.ts:1290
140 |
141 | ___
142 |
143 | ### globalStateSchema
144 |
145 | • `Optional` **globalStateSchema**: [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md)
146 |
147 | (gsch) global schema
148 |
149 | #### Defined in
150 |
151 | client/v2/algod/models/types.ts:1295
152 |
153 | ___
154 |
155 | ### localStateSchema
156 |
157 | • `Optional` **localStateSchema**: [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md)
158 |
159 | (lsch) local schema
160 |
161 | #### Defined in
162 |
163 | client/v2/algod/models/types.ts:1300
164 |
165 | ## Methods
166 |
167 | ### get\_obj\_for\_encoding
168 |
169 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
170 |
171 | Get an object ready for encoding to either JSON or msgpack.
172 |
173 | #### Parameters
174 |
175 | | Name | Type | Default value | Description |
176 | | :------ | :------ | :------ | :------ |
177 | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. |
178 |
179 | #### Returns
180 |
181 | `Record`\<`string`, `any`\>
182 |
183 | #### Inherited from
184 |
185 | BaseModel.get\_obj\_for\_encoding
186 |
187 | #### Defined in
188 |
189 | client/v2/basemodel.ts:65
190 |
191 | ___
192 |
193 | ### from\_obj\_for\_encoding
194 |
195 | ▸ `Static` **from_obj_for_encoding**(`data`): [`ApplicationParams`](modelsv2.ApplicationParams.md)
196 |
197 | #### Parameters
198 |
199 | | Name | Type |
200 | | :------ | :------ |
201 | | `data` | `Record`\<`string`, `any`\> |
202 |
203 | #### Returns
204 |
205 | [`ApplicationParams`](modelsv2.ApplicationParams.md)
206 |
207 | #### Defined in
208 |
209 | client/v2/algod/models/types.ts:1357
210 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md:
--------------------------------------------------------------------------------
```markdown
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-arc56](../modules/types_app_arc56.md) / Method
2 |
3 | # Interface: Method
4 |
5 | [types/app-arc56](../modules/types_app_arc56.md).Method
6 |
7 | Describes a method in the contract. This interface is an extension of the interface described in ARC-4
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [actions](types_app_arc56.Method.md#actions)
14 | - [args](types_app_arc56.Method.md#args)
15 | - [desc](types_app_arc56.Method.md#desc)
16 | - [events](types_app_arc56.Method.md#events)
17 | - [name](types_app_arc56.Method.md#name)
18 | - [readonly](types_app_arc56.Method.md#readonly)
19 | - [recommendations](types_app_arc56.Method.md#recommendations)
20 | - [returns](types_app_arc56.Method.md#returns)
21 |
22 | ## Properties
23 |
24 | ### actions
25 |
26 | • **actions**: `Object`
27 |
28 | an action is a combination of call/create and an OnComplete
29 |
30 | #### Type declaration
31 |
32 | | Name | Type | Description |
33 | | :------ | :------ | :------ |
34 | | `call` | (``"NoOp"`` \| ``"OptIn"`` \| ``"DeleteApplication"`` \| ``"CloseOut"`` \| ``"ClearState"`` \| ``"UpdateApplication"``)[] | OnCompletes this method allows when appID !== 0 |
35 | | `create` | (``"NoOp"`` \| ``"OptIn"`` \| ``"DeleteApplication"``)[] | OnCompletes this method allows when appID === 0 |
36 |
37 | #### Defined in
38 |
39 | [src/types/app-arc56.ts:382](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L382)
40 |
41 | ___
42 |
43 | ### args
44 |
45 | • **args**: \{ `defaultValue?`: \{ `data`: `string` ; `source`: ``"method"`` \| ``"box"`` \| ``"global"`` \| ``"local"`` \| ``"literal"`` ; `type?`: `string` } ; `desc?`: `string` ; `name?`: `string` ; `struct?`: `string` ; `type`: `string` }[]
46 |
47 | The arguments of the method, in order
48 |
49 | #### Defined in
50 |
51 | [src/types/app-arc56.ts:347](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L347)
52 |
53 | ___
54 |
55 | ### desc
56 |
57 | • `Optional` **desc**: `string`
58 |
59 | Optional, user-friendly description for the method
60 |
61 | #### Defined in
62 |
63 | [src/types/app-arc56.ts:345](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L345)
64 |
65 | ___
66 |
67 | ### events
68 |
69 | • `Optional` **events**: [`Event`](types_app_arc56.Event.md)[]
70 |
71 | ARC-28 events that MAY be emitted by this method
72 |
73 | #### Defined in
74 |
75 | [src/types/app-arc56.ts:391](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L391)
76 |
77 | ___
78 |
79 | ### name
80 |
81 | • **name**: `string`
82 |
83 | The name of the method
84 |
85 | #### Defined in
86 |
87 | [src/types/app-arc56.ts:343](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L343)
88 |
89 | ___
90 |
91 | ### readonly
92 |
93 | • `Optional` **readonly**: `boolean`
94 |
95 | If this method does not write anything to the ledger (ARC-22)
96 |
97 | #### Defined in
98 |
99 | [src/types/app-arc56.ts:389](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L389)
100 |
101 | ___
102 |
103 | ### recommendations
104 |
105 | • `Optional` **recommendations**: `Object`
106 |
107 | Information that clients can use when calling the method
108 |
109 | #### Type declaration
110 |
111 | | Name | Type | Description |
112 | | :------ | :------ | :------ |
113 | | `accounts?` | `string`[] | Recommended foreign accounts |
114 | | `apps?` | `number`[] | Recommended foreign apps |
115 | | `assets?` | `number`[] | Recommended foreign assets |
116 | | `boxes?` | \{ `app?`: `number` ; `key`: `string` ; `readBytes`: `number` ; `writeBytes`: `number` } | Recommended box references to include |
117 | | `boxes.app?` | `number` | The app ID for the box |
118 | | `boxes.key` | `string` | The base64 encoded box key |
119 | | `boxes.readBytes` | `number` | The number of bytes being read from the box |
120 | | `boxes.writeBytes` | `number` | The number of bytes being written to the box |
121 | | `innerTransactionCount?` | `number` | The number of inner transactions the caller should cover the fees for |
122 |
123 | #### Defined in
124 |
125 | [src/types/app-arc56.ts:393](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L393)
126 |
127 | ___
128 |
129 | ### returns
130 |
131 | • **returns**: `Object`
132 |
133 | Information about the method's return value
134 |
135 | #### Type declaration
136 |
137 | | Name | Type | Description |
138 | | :------ | :------ | :------ |
139 | | `desc?` | `string` | Optional, user-friendly description for the return value |
140 | | `struct?` | `string` | If the type is a struct, the name of the struct |
141 | | `type` | `string` | The type of the return value, or "void" to indicate no return value. The `struct` field should also be checked to determine if this return value is a struct. |
142 |
143 | #### Defined in
144 |
145 | [src/types/app-arc56.ts:373](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L373)
146 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:stubs:README.md:
--------------------------------------------------------------------------------
```markdown
1 | # Algorand Python framework - API for writing Algorand Python smart contracts
2 |
3 | ## Installation
4 |
5 | The minimum supported Python version for writing Algorand Python smart contracts is 3.12.
6 |
7 | You can install the Algorand Python framework from PyPI into your project virtualenv:
8 | ```shell
9 | pip install algorand-python
10 | ```
11 | If you're using poetry for dependency and virutalenv management, you can add it that way with
12 | `poetry add algorand-python`.
13 |
14 | Once you have installed the Algorand Python framework, you can access the type definitions from the `algopy` module, e.g.
15 | ```python
16 | from algopy import Contract
17 | ```
18 |
19 | For more details on using this API and the puyapy compiler see https://algorandfoundation.github.io/puya/
20 |
21 | ## Versioning
22 |
23 | The Algorand Python API follows [semver](https://semver.org/) principles, however since the compiler is very closely
24 | coupled with the stubs definition, it's worth noting the interplay.
25 |
26 | ### Major
27 | An increase in the major version should only occur if existing contracts would fail to type-check
28 | after the update.
29 |
30 | Some examples of situations that might cause this:
31 | - Breaking changes to the signature of an existing function, such as a new parameter being added
32 | to an existing
33 | method and no default value is provided.
34 | - Something has been renamed, or moved such that the import path has changed (excluding moving
35 | between private modules, indicated with a leading underscore).
36 | - Something has been removed.
37 |
38 | The first two examples would necessitate changes in the compiler itself as well, which should
39 | also be considered breaking changes, thus there would be a coinciding new major version of the
40 | compiler.
41 |
42 | The third example may not necessitate a change to the compiler, although it probably would be
43 | likely there is one to remove the supporting code, but either way, since it will also change
44 | the behaviour in terms of what version range of the stubs is supported, should also result in a
45 | new major version of the compiler.
46 |
47 | However, vice versa is not necessarily true: a new major version of the compiler may not require
48 | a new major version of the stubs. For example:
49 | - Any breaking change to the compiler that has no changes in the stubs.
50 | - The default value of a parameter has changed. This changes the meaning of existing code that
51 | does not supply a default, thus requiring a major version bump of the compiler, but no
52 | existing contracts will fail to compile.
53 |
54 | ### Minor
55 | When new functionality is added, the minor version should be bumped.
56 |
57 | Example situations:
58 | - A new high level API has been added.
59 | - A new parameter has been added to an existing method but a default value has been provided.
60 | - A new TEAL/AVM version has been released with new low-level op-codes that should be exposed.
61 |
62 | In each of these cases, there should be zero impact on whether existing contracts will compile
63 | or not. They all would also require a new compiler version to be released. Although the existing
64 | compiler version could continue to work with new stubs version, provided none of the new
65 | functionality is used, for simplicity the compiler should be updated to require the new stubs
66 | version as a minimum.
67 |
68 | ### Patch
69 | When a bug in the stubs themselves is fixed, or a non-functional change is made (such as
70 | changes to docstrings / documentation), the patch version should be bumped.
71 |
72 | Examples:
73 | - Docstrings added/removed/updated.
74 | - Type parameters that were incorrectly specified are fixed
75 | ([concrete example](https://github.com/algorandfoundation/puya/issues/191)).
76 | - Adding something that was unintentionally omitted from the stubs, but is otherwise supported by
77 | the current compiler.
78 | Generally in these cases, the code would compile if a `# type: ignore[<error-code>]` was added
79 | ([concrete example](https://github.com/algorandfoundation/puya/issues/200)).
80 |
81 | In each of these cases, the new stubs should functional correctly when paired with the current
82 | release of the compiler.
83 |
84 | The second example is a slight break from semver principles, since this is not backwards
85 | compatible, as existing contracts may fail to compile. However, those contracts should not have
86 | compiled in the first place. The minimum version of stubs supported by the compiler should be
87 | increased to this new patch release, however this will only take effect on the next release of the
88 | compiler itself. The current compiler release would detect the new stubs version as supported
89 | though, and so users can update to that new version of the stubs once it is released.
90 |
```
--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md:
--------------------------------------------------------------------------------
```markdown
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / AlgorandTestAutomationContext
2 |
3 | # Interface: AlgorandTestAutomationContext
4 |
5 | [types/testing](../modules/types_testing.md).AlgorandTestAutomationContext
6 |
7 | Test automation context.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [algod](types_testing.AlgorandTestAutomationContext.md#algod)
14 | - [algorand](types_testing.AlgorandTestAutomationContext.md#algorand)
15 | - [generateAccount](types_testing.AlgorandTestAutomationContext.md#generateaccount)
16 | - [indexer](types_testing.AlgorandTestAutomationContext.md#indexer)
17 | - [kmd](types_testing.AlgorandTestAutomationContext.md#kmd)
18 | - [testAccount](types_testing.AlgorandTestAutomationContext.md#testaccount)
19 | - [transactionLogger](types_testing.AlgorandTestAutomationContext.md#transactionlogger)
20 | - [waitForIndexer](types_testing.AlgorandTestAutomationContext.md#waitforindexer)
21 | - [waitForIndexerTransaction](types_testing.AlgorandTestAutomationContext.md#waitforindexertransaction)
22 |
23 | ## Properties
24 |
25 | ### algod
26 |
27 | • **algod**: `AlgodClient`
28 |
29 | Algod client instance that will log transactions in `transactionLogger`
30 |
31 | #### Defined in
32 |
33 | [src/types/testing.ts:22](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L22)
34 |
35 | ___
36 |
37 | ### algorand
38 |
39 | • **algorand**: [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md)
40 |
41 | An AlgorandClient instance loaded with the current context, including testAccount and any generated accounts loaded as signers
42 |
43 | #### Defined in
44 |
45 | [src/types/testing.ts:20](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L20)
46 |
47 | ___
48 |
49 | ### generateAccount
50 |
51 | • **generateAccount**: (`params`: [`GetTestAccountParams`](types_testing.GetTestAccountParams.md)) => `Promise`\<`Address` & `default` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md)\>
52 |
53 | Generate and fund an additional ephemerally created account
54 |
55 | #### Type declaration
56 |
57 | ▸ (`params`): `Promise`\<`Address` & `default` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md)\>
58 |
59 | ##### Parameters
60 |
61 | | Name | Type |
62 | | :------ | :------ |
63 | | `params` | [`GetTestAccountParams`](types_testing.GetTestAccountParams.md) |
64 |
65 | ##### Returns
66 |
67 | `Promise`\<`Address` & `default` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md)\>
68 |
69 | #### Defined in
70 |
71 | [src/types/testing.ts:32](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L32)
72 |
73 | ___
74 |
75 | ### indexer
76 |
77 | • **indexer**: `IndexerClient`
78 |
79 | Indexer client instance
80 |
81 | #### Defined in
82 |
83 | [src/types/testing.ts:24](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L24)
84 |
85 | ___
86 |
87 | ### kmd
88 |
89 | • **kmd**: `KmdClient`
90 |
91 | KMD client instance
92 |
93 | #### Defined in
94 |
95 | [src/types/testing.ts:26](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L26)
96 |
97 | ___
98 |
99 | ### testAccount
100 |
101 | • **testAccount**: `Address` & [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md) & `default`
102 |
103 | Default, funded test account that is ephemerally created
104 |
105 | #### Defined in
106 |
107 | [src/types/testing.ts:30](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L30)
108 |
109 | ___
110 |
111 | ### transactionLogger
112 |
113 | • **transactionLogger**: [`TransactionLogger`](../classes/testing.TransactionLogger.md)
114 |
115 | Transaction logger that will log transaction IDs for all transactions issued by `algod`
116 |
117 | #### Defined in
118 |
119 | [src/types/testing.ts:28](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L28)
120 |
121 | ___
122 |
123 | ### waitForIndexer
124 |
125 | • **waitForIndexer**: () => `Promise`\<`void`\>
126 |
127 | Wait for the indexer to catch up with all transactions logged by `transactionLogger`
128 |
129 | #### Type declaration
130 |
131 | ▸ (): `Promise`\<`void`\>
132 |
133 | ##### Returns
134 |
135 | `Promise`\<`void`\>
136 |
137 | #### Defined in
138 |
139 | [src/types/testing.ts:34](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L34)
140 |
141 | ___
142 |
143 | ### waitForIndexerTransaction
144 |
145 | • **waitForIndexerTransaction**: (`transactionId`: `string`) => `Promise`\<`TransactionResponse`\>
146 |
147 | Wait for the indexer to catch up with the given transaction ID
148 |
149 | #### Type declaration
150 |
151 | ▸ (`transactionId`): `Promise`\<`TransactionResponse`\>
152 |
153 | ##### Parameters
154 |
155 | | Name | Type |
156 | | :------ | :------ |
157 | | `transactionId` | `string` |
158 |
159 | ##### Returns
160 |
161 | `Promise`\<`TransactionResponse`\>
162 |
163 | #### Defined in
164 |
165 | [src/types/testing.ts:36](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L36)
166 |
```