#
tokens: 48962/50000 24/942 files (page 10/93)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 10 of 93. Use http://codebase.md/goplausible/algorand-mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── llms-install.md
├── llms.txt
├── package.json
├── packages
│   ├── client
│   │   ├── .env.example
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── env.ts
│   │   │   ├── index.ts
│   │   │   └── LocalWallet.ts
│   │   └── tsconfig.json
│   └── server
│       ├── .env.example
│       ├── API specs
│       │   ├── algod_api.json
│       │   ├── indexer_api.json
│       │   ├── mcp.json
│       │   ├── nfd_api.json
│       │   ├── ultrade_api.json
│       │   ├── vestige_api.json
│       │   └── vestige_free_api.json
│       ├── Dockerfile
│       ├── jest.config.js
│       ├── package.json
│       ├── README.md
│       ├── smithery.yaml
│       ├── src
│       │   ├── algorand-client.ts
│       │   ├── env.ts
│       │   ├── index.ts
│       │   ├── resources
│       │   │   ├── index.ts
│       │   │   ├── knowledge
│       │   │   │   ├── ARCs.txt
│       │   │   │   ├── developers-algokit-architecture-decisions.txt
│       │   │   │   ├── developers-algokit-cli.txt
│       │   │   │   ├── developers-algokit-utils-python.txt
│       │   │   │   ├── developers-algokit-utils-typescript.txt
│       │   │   │   ├── developers-clis.txt
│       │   │   │   ├── developers-details.txt
│       │   │   │   ├── developers-liquid-auth.txt
│       │   │   │   ├── developers-nodes.txt
│       │   │   │   ├── developers-puya.txt
│       │   │   │   ├── developers-python.txt
│       │   │   │   ├── developers-sdks-js.txt
│       │   │   │   ├── developers-sdks-python.txt
│       │   │   │   ├── developers-tealscript.txt
│       │   │   │   ├── developers.txt
│       │   │   │   ├── index.ts
│       │   │   │   ├── taxonomy
│       │   │   │   │   ├── algokit-cli:README.md
│       │   │   │   │   ├── algokit:cli:algokit.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2022-11-22_beaker-testing-strategy.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-01-11_beaker_productionisation_review.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-01-11_brew_install.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-01-12_smart-contract-deployment.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-06-06_frontend-templates.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2023-07-19_advanced_generate_command.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-01-13_native_binaries.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-01-23_init-wizard-v2.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-01-31_binary_distribution.md
│       │   │   │   │   ├── algokit:cli:architecture-decisions:2024-03-06_local_dev_ui_packaging.md
│       │   │   │   │   ├── algokit:cli:articles:output_stability.md
│       │   │   │   │   ├── algokit:cli:cli:index.md
│       │   │   │   │   ├── algokit:cli:features:compile.md
│       │   │   │   │   ├── algokit:cli:features:completions.md
│       │   │   │   │   ├── algokit:cli:features:config.md
│       │   │   │   │   ├── algokit:cli:features:dispenser.md
│       │   │   │   │   ├── algokit:cli:features:doctor.md
│       │   │   │   │   ├── algokit:cli:features:explore.md
│       │   │   │   │   ├── algokit:cli:features:generate.md
│       │   │   │   │   ├── algokit:cli:features:goal.md
│       │   │   │   │   ├── algokit:cli:features:init.md
│       │   │   │   │   ├── algokit:cli:features:localnet.md
│       │   │   │   │   ├── algokit:cli:features:project:bootstrap.md
│       │   │   │   │   ├── algokit:cli:features:project:deploy.md
│       │   │   │   │   ├── algokit:cli:features:project:link.md
│       │   │   │   │   ├── algokit:cli:features:project:list.md
│       │   │   │   │   ├── algokit:cli:features:project:run.md
│       │   │   │   │   ├── algokit:cli:features:project.md
│       │   │   │   │   ├── algokit:cli:features:tasks:analyze.md
│       │   │   │   │   ├── algokit:cli:features:tasks:ipfs.md
│       │   │   │   │   ├── algokit:cli:features:tasks:mint.md
│       │   │   │   │   ├── algokit:cli:features:tasks:nfd.md
│       │   │   │   │   ├── algokit:cli:features:tasks:opt.md
│       │   │   │   │   ├── algokit:cli:features:tasks:send.md
│       │   │   │   │   ├── algokit:cli:features:tasks:sign.md
│       │   │   │   │   ├── algokit:cli:features:tasks:transfer.md
│       │   │   │   │   ├── algokit:cli:features:tasks:vanity_address.md
│       │   │   │   │   ├── algokit:cli:features:tasks:wallet.md
│       │   │   │   │   ├── algokit:cli:features:tasks.md
│       │   │   │   │   ├── algokit:cli:tutorials:algokit-template.md
│       │   │   │   │   ├── algokit:cli:tutorials:intro.md
│       │   │   │   │   ├── algokit:cli:tutorials:smart-contracts.md
│       │   │   │   │   ├── algokit:docs:testnet_api.md
│       │   │   │   │   ├── algokit:lora:README.md
│       │   │   │   │   ├── algokit:README.md
│       │   │   │   │   ├── algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:account.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:app-client.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:app-deploy.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:client.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:debugger.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:dispenser-client.md
│       │   │   │   │   ├── algokit:utils:python:markdown:capabilities:transfer.md
│       │   │   │   │   ├── algokit:utils:python:markdown:index.md
│       │   │   │   │   ├── algokit:utils:python:README.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:account.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:app-client.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:app-deploy.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:client.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:debugger.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:dispenser-client.md
│       │   │   │   │   ├── algokit:utils:python:source:capabilities:transfer.md
│       │   │   │   │   ├── algokit:utils:python:source:index.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:account.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:algorand-client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:amount.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:app-client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:app-deploy.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:app.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:asset.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:debugging.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:dispenser-client.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:event-emitter.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:indexer.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:testing.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:transaction-composer.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:transaction.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:transfer.md
│       │   │   │   │   ├── algokit:utils:typescript:capabilities:typed-app-clients.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:testing.TestLogger.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:testing.TransactionLogger.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_account_manager.AccountManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_account.MultisigAccount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_account.SigningAccount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_algorand_client.AlgorandClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_amount.AlgoAmount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_arc56.Arc56Method.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_client.AppClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_client.ApplicationClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_deployer.AppDeployer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_factory.AppFactory.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_app_manager.AppManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_asset_manager.AssetManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_async_event_emitter.AsyncEventEmitter.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_client_manager.ClientManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_composer.TransactionComposer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_config.UpdatableConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_dispenser_client.TestNetDispenserApiClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_kmd_account_manager.KmdAccountManager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:classes:types_logic_error.LogicError.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_app.OnSchemaBreak.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_app.OnUpdate.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_indexer.AccountStatus.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_indexer.ApplicationOnComplete.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_indexer.SignatureType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:enums:types_lifecycle_events.EventType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_account_manager.EnsureFundedResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_account.AccountConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_account.TransactionSignerAccount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_algorand_client_interface.AlgorandClientInterface.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Arc56Contract.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Event.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.ProgramSourceInfo.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageKey.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageMap.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StructField.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallABIArgs.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallCoreParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCallInterfaceParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCoreParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.AppSourceMaps.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.FundAppAccountParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppById.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppByIdBase.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_client.SourceMapExport.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppLookup.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppMetadata.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.AppInformation.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxReference.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValueRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValuesRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSources.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.CallConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.DeclaredSchemaValueSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.Hint.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.ReservedSchemaValueSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.Schema.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.SchemaSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.StateSchemaSpec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app_spec.Struct.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppCallParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppCallTransactionResultOfType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppCompilationResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppDeploymentParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppDeployMetadata.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppLookup.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppMetadata.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppReference.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppState.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.AppStorageSchema.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxName.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxReference.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxValueRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.BoxValuesRequestParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.CompiledTeal.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.CoreAppCallArgs.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.CreateAppParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.RawAppCallArgs.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.TealTemplateParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_app.UpdateAppParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset_manager.AssetInformation.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset_manager.BulkAssetOptInOutResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.AssetBulkOptInOutParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptInParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptOutParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_asset.CreateAssetParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_client_manager.AlgoSdkClients.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppClient.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppFactory.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_composer.BuiltTransactions.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_config.Config.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_debugging.AVMTracesEventData.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourceDebugEventData.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourcesDebugEventData.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserFundResponse.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserLimitResponse.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.TestNetDispenserApiClientParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_indexer.LookupAssetHoldingsOptions.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_logic_error.LogicErrorDetails.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoClientConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_network_client.NetworkDetails.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgoKitLogCaptureFixture.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixture.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixtureConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.GetTestAccountParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_testing.LogSnapshotConfig.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.AtomicTransactionComposerToSend.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResults.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendAtomicTransactionComposerResults.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResult.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResults.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionGroupToSend.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionToSign.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoRekeyParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoTransferParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedReturnType.md
│       │   │   │   │   ├── algokit:utils:typescript:code:interfaces:types_transfer.TransferAssetParams.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:index.indexer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:index.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:testing.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_account_manager_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_account_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_account.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algo_http_client_with_retry.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_asset_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_interface.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_creator.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_sender.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client_transfer_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_algorand_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_amount_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_amount.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_arc56.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_deployer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_factory_and_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_factory.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_app.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_asset_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_asset.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_async_event_emitter_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_async_event_emitter.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_client_manager_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_client_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_composer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_config.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_debugging.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_dispenser_client_spec.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_dispenser_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_expand.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_indexer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_kmd_account_manager.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_lifecycle_events.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_logging.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_logic_error.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_network_client.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_testing.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_transaction.md
│       │   │   │   │   ├── algokit:utils:typescript:code:modules:types_transfer.md
│       │   │   │   │   ├── algokit:utils:typescript:code:README.md
│       │   │   │   │   ├── algokit:utils:typescript:README.md
│       │   │   │   │   ├── algokit:utils:typescript:v7-migration.md
│       │   │   │   │   ├── algokit:utils:typescript:v8-migration.md
│       │   │   │   │   ├── ARCs:ARC-template.md
│       │   │   │   │   ├── ARCs:assets:arc-0012:README.md
│       │   │   │   │   ├── ARCs:assets:arc-0034:TemplateForm.md
│       │   │   │   │   ├── ARCs:assets:arc-0062:README.md
│       │   │   │   │   ├── ARCs:pages:nfts.md
│       │   │   │   │   ├── ARCs:pages:wallets.md
│       │   │   │   │   ├── ARCs:README.md
│       │   │   │   │   ├── ARCs:specs:arc-0000.md
│       │   │   │   │   ├── ARCs:specs:arc-0001.md
│       │   │   │   │   ├── ARCs:specs:arc-0002.md
│       │   │   │   │   ├── ARCs:specs:arc-0003.md
│       │   │   │   │   ├── ARCs:specs:arc-0004.md
│       │   │   │   │   ├── ARCs:specs:arc-0005.md
│       │   │   │   │   ├── ARCs:specs:arc-0006.md
│       │   │   │   │   ├── ARCs:specs:arc-0007.md
│       │   │   │   │   ├── ARCs:specs:arc-0008.md
│       │   │   │   │   ├── ARCs:specs:arc-0009.md
│       │   │   │   │   ├── ARCs:specs:arc-0010.md
│       │   │   │   │   ├── ARCs:specs:arc-0011.md
│       │   │   │   │   ├── ARCs:specs:arc-0012.md
│       │   │   │   │   ├── ARCs:specs:arc-0015.md
│       │   │   │   │   ├── ARCs:specs:arc-0016.md
│       │   │   │   │   ├── ARCs:specs:arc-0018.md
│       │   │   │   │   ├── ARCs:specs:arc-0019.md
│       │   │   │   │   ├── ARCs:specs:arc-0020.md
│       │   │   │   │   ├── ARCs:specs:arc-0021.md
│       │   │   │   │   ├── ARCs:specs:arc-0022.md
│       │   │   │   │   ├── ARCs:specs:arc-0023.md
│       │   │   │   │   ├── ARCs:specs:arc-0025.md
│       │   │   │   │   ├── ARCs:specs:arc-0026.md
│       │   │   │   │   ├── ARCs:specs:arc-0028.md
│       │   │   │   │   ├── ARCs:specs:arc-0032.md
│       │   │   │   │   ├── ARCs:specs:arc-0033.md
│       │   │   │   │   ├── ARCs:specs:arc-0034.md
│       │   │   │   │   ├── ARCs:specs:arc-0035.md
│       │   │   │   │   ├── ARCs:specs:arc-0036.md
│       │   │   │   │   ├── ARCs:specs:arc-0042.md
│       │   │   │   │   ├── ARCs:specs:arc-0047.md
│       │   │   │   │   ├── ARCs:specs:arc-0048.md
│       │   │   │   │   ├── ARCs:specs:arc-0049.md
│       │   │   │   │   ├── ARCs:specs:arc-0054.md
│       │   │   │   │   ├── ARCs:specs:arc-0055.md
│       │   │   │   │   ├── ARCs:specs:arc-0056.md
│       │   │   │   │   ├── ARCs:specs:arc-0059.md
│       │   │   │   │   ├── ARCs:specs:arc-0062.md
│       │   │   │   │   ├── ARCs:specs:arc-0065.md
│       │   │   │   │   ├── ARCs:specs:arc-0069.md
│       │   │   │   │   ├── ARCs:specs:arc-0072.md
│       │   │   │   │   ├── ARCs:specs:arc-0073.md
│       │   │   │   │   ├── ARCs:specs:arc-0074.md
│       │   │   │   │   ├── ARCs:specs:arc-0076.md
│       │   │   │   │   ├── ARCs:specs:arc-0078.md
│       │   │   │   │   ├── ARCs:specs:arc-0079.md
│       │   │   │   │   ├── ARCs:specs:arc-0200.md
│       │   │   │   │   ├── clis_index.md
│       │   │   │   │   ├── developer:docs:about.md
│       │   │   │   │   ├── developer:docs:clis:algokey:algokey.md
│       │   │   │   │   ├── developer:docs:clis:algokey:generate.md
│       │   │   │   │   ├── developer:docs:clis:algokey:import.md
│       │   │   │   │   ├── developer:docs:clis:algokey:multisig:append-auth-addr.md
│       │   │   │   │   ├── developer:docs:clis:algokey:multisig:multisig.md
│       │   │   │   │   ├── developer:docs:clis:algokey:part:info.md
│       │   │   │   │   ├── developer:docs:clis:algokey:part:part.md
│       │   │   │   │   ├── developer:docs:clis:algokey:part:reparent.md
│       │   │   │   │   ├── developer:docs:clis:algokey:sign.md
│       │   │   │   │   ├── developer:docs:clis:conduit:conduit.md
│       │   │   │   │   ├── developer:docs:clis:conduit:init.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:exporters.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:importers.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:list.md
│       │   │   │   │   ├── developer:docs:clis:conduit:list:processors.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:diagcfg.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:disable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:enable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:metric.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:metric:status.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:disable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:enable.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:endpoint.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:name.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:status.md
│       │   │   │   │   ├── developer:docs:clis:diagcfg:telemetry:telemetry.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:restart.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:start.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:status.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:stop.md
│       │   │   │   │   ├── developer:docs:clis:goal:node:wait.md
│       │   │   │   │   ├── developer:docs:clis:goal:protocols.md
│       │   │   │   │   ├── developer:docs:clis:goal:report.md
│       │   │   │   │   ├── developer:docs:clis:goal:version.md
│       │   │   │   │   ├── developer:docs:clis:goal:wallet:list.md
│       │   │   │   │   ├── developer:docs:clis:goal:wallet:new.md
│       │   │   │   │   ├── developer:docs:clis:goal:wallet:wallet.md
│       │   │   │   │   ├── developer:docs:clis:indexer:api-config.md
│       │   │   │   │   ├── developer:docs:clis:indexer:daemon.md
│       │   │   │   │   ├── developer:docs:clis:indexer:indexer.md
│       │   │   │   │   ├── developer:docs:clis:indexer:util:util.md
│       │   │   │   │   ├── developer:docs:clis:indexer:util:validator.md
│       │   │   │   │   ├── developer:docs:clis:kmd.md
│       │   │   │   │   ├── developer:docs:clis:tealdbg:debug.md
│       │   │   │   │   ├── developer:docs:clis:tealdbg:remote.md
│       │   │   │   │   ├── developer:docs:clis:tealdbg:tealdbg.md
│       │   │   │   │   ├── developer:docs:details:accounts:create.md
│       │   │   │   │   ├── developer:docs:details:accounts:index.md
│       │   │   │   │   ├── developer:docs:details:accounts:rekey.md
│       │   │   │   │   ├── developer:docs:details:algorand_consensus.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:betanet.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:index.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:mainnet.md
│       │   │   │   │   ├── developer:docs:details:algorand-networks:testnet.md
│       │   │   │   │   ├── developer:docs:details:asa.md
│       │   │   │   │   ├── developer:docs:details:atc.md
│       │   │   │   │   ├── developer:docs:details:atomic_transfers.md
│       │   │   │   │   ├── developer:docs:details:conduit.md
│       │   │   │   │   ├── developer:docs:details:crust.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:guidelines.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:jsonspec.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v1.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v10.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v2.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v3.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v4.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v5.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v6.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v7.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v8.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:opcodes:v9.md
│       │   │   │   │   ├── developer:docs:details:dapps:avm:teal:specification.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:ABI:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:create.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:innertx.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:state.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:apps:txs.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:debugging.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:frontend:apps.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:frontend:smartsigs.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:guidelines.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:smartsigs:index.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:smartsigs:modes.md
│       │   │   │   │   ├── developer:docs:details:dapps:smart-contracts:smartsigs:walkthrough.md
│       │   │   │   │   ├── developer:docs:details:dapps:writing-contracts:beaker.md
│       │   │   │   │   ├── developer:docs:details:dapps:writing-contracts:pyteal.md
│       │   │   │   │   ├── developer:docs:details:dapps:writing-contracts:python.md
│       │   │   │   │   ├── developer:docs:details:encoding.md
│       │   │   │   │   ├── developer:docs:details:ethereum_to_algorand.md
│       │   │   │   │   ├── developer:docs:details:index.md
│       │   │   │   │   ├── developer:docs:details:indexer.md
│       │   │   │   │   ├── developer:docs:details:parameter_tables.md
│       │   │   │   │   ├── developer:docs:details:stateproofs:index.md
│       │   │   │   │   ├── developer:docs:details:stateproofs:light_client.md
│       │   │   │   │   ├── developer:docs:details:technical_faq.md
│       │   │   │   │   ├── developer:docs:details:transactions:index.md
│       │   │   │   │   ├── developer:docs:details:transactions:offline_transactions.md
│       │   │   │   │   ├── developer:docs:details:transactions:payment_prompts.md
│       │   │   │   │   ├── developer:docs:details:transactions:signatures.md
│       │   │   │   │   ├── developer:docs:details:transactions:transactions.md
│       │   │   │   │   ├── developer:docs:details:useful_resources.md
│       │   │   │   │   ├── developer:docs:get-started:algokit.md
│       │   │   │   │   ├── developer:docs:get-started:basics:what_is_blockchain.md
│       │   │   │   │   ├── developer:docs:get-started:basics:whats_a_dapp.md
│       │   │   │   │   ├── developer:docs:get-started:basics:where_to_start.md
│       │   │   │   │   ├── developer:docs:get-started:basics:why_algorand.md
│       │   │   │   │   ├── developer:docs:get-started:tokenization:ft.md
│       │   │   │   │   ├── developer:docs:get-started:tokenization:nft.md
│       │   │   │   │   ├── developer:docs:index.md
│       │   │   │   │   ├── developer:docs:rest-apis:algod.md
│       │   │   │   │   ├── developer:docs:rest-apis:indexer.md
│       │   │   │   │   ├── developer:docs:rest-apis:kmd.md
│       │   │   │   │   ├── developer:docs:rest-apis:restendpoints.md
│       │   │   │   │   ├── developer:docs:run-a-node:operations:catchup.md
│       │   │   │   │   ├── developer:docs:run-a-node:operations:switch_networks.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:generate_keys.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:index.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:offline.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:online.md
│       │   │   │   │   ├── developer:docs:run-a-node:participate:renew.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:artifacts.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:config.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:relay.md
│       │   │   │   │   ├── developer:docs:run-a-node:reference:telemetry-config.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:indexer.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:install.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:node-troubleshooting.md
│       │   │   │   │   ├── developer:docs:run-a-node:setup:types.md
│       │   │   │   │   ├── developer:docs:sdks:go:index.md
│       │   │   │   │   ├── developer:docs:sdks:index.md
│       │   │   │   │   ├── developer:docs:sdks:java:index.md
│       │   │   │   │   ├── developer:docs:sdks:javascript:index.md
│       │   │   │   │   ├── developer:docs:sdks:python:index.md
│       │   │   │   │   ├── developer:python:code:example:accounts.md
│       │   │   │   │   ├── developer:python:code:example:arc4_types.md
│       │   │   │   │   ├── developer:python:code:example:assets.md
│       │   │   │   │   ├── developer:python:code:example:box_storage.md
│       │   │   │   │   ├── developer:python:code:example:control_flow.md
│       │   │   │   │   ├── developer:python:code:example:crypto:merkle_tree.md
│       │   │   │   │   ├── developer:python:code:example:defi:amm.md
│       │   │   │   │   ├── developer:python:code:example:defi:auction.md
│       │   │   │   │   ├── developer:python:code:example:defi:htlc_logicsig.md
│       │   │   │   │   ├── developer:python:code:example:defi:marketplace.md
│       │   │   │   │   ├── developer:python:code:example:events:arc28_events.md
│       │   │   │   │   ├── developer:python:code:example:global_storage.md
│       │   │   │   │   ├── developer:python:code:example:governance:simple_voting.md
│       │   │   │   │   ├── developer:python:code:example:hello_world.md
│       │   │   │   │   ├── developer:python:code:example:inner_transactions.md
│       │   │   │   │   ├── developer:python:code:example:local_storage.md
│       │   │   │   │   ├── developer:python:code:example:nft:proof_of_attendance.md
│       │   │   │   │   ├── developer:python:code:example:privacy:zk_whitelist.md
│       │   │   │   │   ├── developer:python:code:example:scratch_storage.md
│       │   │   │   │   ├── developer:python:code:example:self_payment.md
│       │   │   │   │   ├── developer:python:code:example:struct_in_box.md
│       │   │   │   │   ├── developer:python:code:example:subsidize_app_call.md
│       │   │   │   │   ├── developer:python:code:example:transactions.md
│       │   │   │   │   ├── developer:python:code:example:utility:calculator.md
│       │   │   │   │   ├── devportal-code-examples:projects:python-contract-examples:README.md
│       │   │   │   │   ├── devportal-code-examples:README.md
│       │   │   │   │   ├── docs:.walletconnect:index.md
│       │   │   │   │   ├── docs:.walletconnect:walletconnect-schema.md
│       │   │   │   │   ├── docs:README.md
│       │   │   │   │   ├── docs:scripts:example_tracker:example_list.md
│       │   │   │   │   ├── docs:scripts:README.md
│       │   │   │   │   ├── index.md
│       │   │   │   │   ├── liquid_auth_index.md
│       │   │   │   │   ├── liquid-auth:ARCHITECTURE.md
│       │   │   │   │   ├── liquid-auth:decisions:1-Service-Authentication.md
│       │   │   │   │   ├── liquid-auth:decisions:2-Bidirectional-Communication.md
│       │   │   │   │   ├── liquid-auth:decisions:3-Peer-to-Peer-Signaling.md
│       │   │   │   │   ├── liquid-auth:decisions:4-Fido-Extension.md
│       │   │   │   │   ├── liquid-auth:decisions:README.md
│       │   │   │   │   ├── liquid-auth:docs:architecture.md
│       │   │   │   │   ├── liquid-auth:docs:clients:android:provider-service:authenticate.md
│       │   │   │   │   ├── liquid-auth:docs:clients:android:provider-service:register.md
│       │   │   │   │   ├── liquid-auth:docs:clients:browser:authentication.md
│       │   │   │   │   ├── liquid-auth:docs:clients:browser:example.md
│       │   │   │   │   ├── liquid-auth:docs:introduction.md
│       │   │   │   │   ├── liquid-auth:docs:README.md
│       │   │   │   │   ├── liquid-auth:docs:server:environment-variables.md
│       │   │   │   │   ├── liquid-auth:docs:server:integrations.md
│       │   │   │   │   ├── liquid-auth:docs:server:introduction.md
│       │   │   │   │   ├── liquid-auth:docs:server:running-locally.md
│       │   │   │   │   ├── liquid-auth:README.md
│       │   │   │   │   ├── liquid-auth:SEQUENCE.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.request.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.response.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:attestation:attestation.controller.post.request.md
│       │   │   │   │   ├── liquid-auth:services:liquid-auth-api-js:src:auth:auth.controller.get.user.md
│       │   │   │   │   ├── liquid-auth:sites:express-dapp:README.md
│       │   │   │   │   ├── liquid-auth:VISION.md
│       │   │   │   │   ├── puya_index.md
│       │   │   │   │   ├── puya:docs:algopy_testing:index.md
│       │   │   │   │   ├── puya:docs:api-algopy.arc4.md
│       │   │   │   │   ├── puya:docs:api-algopy.gtxn.md
│       │   │   │   │   ├── puya:docs:api-algopy.itxn.md
│       │   │   │   │   ├── puya:docs:api-algopy.md
│       │   │   │   │   ├── puya:docs:api-algopy.op.md
│       │   │   │   │   ├── puya:docs:api.md
│       │   │   │   │   ├── puya:docs:compiler.md
│       │   │   │   │   ├── puya:docs:index.md
│       │   │   │   │   ├── puya:docs:language-guide.md
│       │   │   │   │   ├── puya:docs:lg-arc28.md
│       │   │   │   │   ├── puya:docs:lg-arc4.md
│       │   │   │   │   ├── puya:docs:lg-builtins.md
│       │   │   │   │   ├── puya:docs:lg-calling-apps.md
│       │   │   │   │   ├── puya:docs:lg-compile.md
│       │   │   │   │   ├── puya:docs:lg-control.md
│       │   │   │   │   ├── puya:docs:lg-errors.md
│       │   │   │   │   ├── puya:docs:lg-logs.md
│       │   │   │   │   ├── puya:docs:lg-modules.md
│       │   │   │   │   ├── puya:docs:lg-opcode-budget.md
│       │   │   │   │   ├── puya:docs:lg-ops.md
│       │   │   │   │   ├── puya:docs:lg-storage.md
│       │   │   │   │   ├── puya:docs:lg-structure.md
│       │   │   │   │   ├── puya:docs:lg-transactions.md
│       │   │   │   │   ├── puya:docs:lg-types.md
│       │   │   │   │   ├── puya:docs:lg-unsupported-python-features.md
│       │   │   │   │   ├── puya:docs:principles.md
│       │   │   │   │   ├── puya:examples:auction:README.md
│       │   │   │   │   ├── puya:python:testing:docs:algopy.md
│       │   │   │   │   ├── puya:python:testing:docs:api.md
│       │   │   │   │   ├── puya:python:testing:docs:coverage.md
│       │   │   │   │   ├── puya:python:testing:docs:examples.md
│       │   │   │   │   ├── puya:python:testing:docs:faq.md
│       │   │   │   │   ├── puya:python:testing:docs:index.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:arc4-types.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:avm-types.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:concepts.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:contract-testing.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:index.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:opcodes.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:signature-testing.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:state-management.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:subroutines.md
│       │   │   │   │   ├── puya:python:testing:docs:testing-guide:transactions.md
│       │   │   │   │   ├── puya:python:testing:examples:README.md
│       │   │   │   │   ├── puya:python:testing:README.md
│       │   │   │   │   ├── puya:README.md
│       │   │   │   │   ├── puya:src:puya:ARCHITECTURE.md
│       │   │   │   │   ├── puya:src:puyapy:_typeshed:README.md
│       │   │   │   │   ├── puya:src:puyapy:_vendor:mypy:typeshed:stdlib:_typeshed:README.md
│       │   │   │   │   ├── puya:src:puyapy:awst_build:README.md
│       │   │   │   │   ├── puya:stubs:README.md
│       │   │   │   │   ├── puya:tests:test_expected_output:README.md
│       │   │   │   │   ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-bytes-and-strings.md
│       │   │   │   │   ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-integer-types.md
│       │   │   │   │   ├── puya:typescript:docs:README.md
│       │   │   │   │   ├── puya:typescript:packages:algo-ts:readme.md
│       │   │   │   │   ├── puya:typescript:README.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIAddressType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIArrayDynamicType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIArrayStaticType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIBoolType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIByteType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIContract.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIInterface.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIMethod.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIStringType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABITupleType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIUfixedType.md
│       │   │   │   │   ├── SDKs:javascript:classes:ABIUintType.md
│       │   │   │   │   ├── SDKs:javascript:classes:Algodv2.md
│       │   │   │   │   ├── SDKs:javascript:classes:AtomicTransactionComposer.md
│       │   │   │   │   ├── SDKs:javascript:classes:DryrunResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:Indexer.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Account.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountParticipation.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AccountStateDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Application.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLocalState.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLocalStatesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLogData.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationLogsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ApplicationStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Asset.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetBalancesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetHoldingsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.AssetsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Block.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BlockRewards.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BlockUpgradeState.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BlockUpgradeVote.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Box.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BoxDescriptor.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.BoxesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ErrorResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.EvalDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.EvalDeltaKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.HashFactory.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.HealthCheck.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.IndexerStateProofMessage.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.MerkleArrayProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.MiniAssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.ParticipationUpdates.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofFields.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofParticipant.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofReveal.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofSignature.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofSigSlot.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofTracking.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateProofVerifier.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.StateSchema.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TealKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TealValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.Transaction.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionApplication.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionAssetConfig.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionAssetFreeze.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionAssetTransfer.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionKeyreg.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionPayment.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignature.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignatureLogicsig.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisig.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisigSubsignature.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:indexerModels.TransactionStateProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:Kmd.md
│       │   │   │   │   ├── SDKs:javascript:classes:LogicSig.md
│       │   │   │   │   ├── SDKs:javascript:classes:LogicSigAccount.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Account.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountApplicationResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountAssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountAssetResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountAssetsInformationResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountParticipation.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AccountStateDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AppCallLogs.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Application.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationInitialStates.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationKVStorage.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationLocalReference.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationLocalState.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationStateOperation.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ApplicationStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Asset.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AssetHolding.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AssetHoldingReference.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AssetParams.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AvmKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.AvmValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockHashResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockLogsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BlockTxidsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Box.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BoxDescriptor.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BoxesResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BoxReference.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.BuildVersion.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.CompileResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DisassembleResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunRequest.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunSource.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunState.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.DryrunTxnResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ErrorResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.EvalDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.EvalDeltaKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.GetBlockTimeStampOffsetResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.GetSyncRoundResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.KvDelta.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.LedgerStateDeltaForTransactionGroup.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.LightBlockHeaderProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.NodeStatusResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.PendingTransactionResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.PendingTransactionsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.PostTransactionsResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.ScratchChange.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateInitialStates.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateRequest.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateRequestTransactionGroup.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateTraceConfig.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateTransactionGroupResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateTransactionResult.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulateUnnamedResourcesAccessed.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulationEvalOverrides.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SimulationTransactionExecTrace.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.StateProof.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.StateProofMessage.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.SupplyResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TealKeyValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TealValue.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TransactionGroupLedgerStateDeltasForRoundResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TransactionParametersResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.TransactionProofResponse.md
│       │   │   │   │   ├── SDKs:javascript:classes:modelsv2.Version.md
│       │   │   │   │   ├── SDKs:javascript:classes:SourceMap.md
│       │   │   │   │   ├── SDKs:javascript:classes:Transaction.md
│       │   │   │   │   ├── SDKs:javascript:enums:ABIReferenceType.md
│       │   │   │   │   ├── SDKs:javascript:enums:ABITransactionType.md
│       │   │   │   │   ├── SDKs:javascript:enums:AtomicTransactionComposerStatus.md
│       │   │   │   │   ├── SDKs:javascript:enums:IntDecoding.md
│       │   │   │   │   ├── SDKs:javascript:enums:OnApplicationComplete.md
│       │   │   │   │   ├── SDKs:javascript:enums:TransactionType.md
│       │   │   │   │   ├── SDKs:javascript:examples:README.md
│       │   │   │   │   ├── SDKs:javascript:FAQ.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIContractNetworkInfo.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIContractNetworks.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIContractParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIInterfaceParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIMethodArgParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIMethodParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIMethodReturnParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:ABIResult.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:Account.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:Address.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:AlgodTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BaseHTTPClient.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BaseHTTPClientError.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BaseHTTPClientResponse.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:BoxReference.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:CustomTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedAssetParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedBoxReference.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedGlobalStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedLocalStateSchema.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedLogicSig.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedLogicSigAccount.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedMultisig.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedSignedTransaction.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedSubsig.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:EncodedTransaction.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:IndexerTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:KMDTokenHeader.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:MultisigMetadata.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:SignedTransaction.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:SuggestedParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:TransactionParams.md
│       │   │   │   │   ├── SDKs:javascript:interfaces:TransactionWithSigner.md
│       │   │   │   │   ├── SDKs:javascript:modules:indexerModels.md
│       │   │   │   │   ├── SDKs:javascript:modules:modelsv2.md
│       │   │   │   │   ├── SDKs:javascript:modules.md
│       │   │   │   │   ├── SDKs:javascript:README.md
│       │   │   │   │   ├── SDKs:python:algosdk:v2client:harness:README.md
│       │   │   │   │   ├── SDKs:python:examples:README.md
│       │   │   │   │   ├── SDKs:python:README.md
│       │   │   │   │   ├── tealscript:examples_amm_README.md
│       │   │   │   │   ├── tealscript:examples_auction_README.md
│       │   │   │   │   ├── tealscript:examples_big_box_README.md
│       │   │   │   │   ├── tealscript:examples_itxns_README.md
│       │   │   │   │   ├── tealscript:examples_lsig_with_app_README.md
│       │   │   │   │   ├── tealscript:examples_reti_README.md
│       │   │   │   │   ├── tealscript:FEATURES.md
│       │   │   │   │   ├── tealscript:guides_atomic_txn.md
│       │   │   │   │   ├── tealscript:guides_features.md
│       │   │   │   │   ├── tealscript:guides_getting_started.md
│       │   │   │   │   ├── tealscript:guides_inner_transactions.md
│       │   │   │   │   ├── tealscript:guides_lifecycle.md
│       │   │   │   │   ├── tealscript:guides_math.md
│       │   │   │   │   ├── tealscript:guides_methods.md
│       │   │   │   │   ├── tealscript:guides_multiple_contracts.md
│       │   │   │   │   ├── tealscript:guides_pyteal.md
│       │   │   │   │   ├── tealscript:guides_storage.md
│       │   │   │   │   ├── tealscript:guides_Supported Types_arrays.md
│       │   │   │   │   ├── tealscript:guides_Supported Types_numbers.md
│       │   │   │   │   ├── TEALScript:README.md
│       │   │   │   │   ├── tealscript:tests_test_package_README.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0001-intro.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0002-init.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0003-contract.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0004-artifacts.md
│       │   │   │   │   ├── tealscript:tutorials_Hello World_0005-hello.md
│       │   │   │   │   └── tealscript:tutorials_Hello World_0006-test.md
│       │   │   │   └── taxonomy-categories
│       │   │   │       ├── algokit-utils.json
│       │   │   │       ├── algokit.json
│       │   │   │       ├── arcs.json
│       │   │   │       ├── clis.json
│       │   │   │       ├── details.json
│       │   │   │       ├── developers.json
│       │   │   │       ├── liquid-auth.json
│       │   │   │       ├── nodes.json
│       │   │   │       ├── puya.json
│       │   │   │       ├── python.json
│       │   │   │       ├── sdks.json
│       │   │   │       └── tealscript.json
│       │   │   └── wallet
│       │   │       └── index.ts
│       │   ├── tools
│       │   │   ├── accountManager.ts
│       │   │   ├── algodManager.ts
│       │   │   ├── apiManager
│       │   │   │   ├── algod
│       │   │   │   │   ├── account.ts
│       │   │   │   │   ├── application.ts
│       │   │   │   │   ├── asset.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   └── transaction.ts
│       │   │   │   ├── example
│       │   │   │   │   ├── get-balance.ts
│       │   │   │   │   └── index.ts
│       │   │   │   ├── index.ts
│       │   │   │   ├── indexer
│       │   │   │   │   ├── account.ts
│       │   │   │   │   ├── application.ts
│       │   │   │   │   ├── asset.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   └── transaction.ts
│       │   │   │   ├── nfd
│       │   │   │   │   └── index.ts
│       │   │   │   ├── tinyman
│       │   │   │   │   ├── analytics.ts
│       │   │   │   │   ├── bootstrap.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   ├── liquidity.ts
│       │   │   │   │   ├── opt_in.ts
│       │   │   │   │   ├── pool.ts
│       │   │   │   │   ├── remove_liquidity.ts
│       │   │   │   │   └── swap.ts
│       │   │   │   ├── ultrade
│       │   │   │   │   ├── index.ts
│       │   │   │   │   ├── market.ts
│       │   │   │   │   ├── system.ts
│       │   │   │   │   └── wallet.ts
│       │   │   │   └── vestige
│       │   │   │       ├── assets.ts
│       │   │   │       ├── balances.ts
│       │   │   │       ├── index.ts
│       │   │   │       ├── networks.ts
│       │   │   │       ├── notes.ts
│       │   │   │       ├── pools.ts
│       │   │   │       ├── protocols.ts
│       │   │   │       ├── swaps.ts
│       │   │   │       └── vaults.ts
│       │   │   ├── arc26Manager.ts
│       │   │   ├── index.ts
│       │   │   ├── knowledgeManager.ts
│       │   │   ├── transactionManager
│       │   │   │   ├── accountTransactions.ts
│       │   │   │   ├── appTransactions
│       │   │   │   │   ├── callTxn.ts
│       │   │   │   │   ├── clearTxn.ts
│       │   │   │   │   ├── closeOutTxn.ts
│       │   │   │   │   ├── createTxn.ts
│       │   │   │   │   ├── deleteTxn.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   ├── optInTxn.ts
│       │   │   │   │   ├── test
│       │   │   │   │   │   ├── counter_approval.teal
│       │   │   │   │   │   ├── counter_clear.teal
│       │   │   │   │   │   ├── storage_test_approval_v2.teal
│       │   │   │   │   │   ├── storage_test_approval.teal
│       │   │   │   │   │   └── storage_test_clear.teal
│       │   │   │   │   ├── types.ts
│       │   │   │   │   └── updateTxn.ts
│       │   │   │   ├── assetTransactions.ts
│       │   │   │   ├── generalTransaction.ts
│       │   │   │   └── index.ts
│       │   │   └── utilityManager.ts
│       │   ├── types.ts
│       │   └── utils
│       │       └── responseProcessor.ts
│       ├── tests
│       │   ├── resources
│       │   │   ├── algod
│       │   │   │   ├── account.test.ts
│       │   │   │   ├── application.test.ts
│       │   │   │   ├── asset.test.ts
│       │   │   │   └── transaction.test.ts
│       │   │   └── indexer
│       │   │       ├── account.test.ts
│       │   │       ├── application.test.ts
│       │   │       ├── asset.test.ts
│       │   │       └── transaction.test.ts
│       │   └── tools
│       │       ├── accountManager.test.ts
│       │       ├── algodManager.test.ts
│       │       ├── apiManager
│       │       │   └── example
│       │       │       └── get-balance.test.ts
│       │       ├── transactionManager
│       │       │   ├── accountTransactionManager.test.ts
│       │       │   ├── appTransactionManager.test.ts
│       │       │   ├── assetTransactionManager.test.ts
│       │       │   ├── generalTransactionManager.test.ts
│       │       │   └── transactionManager.test.ts
│       │       └── utilityManager.test.ts
│       └── tsconfig.json
├── README.md
├── rename_files.sh
└── tsconfig.json
```

# Files

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.ApplicationStateSchema.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / ApplicationStateSchema
  2 | 
  3 | # Class: ApplicationStateSchema
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).ApplicationStateSchema
  6 | 
  7 | Specifies maximums on the number of each type that may be stored.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`ApplicationStateSchema`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.ApplicationStateSchema.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](modelsv2.ApplicationStateSchema.md#attribute_map)
 24 | - [numByteSlice](modelsv2.ApplicationStateSchema.md#numbyteslice)
 25 | - [numUint](modelsv2.ApplicationStateSchema.md#numuint)
 26 | 
 27 | ### Methods
 28 | 
 29 | - [get\_obj\_for\_encoding](modelsv2.ApplicationStateSchema.md#get_obj_for_encoding)
 30 | - [from\_obj\_for\_encoding](modelsv2.ApplicationStateSchema.md#from_obj_for_encoding)
 31 | 
 32 | ## Constructors
 33 | 
 34 | ### constructor
 35 | 
 36 | • **new ApplicationStateSchema**(`«destructured»`)
 37 | 
 38 | Creates a new `ApplicationStateSchema` object.
 39 | 
 40 | #### Parameters
 41 | 
 42 | | Name | Type |
 43 | | :------ | :------ |
 44 | | `«destructured»` | `Object` |
 45 | | › `numByteSlice` | `number` \| `bigint` |
 46 | | › `numUint` | `number` \| `bigint` |
 47 | 
 48 | #### Overrides
 49 | 
 50 | BaseModel.constructor
 51 | 
 52 | #### Defined in
 53 | 
 54 | client/v2/algod/models/types.ts:1516
 55 | 
 56 | ## Properties
 57 | 
 58 | ### attribute\_map
 59 | 
 60 | • **attribute\_map**: `Record`\<`string`, `string`\>
 61 | 
 62 | #### Inherited from
 63 | 
 64 | BaseModel.attribute\_map
 65 | 
 66 | #### Defined in
 67 | 
 68 | client/v2/basemodel.ts:56
 69 | 
 70 | ___
 71 | 
 72 | ### numByteSlice
 73 | 
 74 | • **numByteSlice**: `number` \| `bigint`
 75 | 
 76 | (nbs) num of byte slices.
 77 | 
 78 | #### Defined in
 79 | 
 80 | client/v2/algod/models/types.ts:1509
 81 | 
 82 | ___
 83 | 
 84 | ### numUint
 85 | 
 86 | • **numUint**: `number` \| `bigint`
 87 | 
 88 | (nui) num of uints.
 89 | 
 90 | #### Defined in
 91 | 
 92 | client/v2/algod/models/types.ts:1504
 93 | 
 94 | ## Methods
 95 | 
 96 | ### get\_obj\_for\_encoding
 97 | 
 98 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 99 | 
100 | Get an object ready for encoding to either JSON or msgpack.
101 | 
102 | #### Parameters
103 | 
104 | | Name | Type | Default value | Description |
105 | | :------ | :------ | :------ | :------ |
106 | | `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. |
107 | 
108 | #### Returns
109 | 
110 | `Record`\<`string`, `any`\>
111 | 
112 | #### Inherited from
113 | 
114 | BaseModel.get\_obj\_for\_encoding
115 | 
116 | #### Defined in
117 | 
118 | client/v2/basemodel.ts:65
119 | 
120 | ___
121 | 
122 | ### from\_obj\_for\_encoding
123 | 
124 | ▸ `Static` **from_obj_for_encoding**(`data`): [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md)
125 | 
126 | #### Parameters
127 | 
128 | | Name | Type |
129 | | :------ | :------ |
130 | | `data` | `Record`\<`string`, `any`\> |
131 | 
132 | #### Returns
133 | 
134 | [`ApplicationStateSchema`](modelsv2.ApplicationStateSchema.md)
135 | 
136 | #### Defined in
137 | 
138 | client/v2/algod/models/types.ts:1534
139 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/liquid-auth:docs:clients:browser:authentication.md:
--------------------------------------------------------------------------------

