This is page 75 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/algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md: -------------------------------------------------------------------------------- ```markdown 1 | # [`algokit_utils`](#module-algokit_utils) 2 | 3 | ## Data 4 | 5 | ### algokit_utils.AppSpecStateDict *: [TypeAlias](https://docs.python.org/3/library/typing.html#typing.TypeAlias)* 6 | 7 | None 8 | 9 | Type defining Application Specification state entries 10 | 11 | ### algokit_utils.DELETABLE_TEMPLATE_NAME 12 | 13 | None 14 | 15 | Template variable name used to control if a smart contract is deletable or not at deployment 16 | 17 | ### algokit_utils.DefaultArgumentType *: [TypeAlias](https://docs.python.org/3/library/typing.html#typing.TypeAlias)* 18 | 19 | None 20 | 21 | Literal values describing the types of default argument sources 22 | 23 | ### algokit_utils.MethodConfigDict *: [TypeAlias](https://docs.python.org/3/library/typing.html#typing.TypeAlias)* 24 | 25 | None 26 | 27 | Dictionary of `dict[OnCompletionActionName, CallConfig]` representing allowed actions for each on completion type 28 | 29 | ### algokit_utils.NOTE_PREFIX 30 | 31 | ‘ALGOKIT_DEPLOYER:j’ 32 | 33 | ARC-0002 compliant note prefix for algokit_utils deployed applications 34 | 35 | ### algokit_utils.OnCompleteActionName *: [TypeAlias](https://docs.python.org/3/library/typing.html#typing.TypeAlias)* 36 | 37 | None 38 | 39 | String literals representing on completion transaction types 40 | 41 | ### algokit_utils.TemplateValueDict *: [TypeAlias](https://docs.python.org/3/library/typing.html#typing.TypeAlias)* 42 | 43 | None 44 | 45 | Dictionary of `dict[str, int | str | bytes]` representing template variable names and values 46 | 47 | ### algokit_utils.TemplateValueMapping *: [TypeAlias](https://docs.python.org/3/library/typing.html#typing.TypeAlias)* 48 | 49 | None 50 | 51 | Mapping of `str` to `int | str | bytes` representing template variable names and values 52 | 53 | ### algokit_utils.UPDATABLE_TEMPLATE_NAME 54 | 55 | None 56 | 57 | Template variable name used to control if a smart contract is updatable or not at deployment 58 | 59 | ## Classes 60 | 61 | ### *class* algokit_utils.ABICallArgs 62 | 63 | Bases: [`algokit_utils.deploy.DeployCallArgs`](#algokit_utils.DeployCallArgs), `algokit_utils.deploy.ABICall` 64 | 65 | ABI Parameters used to update or delete an application when calling 66 | [`deploy()`](#algokit_utils.ApplicationClient.deploy) 67 | 68 | ### *class* algokit_utils.ABICallArgsDict 69 | 70 | Bases: [`algokit_utils.deploy.DeployCallArgsDict`](#algokit_utils.DeployCallArgsDict), [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict) 71 | 72 | ABI Parameters used to update or delete an application when calling 73 | [`deploy()`](#algokit_utils.ApplicationClient.deploy) 74 | 75 | ### Initialization 76 | 77 | Initialize self. See help(type(self)) for accurate signature. 78 | 79 | ### *class* algokit_utils.ABICreateCallArgs 80 | 81 | Bases: [`algokit_utils.deploy.DeployCreateCallArgs`](#algokit_utils.DeployCreateCallArgs), `algokit_utils.deploy.ABICall` 82 | 83 | ABI Parameters used to create an application when calling [`deploy()`](#algokit_utils.ApplicationClient.deploy) 84 | 85 | ### *class* algokit_utils.ABICreateCallArgsDict 86 | 87 | Bases: [`algokit_utils.deploy.DeployCreateCallArgsDict`](#algokit_utils.DeployCreateCallArgsDict), [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict) 88 | 89 | ABI Parameters used to create an application when calling [`deploy()`](#algokit_utils.ApplicationClient.deploy) 90 | 91 | ### Initialization 92 | 93 | Initialize self. See help(type(self)) for accurate signature. 94 | 95 | ### *class* algokit_utils.ABITransactionResponse 96 | 97 | Bases: [`algokit_utils.models.TransactionResponse`](#algokit_utils.TransactionResponse), [`typing.Generic`](https://docs.python.org/3/library/typing.html#typing.Generic)[`algokit_utils.models.ReturnType`] 98 | 99 | Response for an ABI call 100 | 101 | #### decode_error *: [Exception](https://docs.python.org/3/library/exceptions.html#Exception) | [None](https://docs.python.org/3/library/constants.html#None)* 102 | 103 | None 104 | 105 | Details of error that occurred when attempting to decode raw_value 106 | 107 | #### method *: algosdk.abi.Method* 108 | 109 | None 110 | 111 | ABI method used to make call 112 | 113 | #### raw_value *: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes)* 114 | 115 | None 116 | 117 | The raw response before ABI decoding 118 | 119 | #### return_value *: algokit_utils.models.ReturnType* 120 | 121 | None 122 | 123 | Decoded ABI result 124 | 125 | #### tx_info *: [dict](https://docs.python.org/3/library/stdtypes.html#dict)* 126 | 127 | None 128 | 129 | Details of transaction 130 | 131 | ### *class* algokit_utils.Account 132 | 133 | Holds the private_key and address for an account 134 | 135 | #### address *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 136 | 137 | ‘field(…)’ 138 | 139 | Address for this account 140 | 141 | #### private_key *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 142 | 143 | None 144 | 145 | Base64 encoded private key 146 | 147 | #### *property* public_key *: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes)* 148 | 149 | The public key for this account 150 | 151 | #### *property* signer *: [algosdk.atomic_transaction_composer.AccountTransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AccountTransactionSigner)* 152 | 153 | An AccountTransactionSigner for this account 154 | 155 | ### *class* algokit_utils.AlgoClientConfig 156 | 157 | Connection details for connecting to an [`algosdk.v2client.algod.AlgodClient`](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient) or 158 | [`algosdk.v2client.indexer.IndexerClient`](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/indexer.html#algosdk.v2client.indexer.IndexerClient) 159 | 160 | #### server *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 161 | 162 | None 163 | 164 | URL for the service e.g. `http://localhost:4001` or `https://testnet-api.algonode.cloud` 165 | 166 | #### token *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 167 | 168 | None 169 | 170 | API Token to authenticate with the service 171 | 172 | ### *class* algokit_utils.AppDeployMetaData 173 | 174 | Metadata about an application stored in a transaction note during creation. 175 | 176 | The note is serialized as JSON and prefixed with [`NOTE_PREFIX`](#algokit_utils.NOTE_PREFIX) and stored in the transaction note field 177 | as part of [`ApplicationClient.deploy()`](#algokit_utils.ApplicationClient.deploy) 178 | 179 | ### *class* algokit_utils.AppLookup 180 | 181 | Cache of [`AppMetaData`](#algokit_utils.AppMetaData) for a specific `creator` 182 | 183 | Can be used as an argument to [`ApplicationClient`](#algokit_utils.ApplicationClient) to reduce the number of calls when deploying multiple 184 | apps or discovering multiple app_ids 185 | 186 | ### *class* algokit_utils.AppMetaData 187 | 188 | Bases: [`algokit_utils.deploy.AppReference`](#algokit_utils.AppReference), [`algokit_utils.deploy.AppDeployMetaData`](#algokit_utils.AppDeployMetaData) 189 | 190 | Metadata about a deployed app 191 | 192 | ### *class* algokit_utils.AppReference 193 | 194 | Information about an Algorand app 195 | 196 | ### *class* algokit_utils.ApplicationClient(algod_client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), app_spec: [algokit_utils.application_specification.ApplicationSpecification](#algokit_utils.ApplicationSpecification) | [pathlib.Path](https://docs.python.org/3/library/pathlib.html#pathlib.Path), \*, app_id: [int](https://docs.python.org/3/library/functions.html#int) = 0, creator: [str](https://docs.python.org/3/library/stdtypes.html#str) | [algokit_utils.models.Account](#algokit_utils.Account) | [None](https://docs.python.org/3/library/constants.html#None) = None, indexer_client: IndexerClient | [None](https://docs.python.org/3/library/constants.html#None) = None, existing_deployments: [algokit_utils.deploy.AppLookup](#algokit_utils.AppLookup) | [None](https://docs.python.org/3/library/constants.html#None) = None, signer: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [algokit_utils.models.Account](#algokit_utils.Account) | [None](https://docs.python.org/3/library/constants.html#None) = None, sender: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None, suggested_params: [algosdk.transaction.SuggestedParams](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.SuggestedParams) | [None](https://docs.python.org/3/library/constants.html#None) = None, template_values: [algokit_utils.deploy.TemplateValueMapping](#algokit_utils.TemplateValueMapping) | [None](https://docs.python.org/3/library/constants.html#None) = None, app_name: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None) 197 | 198 | A class that wraps an ARC-0032 app spec and provides high productivity methods to deploy and call the app 199 | 200 | ### Initialization 201 | 202 | ApplicationClient can be created with an app_id to interact with an existing application, alternatively 203 | it can be created with a creator and indexer_client specified to find existing applications by name and creator. 204 | 205 | * **Parameters:** 206 | * **algod_client** (*AlgodClient*) – AlgoSDK algod client 207 | * **app_spec** ([*ApplicationSpecification*](#algokit_utils.ApplicationSpecification) *|* *Path*) – An Application Specification or the path to one 208 | * **app_id** ([*int*](https://docs.python.org/3/library/functions.html#int)) – The app_id of an existing application, to instead find the application by creator and name 209 | use the creator and indexer_client parameters 210 | * **creator** ([*str*](https://docs.python.org/3/library/stdtypes.html#str) *|* [*Account*](#algokit_utils.Account)) – The address or Account of the app creator to resolve the app_id 211 | * **indexer_client** (*IndexerClient*) – AlgoSDK indexer client, only required if deploying or finding app_id by 212 | creator and app name 213 | * **existing_deployments** ([*AppLookup*](#algokit_utils.AppLookup)) – 214 | * **signer** (*TransactionSigner* *|* [*Account*](#algokit_utils.Account)) – Account or signer to use to sign transactions, if not specified and 215 | creator was passed as an Account will use that. 216 | * **sender** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – Address to use as the sender for all transactions, will use the address associated with the 217 | signer if not specified. 218 | * **template_values** ([*TemplateValueMapping*](#algokit_utils.TemplateValueMapping)) – Values to use for TMPL_\* template variables, dictionary keys should 219 | *NOT* include the TMPL_ prefix 220 | * **app_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str) *|* [*None*](https://docs.python.org/3/library/constants.html#None)) – Name of application to use when deploying, defaults to name defined on the 221 | Application Specification 222 | 223 | #### add_method_call(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*, abi_args: algokit_utils.models.ABIArgsDict | [None](https://docs.python.org/3/library/constants.html#None) = None, app_id: [int](https://docs.python.org/3/library/functions.html#int) | [None](https://docs.python.org/3/library/constants.html#None) = None, parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, on_complete: [algosdk.transaction.OnComplete](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.OnComplete) = transaction.OnComplete.NoOpOC, local_schema: [algosdk.transaction.StateSchema](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.StateSchema) | [None](https://docs.python.org/3/library/constants.html#None) = None, global_schema: [algosdk.transaction.StateSchema](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.StateSchema) | [None](https://docs.python.org/3/library/constants.html#None) = None, approval_program: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [None](https://docs.python.org/3/library/constants.html#None) = None, clear_program: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [None](https://docs.python.org/3/library/constants.html#None) = None, extra_pages: [int](https://docs.python.org/3/library/functions.html#int) | [None](https://docs.python.org/3/library/constants.html#None) = None, app_args: [list](https://docs.python.org/3/library/stdtypes.html#list)[[bytes](https://docs.python.org/3/library/stdtypes.html#bytes)] | [None](https://docs.python.org/3/library/constants.html#None) = None, call_config: [algokit_utils.application_specification.CallConfig](#algokit_utils.CallConfig) = au_spec.CallConfig.CALL) → [None](https://docs.python.org/3/library/constants.html#None) 224 | 225 | Adds a transaction to the AtomicTransactionComposer passed 226 | 227 | #### call(call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.OnCompleteCallParameters](#algokit_utils.OnCompleteCallParameters) | [algokit_utils.models.OnCompleteCallParametersDict](#algokit_utils.OnCompleteCallParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) | [algokit_utils.models.ABITransactionResponse](#algokit_utils.ABITransactionResponse) 228 | 229 | Submits a signed transaction with specified parameters 230 | 231 | #### clear_state(transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, app_args: [list](https://docs.python.org/3/library/stdtypes.html#list)[[bytes](https://docs.python.org/3/library/stdtypes.html#bytes)] | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) 232 | 233 | Submits a signed transaction with on_complete=ClearState 234 | 235 | #### close_out(call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) | [algokit_utils.models.ABITransactionResponse](#algokit_utils.ABITransactionResponse) 236 | 237 | Submits a signed transaction with on_complete=CloseOut 238 | 239 | #### compose_call(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), /, call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.OnCompleteCallParameters](#algokit_utils.OnCompleteCallParameters) | [algokit_utils.models.OnCompleteCallParametersDict](#algokit_utils.OnCompleteCallParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [None](https://docs.python.org/3/library/constants.html#None) 240 | 241 | Adds a signed transaction with specified parameters to atc 242 | 243 | #### compose_clear_state(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), /, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, app_args: [list](https://docs.python.org/3/library/stdtypes.html#list)[[bytes](https://docs.python.org/3/library/stdtypes.html#bytes)] | [None](https://docs.python.org/3/library/constants.html#None) = None) → [None](https://docs.python.org/3/library/constants.html#None) 244 | 245 | Adds a signed transaction with on_complete=ClearState to atc 246 | 247 | #### compose_close_out(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), /, call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [None](https://docs.python.org/3/library/constants.html#None) 248 | 249 | Adds a signed transaction with on_complete=CloseOut to ac 250 | 251 | #### compose_create(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), /, call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.CreateCallParameters](#algokit_utils.CreateCallParameters) | [algokit_utils.models.CreateCallParametersDict](#algokit_utils.CreateCallParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [None](https://docs.python.org/3/library/constants.html#None) 252 | 253 | Adds a signed transaction with application id == 0 and the schema and source of client’s app_spec to atc 254 | 255 | #### compose_delete(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), /, call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [None](https://docs.python.org/3/library/constants.html#None) 256 | 257 | Adds a signed transaction with on_complete=DeleteApplication to atc 258 | 259 | #### compose_opt_in(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), /, call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [None](https://docs.python.org/3/library/constants.html#None) 260 | 261 | Adds a signed transaction with on_complete=OptIn to atc 262 | 263 | #### compose_update(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), /, call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [None](https://docs.python.org/3/library/constants.html#None) 264 | 265 | Adds a signed transaction with on_complete=UpdateApplication to atc 266 | 267 | #### create(call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.CreateCallParameters](#algokit_utils.CreateCallParameters) | [algokit_utils.models.CreateCallParametersDict](#algokit_utils.CreateCallParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) | [algokit_utils.models.ABITransactionResponse](#algokit_utils.ABITransactionResponse) 268 | 269 | Submits a signed transaction with application id == 0 and the schema and source of client’s app_spec 270 | 271 | #### delete(call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) | [algokit_utils.models.ABITransactionResponse](#algokit_utils.ABITransactionResponse) 272 | 273 | Submits a signed transaction with on_complete=DeleteApplication 274 | 275 | #### deploy(version: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*, signer: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [None](https://docs.python.org/3/library/constants.html#None) = None, sender: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None, allow_update: [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, allow_delete: [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, on_update: [algokit_utils.deploy.OnUpdate](#algokit_utils.OnUpdate) = au_deploy.OnUpdate.Fail, on_schema_break: [algokit_utils.deploy.OnSchemaBreak](#algokit_utils.OnSchemaBreak) = au_deploy.OnSchemaBreak.Fail, template_values: [algokit_utils.deploy.TemplateValueMapping](#algokit_utils.TemplateValueMapping) | [None](https://docs.python.org/3/library/constants.html#None) = None, create_args: [algokit_utils.deploy.ABICreateCallArgs](#algokit_utils.ABICreateCallArgs) | [algokit_utils.deploy.ABICreateCallArgsDict](#algokit_utils.ABICreateCallArgsDict) | [algokit_utils.deploy.DeployCreateCallArgs](#algokit_utils.DeployCreateCallArgs) | [None](https://docs.python.org/3/library/constants.html#None) = None, update_args: [algokit_utils.deploy.ABICallArgs](#algokit_utils.ABICallArgs) | [algokit_utils.deploy.ABICallArgsDict](#algokit_utils.ABICallArgsDict) | [algokit_utils.deploy.DeployCallArgs](#algokit_utils.DeployCallArgs) | [None](https://docs.python.org/3/library/constants.html#None) = None, delete_args: [algokit_utils.deploy.ABICallArgs](#algokit_utils.ABICallArgs) | [algokit_utils.deploy.ABICallArgsDict](#algokit_utils.ABICallArgsDict) | [algokit_utils.deploy.DeployCallArgs](#algokit_utils.DeployCallArgs) | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algokit_utils.deploy.DeployResponse](#algokit_utils.DeployResponse) 276 | 277 | Deploy an application and update client to reference it. 278 | 279 | Idempotently deploy (create, update/delete if changed) an app against the given name via the given creator 280 | account, including deploy-time template placeholder substitutions. 281 | To understand the architecture decisions behind this functionality please see 282 | [https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md) 283 | 284 | #### NOTE 285 | If there is a breaking state schema change to an existing app (and `on_schema_break` is set to 286 | ‘ReplaceApp’ the existing app will be deleted and re-created. 287 | 288 | #### NOTE 289 | If there is an update (different TEAL code) to an existing app (and `on_update` is set to ‘ReplaceApp’) 290 | the existing app will be deleted and re-created. 291 | 292 | * **Parameters:** 293 | * **version** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – version to use when creating or updating app, if None version will be auto incremented 294 | * **signer** ([*algosdk.atomic_transaction_composer.TransactionSigner*](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner)) – signer to use when deploying app 295 | , if None uses self.signer 296 | * **sender** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – sender address to use when deploying app, if None uses self.sender 297 | * **allow_delete** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – Used to set the `TMPL_DELETABLE` template variable to conditionally control if an app 298 | can be deleted 299 | * **allow_update** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – Used to set the `TMPL_UPDATABLE` template variable to conditionally control if an app 300 | can be updated 301 | * **on_update** ([*OnUpdate*](#algokit_utils.OnUpdate)) – Determines what action to take if an application update is required 302 | * **on_schema_break** ([*OnSchemaBreak*](#algokit_utils.OnSchemaBreak)) – Determines what action to take if an application schema requirements 303 | has increased beyond the current allocation 304 | * **template_values** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict) *[*[*str*](https://docs.python.org/3/library/stdtypes.html#str) *,* [*int*](https://docs.python.org/3/library/functions.html#int) *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str) *|*[*bytes*](https://docs.python.org/3/library/stdtypes.html#bytes) *]*) – Values to use for `TMPL_*` template variables, dictionary keys 305 | should *NOT* include the TMPL_ prefix 306 | * **create_args** ([*ABICreateCallArgs*](#algokit_utils.ABICreateCallArgs)) – Arguments used when creating an application 307 | * **update_args** ([*ABICallArgs*](#algokit_utils.ABICallArgs) *|* [*ABICallArgsDict*](#algokit_utils.ABICallArgsDict)) – Arguments used when updating an application 308 | * **delete_args** ([*ABICallArgs*](#algokit_utils.ABICallArgs) *|* [*ABICallArgsDict*](#algokit_utils.ABICallArgsDict)) – Arguments used when deleting an application 309 | * **Return DeployResponse:** 310 | details action taken and relevant transactions 311 | * **Raises:** 312 | **DeploymentError** – If the deployment failed 313 | 314 | #### export_source_map() → [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) 315 | 316 | Export approval source map to JSON, can be later re-imported with `import_source_map` 317 | 318 | #### get_global_state(\*, raw: [bool](https://docs.python.org/3/library/functions.html#bool) = False) → [dict](https://docs.python.org/3/library/stdtypes.html#dict)[[bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str), [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [int](https://docs.python.org/3/library/functions.html#int)] 319 | 320 | Gets the global state info associated with app_id 321 | 322 | #### get_local_state(account: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*, raw: [bool](https://docs.python.org/3/library/functions.html#bool) = False) → [dict](https://docs.python.org/3/library/stdtypes.html#dict)[[bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str), [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [int](https://docs.python.org/3/library/functions.html#int)] 323 | 324 | Gets the local state info for associated app_id and account/sender 325 | 326 | #### get_signer_sender(signer: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [None](https://docs.python.org/3/library/constants.html#None) = None, sender: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None) → [tuple](https://docs.python.org/3/library/stdtypes.html#tuple)[[algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [None](https://docs.python.org/3/library/constants.html#None), [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None)] 327 | 328 | Return signer and sender, using default values on client if not specified 329 | 330 | Will use provided values if given, otherwise will fall back to values defined on client. 331 | If no sender is specified then will attempt to obtain sender from signer 332 | 333 | #### import_source_map(source_map_json: [str](https://docs.python.org/3/library/stdtypes.html#str)) → [None](https://docs.python.org/3/library/constants.html#None) 334 | 335 | Import approval source from JSON exported by `export_source_map` 336 | 337 | #### opt_in(call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) | [algokit_utils.models.ABITransactionResponse](#algokit_utils.ABITransactionResponse) 338 | 339 | Submits a signed transaction with on_complete=OptIn 340 | 341 | #### prepare(signer: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [algokit_utils.models.Account](#algokit_utils.Account) | [None](https://docs.python.org/3/library/constants.html#None) = None, sender: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None, app_id: [int](https://docs.python.org/3/library/functions.html#int) | [None](https://docs.python.org/3/library/constants.html#None) = None, template_values: [algokit_utils.deploy.TemplateValueDict](#algokit_utils.TemplateValueDict) | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algokit_utils.application_client.ApplicationClient](#algokit_utils.ApplicationClient) 342 | 343 | Creates a copy of this ApplicationClient, using the new signer, sender and app_id values if provided. 344 | Will also substitute provided template_values into the associated app_spec in the copy 345 | 346 | #### resolve(to_resolve: [algokit_utils.application_specification.DefaultArgumentDict](#algokit_utils.DefaultArgumentDict)) → [int](https://docs.python.org/3/library/functions.html#int) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) 347 | 348 | Resolves the default value for an ABI method, based on app_spec 349 | 350 | #### resolve_signer_sender(signer: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [None](https://docs.python.org/3/library/constants.html#None) = None, sender: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None) → [tuple](https://docs.python.org/3/library/stdtypes.html#tuple)[[algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner), [str](https://docs.python.org/3/library/stdtypes.html#str)] 351 | 352 | Return signer and sender, using default values on client if not specified 353 | 354 | Will use provided values if given, otherwise will fall back to values defined on client. 355 | If no sender is specified then will attempt to obtain sender from signer 356 | 357 | * **Raises:** 358 | [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – Raised if a signer or sender is not provided. See `get_signer_sender` 359 | for variant with no exception 360 | 361 | #### update(call_abi_method: algokit_utils.models.ABIMethod | [bool](https://docs.python.org/3/library/functions.html#bool) | [None](https://docs.python.org/3/library/constants.html#None) = None, transaction_parameters: [algokit_utils.models.TransactionParameters](#algokit_utils.TransactionParameters) | [algokit_utils.models.TransactionParametersDict](#algokit_utils.TransactionParametersDict) | [None](https://docs.python.org/3/library/constants.html#None) = None, \*\*abi_kwargs: algokit_utils.models.ABIArgType) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) | [algokit_utils.models.ABITransactionResponse](#algokit_utils.ABITransactionResponse) 362 | 363 | Submits a signed transaction with on_complete=UpdateApplication 364 | 365 | ### *class* algokit_utils.ApplicationSpecification 366 | 367 | ARC-0032 application specification 368 | 369 | See [https://github.com/algorandfoundation/ARCs/pull/150](https://github.com/algorandfoundation/ARCs/pull/150) 370 | 371 | #### export(directory: [pathlib.Path](https://docs.python.org/3/library/pathlib.html#pathlib.Path) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None) → [None](https://docs.python.org/3/library/constants.html#None) 372 | 373 | write out the artifacts generated by the application to disk 374 | 375 | Args: 376 | directory(optional): path to the directory where the artifacts should be written 377 | 378 | ### *class* algokit_utils.CallConfig 379 | 380 | Bases: [`enum.IntFlag`](https://docs.python.org/3/library/enum.html#enum.IntFlag) 381 | 382 | Describes the type of calls a method can be used for based on [`algosdk.transaction.OnComplete`](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.OnComplete) type 383 | 384 | ### Initialization 385 | 386 | Initialize self. See help(type(self)) for accurate signature. 387 | 388 | #### ALL 389 | 390 | 3 391 | 392 | Handle the specified on completion type for both create and normal application calls 393 | 394 | #### CALL 395 | 396 | 1 397 | 398 | Only handle the specified on completion type for application calls 399 | 400 | #### CREATE 401 | 402 | 2 403 | 404 | Only handle the specified on completion type for application create calls 405 | 406 | #### NEVER 407 | 408 | 0 409 | 410 | Never handle the specified on completion type 411 | 412 | ### *class* algokit_utils.CreateCallParameters 413 | 414 | Bases: [`algokit_utils.models.OnCompleteCallParameters`](#algokit_utils.OnCompleteCallParameters) 415 | 416 | Additional parameters that can be included in a transaction when using the 417 | ApplicationClient.create/compose_create methods 418 | 419 | ### *class* algokit_utils.CreateCallParametersDict 420 | 421 | Bases: [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict), [`algokit_utils.models.OnCompleteCallParametersDict`](#algokit_utils.OnCompleteCallParametersDict) 422 | 423 | Additional parameters that can be included in a transaction when using the 424 | ApplicationClient.create/compose_create methods 425 | 426 | ### Initialization 427 | 428 | Initialize self. See help(type(self)) for accurate signature. 429 | 430 | ### *class* algokit_utils.CreateTransactionParameters 431 | 432 | Bases: [`algokit_utils.models.TransactionParameters`](#algokit_utils.TransactionParameters) 433 | 434 | Additional parameters that can be included in a transaction when calling a create method 435 | 436 | ### *class* algokit_utils.DefaultArgumentDict 437 | 438 | Bases: [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict) 439 | 440 | DefaultArgument is a container for any arguments that may 441 | be resolved prior to calling some target method 442 | 443 | ### Initialization 444 | 445 | Initialize self. See help(type(self)) for accurate signature. 446 | 447 | ### *class* algokit_utils.DeployCallArgs 448 | 449 | Parameters used to update or delete an application when calling 450 | [`deploy()`](#algokit_utils.ApplicationClient.deploy) 451 | 452 | ### *class* algokit_utils.DeployCallArgsDict 453 | 454 | Bases: [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict) 455 | 456 | Parameters used to update or delete an application when calling 457 | [`deploy()`](#algokit_utils.ApplicationClient.deploy) 458 | 459 | ### Initialization 460 | 461 | Initialize self. See help(type(self)) for accurate signature. 462 | 463 | ### *class* algokit_utils.DeployCreateCallArgs 464 | 465 | Bases: [`algokit_utils.deploy.DeployCallArgs`](#algokit_utils.DeployCallArgs) 466 | 467 | Parameters used to create an application when calling [`deploy()`](#algokit_utils.ApplicationClient.deploy) 468 | 469 | ### *class* algokit_utils.DeployCreateCallArgsDict 470 | 471 | Bases: [`algokit_utils.deploy.DeployCallArgsDict`](#algokit_utils.DeployCallArgsDict), [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict) 472 | 473 | Parameters used to create an application when calling [`deploy()`](#algokit_utils.ApplicationClient.deploy) 474 | 475 | ### Initialization 476 | 477 | Initialize self. See help(type(self)) for accurate signature. 478 | 479 | ### *class* algokit_utils.DeployResponse 480 | 481 | Describes the action taken during deployment, related transactions and the [`AppMetaData`](#algokit_utils.AppMetaData) 482 | 483 | ### *class* algokit_utils.EnsureBalanceParameters 484 | 485 | Parameters for ensuring an account has a minimum number of µALGOs 486 | 487 | #### account_to_fund *: [algokit_utils.models.Account](#algokit_utils.Account) | [algosdk.atomic_transaction_composer.AccountTransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AccountTransactionSigner) | [str](https://docs.python.org/3/library/stdtypes.html#str)* 488 | 489 | None 490 | 491 | The account address that will receive the µALGOs 492 | 493 | #### fee_micro_algos *: [int](https://docs.python.org/3/library/functions.html#int) | [None](https://docs.python.org/3/library/constants.html#None)* 494 | 495 | None 496 | 497 | (optional) The flat fee you want to pay, useful for covering extra fees in a transaction group or app call 498 | 499 | #### funding_source *: [algokit_utils.models.Account](#algokit_utils.Account) | [algosdk.atomic_transaction_composer.AccountTransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AccountTransactionSigner) | [algokit_utils.dispenser_api.TestNetDispenserApiClient](#algokit_utils.TestNetDispenserApiClient) | [None](https://docs.python.org/3/library/constants.html#None)* 500 | 501 | None 502 | 503 | The account (with private key) or signer that will send the µALGOs, 504 | will use `get_dispenser_account` by default. Alternatively you can pass an instance of [`TestNetDispenserApiClient`](https://github.com/algorandfoundation/algokit-utils-py/blob/main/docs/source/capabilities/dispenser-client.md) 505 | which will allow you to interact with [AlgoKit TestNet Dispenser API](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/dispenser.md). 506 | 507 | #### max_fee_micro_algos *: [int](https://docs.python.org/3/library/functions.html#int) | [None](https://docs.python.org/3/library/constants.html#None)* 508 | 509 | None 510 | 511 | (optional)The maximum fee that you are happy to pay (default: unbounded) - 512 | if this is set it’s possible the transaction could get rejected during network congestion 513 | 514 | #### min_funding_increment_micro_algos *: [int](https://docs.python.org/3/library/functions.html#int)* 515 | 516 | 0 517 | 518 | When issuing a funding amount, the minimum amount to transfer (avoids many small transfers if this gets 519 | called often on an active account) 520 | 521 | #### min_spending_balance_micro_algos *: [int](https://docs.python.org/3/library/functions.html#int)* 522 | 523 | None 524 | 525 | The minimum balance of ALGOs that the account should have available to spend (i.e. on top of 526 | minimum balance requirement) 527 | 528 | #### note *: [str](https://docs.python.org/3/library/stdtypes.html#str) | [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [None](https://docs.python.org/3/library/constants.html#None)* 529 | 530 | None 531 | 532 | The (optional) transaction note, default: “Funding account to meet minimum requirement 533 | 534 | #### suggested_params *: [algosdk.transaction.SuggestedParams](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.SuggestedParams) | [None](https://docs.python.org/3/library/constants.html#None)* 535 | 536 | None 537 | 538 | (optional) transaction parameters 539 | 540 | ### *class* algokit_utils.EnsureFundedResponse 541 | 542 | Response for ensuring an account has a minimum number of µALGOs 543 | 544 | #### transaction_id *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 545 | 546 | None 547 | 548 | The amount of µALGOs that were funded 549 | 550 | ### *class* algokit_utils.MethodHints 551 | 552 | MethodHints provides hints to the caller about how to call the method 553 | 554 | ### *class* algokit_utils.OnCompleteCallParameters 555 | 556 | Bases: [`algokit_utils.models.TransactionParameters`](#algokit_utils.TransactionParameters) 557 | 558 | Additional parameters that can be included in a transaction when using the 559 | ApplicationClient.call/compose_call methods 560 | 561 | ### *class* algokit_utils.OnCompleteCallParametersDict 562 | 563 | Bases: [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict), [`algokit_utils.models.TransactionParametersDict`](#algokit_utils.TransactionParametersDict) 564 | 565 | Additional parameters that can be included in a transaction when using the 566 | ApplicationClient.call/compose_call methods 567 | 568 | ### Initialization 569 | 570 | Initialize self. See help(type(self)) for accurate signature. 571 | 572 | ### *class* algokit_utils.OnSchemaBreak(\*args, \*\*kwds) 573 | 574 | Bases: [`enum.Enum`](https://docs.python.org/3/library/enum.html#enum.Enum) 575 | 576 | Action to take if an Application’s schema has breaking changes 577 | 578 | ### Initialization 579 | 580 | #### AppendApp 581 | 582 | 3 583 | 584 | Create a new Application 585 | 586 | #### Fail 587 | 588 | 0 589 | 590 | Fail the deployment 591 | 592 | #### ReplaceApp 593 | 594 | 2 595 | 596 | Create a new Application and delete the old Application in a single transaction 597 | 598 | ### *class* algokit_utils.OnUpdate(\*args, \*\*kwds) 599 | 600 | Bases: [`enum.Enum`](https://docs.python.org/3/library/enum.html#enum.Enum) 601 | 602 | Action to take if an Application has been updated 603 | 604 | ### Initialization 605 | 606 | #### AppendApp 607 | 608 | 3 609 | 610 | Create a new application 611 | 612 | #### Fail 613 | 614 | 0 615 | 616 | Fail the deployment 617 | 618 | #### ReplaceApp 619 | 620 | 2 621 | 622 | Create a new Application and delete the old Application in a single transaction 623 | 624 | #### UpdateApp 625 | 626 | 1 627 | 628 | Update the Application with the new approval and clear programs 629 | 630 | ### *class* algokit_utils.OperationPerformed(\*args, \*\*kwds) 631 | 632 | Bases: [`enum.Enum`](https://docs.python.org/3/library/enum.html#enum.Enum) 633 | 634 | Describes the actions taken during deployment 635 | 636 | ### Initialization 637 | 638 | #### Create 639 | 640 | 1 641 | 642 | No existing Application was found, created a new Application 643 | 644 | #### Nothing 645 | 646 | 0 647 | 648 | An existing Application was found 649 | 650 | #### Replace 651 | 652 | 3 653 | 654 | An existing Application was found, but was out of date, created a new Application and deleted the original 655 | 656 | #### Update 657 | 658 | 2 659 | 660 | An existing Application was found, but was out of date, updated to latest version 661 | 662 | ### *class* algokit_utils.Program(program: [str](https://docs.python.org/3/library/stdtypes.html#str), client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient)) 663 | 664 | A compiled TEAL program 665 | 666 | ### Initialization 667 | 668 | Fully compile the program source to binary and generate a 669 | source map for matching pc to line number 670 | 671 | ### *class* algokit_utils.TestNetDispenserApiClient(auth_token: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = None, request_timeout: [int](https://docs.python.org/3/library/functions.html#int) = DISPENSER_REQUEST_TIMEOUT) 672 | 673 | Client for interacting with the [AlgoKit TestNet Dispenser API](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md). 674 | To get started create a new access token via `algokit dispenser login --ci` 675 | and pass it to the client constructor as `auth_token`. 676 | Alternatively set the access token as environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`, 677 | and it will be auto loaded. If both are set, the constructor argument takes precedence. 678 | 679 | Default request timeout is 15 seconds. Modify by passing `request_timeout` to the constructor. 680 | 681 | ### Initialization 682 | 683 | #### fund(address: [str](https://docs.python.org/3/library/stdtypes.html#str), amount: [int](https://docs.python.org/3/library/functions.html#int), asset_id: [int](https://docs.python.org/3/library/functions.html#int)) → algokit_utils.dispenser_api.DispenserFundResponse 684 | 685 | Fund an account with Algos from the dispenser API 686 | 687 | #### get_limit(address: [str](https://docs.python.org/3/library/stdtypes.html#str)) → algokit_utils.dispenser_api.DispenserLimitResponse 688 | 689 | Get current limit for an account with Algos from the dispenser API 690 | 691 | #### refund(refund_txn_id: [str](https://docs.python.org/3/library/stdtypes.html#str)) → [None](https://docs.python.org/3/library/constants.html#None) 692 | 693 | Register a refund for a transaction with the dispenser API 694 | 695 | ### *class* algokit_utils.TransactionParameters 696 | 697 | Additional parameters that can be included in a transaction 698 | 699 | #### accounts *: [list](https://docs.python.org/3/library/stdtypes.html#list)[[str](https://docs.python.org/3/library/stdtypes.html#str)] | [None](https://docs.python.org/3/library/constants.html#None)* 700 | 701 | None 702 | 703 | Accounts to include in transaction 704 | 705 | #### boxes *: [collections.abc.Sequence](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence)[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple)[[int](https://docs.python.org/3/library/functions.html#int), [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [bytearray](https://docs.python.org/3/library/stdtypes.html#bytearray) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [int](https://docs.python.org/3/library/functions.html#int)]] | [None](https://docs.python.org/3/library/constants.html#None)* 706 | 707 | None 708 | 709 | Box references to include in transaction. A sequence of (app id, box key) tuples 710 | 711 | #### foreign_apps *: [list](https://docs.python.org/3/library/stdtypes.html#list)[[int](https://docs.python.org/3/library/functions.html#int)] | [None](https://docs.python.org/3/library/constants.html#None)* 712 | 713 | None 714 | 715 | List of foreign apps (by app id) to include in transaction 716 | 717 | #### foreign_assets *: [list](https://docs.python.org/3/library/stdtypes.html#list)[[int](https://docs.python.org/3/library/functions.html#int)] | [None](https://docs.python.org/3/library/constants.html#None)* 718 | 719 | None 720 | 721 | List of foreign assets (by asset id) to include in transaction 722 | 723 | #### lease *: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None)* 724 | 725 | None 726 | 727 | Lease value for this transaction 728 | 729 | #### note *: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None)* 730 | 731 | None 732 | 733 | Note for this transaction 734 | 735 | #### rekey_to *: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None)* 736 | 737 | None 738 | 739 | Address to rekey to 740 | 741 | #### sender *: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None)* 742 | 743 | None 744 | 745 | Sender of this transaction 746 | 747 | #### signer *: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [None](https://docs.python.org/3/library/constants.html#None)* 748 | 749 | None 750 | 751 | Signer to use when signing this transaction 752 | 753 | #### suggested_params *: [algosdk.transaction.SuggestedParams](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.SuggestedParams) | [None](https://docs.python.org/3/library/constants.html#None)* 754 | 755 | None 756 | 757 | SuggestedParams to use for this transaction 758 | 759 | ### *class* algokit_utils.TransactionParametersDict 760 | 761 | Bases: [`typing.TypedDict`](https://docs.python.org/3/library/typing.html#typing.TypedDict) 762 | 763 | Additional parameters that can be included in a transaction 764 | 765 | ### Initialization 766 | 767 | Initialize self. See help(type(self)) for accurate signature. 768 | 769 | #### accounts *: [list](https://docs.python.org/3/library/stdtypes.html#list)[[str](https://docs.python.org/3/library/stdtypes.html#str)]* 770 | 771 | None 772 | 773 | Accounts to include in transaction 774 | 775 | #### boxes *: [collections.abc.Sequence](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence)[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple)[[int](https://docs.python.org/3/library/functions.html#int), [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [bytearray](https://docs.python.org/3/library/stdtypes.html#bytearray) | [str](https://docs.python.org/3/library/stdtypes.html#str) | [int](https://docs.python.org/3/library/functions.html#int)]]* 776 | 777 | None 778 | 779 | Box references to include in transaction. A sequence of (app id, box key) tuples 780 | 781 | #### foreign_apps *: [list](https://docs.python.org/3/library/stdtypes.html#list)[[int](https://docs.python.org/3/library/functions.html#int)]* 782 | 783 | None 784 | 785 | List of foreign apps (by app id) to include in transaction 786 | 787 | #### foreign_assets *: [list](https://docs.python.org/3/library/stdtypes.html#list)[[int](https://docs.python.org/3/library/functions.html#int)]* 788 | 789 | None 790 | 791 | List of foreign assets (by asset id) to include in transaction 792 | 793 | #### lease *: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str)* 794 | 795 | None 796 | 797 | Lease value for this transaction 798 | 799 | #### note *: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes) | [str](https://docs.python.org/3/library/stdtypes.html#str)* 800 | 801 | None 802 | 803 | Note for this transaction 804 | 805 | #### rekey_to *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 806 | 807 | None 808 | 809 | Address to rekey to 810 | 811 | #### sender *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 812 | 813 | None 814 | 815 | Sender of this transaction 816 | 817 | #### signer *: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner)* 818 | 819 | None 820 | 821 | Signer to use when signing this transaction 822 | 823 | #### suggested_params *: [algosdk.transaction.SuggestedParams](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.SuggestedParams)* 824 | 825 | None 826 | 827 | SuggestedParams to use for this transaction 828 | 829 | ### *class* algokit_utils.TransactionResponse 830 | 831 | Response for a non ABI call 832 | 833 | #### confirmed_round *: [int](https://docs.python.org/3/library/functions.html#int) | [None](https://docs.python.org/3/library/constants.html#None)* 834 | 835 | None 836 | 837 | Round transaction was confirmed, `None` if call was a from a dry-run 838 | 839 | #### *static* from_atr(result: [algosdk.atomic_transaction_composer.AtomicTransactionResponse](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionResponse) | [algosdk.atomic_transaction_composer.SimulateAtomicTransactionResponse](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.SimulateAtomicTransactionResponse), transaction_index: [int](https://docs.python.org/3/library/functions.html#int) = -1) → [algokit_utils.models.TransactionResponse](#algokit_utils.TransactionResponse) 840 | 841 | Returns either an ABITransactionResponse or a TransactionResponse based on the type of the transaction 842 | referred to by transaction_index 843 | 844 | * **Parameters:** 845 | * **result** (*AtomicTransactionResponse*) – Result containing one or more transactions 846 | * **transaction_index** ([*int*](https://docs.python.org/3/library/functions.html#int)) – Which transaction in the result to return, defaults to -1 (the last transaction) 847 | 848 | #### tx_id *: [str](https://docs.python.org/3/library/stdtypes.html#str)* 849 | 850 | None 851 | 852 | Transaction Id 853 | 854 | ### *class* algokit_utils.TransferAssetParameters 855 | 856 | Bases: `algokit_utils._transfer.TransferParametersBase` 857 | 858 | Parameters for transferring assets between accounts 859 | 860 | Args: 861 | asset_id (int): The asset id that will be transfered 862 | amount (int): The amount to send 863 | clawback_from (str | None): An address of a target account from which to perform a clawback operation. Please 864 | note, in such cases senderAccount must be equal to clawback field on ASA metadata. 865 | 866 | ### *class* algokit_utils.TransferParameters 867 | 868 | Bases: `algokit_utils._transfer.TransferParametersBase` 869 | 870 | Parameters for transferring µALGOs between accounts 871 | 872 | ## Functions 873 | 874 | ### algokit_utils.create_kmd_wallet_account(kmd_client: [algosdk.kmd.KMDClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/kmd.html#algosdk.kmd.KMDClient), name: [str](https://docs.python.org/3/library/stdtypes.html#str)) → [algokit_utils.models.Account](#algokit_utils.Account) 875 | 876 | Creates a wallet with specified name 877 | 878 | ### algokit_utils.ensure_funded(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), parameters: [algokit_utils._ensure_funded.EnsureBalanceParameters](#algokit_utils.EnsureBalanceParameters)) → [algokit_utils._ensure_funded.EnsureFundedResponse](#algokit_utils.EnsureFundedResponse) | [None](https://docs.python.org/3/library/constants.html#None) 879 | 880 | Funds a given account using a funding source such that it has a certain amount of algos free to spend 881 | (accounting for ALGOs locked in minimum balance requirement) 882 | see [https://developer.algorand.org/docs/get-details/accounts/#minimum-balance](https://developer.algorand.org/docs/get-details/accounts/#minimum-balance) 883 | 884 | Args: 885 | client (AlgodClient): An instance of the AlgodClient class from the AlgoSDK library. 886 | parameters (EnsureBalanceParameters): An instance of the EnsureBalanceParameters class that 887 | specifies the account to fund and the minimum spending balance. 888 | 889 | Returns: 890 | PaymentTxn | str | None: If funds are needed, the function returns a payment transaction or a 891 | string indicating that the dispenser API was used. If no funds are needed, the function returns None. 892 | 893 | ### algokit_utils.execute_atc_with_logic_error(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), algod_client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), approval_program: [str](https://docs.python.org/3/library/stdtypes.html#str), wait_rounds: [int](https://docs.python.org/3/library/functions.html#int) = 4, approval_source_map: [algosdk.source_map.SourceMap](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/source_map.html#algosdk.source_map.SourceMap) | [Callable](https://docs.python.org/3/library/typing.html#typing.Callable)[[], [algosdk.source_map.SourceMap](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/source_map.html#algosdk.source_map.SourceMap) | [None](https://docs.python.org/3/library/constants.html#None)] | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algosdk.atomic_transaction_composer.AtomicTransactionResponse](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionResponse) 894 | 895 | Calls `AtomicTransactionComposer.execute()` on provided `atc`, but will parse any errors 896 | and raise a `LogicError` if possible 897 | 898 | #### NOTE 899 | `approval_program` and `approval_source_map` are required to be able to parse any errors into a 900 | `LogicError` 901 | 902 | ### algokit_utils.get_account(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), name: [str](https://docs.python.org/3/library/stdtypes.html#str), fund_with_algos: [float](https://docs.python.org/3/library/functions.html#float) = 1000, kmd_client: KMDClient | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algokit_utils.models.Account](#algokit_utils.Account) 903 | 904 | Returns an Algorand account with private key loaded by convention based on the given name identifier. 905 | 906 | ### Convention 907 | 908 | **Non-LocalNet:** will load `os.environ[f"{name}_MNEMONIC"]` as a mnemonic secret 909 | Be careful how the mnemonic is handled, never commit it into source control and ideally load it via a 910 | secret storage service rather than the file system. 911 | 912 | **LocalNet:** will load the account from a KMD wallet called {name} and if that wallet doesn’t exist it will 913 | create it and fund the account for you 914 | 915 | This allows you to write code that will work seamlessly in production and local development (LocalNet) without 916 | manual config locally (including when you reset the LocalNet). 917 | 918 | ### Example 919 | 920 | If you have a mnemonic secret loaded into `os.environ["ACCOUNT_MNEMONIC"]` then you can call the following to get 921 | that private key loaded into an account object: 922 | 923 | ```python 924 | account = get_account('ACCOUNT', algod) 925 | ``` 926 | 927 | If that code runs against LocalNet then a wallet called ‘ACCOUNT’ will automatically be created with an account 928 | that is automatically funded with 1000 (default) ALGOs from the default LocalNet dispenser. 929 | 930 | ### algokit_utils.get_account_from_mnemonic(mnemonic: [str](https://docs.python.org/3/library/stdtypes.html#str)) → [algokit_utils.models.Account](#algokit_utils.Account) 931 | 932 | Convert a mnemonic (25 word passphrase) into an Account 933 | 934 | ### algokit_utils.get_algod_client(config: [algokit_utils.network_clients.AlgoClientConfig](#algokit_utils.AlgoClientConfig) | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient) 935 | 936 | Returns an [`algosdk.v2client.algod.AlgodClient`](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient) from `config` or environment 937 | 938 | If no configuration provided will use environment variables `ALGOD_SERVER`, `ALGOD_PORT` and `ALGOD_TOKEN` 939 | 940 | ### algokit_utils.get_app_id_from_tx_id(algod_client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), tx_id: [str](https://docs.python.org/3/library/stdtypes.html#str)) → [int](https://docs.python.org/3/library/functions.html#int) 941 | 942 | Finds the app_id for provided transaction id 943 | 944 | ### algokit_utils.get_creator_apps(indexer: [algosdk.v2client.indexer.IndexerClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/indexer.html#algosdk.v2client.indexer.IndexerClient), creator_account: [algokit_utils.models.Account](#algokit_utils.Account) | [str](https://docs.python.org/3/library/stdtypes.html#str)) → [algokit_utils.deploy.AppLookup](#algokit_utils.AppLookup) 945 | 946 | Returns a mapping of Application names to [`AppMetaData`](#algokit_utils.AppMetaData) for all Applications created by specified 947 | creator that have a transaction note containing [`AppDeployMetaData`](#algokit_utils.AppDeployMetaData) 948 | 949 | ### algokit_utils.get_default_localnet_config(config: [Literal](https://docs.python.org/3/library/typing.html#typing.Literal)[algod, indexer, kmd]) → [algokit_utils.network_clients.AlgoClientConfig](#algokit_utils.AlgoClientConfig) 950 | 951 | Returns the client configuration to point to the default LocalNet 952 | 953 | ### algokit_utils.get_dispenser_account(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient)) → [algokit_utils.models.Account](#algokit_utils.Account) 954 | 955 | Returns an Account based on DISPENSER_MNENOMIC environment variable or the default account on LocalNet 956 | 957 | ### algokit_utils.get_indexer_client(config: [algokit_utils.network_clients.AlgoClientConfig](#algokit_utils.AlgoClientConfig) | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algosdk.v2client.indexer.IndexerClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/indexer.html#algosdk.v2client.indexer.IndexerClient) 958 | 959 | Returns an [`algosdk.v2client.indexer.IndexerClient`](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/indexer.html#algosdk.v2client.indexer.IndexerClient) from `config` or environment. 960 | 961 | If no configuration provided will use environment variables `INDEXER_SERVER`, `INDEXER_PORT` and `INDEXER_TOKEN` 962 | 963 | ### algokit_utils.get_kmd_client_from_algod_client(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient)) → [algosdk.kmd.KMDClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/kmd.html#algosdk.kmd.KMDClient) 964 | 965 | Returns an [`algosdk.kmd.KMDClient`](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/kmd.html#algosdk.kmd.KMDClient) from supplied `client` 966 | 967 | Will use the same address as provided `client` but on port specified by `KMD_PORT` environment variable, 968 | or 4002 by default 969 | 970 | ### algokit_utils.get_kmd_wallet_account(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), kmd_client: [algosdk.kmd.KMDClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/kmd.html#algosdk.kmd.KMDClient), name: [str](https://docs.python.org/3/library/stdtypes.html#str), predicate: Callable[[[dict](https://docs.python.org/3/library/stdtypes.html#dict)[[str](https://docs.python.org/3/library/stdtypes.html#str), Any]], [bool](https://docs.python.org/3/library/functions.html#bool)] | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algokit_utils.models.Account](#algokit_utils.Account) | [None](https://docs.python.org/3/library/constants.html#None) 971 | 972 | Returns wallet matching specified name and predicate or None if not found 973 | 974 | ### algokit_utils.get_localnet_default_account(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient)) → [algokit_utils.models.Account](#algokit_utils.Account) 975 | 976 | Returns the default Account in a LocalNet instance 977 | 978 | ### algokit_utils.get_next_version(current_version: [str](https://docs.python.org/3/library/stdtypes.html#str)) → [str](https://docs.python.org/3/library/stdtypes.html#str) 979 | 980 | Calculates the next version from `current_version` 981 | 982 | Next version is calculated by finding a semver like 983 | version string and incrementing the lower. This function is used by [`ApplicationClient.deploy()`](#algokit_utils.ApplicationClient.deploy) when 984 | a version is not specified, and is intended mostly for convenience during local development. 985 | 986 | * **Params str current_version:** 987 | An existing version string with a semver like version contained within it, 988 | some valid inputs and incremented outputs: 989 | `1` -> `2` 990 | `1.0` -> `1.1` 991 | `v1.1` -> `v1.2` 992 | `v1.1-beta1` -> `v1.2-beta1` 993 | `v1.2.3.4567` -> `v1.2.3.4568` 994 | `v1.2.3.4567-alpha` -> `v1.2.3.4568-alpha` 995 | * **Raises:** 996 | **DeploymentFailedError** – If `current_version` cannot be parsed 997 | 998 | ### algokit_utils.get_or_create_kmd_wallet_account(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), name: [str](https://docs.python.org/3/library/stdtypes.html#str), fund_with_algos: [float](https://docs.python.org/3/library/functions.html#float) = 1000, kmd_client: KMDClient | [None](https://docs.python.org/3/library/constants.html#None) = None) → [algokit_utils.models.Account](#algokit_utils.Account) 999 | 1000 | Returns a wallet with specified name, or creates one if not found 1001 | 1002 | ### algokit_utils.get_sender_from_signer(signer: [algosdk.atomic_transaction_composer.TransactionSigner](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.TransactionSigner) | [None](https://docs.python.org/3/library/constants.html#None)) → [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) 1003 | 1004 | Returns the associated address of a signer, return None if no address found 1005 | 1006 | ### algokit_utils.is_localnet(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient)) → [bool](https://docs.python.org/3/library/functions.html#bool) 1007 | 1008 | Returns True if client genesis is `devnet-v1` or `sandnet-v1` 1009 | 1010 | ### algokit_utils.is_mainnet(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient)) → [bool](https://docs.python.org/3/library/functions.html#bool) 1011 | 1012 | Returns True if client genesis is `mainnet-v1` 1013 | 1014 | ### algokit_utils.is_testnet(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient)) → [bool](https://docs.python.org/3/library/functions.html#bool) 1015 | 1016 | Returns True if client genesis is `testnet-v1` 1017 | 1018 | ### algokit_utils.num_extra_program_pages(approval: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes), clear: [bytes](https://docs.python.org/3/library/stdtypes.html#bytes)) → [int](https://docs.python.org/3/library/functions.html#int) 1019 | 1020 | Calculate minimum number of extra_pages required for provided approval and clear programs 1021 | 1022 | ### algokit_utils.opt_in(algod_client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), account: [algokit_utils.models.Account](#algokit_utils.Account), asset_ids: [list](https://docs.python.org/3/library/stdtypes.html#list)[[int](https://docs.python.org/3/library/functions.html#int)]) → [dict](https://docs.python.org/3/library/stdtypes.html#dict)[[int](https://docs.python.org/3/library/functions.html#int), [str](https://docs.python.org/3/library/stdtypes.html#str)] 1023 | 1024 | Opt-in to a list of assets on the Algorand blockchain. Before an account can receive a specific asset, 1025 | it must `opt-in` to receive it. An opt-in transaction places an asset holding of 0 into the account and increases 1026 | its minimum balance by [100,000 microAlgos](https://developer.algorand.org/docs/get-details/asa/#assets-overview). 1027 | 1028 | Args: 1029 | algod_client (AlgodClient): An instance of the AlgodClient class from the algosdk library. 1030 | account (Account): An instance of the Account class representing the account that wants to opt-in to the assets. 1031 | asset_ids (list[int]): A list of integers representing the asset IDs to opt-in to. 1032 | Returns: 1033 | dict[int, str]: A dictionary where the keys are the asset IDs and the values 1034 | are the transaction IDs for opting-in to each asset. 1035 | 1036 | ### algokit_utils.opt_out(algod_client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), account: [algokit_utils.models.Account](#algokit_utils.Account), asset_ids: [list](https://docs.python.org/3/library/stdtypes.html#list)[[int](https://docs.python.org/3/library/functions.html#int)]) → [dict](https://docs.python.org/3/library/stdtypes.html#dict)[[int](https://docs.python.org/3/library/functions.html#int), [str](https://docs.python.org/3/library/stdtypes.html#str)] 1037 | 1038 | Opt out from a list of Algorand Standard Assets (ASAs) by transferring them back to their creators. 1039 | The account also recovers the Minimum Balance Requirement for the asset (100,000 microAlgos) 1040 | The `optOut` function manages the opt-out process, permitting the account to discontinue holding a group of assets. 1041 | 1042 | It’s essential to note that an account can only opt_out of an asset if its balance of that asset is zero. 1043 | 1044 | Args: 1045 | algod_client (AlgodClient): An instance of the AlgodClient class from the `algosdk` library. 1046 | account (Account): An instance of the Account class that holds the private key and address for an account. 1047 | asset_ids (list[int]): A list of integers representing the asset IDs of the ASAs to opt out from. 1048 | Returns: 1049 | dict[int, str]: A dictionary where the keys are the asset IDs and the values are the transaction IDs of 1050 | the executed transactions. 1051 | 1052 | ### algokit_utils.persist_sourcemaps(\*, sources: [list](https://docs.python.org/3/library/stdtypes.html#list)[algokit_utils._debugging.PersistSourceMapInput], project_root: [pathlib.Path](https://docs.python.org/3/library/pathlib.html#pathlib.Path), client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), with_sources: [bool](https://docs.python.org/3/library/functions.html#bool) = True, persist_mappings: [bool](https://docs.python.org/3/library/functions.html#bool) = False) → [None](https://docs.python.org/3/library/constants.html#None) 1053 | 1054 | Persist the sourcemaps for the given sources as an AlgoKit AVM Debugger compliant artifacts. 1055 | Args: 1056 | sources (list[PersistSourceMapInput]): A list of PersistSourceMapInput objects. 1057 | project_root (Path): The root directory of the project. 1058 | client (AlgodClient): An AlgodClient object for interacting with the Algorand blockchain. 1059 | with_sources (bool): If True, it will dump teal source files along with sourcemaps. 1060 | Default is True, as needed by an AlgoKit AVM debugger. 1061 | persist_mappings (bool): Enables legacy behavior of persisting the `sources.avm.json` mappings to 1062 | the project root. Default is False, given that the AlgoKit AVM VSCode extension will manage the mappings. 1063 | 1064 | ### algokit_utils.replace_template_variables(program: [str](https://docs.python.org/3/library/stdtypes.html#str), template_values: [algokit_utils.deploy.TemplateValueMapping](#algokit_utils.TemplateValueMapping)) → [str](https://docs.python.org/3/library/stdtypes.html#str) 1065 | 1066 | Replaces `TMPL_*` variables in `program` with `template_values` 1067 | 1068 | #### NOTE 1069 | `template_values` keys should *NOT* be prefixed with `TMPL_` 1070 | 1071 | ### algokit_utils.simulate_and_persist_response(atc: [algosdk.atomic_transaction_composer.AtomicTransactionComposer](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.AtomicTransactionComposer), project_root: [pathlib.Path](https://docs.python.org/3/library/pathlib.html#pathlib.Path), algod_client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), buffer_size_mb: [float](https://docs.python.org/3/library/functions.html#float) = 256) → [algosdk.atomic_transaction_composer.SimulateAtomicTransactionResponse](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/atomic_transaction_composer.html#algosdk.atomic_transaction_composer.SimulateAtomicTransactionResponse) 1072 | 1073 | Simulates the atomic transactions using the provided `AtomicTransactionComposer` object and `AlgodClient` object, 1074 | and persists the simulation response to an AlgoKit AVM Debugger compliant JSON file. 1075 | 1076 | * **Parameters:** 1077 | * **atc** – An `AtomicTransactionComposer` object representing the atomic transactions to be 1078 | simulated and persisted. 1079 | * **project_root** – A `Path` object representing the root directory of the project. 1080 | * **algod_client** – An `AlgodClient` object representing the Algorand client. 1081 | * **buffer_size_mb** – The size of the trace buffer in megabytes. Defaults to 256mb. 1082 | * **Returns:** 1083 | None 1084 | 1085 | Returns: 1086 | SimulateAtomicTransactionResponse: The simulated response after persisting it 1087 | for AlgoKit AVM Debugger consumption. 1088 | 1089 | ### algokit_utils.transfer(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), parameters: [algokit_utils._transfer.TransferParameters](#algokit_utils.TransferParameters)) → [algosdk.transaction.PaymentTxn](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.PaymentTxn) 1090 | 1091 | Transfer µALGOs between accounts 1092 | 1093 | ### algokit_utils.transfer_asset(client: [algosdk.v2client.algod.AlgodClient](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/v2client/algod.html#algosdk.v2client.algod.AlgodClient), parameters: [algokit_utils._transfer.TransferAssetParameters](#algokit_utils.TransferAssetParameters)) → [algosdk.transaction.AssetTransferTxn](https://py-algorand-sdk.readthedocs.io/en/latest/algosdk/transaction.html#algosdk.transaction.AssetTransferTxn) 1094 | 1095 | Transfer assets between accounts 1096 | ```