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