```markdown
  1 | ---
  2 | title: 'Browser: Authentication'
  3 | sidebar:
  4 |   badge:
  5 |     text: "TODO"
  6 |     variant: danger
  7 | ---
  8 | 
  9 | Authenticate an existing [Passkey](/guides/concepts/#passkeys) with the [Service](/guides/server/introduction).
 10 | 
 11 | ### Who is this for?
 12 | 
 13 | - **dApps** logging back into the service without connecting to another client
 14 | - **Browser Wallets** that want to communicate with other clients
 15 | 
 16 | ## Client
 17 | 
 18 | Sign in with an existing account using an instance of the `SignalClient`
 19 | ```typescript
 20 | //app.ts
 21 | await client.assertion(
 22 |     credentialId, // Some known credential ID
 23 |     {requestId: 12345} // Optional requestId to link
 24 | )
 25 | ```
 26 | 
 27 | ## Stateless
 28 | 
 29 | Using the stateless method without a `SignalClient`
 30 | 
 31 | ```typescript
 32 | //app.ts
 33 | import {assertion} from '@algorandfoundation/liquid-auth/assertion'
 34 | await assertion(
 35 |   "https://my-liquid-service.com",
 36 |   credentialId, // Some known credential ID
 37 |   {requestId: 12345} // Optional requestId to link
 38 | )
 39 | ```
 40 | 
 41 | ## Manual
 42 | 
 43 | If you want to manually handle the process of creating a passkey, you can use the following methods and preforming
 44 | the three steps of the process.
 45 | 
 46 | ### 🧮 Options
 47 | 
 48 | Manually fetching the `Options` from the service.
 49 | 
 50 | ```typescript
 51 | import {fetchAssertionRequestOptions} from '@algorandfoundation/liquid-client/assertion'
 52 | 
 53 | const encodedOptions = await fetchAssertionRequestOptions("https://my-liquid-service.com", "<KNOWN_CREDENTIAL_ID>")
 54 | ```
 55 | 
 56 | ### 🎉 Retrieving
 57 | 
 58 | Decode the options and fetch the Passkey.
 59 | 
 60 | ```typescript
 61 | import {fromBase64Url} from "@algorandfoundation/liquid-client/encoding";
 62 | const options = { ...encodedOptions };
 63 | // Challenge from the service
 64 | options.challenge = fromBase64Url(options.challenge);
 65 | // Decode any known credentials
 66 | if (options.allowCredentials) {
 67 |   for (const cred of options.allowCredentials) {
 68 |     cred.id = fromBase64Url(cred.id);
 69 |   }
 70 | }
 71 | const credential = navigator.credentials.get({
 72 |   publicKey: options
 73 | })
 74 | ```
 75 | 
 76 | ### 🔐 Liquid Extension
 77 | 
 78 | Optionally, Authenticate a remote user with the Liquid Extension.
 79 | 
 80 | ```typescript
 81 | credential.clientExtensionResults = {
 82 |     // Optionally authenticate a remote peer
 83 |     requestId: "<UUID_FROM_QR_CODE>"
 84 | }
 85 | ```
 86 | 
 87 | ### 🚚 Response
 88 | 
 89 | Encode and submit the passkey to the service.
 90 | 
 91 | ```typescript
 92 | import {fetchAssertionResponse} from '@algorandfoundation/liquid-client/assertion'
 93 | import {toBase64URL} from '@algorandfoundation/liquid-client/encoding'
 94 | 
 95 | const result = await fetchAssertionResponse("https://my-liquid-service.com", {
 96 |   id: credential.id,
 97 |   type: credential.type,
 98 |   rawId: toBase64URL(credential.rawId),
 99 |   clientExtensionResults: credential.clientExtensionResults,
100 |   response: Object.keys(AuthenticatorAssertionResponse.prototype).reduce((prev, curr) => {
101 |     prev[curr] = toBase64URL(credential.response[curr]);
102 |     return prev;
103 |   }, {
104 |     clientDataJSON: toBase64URL(credential.response.clientDataJSON),
105 |   }),
106 | })
107 | ```
108 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.AccountResponse.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / AccountResponse
  2 | 
  3 | # Class: AccountResponse
  4 | 
  5 | [indexerModels](../modules/indexerModels.md).AccountResponse
  6 | 
  7 | ## Hierarchy
  8 | 
  9 | - `default`
 10 | 
 11 |   ↳ **`AccountResponse`**
 12 | 
 13 | ## Table of contents
 14 | 
 15 | ### Constructors
 16 | 
 17 | - [constructor](indexerModels.AccountResponse.md#constructor)
 18 | 
 19 | ### Properties
 20 | 
 21 | - [account](indexerModels.AccountResponse.md#account)
 22 | - [attribute\_map](indexerModels.AccountResponse.md#attribute_map)
 23 | - [currentRound](indexerModels.AccountResponse.md#currentround)
 24 | 
 25 | ### Methods
 26 | 
 27 | - [get\_obj\_for\_encoding](indexerModels.AccountResponse.md#get_obj_for_encoding)
 28 | - [from\_obj\_for\_encoding](indexerModels.AccountResponse.md#from_obj_for_encoding)
 29 | 
 30 | ## Constructors
 31 | 
 32 | ### constructor
 33 | 
 34 | • **new AccountResponse**(`«destructured»`)
 35 | 
 36 | Creates a new `AccountResponse` object.
 37 | 
 38 | #### Parameters
 39 | 
 40 | | Name | Type |
 41 | | :------ | :------ |
 42 | | `«destructured»` | `Object` |
 43 | | › `account` | [`Account`](indexerModels.Account.md) |
 44 | | › `currentRound` | `number` \| `bigint` |
 45 | 
 46 | #### Overrides
 47 | 
 48 | BaseModel.constructor
 49 | 
 50 | #### Defined in
 51 | 
 52 | client/v2/indexer/models/types.ts:630
 53 | 
 54 | ## Properties
 55 | 
 56 | ### account
 57 | 
 58 | • **account**: [`Account`](indexerModels.Account.md)
 59 | 
 60 | Account information at a given round.
 61 | Definition:
 62 | data/basics/userBalance.go : AccountData
 63 | 
 64 | #### Defined in
 65 | 
 66 | client/v2/indexer/models/types.ts:616
 67 | 
 68 | ___
 69 | 
 70 | ### attribute\_map
 71 | 
 72 | • **attribute\_map**: `Record`\<`string`, `string`\>
 73 | 
 74 | #### Inherited from
 75 | 
 76 | BaseModel.attribute\_map
 77 | 
 78 | #### Defined in
 79 | 
 80 | client/v2/basemodel.ts:56
 81 | 
 82 | ___
 83 | 
 84 | ### currentRound
 85 | 
 86 | • **currentRound**: `number` \| `bigint`
 87 | 
 88 | Round at which the results were computed.
 89 | 
 90 | #### Defined in
 91 | 
 92 | client/v2/indexer/models/types.ts:621
 93 | 
 94 | ## Methods
 95 | 
 96 | ### get\_obj\_for\_encoding
 97 | 
 98 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 99 | 
100 | Get an object ready for encoding to either JSON or msgpack.
101 | 
102 | #### Parameters
103 | 
104 | | Name | Type | Default value | Description |
105 | | :------ | :------ | :------ | :------ |
106 | | `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. |
107 | 
108 | #### Returns
109 | 
110 | `Record`\<`string`, `any`\>
111 | 
112 | #### Inherited from
113 | 
114 | BaseModel.get\_obj\_for\_encoding
115 | 
116 | #### Defined in
117 | 
118 | client/v2/basemodel.ts:65
119 | 
120 | ___
121 | 
122 | ### from\_obj\_for\_encoding
123 | 
124 | ▸ `Static` **from_obj_for_encoding**(`data`): [`AccountResponse`](indexerModels.AccountResponse.md)
125 | 
126 | #### Parameters
127 | 
128 | | Name | Type |
129 | | :------ | :------ |
130 | | `data` | `Record`\<`string`, `any`\> |
131 | 
132 | #### Returns
133 | 
134 | [`AccountResponse`](indexerModels.AccountResponse.md)
135 | 
136 | #### Defined in
137 | 
138 | client/v2/indexer/models/types.ts:648
139 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/ARCs:specs:arc-0008.md:
--------------------------------------------------------------------------------

