This is page 80 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/developer:docs:rest-apis:algod.md: -------------------------------------------------------------------------------- ```markdown 1 | title: algod 2 | --- 3 | 4 | <a name="paths"></a> 5 | ## Paths 6 | 7 | <a name="getconfig"></a> 8 | ### GET /debug/settings/config 9 | Gets the merged config file. 10 | ``` 11 | GET /debug/settings/config 12 | ``` 13 | 14 | 15 | **Description** 16 | Returns the merged (defaults + overrides) config file in json. 17 | 18 | 19 | **Responses** 20 | 21 | |HTTP Code|Description|Schema| 22 | |---|---|---| 23 | |**200**|The merged config file in json.|string| 24 | |**default**|Unknown Error|No Content| 25 | 26 | 27 | **Produces** 28 | 29 | * `application/json` 30 | 31 | 32 | **Tags** 33 | 34 | * private 35 | 36 | 37 | <a name="getdebugsettingsprof"></a> 38 | ### GET /debug/settings/pprof 39 | 40 | **Description** 41 | Retrieves the current settings for blocking and mutex profiles 42 | 43 | 44 | **Responses** 45 | 46 | |HTTP Code|Description|Schema| 47 | |---|---|---| 48 | |**200**|DebugPprof is the response to the /debug/extra/pprof endpoint|[DebugSettingsProf](#debugsettingsprof)| 49 | 50 | 51 | **Produces** 52 | 53 | * `application/json` 54 | 55 | 56 | **Tags** 57 | 58 | * private 59 | 60 | 61 | <a name="putdebugsettingsprof"></a> 62 | ### PUT /debug/settings/pprof 63 | 64 | **Description** 65 | Enables blocking and mutex profiles, and returns the old settings 66 | 67 | 68 | **Responses** 69 | 70 | |HTTP Code|Description|Schema| 71 | |---|---|---| 72 | |**200**|DebugPprof is the response to the /debug/extra/pprof endpoint|[DebugSettingsProf](#debugsettingsprof)| 73 | 74 | 75 | **Produces** 76 | 77 | * `application/json` 78 | 79 | 80 | **Tags** 81 | 82 | * private 83 | 84 | 85 | <a name="getgenesis"></a> 86 | ### GET /genesis 87 | Gets the genesis information. 88 | ``` 89 | GET /genesis 90 | ``` 91 | 92 | 93 | **Description** 94 | Returns the entire genesis file in json. 95 | 96 | 97 | **Responses** 98 | 99 | |HTTP Code|Description|Schema| 100 | |---|---|---| 101 | |**200**|The genesis file in json.|string| 102 | |**default**|Unknown Error|No Content| 103 | 104 | 105 | **Produces** 106 | 107 | * `application/json` 108 | 109 | 110 | **Tags** 111 | 112 | * common 113 | * public 114 | 115 | 116 | <a name="healthcheck"></a> 117 | ### GET /health 118 | Returns OK if healthy. 119 | ``` 120 | GET /health 121 | ``` 122 | 123 | 124 | **Responses** 125 | 126 | |HTTP Code|Description|Schema| 127 | |---|---|---| 128 | |**200**|OK.|No Content| 129 | |**default**|Unknown Error|No Content| 130 | 131 | 132 | **Produces** 133 | 134 | * `application/json` 135 | 136 | 137 | **Tags** 138 | 139 | * common 140 | * public 141 | 142 | 143 | <a name="metrics"></a> 144 | ### GET /metrics 145 | Return metrics about algod functioning. 146 | ``` 147 | GET /metrics 148 | ``` 149 | 150 | 151 | **Responses** 152 | 153 | |HTTP Code|Description|Schema| 154 | |---|---|---| 155 | |**200**|text with \#-comments and key:value lines|No Content| 156 | |**404**|metrics were compiled out|No Content| 157 | 158 | 159 | **Produces** 160 | 161 | * `text/plain` 162 | 163 | 164 | **Tags** 165 | 166 | * common 167 | * public 168 | 169 | 170 | <a name="getready"></a> 171 | ### GET /ready 172 | Returns OK if healthy and fully caught up. 173 | ``` 174 | GET /ready 175 | ``` 176 | 177 | 178 | **Responses** 179 | 180 | |HTTP Code|Description|Schema| 181 | |---|---|---| 182 | |**200**|OK.|No Content| 183 | |**500**|Internal Error|No Content| 184 | |**503**|Node not ready yet|No Content| 185 | |**default**|Unknown Error|No Content| 186 | 187 | 188 | **Produces** 189 | 190 | * `application/json` 191 | 192 | 193 | **Tags** 194 | 195 | * common 196 | * public 197 | 198 | 199 | <a name="swaggerjson"></a> 200 | ### GET /swagger.json 201 | Gets the current swagger spec. 202 | ``` 203 | GET /swagger.json 204 | ``` 205 | 206 | 207 | **Description** 208 | Returns the entire swagger spec in json. 209 | 210 | 211 | **Responses** 212 | 213 | |HTTP Code|Description|Schema| 214 | |---|---|---| 215 | |**200**|The current swagger spec|string| 216 | |**default**|Unknown Error|No Content| 217 | 218 | 219 | **Produces** 220 | 221 | * `application/json` 222 | 223 | 224 | **Tags** 225 | 226 | * common 227 | * public 228 | 229 | 230 | <a name="accountinformation"></a> 231 | ### GET /v2/accounts/{address} 232 | Get account information. 233 | ``` 234 | GET /v2/accounts/{address} 235 | ``` 236 | 237 | 238 | **Description** 239 | Given a specific account public key, this call returns the accounts status, balance and spendable amounts 240 | 241 | 242 | **Parameters** 243 | 244 | |Type|Name|Description|Schema| 245 | |---|---|---|---| 246 | |**Path**|**address** <br>*required*|An account public key|string| 247 | |**Query**|**exclude** <br>*optional*|When set to `all` will exclude asset holdings, application local state, created asset parameters, any created application parameters. Defaults to `none`.|enum (all, none)| 248 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 249 | 250 | 251 | **Responses** 252 | 253 | |HTTP Code|Description|Schema| 254 | |---|---|---| 255 | |**200**|AccountResponse wraps the Account type in a response.|[Account](#account)| 256 | |**400**|Bad request|[ErrorResponse](#errorresponse)| 257 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 258 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 259 | |**default**|Unknown Error|No Content| 260 | 261 | 262 | **Produces** 263 | 264 | * `application/json` 265 | * `application/msgpack` 266 | 267 | 268 | **Tags** 269 | 270 | * nonparticipating 271 | * public 272 | 273 | 274 | <a name="accountapplicationinformation"></a> 275 | ### GET /v2/accounts/{address}/applications/{application-id} 276 | Get account information about a given app. 277 | ``` 278 | GET /v2/accounts/{address}/applications/{application-id} 279 | ``` 280 | 281 | 282 | **Description** 283 | Given a specific account public key and application ID, this call returns the account's application local state and global state (AppLocalState and AppParams, if either exists). Global state will only be returned if the provided address is the application's creator. 284 | 285 | 286 | **Parameters** 287 | 288 | |Type|Name|Description|Schema| 289 | |---|---|---|---| 290 | |**Path**|**address** <br>*required*|An account public key|string| 291 | |**Path**|**application-id** <br>*required*|An application identifier|integer| 292 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 293 | 294 | 295 | **Responses** 296 | 297 | |HTTP Code|Description|Schema| 298 | |---|---|---| 299 | |**200**|AccountApplicationResponse describes the account's application local state and global state (AppLocalState and AppParams, if either exists) for a specific application ID. Global state will only be returned if the provided address is the application's creator.|[Response 200](#accountapplicationinformation-response-200)| 300 | |**400**|Malformed address or application ID|[ErrorResponse](#errorresponse)| 301 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 302 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 303 | |**default**|Unknown Error|No Content| 304 | 305 | <a name="accountapplicationinformation-response-200"></a> 306 | **Response 200** 307 | 308 | |Name|Description|Schema| 309 | |---|---|---| 310 | |**app-local-state** <br>*optional*|\[appl\] the application local data stored in this account.<br><br>The raw account uses `AppLocalState` for this type.|[ApplicationLocalState](#applicationlocalstate)| 311 | |**created-app** <br>*optional*|\[appp\] parameters of the application created by this account including app global data.<br><br>The raw account uses `AppParams` for this type.|[ApplicationParams](#applicationparams)| 312 | |**round** <br>*required*|The round for which this information is relevant.|integer| 313 | 314 | 315 | **Produces** 316 | 317 | * `application/json` 318 | * `application/msgpack` 319 | 320 | 321 | **Tags** 322 | 323 | * nonparticipating 324 | * public 325 | 326 | 327 | <a name="accountassetsinformation"></a> 328 | ### GET /v2/accounts/{address}/assets 329 | Get a list of assets held by an account, inclusive of asset params. 330 | ``` 331 | GET /v2/accounts/{address}/assets 332 | ``` 333 | 334 | 335 | **Description** 336 | Lookup an account's asset holdings. 337 | 338 | 339 | **Parameters** 340 | 341 | |Type|Name|Description|Schema| 342 | |---|---|---|---| 343 | |**Path**|**address** <br>*required*|An account public key|string| 344 | |**Query**|**limit** <br>*optional*|Maximum number of results to return.|integer| 345 | |**Query**|**next** <br>*optional*|The next page of results. Use the next token provided by the previous results.|string| 346 | 347 | 348 | **Responses** 349 | 350 | |HTTP Code|Description|Schema| 351 | |---|---|---| 352 | |**200**|AccountAssetsInformationResponse contains a list of assets held by an account.|[Response 200](#accountassetsinformation-response-200)| 353 | |**400**|Malformed address|[ErrorResponse](#errorresponse)| 354 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 355 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 356 | |**default**|Unknown Error|No Content| 357 | 358 | <a name="accountassetsinformation-response-200"></a> 359 | **Response 200** 360 | 361 | |Name|Description|Schema| 362 | |---|---|---| 363 | |**asset-holdings** <br>*optional*||< [AccountAssetHolding](#accountassetholding) > array| 364 | |**next-token** <br>*optional*|Used for pagination, when making another request provide this token with the next parameter.|string| 365 | |**round** <br>*required*|The round for which this information is relevant.|integer| 366 | 367 | 368 | **Produces** 369 | 370 | * `application/json` 371 | 372 | 373 | **Tags** 374 | 375 | * experimental 376 | * public 377 | 378 | 379 | <a name="accountassetinformation"></a> 380 | ### GET /v2/accounts/{address}/assets/{asset-id} 381 | Get account information about a given asset. 382 | ``` 383 | GET /v2/accounts/{address}/assets/{asset-id} 384 | ``` 385 | 386 | 387 | **Description** 388 | Given a specific account public key and asset ID, this call returns the account's asset holding and asset parameters (if either exist). Asset parameters will only be returned if the provided address is the asset's creator. 389 | 390 | 391 | **Parameters** 392 | 393 | |Type|Name|Description|Schema| 394 | |---|---|---|---| 395 | |**Path**|**address** <br>*required*|An account public key|string| 396 | |**Path**|**asset-id** <br>*required*|An asset identifier|integer| 397 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 398 | 399 | 400 | **Responses** 401 | 402 | |HTTP Code|Description|Schema| 403 | |---|---|---| 404 | |**200**|AccountAssetResponse describes the account's asset holding and asset parameters (if either exist) for a specific asset ID. Asset parameters will only be returned if the provided address is the asset's creator.|[Response 200](#accountassetinformation-response-200)| 405 | |**400**|Malformed address or asset ID|[ErrorResponse](#errorresponse)| 406 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 407 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 408 | |**default**|Unknown Error|No Content| 409 | 410 | <a name="accountassetinformation-response-200"></a> 411 | **Response 200** 412 | 413 | |Name|Description|Schema| 414 | |---|---|---| 415 | |**asset-holding** <br>*optional*|\[asset\] Details about the asset held by this account.<br><br>The raw account uses `AssetHolding` for this type.|[AssetHolding](#assetholding)| 416 | |**created-asset** <br>*optional*|\[apar\] parameters of the asset created by this account.<br><br>The raw account uses `AssetParams` for this type.|[AssetParams](#assetparams)| 417 | |**round** <br>*required*|The round for which this information is relevant.|integer| 418 | 419 | 420 | **Produces** 421 | 422 | * `application/json` 423 | * `application/msgpack` 424 | 425 | 426 | **Tags** 427 | 428 | * nonparticipating 429 | * public 430 | 431 | 432 | <a name="getpendingtransactionsbyaddress"></a> 433 | ### GET /v2/accounts/{address}/transactions/pending 434 | Get a list of unconfirmed transactions currently in the transaction pool by address. 435 | ``` 436 | GET /v2/accounts/{address}/transactions/pending 437 | ``` 438 | 439 | 440 | **Description** 441 | Get the list of pending transactions by address, sorted by priority, in decreasing order, truncated at the end at MAX. If MAX = 0, returns all pending transactions. 442 | 443 | 444 | **Parameters** 445 | 446 | |Type|Name|Description|Schema| 447 | |---|---|---|---| 448 | |**Path**|**address** <br>*required*|An account public key|string| 449 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 450 | |**Query**|**max** <br>*optional*|Truncated number of transactions to display. If max=0, returns all pending txns.|integer| 451 | 452 | 453 | **Responses** 454 | 455 | |HTTP Code|Description|Schema| 456 | |---|---|---| 457 | |**200**|A potentially truncated list of transactions currently in the node's transaction pool. You can compute whether or not the list is truncated if the number of elements in the **top-transactions** array is fewer than **total-transactions**.|[Response 200](#getpendingtransactionsbyaddress-response-200)| 458 | |**400**|Max must be a non-negative integer|[ErrorResponse](#errorresponse)| 459 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 460 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 461 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 462 | |**default**|Unknown Error|No Content| 463 | 464 | <a name="getpendingtransactionsbyaddress-response-200"></a> 465 | **Response 200** 466 | 467 | |Name|Description|Schema| 468 | |---|---|---| 469 | |**top-transactions** <br>*required*|An array of signed transaction objects.|< object > array| 470 | |**total-transactions** <br>*required*|Total number of transactions in the pool.|integer| 471 | 472 | 473 | **Produces** 474 | 475 | * `application/json` 476 | * `application/msgpack` 477 | 478 | 479 | **Tags** 480 | 481 | * participating 482 | * public 483 | 484 | 485 | <a name="getapplicationbyid"></a> 486 | ### GET /v2/applications/{application-id} 487 | Get application information. 488 | ``` 489 | GET /v2/applications/{application-id} 490 | ``` 491 | 492 | 493 | **Description** 494 | Given a application ID, it returns application information including creator, approval and clear programs, global and local schemas, and global state. 495 | 496 | 497 | **Parameters** 498 | 499 | |Type|Name|Description|Schema| 500 | |---|---|---|---| 501 | |**Path**|**application-id** <br>*required*|An application identifier|integer| 502 | 503 | 504 | **Responses** 505 | 506 | |HTTP Code|Description|Schema| 507 | |---|---|---| 508 | |**200**|Application information|[Application](#application)| 509 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 510 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 511 | |**404**|Application Not Found|[ErrorResponse](#errorresponse)| 512 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 513 | |**default**|Unknown Error|No Content| 514 | 515 | 516 | **Produces** 517 | 518 | * `application/json` 519 | 520 | 521 | **Tags** 522 | 523 | * nonparticipating 524 | * public 525 | 526 | 527 | <a name="getapplicationboxbyname"></a> 528 | ### GET /v2/applications/{application-id}/box 529 | Get box information for a given application. 530 | ``` 531 | GET /v2/applications/{application-id}/box 532 | ``` 533 | 534 | 535 | **Description** 536 | Given an application ID and box name, it returns the round, box name, and value (each base64 encoded). Box names must be in the goal app call arg encoding form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'. 537 | 538 | 539 | **Parameters** 540 | 541 | |Type|Name|Description|Schema| 542 | |---|---|---|---| 543 | |**Path**|**application-id** <br>*required*|An application identifier|integer| 544 | |**Query**|**name** <br>*required*|A box name, in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.|string| 545 | 546 | 547 | **Responses** 548 | 549 | |HTTP Code|Description|Schema| 550 | |---|---|---| 551 | |**200**|Box information|[Box](#box)| 552 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 553 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 554 | |**404**|Box Not Found|[ErrorResponse](#errorresponse)| 555 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 556 | |**default**|Unknown Error|No Content| 557 | 558 | 559 | **Produces** 560 | 561 | * `application/json` 562 | 563 | 564 | **Tags** 565 | 566 | * nonparticipating 567 | * public 568 | 569 | 570 | <a name="getapplicationboxes"></a> 571 | ### GET /v2/applications/{application-id}/boxes 572 | Get all box names for a given application. 573 | ``` 574 | GET /v2/applications/{application-id}/boxes 575 | ``` 576 | 577 | 578 | **Description** 579 | Given an application ID, return all Box names. No particular ordering is guaranteed. Request fails when client or server-side configured limits prevent returning all Box names. 580 | 581 | 582 | **Parameters** 583 | 584 | |Type|Name|Description|Schema| 585 | |---|---|---|---| 586 | |**Path**|**application-id** <br>*required*|An application identifier|integer| 587 | |**Query**|**max** <br>*optional*|Max number of box names to return. If max is not set, or max == 0, returns all box-names.|integer| 588 | 589 | 590 | **Responses** 591 | 592 | |HTTP Code|Description|Schema| 593 | |---|---|---| 594 | |**200**|Box names of an application|[Response 200](#getapplicationboxes-response-200)| 595 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 596 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 597 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 598 | |**default**|Unknown Error|No Content| 599 | 600 | <a name="getapplicationboxes-response-200"></a> 601 | **Response 200** 602 | 603 | |Name|Schema| 604 | |---|---| 605 | |**boxes** <br>*required*|< [BoxDescriptor](#boxdescriptor) > array| 606 | 607 | 608 | **Produces** 609 | 610 | * `application/json` 611 | 612 | 613 | **Tags** 614 | 615 | * nonparticipating 616 | * public 617 | 618 | 619 | <a name="getassetbyid"></a> 620 | ### GET /v2/assets/{asset-id} 621 | Get asset information. 622 | ``` 623 | GET /v2/assets/{asset-id} 624 | ``` 625 | 626 | 627 | **Description** 628 | Given a asset ID, it returns asset information including creator, name, total supply and special addresses. 629 | 630 | 631 | **Parameters** 632 | 633 | |Type|Name|Description|Schema| 634 | |---|---|---|---| 635 | |**Path**|**asset-id** <br>*required*|An asset identifier|integer| 636 | 637 | 638 | **Responses** 639 | 640 | |HTTP Code|Description|Schema| 641 | |---|---|---| 642 | |**200**|Asset information|[Asset](#asset)| 643 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 644 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 645 | |**404**|Application Not Found|[ErrorResponse](#errorresponse)| 646 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 647 | |**default**|Unknown Error|No Content| 648 | 649 | 650 | **Produces** 651 | 652 | * `application/json` 653 | 654 | 655 | **Tags** 656 | 657 | * nonparticipating 658 | * public 659 | 660 | 661 | <a name="getblock"></a> 662 | ### GET /v2/blocks/{round} 663 | Get the block for the given round. 664 | ``` 665 | GET /v2/blocks/{round} 666 | ``` 667 | 668 | 669 | **Parameters** 670 | 671 | |Type|Name|Description|Schema| 672 | |---|---|---|---| 673 | |**Path**|**round** <br>*required*|The round from which to fetch block information.|integer| 674 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 675 | 676 | 677 | **Responses** 678 | 679 | |HTTP Code|Description|Schema| 680 | |---|---|---| 681 | |**200**|Encoded block object.|[Response 200](#getblock-response-200)| 682 | |**400**|Bad Request - Non integer number|[ErrorResponse](#errorresponse)| 683 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 684 | |**404**|None existing block|[ErrorResponse](#errorresponse)| 685 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 686 | |**default**|Unknown Error|No Content| 687 | 688 | <a name="getblock-response-200"></a> 689 | **Response 200** 690 | 691 | |Name|Description|Schema| 692 | |---|---|---| 693 | |**block** <br>*required*|Block header data.|object| 694 | |**cert** <br>*optional*|Optional certificate object. This is only included when the format is set to message pack.|object| 695 | 696 | 697 | **Produces** 698 | 699 | * `application/json` 700 | * `application/msgpack` 701 | 702 | 703 | **Tags** 704 | 705 | * nonparticipating 706 | * public 707 | 708 | 709 | <a name="getblockhash"></a> 710 | ### GET /v2/blocks/{round}/hash 711 | Get the block hash for the block on the given round. 712 | ``` 713 | GET /v2/blocks/{round}/hash 714 | ``` 715 | 716 | 717 | **Parameters** 718 | 719 | |Type|Name|Description|Schema| 720 | |---|---|---|---| 721 | |**Path**|**round** <br>*required*|The round from which to fetch block hash information.|integer| 722 | 723 | 724 | **Responses** 725 | 726 | |HTTP Code|Description|Schema| 727 | |---|---|---| 728 | |**200**|Hash of a block header.|[Response 200](#getblockhash-response-200)| 729 | |**400**|Bad Request - Non integer number|[ErrorResponse](#errorresponse)| 730 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 731 | |**404**|None existing block|[ErrorResponse](#errorresponse)| 732 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 733 | |**default**|Unknown Error|No Content| 734 | 735 | <a name="getblockhash-response-200"></a> 736 | **Response 200** 737 | 738 | |Name|Description|Schema| 739 | |---|---|---| 740 | |**blockHash** <br>*required*|Block header hash.|string| 741 | 742 | 743 | **Produces** 744 | 745 | * `application/json` 746 | 747 | 748 | **Tags** 749 | 750 | * nonparticipating 751 | * public 752 | 753 | 754 | <a name="getblockheader"></a> 755 | ### GET /v2/blocks/{round}/header 756 | Get the block header for the block on the given round. 757 | ``` 758 | GET /v2/blocks/{round}/header 759 | ``` 760 | 761 | 762 | **Parameters** 763 | 764 | |Type|Name|Description|Schema| 765 | |---|---|---|---| 766 | |**Path**|**round** <br>*required*|The round from which to fetch block header information.|integer| 767 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 768 | 769 | 770 | **Responses** 771 | 772 | |HTTP Code|Description|Schema| 773 | |---|---|---| 774 | |**200**|Block header.|[Response 200](#getblockheader-response-200)| 775 | |**400**|Bad Request - Non integer number|[ErrorResponse](#errorresponse)| 776 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 777 | |**404**|None existing block|[ErrorResponse](#errorresponse)| 778 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 779 | |**default**|Unknown Error|No Content| 780 | 781 | <a name="getblockheader-response-200"></a> 782 | **Response 200** 783 | 784 | |Name|Description|Schema| 785 | |---|---|---| 786 | |**blockHeader** <br>*required*|Block header data.|object| 787 | 788 | 789 | **Produces** 790 | 791 | * `application/json` 792 | * `application/msgpack` 793 | 794 | 795 | **Tags** 796 | 797 | * nonparticipating 798 | * public 799 | 800 | 801 | <a name="getlightblockheaderproof"></a> 802 | ### GET /v2/blocks/{round}/lightheader/proof 803 | Gets a proof for a given light block header inside a state proof commitment 804 | ``` 805 | GET /v2/blocks/{round}/lightheader/proof 806 | ``` 807 | 808 | 809 | **Parameters** 810 | 811 | |Type|Name|Description|Schema| 812 | |---|---|---|---| 813 | |**Path**|**round** <br>*required*|The round to which the light block header belongs.|integer| 814 | 815 | 816 | **Responses** 817 | 818 | |HTTP Code|Description|Schema| 819 | |---|---|---| 820 | |**200**|Proof of a light block header.|[LightBlockHeaderProof](#lightblockheaderproof)| 821 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 822 | |**404**|Could not create proof since some data is missing|[ErrorResponse](#errorresponse)| 823 | |**408**|timed out on request|[ErrorResponse](#errorresponse)| 824 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 825 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 826 | |**default**|Unknown Error|No Content| 827 | 828 | 829 | **Produces** 830 | 831 | * `application/json` 832 | 833 | 834 | **Tags** 835 | 836 | * nonparticipating 837 | * public 838 | 839 | 840 | <a name="getblocklogs"></a> 841 | ### GET /v2/blocks/{round}/logs 842 | Get all of the logs from outer and inner app calls in the given round 843 | ``` 844 | GET /v2/blocks/{round}/logs 845 | ``` 846 | 847 | 848 | **Description** 849 | Get all of the logs from outer and inner app calls in the given round 850 | 851 | 852 | **Parameters** 853 | 854 | |Type|Name|Description|Schema| 855 | |---|---|---|---| 856 | |**Path**|**round** <br>*required*|The round from which to fetch block log information.|integer| 857 | 858 | 859 | **Responses** 860 | 861 | |HTTP Code|Description|Schema| 862 | |---|---|---| 863 | |**200**|All logs emitted in the given round. Each app call, whether top-level or inner, that contains logs results in a separate AppCallLogs object. Therefore there may be multiple AppCallLogs with the same application ID and outer transaction ID in the event of multiple inner app calls to the same app. App calls with no logs are not included in the response. AppCallLogs are returned in the same order that their corresponding app call appeared in the block (pre-order traversal of inner app calls)|[Response 200](#getblocklogs-response-200)| 864 | |**400**|Bad Request - Non integer number|[ErrorResponse](#errorresponse)| 865 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 866 | |**404**|Nonexistent block|[ErrorResponse](#errorresponse)| 867 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 868 | 869 | <a name="getblocklogs-response-200"></a> 870 | **Response 200** 871 | 872 | |Name|Schema| 873 | |---|---| 874 | |**logs** <br>*required*|< [AppCallLogs](#appcalllogs) > array| 875 | 876 | 877 | **Produces** 878 | 879 | * `application/json` 880 | 881 | 882 | **Tags** 883 | 884 | * nonparticipating 885 | * public 886 | 887 | 888 | <a name="gettransactionproof"></a> 889 | ### GET /v2/blocks/{round}/transactions/{txid}/proof 890 | Get a proof for a transaction in a block. 891 | ``` 892 | GET /v2/blocks/{round}/transactions/{txid}/proof 893 | ``` 894 | 895 | 896 | **Parameters** 897 | 898 | |Type|Name|Description|Schema| 899 | |---|---|---|---| 900 | |**Path**|**round** <br>*required*|The round in which the transaction appears.|integer| 901 | |**Path**|**txid** <br>*required*|The transaction ID for which to generate a proof.|string| 902 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 903 | |**Query**|**hashtype** <br>*optional*|The type of hash function used to create the proof, must be one of: <br>* sha512_256 <br>* sha256|enum (sha512_256, sha256)| 904 | 905 | 906 | **Responses** 907 | 908 | |HTTP Code|Description|Schema| 909 | |---|---|---| 910 | |**200**|Proof of transaction in a block.|[Response 200](#gettransactionproof-response-200)| 911 | |**400**|Malformed round number or transaction ID|[ErrorResponse](#errorresponse)| 912 | |**401**|Invalid API token|[ErrorResponse](#errorresponse)| 913 | |**404**|Non-existent block or transaction|[ErrorResponse](#errorresponse)| 914 | |**500**|Internal error, including protocol not supporting proofs.|[ErrorResponse](#errorresponse)| 915 | |**default**|Unknown error|No Content| 916 | 917 | <a name="gettransactionproof-response-200"></a> 918 | **Response 200** 919 | 920 | |Name|Description|Schema| 921 | |---|---|---| 922 | |**hashtype** <br>*required*|The type of hash function used to create the proof, must be one of: <br>* sha512_256 <br>* sha256|enum (sha512_256, sha256)| 923 | |**idx** <br>*required*|Index of the transaction in the block's payset.|integer| 924 | |**proof** <br>*required*|Proof of transaction membership. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 925 | |**stibhash** <br>*required*|Hash of SignedTxnInBlock for verifying proof. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 926 | |**treedepth** <br>*required*|Represents the depth of the tree that is being proven, i.e. the number of edges from a leaf to the root.|integer| 927 | 928 | 929 | **Produces** 930 | 931 | * `application/json` 932 | 933 | 934 | **Tags** 935 | 936 | * nonparticipating 937 | * public 938 | 939 | 940 | <a name="getblocktxids"></a> 941 | ### GET /v2/blocks/{round}/txids 942 | Get the top level transaction IDs for the block on the given round. 943 | ``` 944 | GET /v2/blocks/{round}/txids 945 | ``` 946 | 947 | 948 | **Parameters** 949 | 950 | |Type|Name|Description|Schema| 951 | |---|---|---|---| 952 | |**Path**|**round** <br>*required*|The round from which to fetch block transaction IDs.|integer| 953 | 954 | 955 | **Responses** 956 | 957 | |HTTP Code|Description|Schema| 958 | |---|---|---| 959 | |**200**|Top level transaction IDs in a block.|[Response 200](#getblocktxids-response-200)| 960 | |**400**|Bad Request - Non integer number|[ErrorResponse](#errorresponse)| 961 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 962 | |**404**|Non existing block|[ErrorResponse](#errorresponse)| 963 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 964 | |**default**|Unknown Error|No Content| 965 | 966 | <a name="getblocktxids-response-200"></a> 967 | **Response 200** 968 | 969 | |Name|Description|Schema| 970 | |---|---|---| 971 | |**blockTxids** <br>*required*|Block transaction IDs.|< string > array| 972 | 973 | 974 | **Produces** 975 | 976 | * `application/json` 977 | 978 | 979 | **Tags** 980 | 981 | * nonparticipating 982 | * public 983 | 984 | 985 | <a name="startcatchup"></a> 986 | ### POST /v2/catchup/{catchpoint} 987 | Starts a catchpoint catchup. 988 | ``` 989 | POST /v2/catchup/{catchpoint} 990 | ``` 991 | 992 | 993 | **Description** 994 | Given a catchpoint, it starts catching up to this catchpoint 995 | 996 | 997 | **Parameters** 998 | 999 | |Type|Name|Description|Schema| 1000 | |---|---|---|---| 1001 | |**Path**|**catchpoint** <br>*required*|A catch point|string (catchpoint)| 1002 | |**Query**|**min** <br>*optional*|Specify the minimum number of blocks which the ledger must be advanced by in order to start the catchup. This is useful for simplifying tools which support fast catchup, they can run the catchup unconditionally and the node will skip the catchup if it is not needed.|integer| 1003 | 1004 | 1005 | **Responses** 1006 | 1007 | |HTTP Code|Description|Schema| 1008 | |---|---|---| 1009 | |**200**||[Response 200](#startcatchup-response-200)| 1010 | |**201**||[Response 201](#startcatchup-response-201)| 1011 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1012 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1013 | |**408**|Request Timeout|[ErrorResponse](#errorresponse)| 1014 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1015 | |**default**|Unknown Error|No Content| 1016 | 1017 | <a name="startcatchup-response-200"></a> 1018 | **Response 200** 1019 | 1020 | |Name|Description|Schema| 1021 | |---|---|---| 1022 | |**catchup-message** <br>*required*|Catchup start response string|string| 1023 | 1024 | <a name="startcatchup-response-201"></a> 1025 | **Response 201** 1026 | 1027 | |Name|Description|Schema| 1028 | |---|---|---| 1029 | |**catchup-message** <br>*required*|Catchup start response string|string| 1030 | 1031 | 1032 | **Produces** 1033 | 1034 | * `application/json` 1035 | 1036 | 1037 | **Tags** 1038 | 1039 | * nonparticipating 1040 | * private 1041 | 1042 | 1043 | <a name="abortcatchup"></a> 1044 | ### DELETE /v2/catchup/{catchpoint} 1045 | Aborts a catchpoint catchup. 1046 | ``` 1047 | DELETE /v2/catchup/{catchpoint} 1048 | ``` 1049 | 1050 | 1051 | **Description** 1052 | Given a catchpoint, it aborts catching up to this catchpoint 1053 | 1054 | 1055 | **Parameters** 1056 | 1057 | |Type|Name|Description|Schema| 1058 | |---|---|---|---| 1059 | |**Path**|**catchpoint** <br>*required*|A catch point|string (catchpoint)| 1060 | 1061 | 1062 | **Responses** 1063 | 1064 | |HTTP Code|Description|Schema| 1065 | |---|---|---| 1066 | |**200**||[Response 200](#abortcatchup-response-200)| 1067 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1068 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1069 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1070 | |**default**|Unknown Error|No Content| 1071 | 1072 | <a name="abortcatchup-response-200"></a> 1073 | **Response 200** 1074 | 1075 | |Name|Description|Schema| 1076 | |---|---|---| 1077 | |**catchup-message** <br>*required*|Catchup abort response string|string| 1078 | 1079 | 1080 | **Produces** 1081 | 1082 | * `application/json` 1083 | 1084 | 1085 | **Tags** 1086 | 1087 | * nonparticipating 1088 | * private 1089 | 1090 | 1091 | <a name="getledgerstatedeltafortransactiongroup"></a> 1092 | ### GET /v2/deltas/txn/group/{id} 1093 | Get a LedgerStateDelta object for a given transaction group 1094 | ``` 1095 | GET /v2/deltas/txn/group/{id} 1096 | ``` 1097 | 1098 | 1099 | **Description** 1100 | Get a ledger delta for a given transaction group. 1101 | 1102 | 1103 | **Parameters** 1104 | 1105 | |Type|Name|Description|Schema| 1106 | |---|---|---|---| 1107 | |**Path**|**id** <br>*required*|A transaction ID, or transaction group ID|string| 1108 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 1109 | 1110 | 1111 | **Responses** 1112 | 1113 | |HTTP Code|Description|Schema| 1114 | |---|---|---| 1115 | |**200**|Response containing a ledger state delta for a single transaction group.|[LedgerStateDelta](#ledgerstatedelta)| 1116 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1117 | |**404**|Could not find a delta for transaction ID or group ID|[ErrorResponse](#errorresponse)| 1118 | |**408**|timed out on request|[ErrorResponse](#errorresponse)| 1119 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1120 | |**501**|Not Implemented|[ErrorResponse](#errorresponse)| 1121 | |**default**|Unknown Error|No Content| 1122 | 1123 | 1124 | **Produces** 1125 | 1126 | * `application/json` 1127 | * `application/msgpack` 1128 | 1129 | 1130 | **Tags** 1131 | 1132 | * nonparticipating 1133 | * public 1134 | 1135 | 1136 | <a name="getledgerstatedelta"></a> 1137 | ### GET /v2/deltas/{round} 1138 | Get a LedgerStateDelta object for a given round 1139 | ``` 1140 | GET /v2/deltas/{round} 1141 | ``` 1142 | 1143 | 1144 | **Description** 1145 | Get ledger deltas for a round. 1146 | 1147 | 1148 | **Parameters** 1149 | 1150 | |Type|Name|Description|Schema| 1151 | |---|---|---|---| 1152 | |**Path**|**round** <br>*required*|The round for which the deltas are desired.|integer| 1153 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 1154 | 1155 | 1156 | **Responses** 1157 | 1158 | |HTTP Code|Description|Schema| 1159 | |---|---|---| 1160 | |**200**|Contains ledger deltas|[LedgerStateDelta](#ledgerstatedelta)| 1161 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1162 | |**404**|Could not find a delta for round|[ErrorResponse](#errorresponse)| 1163 | |**408**|timed out on request|[ErrorResponse](#errorresponse)| 1164 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1165 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1166 | |**default**|Unknown Error|No Content| 1167 | 1168 | 1169 | **Produces** 1170 | 1171 | * `application/json` 1172 | * `application/msgpack` 1173 | 1174 | 1175 | **Tags** 1176 | 1177 | * nonparticipating 1178 | * public 1179 | 1180 | 1181 | <a name="gettransactiongroupledgerstatedeltasforround"></a> 1182 | ### GET /v2/deltas/{round}/txn/group 1183 | Get LedgerStateDelta objects for all transaction groups in a given round 1184 | ``` 1185 | GET /v2/deltas/{round}/txn/group 1186 | ``` 1187 | 1188 | 1189 | **Description** 1190 | Get ledger deltas for transaction groups in a given round. 1191 | 1192 | 1193 | **Parameters** 1194 | 1195 | |Type|Name|Description|Schema| 1196 | |---|---|---|---| 1197 | |**Path**|**round** <br>*required*|The round for which the deltas are desired.|integer| 1198 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 1199 | 1200 | 1201 | **Responses** 1202 | 1203 | |HTTP Code|Description|Schema| 1204 | |---|---|---| 1205 | |**200**|Response containing all ledger state deltas for transaction groups, with their associated Ids, in a single round.|[Response 200](#gettransactiongroupledgerstatedeltasforround-response-200)| 1206 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1207 | |**404**|Could not find deltas for round|[ErrorResponse](#errorresponse)| 1208 | |**408**|timed out on request|[ErrorResponse](#errorresponse)| 1209 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1210 | |**501**|Not Implemented|[ErrorResponse](#errorresponse)| 1211 | |**default**|Unknown Error|No Content| 1212 | 1213 | <a name="gettransactiongroupledgerstatedeltasforround-response-200"></a> 1214 | **Response 200** 1215 | 1216 | |Name|Schema| 1217 | |---|---| 1218 | |**Deltas** <br>*required*|< [LedgerStateDeltaForTransactionGroup](#ledgerstatedeltafortransactiongroup) > array| 1219 | 1220 | 1221 | **Produces** 1222 | 1223 | * `application/json` 1224 | * `application/msgpack` 1225 | 1226 | 1227 | **Tags** 1228 | 1229 | * nonparticipating 1230 | * public 1231 | 1232 | 1233 | <a name="getblocktimestampoffset"></a> 1234 | ### GET /v2/devmode/blocks/offset 1235 | Returns the timestamp offset. Timestamp offsets can only be set in dev mode. 1236 | ``` 1237 | GET /v2/devmode/blocks/offset 1238 | ``` 1239 | 1240 | 1241 | **Description** 1242 | Gets the current timestamp offset. 1243 | 1244 | 1245 | **Responses** 1246 | 1247 | |HTTP Code|Description|Schema| 1248 | |---|---|---| 1249 | |**200**|Response containing the timestamp offset in seconds|[Response 200](#getblocktimestampoffset-response-200)| 1250 | |**400**|TimeStamp offset not set.|[ErrorResponse](#errorresponse)| 1251 | |**default**|Unknown Error|No Content| 1252 | 1253 | <a name="getblocktimestampoffset-response-200"></a> 1254 | **Response 200** 1255 | 1256 | |Name|Description|Schema| 1257 | |---|---|---| 1258 | |**offset** <br>*required*|Timestamp offset in seconds.|integer| 1259 | 1260 | 1261 | **Produces** 1262 | 1263 | * `application/json` 1264 | 1265 | 1266 | **Tags** 1267 | 1268 | * nonparticipating 1269 | * public 1270 | 1271 | 1272 | <a name="setblocktimestampoffset"></a> 1273 | ### POST /v2/devmode/blocks/offset/{offset} 1274 | Given a timestamp offset in seconds, adds the offset to every subsequent block header's timestamp. 1275 | ``` 1276 | POST /v2/devmode/blocks/offset/{offset} 1277 | ``` 1278 | 1279 | 1280 | **Description** 1281 | Sets the timestamp offset (seconds) for blocks in dev mode. Providing an offset of 0 will unset this value and try to use the real clock for the timestamp. 1282 | 1283 | 1284 | **Parameters** 1285 | 1286 | |Type|Name|Description|Schema| 1287 | |---|---|---|---| 1288 | |**Path**|**offset** <br>*required*|The timestamp offset for blocks in dev mode.|integer| 1289 | 1290 | 1291 | **Responses** 1292 | 1293 | |HTTP Code|Description|Schema| 1294 | |---|---|---| 1295 | |**200**|OK|No Content| 1296 | |**400**|Cannot set timestamp offset to a negative integer.|[ErrorResponse](#errorresponse)| 1297 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1298 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1299 | |**default**|Unknown Error|No Content| 1300 | 1301 | 1302 | **Tags** 1303 | 1304 | * nonparticipating 1305 | * public 1306 | 1307 | 1308 | <a name="experimentalcheck"></a> 1309 | ### GET /v2/experimental 1310 | Returns OK if experimental API is enabled. 1311 | ``` 1312 | GET /v2/experimental 1313 | ``` 1314 | 1315 | 1316 | **Responses** 1317 | 1318 | |HTTP Code|Description|Schema| 1319 | |---|---|---| 1320 | |**200**|Experimental API enabled|No Content| 1321 | |**404**|Experimental API not enabled|No Content| 1322 | |**default**|Unknown Error|No Content| 1323 | 1324 | 1325 | **Produces** 1326 | 1327 | * `application/json` 1328 | 1329 | 1330 | **Tags** 1331 | 1332 | * experimental 1333 | * public 1334 | 1335 | 1336 | <a name="getsupply"></a> 1337 | ### GET /v2/ledger/supply 1338 | Get the current supply reported by the ledger. 1339 | ``` 1340 | GET /v2/ledger/supply 1341 | ``` 1342 | 1343 | 1344 | **Responses** 1345 | 1346 | |HTTP Code|Description|Schema| 1347 | |---|---|---| 1348 | |**200**|Supply represents the current supply of MicroAlgos in the system.|[Response 200](#getsupply-response-200)| 1349 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1350 | |**default**|Unknown Error|No Content| 1351 | 1352 | <a name="getsupply-response-200"></a> 1353 | **Response 200** 1354 | 1355 | |Name|Description|Schema| 1356 | |---|---|---| 1357 | |**current_round** <br>*required*|Round|integer| 1358 | |**online-money** <br>*required*|OnlineMoney|integer| 1359 | |**total-money** <br>*required*|TotalMoney|integer| 1360 | 1361 | 1362 | **Produces** 1363 | 1364 | * `application/json` 1365 | 1366 | 1367 | **Tags** 1368 | 1369 | * nonparticipating 1370 | * public 1371 | 1372 | 1373 | <a name="getsyncround"></a> 1374 | ### GET /v2/ledger/sync 1375 | Returns the minimum sync round the ledger is keeping in cache. 1376 | ``` 1377 | GET /v2/ledger/sync 1378 | ``` 1379 | 1380 | 1381 | **Description** 1382 | Gets the minimum sync round for the ledger. 1383 | 1384 | 1385 | **Responses** 1386 | 1387 | |HTTP Code|Description|Schema| 1388 | |---|---|---| 1389 | |**200**|Response containing the ledger's minimum sync round|[Response 200](#getsyncround-response-200)| 1390 | |**400**|Sync round not set.|[ErrorResponse](#errorresponse)| 1391 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1392 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1393 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1394 | |**default**|Unknown Error|No Content| 1395 | 1396 | <a name="getsyncround-response-200"></a> 1397 | **Response 200** 1398 | 1399 | |Name|Description|Schema| 1400 | |---|---|---| 1401 | |**round** <br>*required*|The minimum sync round for the ledger.|integer| 1402 | 1403 | 1404 | **Tags** 1405 | 1406 | * data 1407 | * public 1408 | 1409 | 1410 | <a name="unsetsyncround"></a> 1411 | ### DELETE /v2/ledger/sync 1412 | Removes minimum sync round restriction from the ledger. 1413 | ``` 1414 | DELETE /v2/ledger/sync 1415 | ``` 1416 | 1417 | 1418 | **Description** 1419 | Unset the ledger sync round. 1420 | 1421 | 1422 | **Responses** 1423 | 1424 | |HTTP Code|Description|Schema| 1425 | |---|---|---| 1426 | |**200**||No Content| 1427 | |**400**|Sync round not set.|[ErrorResponse](#errorresponse)| 1428 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1429 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1430 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1431 | |**default**|Unknown Error|No Content| 1432 | 1433 | 1434 | **Tags** 1435 | 1436 | * data 1437 | * public 1438 | 1439 | 1440 | <a name="setsyncround"></a> 1441 | ### POST /v2/ledger/sync/{round} 1442 | Given a round, tells the ledger to keep that round in its cache. 1443 | ``` 1444 | POST /v2/ledger/sync/{round} 1445 | ``` 1446 | 1447 | 1448 | **Description** 1449 | Sets the minimum sync round on the ledger. 1450 | 1451 | 1452 | **Parameters** 1453 | 1454 | |Type|Name|Description|Schema| 1455 | |---|---|---|---| 1456 | |**Path**|**round** <br>*required*|The round for which the deltas are desired.|integer| 1457 | 1458 | 1459 | **Responses** 1460 | 1461 | |HTTP Code|Description|Schema| 1462 | |---|---|---| 1463 | |**200**||No Content| 1464 | |**400**|Can not set sync round to an earlier round than the current round.|[ErrorResponse](#errorresponse)| 1465 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1466 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1467 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1468 | |**default**|Unknown Error|No Content| 1469 | 1470 | 1471 | **Tags** 1472 | 1473 | * data 1474 | * public 1475 | 1476 | 1477 | <a name="addparticipationkey"></a> 1478 | ### POST /v2/participation 1479 | Add a participation key to the node 1480 | ``` 1481 | POST /v2/participation 1482 | ``` 1483 | 1484 | 1485 | **Parameters** 1486 | 1487 | |Type|Name|Description|Schema| 1488 | |---|---|---|---| 1489 | |**Body**|**participationkey** <br>*required*|The participation key to add to the node|string (binary)| 1490 | 1491 | 1492 | **Responses** 1493 | 1494 | |HTTP Code|Description|Schema| 1495 | |---|---|---| 1496 | |**200**|Participation ID of the submission|[Response 200](#addparticipationkey-response-200)| 1497 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1498 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1499 | |**404**|Participation Key Not Found|[ErrorResponse](#errorresponse)| 1500 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1501 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1502 | |**default**|Unknown Error|No Content| 1503 | 1504 | <a name="addparticipationkey-response-200"></a> 1505 | **Response 200** 1506 | 1507 | |Name|Description|Schema| 1508 | |---|---|---| 1509 | |**partId** <br>*required*|encoding of the participation ID.|string| 1510 | 1511 | 1512 | **Consumes** 1513 | 1514 | * `application/msgpack` 1515 | 1516 | 1517 | **Produces** 1518 | 1519 | * `application/json` 1520 | 1521 | 1522 | **Tags** 1523 | 1524 | * participating 1525 | * private 1526 | 1527 | 1528 | <a name="getparticipationkeys"></a> 1529 | ### GET /v2/participation 1530 | Return a list of participation keys 1531 | ``` 1532 | GET /v2/participation 1533 | ``` 1534 | 1535 | 1536 | **Description** 1537 | Return a list of participation keys 1538 | 1539 | 1540 | **Responses** 1541 | 1542 | |HTTP Code|Description|Schema| 1543 | |---|---|---| 1544 | |**200**|A list of participation keys|< [ParticipationKey](#participationkey) > array| 1545 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1546 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1547 | |**404**|Participation Key Not Found|[ErrorResponse](#errorresponse)| 1548 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1549 | |**default**|Unknown Error|No Content| 1550 | 1551 | 1552 | **Produces** 1553 | 1554 | * `application/json` 1555 | 1556 | 1557 | **Tags** 1558 | 1559 | * participating 1560 | * private 1561 | 1562 | 1563 | <a name="generateparticipationkeys"></a> 1564 | ### POST /v2/participation/generate/{address} 1565 | Generate and install participation keys to the node. 1566 | ``` 1567 | POST /v2/participation/generate/{address} 1568 | ``` 1569 | 1570 | 1571 | **Parameters** 1572 | 1573 | |Type|Name|Description|Schema| 1574 | |---|---|---|---| 1575 | |**Path**|**address** <br>*required*|An account public key|string| 1576 | |**Query**|**dilution** <br>*optional*|Key dilution for two-level participation keys (defaults to sqrt of validity window).|integer| 1577 | |**Query**|**first** <br>*required*|First round for participation key.|integer| 1578 | |**Query**|**last** <br>*required*|Last round for participation key.|integer| 1579 | 1580 | 1581 | **Responses** 1582 | 1583 | |HTTP Code|Description|Schema| 1584 | |---|---|---| 1585 | |**200**|An empty JSON object is returned if the generation process was started. Currently no status is available.|string| 1586 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1587 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1588 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1589 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1590 | |**default**|Unknown Error|No Content| 1591 | 1592 | 1593 | **Produces** 1594 | 1595 | * `application/json` 1596 | 1597 | 1598 | **Tags** 1599 | 1600 | * participating 1601 | * private 1602 | 1603 | 1604 | <a name="appendkeys"></a> 1605 | ### POST /v2/participation/{participation-id} 1606 | Append state proof keys to a participation key 1607 | ``` 1608 | POST /v2/participation/{participation-id} 1609 | ``` 1610 | 1611 | 1612 | **Description** 1613 | Given a participation ID, append state proof keys to a particular set of participation keys 1614 | 1615 | 1616 | **Parameters** 1617 | 1618 | |Type|Name|Description|Schema| 1619 | |---|---|---|---| 1620 | |**Path**|**participation-id** <br>*required*||string| 1621 | |**Body**|**keymap** <br>*required*|The state proof keys to add to an existing participation ID|string (binary)| 1622 | 1623 | 1624 | **Responses** 1625 | 1626 | |HTTP Code|Description|Schema| 1627 | |---|---|---| 1628 | |**200**|A detailed description of a participation ID|[ParticipationKey](#participationkey)| 1629 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1630 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1631 | |**404**|Participation Key Not Found|[ErrorResponse](#errorresponse)| 1632 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1633 | |**default**|Unknown Error|No Content| 1634 | 1635 | 1636 | **Consumes** 1637 | 1638 | * `application/msgpack` 1639 | 1640 | 1641 | **Produces** 1642 | 1643 | * `application/json` 1644 | 1645 | 1646 | **Tags** 1647 | 1648 | * participating 1649 | * private 1650 | 1651 | 1652 | <a name="getparticipationkeybyid"></a> 1653 | ### GET /v2/participation/{participation-id} 1654 | Get participation key info given a participation ID 1655 | ``` 1656 | GET /v2/participation/{participation-id} 1657 | ``` 1658 | 1659 | 1660 | **Description** 1661 | Given a participation ID, return information about that participation key 1662 | 1663 | 1664 | **Parameters** 1665 | 1666 | |Type|Name|Schema| 1667 | |---|---|---| 1668 | |**Path**|**participation-id** <br>*required*|string| 1669 | 1670 | 1671 | **Responses** 1672 | 1673 | |HTTP Code|Description|Schema| 1674 | |---|---|---| 1675 | |**200**|A detailed description of a participation ID|[ParticipationKey](#participationkey)| 1676 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1677 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1678 | |**404**|Participation Key Not Found|[ErrorResponse](#errorresponse)| 1679 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1680 | |**default**|Unknown Error|No Content| 1681 | 1682 | 1683 | **Produces** 1684 | 1685 | * `application/json` 1686 | 1687 | 1688 | **Tags** 1689 | 1690 | * participating 1691 | * private 1692 | 1693 | 1694 | <a name="deleteparticipationkeybyid"></a> 1695 | ### DELETE /v2/participation/{participation-id} 1696 | Delete a given participation key by ID 1697 | ``` 1698 | DELETE /v2/participation/{participation-id} 1699 | ``` 1700 | 1701 | 1702 | **Description** 1703 | Delete a given participation key by ID 1704 | 1705 | 1706 | **Parameters** 1707 | 1708 | |Type|Name|Schema| 1709 | |---|---|---| 1710 | |**Path**|**participation-id** <br>*required*|string| 1711 | 1712 | 1713 | **Responses** 1714 | 1715 | |HTTP Code|Description|Schema| 1716 | |---|---|---| 1717 | |**200**|Participation key got deleted by ID|No Content| 1718 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 1719 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1720 | |**404**|Participation Key Not Found|[ErrorResponse](#errorresponse)| 1721 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1722 | |**default**|Unknown Error|No Content| 1723 | 1724 | 1725 | **Produces** 1726 | 1727 | * `application/json` 1728 | 1729 | 1730 | **Tags** 1731 | 1732 | * participating 1733 | * private 1734 | 1735 | 1736 | <a name="shutdownnode"></a> 1737 | ### POST /v2/shutdown 1738 | 1739 | **Description** 1740 | Special management endpoint to shutdown the node. Optionally provide a timeout parameter to indicate that the node should begin shutting down after a number of seconds. 1741 | 1742 | 1743 | **Parameters** 1744 | 1745 | |Type|Name|Schema|Default| 1746 | |---|---|---|---| 1747 | |**Query**|**timeout** <br>*optional*|integer|`0`| 1748 | 1749 | 1750 | **Responses** 1751 | 1752 | |HTTP Code|Schema| 1753 | |---|---| 1754 | |**200**|object| 1755 | 1756 | 1757 | **Tags** 1758 | 1759 | * nonparticipating 1760 | * private 1761 | 1762 | 1763 | <a name="getstateproof"></a> 1764 | ### GET /v2/stateproofs/{round} 1765 | Get a state proof that covers a given round 1766 | ``` 1767 | GET /v2/stateproofs/{round} 1768 | ``` 1769 | 1770 | 1771 | **Parameters** 1772 | 1773 | |Type|Name|Description|Schema| 1774 | |---|---|---|---| 1775 | |**Path**|**round** <br>*required*|The round for which a state proof is desired.|integer| 1776 | 1777 | 1778 | **Responses** 1779 | 1780 | |HTTP Code|Description|Schema| 1781 | |---|---|---| 1782 | |**200**|StateProofResponse wraps the StateProof type in a response.|[StateProof](#stateproof)| 1783 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1784 | |**404**|Could not find a state proof that covers a given round|[ErrorResponse](#errorresponse)| 1785 | |**408**|timed out on request|[ErrorResponse](#errorresponse)| 1786 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1787 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1788 | |**default**|Unknown Error|No Content| 1789 | 1790 | 1791 | **Produces** 1792 | 1793 | * `application/json` 1794 | 1795 | 1796 | **Tags** 1797 | 1798 | * nonparticipating 1799 | * public 1800 | 1801 | 1802 | <a name="getstatus"></a> 1803 | ### GET /v2/status 1804 | Gets the current node status. 1805 | ``` 1806 | GET /v2/status 1807 | ``` 1808 | 1809 | 1810 | **Responses** 1811 | 1812 | |HTTP Code|Description|Schema| 1813 | |---|---|---| 1814 | |**200**||[Response 200](#getstatus-response-200)| 1815 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1816 | |**500**|Internal Error|string| 1817 | |**default**|Unknown Error|No Content| 1818 | 1819 | <a name="getstatus-response-200"></a> 1820 | **Response 200** 1821 | 1822 | |Name|Description|Schema| 1823 | |---|---|---| 1824 | |**catchpoint** <br>*optional*|The current catchpoint that is being caught up to|string| 1825 | |**catchpoint-acquired-blocks** <br>*optional*|The number of blocks that have already been obtained by the node as part of the catchup|integer| 1826 | |**catchpoint-processed-accounts** <br>*optional*|The number of accounts from the current catchpoint that have been processed so far as part of the catchup|integer| 1827 | |**catchpoint-processed-kvs** <br>*optional*|The number of key-values (KVs) from the current catchpoint that have been processed so far as part of the catchup|integer| 1828 | |**catchpoint-total-accounts** <br>*optional*|The total number of accounts included in the current catchpoint|integer| 1829 | |**catchpoint-total-blocks** <br>*optional*|The total number of blocks that are required to complete the current catchpoint catchup|integer| 1830 | |**catchpoint-total-kvs** <br>*optional*|The total number of key-values (KVs) included in the current catchpoint|integer| 1831 | |**catchpoint-verified-accounts** <br>*optional*|The number of accounts from the current catchpoint that have been verified so far as part of the catchup|integer| 1832 | |**catchpoint-verified-kvs** <br>*optional*|The number of key-values (KVs) from the current catchpoint that have been verified so far as part of the catchup|integer| 1833 | |**catchup-time** <br>*required*|CatchupTime in nanoseconds|integer| 1834 | |**last-catchpoint** <br>*optional*|The last catchpoint seen by the node|string| 1835 | |**last-round** <br>*required*|LastRound indicates the last round seen|integer| 1836 | |**last-version** <br>*required*|LastVersion indicates the last consensus version supported|string| 1837 | |**next-version** <br>*required*|NextVersion of consensus protocol to use|string| 1838 | |**next-version-round** <br>*required*|NextVersionRound is the round at which the next consensus version will apply|integer| 1839 | |**next-version-supported** <br>*required*|NextVersionSupported indicates whether the next consensus version is supported by this node|boolean| 1840 | |**stopped-at-unsupported-round** <br>*required*|StoppedAtUnsupportedRound indicates that the node does not support the new rounds and has stopped making progress|boolean| 1841 | |**time-since-last-round** <br>*required*|TimeSinceLastRound in nanoseconds|integer| 1842 | |**upgrade-delay** <br>*optional*|Upgrade delay|integer| 1843 | |**upgrade-next-protocol-vote-before** <br>*optional*|Next protocol round|integer| 1844 | |**upgrade-no-votes** <br>*optional*|No votes cast for consensus upgrade|integer| 1845 | |**upgrade-node-vote** <br>*optional*|This node's upgrade vote|boolean| 1846 | |**upgrade-vote-rounds** <br>*optional*|Total voting rounds for current upgrade|integer| 1847 | |**upgrade-votes** <br>*optional*|Total votes cast for consensus upgrade|integer| 1848 | |**upgrade-votes-required** <br>*optional*|Yes votes required for consensus upgrade|integer| 1849 | |**upgrade-yes-votes** <br>*optional*|Yes votes cast for consensus upgrade|integer| 1850 | 1851 | 1852 | **Produces** 1853 | 1854 | * `application/json` 1855 | 1856 | 1857 | **Tags** 1858 | 1859 | * nonparticipating 1860 | * public 1861 | 1862 | 1863 | <a name="waitforblock"></a> 1864 | ### GET /v2/status/wait-for-block-after/{round} 1865 | Gets the node status after waiting for a round after the given round. 1866 | ``` 1867 | GET /v2/status/wait-for-block-after/{round} 1868 | ``` 1869 | 1870 | 1871 | **Description** 1872 | Waits for a block to appear after round {round} and returns the node's status at the time. There is a 1 minute timeout, when reached the current status is returned regardless of whether or not it is the round after the given round. 1873 | 1874 | 1875 | **Parameters** 1876 | 1877 | |Type|Name|Description|Schema| 1878 | |---|---|---|---| 1879 | |**Path**|**round** <br>*required*|The round to wait until returning status|integer| 1880 | 1881 | 1882 | **Responses** 1883 | 1884 | |HTTP Code|Description|Schema| 1885 | |---|---|---| 1886 | |**200**||[Response 200](#waitforblock-response-200)| 1887 | |**400**|Bad Request -- number must be non-negative integer|[ErrorResponse](#errorresponse)| 1888 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1889 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1890 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 1891 | |**default**|Unknown Error|No Content| 1892 | 1893 | <a name="waitforblock-response-200"></a> 1894 | **Response 200** 1895 | 1896 | |Name|Description|Schema| 1897 | |---|---|---| 1898 | |**catchpoint** <br>*optional*|The current catchpoint that is being caught up to|string| 1899 | |**catchpoint-acquired-blocks** <br>*optional*|The number of blocks that have already been obtained by the node as part of the catchup|integer| 1900 | |**catchpoint-processed-accounts** <br>*optional*|The number of accounts from the current catchpoint that have been processed so far as part of the catchup|integer| 1901 | |**catchpoint-processed-kvs** <br>*optional*|The number of key-values (KVs) from the current catchpoint that have been processed so far as part of the catchup|integer| 1902 | |**catchpoint-total-accounts** <br>*optional*|The total number of accounts included in the current catchpoint|integer| 1903 | |**catchpoint-total-blocks** <br>*optional*|The total number of blocks that are required to complete the current catchpoint catchup|integer| 1904 | |**catchpoint-total-kvs** <br>*optional*|The total number of key-values (KVs) included in the current catchpoint|integer| 1905 | |**catchpoint-verified-accounts** <br>*optional*|The number of accounts from the current catchpoint that have been verified so far as part of the catchup|integer| 1906 | |**catchpoint-verified-kvs** <br>*optional*|The number of key-values (KVs) from the current catchpoint that have been verified so far as part of the catchup|integer| 1907 | |**catchup-time** <br>*required*|CatchupTime in nanoseconds|integer| 1908 | |**last-catchpoint** <br>*optional*|The last catchpoint seen by the node|string| 1909 | |**last-round** <br>*required*|LastRound indicates the last round seen|integer| 1910 | |**last-version** <br>*required*|LastVersion indicates the last consensus version supported|string| 1911 | |**next-version** <br>*required*|NextVersion of consensus protocol to use|string| 1912 | |**next-version-round** <br>*required*|NextVersionRound is the round at which the next consensus version will apply|integer| 1913 | |**next-version-supported** <br>*required*|NextVersionSupported indicates whether the next consensus version is supported by this node|boolean| 1914 | |**stopped-at-unsupported-round** <br>*required*|StoppedAtUnsupportedRound indicates that the node does not support the new rounds and has stopped making progress|boolean| 1915 | |**time-since-last-round** <br>*required*|TimeSinceLastRound in nanoseconds|integer| 1916 | |**upgrade-delay** <br>*optional*|Upgrade delay|integer| 1917 | |**upgrade-next-protocol-vote-before** <br>*optional*|Next protocol round|integer| 1918 | |**upgrade-no-votes** <br>*optional*|No votes cast for consensus upgrade|integer| 1919 | |**upgrade-node-vote** <br>*optional*|This node's upgrade vote|boolean| 1920 | |**upgrade-vote-rounds** <br>*optional*|Total voting rounds for current upgrade|integer| 1921 | |**upgrade-votes** <br>*optional*|Total votes cast for consensus upgrade|integer| 1922 | |**upgrade-votes-required** <br>*optional*|Yes votes required for consensus upgrade|integer| 1923 | |**upgrade-yes-votes** <br>*optional*|Yes votes cast for consensus upgrade|integer| 1924 | 1925 | 1926 | **Produces** 1927 | 1928 | * `application/json` 1929 | 1930 | 1931 | **Tags** 1932 | 1933 | * nonparticipating 1934 | * public 1935 | 1936 | 1937 | <a name="tealcompile"></a> 1938 | ### POST /v2/teal/compile 1939 | Compile TEAL source code to binary, produce its hash 1940 | ``` 1941 | POST /v2/teal/compile 1942 | ``` 1943 | 1944 | 1945 | **Description** 1946 | Given TEAL source code in plain text, return base64 encoded program bytes and base32 SHA512_256 hash of program bytes (Address style). This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true. 1947 | 1948 | 1949 | **Parameters** 1950 | 1951 | |Type|Name|Description|Schema| 1952 | |---|---|---|---| 1953 | |**Query**|**sourcemap** <br>*optional*|When set to `true`, returns the source map of the program as a JSON. Defaults to `false`.|boolean| 1954 | |**Body**|**source** <br>*required*|TEAL source code to be compiled|string (binary)| 1955 | 1956 | 1957 | **Responses** 1958 | 1959 | |HTTP Code|Description|Schema| 1960 | |---|---|---| 1961 | |**200**|Teal compile Result|[Response 200](#tealcompile-response-200)| 1962 | |**400**|Bad Request - Teal Compile Error|[ErrorResponse](#errorresponse)| 1963 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 1964 | |**404**|Developer API not enabled|No Content| 1965 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 1966 | |**default**|Unknown Error|No Content| 1967 | 1968 | <a name="tealcompile-response-200"></a> 1969 | **Response 200** 1970 | 1971 | |Name|Description|Schema| 1972 | |---|---|---| 1973 | |**hash** <br>*required*|base32 SHA512_256 of program bytes (Address style)|string| 1974 | |**result** <br>*required*|base64 encoded program bytes|string| 1975 | |**sourcemap** <br>*optional*|JSON of the source map|object| 1976 | 1977 | 1978 | **Consumes** 1979 | 1980 | * `text/plain` 1981 | 1982 | 1983 | **Produces** 1984 | 1985 | * `application/json` 1986 | 1987 | 1988 | **Tags** 1989 | 1990 | * nonparticipating 1991 | * public 1992 | 1993 | 1994 | <a name="tealdisassemble"></a> 1995 | ### POST /v2/teal/disassemble 1996 | Disassemble program bytes into the TEAL source code. 1997 | ``` 1998 | POST /v2/teal/disassemble 1999 | ``` 2000 | 2001 | 2002 | **Description** 2003 | Given the program bytes, return the TEAL source code in plain text. This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true. 2004 | 2005 | 2006 | **Parameters** 2007 | 2008 | |Type|Name|Description|Schema| 2009 | |---|---|---|---| 2010 | |**Body**|**source** <br>*required*|TEAL program binary to be disassembled|string (byte)| 2011 | 2012 | 2013 | **Responses** 2014 | 2015 | |HTTP Code|Description|Schema| 2016 | |---|---|---| 2017 | |**200**|Teal disassembly Result|[Response 200](#tealdisassemble-response-200)| 2018 | |**400**|Bad Request - Teal Compile Error|[ErrorResponse](#errorresponse)| 2019 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2020 | |**404**|Developer API not enabled|No Content| 2021 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 2022 | |**default**|Unknown Error|No Content| 2023 | 2024 | <a name="tealdisassemble-response-200"></a> 2025 | **Response 200** 2026 | 2027 | |Name|Description|Schema| 2028 | |---|---|---| 2029 | |**result** <br>*required*|disassembled Teal code|string| 2030 | 2031 | 2032 | **Consumes** 2033 | 2034 | * `application/x-binary` 2035 | 2036 | 2037 | **Produces** 2038 | 2039 | * `application/json` 2040 | 2041 | 2042 | **Tags** 2043 | 2044 | * nonparticipating 2045 | * public 2046 | 2047 | 2048 | <a name="tealdryrun"></a> 2049 | ### POST /v2/teal/dryrun 2050 | Provide debugging information for a transaction (or group). 2051 | ``` 2052 | POST /v2/teal/dryrun 2053 | ``` 2054 | 2055 | 2056 | **Description** 2057 | Executes TEAL program(s) in context and returns debugging information about the execution. This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true. 2058 | 2059 | 2060 | **Parameters** 2061 | 2062 | |Type|Name|Description|Schema| 2063 | |---|---|---|---| 2064 | |**Body**|**request** <br>*optional*|Transaction (or group) and any accompanying state-simulation data.|[DryrunRequest](#dryrunrequest)| 2065 | 2066 | 2067 | **Responses** 2068 | 2069 | |HTTP Code|Description|Schema| 2070 | |---|---|---| 2071 | |**200**|DryrunResponse contains per-txn debug information from a dryrun.|[Response 200](#tealdryrun-response-200)| 2072 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 2073 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2074 | |**404**|Developer API not enabled|No Content| 2075 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 2076 | |**default**|Unknown Error|No Content| 2077 | 2078 | <a name="tealdryrun-response-200"></a> 2079 | **Response 200** 2080 | 2081 | |Name|Description|Schema| 2082 | |---|---|---| 2083 | |**error** <br>*required*||string| 2084 | |**protocol-version** <br>*required*|Protocol version is the protocol version Dryrun was operated under.|string| 2085 | |**txns** <br>*required*||< [DryrunTxnResult](#dryruntxnresult) > array| 2086 | 2087 | 2088 | **Consumes** 2089 | 2090 | * `application/json` 2091 | * `application/msgpack` 2092 | 2093 | 2094 | **Produces** 2095 | 2096 | * `application/json` 2097 | 2098 | 2099 | **Tags** 2100 | 2101 | * nonparticipating 2102 | * public 2103 | 2104 | 2105 | <a name="rawtransaction"></a> 2106 | ### POST /v2/transactions 2107 | Broadcasts a raw transaction or transaction group to the network. 2108 | ``` 2109 | POST /v2/transactions 2110 | ``` 2111 | 2112 | 2113 | **Parameters** 2114 | 2115 | |Type|Name|Description|Schema| 2116 | |---|---|---|---| 2117 | |**Body**|**rawtxn** <br>*required*|The byte encoded signed transaction to broadcast to network|string (binary)| 2118 | 2119 | 2120 | **Responses** 2121 | 2122 | |HTTP Code|Description|Schema| 2123 | |---|---|---| 2124 | |**200**|Transaction ID of the submission.|[Response 200](#rawtransaction-response-200)| 2125 | |**400**|Bad Request - Malformed Algorand transaction|[ErrorResponse](#errorresponse)| 2126 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2127 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 2128 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 2129 | |**default**|Unknown Error|No Content| 2130 | 2131 | <a name="rawtransaction-response-200"></a> 2132 | **Response 200** 2133 | 2134 | |Name|Description|Schema| 2135 | |---|---|---| 2136 | |**txId** <br>*required*|encoding of the transaction hash.|string| 2137 | 2138 | 2139 | **Consumes** 2140 | 2141 | * `application/x-binary` 2142 | 2143 | 2144 | **Produces** 2145 | 2146 | * `application/json` 2147 | 2148 | 2149 | **Tags** 2150 | 2151 | * participating 2152 | * public 2153 | 2154 | 2155 | <a name="rawtransactionasync"></a> 2156 | ### POST /v2/transactions/async 2157 | Fast track for broadcasting a raw transaction or transaction group to the network through the tx handler without performing most of the checks and reporting detailed errors. Should be only used for development and performance testing. 2158 | ``` 2159 | POST /v2/transactions/async 2160 | ``` 2161 | 2162 | 2163 | **Parameters** 2164 | 2165 | |Type|Name|Description|Schema| 2166 | |---|---|---|---| 2167 | |**Body**|**rawtxn** <br>*required*|The byte encoded signed transaction to broadcast to network|string (binary)| 2168 | 2169 | 2170 | **Responses** 2171 | 2172 | |HTTP Code|Description|Schema| 2173 | |---|---|---| 2174 | |**200**||No Content| 2175 | |**400**|Bad Request - Malformed Algorand transaction|[ErrorResponse](#errorresponse)| 2176 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2177 | |**404**|Developer or Experimental API not enabled|No Content| 2178 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 2179 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 2180 | |**default**|Unknown Error|No Content| 2181 | 2182 | 2183 | **Consumes** 2184 | 2185 | * `application/x-binary` 2186 | 2187 | 2188 | **Tags** 2189 | 2190 | * experimental 2191 | * public 2192 | 2193 | 2194 | <a name="transactionparams"></a> 2195 | ### GET /v2/transactions/params 2196 | Get parameters for constructing a new transaction 2197 | ``` 2198 | GET /v2/transactions/params 2199 | ``` 2200 | 2201 | 2202 | **Responses** 2203 | 2204 | |HTTP Code|Description|Schema| 2205 | |---|---|---| 2206 | |**200**|TransactionParams contains the parameters that help a client construct a new transaction.|[Response 200](#transactionparams-response-200)| 2207 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2208 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 2209 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 2210 | |**default**|Unknown Error|No Content| 2211 | 2212 | <a name="transactionparams-response-200"></a> 2213 | **Response 200** 2214 | 2215 | |Name|Description|Schema| 2216 | |---|---|---| 2217 | |**consensus-version** <br>*required*|ConsensusVersion indicates the consensus protocol version<br>as of LastRound.|string| 2218 | |**fee** <br>*required*|Fee is the suggested transaction fee<br>Fee is in units of micro-Algos per byte.<br>Fee may fall to zero but transactions must still have a fee of<br>at least MinTxnFee for the current network protocol.|integer| 2219 | |**genesis-hash** <br>*required*|GenesisHash is the hash of the genesis block. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2220 | |**genesis-id** <br>*required*|GenesisID is an ID listed in the genesis block.|string| 2221 | |**last-round** <br>*required*|LastRound indicates the last round seen|integer| 2222 | |**min-fee** <br>*required*|The minimum transaction fee (not per byte) required for the<br>txn to validate for the current network protocol.|integer| 2223 | 2224 | 2225 | **Produces** 2226 | 2227 | * `application/json` 2228 | 2229 | 2230 | **Tags** 2231 | 2232 | * nonparticipating 2233 | * public 2234 | 2235 | 2236 | <a name="getpendingtransactions"></a> 2237 | ### GET /v2/transactions/pending 2238 | Get a list of unconfirmed transactions currently in the transaction pool. 2239 | ``` 2240 | GET /v2/transactions/pending 2241 | ``` 2242 | 2243 | 2244 | **Description** 2245 | Get the list of pending transactions, sorted by priority, in decreasing order, truncated at the end at MAX. If MAX = 0, returns all pending transactions. 2246 | 2247 | 2248 | **Parameters** 2249 | 2250 | |Type|Name|Description|Schema| 2251 | |---|---|---|---| 2252 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 2253 | |**Query**|**max** <br>*optional*|Truncated number of transactions to display. If max=0, returns all pending txns.|integer| 2254 | 2255 | 2256 | **Responses** 2257 | 2258 | |HTTP Code|Description|Schema| 2259 | |---|---|---| 2260 | |**200**|A potentially truncated list of transactions currently in the node's transaction pool. You can compute whether or not the list is truncated if the number of elements in the **top-transactions** array is fewer than **total-transactions**.|[Response 200](#getpendingtransactions-response-200)| 2261 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2262 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 2263 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 2264 | |**default**|Unknown Error|No Content| 2265 | 2266 | <a name="getpendingtransactions-response-200"></a> 2267 | **Response 200** 2268 | 2269 | |Name|Description|Schema| 2270 | |---|---|---| 2271 | |**top-transactions** <br>*required*|An array of signed transaction objects.|< object > array| 2272 | |**total-transactions** <br>*required*|Total number of transactions in the pool.|integer| 2273 | 2274 | 2275 | **Produces** 2276 | 2277 | * `application/json` 2278 | * `application/msgpack` 2279 | 2280 | 2281 | **Tags** 2282 | 2283 | * participating 2284 | * public 2285 | 2286 | 2287 | <a name="pendingtransactioninformation"></a> 2288 | ### GET /v2/transactions/pending/{txid} 2289 | Get a specific pending transaction. 2290 | ``` 2291 | GET /v2/transactions/pending/{txid} 2292 | ``` 2293 | 2294 | 2295 | **Description** 2296 | Given a transaction ID of a recently submitted transaction, it returns information about it. There are several cases when this might succeed: 2297 | - transaction committed (committed round > 0) 2298 | - transaction still in the pool (committed round = 0, pool error = "") 2299 | - transaction removed from pool due to error (committed round = 0, pool error != "") 2300 | Or the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error. 2301 | 2302 | 2303 | **Parameters** 2304 | 2305 | |Type|Name|Description|Schema| 2306 | |---|---|---|---| 2307 | |**Path**|**txid** <br>*required*|A transaction ID|string| 2308 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 2309 | 2310 | 2311 | **Responses** 2312 | 2313 | |HTTP Code|Description|Schema| 2314 | |---|---|---| 2315 | |**200**|Given a transaction ID of a recently submitted transaction, it returns information about it. There are several cases when this might succeed:<br>- transaction committed (committed round > 0)<br>- transaction still in the pool (committed round = 0, pool error = "")<br>- transaction removed from pool due to error (committed round = 0, pool error != "")<br><br>Or the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error.|[PendingTransactionResponse](#pendingtransactionresponse)| 2316 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 2317 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2318 | |**404**|Transaction Not Found|[ErrorResponse](#errorresponse)| 2319 | |**default**|Unknown Error|No Content| 2320 | 2321 | 2322 | **Produces** 2323 | 2324 | * `application/json` 2325 | * `application/msgpack` 2326 | 2327 | 2328 | **Tags** 2329 | 2330 | * participating 2331 | * public 2332 | 2333 | 2334 | <a name="simulatetransaction"></a> 2335 | ### POST /v2/transactions/simulate 2336 | Simulates a raw transaction or transaction group as it would be evaluated on the network. The simulation will use blockchain state from the latest committed round. 2337 | ``` 2338 | POST /v2/transactions/simulate 2339 | ``` 2340 | 2341 | 2342 | **Parameters** 2343 | 2344 | |Type|Name|Description|Schema| 2345 | |---|---|---|---| 2346 | |**Query**|**format** <br>*optional*|Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.|enum (json, msgpack)| 2347 | |**Body**|**request** <br>*required*|The transactions to simulate, along with any other inputs.|[SimulateRequest](#simulaterequest)| 2348 | 2349 | 2350 | **Responses** 2351 | 2352 | |HTTP Code|Description|Schema| 2353 | |---|---|---| 2354 | |**200**|Result of a transaction group simulation.|[Response 200](#simulatetransaction-response-200)| 2355 | |**400**|Bad Request|[ErrorResponse](#errorresponse)| 2356 | |**401**|Invalid API Token|[ErrorResponse](#errorresponse)| 2357 | |**500**|Internal Error|[ErrorResponse](#errorresponse)| 2358 | |**503**|Service Temporarily Unavailable|[ErrorResponse](#errorresponse)| 2359 | |**default**|Unknown Error|No Content| 2360 | 2361 | <a name="simulatetransaction-response-200"></a> 2362 | **Response 200** 2363 | 2364 | |Name|Description|Schema| 2365 | |---|---|---| 2366 | |**eval-overrides** <br>*optional*||[SimulationEvalOverrides](#simulationevaloverrides)| 2367 | |**exec-trace-config** <br>*optional*||[SimulateTraceConfig](#simulatetraceconfig)| 2368 | |**initial-states** <br>*optional*||[SimulateInitialStates](#simulateinitialstates)| 2369 | |**last-round** <br>*required*|The round immediately preceding this simulation. State changes through this round were used to run this simulation.|integer| 2370 | |**txn-groups** <br>*required*|A result object for each transaction group that was simulated.|< [SimulateTransactionGroupResult](#simulatetransactiongroupresult) > array| 2371 | |**version** <br>*required*|The version of this response object.|integer| 2372 | 2373 | 2374 | **Consumes** 2375 | 2376 | * `application/json` 2377 | * `application/msgpack` 2378 | 2379 | 2380 | **Produces** 2381 | 2382 | * `application/json` 2383 | * `application/msgpack` 2384 | 2385 | 2386 | **Tags** 2387 | 2388 | * nonparticipating 2389 | * public 2390 | 2391 | 2392 | <a name="getversion"></a> 2393 | ### GET /versions 2394 | 2395 | **Description** 2396 | Retrieves the supported API versions, binary build versions, and genesis information. 2397 | 2398 | 2399 | **Responses** 2400 | 2401 | |HTTP Code|Description|Schema| 2402 | |---|---|---| 2403 | |**200**|VersionsResponse is the response to 'GET /versions'|[Version](#version)| 2404 | 2405 | 2406 | **Produces** 2407 | 2408 | * `application/json` 2409 | 2410 | 2411 | **Tags** 2412 | 2413 | * common 2414 | * public 2415 | 2416 | 2417 | 2418 | 2419 | <a name="definitions"></a> 2420 | ## Definitions 2421 | 2422 | <a name="account"></a> 2423 | ### Account 2424 | Account information at a given round. 2425 | 2426 | Definition: 2427 | data/basics/userBalance.go : AccountData 2428 | 2429 | 2430 | |Name|Description|Schema| 2431 | |---|---|---| 2432 | |**address** <br>*required*|the account public key|string| 2433 | |**amount** <br>*required*|\[algo\] total number of MicroAlgos in the account|integer| 2434 | |**amount-without-pending-rewards** <br>*required*|specifies the amount of MicroAlgos in the account, without the pending rewards.|integer| 2435 | |**apps-local-state** <br>*optional*|\[appl\] applications local data stored in this account.<br><br>Note the raw object uses `map[int] -> AppLocalState` for this type.|< [ApplicationLocalState](#applicationlocalstate) > array| 2436 | |**apps-total-extra-pages** <br>*optional*|\[teap\] the sum of all extra application program pages for this account.|integer| 2437 | |**apps-total-schema** <br>*optional*|\[tsch\] stores the sum of all of the local schemas and global schemas in this account.<br><br>Note: the raw account uses `StateSchema` for this type.|[ApplicationStateSchema](#applicationstateschema)| 2438 | |**assets** <br>*optional*|\[asset\] assets held by this account.<br><br>Note the raw object uses `map[int] -> AssetHolding` for this type.|< [AssetHolding](#assetholding) > array| 2439 | |**auth-addr** <br>*optional*|\[spend\] the address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.|string| 2440 | |**created-apps** <br>*optional*|\[appp\] parameters of applications created by this account including app global data.<br><br>Note: the raw account uses `map[int] -> AppParams` for this type.|< [Application](#application) > array| 2441 | |**created-assets** <br>*optional*|\[apar\] parameters of assets created by this account.<br><br>Note: the raw account uses `map[int] -> Asset` for this type.|< [Asset](#asset) > array| 2442 | |**incentive-eligible** <br>*optional*|Whether or not the account can receive block incentives if its balance is in range at proposal time.|boolean| 2443 | |**last-heartbeat** <br>*optional*|The round in which this account last went online, or explicitly renewed their online status.|integer| 2444 | |**last-proposed** <br>*optional*|The round in which this account last proposed the block.|integer| 2445 | |**min-balance** <br>*required*|MicroAlgo balance required by the account.<br><br>The requirement grows based on asset and application usage.|integer| 2446 | |**participation** <br>*optional*||[AccountParticipation](#accountparticipation)| 2447 | |**pending-rewards** <br>*required*|amount of MicroAlgos of pending rewards in this account.|integer| 2448 | |**reward-base** <br>*optional*|\[ebase\] used as part of the rewards computation. Only applicable to accounts which are participating.|integer| 2449 | |**rewards** <br>*required*|\[ern\] total rewards of MicroAlgos the account has received, including pending rewards.|integer| 2450 | |**round** <br>*required*|The round for which this information is relevant.|integer| 2451 | |**sig-type** <br>*optional*|Indicates what type of signature is used by this account, must be one of:<br>* sig<br>* msig<br>* lsig|enum (sig, msig, lsig)| 2452 | |**status** <br>*required*|\[onl\] delegation status of the account's MicroAlgos<br>* Offline - indicates that the associated account is delegated.<br>* Online - indicates that the associated account used as part of the delegation pool.<br>* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.|string| 2453 | |**total-apps-opted-in** <br>*required*|The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.|integer| 2454 | |**total-assets-opted-in** <br>*required*|The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.|integer| 2455 | |**total-box-bytes** <br>*optional*|\[tbxb\] The total number of bytes used by this account's app's box keys and values.|integer| 2456 | |**total-boxes** <br>*optional*|\[tbx\] The number of existing boxes created by this account's app.|integer| 2457 | |**total-created-apps** <br>*required*|The count of all apps (AppParams objects) created by this account.|integer| 2458 | |**total-created-assets** <br>*required*|The count of all assets (AssetParams objects) created by this account.|integer| 2459 | 2460 | 2461 | <a name="accountassetholding"></a> 2462 | ### AccountAssetHolding 2463 | AccountAssetHolding describes the account's asset holding and asset parameters (if either exist) for a specific asset ID. 2464 | 2465 | 2466 | |Name|Description|Schema| 2467 | |---|---|---| 2468 | |**asset-holding** <br>*required*|\[asset\] Details about the asset held by this account.<br><br>The raw account uses `AssetHolding` for this type.|[AssetHolding](#assetholding)| 2469 | |**asset-params** <br>*optional*|\[apar\] parameters of the asset held by this account.<br><br>The raw account uses `AssetParams` for this type.|[AssetParams](#assetparams)| 2470 | 2471 | 2472 | <a name="accountparticipation"></a> 2473 | ### AccountParticipation 2474 | AccountParticipation describes the parameters used by this account in consensus protocol. 2475 | 2476 | 2477 | |Name|Description|Schema| 2478 | |---|---|---| 2479 | |**selection-participation-key** <br>*required*|\[sel\] Selection public key (if any) currently registered for this round. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2480 | |**state-proof-key** <br>*optional*|\[stprf\] Root of the state proof key (if any) <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2481 | |**vote-first-valid** <br>*required*|\[voteFst\] First round for which this participation is valid.|integer| 2482 | |**vote-key-dilution** <br>*required*|\[voteKD\] Number of subkeys in each batch of participation keys.|integer| 2483 | |**vote-last-valid** <br>*required*|\[voteLst\] Last round for which this participation is valid.|integer| 2484 | |**vote-participation-key** <br>*required*|\[vote\] root participation public key (if any) currently registered for this round. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2485 | 2486 | 2487 | <a name="accountstatedelta"></a> 2488 | ### AccountStateDelta 2489 | Application state delta. 2490 | 2491 | 2492 | |Name|Schema| 2493 | |---|---| 2494 | |**address** <br>*required*|string| 2495 | |**delta** <br>*required*|[StateDelta](#statedelta)| 2496 | 2497 | 2498 | <a name="appcalllogs"></a> 2499 | ### AppCallLogs 2500 | The logged messages from an app call along with the app ID and outer transaction ID. Logs appear in the same order that they were emitted. 2501 | 2502 | 2503 | |Name|Description|Schema| 2504 | |---|---|---| 2505 | |**application-index** <br>*required*|The application from which the logs were generated|integer| 2506 | |**logs** <br>*required*|An array of logs|< string (byte) > array| 2507 | |**txId** <br>*required*|The transaction ID of the outer app call that lead to these logs|string| 2508 | 2509 | 2510 | <a name="application"></a> 2511 | ### Application 2512 | Application index and its parameters 2513 | 2514 | 2515 | |Name|Description|Schema| 2516 | |---|---|---| 2517 | |**id** <br>*required*|\[appidx\] application index.|integer| 2518 | |**params** <br>*required*|\[appparams\] application parameters.|[ApplicationParams](#applicationparams)| 2519 | 2520 | 2521 | <a name="applicationinitialstates"></a> 2522 | ### ApplicationInitialStates 2523 | An application's initial global/local/box states that were accessed during simulation. 2524 | 2525 | 2526 | |Name|Description|Schema| 2527 | |---|---|---| 2528 | |**app-boxes** <br>*optional*||[ApplicationKVStorage](#applicationkvstorage)| 2529 | |**app-globals** <br>*optional*||[ApplicationKVStorage](#applicationkvstorage)| 2530 | |**app-locals** <br>*optional*|An application's initial local states tied to different accounts.|< [ApplicationKVStorage](#applicationkvstorage) > array| 2531 | |**id** <br>*required*|Application index.|integer| 2532 | 2533 | 2534 | <a name="applicationkvstorage"></a> 2535 | ### ApplicationKVStorage 2536 | An application's global/local/box state. 2537 | 2538 | 2539 | |Name|Description|Schema| 2540 | |---|---|---| 2541 | |**account** <br>*optional*|The address of the account associated with the local state.|string| 2542 | |**kvs** <br>*required*|Key-Value pairs representing application states.|< [AvmKeyValue](#avmkeyvalue) > array| 2543 | 2544 | 2545 | <a name="applicationlocalreference"></a> 2546 | ### ApplicationLocalReference 2547 | References an account's local state for an application. 2548 | 2549 | 2550 | |Name|Description|Schema| 2551 | |---|---|---| 2552 | |**account** <br>*required*|Address of the account with the local state.|string| 2553 | |**app** <br>*required*|Application ID of the local state application.|integer| 2554 | 2555 | 2556 | <a name="applicationlocalstate"></a> 2557 | ### ApplicationLocalState 2558 | Stores local state associated with an application. 2559 | 2560 | 2561 | |Name|Description|Schema| 2562 | |---|---|---| 2563 | |**id** <br>*required*|The application which this local state is for.|integer| 2564 | |**key-value** <br>*optional*|\[tkv\] storage.|[TealKeyValueStore](#tealkeyvaluestore)| 2565 | |**schema** <br>*required*|\[hsch\] schema.|[ApplicationStateSchema](#applicationstateschema)| 2566 | 2567 | 2568 | <a name="applicationparams"></a> 2569 | ### ApplicationParams 2570 | Stores the global information associated with an application. 2571 | 2572 | 2573 | |Name|Description|Schema| 2574 | |---|---|---| 2575 | |**approval-program** <br>*required*|\[approv\] approval program. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2576 | |**clear-state-program** <br>*required*|\[clearp\] approval program. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2577 | |**creator** <br>*required*|The address that created this application. This is the address where the parameters and global state for this application can be found.|string| 2578 | |**extra-program-pages** <br>*optional*|\[epp\] the amount of extra program pages available to this app.|integer| 2579 | |**global-state** <br>*optional*|\[gs\] global state|[TealKeyValueStore](#tealkeyvaluestore)| 2580 | |**global-state-schema** <br>*optional*|\[gsch\] global schema|[ApplicationStateSchema](#applicationstateschema)| 2581 | |**local-state-schema** <br>*optional*|\[lsch\] local schema|[ApplicationStateSchema](#applicationstateschema)| 2582 | 2583 | 2584 | <a name="applicationstateoperation"></a> 2585 | ### ApplicationStateOperation 2586 | An operation against an application's global/local/box state. 2587 | 2588 | 2589 | |Name|Description|Schema| 2590 | |---|---|---| 2591 | |**account** <br>*optional*|For local state changes, the address of the account associated with the local state.|string| 2592 | |**app-state-type** <br>*required*|Type of application state. Value `g` is **global state**, `l` is **local state**, `b` is **boxes**.|string| 2593 | |**key** <br>*required*|The key (name) of the global/local/box state. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2594 | |**new-value** <br>*optional*||[AvmValue](#avmvalue)| 2595 | |**operation** <br>*required*|Operation type. Value `w` is **write**, `d` is **delete**.|string| 2596 | 2597 | 2598 | <a name="applicationstateschema"></a> 2599 | ### ApplicationStateSchema 2600 | Specifies maximums on the number of each type that may be stored. 2601 | 2602 | 2603 | |Name|Description|Schema| 2604 | |---|---|---| 2605 | |**num-byte-slice** <br>*required*|\[nbs\] num of byte slices.|integer| 2606 | |**num-uint** <br>*required*|\[nui\] num of uints.|integer| 2607 | 2608 | 2609 | <a name="asset"></a> 2610 | ### Asset 2611 | Specifies both the unique identifier and the parameters for an asset 2612 | 2613 | 2614 | |Name|Description|Schema| 2615 | |---|---|---| 2616 | |**index** <br>*required*|unique asset identifier|integer| 2617 | |**params** <br>*required*||[AssetParams](#assetparams)| 2618 | 2619 | 2620 | <a name="assetholding"></a> 2621 | ### AssetHolding 2622 | Describes an asset held by an account. 2623 | 2624 | Definition: 2625 | data/basics/userBalance.go : AssetHolding 2626 | 2627 | 2628 | |Name|Description|Schema| 2629 | |---|---|---| 2630 | |**amount** <br>*required*|\[a\] number of units held.|integer| 2631 | |**asset-id** <br>*required*|Asset ID of the holding.|integer| 2632 | |**is-frozen** <br>*required*|\[f\] whether or not the holding is frozen.|boolean| 2633 | 2634 | 2635 | <a name="assetholdingreference"></a> 2636 | ### AssetHoldingReference 2637 | References an asset held by an account. 2638 | 2639 | 2640 | |Name|Description|Schema| 2641 | |---|---|---| 2642 | |**account** <br>*required*|Address of the account holding the asset.|string| 2643 | |**asset** <br>*required*|Asset ID of the holding.|integer| 2644 | 2645 | 2646 | <a name="assetparams"></a> 2647 | ### AssetParams 2648 | AssetParams specifies the parameters for an asset. 2649 | 2650 | \[apar\] when part of an AssetConfig transaction. 2651 | 2652 | Definition: 2653 | data/transactions/asset.go : AssetParams 2654 | 2655 | 2656 | |Name|Description|Schema| 2657 | |---|---|---| 2658 | |**clawback** <br>*optional*|\[c\] Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.|string| 2659 | |**creator** <br>*required*|The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.|string| 2660 | |**decimals** <br>*required*|\[dc\] The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive). <br>**Minimum value** : `0` <br>**Maximum value** : `19`|integer| 2661 | |**default-frozen** <br>*optional*|\[df\] Whether holdings of this asset are frozen by default.|boolean| 2662 | |**freeze** <br>*optional*|\[f\] Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.|string| 2663 | |**manager** <br>*optional*|\[m\] Address of account used to manage the keys of this asset and to destroy it.|string| 2664 | |**metadata-hash** <br>*optional*|\[am\] A commitment to some unspecified asset metadata. The format of this metadata is up to the application. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2665 | |**name** <br>*optional*|\[an\] Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.|string| 2666 | |**name-b64** <br>*optional*|Base64 encoded name of this asset, as supplied by the creator. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2667 | |**reserve** <br>*optional*|\[r\] Address of account holding reserve (non-minted) units of this asset.|string| 2668 | |**total** <br>*required*|\[t\] The total number of units of this asset.|integer| 2669 | |**unit-name** <br>*optional*|\[un\] Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.|string| 2670 | |**unit-name-b64** <br>*optional*|Base64 encoded name of a unit of this asset, as supplied by the creator. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2671 | |**url** <br>*optional*|\[au\] URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.|string| 2672 | |**url-b64** <br>*optional*|Base64 encoded URL where more information about the asset can be retrieved. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2673 | 2674 | 2675 | <a name="avmkeyvalue"></a> 2676 | ### AvmKeyValue 2677 | Represents an AVM key-value pair in an application store. 2678 | 2679 | 2680 | |Name|Description|Schema| 2681 | |---|---|---| 2682 | |**key** <br>*required*|**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2683 | |**value** <br>*required*||[AvmValue](#avmvalue)| 2684 | 2685 | 2686 | <a name="avmvalue"></a> 2687 | ### AvmValue 2688 | Represents an AVM value. 2689 | 2690 | 2691 | |Name|Description|Schema| 2692 | |---|---|---| 2693 | |**bytes** <br>*optional*|bytes value. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2694 | |**type** <br>*required*|value type. Value `1` refers to **bytes**, value `2` refers to **uint64**|integer| 2695 | |**uint** <br>*optional*|uint value.|integer| 2696 | 2697 | 2698 | <a name="box"></a> 2699 | ### Box 2700 | Box name and its content. 2701 | 2702 | 2703 | |Name|Description|Schema| 2704 | |---|---|---| 2705 | |**name** <br>*required*|\[name\] box name, base64 encoded <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2706 | |**round** <br>*required*|The round for which this information is relevant|integer| 2707 | |**value** <br>*required*|\[value\] box value, base64 encoded. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2708 | 2709 | 2710 | <a name="boxdescriptor"></a> 2711 | ### BoxDescriptor 2712 | Box descriptor describes a Box. 2713 | 2714 | 2715 | |Name|Description|Schema| 2716 | |---|---|---| 2717 | |**name** <br>*required*|Base64 encoded box name <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2718 | 2719 | 2720 | <a name="boxreference"></a> 2721 | ### BoxReference 2722 | References a box of an application. 2723 | 2724 | 2725 | |Name|Description|Schema| 2726 | |---|---|---| 2727 | |**app** <br>*required*|Application ID which this box belongs to|integer| 2728 | |**name** <br>*required*|Base64 encoded box name <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2729 | 2730 | 2731 | <a name="buildversion"></a> 2732 | ### BuildVersion 2733 | 2734 | |Name|Schema| 2735 | |---|---| 2736 | |**branch** <br>*required*|string| 2737 | |**build_number** <br>*required*|integer (int64)| 2738 | |**channel** <br>*required*|string| 2739 | |**commit_hash** <br>*required*|string| 2740 | |**major** <br>*required*|integer (int64)| 2741 | |**minor** <br>*required*|integer (int64)| 2742 | 2743 | 2744 | <a name="debugsettingsprof"></a> 2745 | ### DebugSettingsProf 2746 | algod mutex and blocking profiling state. 2747 | 2748 | 2749 | |Name|Description|Schema| 2750 | |---|---|---| 2751 | |**block-rate** <br>*optional*|The rate of blocking events. The profiler aims to sample an average of one blocking event per rate nanoseconds spent blocked. To turn off profiling entirely, pass rate 0. <br>**Example** : `1000`|integer| 2752 | |**mutex-rate** <br>*optional*|The rate of mutex events. On average 1/rate events are reported. To turn off profiling entirely, pass rate 0 <br>**Example** : `1000`|integer| 2753 | 2754 | 2755 | <a name="dryrunrequest"></a> 2756 | ### DryrunRequest 2757 | Request data type for dryrun endpoint. Given the Transactions and simulated ledger state upload, run TEAL scripts and return debugging information. 2758 | 2759 | 2760 | |Name|Description|Schema| 2761 | |---|---|---| 2762 | |**accounts** <br>*required*||< [Account](#account) > array| 2763 | |**apps** <br>*required*||< [Application](#application) > array| 2764 | |**latest-timestamp** <br>*required*|LatestTimestamp is available to some TEAL scripts. Defaults to the latest confirmed timestamp this algod is attached to.|integer (int64)| 2765 | |**protocol-version** <br>*required*|ProtocolVersion specifies a specific version string to operate under, otherwise whatever the current protocol of the network this algod is running in.|string| 2766 | |**round** <br>*required*|Round is available to some TEAL scripts. Defaults to the current round on the network this algod is attached to.|integer| 2767 | |**sources** <br>*required*||< [DryrunSource](#dryrunsource) > array| 2768 | |**txns** <br>*required*||< string (json) > array| 2769 | 2770 | 2771 | <a name="dryrunsource"></a> 2772 | ### DryrunSource 2773 | DryrunSource is TEAL source text that gets uploaded, compiled, and inserted into transactions or application state. 2774 | 2775 | 2776 | |Name|Description|Schema| 2777 | |---|---|---| 2778 | |**app-index** <br>*required*||integer| 2779 | |**field-name** <br>*required*|FieldName is what kind of sources this is. If lsig then it goes into the transactions[this.TxnIndex].LogicSig. If approv or clearp it goes into the Approval Program or Clear State Program of application[this.AppIndex].|string| 2780 | |**source** <br>*required*||string| 2781 | |**txn-index** <br>*required*||integer| 2782 | 2783 | 2784 | <a name="dryrunstate"></a> 2785 | ### DryrunState 2786 | Stores the TEAL eval step data 2787 | 2788 | 2789 | |Name|Description|Schema| 2790 | |---|---|---| 2791 | |**error** <br>*optional*|Evaluation error if any|string| 2792 | |**line** <br>*required*|Line number|integer| 2793 | |**pc** <br>*required*|Program counter|integer| 2794 | |**scratch** <br>*optional*||< [TealValue](#tealvalue) > array| 2795 | |**stack** <br>*required*||< [TealValue](#tealvalue) > array| 2796 | 2797 | 2798 | <a name="dryruntxnresult"></a> 2799 | ### DryrunTxnResult 2800 | DryrunTxnResult contains any LogicSig or ApplicationCall program debug information and state updates from a dryrun. 2801 | 2802 | 2803 | |Name|Description|Schema| 2804 | |---|---|---| 2805 | |**app-call-messages** <br>*optional*||< string > array| 2806 | |**app-call-trace** <br>*optional*||< [DryrunState](#dryrunstate) > array| 2807 | |**budget-added** <br>*optional*|Budget added during execution of app call transaction.|integer| 2808 | |**budget-consumed** <br>*optional*|Budget consumed during execution of app call transaction.|integer| 2809 | |**disassembly** <br>*required*|Disassembled program line by line.|< string > array| 2810 | |**global-delta** <br>*optional*||[StateDelta](#statedelta)| 2811 | |**local-deltas** <br>*optional*||< [AccountStateDelta](#accountstatedelta) > array| 2812 | |**logic-sig-disassembly** <br>*optional*|Disassembled lsig program line by line.|< string > array| 2813 | |**logic-sig-messages** <br>*optional*||< string > array| 2814 | |**logic-sig-trace** <br>*optional*||< [DryrunState](#dryrunstate) > array| 2815 | |**logs** <br>*optional*||< string (byte) > array| 2816 | 2817 | 2818 | <a name="errorresponse"></a> 2819 | ### ErrorResponse 2820 | An error response with optional data field. 2821 | 2822 | 2823 | |Name|Schema| 2824 | |---|---| 2825 | |**data** <br>*optional*|object| 2826 | |**message** <br>*required*|string| 2827 | 2828 | 2829 | <a name="evaldelta"></a> 2830 | ### EvalDelta 2831 | Represents a TEAL value delta. 2832 | 2833 | 2834 | |Name|Description|Schema| 2835 | |---|---|---| 2836 | |**action** <br>*required*|\[at\] delta action.|integer| 2837 | |**bytes** <br>*optional*|\[bs\] bytes value.|string| 2838 | |**uint** <br>*optional*|\[ui\] uint value.|integer| 2839 | 2840 | 2841 | <a name="evaldeltakeyvalue"></a> 2842 | ### EvalDeltaKeyValue 2843 | Key-value pairs for StateDelta. 2844 | 2845 | 2846 | |Name|Schema| 2847 | |---|---| 2848 | |**key** <br>*required*|string| 2849 | |**value** <br>*required*|[EvalDelta](#evaldelta)| 2850 | 2851 | 2852 | <a name="kvdelta"></a> 2853 | ### KvDelta 2854 | A single Delta containing the key, the previous value and the current value for a single round. 2855 | 2856 | 2857 | |Name|Description|Schema| 2858 | |---|---|---| 2859 | |**key** <br>*optional*|The key, base64 encoded. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2860 | |**value** <br>*optional*|The new value of the KV store entry, base64 encoded. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2861 | 2862 | 2863 | <a name="ledgerstatedelta"></a> 2864 | ### LedgerStateDelta 2865 | Ledger StateDelta object 2866 | 2867 | *Type* : object 2868 | 2869 | 2870 | <a name="ledgerstatedeltafortransactiongroup"></a> 2871 | ### LedgerStateDeltaForTransactionGroup 2872 | Contains a ledger delta for a single transaction group 2873 | 2874 | 2875 | |Name|Schema| 2876 | |---|---| 2877 | |**Delta** <br>*required*|[LedgerStateDelta](#ledgerstatedelta)| 2878 | |**Ids** <br>*required*|< string > array| 2879 | 2880 | 2881 | <a name="lightblockheaderproof"></a> 2882 | ### LightBlockHeaderProof 2883 | Proof of membership and position of a light block header. 2884 | 2885 | 2886 | |Name|Description|Schema| 2887 | |---|---|---| 2888 | |**index** <br>*required*|The index of the light block header in the vector commitment tree|integer| 2889 | |**proof** <br>*required*|The encoded proof. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 2890 | |**treedepth** <br>*required*|Represents the depth of the tree that is being proven, i.e. the number of edges from a leaf to the root.|integer| 2891 | 2892 | 2893 | <a name="participationkey"></a> 2894 | ### ParticipationKey 2895 | Represents a participation key used by the node. 2896 | 2897 | 2898 | |Name|Description|Schema| 2899 | |---|---|---| 2900 | |**address** <br>*required*|Address the key was generated for.|string| 2901 | |**effective-first-valid** <br>*optional*|When registered, this is the first round it may be used.|integer| 2902 | |**effective-last-valid** <br>*optional*|When registered, this is the last round it may be used.|integer| 2903 | |**id** <br>*required*|The key's ParticipationID.|string| 2904 | |**key** <br>*required*|Key information stored on the account.|[AccountParticipation](#accountparticipation)| 2905 | |**last-block-proposal** <br>*optional*|Round when this key was last used to propose a block.|integer| 2906 | |**last-state-proof** <br>*optional*|Round when this key was last used to generate a state proof.|integer| 2907 | |**last-vote** <br>*optional*|Round when this key was last used to vote.|integer| 2908 | 2909 | 2910 | <a name="pendingtransactionresponse"></a> 2911 | ### PendingTransactionResponse 2912 | Details about a pending transaction. If the transaction was recently confirmed, includes confirmation details like the round and reward details. 2913 | 2914 | 2915 | |Name|Description|Schema| 2916 | |---|---|---| 2917 | |**application-index** <br>*optional*|The application index if the transaction was found and it created an application.|integer| 2918 | |**asset-closing-amount** <br>*optional*|The number of the asset's unit that were transferred to the close-to address.|integer| 2919 | |**asset-index** <br>*optional*|The asset index if the transaction was found and it created an asset.|integer| 2920 | |**close-rewards** <br>*optional*|Rewards in microalgos applied to the close remainder to account.|integer| 2921 | |**closing-amount** <br>*optional*|Closing amount for the transaction.|integer| 2922 | |**confirmed-round** <br>*optional*|The round where this transaction was confirmed, if present.|integer| 2923 | |**global-state-delta** <br>*optional*|Global state key/value changes for the application being executed by this transaction.|[StateDelta](#statedelta)| 2924 | |**inner-txns** <br>*optional*|Inner transactions produced by application execution.|< [PendingTransactionResponse](#pendingtransactionresponse) > array| 2925 | |**local-state-delta** <br>*optional*|Local state key/value changes for the application being executed by this transaction.|< [AccountStateDelta](#accountstatedelta) > array| 2926 | |**logs** <br>*optional*|Logs for the application being executed by this transaction.|< string (byte) > array| 2927 | |**pool-error** <br>*required*|Indicates that the transaction was kicked out of this node's transaction pool (and specifies why that happened). An empty string indicates the transaction wasn't kicked out of this node's txpool due to an error.|string| 2928 | |**receiver-rewards** <br>*optional*|Rewards in microalgos applied to the receiver account.|integer| 2929 | |**sender-rewards** <br>*optional*|Rewards in microalgos applied to the sender account.|integer| 2930 | |**txn** <br>*required*|The raw signed transaction.|object| 2931 | 2932 | 2933 | <a name="scratchchange"></a> 2934 | ### ScratchChange 2935 | A write operation into a scratch slot. 2936 | 2937 | 2938 | |Name|Description|Schema| 2939 | |---|---|---| 2940 | |**new-value** <br>*required*||[AvmValue](#avmvalue)| 2941 | |**slot** <br>*required*|The scratch slot written.|integer| 2942 | 2943 | 2944 | <a name="simulateinitialstates"></a> 2945 | ### SimulateInitialStates 2946 | Initial states of resources that were accessed during simulation. 2947 | 2948 | 2949 | |Name|Description|Schema| 2950 | |---|---|---| 2951 | |**app-initial-states** <br>*optional*|The initial states of accessed application before simulation. The order of this array is arbitrary.|< [ApplicationInitialStates](#applicationinitialstates) > array| 2952 | 2953 | 2954 | <a name="simulaterequest"></a> 2955 | ### SimulateRequest 2956 | Request type for simulation endpoint. 2957 | 2958 | 2959 | |Name|Description|Schema| 2960 | |---|---|---| 2961 | |**allow-empty-signatures** <br>*optional*|Allows transactions without signatures to be simulated as if they had correct signatures.|boolean| 2962 | |**allow-more-logging** <br>*optional*|Lifts limits on log opcode usage during simulation.|boolean| 2963 | |**allow-unnamed-resources** <br>*optional*|Allows access to unnamed resources during simulation.|boolean| 2964 | |**exec-trace-config** <br>*optional*||[SimulateTraceConfig](#simulatetraceconfig)| 2965 | |**extra-opcode-budget** <br>*optional*|Applies extra opcode budget during simulation for each transaction group.|integer| 2966 | |**fix-signers** <br>*optional*|If true, signers for transactions that are missing signatures will be fixed during evaluation.|boolean| 2967 | |**round** <br>*optional*|If provided, specifies the round preceding the simulation. State changes through this round will be used to run this simulation. Usually only the 4 most recent rounds will be available (controlled by the node config value MaxAcctLookback). If not specified, defaults to the latest available round.|integer| 2968 | |**txn-groups** <br>*required*|The transaction groups to simulate.|< [SimulateRequestTransactionGroup](#simulaterequesttransactiongroup) > array| 2969 | 2970 | 2971 | <a name="simulaterequesttransactiongroup"></a> 2972 | ### SimulateRequestTransactionGroup 2973 | A transaction group to simulate. 2974 | 2975 | 2976 | |Name|Description|Schema| 2977 | |---|---|---| 2978 | |**txns** <br>*required*|An atomic transaction group.|< string (json) > array| 2979 | 2980 | 2981 | <a name="simulatetraceconfig"></a> 2982 | ### SimulateTraceConfig 2983 | An object that configures simulation execution trace. 2984 | 2985 | 2986 | |Name|Description|Schema| 2987 | |---|---|---| 2988 | |**enable** <br>*optional*|A boolean option for opting in execution trace features simulation endpoint.|boolean| 2989 | |**scratch-change** <br>*optional*|A boolean option enabling returning scratch slot changes together with execution trace during simulation.|boolean| 2990 | |**stack-change** <br>*optional*|A boolean option enabling returning stack changes together with execution trace during simulation.|boolean| 2991 | |**state-change** <br>*optional*|A boolean option enabling returning application state changes (global, local, and box changes) with the execution trace during simulation.|boolean| 2992 | 2993 | 2994 | <a name="simulatetransactiongroupresult"></a> 2995 | ### SimulateTransactionGroupResult 2996 | Simulation result for an atomic transaction group 2997 | 2998 | 2999 | |Name|Description|Schema| 3000 | |---|---|---| 3001 | |**app-budget-added** <br>*optional*|Total budget added during execution of app calls in the transaction group.|integer| 3002 | |**app-budget-consumed** <br>*optional*|Total budget consumed during execution of app calls in the transaction group.|integer| 3003 | |**failed-at** <br>*optional*|If present, indicates which transaction in this group caused the failure. This array represents the path to the failing transaction. Indexes are zero based, the first element indicates the top-level transaction, and successive elements indicate deeper inner transactions.|< integer > array| 3004 | |**failure-message** <br>*optional*|If present, indicates that the transaction group failed and specifies why that happened|string| 3005 | |**txn-results** <br>*required*|Simulation result for individual transactions|< [SimulateTransactionResult](#simulatetransactionresult) > array| 3006 | |**unnamed-resources-accessed** <br>*optional*||[SimulateUnnamedResourcesAccessed](#simulateunnamedresourcesaccessed)| 3007 | 3008 | 3009 | <a name="simulatetransactionresult"></a> 3010 | ### SimulateTransactionResult 3011 | Simulation result for an individual transaction 3012 | 3013 | 3014 | |Name|Description|Schema| 3015 | |---|---|---| 3016 | |**app-budget-consumed** <br>*optional*|Budget used during execution of an app call transaction. This value includes budged used by inner app calls spawned by this transaction.|integer| 3017 | |**exec-trace** <br>*optional*||[SimulationTransactionExecTrace](#simulationtransactionexectrace)| 3018 | |**fixed-signer** <br>*optional*|The account that needed to sign this transaction when no signature was provided and the provided signer was incorrect.|string| 3019 | |**logic-sig-budget-consumed** <br>*optional*|Budget used during execution of a logic sig transaction.|integer| 3020 | |**txn-result** <br>*required*||[PendingTransactionResponse](#pendingtransactionresponse)| 3021 | |**unnamed-resources-accessed** <br>*optional*||[SimulateUnnamedResourcesAccessed](#simulateunnamedresourcesaccessed)| 3022 | 3023 | 3024 | <a name="simulateunnamedresourcesaccessed"></a> 3025 | ### SimulateUnnamedResourcesAccessed 3026 | These are resources that were accessed by this group that would normally have caused failure, but were allowed in simulation. Depending on where this object is in the response, the unnamed resources it contains may or may not qualify for group resource sharing. If this is a field in SimulateTransactionGroupResult, the resources do qualify, but if this is a field in SimulateTransactionResult, they do not qualify. In order to make this group valid for actual submission, resources that qualify for group sharing can be made available by any transaction of the group; otherwise, resources must be placed in the same transaction which accessed them. 3027 | 3028 | 3029 | |Name|Description|Schema| 3030 | |---|---|---| 3031 | |**accounts** <br>*optional*|The unnamed accounts that were referenced. The order of this array is arbitrary.|< string > array| 3032 | |**app-locals** <br>*optional*|The unnamed application local states that were referenced. The order of this array is arbitrary.|< [ApplicationLocalReference](#applicationlocalreference) > array| 3033 | |**apps** <br>*optional*|The unnamed applications that were referenced. The order of this array is arbitrary.|< integer > array| 3034 | |**asset-holdings** <br>*optional*|The unnamed asset holdings that were referenced. The order of this array is arbitrary.|< [AssetHoldingReference](#assetholdingreference) > array| 3035 | |**assets** <br>*optional*|The unnamed assets that were referenced. The order of this array is arbitrary.|< integer > array| 3036 | |**boxes** <br>*optional*|The unnamed boxes that were referenced. The order of this array is arbitrary.|< [BoxReference](#boxreference) > array| 3037 | |**extra-box-refs** <br>*optional*|The number of extra box references used to increase the IO budget. This is in addition to the references defined in the input transaction group and any referenced to unnamed boxes.|integer| 3038 | 3039 | 3040 | <a name="simulationevaloverrides"></a> 3041 | ### SimulationEvalOverrides 3042 | The set of parameters and limits override during simulation. If this set of parameters is present, then evaluation parameters may differ from standard evaluation in certain ways. 3043 | 3044 | 3045 | |Name|Description|Schema| 3046 | |---|---|---| 3047 | |**allow-empty-signatures** <br>*optional*|If true, transactions without signatures are allowed and simulated as if they were properly signed.|boolean| 3048 | |**allow-unnamed-resources** <br>*optional*|If true, allows access to unnamed resources during simulation.|boolean| 3049 | |**extra-opcode-budget** <br>*optional*|The extra opcode budget added to each transaction group during simulation|integer| 3050 | |**fix-signers** <br>*optional*|If true, signers for transactions that are missing signatures will be fixed during evaluation.|boolean| 3051 | |**max-log-calls** <br>*optional*|The maximum log calls one can make during simulation|integer| 3052 | |**max-log-size** <br>*optional*|The maximum byte number to log during simulation|integer| 3053 | 3054 | 3055 | <a name="simulationopcodetraceunit"></a> 3056 | ### SimulationOpcodeTraceUnit 3057 | The set of trace information and effect from evaluating a single opcode. 3058 | 3059 | 3060 | |Name|Description|Schema| 3061 | |---|---|---| 3062 | |**pc** <br>*required*|The program counter of the current opcode being evaluated.|integer| 3063 | |**scratch-changes** <br>*optional*|The writes into scratch slots.|< [ScratchChange](#scratchchange) > array| 3064 | |**spawned-inners** <br>*optional*|The indexes of the traces for inner transactions spawned by this opcode, if any.|< integer > array| 3065 | |**stack-additions** <br>*optional*|The values added by this opcode to the stack.|< [AvmValue](#avmvalue) > array| 3066 | |**stack-pop-count** <br>*optional*|The number of deleted stack values by this opcode.|integer| 3067 | |**state-changes** <br>*optional*|The operations against the current application's states.|< [ApplicationStateOperation](#applicationstateoperation) > array| 3068 | 3069 | 3070 | <a name="simulationtransactionexectrace"></a> 3071 | ### SimulationTransactionExecTrace 3072 | The execution trace of calling an app or a logic sig, containing the inner app call trace in a recursive way. 3073 | 3074 | 3075 | |Name|Description|Schema| 3076 | |---|---|---| 3077 | |**approval-program-hash** <br>*optional*|SHA512_256 hash digest of the approval program executed in transaction. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 3078 | |**approval-program-trace** <br>*optional*|Program trace that contains a trace of opcode effects in an approval program.|< [SimulationOpcodeTraceUnit](#simulationopcodetraceunit) > array| 3079 | |**clear-state-program-hash** <br>*optional*|SHA512_256 hash digest of the clear state program executed in transaction. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 3080 | |**clear-state-program-trace** <br>*optional*|Program trace that contains a trace of opcode effects in a clear state program.|< [SimulationOpcodeTraceUnit](#simulationopcodetraceunit) > array| 3081 | |**clear-state-rollback** <br>*optional*|If true, indicates that the clear state program failed and any persistent state changes it produced should be reverted once the program exits.|boolean| 3082 | |**clear-state-rollback-error** <br>*optional*|The error message explaining why the clear state program failed. This field will only be populated if clear-state-rollback is true and the failure was due to an execution error.|string| 3083 | |**inner-trace** <br>*optional*|An array of SimulationTransactionExecTrace representing the execution trace of any inner transactions executed.|< [SimulationTransactionExecTrace](#simulationtransactionexectrace) > array| 3084 | |**logic-sig-hash** <br>*optional*|SHA512_256 hash digest of the logic sig executed in transaction. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 3085 | |**logic-sig-trace** <br>*optional*|Program trace that contains a trace of opcode effects in a logic sig.|< [SimulationOpcodeTraceUnit](#simulationopcodetraceunit) > array| 3086 | 3087 | 3088 | <a name="statedelta"></a> 3089 | ### StateDelta 3090 | Application state delta. 3091 | 3092 | *Type* : < [EvalDeltaKeyValue](#evaldeltakeyvalue) > array 3093 | 3094 | 3095 | <a name="stateproof"></a> 3096 | ### StateProof 3097 | Represents a state proof and its corresponding message 3098 | 3099 | 3100 | |Name|Description|Schema| 3101 | |---|---|---| 3102 | |**Message** <br>*required*||[StateProofMessage](#stateproofmessage)| 3103 | |**StateProof** <br>*required*|The encoded StateProof for the message. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 3104 | 3105 | 3106 | <a name="stateproofmessage"></a> 3107 | ### StateProofMessage 3108 | Represents the message that the state proofs are attesting to. 3109 | 3110 | 3111 | |Name|Description|Schema| 3112 | |---|---|---| 3113 | |**BlockHeadersCommitment** <br>*required*|The vector commitment root on all light block headers within a state proof interval. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 3114 | |**FirstAttestedRound** <br>*required*|The first round the message attests to.|integer| 3115 | |**LastAttestedRound** <br>*required*|The last round the message attests to.|integer| 3116 | |**LnProvenWeight** <br>*required*|An integer value representing the natural log of the proven weight with 16 bits of precision. This value would be used to verify the next state proof.|integer| 3117 | |**VotersCommitment** <br>*required*|The vector commitment root of the top N accounts to sign the next StateProof. <br>**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 3118 | 3119 | 3120 | <a name="tealkeyvalue"></a> 3121 | ### TealKeyValue 3122 | Represents a key-value pair in an application store. 3123 | 3124 | 3125 | |Name|Schema| 3126 | |---|---| 3127 | |**key** <br>*required*|string| 3128 | |**value** <br>*required*|[TealValue](#tealvalue)| 3129 | 3130 | 3131 | <a name="tealkeyvaluestore"></a> 3132 | ### TealKeyValueStore 3133 | Represents a key-value store for use in an application. 3134 | 3135 | *Type* : < [TealKeyValue](#tealkeyvalue) > array 3136 | 3137 | 3138 | <a name="tealvalue"></a> 3139 | ### TealValue 3140 | Represents a TEAL value. 3141 | 3142 | 3143 | |Name|Description|Schema| 3144 | |---|---|---| 3145 | |**bytes** <br>*required*|\[tb\] bytes value.|string| 3146 | |**type** <br>*required*|\[tt\] value type. Value `1` refers to **bytes**, value `2` refers to **uint**|integer| 3147 | |**uint** <br>*required*|\[ui\] uint value.|integer| 3148 | 3149 | 3150 | <a name="version"></a> 3151 | ### Version 3152 | algod version information. 3153 | 3154 | 3155 | |Name|Description|Schema| 3156 | |---|---|---| 3157 | |**build** <br>*required*||[BuildVersion](#buildversion)| 3158 | |**genesis_hash_b64** <br>*required*|**Pattern** : `"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"`|string (byte)| 3159 | |**genesis_id** <br>*required*||string| 3160 | |**versions** <br>*required*||< string > array| 3161 | 3162 | 3163 | 3164 | ```