This is page 6 of 74. Use http://codebase.md/goplausible/algorand-mcp?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/tools/apiManager/tinyman/bootstrap.ts: -------------------------------------------------------------------------------- ```typescript import { Tool, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js'; import { Bootstrap, SupportedNetwork } from '@tinymanorg/tinyman-js-sdk'; import { algodClient } from '../../../algorand-client.js'; import { env } from '../../../env.js'; export const bootstrapTools: Tool[] = [ { name: 'api_tinyman_get_pool_creation_quote', description: 'Get quote for creating a new Tinyman pool', inputSchema: { type: 'object', properties: { asset1Id: { type: 'integer', description: 'ID of the first asset' }, asset2Id: { type: 'integer', description: 'ID of the second asset' }, initiatorAddr: { type: 'string', description: 'Address of the account creating the pool' }, version: { type: 'string', enum: ['v1_1', 'v2'], description: 'Tinyman protocol version', default: 'v2' } }, required: ['asset1Id', 'asset2Id', 'initiatorAddr'] } } ]; export async function handleBootstrapTools(args: any): Promise<any> { const { name, asset1Id, asset2Id, initiatorAddr, version = 'v2' } = args; if (name === 'api_tinyman_get_pool_creation_quote') { try { const quote = await (version === 'v2' ? Bootstrap.v2.generateTxns({ client: algodClient, network: env.algorand_network as SupportedNetwork, asset_1: { id: asset1Id.toString(), unit_name: '' }, asset_2: { id: asset2Id.toString(), unit_name: '' }, initiatorAddr }) : Bootstrap.v1_1.generateTxns({ client: algodClient, network: env.algorand_network as SupportedNetwork, asset_1: { id: asset1Id.toString(), unit_name: '' }, asset_2: { id: asset2Id.toString(), unit_name: '' }, initiatorAddr })); return { version, asset1Id, asset2Id, transactionCount: quote.length, estimatedFees: quote.reduce((sum, txn) => sum + txn.txn.fee, 0) }; } catch (error) { throw new McpError( ErrorCode.InternalError, `Failed to get pool creation quote: ${error instanceof Error ? error.message : String(error)}` ); } } throw new McpError( ErrorCode.MethodNotFound, `Unknown bootstrap tool: ${name}` ); } ``` -------------------------------------------------------------------------------- /packages/server/src/tools/apiManager/index.ts: -------------------------------------------------------------------------------- ```typescript import { algodTools, handleAlgodTools } from './algod/index.js'; import { indexerTools, handleIndexerTools } from './indexer/index.js'; import { nfdTools, handleNFDTools } from './nfd/index.js'; import { vestigeTools, handleVestigeTools } from './vestige/index.js'; import { tinymanTools, handleTinymanTools } from './tinyman/index.js'; import { ultradeTools, handleUltradeTools } from './ultrade/index.js'; import { exampleTools, handleExampleTools } from './example/index.js'; import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js'; import { ResponseProcessor } from '../../utils/responseProcessor.js'; import { env } from '../../env.js'; // Combine all API tools export const apiManager = [ ...algodTools, ...indexerTools, ...nfdTools, ...(env.vestige_active==='true' ? vestigeTools : []), ...(env.tinyman_active==='true' ? tinymanTools : []), ...(env.ultrade_active==='true' ? ultradeTools : []), ...exampleTools ]; // Handle all API tools export async function handleApiManager(name: string, args: any): Promise<any> { try { let response; // Tinyman tools if (name.startsWith('api_tinyman_') && env.tinyman_active==='true') { response = await handleTinymanTools(name, args); } // Vestige tools else if (name.startsWith('api_vestige_') && env.vestige_active==='true') { response = await handleVestigeTools(name, args); } // Ultrade tools else if (name.startsWith('api_ultrade_')&& env.ultrade_active==='true') { response = await handleUltradeTools(name, args); } // NFD tools - check first since they're most specific else if (name.startsWith('api_nfd_')) { response = await handleNFDTools(name, args); } // Indexer tools else if (name.startsWith('api_indexer_')) { response = await handleIndexerTools(name, args); } // Algod tools - most general get_ prefix, check last else if (name.startsWith('api_algod_')) { response = await handleAlgodTools(name, args); } else if (name.startsWith('api_example_')) { response = await handleExampleTools(name, args); } else { throw new McpError( ErrorCode.MethodNotFound, `Unknown tool: ${name}` ); } // Process and format the response return ResponseProcessor.processResponse(response, args?.pageToken); } catch (error) { if (error instanceof McpError) { throw error; } throw new McpError( ErrorCode.InternalError, `Failed to handle resource tool: ${error instanceof Error ? error.message : String(error)}` ); } } ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:client.md: -------------------------------------------------------------------------------- ```markdown # Client management Client management is one of the core capabilities provided by AlgoKit Utils. It allows you to create [algod](https://developer.algorand.org/docs/rest-apis/algod), [indexer](https://developer.algorand.org/docs/rest-apis/indexer) and [kmd](https://developer.algorand.org/docs/rest-apis/kmd) clients against various networks resolved from environment or specified configuration. Any AlgoKit Utils function that needs one of these clients will take the underlying `algosdk` classes (`algosdk.v2client.algod.AlgodClient`, `algosdk.v2client.indexer.IndexerClient`, `algosdk.kmd.KMDClient`) so inline with the [Modularity](../index.md#id1) principle you can use existing logic to get instances of these clients without needing to use the Client management capability if you prefer. To see some usage examples check out the [automated tests](https://github.com/algorandfoundation/algokit-utils-py/blob/main/tests/test_network_clients.py). ## Network configuration The network configuration is specified using the `AlgoClientConfig` class. This same interface is used to specify the config for algod, indexer and kmd clients. There are a number of ways to produce one of these configuration objects: - Manually creating the object, e.g. `AlgoClientConfig(server="https://myalgodnode.com", token="SECRET_TOKEN")` - `algokit_utils.get_algonode_config(network, config, token)`: Loads an Algod or indexer config against [Nodely](https://nodely.io/docs/free/start) to either MainNet or TestNet - `algokit_utils.get_default_localnet_config(configOrPort)`: Loads an Algod, Indexer or Kmd config against [LocalNet](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/localnet.md) using the default configuration ## Clients Once you have the configuration for a client, to get the client you can use the following functions: - `algokit_utils.get_algod_client(config)`: Returns an Algod client for the given configuration or if none is provided retrieves a configuration from the environment using `ALGOD_SERVER`, `ALGOD_TOKEN` and optionally `ALGOD_PORT`. - `algokit_utils.get_indexer_client(config)`: Returns an Indexer client for given configuration or if none is provided retrieves a configuration from the environment using `INDEXER_SERVER`, `INDEXER_TOKEN` and optionally `INDEXER_PORT` - `algokit_utils.get_kmd_client_from_algod_client(config)`: - Returns a Kmd client based on the provided algod client configuration, with the assumption the KMD services is running on the same host but a different port (either `KMD_PORT` environment variable or `4002` by default) ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.KvDelta.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / KvDelta # Class: KvDelta [modelsv2](../modules/modelsv2.md).KvDelta A single Delta containing the key, the previous value and the current value for a single round. ## Hierarchy - `default` ↳ **`KvDelta`** ## Table of contents ### Constructors - [constructor](modelsv2.KvDelta.md#constructor) ### Properties - [attribute\_map](modelsv2.KvDelta.md#attribute_map) - [key](modelsv2.KvDelta.md#key) - [value](modelsv2.KvDelta.md#value) ### Methods - [get\_obj\_for\_encoding](modelsv2.KvDelta.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.KvDelta.md#from_obj_for_encoding) ## Constructors ### constructor • **new KvDelta**(`«destructured»`) Creates a new `KvDelta` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `key?` | `string` \| `Uint8Array` | | › `value?` | `string` \| `Uint8Array` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:3334 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### key • `Optional` **key**: `Uint8Array` The key, base64 encoded. #### Defined in client/v2/algod/models/types.ts:3322 ___ ### value • `Optional` **value**: `Uint8Array` The new value of the KV store entry, base64 encoded. #### Defined in client/v2/algod/models/types.ts:3327 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`KvDelta`](modelsv2.KvDelta.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`KvDelta`](modelsv2.KvDelta.md) #### Defined in client/v2/algod/models/types.ts:3358 ``` -------------------------------------------------------------------------------- /packages/server/src/tools/apiManager/tinyman/analytics.ts: -------------------------------------------------------------------------------- ```typescript import { Tool, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js'; import { poolUtils, SupportedNetwork } from '@tinymanorg/tinyman-js-sdk'; import { algodClient } from '../../../algorand-client.js'; import { env } from '../../../env.js'; export const analyticsTools: Tool[] = [ { name: 'api_tinyman_get_pool_analytics', description: 'Get analytics for a Tinyman pool', inputSchema: { type: 'object', properties: { asset1Id: { type: 'integer', description: 'ID of the first asset' }, asset2Id: { type: 'integer', description: 'ID of the second asset' }, version: { type: 'string', enum: ['v1_1', 'v2'], description: 'Tinyman protocol version', default: 'v2' } }, required: ['asset1Id', 'asset2Id'] } } ]; export async function handleAnalyticsTools(args: any): Promise<any> { const { name, asset1Id, asset2Id, version = 'v2' } = args; if (name === 'api_tinyman_get_pool_analytics') { try { // Get pool information first const poolInfo = await (version === 'v2' ? poolUtils.v2.getPoolInfo({ client: algodClient, network: env.algorand_network as SupportedNetwork, asset1ID: asset1Id, asset2ID: asset2Id }) : poolUtils.v1_1.getPoolInfo({ client: algodClient, network: env.algorand_network as SupportedNetwork, asset1ID: asset1Id, asset2ID: asset2Id })); // Get pool reserves const reserves = await (version === 'v2' ? poolUtils.v2.getPoolReserves(algodClient, poolInfo) : poolUtils.v1_1.getPoolReserves(algodClient, poolInfo)); // Calculate pool analytics const isEmpty = poolUtils.isPoolEmpty(reserves); const pairRatio = poolUtils.getPoolPairRatio(reserves); const analytics = { status: poolInfo.status, isEmpty, pairRatio, reserves: { asset1: reserves.asset1.toString(), asset2: reserves.asset2.toString(), issuedLiquidity: reserves.issuedLiquidity.toString(), round: reserves.round } }; return analytics; } catch (error) { throw new McpError( ErrorCode.InternalError, `Failed to get pool analytics: ${error instanceof Error ? error.message : String(error)}` ); } } throw new McpError( ErrorCode.MethodNotFound, `Unknown analytics tool: ${name}` ); } ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.ErrorResponse.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / ErrorResponse # Class: ErrorResponse [indexerModels](../modules/indexerModels.md).ErrorResponse Response for errors ## Hierarchy - `default` ↳ **`ErrorResponse`** ## Table of contents ### Constructors - [constructor](indexerModels.ErrorResponse.md#constructor) ### Properties - [attribute\_map](indexerModels.ErrorResponse.md#attribute_map) - [data](indexerModels.ErrorResponse.md#data) - [message](indexerModels.ErrorResponse.md#message) ### Methods - [get\_obj\_for\_encoding](indexerModels.ErrorResponse.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](indexerModels.ErrorResponse.md#from_obj_for_encoding) ## Constructors ### constructor • **new ErrorResponse**(`«destructured»`) Creates a new `ErrorResponse` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `data?` | `Record`\<`string`, `any`\> | | › `message` | `string` | #### Overrides BaseModel.constructor #### Defined in client/v2/indexer/models/types.ts:2922 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### data • `Optional` **data**: `Record`\<`string`, `any`\> #### Defined in client/v2/indexer/models/types.ts:2915 ___ ### message • **message**: `string` #### Defined in client/v2/indexer/models/types.ts:2913 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`ErrorResponse`](indexerModels.ErrorResponse.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`ErrorResponse`](indexerModels.ErrorResponse.md) #### Defined in client/v2/indexer/models/types.ts:2940 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:client.md: -------------------------------------------------------------------------------- ```markdown # Client management Client management is one of the core capabilities provided by AlgoKit Utils. It allows you to create [algod](https://developer.algorand.org/docs/rest-apis/algod), [indexer](https://developer.algorand.org/docs/rest-apis/indexer) and [kmd](https://developer.algorand.org/docs/rest-apis/kmd) clients against various networks resolved from environment or specified configuration. Any AlgoKit Utils function that needs one of these clients will take the underlying `algosdk` classes (`algosdk.v2client.algod.AlgodClient`, `algosdk.v2client.indexer.IndexerClient`, `algosdk.kmd.KMDClient`) so inline with the [Modularity](../index.md#core-principles) principle you can use existing logic to get instances of these clients without needing to use the Client management capability if you prefer. To see some usage examples check out the [automated tests](https://github.com/algorandfoundation/algokit-utils-py/blob/main/tests/test_network_clients.py). ## Network configuration The network configuration is specified using the `AlgoClientConfig` class. This same interface is used to specify the config for algod, indexer and kmd clients. There are a number of ways to produce one of these configuration objects: - Manually creating the object, e.g. `AlgoClientConfig(server="https://myalgodnode.com", token="SECRET_TOKEN")` - `algokit_utils.get_algonode_config(network, config, token)`: Loads an Algod or indexer config against [Nodely](https://nodely.io/docs/free/start) to either MainNet or TestNet - `algokit_utils.get_default_localnet_config(configOrPort)`: Loads an Algod, Indexer or Kmd config against [LocalNet](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/features/localnet.md) using the default configuration ## Clients Once you have the configuration for a client, to get the client you can use the following functions: - `algokit_utils.get_algod_client(config)`: Returns an Algod client for the given configuration or if none is provided retrieves a configuration from the environment using `ALGOD_SERVER`, `ALGOD_TOKEN` and optionally `ALGOD_PORT`. - `algokit_utils.get_indexer_client(config)`: Returns an Indexer client for given configuration or if none is provided retrieves a configuration from the environment using `INDEXER_SERVER`, `INDEXER_TOKEN` and optionally `INDEXER_PORT` - `algokit_utils.get_kmd_client_from_algod_client(config)`: - Returns a Kmd client based on the provided algod client configuration, with the assumption the KMD services is running on the same host but a different port (either `KMD_PORT` environment variable or `4002` by default) ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/liquid-auth:docs:server:running-locally.md: -------------------------------------------------------------------------------- ```markdown --- title: 'Server: Running Locally' sidebar: order: 1 label: "Running Locally" --- The Liquid Auth service is distributed as a Docker image. FIDO2 and WebRTC require a secure connection, we recommend [using ngrok](#ngrok) to create a secure tunnel to your local server. See the server [integrations](./integrations) guide for examples of how to add Liquid Auth to a web application. ### Prerequisites [Install Docker]() and [login to the GitHub Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-with-a-personal-access-token-classic). ```bash export CR_PAT=<YOUR_TOKEN> echo $CR_PAT | docker login ghcr.io -u <USERNAME> --password-stdin ``` ## Docker Image The service is designed to be run in a Docker container, it requires a [MongoDB]() and [Redis]() instance to be running. See the [Environment Variables](../environment-variables) section for more information about crafting a `.env.docker` file. ```bash docker run -d --env-file .env.docker -p 3000:3000 ghcr.io/algorandfoundation/liquid-auth:develop ``` ### Compose Example > Example of using Docker Compose to run the Liquid Auth service. ```yaml #docker-compose.yml services: liquid-auth: image: ghcr.io/algorandfoundation/liquid-auth:develop env_file: - .env.docker ports: - "3000:3000" depends_on: - redis - mongo redis: image: redis ports: - "6379:6379" mongo: image: mongo:7.0 environment: - MONGO_INITDB_DATABASE=${DB_NAME:-fido} - MONGO_INITDB_ROOT_USERNAME=${DB_USERNAME:-algorand} - MONGO_INITDB_ROOT_PASSWORD=${DB_PASSWORD:-algorand} ports: - "27017:27017" volumes: - mongo:/data/db volumes: mongo: ``` ### Building Optionally, create the Docker image locally from the source: ```bash git clone [email protected]:algorandfoundation/liquid-auth.git && cd liquid-auth docker build -t my-amazing-liquid-auth:latest . ``` ## NGROK Sign up for a free account at [ngrok](https://ngrok.com/) and follow the instructions to get your `<NGROK_AUTH_TOKEN>` and `<NGROK_STATIC_DOMAIN>`. #### Configuration ngrok will ask you to add your auth token to your configuration file. ``` bash ngrok config add-authtoken <NGROK_AUTH_TOKEN> ``` It will then ask you to deploy your static domain, make sure to change the port to **3000** like this: ``` bash ngrok http --domain=<NGROK_STATIC_DOMAIN> 3000 ``` Ensure the service's `ORIGIN` and `HOSTNAME` [environment variables](../environment-variables) are configured correctly with the ngrok domain. ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResults.md: -------------------------------------------------------------------------------- ```markdown [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / ConfirmedTransactionResults # Interface: ConfirmedTransactionResults [types/transaction](../modules/types_transaction.md).ConfirmedTransactionResults The result of sending and confirming one or more transactions, but where there is a primary transaction of interest ## Hierarchy - [`SendTransactionResult`](types_transaction.SendTransactionResult.md) - [`SendTransactionResults`](types_transaction.SendTransactionResults.md) ↳ **`ConfirmedTransactionResults`** ## Table of contents ### Properties - [confirmation](types_transaction.ConfirmedTransactionResults.md#confirmation) - [confirmations](types_transaction.ConfirmedTransactionResults.md#confirmations) - [transaction](types_transaction.ConfirmedTransactionResults.md#transaction) - [transactions](types_transaction.ConfirmedTransactionResults.md#transactions) ## Properties ### confirmation • **confirmation**: `PendingTransactionResponse` The response from sending and waiting for the primary transaction #### Overrides [SendTransactionResult](types_transaction.SendTransactionResult.md).[confirmation](types_transaction.SendTransactionResult.md#confirmation) #### Defined in [src/types/transaction.ts:93](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L93) ___ ### confirmations • **confirmations**: `PendingTransactionResponse`[] The response from sending and waiting for the transactions #### Overrides [SendTransactionResults](types_transaction.SendTransactionResults.md).[confirmations](types_transaction.SendTransactionResults.md#confirmations) #### Defined in [src/types/transaction.ts:95](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L95) ___ ### transaction • **transaction**: `Transaction` The transaction #### Inherited from [SendTransactionResult](types_transaction.SendTransactionResult.md).[transaction](types_transaction.SendTransactionResult.md#transaction) #### Defined in [src/types/transaction.ts:55](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L55) ___ ### transactions • **transactions**: `Transaction`[] The transactions that have been prepared and/or sent #### Inherited from [SendTransactionResults](types_transaction.SendTransactionResults.md).[transactions](types_transaction.SendTransactionResults.md#transactions) #### Defined in [src/types/transaction.ts:63](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L63) ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/ARCs:specs:arc-0036.md: -------------------------------------------------------------------------------- ```markdown --- arc: 36 title: Convention for declaring filters of an NFT description: This is a convention for declaring filters in an NFT metadata author: Stéphane Barroso (@sudoweezy) discussions-to: https://github.com/algorandfoundation/ARCs/issues/163 status: Final type: Standards Track category: ARC sub-category: Asa created: 2023-03-10 --- # Standard for declaring filters inside non-fungible token metadata ## Abstract The goal is to establish a standard for how filters are declared inside a non-fungible (NFT) metadata. ## Specification The key words "**MUST**", "**MUST NOT**", "**REQUIRED**", "**SHALL**", "**SHALL NOT**", "**SHOULD**", "**SHOULD NOT**", "**RECOMMENDED**", "**MAY**", and "**OPTIONAL**" in this document are to be interpreted as described in <a href="https://www.ietf.org/rfc/rfc2119.txt">RFC-2119</a>. > Comments like this are non-normative. If the property `filters` is provided anywhere in the metadata of an nft, it **MUST** adhere to the schema below. If the nft is a part of a larger collection and that collection has filters, all the available filters for the collection **MUST** be listed as a property of the `filters` object. If the nft does not have a particular filter, it's value **MUST** be "none". The JSON schema for `filters` is as follows: ```json { "title": "Filters for Non-Fungible Token", "type": "object", "properties": { "filters": { "type": "object", "description": "Filters can be used to filter nfts of a collection. Values must be an array of strings or numbers." } } } ``` #### Examples ##### Example of an NFT that has traits & filters ```json { "name": "NFT With Traits & filters", "description": "NFT with traits & filters", "image": "https://s3.amazonaws.com/your-bucket/images/two.png", "image_integrity": "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", "properties": { "creator": "Tim Smith", "created_at": "January 2, 2022", "traits": { "background": "yellow", "head": "curly" }, "filters": { "xp": 120, "state": "REM" } } } ``` ## Rationale A standard for filters is needed so programs know what to expect in order to filter things without using rarity. ## Backwards Compatibility If `filters` wants to be added on top of fields [ARC-16](./arc-0016.md) `traits` and `filters` should be inside the `properties` object. (eg: [Example above](./arc-0036.md#example-of-an-nft-that-has-traits--filters)) ## Security Considerations None. ## Copyright Copyright and related rights waived via <a href="https://creativecommons.org/publicdomain/zero/1.0/">CCO</a>. ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/ARCs:specs:arc-0022.md: -------------------------------------------------------------------------------- ```markdown --- arc: 22 title: Add `read-only` annotation to ABI methods description: Convention for creating methods which don't mutate state author: ori-shem-tov (@ori-shem-tov) discussions-to: https://github.com/algorandfoundation/ARCs/issues/125 status: Final type: Standards Track category: Interface sub-category: Application created: 2022-03-16 requires: 4 --- # Extend [ARC-4](./arc-0004.md) to add `read-only` annotation to methods The following document introduces a convention for creating methods (as described in [ARC-4](./arc-0004.md)) which don't mutate state. ## Abstract The goal of this convention is to allow smart contract developers to distinguish between methods which mutate state and methods which don't by introducing a new property to the `Method` descriptor. ## Specification The key words "**MUST**", "**MUST NOT**", "**REQUIRED**", "**SHALL**", "**SHALL NOT**", "**SHOULD**", "**SHOULD NOT**", "**RECOMMENDED**", "**MAY**", and "**OPTIONAL**" in this document are to be interpreted as described in <a href="https://www.ietf.org/rfc/rfc2119.txt">RFC-2119</a>. > Comments like this are non-normative. ### Read-only functions A `read-only` function is a function with no side-effects. In particular, a `read-only` function **SHOULD NOT** include: - local/global state modifications - calls to non `read-only` functions - inner-transactions It is **RECOMMENDED** for a `read-only` function to not access transactions in a group or metadata of the group. > The goal is to allow algod to easily execute `read-only` functions without broadcasting a transaction In order to support this annotation, the following `Method` descriptor is suggested: ```typescript interface Method { /** The name of the method */ name: string; /** Optional, user-friendly description for the method */ desc?: string; /** Optional, is it a read-only method (according to ARC-22) */ readonly?: boolean /** The arguments of the method, in order */ args: Array<{ /** The type of the argument */ type: string; /** Optional, user-friendly name for the argument */ name?: string; /** Optional, user-friendly description for the argument */ desc?: string; }>; /** Information about the method's return value */ returns: { /** The type of the return value, or "void" to indicate no return value. */ type: string; /** Optional, user-friendly description for the return value */ desc?: string; }; } ``` ## Rationale ## Security Considerations None. ## Copyright Copyright and related rights waived via <a href="https://creativecommons.org/publicdomain/zero/1.0/">CCO</a>. ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.Application.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / Application # Class: Application [modelsv2](../modules/modelsv2.md).Application Application index and its parameters ## Hierarchy - `default` ↳ **`Application`** ## Table of contents ### Constructors - [constructor](modelsv2.Application.md#constructor) ### Properties - [attribute\_map](modelsv2.Application.md#attribute_map) - [id](modelsv2.Application.md#id) - [params](modelsv2.Application.md#params) ### Methods - [get\_obj\_for\_encoding](modelsv2.Application.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.Application.md#from_obj_for_encoding) ## Constructors ### constructor • **new Application**(`«destructured»`) Creates a new `Application` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `id` | `number` \| `bigint` | | › `params` | [`ApplicationParams`](modelsv2.ApplicationParams.md) | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:986 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### id • **id**: `number` \| `bigint` (appidx) application index. #### Defined in client/v2/algod/models/types.ts:974 ___ ### params • **params**: [`ApplicationParams`](modelsv2.ApplicationParams.md) (appparams) application parameters. #### Defined in client/v2/algod/models/types.ts:979 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`Application`](modelsv2.Application.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`Application`](modelsv2.Application.md) #### Defined in client/v2/algod/models/types.ts:1004 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/puya:typescript:docs:README.md: -------------------------------------------------------------------------------- ```markdown # Algorand TypeScript Algorand TypeScript is a partial implementation of the TypeScript programming language that runs on the Algorand Virtual Machine (AVM). It includes a statically typed framework for development of Algorand smart contracts and logic signatures, with TypeScript interfaces to underlying AVM functionality that works with standard TypeScript tooling. It maintains the syntax and semantics of TypeScript such that a developer who knows TypeScript can make safe assumptions about the behaviour of the compiled code when running on the AVM. Algorand TypeScript is also executable TypeScript that can be run and debugged on a Node.js virtual machine with transpilation to EcmaScript and run from automated tests. # Guiding Principals ## Familiarity Where the base language (TypeScript/EcmaScript) doesn't support a given feature natively (eg. unsigned fixed size integers), prior art should be used to inspire an API that is familiar to a user of the base language and transpilation can be used to ensure this code executes correctly. ## Leveraging TypeScript type system TypeScript's type system should be used where ever possible to ensure code is type safe before compilation to create a fast feedback loop and nudge users into the [pit of success](https://blog.codinghorror.com/falling-into-the-pit-of-success/). ## TEALScript compatibility [TEALScript](https://github.com/algorandfoundation/tealscript/) is an existing TypeScript-like language to TEAL compiler however the source code is not executable TypeScript, and it does not prioritise semantic compatibility. Wherever possible, Algorand TypeScript should endeavour to be compatible with existing TEALScript contracts and where not possible migratable with minimal changes. ## Algorand Python [Algorand Python](https://algorandfoundation.github.io/puya/) is the Python equivalent of Algorand TypeScript. Whilst there is a primary goal to produce an API which makes sense in the TypeScript ecosystem, a secondary goal is to minimise the disparity between the two APIs such that users who choose to, or are required to develop on both platforms are not facing a completely unfamiliar API. # Architecture decisions As part of developing Algorand TypeScript we are documenting key architecture decisions using [Architecture Decision Records (ADRs)](https://adr.github.io/). The following are the key decisions that have been made thus far: - [2024-05-21: Primitive integer types](./architecture-decisions/2024-05-21_primitive-integer-types.md) - [2024-05-21: Primitive byte and string types](./architecture-decisions/2024-05-21_primitive-bytes-and-strings.md) ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.EvalDeltaKeyValue.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / EvalDeltaKeyValue # Class: EvalDeltaKeyValue [modelsv2](../modules/modelsv2.md).EvalDeltaKeyValue Key-value pairs for StateDelta. ## Hierarchy - `default` ↳ **`EvalDeltaKeyValue`** ## Table of contents ### Constructors - [constructor](modelsv2.EvalDeltaKeyValue.md#constructor) ### Properties - [attribute\_map](modelsv2.EvalDeltaKeyValue.md#attribute_map) - [key](modelsv2.EvalDeltaKeyValue.md#key) - [value](modelsv2.EvalDeltaKeyValue.md#value) ### Methods - [get\_obj\_for\_encoding](modelsv2.EvalDeltaKeyValue.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.EvalDeltaKeyValue.md#from_obj_for_encoding) ## Constructors ### constructor • **new EvalDeltaKeyValue**(`«destructured»`) Creates a new `EvalDeltaKeyValue` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `key` | `string` | | › `value` | [`EvalDelta`](modelsv2.EvalDelta.md) | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:3216 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### key • **key**: `string` #### Defined in client/v2/algod/models/types.ts:3204 ___ ### value • **value**: [`EvalDelta`](modelsv2.EvalDelta.md) Represents a TEAL value delta. #### Defined in client/v2/algod/models/types.ts:3209 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`EvalDeltaKeyValue`](modelsv2.EvalDeltaKeyValue.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`EvalDeltaKeyValue`](modelsv2.EvalDeltaKeyValue.md) #### Defined in client/v2/algod/models/types.ts:3228 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.ScratchChange.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / ScratchChange # Class: ScratchChange [modelsv2](../modules/modelsv2.md).ScratchChange A write operation into a scratch slot. ## Hierarchy - `default` ↳ **`ScratchChange`** ## Table of contents ### Constructors - [constructor](modelsv2.ScratchChange.md#constructor) ### Properties - [attribute\_map](modelsv2.ScratchChange.md#attribute_map) - [newValue](modelsv2.ScratchChange.md#newvalue) - [slot](modelsv2.ScratchChange.md#slot) ### Methods - [get\_obj\_for\_encoding](modelsv2.ScratchChange.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.ScratchChange.md#from_obj_for_encoding) ## Constructors ### constructor • **new ScratchChange**(`«destructured»`) Creates a new `ScratchChange` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `newValue` | [`AvmValue`](modelsv2.AvmValue.md) | | › `slot` | `number` \| `bigint` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:4173 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### newValue • **newValue**: [`AvmValue`](modelsv2.AvmValue.md) Represents an AVM value. #### Defined in client/v2/algod/models/types.ts:4161 ___ ### slot • **slot**: `number` \| `bigint` The scratch slot written. #### Defined in client/v2/algod/models/types.ts:4166 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`ScratchChange`](modelsv2.ScratchChange.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`ScratchChange`](modelsv2.ScratchChange.md) #### Defined in client/v2/algod/models/types.ts:4191 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.BlockResponse.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / BlockResponse # Class: BlockResponse [modelsv2](../modules/modelsv2.md).BlockResponse Encoded block object. ## Hierarchy - `default` ↳ **`BlockResponse`** ## Table of contents ### Constructors - [constructor](modelsv2.BlockResponse.md#constructor) ### Properties - [attribute\_map](modelsv2.BlockResponse.md#attribute_map) - [block](modelsv2.BlockResponse.md#block) - [cert](modelsv2.BlockResponse.md#cert) ### Methods - [get\_obj\_for\_encoding](modelsv2.BlockResponse.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.BlockResponse.md#from_obj_for_encoding) ## Constructors ### constructor • **new BlockResponse**(`«destructured»`) Creates a new `BlockResponse` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `block` | `default` | | › `cert?` | `Record`\<`string`, `any`\> | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:2161 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### block • **block**: `default` Block header data. #### Defined in client/v2/algod/models/types.ts:2147 ___ ### cert • `Optional` **cert**: `Record`\<`string`, `any`\> Optional certificate object. This is only included when the format is set to message pack. #### Defined in client/v2/algod/models/types.ts:2153 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`BlockResponse`](modelsv2.BlockResponse.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`BlockResponse`](modelsv2.BlockResponse.md) #### Defined in client/v2/algod/models/types.ts:2179 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.TealKeyValue.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / TealKeyValue # Class: TealKeyValue [indexerModels](../modules/indexerModels.md).TealKeyValue Represents a key-value pair in an application store. ## Hierarchy - `default` ↳ **`TealKeyValue`** ## Table of contents ### Constructors - [constructor](indexerModels.TealKeyValue.md#constructor) ### Properties - [attribute\_map](indexerModels.TealKeyValue.md#attribute_map) - [key](indexerModels.TealKeyValue.md#key) - [value](indexerModels.TealKeyValue.md#value) ### Methods - [get\_obj\_for\_encoding](indexerModels.TealKeyValue.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](indexerModels.TealKeyValue.md#from_obj_for_encoding) ## Constructors ### constructor • **new TealKeyValue**(`«destructured»`) Creates a new `TealKeyValue` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `key` | `string` | | › `value` | [`TealValue`](indexerModels.TealValue.md) | #### Overrides BaseModel.constructor #### Defined in client/v2/indexer/models/types.ts:3994 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### key • **key**: `string` #### Defined in client/v2/indexer/models/types.ts:3982 ___ ### value • **value**: [`TealValue`](indexerModels.TealValue.md) Represents a TEAL value. #### Defined in client/v2/indexer/models/types.ts:3987 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`TealKeyValue`](indexerModels.TealKeyValue.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`TealKeyValue`](indexerModels.TealKeyValue.md) #### Defined in client/v2/indexer/models/types.ts:4006 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.Box.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / Box # Class: Box [modelsv2](../modules/modelsv2.md).Box Box name and its content. ## Hierarchy - `default` ↳ **`Box`** ## Table of contents ### Constructors - [constructor](modelsv2.Box.md#constructor) ### Properties - [attribute\_map](modelsv2.Box.md#attribute_map) - [name](modelsv2.Box.md#name) - [round](modelsv2.Box.md#round) - [value](modelsv2.Box.md#value) ### Methods - [get\_obj\_for\_encoding](modelsv2.Box.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.Box.md#from_obj_for_encoding) ## Constructors ### constructor • **new Box**(`«destructured»`) Creates a new `Box` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `name` | `string` \| `Uint8Array` | | › `round` | `number` \| `bigint` | | › `value` | `string` \| `Uint8Array` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:2252 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### name • **name**: `Uint8Array` (name) box name, base64 encoded #### Defined in client/v2/algod/models/types.ts:2234 ___ ### round • **round**: `number` \| `bigint` The round for which this information is relevant #### Defined in client/v2/algod/models/types.ts:2239 ___ ### value • **value**: `Uint8Array` (value) box value, base64 encoded. #### Defined in client/v2/algod/models/types.ts:2244 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`Box`](modelsv2.Box.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`Box`](modelsv2.Box.md) #### Defined in client/v2/algod/models/types.ts:2280 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/developers-algokit-cli.txt: -------------------------------------------------------------------------------- ``` algokit:cli:articles:output_stability.md algokit:cli:features:localnet.md algokit:cli:features:compile.md algokit:cli:features:explore.md algokit:cli:features:tasks:mint.md algokit:cli:features:tasks:vanity_address.md algokit:cli:features:tasks:ipfs.md algokit:cli:features:tasks:transfer.md algokit:cli:features:tasks:wallet.md algokit:cli:features:tasks:analyze.md algokit:cli:features:tasks:sign.md algokit:cli:features:tasks:nfd.md algokit:cli:features:tasks:opt.md algokit:cli:features:tasks:send.md algokit:cli:features:completions.md algokit:cli:features:doctor.md algokit:cli:features:project.md algokit:cli:features:goal.md algokit:cli:features:init.md algokit:cli:features:config.md algokit:cli:features:project:list.md algokit:cli:features:project:deploy.md algokit:cli:features:project:link.md algokit:cli:features:project:bootstrap.md algokit:cli:features:project:run.md algokit:cli:features:tasks.md algokit:cli:features:generate.md algokit:cli:features:dispenser.md algokit:cli:cli:index.md algokit:cli:sphinx:index.rst algokit:cli:tutorials:intro.md algokit:cli:tutorials:smart-contracts.md algokit:cli:tutorials:algokit-template.md algokit:cli:algokit.md algokit-cli:README.md algokit:lora:README.md algokit:docs:testnet_api.md algokit:README.md developer:docs:details:algokit:articles:output_stability.md developer:docs:details:algokit:features:localnet.md developer:docs:details:algokit:features:explore.md developer:docs:details:algokit:features:tasks:mint.md developer:docs:details:algokit:features:tasks:vanity_address.md developer:docs:details:algokit:features:tasks:ipfs.md developer:docs:details:algokit:features:tasks:transfer.md developer:docs:details:algokit:features:tasks:wallet.md developer:docs:details:algokit:features:tasks:analyze.md developer:docs:details:algokit:features:tasks:sign.md developer:docs:details:algokit:features:tasks:nfd.md developer:docs:details:algokit:features:tasks:opt.md developer:docs:details:algokit:features:tasks:send.md developer:docs:details:algokit:features:completions.md developer:docs:details:algokit:features:doctor.md developer:docs:details:algokit:features:goal.md developer:docs:details:algokit:features:init.md developer:docs:details:algokit:features:deploy.md developer:docs:details:algokit:features:tasks.md developer:docs:details:algokit:features:generate.md developer:docs:details:algokit:features:dispenser.md developer:docs:details:algokit:features:bootstrap.md developer:docs:details:algokit:index.md developer:docs:details:algokit:tutorials:intro.md developer:docs:details:algokit:tutorials:algokit-template.md developer:docs:details:algokit:cli-reference.md developer:docs:details:algokit.md ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.Asset.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / Asset # Class: Asset [modelsv2](../modules/modelsv2.md).Asset Specifies both the unique identifier and the parameters for an asset ## Hierarchy - `default` ↳ **`Asset`** ## Table of contents ### Constructors - [constructor](modelsv2.Asset.md#constructor) ### Properties - [attribute\_map](modelsv2.Asset.md#attribute_map) - [index](modelsv2.Asset.md#index) - [params](modelsv2.Asset.md#params) ### Methods - [get\_obj\_for\_encoding](modelsv2.Asset.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.Asset.md#from_obj_for_encoding) ## Constructors ### constructor • **new Asset**(`«destructured»`) Creates a new `Asset` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `index` | `number` \| `bigint` | | › `params` | [`AssetParams`](modelsv2.AssetParams.md) | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:1577 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### index • **index**: `number` \| `bigint` unique asset identifier #### Defined in client/v2/algod/models/types.ts:1559 ___ ### params • **params**: [`AssetParams`](modelsv2.AssetParams.md) AssetParams specifies the parameters for an asset. (apar) when part of an AssetConfig transaction. Definition: data/transactions/asset.go : AssetParams #### Defined in client/v2/algod/models/types.ts:1567 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`Asset`](modelsv2.Asset.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`Asset`](modelsv2.Asset.md) #### Defined in client/v2/algod/models/types.ts:1595 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.AccountStateDelta.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / AccountStateDelta # Class: AccountStateDelta [modelsv2](../modules/modelsv2.md).AccountStateDelta Application state delta. ## Hierarchy - `default` ↳ **`AccountStateDelta`** ## Table of contents ### Constructors - [constructor](modelsv2.AccountStateDelta.md#constructor) ### Properties - [address](modelsv2.AccountStateDelta.md#address) - [attribute\_map](modelsv2.AccountStateDelta.md#attribute_map) - [delta](modelsv2.AccountStateDelta.md#delta) ### Methods - [get\_obj\_for\_encoding](modelsv2.AccountStateDelta.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.AccountStateDelta.md#from_obj_for_encoding) ## Constructors ### constructor • **new AccountStateDelta**(`«destructured»`) Creates a new `AccountStateDelta` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `address` | `string` | | › `delta` | [`EvalDeltaKeyValue`](modelsv2.EvalDeltaKeyValue.md)[] | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:864 ## Properties ### address • **address**: `string` #### Defined in client/v2/algod/models/types.ts:852 ___ ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### delta • **delta**: [`EvalDeltaKeyValue`](modelsv2.EvalDeltaKeyValue.md)[] Application state delta. #### Defined in client/v2/algod/models/types.ts:857 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`AccountStateDelta`](modelsv2.AccountStateDelta.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`AccountStateDelta`](modelsv2.AccountStateDelta.md) #### Defined in client/v2/algod/models/types.ts:882 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:dispenser-client.md: -------------------------------------------------------------------------------- ```markdown # TestNet Dispenser Client The TestNet Dispenser Client is a utility for interacting with the AlgoKit TestNet Dispenser API. It provides methods to fund an account, register a refund for a transaction, and get the current limit for an account. ## Creating a Dispenser Client To create a Dispenser Client, you need to provide an authorization token. This can be done in two ways: 1. Pass the token directly to the client constructor as `auth_token`. 2. Set the token as an environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN` (see [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md#error-handling) on how to obtain the token). If both methods are used, the constructor argument takes precedence. ```py from algokit_utils import TestNetDispenserApiClient # Using constructor argument client = TestNetDispenserApiClient(auth_token="your_auth_token") # Using environment variable import os os.environ["ALGOKIT_DISPENSER_ACCESS_TOKEN"] = "your_auth_token" client = TestNetDispenserApiClient() ``` ## Funding an Account To fund an account with Algos from the dispenser API, use the `fund` method. This method requires the receiver’s address, the amount to be funded, and the asset ID. ```py response = client.fund(address="receiver_address", amount=1000, asset_id=0) ``` The `fund` method returns a `FundResponse` object, which contains the transaction ID (`tx_id`) and the amount funded. ## Registering a Refund To register a refund for a transaction with the dispenser API, use the `refund` method. This method requires the transaction ID of the refund transaction. ```py client.refund(refund_txn_id="transaction_id") ``` > Keep in mind, to perform a refund you need to perform a payment transaction yourself first by send funds back to TestNet Dispenser, then you can invoke this `refund` endpoint and pass the txn_id of your refund txn. You can obtain dispenser address by inspecting the `sender` field of any issued `fund` transaction initiated via [`fund`](). ## Getting Current Limit To get the current limit for an account with Algos from the dispenser API, use the `get_limit` method. This method requires the account address. ```py response = client.get_limit(address="account_address") ``` The `get_limit` method returns a `LimitResponse` object, which contains the current limit amount. ## Error Handling If an error occurs while making a request to the dispenser API, an exception will be raised with a message indicating the type of error. Refer to [Error Handling docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md#error-handling) for details on how you can handle each individual error `code`. ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/liquid-auth:README.md: -------------------------------------------------------------------------------- ```markdown # Algorand Authentication Service - [Vision](VISION.md) - [Architecture Diagram](ARCHITECTURE.md) - [Sequence Diagram](SEQUENCE.md) - [Decisions](.decisions/README.md) # Overview This project holds the standard FIDO2 api endpoints and the Proof of Knowledge for Algorand specific private keys. The api is a stateful session-based architecture with endpoint guards. A user must prove ownership of a private key to associate PublicKeyCredentials ## Getting started ### Prerequisites - Node.js 18+ - Docker #### Clone the project ```bash git clone [email protected]:algorandfoundation/liquid-auth.git && cd liquid-auth ``` ### NGROK **note on VPNs**: Ngrok will not work with VPNs, so to run locally the project, `disable` it or `configure` your VPN's split tunneling to allow ngrok traffic. Sign up for a free account at [ngrok](https://ngrok.com/) and follow the instructions to get your <NGROK_AUTH_TOKEN> and <NGROK_STATIC_DOMAIN>. #### With Docker Don't run the ngrok commands directly as expressed in the ngrok guide as it will create run-time port conflicts. #### Without Docker ngrok will ask you to add your auth token to your configuration file. ``` bash ngrok config add-authtoken <NGROK_AUTH_TOKEN> ``` Will then ask you to deploy your static domain, make sure to change the port to **5173** like this: ``` bash ngrok http --domain=<NGROK_STATIC_DOMAIN> 5173 ``` #### Configure NGROK Add a `ngrok.yml` configuration to the root directory. ##### Example Configuration ```yaml version: 2 authtoken: <NGROK_AUTH_TOKEN> tunnels: website: addr: liquid-auth:5173 proto: http domain: <NGROK_STATIC_DOMAIN> ``` *Make sure to update the `authtoken` and `domain` in the `ngrok.yml` file with your ngrok details.* #### Update the Service's .env.docker file Update the [.env.docker](.env.docker) file with the following keys with the values from ngrok: ```bash HOSTNAME=<NGROK_STATIC_DOMAIN> ORIGIN=https://<NGROK_STATIC_DOMAIN> ``` ### Start services Run the following command to start the backend: ```bash docker-compose up -d ``` Navigate to the ngrok URL in your browser to test the FIDO2 feature. ## Using the app #### Install the [Android client](https://github.com/algorandfoundation/liquid-auth-android/releases) to your device.  ### QR Connect Open the Connect Modal on the website and scan the QR code using the "Connect" button on the Android device. Follow the instructions on the Android device to register a credential.  ### Peer to Peer Once the credential is registered, you can send messages over the peer connection.  ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:dispenser-client.md: -------------------------------------------------------------------------------- ```markdown # TestNet Dispenser Client The TestNet Dispenser Client is a utility for interacting with the AlgoKit TestNet Dispenser API. It provides methods to fund an account, register a refund for a transaction, and get the current limit for an account. ## Creating a Dispenser Client To create a Dispenser Client, you need to provide an authorization token. This can be done in two ways: 1. Pass the token directly to the client constructor as `auth_token`. 2. Set the token as an environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN` (see [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md#error-handling) on how to obtain the token). If both methods are used, the constructor argument takes precedence. ```py from algokit_utils import TestNetDispenserApiClient # Using constructor argument client = TestNetDispenserApiClient(auth_token="your_auth_token") # Using environment variable import os os.environ["ALGOKIT_DISPENSER_ACCESS_TOKEN"] = "your_auth_token" client = TestNetDispenserApiClient() ``` ## Funding an Account To fund an account with Algos from the dispenser API, use the `fund` method. This method requires the receiver's address, the amount to be funded, and the asset ID. ```py response = client.fund(address="receiver_address", amount=1000, asset_id=0) ``` The `fund` method returns a `FundResponse` object, which contains the transaction ID (`tx_id`) and the amount funded. ## Registering a Refund To register a refund for a transaction with the dispenser API, use the `refund` method. This method requires the transaction ID of the refund transaction. ```py client.refund(refund_txn_id="transaction_id") ``` > Keep in mind, to perform a refund you need to perform a payment transaction yourself first by send funds back to TestNet Dispenser, then you can invoke this `refund` endpoint and pass the txn_id of your refund txn. You can obtain dispenser address by inspecting the `sender` field of any issued `fund` transaction initiated via [`fund`](#funding-an-account). ## Getting Current Limit To get the current limit for an account with Algos from the dispenser API, use the `get_limit` method. This method requires the account address. ```py response = client.get_limit(address="account_address") ``` The `get_limit` method returns a `LimitResponse` object, which contains the current limit amount. ## Error Handling If an error occurs while making a request to the dispenser API, an exception will be raised with a message indicating the type of error. Refer to [Error Handling docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md#error-handling) for details on how you can handle each individual error `code`. ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendAtomicTransactionComposerResults.md: -------------------------------------------------------------------------------- ```markdown [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / SendAtomicTransactionComposerResults # Interface: SendAtomicTransactionComposerResults [types/transaction](../modules/types_transaction.md).SendAtomicTransactionComposerResults The result of preparing and/or sending multiple transactions using an `AtomicTransactionComposer` ## Hierarchy - [`SendTransactionResults`](types_transaction.SendTransactionResults.md) ↳ **`SendAtomicTransactionComposerResults`** ## Table of contents ### Properties - [confirmations](types_transaction.SendAtomicTransactionComposerResults.md#confirmations) - [groupId](types_transaction.SendAtomicTransactionComposerResults.md#groupid) - [returns](types_transaction.SendAtomicTransactionComposerResults.md#returns) - [transactions](types_transaction.SendAtomicTransactionComposerResults.md#transactions) - [txIds](types_transaction.SendAtomicTransactionComposerResults.md#txids) ## Properties ### confirmations • **confirmations**: `PendingTransactionResponse`[] The responses if the transactions were sent and waited for, the index of the confirmation will match the index of the underlying transaction #### Overrides [SendTransactionResults](types_transaction.SendTransactionResults.md).[confirmations](types_transaction.SendTransactionResults.md#confirmations) #### Defined in [src/types/transaction.ts:81](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L81) ___ ### groupId • **groupId**: `string` base64 encoded representation of the group ID of the atomic group #### Defined in [src/types/transaction.ts:73](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L73) ___ ### returns • `Optional` **returns**: [`ABIReturn`](../modules/types_app.md#abireturn)[] If ABI method(s) were called the processed return values #### Defined in [src/types/transaction.ts:77](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L77) ___ ### transactions • **transactions**: `Transaction`[] The transactions that have been prepared and/or sent #### Inherited from [SendTransactionResults](types_transaction.SendTransactionResults.md).[transactions](types_transaction.SendTransactionResults.md#transactions) #### Defined in [src/types/transaction.ts:63](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L63) ___ ### txIds • **txIds**: `string`[] The transaction IDs that have been prepared and/or sent #### Defined in [src/types/transaction.ts:75](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L75) ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.EvalDeltaKeyValue.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / EvalDeltaKeyValue # Class: EvalDeltaKeyValue [indexerModels](../modules/indexerModels.md).EvalDeltaKeyValue Key-value pairs for StateDelta. ## Hierarchy - `default` ↳ **`EvalDeltaKeyValue`** ## Table of contents ### Constructors - [constructor](indexerModels.EvalDeltaKeyValue.md#constructor) ### Properties - [attribute\_map](indexerModels.EvalDeltaKeyValue.md#attribute_map) - [key](indexerModels.EvalDeltaKeyValue.md#key) - [value](indexerModels.EvalDeltaKeyValue.md#value) ### Methods - [get\_obj\_for\_encoding](indexerModels.EvalDeltaKeyValue.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](indexerModels.EvalDeltaKeyValue.md#from_obj_for_encoding) ## Constructors ### constructor • **new EvalDeltaKeyValue**(`«destructured»`) Creates a new `EvalDeltaKeyValue` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `key` | `string` | | › `value` | [`EvalDelta`](indexerModels.EvalDelta.md) | #### Overrides BaseModel.constructor #### Defined in client/v2/indexer/models/types.ts:3028 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### key • **key**: `string` #### Defined in client/v2/indexer/models/types.ts:3016 ___ ### value • **value**: [`EvalDelta`](indexerModels.EvalDelta.md) Represents a TEAL value delta. #### Defined in client/v2/indexer/models/types.ts:3021 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`EvalDeltaKeyValue`](indexerModels.EvalDeltaKeyValue.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`EvalDeltaKeyValue`](indexerModels.EvalDeltaKeyValue.md) #### Defined in client/v2/indexer/models/types.ts:3040 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.EvalDelta.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / EvalDelta # Class: EvalDelta [modelsv2](../modules/modelsv2.md).EvalDelta Represents a TEAL value delta. ## Hierarchy - `default` ↳ **`EvalDelta`** ## Table of contents ### Constructors - [constructor](modelsv2.EvalDelta.md#constructor) ### Properties - [action](modelsv2.EvalDelta.md#action) - [attribute\_map](modelsv2.EvalDelta.md#attribute_map) - [bytes](modelsv2.EvalDelta.md#bytes) - [uint](modelsv2.EvalDelta.md#uint) ### Methods - [get\_obj\_for\_encoding](modelsv2.EvalDelta.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.EvalDelta.md#from_obj_for_encoding) ## Constructors ### constructor • **new EvalDelta**(`«destructured»`) Creates a new `EvalDelta` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `action` | `number` \| `bigint` | | › `bytes?` | `string` | | › `uint?` | `number` \| `bigint` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:3165 ## Properties ### action • **action**: `number` \| `bigint` (at) delta action. #### Defined in client/v2/algod/models/types.ts:3147 ___ ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### bytes • `Optional` **bytes**: `string` (bs) bytes value. #### Defined in client/v2/algod/models/types.ts:3152 ___ ### uint • `Optional` **uint**: `number` \| `bigint` (ui) uint value. #### Defined in client/v2/algod/models/types.ts:3157 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`EvalDelta`](modelsv2.EvalDelta.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`EvalDelta`](modelsv2.EvalDelta.md) #### Defined in client/v2/algod/models/types.ts:3187 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:code:README.md: -------------------------------------------------------------------------------- ```markdown @algorandfoundation/algokit-utils # @algorandfoundation/algokit-utils ## Table of contents ### Modules - [index](modules/index.md) - [testing](modules/testing.md) - [types/account](modules/types_account.md) - [types/account-manager](modules/types_account_manager.md) - [types/account-manager.spec](modules/types_account_manager_spec.md) - [types/algo-http-client-with-retry](modules/types_algo_http_client_with_retry.md) - [types/algorand-client](modules/types_algorand_client.md) - [types/algorand-client-interface](modules/types_algorand_client_interface.md) - [types/algorand-client-transaction-creator](modules/types_algorand_client_transaction_creator.md) - [types/algorand-client-transaction-sender](modules/types_algorand_client_transaction_sender.md) - [types/algorand-client.asset.spec](modules/types_algorand_client_asset_spec.md) - [types/algorand-client.spec](modules/types_algorand_client_spec.md) - [types/algorand-client.transfer.spec](modules/types_algorand_client_transfer_spec.md) - [types/amount](modules/types_amount.md) - [types/amount.spec](modules/types_amount_spec.md) - [types/app](modules/types_app.md) - [types/app-arc56](modules/types_app_arc56.md) - [types/app-client](modules/types_app_client.md) - [types/app-client.spec](modules/types_app_client_spec.md) - [types/app-deployer](modules/types_app_deployer.md) - [types/app-factory](modules/types_app_factory.md) - [types/app-factory-and-client.spec](modules/types_app_factory_and_client_spec.md) - [types/app-manager](modules/types_app_manager.md) - [types/app-spec](modules/types_app_spec.md) - [types/asset](modules/types_asset.md) - [types/asset-manager](modules/types_asset_manager.md) - [types/async-event-emitter](modules/types_async_event_emitter.md) - [types/async-event-emitter.spec](modules/types_async_event_emitter_spec.md) - [types/client-manager](modules/types_client_manager.md) - [types/client-manager.spec](modules/types_client_manager_spec.md) - [types/composer](modules/types_composer.md) - [types/config](modules/types_config.md) - [types/debugging](modules/types_debugging.md) - [types/dispenser-client](modules/types_dispenser_client.md) - [types/dispenser-client.spec](modules/types_dispenser_client_spec.md) - [types/expand](modules/types_expand.md) - [types/indexer](modules/types_indexer.md) - [types/kmd-account-manager](modules/types_kmd_account_manager.md) - [types/lifecycle-events](modules/types_lifecycle_events.md) - [types/logging](modules/types_logging.md) - [types/logic-error](modules/types_logic_error.md) - [types/network-client](modules/types_network_client.md) - [types/testing](modules/types_testing.md) - [types/transaction](modules/types_transaction.md) - [types/transfer](modules/types_transfer.md) ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.StateProof.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / StateProof # Class: StateProof [modelsv2](../modules/modelsv2.md).StateProof Represents a state proof and its corresponding message ## Hierarchy - `default` ↳ **`StateProof`** ## Table of contents ### Constructors - [constructor](modelsv2.StateProof.md#constructor) ### Properties - [attribute\_map](modelsv2.StateProof.md#attribute_map) - [message](modelsv2.StateProof.md#message) - [stateproof](modelsv2.StateProof.md#stateproof) ### Methods - [get\_obj\_for\_encoding](modelsv2.StateProof.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.StateProof.md#from_obj_for_encoding) ## Constructors ### constructor • **new StateProof**(`«destructured»`) Creates a new `StateProof` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `message` | [`StateProofMessage`](modelsv2.StateProofMessage.md) | | › `stateproof` | `string` \| `Uint8Array` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:5401 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### message • **message**: [`StateProofMessage`](modelsv2.StateProofMessage.md) Represents the message that the state proofs are attesting to. #### Defined in client/v2/algod/models/types.ts:5389 ___ ### stateproof • **stateproof**: `Uint8Array` The encoded StateProof for the message. #### Defined in client/v2/algod/models/types.ts:5394 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`StateProof`](modelsv2.StateProof.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`StateProof`](modelsv2.StateProof.md) #### Defined in client/v2/algod/models/types.ts:5422 ``` -------------------------------------------------------------------------------- /packages/server/src/tools/apiManager/vestige/vaults.ts: -------------------------------------------------------------------------------- ```typescript import { Tool, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js'; import { ResponseProcessor } from '../../../utils/responseProcessor.js'; import { env } from '../../../env.js'; export const vaultTools: Tool[] = [ { name: 'api_vestige_view_vaults', description: 'Get all vaults', inputSchema: { type: 'object', properties: { network_id: { type: 'integer', description: 'Network ID' }, protocol_id: { type: 'integer', description: 'Protocol ID' }, asset_id: { type: 'integer', description: 'Optional asset ID filter' }, address: { type: 'string', description: 'Optional address filter' }, limit: { type: 'integer', description: 'Maximum number of results', default: 50, maximum: 250, minimum: 1 }, offset: { type: 'integer', description: 'Number of results to skip', default: 0, minimum: 0 }, order_by: { type: 'string', description: 'Field to order by' }, order_dir: { type: 'string', description: 'Order direction (asc/desc)', default: 'desc', pattern: '^(asc|desc)$' } }, required: ['network_id', 'protocol_id'] } } ]; export const handleVaultTools = ResponseProcessor.wrapResourceHandler(async function handleVaultTools(args: any): Promise<any> { const name = args.name; const baseUrl = env.vestige_api_url; let endpoint = ''; switch (name) { case 'api_vestige_view_vaults': endpoint = '/vaults'; break; default: throw new McpError( ErrorCode.MethodNotFound, `Unknown tool: ${name}` ); } try { // Add query parameters if they exist const queryParams = new URLSearchParams(); for (const [key, value] of Object.entries(args)) { if (value !== undefined) { queryParams.append(key, String(value)); } } const url = `${baseUrl}${endpoint}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`; const response = await fetch(url); if (!response.ok) { throw new McpError( ErrorCode.InternalError, `Vestige API error: ${response.status} ${response.statusText}` ); } const data = await response.json(); return data; } catch (error) { if (error instanceof McpError) { throw error; } throw new McpError( ErrorCode.InternalError, `Failed to fetch vault data: ${error instanceof Error ? error.message : String(error)}` ); } }); ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.GetBlockTimeStampOffsetResponse.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / GetBlockTimeStampOffsetResponse # Class: GetBlockTimeStampOffsetResponse [modelsv2](../modules/modelsv2.md).GetBlockTimeStampOffsetResponse Response containing the timestamp offset in seconds ## Hierarchy - `default` ↳ **`GetBlockTimeStampOffsetResponse`** ## Table of contents ### Constructors - [constructor](modelsv2.GetBlockTimeStampOffsetResponse.md#constructor) ### Properties - [attribute\_map](modelsv2.GetBlockTimeStampOffsetResponse.md#attribute_map) - [offset](modelsv2.GetBlockTimeStampOffsetResponse.md#offset) ### Methods - [get\_obj\_for\_encoding](modelsv2.GetBlockTimeStampOffsetResponse.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.GetBlockTimeStampOffsetResponse.md#from_obj_for_encoding) ## Constructors ### constructor • **new GetBlockTimeStampOffsetResponse**(`offset`) Creates a new `GetBlockTimeStampOffsetResponse` object. #### Parameters | Name | Type | Description | | :------ | :------ | :------ | | `offset` | `Object` | Timestamp offset in seconds. | | `offset.offset` | `number` \| `bigint` | - | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:3255 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### offset • **offset**: `number` \| `bigint` Timestamp offset in seconds. #### Defined in client/v2/algod/models/types.ts:3249 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`GetBlockTimeStampOffsetResponse`](modelsv2.GetBlockTimeStampOffsetResponse.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`GetBlockTimeStampOffsetResponse`](modelsv2.GetBlockTimeStampOffsetResponse.md) #### Defined in client/v2/algod/models/types.ts:3265 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.Box.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / Box # Class: Box [indexerModels](../modules/indexerModels.md).Box Box name and its content. ## Hierarchy - `default` ↳ **`Box`** ## Table of contents ### Constructors - [constructor](indexerModels.Box.md#constructor) ### Properties - [attribute\_map](indexerModels.Box.md#attribute_map) - [name](indexerModels.Box.md#name) - [round](indexerModels.Box.md#round) - [value](indexerModels.Box.md#value) ### Methods - [get\_obj\_for\_encoding](indexerModels.Box.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](indexerModels.Box.md#from_obj_for_encoding) ## Constructors ### constructor • **new Box**(`«destructured»`) Creates a new `Box` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `name` | `string` \| `Uint8Array` | | › `round` | `number` \| `bigint` | | › `value` | `string` \| `Uint8Array` | #### Overrides BaseModel.constructor #### Defined in client/v2/indexer/models/types.ts:2762 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### name • **name**: `Uint8Array` (name) box name, base64 encoded #### Defined in client/v2/indexer/models/types.ts:2744 ___ ### round • **round**: `number` \| `bigint` The round for which this information is relevant #### Defined in client/v2/indexer/models/types.ts:2749 ___ ### value • **value**: `Uint8Array` (value) box value, base64 encoded. #### Defined in client/v2/indexer/models/types.ts:2754 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`Box`](indexerModels.Box.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`Box`](indexerModels.Box.md) #### Defined in client/v2/indexer/models/types.ts:2790 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.AssetHoldingReference.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / AssetHoldingReference # Class: AssetHoldingReference [modelsv2](../modules/modelsv2.md).AssetHoldingReference References an asset held by an account. ## Hierarchy - `default` ↳ **`AssetHoldingReference`** ## Table of contents ### Constructors - [constructor](modelsv2.AssetHoldingReference.md#constructor) ### Properties - [account](modelsv2.AssetHoldingReference.md#account) - [asset](modelsv2.AssetHoldingReference.md#asset) - [attribute\_map](modelsv2.AssetHoldingReference.md#attribute_map) ### Methods - [get\_obj\_for\_encoding](modelsv2.AssetHoldingReference.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.AssetHoldingReference.md#from_obj_for_encoding) ## Constructors ### constructor • **new AssetHoldingReference**(`«destructured»`) Creates a new `AssetHoldingReference` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `account` | `string` | | › `asset` | `number` \| `bigint` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:1696 ## Properties ### account • **account**: `string` Address of the account holding the asset. #### Defined in client/v2/algod/models/types.ts:1684 ___ ### asset • **asset**: `number` \| `bigint` Asset ID of the holding. #### Defined in client/v2/algod/models/types.ts:1689 ___ ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`AssetHoldingReference`](modelsv2.AssetHoldingReference.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`AssetHoldingReference`](modelsv2.AssetHoldingReference.md) #### Defined in client/v2/algod/models/types.ts:1708 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.TealValue.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / TealValue # Class: TealValue [modelsv2](../modules/modelsv2.md).TealValue Represents a TEAL value. ## Hierarchy - `default` ↳ **`TealValue`** ## Table of contents ### Constructors - [constructor](modelsv2.TealValue.md#constructor) ### Properties - [attribute\_map](modelsv2.TealValue.md#attribute_map) - [bytes](modelsv2.TealValue.md#bytes) - [type](modelsv2.TealValue.md#type) - [uint](modelsv2.TealValue.md#uint) ### Methods - [get\_obj\_for\_encoding](modelsv2.TealValue.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.TealValue.md#from_obj_for_encoding) ## Constructors ### constructor • **new TealValue**(`«destructured»`) Creates a new `TealValue` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `bytes` | `string` | | › `type` | `number` \| `bigint` | | › `uint` | `number` \| `bigint` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:5685 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### bytes • **bytes**: `string` (tb) bytes value. #### Defined in client/v2/algod/models/types.ts:5672 ___ ### type • **type**: `number` \| `bigint` (tt) value type. Value `1` refers to **bytes**, value `2` refers to **uint** #### Defined in client/v2/algod/models/types.ts:5667 ___ ### uint • **uint**: `number` \| `bigint` (ui) uint value. #### Defined in client/v2/algod/models/types.ts:5677 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`TealValue`](modelsv2.TealValue.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`TealValue`](modelsv2.TealValue.md) #### Defined in client/v2/algod/models/types.ts:5707 ``` -------------------------------------------------------------------------------- /packages/server/src/tools/transactionManager/appTransactions/index.ts: -------------------------------------------------------------------------------- ```typescript import { Transaction } from 'algosdk'; import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js'; import { algodClient } from '../../../algorand-client.js'; import { appTransactionSchemas, appTransactionTools } from './types.js'; import { makeApplicationCreateTxn, handleCreateTxn } from './createTxn.js'; import { makeApplicationUpdateTxn, handleUpdateTxn } from './updateTxn.js'; import { makeApplicationDeleteTxn, handleDeleteTxn } from './deleteTxn.js'; import { makeApplicationOptInTxn, handleOptInTxn } from './optInTxn.js'; import { makeApplicationCloseOutTxn, handleCloseOutTxn } from './closeOutTxn.js'; import { makeApplicationClearStateTxn, handleClearTxn } from './clearTxn.js'; import { makeApplicationCallTxn, handleCallTxn } from './callTxn.js'; // Export all transaction creation functions export { makeApplicationCreateTxn, makeApplicationUpdateTxn, makeApplicationDeleteTxn, makeApplicationOptInTxn, makeApplicationCloseOutTxn, makeApplicationClearStateTxn, makeApplicationCallTxn }; // Export all transaction handlers export { handleCreateTxn, handleUpdateTxn, handleDeleteTxn, handleOptInTxn, handleCloseOutTxn, handleClearTxn, handleCallTxn }; // Export schemas and tool definitions export { appTransactionSchemas, appTransactionTools }; // Export types export * from './types.js'; // Map of tool names to their handlers const toolHandlers: Record<string, (args: Record<string, unknown>, suggestedParams: any) => Record<string, any>> = { 'make_app_create_txn': handleCreateTxn, 'make_app_update_txn': handleUpdateTxn, 'make_app_delete_txn': handleDeleteTxn, 'make_app_optin_txn': handleOptInTxn, 'make_app_closeout_txn': handleCloseOutTxn, 'make_app_clear_txn': handleClearTxn, 'make_app_call_txn': handleCallTxn }; export class AppTransactionManager { /** * Handle application transaction tools */ static async handleTool(name: string, args: Record<string, unknown>) { const params = await algodClient.getTransactionParams().do(); const suggestedParams = { ...params, flatFee: true, fee: params.minFee }; const handler = toolHandlers[name]; if (!handler) { throw new McpError( ErrorCode.MethodNotFound, `Unknown application transaction tool: ${name}` ); } try { return { content: [{ type: 'text', text: JSON.stringify(handler(args, suggestedParams), null, 2), }], }; } catch (error) { if (error instanceof McpError) { throw error; } throw new McpError( ErrorCode.InternalError, `Failed to handle application transaction: ${error instanceof Error ? error.message : 'Unknown error'}` ); } } } ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.AvmValue.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / AvmValue # Class: AvmValue [modelsv2](../modules/modelsv2.md).AvmValue Represents an AVM value. ## Hierarchy - `default` ↳ **`AvmValue`** ## Table of contents ### Constructors - [constructor](modelsv2.AvmValue.md#constructor) ### Properties - [attribute\_map](modelsv2.AvmValue.md#attribute_map) - [bytes](modelsv2.AvmValue.md#bytes) - [type](modelsv2.AvmValue.md#type) - [uint](modelsv2.AvmValue.md#uint) ### Methods - [get\_obj\_for\_encoding](modelsv2.AvmValue.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](modelsv2.AvmValue.md#from_obj_for_encoding) ## Constructors ### constructor • **new AvmValue**(`«destructured»`) Creates a new `AvmValue` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `bytes?` | `string` \| `Uint8Array` | | › `type` | `number` \| `bigint` | | › `uint?` | `number` \| `bigint` | #### Overrides BaseModel.constructor #### Defined in client/v2/algod/models/types.ts:2027 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### bytes • `Optional` **bytes**: `Uint8Array` bytes value. #### Defined in client/v2/algod/models/types.ts:2014 ___ ### type • **type**: `number` \| `bigint` value type. Value `1` refers to **bytes**, value `2` refers to **uint64** #### Defined in client/v2/algod/models/types.ts:2009 ___ ### uint • `Optional` **uint**: `number` \| `bigint` uint value. #### Defined in client/v2/algod/models/types.ts:2019 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`AvmValue`](modelsv2.AvmValue.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`AvmValue`](modelsv2.AvmValue.md) #### Defined in client/v2/algod/models/types.ts:2052 ``` -------------------------------------------------------------------------------- /packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.ApplicationLogData.md: -------------------------------------------------------------------------------- ```markdown [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / ApplicationLogData # Class: ApplicationLogData [indexerModels](../modules/indexerModels.md).ApplicationLogData Stores the global information associated with an application. ## Hierarchy - `default` ↳ **`ApplicationLogData`** ## Table of contents ### Constructors - [constructor](indexerModels.ApplicationLogData.md#constructor) ### Properties - [attribute\_map](indexerModels.ApplicationLogData.md#attribute_map) - [logs](indexerModels.ApplicationLogData.md#logs) - [txid](indexerModels.ApplicationLogData.md#txid) ### Methods - [get\_obj\_for\_encoding](indexerModels.ApplicationLogData.md#get_obj_for_encoding) - [from\_obj\_for\_encoding](indexerModels.ApplicationLogData.md#from_obj_for_encoding) ## Constructors ### constructor • **new ApplicationLogData**(`«destructured»`) Creates a new `ApplicationLogData` object. #### Parameters | Name | Type | | :------ | :------ | | `«destructured»` | `Object` | | › `logs` | `Uint8Array`[] | | › `txid` | `string` | #### Overrides BaseModel.constructor #### Defined in client/v2/indexer/models/types.ts:1053 ## Properties ### attribute\_map • **attribute\_map**: `Record`\<`string`, `string`\> #### Inherited from BaseModel.attribute\_map #### Defined in client/v2/basemodel.ts:56 ___ ### logs • **logs**: `Uint8Array`[] Logs for the application being executed by the transaction. #### Defined in client/v2/indexer/models/types.ts:1041 ___ ### txid • **txid**: `string` Transaction ID #### Defined in client/v2/indexer/models/types.ts:1046 ## Methods ### get\_obj\_for\_encoding ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\> Get an object ready for encoding to either JSON or msgpack. #### Parameters | Name | Type | Default value | Description | | :------ | :------ | :------ | :------ | | `binary` | `boolean` | `false` | Use true to indicate that the encoding can handle raw binary objects (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64 strings. True should be used for objects that will be encoded with msgpack, and false should be used for objects that will be encoded with JSON. | #### Returns `Record`\<`string`, `any`\> #### Inherited from BaseModel.get\_obj\_for\_encoding #### Defined in client/v2/basemodel.ts:65 ___ ### from\_obj\_for\_encoding ▸ `Static` **from_obj_for_encoding**(`data`): [`ApplicationLogData`](indexerModels.ApplicationLogData.md) #### Parameters | Name | Type | | :------ | :------ | | `data` | `Record`\<`string`, `any`\> | #### Returns [`ApplicationLogData`](indexerModels.ApplicationLogData.md) #### Defined in client/v2/indexer/models/types.ts:1065 ```