```markdown
 1 | ---
 2 | arc: 8
 3 | title: Algorand Wallet Sign and Post API
 4 | description: A function used to simultaneously sign and post transactions to the network.
 5 | author: DanBurton (@DanBurton)
 6 | discussions-to: https://github.com/algorandfoundation/ARCs/issues/52
 7 | status: Deprecated
 8 | type: Standards Track
 9 | category: Interface
10 | created: 2021-08-09
11 | ---
12 | 
13 | # Algorand Wallet Sign and Post API
14 | 
15 | ## Abstract
16 | 
17 | A function `signAndPostTxns`, which accepts an array of `WalletTransaction`s, and posts them to the network.
18 | 
19 | Accepts the inputs to [ARC-0001](./arc-0001.md#interface-signtxnsfunction)'s / [ARC-0005](./arc-0005.md#interface-signtxnsfunction)'s `signTxns`, and produces the output of [ARC-0007](./arc-0007.md#interface-posttxnsfunction)'s `postTxns`.
20 | 
21 | ## Specification
22 | 
23 | ### Interface `SignAndPostTxnsFunction`
24 | 
25 | ```ts
26 | export type SignAndPostTxnsFunction = (
27 |    txns: WalletTransaction[],
28 |    opts?: any,
29 | ) => Promise<PostTxnsResult>;
30 | ```
31 | 
32 | * `WalletTransaction` is as specified by [ARC-0005](./arc-0005.md#interface-wallettransaction).
33 | * `PostTxnsResult` is as specified by [ARC-0007](./arc-0007.md#interface-posttxnsfunction).
34 | 
35 | Errors are handled exactly as specified by [ARC-0001](./arc-0001.md#error-standards) and [ARC-0007](./arc-0007.md#error-standard)
36 | 
37 | ## Rationale
38 | 
39 | Allows the user to be sure that what they are signing is in fact all that is being sent. Doesn't necessarily grant the DApp direct access to the signed txns, though they are posted to the network, so they should not be considered private.
40 | 
41 | Exposing only this API instead of exposing `postTxns` directly is potentially safer for the wallet user, since it only allows the posting of transactions which the user has explicitly approved.
42 | 
43 | ## Security Considerations
44 | 
45 | In case the wallet uses an API service that is secret or provided by the user, the wallet **MUST** ensure that the URL of the service and the potential tokens/headers are not leaked to the dApp.
46 | 
47 | > Leakage may happen by accidentally including too much information in responses or errors returned by the various methods. For example, if the nodeJS superagent library is used without filtering errors and responses, errors and responses may include the request object, which includes the potentially secret API service URL / secret token headers.
48 | 
49 | For dApps using the `signAndPostTxns` function, it is **RECOMMENDED** to display a Waiting/Loading Screen to wait until the transaction is confirmed to prevent potential issues.
50 | 
51 | > The reasoning is the following: the pop-up/window in which the wallet is showing the waiting/loading screen may disappear in some cases (e.g., if the user clicks away from it). If it disappears, the user may be tempted to perform again the action, causing significant damages.
52 | 
53 | ## Copyright
54 | 
55 | Copyright and related rights waived via <a href="https://creativecommons.org/publicdomain/zero/1.0/">CCO</a>.
56 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.ApplicationLocalReference.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / ApplicationLocalReference
  2 | 
  3 | # Class: ApplicationLocalReference
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).ApplicationLocalReference
  6 | 
  7 | References an account's local state for an application.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`ApplicationLocalReference`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.ApplicationLocalReference.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [account](modelsv2.ApplicationLocalReference.md#account)
 24 | - [app](modelsv2.ApplicationLocalReference.md#app)
 25 | - [attribute\_map](modelsv2.ApplicationLocalReference.md#attribute_map)
 26 | 
 27 | ### Methods
 28 | 
 29 | - [get\_obj\_for\_encoding](modelsv2.ApplicationLocalReference.md#get_obj_for_encoding)
 30 | - [from\_obj\_for\_encoding](modelsv2.ApplicationLocalReference.md#from_obj_for_encoding)
 31 | 
 32 | ## Constructors
 33 | 
 34 | ### constructor
 35 | 
 36 | • **new ApplicationLocalReference**(`«destructured»`)
 37 | 
 38 | Creates a new `ApplicationLocalReference` object.
 39 | 
 40 | #### Parameters
 41 | 
 42 | | Name | Type |
 43 | | :------ | :------ |
 44 | | `«destructured»` | `Object` |
 45 | | › `account` | `string` |
 46 | | › `app` | `number` \| `bigint` |
 47 | 
 48 | #### Overrides
 49 | 
 50 | BaseModel.constructor
 51 | 
 52 | #### Defined in
 53 | 
 54 | client/v2/algod/models/types.ts:1167
 55 | 
 56 | ## Properties
 57 | 
 58 | ### account
 59 | 
 60 | • **account**: `string`
 61 | 
 62 | Address of the account with the local state.
 63 | 
 64 | #### Defined in
 65 | 
 66 | client/v2/algod/models/types.ts:1155
 67 | 
 68 | ___
 69 | 
 70 | ### app
 71 | 
 72 | • **app**: `number` \| `bigint`
 73 | 
 74 | Application ID of the local state application.
 75 | 
 76 | #### Defined in
 77 | 
 78 | client/v2/algod/models/types.ts:1160
 79 | 
 80 | ___
 81 | 
 82 | ### attribute\_map
 83 | 
 84 | • **attribute\_map**: `Record`\<`string`, `string`\>
 85 | 
 86 | #### Inherited from
 87 | 
 88 | BaseModel.attribute\_map
 89 | 
 90 | #### Defined in
 91 | 
 92 | client/v2/basemodel.ts:56
 93 | 
 94 | ## Methods
 95 | 
 96 | ### get\_obj\_for\_encoding
 97 | 
 98 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 99 | 
100 | Get an object ready for encoding to either JSON or msgpack.
101 | 
102 | #### Parameters
103 | 
104 | | Name | Type | Default value | Description |
105 | | :------ | :------ | :------ | :------ |
106 | | `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. |
107 | 
108 | #### Returns
109 | 
110 | `Record`\<`string`, `any`\>
111 | 
112 | #### Inherited from
113 | 
114 | BaseModel.get\_obj\_for\_encoding
115 | 
116 | #### Defined in
117 | 
118 | client/v2/basemodel.ts:65
119 | 
120 | ___
121 | 
122 | ### from\_obj\_for\_encoding
123 | 
124 | ▸ `Static` **from_obj_for_encoding**(`data`): [`ApplicationLocalReference`](modelsv2.ApplicationLocalReference.md)
125 | 
126 | #### Parameters
127 | 
128 | | Name | Type |
129 | | :------ | :------ |
130 | | `data` | `Record`\<`string`, `any`\> |
131 | 
132 | #### Returns
133 | 
134 | [`ApplicationLocalReference`](modelsv2.ApplicationLocalReference.md)
135 | 
136 | #### Defined in
137 | 
138 | client/v2/algod/models/types.ts:1179
139 | 
```

--------------------------------------------------------------------------------
/rename_files.sh:
--------------------------------------------------------------------------------

```bash
 1 | #!/bin/bash
 2 | 
 3 | # Script to rename files in the taxonomy directory
 4 | # Changes:
 5 | # - ARCs: to arcs:
 6 | # - SDKs: to sdks:
 7 | # - TEALScript: to tealscript:
 8 | 
 9 | # Directory to process
10 | DIRECTORY="/Users/mg/Documents/GitHub/GoPlausible/algorand-mcp/packages/server/src/resources/knowledge/taxonomy"
11 | 
12 | # Check if directory exists
13 | if [ ! -d "$DIRECTORY" ]; then
14 |     echo "Error: Directory $DIRECTORY does not exist."
15 |     exit 1
16 | fi
17 | 
18 | # Counter for renamed files
19 | renamed_count=0
20 | 
21 | # Function to process a file
22 | process_file() {
23 |     local file="$1"
24 |     local basename=$(basename "$file")
25 |     local dirname=$(dirname "$file")
26 |     local new_name=""
27 |     
28 |     # Check if file name starts with ARCs:
29 |     if [[ "$basename" == ARCs:* ]]; then
30 |         new_name="${dirname}/arcs:${basename#ARCs:}"
31 |         echo "Renaming: $file -> $new_name"
32 |         mv "$file" "$new_name"
33 |         ((renamed_count++))
34 |     # Check if file name starts with SDKs:
35 |     elif [[ "$basename" == SDKs:* ]]; then
36 |         new_name="${dirname}/sdks:${basename#SDKs:}"
37 |         echo "Renaming: $file -> $new_name"
38 |         mv "$file" "$new_name"
39 |         ((renamed_count++))
40 |     # Check if file name starts with TEALScript:
41 |     elif [[ "$basename" == TEALScript_* ]]; then
42 |         new_name="${dirname}/tealscript:${basename#TEALScript_}"
43 |         echo "Renaming: $file -> $new_name"
44 |         mv "$file" "$new_name"
45 |         ((renamed_count++))
46 |     fi
47 | }
48 | 
49 | # Find all files in the directory and process them
50 | echo "Starting to process files in $DIRECTORY..."
51 | find "$DIRECTORY" -type f | while read -r file; do
52 |     process_file "$file"
53 | done
54 | 
55 | # Find all directories in the directory and process them
56 | # This is needed because directory names might also need to be renamed
57 | find "$DIRECTORY" -type d | sort -r | while read -r dir; do
58 |     # Skip the root directory
59 |     if [ "$dir" != "$DIRECTORY" ]; then
60 |         basename=$(basename "$dir")
61 |         dirname=$(dirname "$dir")
62 |         
63 |         # Check if directory name starts with ARCs:
64 |         if [[ "$basename" == ARCs:* ]]; then
65 |             new_name="${dirname}/arcs:${basename#ARCs:}"
66 |             echo "Renaming directory: $dir -> $new_name"
67 |             mv "$dir" "$new_name"
68 |             ((renamed_count++))
69 |         # Check if directory name starts with SDKs:
70 |         elif [[ "$basename" == SDKs:* ]]; then
71 |             new_name="${dirname}/sdks:${basename#SDKs:}"
72 |             echo "Renaming directory: $dir -> $new_name"
73 |             mv "$dir" "$new_name"
74 |             ((renamed_count++))
75 |         # Check if directory name starts with TEALScript:
76 |         elif [[ "$basename" == TEALScript:* ]]; then
77 |             new_name="${dirname}/tealscript:${basename#TEALScript:}"
78 |             echo "Renaming directory: $dir -> $new_name"
79 |             mv "$dir" "$new_name"
80 |             ((renamed_count++))
81 |         fi
82 |     fi
83 | done
84 | 
85 | echo "Renaming complete. Total items renamed: $renamed_count"
86 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.StateProofParticipant.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / StateProofParticipant
  2 | 
  3 | # Class: StateProofParticipant
  4 | 
  5 | [indexerModels](../modules/indexerModels.md).StateProofParticipant
  6 | 
  7 | ## Hierarchy
  8 | 
  9 | - `default`
 10 | 
 11 |   ↳ **`StateProofParticipant`**
 12 | 
 13 | ## Table of contents
 14 | 
 15 | ### Constructors
 16 | 
 17 | - [constructor](indexerModels.StateProofParticipant.md#constructor)
 18 | 
 19 | ### Properties
 20 | 
 21 | - [attribute\_map](indexerModels.StateProofParticipant.md#attribute_map)
 22 | - [verifier](indexerModels.StateProofParticipant.md#verifier)
 23 | - [weight](indexerModels.StateProofParticipant.md#weight)
 24 | 
 25 | ### Methods
 26 | 
 27 | - [get\_obj\_for\_encoding](indexerModels.StateProofParticipant.md#get_obj_for_encoding)
 28 | - [from\_obj\_for\_encoding](indexerModels.StateProofParticipant.md#from_obj_for_encoding)
 29 | 
 30 | ## Constructors
 31 | 
 32 | ### constructor
 33 | 
 34 | • **new StateProofParticipant**(`«destructured»`)
 35 | 
 36 | Creates a new `StateProofParticipant` object.
 37 | 
 38 | #### Parameters
 39 | 
 40 | | Name | Type |
 41 | | :------ | :------ |
 42 | | `«destructured»` | `Object` |
 43 | | › `verifier?` | [`StateProofVerifier`](indexerModels.StateProofVerifier.md) |
 44 | | › `weight?` | `number` \| `bigint` |
 45 | 
 46 | #### Overrides
 47 | 
 48 | BaseModel.constructor
 49 | 
 50 | #### Defined in
 51 | 
 52 | client/v2/indexer/models/types.ts:3596
 53 | 
 54 | ## Properties
 55 | 
 56 | ### attribute\_map
 57 | 
 58 | • **attribute\_map**: `Record`\<`string`, `string`\>
 59 | 
 60 | #### Inherited from
 61 | 
 62 | BaseModel.attribute\_map
 63 | 
 64 | #### Defined in
 65 | 
 66 | client/v2/basemodel.ts:56
 67 | 
 68 | ___
 69 | 
 70 | ### verifier
 71 | 
 72 | • `Optional` **verifier**: [`StateProofVerifier`](indexerModels.StateProofVerifier.md)
 73 | 
 74 | (p)
 75 | 
 76 | #### Defined in
 77 | 
 78 | client/v2/indexer/models/types.ts:3584
 79 | 
 80 | ___
 81 | 
 82 | ### weight
 83 | 
 84 | • `Optional` **weight**: `number` \| `bigint`
 85 | 
 86 | (w)
 87 | 
 88 | #### Defined in
 89 | 
 90 | client/v2/indexer/models/types.ts:3589
 91 | 
 92 | ## Methods
 93 | 
 94 | ### get\_obj\_for\_encoding
 95 | 
 96 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 97 | 
 98 | Get an object ready for encoding to either JSON or msgpack.
 99 | 
100 | #### Parameters
101 | 
102 | | Name | Type | Default value | Description |
103 | | :------ | :------ | :------ | :------ |
104 | | `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. |
105 | 
106 | #### Returns
107 | 
108 | `Record`\<`string`, `any`\>
109 | 
110 | #### Inherited from
111 | 
112 | BaseModel.get\_obj\_for\_encoding
113 | 
114 | #### Defined in
115 | 
116 | client/v2/basemodel.ts:65
117 | 
118 | ___
119 | 
120 | ### from\_obj\_for\_encoding
121 | 
122 | ▸ `Static` **from_obj_for_encoding**(`data`): [`StateProofParticipant`](indexerModels.StateProofParticipant.md)
123 | 
124 | #### Parameters
125 | 
126 | | Name | Type |
127 | | :------ | :------ |
128 | | `data` | `Record`\<`string`, `any`\> |
129 | 
130 | #### Returns
131 | 
132 | [`StateProofParticipant`](indexerModels.StateProofParticipant.md)
133 | 
134 | #### Defined in
135 | 
136 | client/v2/indexer/models/types.ts:3614
137 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:cli:features:tasks:send.md:
--------------------------------------------------------------------------------

```markdown
 1 | # AlgoKit Task Send
 2 | 
 3 | The AlgoKit Send feature allows you to send signed Algorand transaction(s) to a specified network using the AlgoKit CLI. This feature supports sending single or multiple transactions, either provided directly as a base64 encoded string or from a binary file.
 4 | 
 5 | ## Usage
 6 | 
 7 | Available commands and possible usage as follows:
 8 | 
 9 | ```bash
10 | $ ~ algokit task send
11 | Usage: algokit task send [OPTIONS]
12 | 
13 |   Send a signed transaction to the given network.
14 | 
15 | Options:
16 |   -f, --file FILE                 Single or multiple message pack encoded signed transactions from binary file to
17 |                                   send. Option is mutually exclusive with transaction.
18 |   -t, --transaction TEXT          Base64 encoded signed transaction to send. Option is mutually exclusive with file.
19 |   -n, --network [localnet|testnet|mainnet]
20 |                                   Network to use. Refers to `localnet` by default.
21 |   -h, --help                      Show this message and exit.
22 | ```
23 | 
24 | ## Options
25 | 
26 | - `--file, -f PATH`: Specifies the path to a binary file containing single or multiple message pack encoded signed transactions to send. Mutually exclusive with `--transaction` option.
27 | - `--transaction, -t TEXT`: Specifies a single base64 encoded signed transaction to send. Mutually exclusive with `--file` option.
28 | - `--network, -n [localnet|testnet|mainnet]`: Specifies the network to which the transactions will be sent. Refers to `localnet` by default.
29 | 
30 | > Please note, `--transaction` flag only supports sending a single transaction. If you want to send multiple transactions, you can use the `--file` flag to specify a binary file containing multiple transactions.
31 | 
32 | ## Example
33 | 
34 | To send a transaction, you can use the `send` command as follows:
35 | 
36 | ```bash
37 | $ algokit task send --file {PATH_TO_BINARY_FILE_CONTAINING_SIGNED_TRANSACTIONS}
38 | ```
39 | 
40 | This will send the transactions to the default `localnet` network. If you want to send the transactions to a different network, you can use the `--network` flag:
41 | 
42 | ```bash
43 | $ algokit task send --transaction {YOUR_BASE64_ENCODED_SIGNED_TRANSACTION} --network testnet
44 | ```
45 | 
46 | You can also pipe in the `stdout` of `algokit sign` command:
47 | 
48 | ```bash
49 | $ algokit task sign --account {YOUR_ACCOUNT_ALIAS OR YOUR_ADDRESS} --file {PATH_TO_BINARY_FILE_CONTAINING_TRANSACTIONS} --force | algokit task send --network {network_name}
50 | ```
51 | 
52 | If the transaction is successfully sent, the transaction ID (txid) will be output to the console. You can check the transaction status at the provided transaction explorer URL.
53 | 
54 | ## Goal Compatibility
55 | 
56 | Please note, at the moment this feature only supports [`goal clerk`](https://developer.algorand.org/docs/clis/goal/clerk/clerk/) compatible transaction objects.
57 | 
58 | ## Further Reading
59 | 
60 | For in-depth details, visit the [send section](../../cli/index.md#send) in the AlgoKit CLI reference documentation.
61 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:index.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Testing Guide
 2 | 
 3 | The Algorand Python Testing framework provides powerful tools for testing Algorand Python smart contracts within a Python interpreter. This guide covers the main features and concepts of the framework, helping you write effective tests for your Algorand applications.
 4 | 
 5 | ```{note}
 6 | For all code examples in the _Testing Guide_ section, assume `context` is an instance of `AlgopyTestContext` obtained using the `algopy_testing_context()` context manager. All subsequent code is executed within this context.
 7 | ```
 8 | 
 9 | ```{mermaid}
10 | graph TD
11 |     subgraph GA["Your Development Environment"]
12 |         A["algopy (type stubs)"]
13 |         B["algopy_testing (testing framework)<br>(You are here 📍)"]
14 |         C["puya (compiler)"]
15 |     end
16 | 
17 |     subgraph GB["Your Algorand Project"]
18 |         D[Your Algorand Python contract]
19 |     end
20 | 
21 |     D -->|type hints inferred from| A
22 |     D -->|compiled using| C
23 |     D -->|tested via| B
24 | ```
25 | 
26 | > _High-level overview of the relationship between your smart contracts project, Algorand Python Testing framework, Algorand Python type stubs, and the compiler_
27 | 
28 | The Algorand Python Testing framework streamlines unit testing of your Algorand Python smart contracts by offering functionality to:
29 | 
30 | 1. Simulate the Algorand Virtual Machine (AVM) environment
31 | 2. Create and manipulate test accounts, assets, applications, transactions, and ARC4 types
32 | 3. Test smart contract classes, including their states, variables, and methods
33 | 4. Verify logic signatures and subroutines
34 | 5. Manage global state, local state, scratch slots, and boxes in test contexts
35 | 6. Simulate transactions and transaction groups, including inner transactions
36 | 7. Verify opcode behavior
37 | 
38 | By using this framework, you can ensure your Algorand Python smart contracts function correctly before deploying them to a live network.
39 | 
40 | Key features of the framework include:
41 | 
42 | -   `AlgopyTestContext`: The main entry point for testing, providing access to various testing utilities and simulated blockchain state
43 | -   AVM Type Simulation: Accurate representations of AVM types like `UInt64` and `Bytes`
44 | -   ARC4 Support: Tools for testing ARC4 contracts and methods, including struct definitions and ABI encoding/decoding
45 | -   Transaction Simulation: Ability to create and execute various transaction types
46 | -   State Management: Tools for managing and verifying global and local state changes
47 | -   Opcode Simulation: Implementations of AVM opcodes for accurate smart contract behavior testing
48 | 
49 | The framework is designed to work seamlessly with Algorand Python smart contracts, allowing developers to write comprehensive unit tests that closely mimic the behavior of contracts on the Algorand blockchain.
50 | 
51 | ## Table of Contents
52 | 
53 | ```{toctree}
54 | ---
55 | maxdepth: 3
56 | ---
57 | 
58 | concepts
59 | avm-types
60 | arc4-types
61 | transactions
62 | contract-testing
63 | signature-testing
64 | state-management
65 | subroutines
66 | opcodes
67 | ```
68 | 
```

--------------------------------------------------------------------------------
/packages/server/src/tools/apiManager/vestige/pools.ts:
--------------------------------------------------------------------------------

```typescript
  1 | import { Tool, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
  2 | import { ResponseProcessor } from '../../../utils/responseProcessor.js';
  3 | import { env } from '../../../env.js';
  4 | 
  5 | export const poolTools: Tool[] = [
  6 |   {
  7 |     name: 'api_vestige_view_pools',
  8 |     description: 'Get pools',
  9 |     inputSchema: {
 10 |       type: 'object',
 11 |       properties: {
 12 |         network_id: {
 13 |           type: 'integer',
 14 |           description: 'Network ID'
 15 |         },
 16 |         protocol_id: {
 17 |           type: 'integer',
 18 |           description: 'Optional protocol ID filter'
 19 |         },
 20 |         other_protocol_id: {
 21 |           type: 'integer',
 22 |           description: 'Optional other protocol ID filter'
 23 |         },
 24 |         asset_1_id: {
 25 |           type: 'integer',
 26 |           description: 'Optional asset 1 ID filter'
 27 |         },
 28 |         asset_2_id: {
 29 |           type: 'integer',
 30 |           description: 'Optional asset 2 ID filter'
 31 |         },
 32 |         limit: {
 33 |           type: 'integer',
 34 |           description: 'Maximum number of results',
 35 |           default: 50,
 36 |           maximum: 250,
 37 |           minimum: 1
 38 |         },
 39 |         offset: {
 40 |           type: 'integer',
 41 |           description: 'Number of results to skip',
 42 |           default: 0,
 43 |           minimum: 0
 44 |         },
 45 |         order_by: {
 46 |           type: 'string',
 47 |           description: 'Field to order by'
 48 |         },
 49 |         order_dir: {
 50 |           type: 'string',
 51 |           description: 'Order direction (asc/desc)',
 52 |           default: 'desc',
 53 |           pattern: '^(asc|desc)$'
 54 |         }
 55 |       },
 56 |       required: ['network_id']
 57 |     }
 58 |   }
 59 | ];
 60 | 
 61 | 
 62 | 
 63 | export const handlePoolTools = ResponseProcessor.wrapResourceHandler(async function handlePoolTools(args: any): Promise<any> {
 64 |   const name = args.name;
 65 |   const baseUrl = env.vestige_api_url;
 66 |   let endpoint = '';
 67 | 
 68 |   switch (name) {
 69 |     case 'api_vestige_view_pools':
 70 |       endpoint = '/pools';
 71 |       break;
 72 |     default:
 73 |       throw new McpError(
 74 |         ErrorCode.MethodNotFound,
 75 |         `Unknown tool: ${name}`
 76 |       );
 77 |   }
 78 | 
 79 |   try {
 80 |     // Add query parameters if they exist
 81 |     const queryParams = new URLSearchParams();
 82 |     for (const [key, value] of Object.entries(args)) {
 83 |       if (value !== undefined) {
 84 |         queryParams.append(key, String(value));
 85 |       }
 86 |     }
 87 |     const url = `${baseUrl}${endpoint}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
 88 | 
 89 |     const response = await fetch(url);
 90 |     if (!response.ok) {
 91 |       throw new McpError(
 92 |         ErrorCode.InternalError,
 93 |         `Vestige API error: ${response.status} ${response.statusText}`
 94 |       );
 95 |     }
 96 |     const data = await response.json();
 97 |     return data;
 98 |     
 99 |   } catch (error) {
100 |     if (error instanceof McpError) {
101 |       throw error;
102 |     }
103 |     throw new McpError(
104 |       ErrorCode.InternalError,
105 |       `Failed to fetch pool data: ${error instanceof Error ? error.message : String(error)}`
106 |     );
107 |   }
108 | });
109 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.CompileResponse.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / CompileResponse
  2 | 
  3 | # Class: CompileResponse
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).CompileResponse
  6 | 
  7 | Teal compile Result
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`CompileResponse`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.CompileResponse.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](modelsv2.CompileResponse.md#attribute_map)
 24 | - [hash](modelsv2.CompileResponse.md#hash)
 25 | - [result](modelsv2.CompileResponse.md#result)
 26 | - [sourcemap](modelsv2.CompileResponse.md#sourcemap)
 27 | 
 28 | ### Methods
 29 | 
 30 | - [get\_obj\_for\_encoding](modelsv2.CompileResponse.md#get_obj_for_encoding)
 31 | - [from\_obj\_for\_encoding](modelsv2.CompileResponse.md#from_obj_for_encoding)
 32 | 
 33 | ## Constructors
 34 | 
 35 | ### constructor
 36 | 
 37 | • **new CompileResponse**(`«destructured»`)
 38 | 
 39 | Creates a new `CompileResponse` object.
 40 | 
 41 | #### Parameters
 42 | 
 43 | | Name | Type |
 44 | | :------ | :------ |
 45 | | `«destructured»` | `Object` |
 46 | | › `hash` | `string` |
 47 | | › `result` | `string` |
 48 | | › `sourcemap?` | `Record`\<`string`, `any`\> |
 49 | 
 50 | #### Overrides
 51 | 
 52 | BaseModel.constructor
 53 | 
 54 | #### Defined in
 55 | 
 56 | client/v2/algod/models/types.ts:2532
 57 | 
 58 | ## Properties
 59 | 
 60 | ### attribute\_map
 61 | 
 62 | • **attribute\_map**: `Record`\<`string`, `string`\>
 63 | 
 64 | #### Inherited from
 65 | 
 66 | BaseModel.attribute\_map
 67 | 
 68 | #### Defined in
 69 | 
 70 | client/v2/basemodel.ts:56
 71 | 
 72 | ___
 73 | 
 74 | ### hash
 75 | 
 76 | • **hash**: `string`
 77 | 
 78 | base32 SHA512_256 of program bytes (Address style)
 79 | 
 80 | #### Defined in
 81 | 
 82 | client/v2/algod/models/types.ts:2514
 83 | 
 84 | ___
 85 | 
 86 | ### result
 87 | 
 88 | • **result**: `string`
 89 | 
 90 | base64 encoded program bytes
 91 | 
 92 | #### Defined in
 93 | 
 94 | client/v2/algod/models/types.ts:2519
 95 | 
 96 | ___
 97 | 
 98 | ### sourcemap
 99 | 
100 | • `Optional` **sourcemap**: `Record`\<`string`, `any`\>
101 | 
102 | JSON of the source map
103 | 
104 | #### Defined in
105 | 
106 | client/v2/algod/models/types.ts:2524
107 | 
108 | ## Methods
109 | 
110 | ### get\_obj\_for\_encoding
111 | 
112 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
113 | 
114 | Get an object ready for encoding to either JSON or msgpack.
115 | 
116 | #### Parameters
117 | 
118 | | Name | Type | Default value | Description |
119 | | :------ | :------ | :------ | :------ |
120 | | `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. |
121 | 
122 | #### Returns
123 | 
124 | `Record`\<`string`, `any`\>
125 | 
126 | #### Inherited from
127 | 
128 | BaseModel.get\_obj\_for\_encoding
129 | 
130 | #### Defined in
131 | 
132 | client/v2/basemodel.ts:65
133 | 
134 | ___
135 | 
136 | ### from\_obj\_for\_encoding
137 | 
138 | ▸ `Static` **from_obj_for_encoding**(`data`): [`CompileResponse`](modelsv2.CompileResponse.md)
139 | 
140 | #### Parameters
141 | 
142 | | Name | Type |
143 | | :------ | :------ |
144 | | `data` | `Record`\<`string`, `any`\> |
145 | 
146 | #### Returns
147 | 
148 | [`CompileResponse`](modelsv2.CompileResponse.md)
149 | 
150 | #### Defined in
151 | 
152 | client/v2/algod/models/types.ts:2554
153 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/puya:python:testing:examples:README.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Algorand Python Testing examples
 2 | 
 3 | This directory contains examples demonstrating how to use algorand-python-testing to test smart contracts written in Algorand Python.
 4 | 
 5 | ## Overview
 6 | 
 7 | `algorand-python-testing` provides a powerful framework for unit testing Algorand smart contracts written in Algorand Python. It allows developers to emulate AVM behavior in a Python interpreter, making it easier to write and run tests for your Algorand applications.
 8 | 
 9 | ## Key Features
10 | 
11 | 1. **Test Environment Setup**: Use the `context` fixture to set up a test environment that emulates AVM behavior.
12 | 2. **Arrange, Act, Assert Pattern**: Examples follow the 'arrange, act, assert' pattern for clear and structured tests.
13 | 3. **Asset and Account Creation**: Easily create test assets and accounts using `context.any.asset` and `context.any.account`.
14 | 4. **State Manipulation**: Test global and local state changes in your smart contracts.
15 | 5. **ABI Method Testing**: Examples of how to test ABI methods in your smart contracts.
16 | 
17 | ## Quickstart
18 | 
19 | To run the examples in a self-contained manner:
20 | 
21 | 1. Install [hatch](https://hatch.pypa.io/latest/)
22 | 2. From the root of the repo, run:
23 | 
24 | ```bash
25 | hatch run examples:test examples/<example_directory>
26 | ```
27 | 
28 | Replace `<example_directory>` with the specific example you want to run (e.g., `auction`, `abi`, etc.).
29 | 
30 | ## Writing Tests
31 | 
32 | When writing tests for your Algorand smart contracts:
33 | 
34 | 1. Use the `context` fixture to set up your test environment.
35 | 2. Create test assets and accounts as needed using `context.any.asset` and `context.any.account`.
36 | 3. Interact with your smart contract methods.
37 | 4. Assert the expected outcomes, including state changes and transaction results.
38 | 
39 | For detailed examples, refer to the individual test files in each example directory.
40 | 
41 | ## Contributing
42 | 
43 | If you have additional examples or improvements, feel free to contribute by submitting a pull request.
44 | 
45 | 1. Follow the [contribution guidelines](https://github.com/algorandfoundation/algorand-python-testing/blob/main/CONTRIBUTING.md).
46 | 2. Create a new folder under `examples/` with your contract/signature and test files.
47 | 3. If you are contributing a smart contract example make sure to name the file `contract.py`. For logic signatures, name it `signature.py`.
48 | 4. For test files use `test_contract.py` or `test_signature.py` respectively.
49 | 5. Use the default PR template when opening a PR, and describe what sort of example are you adding as well as which feature of `algorand-python-testing` it demonstrates.
50 | 
51 | ## Resources
52 | 
53 | -   [Algorand Developer Documentation](https://developer.algorand.org/)
54 | -   [algorand-python](https://algorandfoundation.github.io/puya/)
55 | -   [algorand-python-testing](https://algorandfoundation.github.io/algorand-python-testing/)
56 | -   ['arrange, act, assert' patern](https://automationpanda.com/2020/07/07/arrange-act-assert-a-pattern-for-writing-good-tests/)
57 | 
```

--------------------------------------------------------------------------------
/packages/server/src/tools/knowledgeManager.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
 2 | import fs from 'fs/promises';
 3 | import path from 'path';
 4 | import { fileURLToPath } from 'url';
 5 | 
 6 | // Tool schemas
 7 | export const knowledgeToolSchemas = {
 8 |   getKnowledgeDoc: {
 9 |     type: 'object',
10 |     properties: {
11 |       documents: {
12 |         type: 'array',
13 |         items: { type: 'string' },
14 |         description: 'Array of document keys (e.g. ["ARCs:specs:arc-0020.md"])'
15 |       }
16 |     },
17 |     required: ['documents']
18 |   }
19 | };
20 | 
21 | export class KnowledgeManager {
22 |   static readonly knowledgeTools = [
23 |     {
24 |       name: 'get_knowledge_doc',
25 |       description: 'Get markdown content for specified knowledge documents',
26 |       inputSchema: knowledgeToolSchemas.getKnowledgeDoc,
27 |     }
28 |   ];
29 | 
30 |   // Tool handlers
31 |   static async handleTool(name: string, args: Record<string, unknown>) {
32 |     try {
33 |       switch (name) {
34 |         case 'get_knowledge_doc':
35 |           if (!Array.isArray(args.documents)) {
36 |             throw new McpError(ErrorCode.InvalidParams, 'Documents array is required');
37 |           }
38 | 
39 |           const results = await Promise.all(args.documents.map(async (docKey) => {
40 |             if (typeof docKey !== 'string') {
41 |               throw new McpError(ErrorCode.InvalidParams, 'Document key must be a string');
42 |             }
43 |             const __dirname = path.dirname(fileURLToPath(import.meta.url));
44 |             const twoLevelsUp = path.resolve(__dirname, '../');
45 |             console.log('Current directory:', __dirname);
46 |             try {
47 |               const filePath = path.resolve(
48 |                 twoLevelsUp,
49 |                 'resources/knowledge/taxonomy',
50 |                 docKey
51 |               );
52 |               const content = await fs.readFile(filePath, 'utf-8');
53 |               return content;
54 |             } catch (error) {
55 |               console.error(`[MCP Error] Failed to read document ${docKey}:`, error);
56 |               throw new McpError(
57 |                 ErrorCode.InternalError,
58 |                 `Failed to read document ${docKey}: ${error instanceof Error ? error.message : 'Unknown error'}`
59 |               );
60 |             }
61 |           }));
62 | 
63 |           return {
64 |             content: [{
65 |               type: 'text',
66 |               text: JSON.stringify({ documents: results }, null, 2)
67 |             }]
68 |           };
69 | 
70 |         default:
71 |           console.error(`[MCP Error] Unknown tool requested: ${name}`);
72 |           throw new McpError(
73 |             ErrorCode.MethodNotFound,
74 |             `Unknown tool: ${name}`
75 |           );
76 |       }
77 |     } catch (error) {
78 |       if (error instanceof McpError) {
79 |         console.error(`[MCP Error] ${error.code}: ${error.message}`);
80 |         throw error;
81 |       }
82 |       console.error('[MCP Error] Unexpected error:', error);
83 |       throw new McpError(
84 |         ErrorCode.InternalError,
85 |         `Operation failed: ${error instanceof Error ? error.message : 'Unknown error'}`
86 |       );
87 |     }
88 |   }
89 | }
90 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.ApplicationStateSchema.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / ApplicationStateSchema
  2 | 
  3 | # Class: ApplicationStateSchema
  4 | 
  5 | [indexerModels](../modules/indexerModels.md).ApplicationStateSchema
  6 | 
  7 | Specifies maximums on the number of each type that may be stored.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`ApplicationStateSchema`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](indexerModels.ApplicationStateSchema.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](indexerModels.ApplicationStateSchema.md#attribute_map)
 24 | - [numByteSlice](indexerModels.ApplicationStateSchema.md#numbyteslice)
 25 | - [numUint](indexerModels.ApplicationStateSchema.md#numuint)
 26 | 
 27 | ### Methods
 28 | 
 29 | - [get\_obj\_for\_encoding](indexerModels.ApplicationStateSchema.md#get_obj_for_encoding)
 30 | - [from\_obj\_for\_encoding](indexerModels.ApplicationStateSchema.md#from_obj_for_encoding)
 31 | 
 32 | ## Constructors
 33 | 
 34 | ### constructor
 35 | 
 36 | • **new ApplicationStateSchema**(`«destructured»`)
 37 | 
 38 | Creates a new `ApplicationStateSchema` object.
 39 | 
 40 | #### Parameters
 41 | 
 42 | | Name | Type |
 43 | | :------ | :------ |
 44 | | `«destructured»` | `Object` |
 45 | | › `numByteSlice` | `number` \| `bigint` |
 46 | | › `numUint` | `number` \| `bigint` |
 47 | 
 48 | #### Overrides
 49 | 
 50 | BaseModel.constructor
 51 | 
 52 | #### Defined in
 53 | 
 54 | client/v2/indexer/models/types.ts:1366
 55 | 
 56 | ## Properties
 57 | 
 58 | ### attribute\_map
 59 | 
 60 | • **attribute\_map**: `Record`\<`string`, `string`\>
 61 | 
 62 | #### Inherited from
 63 | 
 64 | BaseModel.attribute\_map
 65 | 
 66 | #### Defined in
 67 | 
 68 | client/v2/basemodel.ts:56
 69 | 
 70 | ___
 71 | 
 72 | ### numByteSlice
 73 | 
 74 | • **numByteSlice**: `number` \| `bigint`
 75 | 
 76 | number of byte slices.
 77 | 
 78 | #### Defined in
 79 | 
 80 | client/v2/indexer/models/types.ts:1354
 81 | 
 82 | ___
 83 | 
 84 | ### numUint
 85 | 
 86 | • **numUint**: `number` \| `bigint`
 87 | 
 88 | number of uints.
 89 | 
 90 | #### Defined in
 91 | 
 92 | client/v2/indexer/models/types.ts:1359
 93 | 
 94 | ## Methods
 95 | 
 96 | ### get\_obj\_for\_encoding
 97 | 
 98 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 99 | 
100 | Get an object ready for encoding to either JSON or msgpack.
101 | 
102 | #### Parameters
103 | 
104 | | Name | Type | Default value | Description |
105 | | :------ | :------ | :------ | :------ |
106 | | `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. |
107 | 
108 | #### Returns
109 | 
110 | `Record`\<`string`, `any`\>
111 | 
112 | #### Inherited from
113 | 
114 | BaseModel.get\_obj\_for\_encoding
115 | 
116 | #### Defined in
117 | 
118 | client/v2/basemodel.ts:65
119 | 
120 | ___
121 | 
122 | ### from\_obj\_for\_encoding
123 | 
124 | ▸ `Static` **from_obj_for_encoding**(`data`): [`ApplicationStateSchema`](indexerModels.ApplicationStateSchema.md)
125 | 
126 | #### Parameters
127 | 
128 | | Name | Type |
129 | | :------ | :------ |
130 | | `data` | `Record`\<`string`, `any`\> |
131 | 
132 | #### Returns
133 | 
134 | [`ApplicationStateSchema`](indexerModels.ApplicationStateSchema.md)
135 | 
136 | #### Defined in
137 | 
138 | client/v2/indexer/models/types.ts:1384
139 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.AssetHolding.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / AssetHolding
  2 | 
  3 | # Class: AssetHolding
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).AssetHolding
  6 | 
  7 | Describes an asset held by an account.
  8 | Definition:
  9 | data/basics/userBalance.go : AssetHolding
 10 | 
 11 | ## Hierarchy
 12 | 
 13 | - `default`
 14 | 
 15 |   ↳ **`AssetHolding`**
 16 | 
 17 | ## Table of contents
 18 | 
 19 | ### Constructors
 20 | 
 21 | - [constructor](modelsv2.AssetHolding.md#constructor)
 22 | 
 23 | ### Properties
 24 | 
 25 | - [amount](modelsv2.AssetHolding.md#amount)
 26 | - [assetId](modelsv2.AssetHolding.md#assetid)
 27 | - [attribute\_map](modelsv2.AssetHolding.md#attribute_map)
 28 | - [isFrozen](modelsv2.AssetHolding.md#isfrozen)
 29 | 
 30 | ### Methods
 31 | 
 32 | - [get\_obj\_for\_encoding](modelsv2.AssetHolding.md#get_obj_for_encoding)
 33 | - [from\_obj\_for\_encoding](modelsv2.AssetHolding.md#from_obj_for_encoding)
 34 | 
 35 | ## Constructors
 36 | 
 37 | ### constructor
 38 | 
 39 | • **new AssetHolding**(`«destructured»`)
 40 | 
 41 | Creates a new `AssetHolding` object.
 42 | 
 43 | #### Parameters
 44 | 
 45 | | Name | Type |
 46 | | :------ | :------ |
 47 | | `«destructured»` | `Object` |
 48 | | › `amount` | `number` \| `bigint` |
 49 | | › `assetId` | `number` \| `bigint` |
 50 | | › `isFrozen` | `boolean` |
 51 | 
 52 | #### Overrides
 53 | 
 54 | BaseModel.constructor
 55 | 
 56 | #### Defined in
 57 | 
 58 | client/v2/algod/models/types.ts:1636
 59 | 
 60 | ## Properties
 61 | 
 62 | ### amount
 63 | 
 64 | • **amount**: `number` \| `bigint`
 65 | 
 66 | (a) number of units held.
 67 | 
 68 | #### Defined in
 69 | 
 70 | client/v2/algod/models/types.ts:1618
 71 | 
 72 | ___
 73 | 
 74 | ### assetId
 75 | 
 76 | • **assetId**: `number` \| `bigint`
 77 | 
 78 | Asset ID of the holding.
 79 | 
 80 | #### Defined in
 81 | 
 82 | client/v2/algod/models/types.ts:1623
 83 | 
 84 | ___
 85 | 
 86 | ### attribute\_map
 87 | 
 88 | • **attribute\_map**: `Record`\<`string`, `string`\>
 89 | 
 90 | #### Inherited from
 91 | 
 92 | BaseModel.attribute\_map
 93 | 
 94 | #### Defined in
 95 | 
 96 | client/v2/basemodel.ts:56
 97 | 
 98 | ___
 99 | 
100 | ### isFrozen
101 | 
102 | • **isFrozen**: `boolean`
103 | 
104 | (f) whether or not the holding is frozen.
105 | 
106 | #### Defined in
107 | 
108 | client/v2/algod/models/types.ts:1628
109 | 
110 | ## Methods
111 | 
112 | ### get\_obj\_for\_encoding
113 | 
114 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
115 | 
116 | Get an object ready for encoding to either JSON or msgpack.
117 | 
118 | #### Parameters
119 | 
120 | | Name | Type | Default value | Description |
121 | | :------ | :------ | :------ | :------ |
122 | | `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. |
123 | 
124 | #### Returns
125 | 
126 | `Record`\<`string`, `any`\>
127 | 
128 | #### Inherited from
129 | 
130 | BaseModel.get\_obj\_for\_encoding
131 | 
132 | #### Defined in
133 | 
134 | client/v2/basemodel.ts:65
135 | 
136 | ___
137 | 
138 | ### from\_obj\_for\_encoding
139 | 
140 | ▸ `Static` **from_obj_for_encoding**(`data`): [`AssetHolding`](modelsv2.AssetHolding.md)
141 | 
142 | #### Parameters
143 | 
144 | | Name | Type |
145 | | :------ | :------ |
146 | | `data` | `Record`\<`string`, `any`\> |
147 | 
148 | #### Returns
149 | 
150 | [`AssetHolding`](modelsv2.AssetHolding.md)
151 | 
152 | #### Defined in
153 | 
154 | client/v2/algod/models/types.ts:1658
155 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.StateProofSigSlot.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / StateProofSigSlot
  2 | 
  3 | # Class: StateProofSigSlot
  4 | 
  5 | [indexerModels](../modules/indexerModels.md).StateProofSigSlot
  6 | 
  7 | ## Hierarchy
  8 | 
  9 | - `default`
 10 | 
 11 |   ↳ **`StateProofSigSlot`**
 12 | 
 13 | ## Table of contents
 14 | 
 15 | ### Constructors
 16 | 
 17 | - [constructor](indexerModels.StateProofSigSlot.md#constructor)
 18 | 
 19 | ### Properties
 20 | 
 21 | - [attribute\_map](indexerModels.StateProofSigSlot.md#attribute_map)
 22 | - [lowerSigWeight](indexerModels.StateProofSigSlot.md#lowersigweight)
 23 | - [signature](indexerModels.StateProofSigSlot.md#signature)
 24 | 
 25 | ### Methods
 26 | 
 27 | - [get\_obj\_for\_encoding](indexerModels.StateProofSigSlot.md#get_obj_for_encoding)
 28 | - [from\_obj\_for\_encoding](indexerModels.StateProofSigSlot.md#from_obj_for_encoding)
 29 | 
 30 | ## Constructors
 31 | 
 32 | ### constructor
 33 | 
 34 | • **new StateProofSigSlot**(`«destructured»`)
 35 | 
 36 | Creates a new `StateProofSigSlot` object.
 37 | 
 38 | #### Parameters
 39 | 
 40 | | Name | Type |
 41 | | :------ | :------ |
 42 | | `«destructured»` | `Object` |
 43 | | › `lowerSigWeight?` | `number` \| `bigint` |
 44 | | › `signature?` | [`StateProofSignature`](indexerModels.StateProofSignature.md) |
 45 | 
 46 | #### Overrides
 47 | 
 48 | BaseModel.constructor
 49 | 
 50 | #### Defined in
 51 | 
 52 | client/v2/indexer/models/types.ts:3705
 53 | 
 54 | ## Properties
 55 | 
 56 | ### attribute\_map
 57 | 
 58 | • **attribute\_map**: `Record`\<`string`, `string`\>
 59 | 
 60 | #### Inherited from
 61 | 
 62 | BaseModel.attribute\_map
 63 | 
 64 | #### Defined in
 65 | 
 66 | client/v2/basemodel.ts:56
 67 | 
 68 | ___
 69 | 
 70 | ### lowerSigWeight
 71 | 
 72 | • `Optional` **lowerSigWeight**: `number` \| `bigint`
 73 | 
 74 | (l) The total weight of signatures in the lower-numbered slots.
 75 | 
 76 | #### Defined in
 77 | 
 78 | client/v2/indexer/models/types.ts:3696
 79 | 
 80 | ___
 81 | 
 82 | ### signature
 83 | 
 84 | • `Optional` **signature**: [`StateProofSignature`](indexerModels.StateProofSignature.md)
 85 | 
 86 | #### Defined in
 87 | 
 88 | client/v2/indexer/models/types.ts:3698
 89 | 
 90 | ## Methods
 91 | 
 92 | ### get\_obj\_for\_encoding
 93 | 
 94 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 95 | 
 96 | Get an object ready for encoding to either JSON or msgpack.
 97 | 
 98 | #### Parameters
 99 | 
100 | | Name | Type | Default value | Description |
101 | | :------ | :------ | :------ | :------ |
102 | | `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. |
103 | 
104 | #### Returns
105 | 
106 | `Record`\<`string`, `any`\>
107 | 
108 | #### Inherited from
109 | 
110 | BaseModel.get\_obj\_for\_encoding
111 | 
112 | #### Defined in
113 | 
114 | client/v2/basemodel.ts:65
115 | 
116 | ___
117 | 
118 | ### from\_obj\_for\_encoding
119 | 
120 | ▸ `Static` **from_obj_for_encoding**(`data`): [`StateProofSigSlot`](indexerModels.StateProofSigSlot.md)
121 | 
122 | #### Parameters
123 | 
124 | | Name | Type |
125 | | :------ | :------ |
126 | | `data` | `Record`\<`string`, `any`\> |
127 | 
128 | #### Returns
129 | 
130 | [`StateProofSigSlot`](indexerModels.StateProofSigSlot.md)
131 | 
132 | #### Defined in
133 | 
134 | client/v2/indexer/models/types.ts:3723
135 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.Version.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / Version
  2 | 
  3 | # Class: Version
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).Version
  6 | 
  7 | algod version information.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`Version`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.Version.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](modelsv2.Version.md#attribute_map)
 24 | - [build](modelsv2.Version.md#build)
 25 | - [genesisHashB64](modelsv2.Version.md#genesishashb64)
 26 | - [genesisId](modelsv2.Version.md#genesisid)
 27 | - [versions](modelsv2.Version.md#versions)
 28 | 
 29 | ### Methods
 30 | 
 31 | - [get\_obj\_for\_encoding](modelsv2.Version.md#get_obj_for_encoding)
 32 | - [from\_obj\_for\_encoding](modelsv2.Version.md#from_obj_for_encoding)
 33 | 
 34 | ## Constructors
 35 | 
 36 | ### constructor
 37 | 
 38 | • **new Version**(`«destructured»`)
 39 | 
 40 | Creates a new `Version` object.
 41 | 
 42 | #### Parameters
 43 | 
 44 | | Name | Type |
 45 | | :------ | :------ |
 46 | | `«destructured»` | `Object` |
 47 | | › `build` | [`BuildVersion`](modelsv2.BuildVersion.md) |
 48 | | › `genesisHashB64` | `string` \| `Uint8Array` |
 49 | | › `genesisId` | `string` |
 50 | | › `versions` | `string`[] |
 51 | 
 52 | #### Overrides
 53 | 
 54 | BaseModel.constructor
 55 | 
 56 | #### Defined in
 57 | 
 58 | client/v2/algod/models/types.ts:6012
 59 | 
 60 | ## Properties
 61 | 
 62 | ### attribute\_map
 63 | 
 64 | • **attribute\_map**: `Record`\<`string`, `string`\>
 65 | 
 66 | #### Inherited from
 67 | 
 68 | BaseModel.attribute\_map
 69 | 
 70 | #### Defined in
 71 | 
 72 | client/v2/basemodel.ts:56
 73 | 
 74 | ___
 75 | 
 76 | ### build
 77 | 
 78 | • **build**: [`BuildVersion`](modelsv2.BuildVersion.md)
 79 | 
 80 | #### Defined in
 81 | 
 82 | client/v2/algod/models/types.ts:5997
 83 | 
 84 | ___
 85 | 
 86 | ### genesisHashB64
 87 | 
 88 | • **genesisHashB64**: `Uint8Array`
 89 | 
 90 | #### Defined in
 91 | 
 92 | client/v2/algod/models/types.ts:5999
 93 | 
 94 | ___
 95 | 
 96 | ### genesisId
 97 | 
 98 | • **genesisId**: `string`
 99 | 
100 | #### Defined in
101 | 
102 | client/v2/algod/models/types.ts:6001
103 | 
104 | ___
105 | 
106 | ### versions
107 | 
108 | • **versions**: `string`[]
109 | 
110 | #### Defined in
111 | 
112 | client/v2/algod/models/types.ts:6003
113 | 
114 | ## Methods
115 | 
116 | ### get\_obj\_for\_encoding
117 | 
118 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
119 | 
120 | Get an object ready for encoding to either JSON or msgpack.
121 | 
122 | #### Parameters
123 | 
124 | | Name | Type | Default value | Description |
125 | | :------ | :------ | :------ | :------ |
126 | | `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. |
127 | 
128 | #### Returns
129 | 
130 | `Record`\<`string`, `any`\>
131 | 
132 | #### Inherited from
133 | 
134 | BaseModel.get\_obj\_for\_encoding
135 | 
136 | #### Defined in
137 | 
138 | client/v2/basemodel.ts:65
139 | 
140 | ___
141 | 
142 | ### from\_obj\_for\_encoding
143 | 
144 | ▸ `Static` **from_obj_for_encoding**(`data`): [`Version`](modelsv2.Version.md)
145 | 
146 | #### Parameters
147 | 
148 | | Name | Type |
149 | | :------ | :------ |
150 | | `data` | `Record`\<`string`, `any`\> |
151 | 
152 | #### Returns
153 | 
154 | [`Version`](modelsv2.Version.md)
155 | 
156 | #### Defined in
157 | 
158 | client/v2/algod/models/types.ts:6041
159 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:indexerModels.ApplicationResponse.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [indexerModels](../modules/indexerModels.md) / ApplicationResponse
  2 | 
  3 | # Class: ApplicationResponse
  4 | 
  5 | [indexerModels](../modules/indexerModels.md).ApplicationResponse
  6 | 
  7 | ## Hierarchy
  8 | 
  9 | - `default`
 10 | 
 11 |   ↳ **`ApplicationResponse`**
 12 | 
 13 | ## Table of contents
 14 | 
 15 | ### Constructors
 16 | 
 17 | - [constructor](indexerModels.ApplicationResponse.md#constructor)
 18 | 
 19 | ### Properties
 20 | 
 21 | - [application](indexerModels.ApplicationResponse.md#application)
 22 | - [attribute\_map](indexerModels.ApplicationResponse.md#attribute_map)
 23 | - [currentRound](indexerModels.ApplicationResponse.md#currentround)
 24 | 
 25 | ### Methods
 26 | 
 27 | - [get\_obj\_for\_encoding](indexerModels.ApplicationResponse.md#get_obj_for_encoding)
 28 | - [from\_obj\_for\_encoding](indexerModels.ApplicationResponse.md#from_obj_for_encoding)
 29 | 
 30 | ## Constructors
 31 | 
 32 | ### constructor
 33 | 
 34 | • **new ApplicationResponse**(`«destructured»`)
 35 | 
 36 | Creates a new `ApplicationResponse` object.
 37 | 
 38 | #### Parameters
 39 | 
 40 | | Name | Type |
 41 | | :------ | :------ |
 42 | | `«destructured»` | `Object` |
 43 | | › `application?` | [`Application`](indexerModels.Application.md) |
 44 | | › `currentRound` | `number` \| `bigint` |
 45 | 
 46 | #### Overrides
 47 | 
 48 | BaseModel.constructor
 49 | 
 50 | #### Defined in
 51 | 
 52 | client/v2/indexer/models/types.ts:1312
 53 | 
 54 | ## Properties
 55 | 
 56 | ### application
 57 | 
 58 | • `Optional` **application**: [`Application`](indexerModels.Application.md)
 59 | 
 60 | Application index and its parameters
 61 | 
 62 | #### Defined in
 63 | 
 64 | client/v2/indexer/models/types.ts:1305
 65 | 
 66 | ___
 67 | 
 68 | ### attribute\_map
 69 | 
 70 | • **attribute\_map**: `Record`\<`string`, `string`\>
 71 | 
 72 | #### Inherited from
 73 | 
 74 | BaseModel.attribute\_map
 75 | 
 76 | #### Defined in
 77 | 
 78 | client/v2/basemodel.ts:56
 79 | 
 80 | ___
 81 | 
 82 | ### currentRound
 83 | 
 84 | • **currentRound**: `number` \| `bigint`
 85 | 
 86 | Round at which the results were computed.
 87 | 
 88 | #### Defined in
 89 | 
 90 | client/v2/indexer/models/types.ts:1300
 91 | 
 92 | ## Methods
 93 | 
 94 | ### get\_obj\_for\_encoding
 95 | 
 96 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 97 | 
 98 | Get an object ready for encoding to either JSON or msgpack.
 99 | 
100 | #### Parameters
101 | 
102 | | Name | Type | Default value | Description |
103 | | :------ | :------ | :------ | :------ |
104 | | `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. |
105 | 
106 | #### Returns
107 | 
108 | `Record`\<`string`, `any`\>
109 | 
110 | #### Inherited from
111 | 
112 | BaseModel.get\_obj\_for\_encoding
113 | 
114 | #### Defined in
115 | 
116 | client/v2/basemodel.ts:65
117 | 
118 | ___
119 | 
120 | ### from\_obj\_for\_encoding
121 | 
122 | ▸ `Static` **from_obj_for_encoding**(`data`): [`ApplicationResponse`](indexerModels.ApplicationResponse.md)
123 | 
124 | #### Parameters
125 | 
126 | | Name | Type |
127 | | :------ | :------ |
128 | | `data` | `Record`\<`string`, `any`\> |
129 | 
130 | #### Returns
131 | 
132 | [`ApplicationResponse`](indexerModels.ApplicationResponse.md)
133 | 
134 | #### Defined in
135 | 
136 | client/v2/indexer/models/types.ts:1330
137 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/tealscript:guides_lifecycle.md:
--------------------------------------------------------------------------------

```markdown
 1 | ---
 2 | title: Lifecycle Methods
 3 | ---
 4 | 
 5 | ## Create, Update, and Delete
 6 | 
 7 | By default, Algorand applications can be created, updated, and deleted. In TEALScript, applications can be created by default, but cannot be updated to deleted. The default `createApplication` method won't run any logic, but rather simply create the application on the chain. 
 8 | 
 9 | ### Modifying create logic
10 | 
11 | To modify the logic executed upon applicaiton creation (for example, to set default storage values) your contract class must implement a method to override `createApplication`.
12 | 
13 | #### Example
14 | 
15 | ```typescript
16 | class Counter extends Contract {
17 |   counter = GlobalStateKey<uint64>();
18 | 
19 |   createApplication(startingNumber: uint64): void {
20 |     this.counter.value = startingNumber
21 |   }
22 | }
23 | ```
24 | 
25 | ### Implementing a updateApplication Method
26 | 
27 | By default, TEALScript contracts cannot be updated. To allow a contract to be updated, a method that overrides `Contract.updateApplication` must be implemented.
28 | 
29 | #### Example
30 | 
31 | ```typescript
32 | class Counter extends Contract {
33 |   counter = GlobalStateKey<uint64>();
34 | 
35 |   createApplication(startingNumber: uint64): void {
36 |     this.counter.value = startingNumber
37 |   }
38 | 
39 |   updateApplication(): void {
40 |     assert(this.txn.sender === this.app.creator)
41 |   }
42 | }
43 | ```
44 | 
45 | ### Implementing a deleteApplication Method
46 | 
47 | By defualt, TEALScript contracts cannot be deleted. To allow a contract to be deleted, a method that overrides `deleteApplication` must be implemented.
48 | 
49 | #### Example
50 | 
51 | ```typescript
52 | class Counter extends Contract {
53 |   counter = GlobalStateKey<uint64>();
54 | 
55 |   createApplication(startingNumber: uint64): void {
56 |     this.counter.value = startingNumber
57 |   }
58 | 
59 |   deleteApplication(): void {
60 |     assert(this.txn.sender === this.app.creator)
61 |   }
62 | }
63 | ```
64 | 
65 | ## OptIn, CloseOut, and ClearState
66 | 
67 | If your contract uses local state, you will need to override the `optInToApplication` method and override `closeOutOfApplication` and/or `clearState` as desired. To learn more about contract state, see [this page](./storage.md)
68 | 
69 | ## Advanced OnComplete Control
70 | 
71 | To have more granular control on what OnComplete a specific method allows, use the `allow.call` or `allow.create` decorator to control allowed OnCompletes when calling or creating the application. 
72 | 
73 | ### Example
74 | 
75 | ```typescript
76 | class Counter extends Contract {
77 |   counter = LocalStateKey<uint64>();
78 | 
79 |   // This method will increment a counter in local state
80 |   @allow.create('OptIn') // Allow an OptIn create so the creators counter can be set when creating the app
81 |   @allow.call('OptIn')   // Allow anyone to OptIn to the contract so they can use local state
82 |   @allow.call('NoOp')    // Allow anyone to call the app again with a NoOp call (can only OptIn once)
83 |   useLocalState(): void {
84 |     if (!this.counter(this.txn.sender).exists) this.counter(this.txn.sender).value = 1
85 |     else this.counter(this.txn.sender).value = this.counter(this.txn.sender).value + 1
86 |   }
87 | }
88 | ```
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/algokit:utils:typescript:README.md:
--------------------------------------------------------------------------------

```markdown
 1 | # AlgoKit TypeScript Utilities
 2 | 
 3 | A set of core Algorand utilities written in TypeScript and released via npm that make it easier to build solutions on Algorand. This project is part of [AlgoKit](https://github.com/algorandfoundation/algokit-cli).
 4 | 
 5 | The goal of this library is to provide intuitive, productive utility functions that make it easier, quicker and safer to build applications on Algorand. Largely these functions wrap the underlying Algorand SDK, but provide a higher level interface with sensible defaults and capabilities for common tasks.
 6 | 
 7 | Note: If you prefer Python there's an equivalent [Python utility library](https://github.com/algorandfoundation/algokit-utils-py).
 8 | 
 9 | [Install](#install) | [Documentation](./docs/README.md)
10 | 
11 | ## Install
12 | 
13 | Before installing, you'll need to decide on the version you want to target. Version 7 and 8 have the same feature set, however v7 leverages algosdk@>=2.9.0<3.0, whereas v8 leverages algosdk@>=3.0.0. Your project and it's dependencies will help you decide which version to target.
14 | 
15 | Once you've decided on the target version, this library can be installed from NPM using your favourite npm client, e.g.:
16 | 
17 | To target algosdk@2 and use version 7 of AlgoKit Utils, run the below:
18 | 
19 | ```
20 | npm install algosdk@^2.9.0 @algorandfoundation/algokit-utils@^7.0.0
21 | ```
22 | 
23 | To target algosdk@3 and use the latest version of AlgoKit Utils, run the below:
24 | 
25 | ```
26 | npm install algosdk@^3.0.0 @algorandfoundation/algokit-utils
27 | ```
28 | 
29 | Now you can import the library:
30 | 
31 | ```typescript
32 | import { AlgorandClient, Config } from '@algorandfoundation/algokit-utils'
33 | ```
34 | 
35 | See [usage](./docs/README.md#usage) for more details.
36 | 
37 | ## Migration
38 | 
39 | Whilst we aim to minimise breaking changes, there are situations where they are required.
40 | JSDoc deprecations should guide you through most migration paths inside your IDE, however the migration guides will provide more detailed information should you need it.
41 | 
42 | If you're targetting v7, please refer to the [v7 migration guide](./docs/v7-migration.md).
43 | If you're targetting v8, please refer to the [v8 migration guide](./docs/v8-migration.md).
44 | 
45 | ## Guiding principles
46 | 
47 | This library follows the [Guiding Principles of AlgoKit](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/algokit.md#guiding-principles).
48 | 
49 | ## Contributing
50 | 
51 | This is an open source project managed by the Algorand Foundation. See the [AlgoKit contributing page](https://github.com/algorandfoundation/algokit-cli/blob/main/CONTRIBUTING.md) to learn about making improvements.
52 | 
53 | To successfully run the tests in this repository you need to be running LocalNet via [AlgoKit](https://github.com/algorandfoundation/algokit-cli) and also have package dependencies and `.env.template` copied to `.env` (both of which `algokit bootstrap all` can do for you):
54 | 
55 | ```
56 | algokit bootstrap all
57 | algokit localnet start
58 | ```
59 | 
60 | To run tests you can use VS Code, or:
61 | 
62 | ```
63 | npm run test
64 | ```
65 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.BlockLogsResponse.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / BlockLogsResponse
  2 | 
  3 | # Class: BlockLogsResponse
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).BlockLogsResponse
  6 | 
  7 | All logs emitted in the given round. Each app call, whether top-level or inner,
  8 | that contains logs results in a separate AppCallLogs object. Therefore there may
  9 | be multiple AppCallLogs with the same application ID and outer transaction ID in
 10 | the event of multiple inner app calls to the same app. App calls with no logs
 11 | are not included in the response. AppCallLogs are returned in the same order
 12 | that their corresponding app call appeared in the block (pre-order traversal of
 13 | inner app calls)
 14 | 
 15 | ## Hierarchy
 16 | 
 17 | - `default`
 18 | 
 19 |   ↳ **`BlockLogsResponse`**
 20 | 
 21 | ## Table of contents
 22 | 
 23 | ### Constructors
 24 | 
 25 | - [constructor](modelsv2.BlockLogsResponse.md#constructor)
 26 | 
 27 | ### Properties
 28 | 
 29 | - [attribute\_map](modelsv2.BlockLogsResponse.md#attribute_map)
 30 | - [logs](modelsv2.BlockLogsResponse.md#logs)
 31 | 
 32 | ### Methods
 33 | 
 34 | - [get\_obj\_for\_encoding](modelsv2.BlockLogsResponse.md#get_obj_for_encoding)
 35 | - [from\_obj\_for\_encoding](modelsv2.BlockLogsResponse.md#from_obj_for_encoding)
 36 | 
 37 | ## Constructors
 38 | 
 39 | ### constructor
 40 | 
 41 | • **new BlockLogsResponse**(`logs`)
 42 | 
 43 | Creates a new `BlockLogsResponse` object.
 44 | 
 45 | #### Parameters
 46 | 
 47 | | Name | Type |
 48 | | :------ | :------ |
 49 | | `logs` | `Object` |
 50 | | `logs.logs` | [`AppCallLogs`](modelsv2.AppCallLogs.md)[] |
 51 | 
 52 | #### Overrides
 53 | 
 54 | BaseModel.constructor
 55 | 
 56 | #### Defined in
 57 | 
 58 | client/v2/algod/models/types.ts:2117
 59 | 
 60 | ## Properties
 61 | 
 62 | ### attribute\_map
 63 | 
 64 | • **attribute\_map**: `Record`\<`string`, `string`\>
 65 | 
 66 | #### Inherited from
 67 | 
 68 | BaseModel.attribute\_map
 69 | 
 70 | #### Defined in
 71 | 
 72 | client/v2/basemodel.ts:56
 73 | 
 74 | ___
 75 | 
 76 | ### logs
 77 | 
 78 | • **logs**: [`AppCallLogs`](modelsv2.AppCallLogs.md)[]
 79 | 
 80 | #### Defined in
 81 | 
 82 | client/v2/algod/models/types.ts:2111
 83 | 
 84 | ## Methods
 85 | 
 86 | ### get\_obj\_for\_encoding
 87 | 
 88 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
 89 | 
 90 | Get an object ready for encoding to either JSON or msgpack.
 91 | 
 92 | #### Parameters
 93 | 
 94 | | Name | Type | Default value | Description |
 95 | | :------ | :------ | :------ | :------ |
 96 | | `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. |
 97 | 
 98 | #### Returns
 99 | 
100 | `Record`\<`string`, `any`\>
101 | 
102 | #### Inherited from
103 | 
104 | BaseModel.get\_obj\_for\_encoding
105 | 
106 | #### Defined in
107 | 
108 | client/v2/basemodel.ts:65
109 | 
110 | ___
111 | 
112 | ### from\_obj\_for\_encoding
113 | 
114 | ▸ `Static` **from_obj_for_encoding**(`data`): [`BlockLogsResponse`](modelsv2.BlockLogsResponse.md)
115 | 
116 | #### Parameters
117 | 
118 | | Name | Type |
119 | | :------ | :------ |
120 | | `data` | `Record`\<`string`, `any`\> |
121 | 
122 | #### Returns
123 | 
124 | [`BlockLogsResponse`](modelsv2.BlockLogsResponse.md)
125 | 
126 | #### Defined in
127 | 
128 | client/v2/algod/models/types.ts:2127
129 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.SupplyResponse.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / SupplyResponse
  2 | 
  3 | # Class: SupplyResponse
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).SupplyResponse
  6 | 
  7 | Supply represents the current supply of MicroAlgos in the system.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`SupplyResponse`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.SupplyResponse.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](modelsv2.SupplyResponse.md#attribute_map)
 24 | - [currentRound](modelsv2.SupplyResponse.md#currentround)
 25 | - [onlineMoney](modelsv2.SupplyResponse.md#onlinemoney)
 26 | - [totalMoney](modelsv2.SupplyResponse.md#totalmoney)
 27 | 
 28 | ### Methods
 29 | 
 30 | - [get\_obj\_for\_encoding](modelsv2.SupplyResponse.md#get_obj_for_encoding)
 31 | - [from\_obj\_for\_encoding](modelsv2.SupplyResponse.md#from_obj_for_encoding)
 32 | 
 33 | ## Constructors
 34 | 
 35 | ### constructor
 36 | 
 37 | • **new SupplyResponse**(`«destructured»`)
 38 | 
 39 | Creates a new `SupplyResponse` object.
 40 | 
 41 | #### Parameters
 42 | 
 43 | | Name | Type |
 44 | | :------ | :------ |
 45 | | `«destructured»` | `Object` |
 46 | | › `currentRound` | `number` \| `bigint` |
 47 | | › `onlineMoney` | `number` \| `bigint` |
 48 | | › `totalMoney` | `number` \| `bigint` |
 49 | 
 50 | #### Overrides
 51 | 
 52 | BaseModel.constructor
 53 | 
 54 | #### Defined in
 55 | 
 56 | client/v2/algod/models/types.ts:5573
 57 | 
 58 | ## Properties
 59 | 
 60 | ### attribute\_map
 61 | 
 62 | • **attribute\_map**: `Record`\<`string`, `string`\>
 63 | 
 64 | #### Inherited from
 65 | 
 66 | BaseModel.attribute\_map
 67 | 
 68 | #### Defined in
 69 | 
 70 | client/v2/basemodel.ts:56
 71 | 
 72 | ___
 73 | 
 74 | ### currentRound
 75 | 
 76 | • **currentRound**: `number` \| `bigint`
 77 | 
 78 | Round
 79 | 
 80 | #### Defined in
 81 | 
 82 | client/v2/algod/models/types.ts:5555
 83 | 
 84 | ___
 85 | 
 86 | ### onlineMoney
 87 | 
 88 | • **onlineMoney**: `number` \| `bigint`
 89 | 
 90 | OnlineMoney
 91 | 
 92 | #### Defined in
 93 | 
 94 | client/v2/algod/models/types.ts:5560
 95 | 
 96 | ___
 97 | 
 98 | ### totalMoney
 99 | 
100 | • **totalMoney**: `number` \| `bigint`
101 | 
102 | TotalMoney
103 | 
104 | #### Defined in
105 | 
106 | client/v2/algod/models/types.ts:5565
107 | 
108 | ## Methods
109 | 
110 | ### get\_obj\_for\_encoding
111 | 
112 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
113 | 
114 | Get an object ready for encoding to either JSON or msgpack.
115 | 
116 | #### Parameters
117 | 
118 | | Name | Type | Default value | Description |
119 | | :------ | :------ | :------ | :------ |
120 | | `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. |
121 | 
122 | #### Returns
123 | 
124 | `Record`\<`string`, `any`\>
125 | 
126 | #### Inherited from
127 | 
128 | BaseModel.get\_obj\_for\_encoding
129 | 
130 | #### Defined in
131 | 
132 | client/v2/basemodel.ts:65
133 | 
134 | ___
135 | 
136 | ### from\_obj\_for\_encoding
137 | 
138 | ▸ `Static` **from_obj_for_encoding**(`data`): [`SupplyResponse`](modelsv2.SupplyResponse.md)
139 | 
140 | #### Parameters
141 | 
142 | | Name | Type |
143 | | :------ | :------ |
144 | | `data` | `Record`\<`string`, `any`\> |
145 | 
146 | #### Returns
147 | 
148 | [`SupplyResponse`](modelsv2.SupplyResponse.md)
149 | 
150 | #### Defined in
151 | 
152 | client/v2/algod/models/types.ts:5595
153 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/SDKs:javascript:classes:modelsv2.DryrunResponse.md:
--------------------------------------------------------------------------------

```markdown
  1 | [algosdk](../README.md) / [Exports](../modules.md) / [modelsv2](../modules/modelsv2.md) / DryrunResponse
  2 | 
  3 | # Class: DryrunResponse
  4 | 
  5 | [modelsv2](../modules/modelsv2.md).DryrunResponse
  6 | 
  7 | DryrunResponse contains per-txn debug information from a dryrun.
  8 | 
  9 | ## Hierarchy
 10 | 
 11 | - `default`
 12 | 
 13 |   ↳ **`DryrunResponse`**
 14 | 
 15 | ## Table of contents
 16 | 
 17 | ### Constructors
 18 | 
 19 | - [constructor](modelsv2.DryrunResponse.md#constructor)
 20 | 
 21 | ### Properties
 22 | 
 23 | - [attribute\_map](modelsv2.DryrunResponse.md#attribute_map)
 24 | - [error](modelsv2.DryrunResponse.md#error)
 25 | - [protocolVersion](modelsv2.DryrunResponse.md#protocolversion)
 26 | - [txns](modelsv2.DryrunResponse.md#txns)
 27 | 
 28 | ### Methods
 29 | 
 30 | - [get\_obj\_for\_encoding](modelsv2.DryrunResponse.md#get_obj_for_encoding)
 31 | - [from\_obj\_for\_encoding](modelsv2.DryrunResponse.md#from_obj_for_encoding)
 32 | 
 33 | ## Constructors
 34 | 
 35 | ### constructor
 36 | 
 37 | • **new DryrunResponse**(`«destructured»`)
 38 | 
 39 | Creates a new `DryrunResponse` object.
 40 | 
 41 | #### Parameters
 42 | 
 43 | | Name | Type |
 44 | | :------ | :------ |
 45 | | `«destructured»` | `Object` |
 46 | | › `error` | `string` |
 47 | | › `protocolVersion` | `string` |
 48 | | › `txns` | [`DryrunTxnResult`](modelsv2.DryrunTxnResult.md)[] |
 49 | 
 50 | #### Overrides
 51 | 
 52 | BaseModel.constructor
 53 | 
 54 | #### Defined in
 55 | 
 56 | client/v2/algod/models/types.ts:2745
 57 | 
 58 | ## Properties
 59 | 
 60 | ### attribute\_map
 61 | 
 62 | • **attribute\_map**: `Record`\<`string`, `string`\>
 63 | 
 64 | #### Inherited from
 65 | 
 66 | BaseModel.attribute\_map
 67 | 
 68 | #### Defined in
 69 | 
 70 | client/v2/basemodel.ts:56
 71 | 
 72 | ___
 73 | 
 74 | ### error
 75 | 
 76 | • **error**: `string`
 77 | 
 78 | #### Defined in
 79 | 
 80 | client/v2/algod/models/types.ts:2730
 81 | 
 82 | ___
 83 | 
 84 | ### protocolVersion
 85 | 
 86 | • **protocolVersion**: `string`
 87 | 
 88 | Protocol version is the protocol version Dryrun was operated under.
 89 | 
 90 | #### Defined in
 91 | 
 92 | client/v2/algod/models/types.ts:2735
 93 | 
 94 | ___
 95 | 
 96 | ### txns
 97 | 
 98 | • **txns**: [`DryrunTxnResult`](modelsv2.DryrunTxnResult.md)[]
 99 | 
100 | #### Defined in
101 | 
102 | client/v2/algod/models/types.ts:2737
103 | 
104 | ## Methods
105 | 
106 | ### get\_obj\_for\_encoding
107 | 
108 | ▸ **get_obj_for_encoding**(`binary?`): `Record`\<`string`, `any`\>
109 | 
110 | Get an object ready for encoding to either JSON or msgpack.
111 | 
112 | #### Parameters
113 | 
114 | | Name | Type | Default value | Description |
115 | | :------ | :------ | :------ | :------ |
116 | | `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. |
117 | 
118 | #### Returns
119 | 
120 | `Record`\<`string`, `any`\>
121 | 
122 | #### Inherited from
123 | 
124 | BaseModel.get\_obj\_for\_encoding
125 | 
126 | #### Defined in
127 | 
128 | client/v2/basemodel.ts:65
129 | 
130 | ___
131 | 
132 | ### from\_obj\_for\_encoding
133 | 
134 | ▸ `Static` **from_obj_for_encoding**(`data`): [`DryrunResponse`](modelsv2.DryrunResponse.md)
135 | 
136 | #### Parameters
137 | 
138 | | Name | Type |
139 | | :------ | :------ |
140 | | `data` | `Record`\<`string`, `any`\> |
141 | 
142 | #### Returns
143 | 
144 | [`DryrunResponse`](modelsv2.DryrunResponse.md)
145 | 
146 | #### Defined in
147 | 
148 | client/v2/algod/models/types.ts:2767
149 | 
```

--------------------------------------------------------------------------------
/packages/server/src/resources/knowledge/taxonomy/ARCs:specs:arc-0016.md:
--------------------------------------------------------------------------------

```markdown
 1 | ---
 2 | arc: 16
 3 | title: Convention for declaring traits of an NFT's
 4 | description: This is a convention for declaring traits in an NFT's metadata.
 5 | author: Keegan Thompson (@keeganthomp)
 6 | discussions-to: https://github.com/algorandfoundation/ARCs/issues/62
 7 | status: Final
 8 | type: Standards Track
 9 | category: ARC
10 | sub-category: Asa
11 | created: 2022-01-04
12 | ---
13 | 
14 | # Standard for declaring traits inside non-fungible NFT's metadata
15 | 
16 | ## Abstract
17 | 
18 | The goal is to establish a standard for how traits are declared inside a non-fungible NFT's metadata, for example as specified in ([ARC-3](./arc-0003.md)), ([ARC-69](./arc-0069.md)) or ([ARC-72](./arc-0072.md)).
19 | 
20 | ## Specification
21 | 
22 | 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>.
23 | 
24 | > Comments like this are non-normative.
25 | 
26 | If the property `traits` is provided anywhere in the metadata, it **MUST** adhere to the schema below.
27 | If the NFT is a part of a larger collection and that collection has traits, all the available traits for the collection **MUST** be listed as a property of the `traits` object.
28 | If the NFT does not have a particular trait, it's value **MUST** be "none".
29 | 
30 | The JSON schema for `traits` is as follows:
31 | 
32 | ```json
33 | {
34 |   "title": "Traits for Non-Fungible Token",
35 |   "type": "object",
36 |   "properties": {
37 |     "traits": {
38 |       "type": "object",
39 |       "description": "Traits (attributes) that can be used to calculate things like rarity. Values may be strings or numbers"
40 |     }
41 |   }
42 | }
43 | ```
44 | 
45 | #### Examples
46 | 
47 | ##### Example of an NFT that has traits
48 | 
49 | ```json
50 | {
51 |   "name": "NFT With Traits",
52 |   "description": "NFT with traits",
53 |   "image": "https://s3.amazonaws.com/your-bucket/images/two.png",
54 |   "image_integrity": "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
55 |   "properties": {
56 |     "creator": "Tim Smith",
57 |     "created_at": "January 2, 2022",
58 |     "traits": {
59 |       "background": "red",
60 |       "shirt_color": "blue",
61 |       "glasses": "none",
62 |       "tattoos": 4,
63 |     }
64 |   }
65 | }
66 | ```
67 | 
68 | ##### Example of an NFT that has no traits
69 | 
70 | ```json
71 | {
72 |   "name": "NFT Without Traits",
73 |   "description": "NFT without traits",
74 |   "image": "https://s3.amazonaws.com/your-bucket/images/one.png",
75 |   "image_integrity": "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
76 |   "properties": {
77 |     "creator": "John Smith",
78 |     "created_at": "January 1, 2022",
79 |   }
80 | }
81 | ```
82 | 
83 | ## Rationale
84 | 
85 | A standard for traits is needed so programs know what to expect in order to calculate things like rarity.
86 | 
87 | ## Backwards Compatibility
88 | 
89 | If the metadata does not have the field `traits`, each value of `properties` should be considered a trait.
90 | 
91 | ## Security Considerations
92 | 
93 | None.
94 | 
95 | ## Copyright
96 | 
97 | Copyright and related rights waived via <a href="https://creativecommons.org/publicdomain/zero/1.0/">CCO</a>.
98 | 
```
Page 10/93FirstPrevNextLast