@goplausible/algorand-mcp 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +692 -0
- package/dist/algorand-client.d.ts +2 -0
- package/dist/algorand-client.js +2 -0
- package/dist/env.d.ts +1 -0
- package/dist/env.js +4 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +158 -0
- package/dist/networkConfig.d.ts +5 -0
- package/dist/networkConfig.js +57 -0
- package/dist/resources/index.d.ts +16 -0
- package/dist/resources/index.js +37 -0
- package/dist/resources/knowledge/index.d.ts +72 -0
- package/dist/resources/knowledge/index.js +180 -0
- package/dist/resources/knowledge/taxonomy/algokit-cli:README.md +272 -0
- package/dist/resources/knowledge/taxonomy/algokit:README.md +70 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:algokit.md +52 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md +94 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2022-11-22_beaker-testing-strategy.md +95 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-01-11_beaker_productionisation_review.md +412 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-01-11_brew_install.md +86 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-01-12_smart-contract-deployment.md +375 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-06-06_frontend-templates.md +164 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2023-07-19_advanced_generate_command.md +203 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-01-13_native_binaries.md +163 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-01-23_init-wizard-v2.md +211 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-01-31_binary_distribution.md +255 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:architecture-decisions:2024-03-06_local_dev_ui_packaging.md +143 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:articles:output_stability.md +8 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:cli:index.md +1517 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:compile.md +98 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:completions.md +56 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:config.md +37 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:dispenser.md +90 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:doctor.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:explore.md +21 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:generate.md +179 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:goal.md +139 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:init.md +122 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:localnet.md +191 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:project.md +95 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:bootstrap.md +128 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:deploy.md +211 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:link.md +67 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:list.md +43 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:project:run.md +184 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks.md +16 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:analyze.md +33 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:ipfs.md +66 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:mint.md +70 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:nfd.md +45 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:opt.md +71 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:send.md +60 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:sign.md +94 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:transfer.md +54 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:vanity_address.md +56 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:features:tasks:wallet.md +93 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:tutorials:algokit-template.md +220 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:tutorials:intro.md +171 -0
- package/dist/resources/knowledge/taxonomy/algokit:cli:tutorials:smart-contracts.md +14 -0
- package/dist/resources/knowledge/taxonomy/algokit:docs:testnet_api.md +157 -0
- package/dist/resources/knowledge/taxonomy/algokit:lora:README.md +61 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:README.md +35 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md +1095 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:account.md +32 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:app-client.md +154 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:app-deploy.md +121 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:client.md +29 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:debugger.md +45 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:dispenser-client.md +60 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:capabilities:transfer.md +58 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:markdown:index.md +123 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:account.md +31 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:app-client.md +157 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:app-deploy.md +121 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:client.md +29 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:debugger.md +45 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:dispenser-client.md +60 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:capabilities:transfer.md +58 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:python:source:index.md +103 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:README.md +64 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:account.md +186 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:algorand-client.md +160 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:amount.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:app-client.md +422 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:app-deploy.md +278 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:app.md +442 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:asset.md +331 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:client.md +115 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:debugging.md +54 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:dispenser-client.md +85 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:event-emitter.md +97 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:indexer.md +83 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:testing.md +207 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:transaction-composer.md +89 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:transaction.md +23 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:transfer.md +129 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:capabilities:typed-app-clients.md +201 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:README.md +53 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:testing.TestLogger.md +272 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:testing.TransactionLogger.md +149 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_account.MultisigAccount.md +178 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_account.SigningAccount.md +153 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_account_manager.AccountManager.md +924 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md +200 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algorand_client.AlgorandClient.md +646 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md +1290 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md +1425 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_amount.AlgoAmount.md +247 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_arc56.Arc56Method.md +259 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_client.AppClient.md +1350 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_client.ApplicationClient.md +887 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_deployer.AppDeployer.md +186 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_factory.AppFactory.md +780 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_app_manager.AppManager.md +527 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_asset_manager.AssetManager.md +221 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_async_event_emitter.AsyncEventEmitter.md +244 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_client_manager.ClientManager.md +1072 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_composer.TransactionComposer.md +1281 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_config.UpdatableConfig.md +274 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_dispenser_client.TestNetDispenserApiClient.md +225 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_kmd_account_manager.KmdAccountManager.md +182 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:classes:types_logic_error.LogicError.md +261 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_app.OnSchemaBreak.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_app.OnUpdate.md +64 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_indexer.AccountStatus.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_indexer.ApplicationOnComplete.md +78 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_indexer.SignatureType.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:enums:types_lifecycle_events.EventType.md +32 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_account.AccountConfig.md +69 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_account.TransactionSignerAccount.md +34 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_account_manager.EnsureFundedResult.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_algorand_client_interface.AlgorandClientInterface.md +102 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppCallParams.md +233 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppCallTransactionResultOfType.md +108 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppCompilationResult.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppDeployMetadata.md +72 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppDeploymentParams.md +305 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppLookup.md +34 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppMetadata.md +174 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppReference.md +44 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppState.md +11 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.AppStorageSchema.md +77 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxName.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxReference.md +42 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxValueRequestParams.md +54 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.BoxValuesRequestParams.md +54 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.CompiledTeal.md +77 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.CoreAppCallArgs.md +98 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.CreateAppParams.md +287 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.RawAppCallArgs.md +148 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.TealTemplateParams.md +13 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app.UpdateAppParams.md +274 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Arc56Contract.md +284 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Event.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md +145 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.ProgramSourceInfo.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.StorageKey.md +64 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.StorageMap.md +64 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_arc56.StructField.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallABIArgs.md +150 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallCoreParams.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationParams.md +49 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationResult.md +80 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCallInterfaceParams.md +83 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCoreParams.md +111 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployParams.md +239 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppClientParams.md +120 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.AppSourceMaps.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.FundAppAccountParams.md +62 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppById.md +65 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppByIdBase.md +44 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_client.SourceMapExport.md +54 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_deployer.AppLookup.md +42 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_deployer.AppMetadata.md +164 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md +145 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.AppInformation.md +156 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.BoxReference.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.BoxValueRequestParams.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_manager.BoxValuesRequestParams.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.AppSources.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.AppSpec.md +90 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.CallConfig.md +77 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.DeclaredSchemaValueSpec.md +64 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.Hint.md +58 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.ReservedSchemaValueSpec.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.Schema.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.SchemaSpec.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.StateSchemaSpec.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_app_spec.Struct.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.AssetBulkOptInOutParams.md +105 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.AssetOptInParams.md +224 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.AssetOptOutParams.md +268 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset.CreateAssetParams.md +369 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset_manager.AssetInformation.md +272 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_asset_manager.BulkAssetOptInOutResult.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_client_manager.AlgoSdkClients.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppClient.md +84 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppFactory.md +39 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_composer.BuiltTransactions.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_config.Config.md +115 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_debugging.AVMTracesEventData.md +25 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_debugging.TealSourceDebugEventData.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_debugging.TealSourcesDebugEventData.md +25 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserFundResponse.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserLimitResponse.md +25 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_dispenser_client.TestNetDispenserApiClientParams.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_indexer.LookupAssetHoldingsOptions.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_logic_error.LogicErrorDetails.md +77 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_network_client.AlgoClientConfig.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_network_client.AlgoConfig.md +51 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_network_client.NetworkDetails.md +77 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgoKitLogCaptureFixture.md +72 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixture.md +79 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixtureConfig.md +149 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md +165 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.GetTestAccountParams.md +65 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_testing.LogSnapshotConfig.md +53 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.AtomicTransactionComposerToSend.md +98 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResult.md +52 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResults.md +88 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendAtomicTransactionComposerResults.md +92 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendParams.md +57 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionParams.md +135 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResult.md +48 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResults.md +49 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.TransactionGroupToSend.md +54 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transaction.TransactionToSign.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.AlgoRekeyParams.md +222 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.AlgoTransferParams.md +235 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedParams.md +248 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedReturnType.md +38 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:interfaces:types_transfer.TransferAssetParams.md +261 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:index.indexer.md +194 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:index.md +3215 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:testing.md +243 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_account.md +100 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_account_manager.md +42 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_account_manager_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algo_http_client_with_retry.md +9 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client.md +9 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_asset_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_interface.md +9 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_transaction_creator.md +9 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_transaction_sender.md +9 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_algorand_client_transfer_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_amount.md +9 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_amount_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app.md +279 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_arc56.md +346 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_client.md +347 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_client_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_deployer.md +93 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_factory.md +124 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_factory_and_client_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_manager.md +36 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_app_spec.md +160 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_asset.md +12 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_asset_manager.md +14 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_async_event_emitter.md +44 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_async_event_emitter_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_client_manager.md +122 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_client_manager_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_composer.md +433 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_config.md +13 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_debugging.md +79 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_dispenser_client.md +15 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_dispenser_client_spec.md +3 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_expand.md +28 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_indexer.md +611 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_kmd_account_manager.md +9 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_lifecycle_events.md +34 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_logging.md +93 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_logic_error.md +13 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_network_client.md +39 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_testing.md +14 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_transaction.md +90 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:code:modules:types_transfer.md +13 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:v7-migration.md +392 -0
- package/dist/resources/knowledge/taxonomy/algokit:utils:typescript:v8-migration.md +102 -0
- package/dist/resources/knowledge/taxonomy/arcs:ARC-template.md +48 -0
- package/dist/resources/knowledge/taxonomy/arcs:README.md +41 -0
- package/dist/resources/knowledge/taxonomy/arcs:assets:arc-0012:README.md +30 -0
- package/dist/resources/knowledge/taxonomy/arcs:assets:arc-0034:TemplateForm.md +58 -0
- package/dist/resources/knowledge/taxonomy/arcs:assets:arc-0062:README.md +16 -0
- package/dist/resources/knowledge/taxonomy/arcs:pages:nfts.md +24 -0
- package/dist/resources/knowledge/taxonomy/arcs:pages:wallets.md +74 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0000.md +298 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0001.md +480 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0002.md +138 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0003.md +469 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0004.md +725 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0005.md +90 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0006.md +202 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0007.md +113 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0008.md +55 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0009.md +63 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0010.md +111 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0011.md +47 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0012.md +158 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0015.md +112 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0016.md +97 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0018.md +616 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0019.md +246 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0020.md +742 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0021.md +98 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0022.md +75 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0023.md +189 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0025.md +241 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0026.md +112 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0028.md +176 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0032.md +286 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0033.md +104 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0034.md +167 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0035.md +151 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0036.md +84 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0042.md +76 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0047.md +171 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0048.md +85 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0049.md +80 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0054.md +217 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0055.md +540 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0056.md +516 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0059.md +726 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0062.md +339 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0065.md +169 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0069.md +183 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0072.md +335 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0073.md +93 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0074.md +128 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0076.md +99 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0078.md +220 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0079.md +109 -0
- package/dist/resources/knowledge/taxonomy/arcs:specs:arc-0200.md +232 -0
- package/dist/resources/knowledge/taxonomy/clis_index.md +2347 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:about.md +13 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:algokey.md +45 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:generate.md +42 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:import.md +42 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:multisig:append-auth-addr.md +44 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:multisig:multisig.md +47 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:part:info.md +40 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:part:part.md +42 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:part:reparent.md +42 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:algokey:sign.md +46 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:conduit.md +71 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:init.md +88 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:exporters.md +46 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:importers.md +46 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:list.md +63 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:conduit:list:processors.md +46 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:diagcfg.md +39 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:disable.md +58 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:enable.md +58 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:metric.md +51 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:metric:status.md +58 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:disable.md +58 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:enable.md +58 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:endpoint.md +60 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:name.md +60 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:status.md +58 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:diagcfg:telemetry:telemetry.md +53 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:restart.md +60 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:start.md +60 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:status.md +62 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:stop.md +52 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:node:wait.md +62 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:protocols.md +60 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:report.md +60 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:version.md +54 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:wallet:list.md +52 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:wallet:new.md +54 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:goal:wallet:wallet.md +56 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:api-config.md +50 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:daemon.md +110 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:indexer.md +50 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:util:util.md +39 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:indexer:util:validator.md +72 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:kmd.md +51 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:tealdbg:debug.md +92 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:tealdbg:remote.md +66 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:clis:tealdbg:tealdbg.md +59 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:accounts:create.md +741 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:accounts:index.md +107 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:accounts:rekey.md +462 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:betanet.md +31 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:index.md +23 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:mainnet.md +19 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand-networks:testnet.md +25 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:algorand_consensus.md +46 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:asa.md +1214 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:atc.md +412 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:atomic_transfers.md +396 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:conduit.md +95 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:crust.md +156 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:index.md +18 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:guidelines.md +3 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:index.md +332 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:jsonspec.md +134 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:index.md +16 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v1.md +401 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v10.md +1748 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v2.md +671 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v3.md +789 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v4.md +1029 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v5.md +1263 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v6.md +1359 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v7.md +1481 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v8.md +1640 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:opcodes:v9.md +1640 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:avm:teal:specification.md +945 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:ABI:index.md +172 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:create.md +398 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:index.md +246 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:innertx.md +514 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:state.md +704 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:apps:txs.md +231 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:debugging.md +897 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:frontend:apps.md +1680 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:frontend:smartsigs.md +492 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:guidelines.md +405 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:index.md +41 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:smartsigs:index.md +15 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:smartsigs:modes.md +34 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:smart-contracts:smartsigs:walkthrough.md +159 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:writing-contracts:beaker.md +341 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:writing-contracts:pyteal.md +786 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:dapps:writing-contracts:python.md +3 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:encoding.md +457 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:ethereum_to_algorand.md +239 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:index.md +29 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:indexer.md +472 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:parameter_tables.md +84 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:stateproofs:index.md +61 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:stateproofs:light_client.md +390 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:technical_faq.md +233 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:index.md +746 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:offline_transactions.md +319 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:payment_prompts.md +96 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:signatures.md +484 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:transactions:transactions.md +168 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:details:useful_resources.md +29 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:get-started:algokit.md +263 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:what_is_blockchain.md +69 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:whats_a_dapp.md +29 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:where_to_start.md +43 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:get-started:basics:why_algorand.md +119 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:get-started:tokenization:ft.md +24 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:get-started:tokenization:nft.md +41 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:index.md +100 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:algod.md +3163 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:indexer.md +2142 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:kmd.md +1347 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:rest-apis:restendpoints.md +76 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:operations:catchup.md +33 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:operations:switch_networks.md +89 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:generate_keys.md +76 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:index.md +56 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:offline.md +83 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:online.md +170 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:participate:renew.md +29 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:artifacts.md +89 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:config.md +190 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:relay.md +51 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:reference:telemetry-config.md +31 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:indexer.md +71 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:install.md +618 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:node-troubleshooting.md +190 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:run-a-node:setup:types.md +77 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:sdks:go:index.md +189 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:sdks:index.md +38 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:sdks:java:index.md +164 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:sdks:javascript:index.md +168 -0
- package/dist/resources/knowledge/taxonomy/developer:docs:sdks:python:index.md +162 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:accounts.md +215 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:arc4_types.md +267 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:assets.md +235 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:box_storage.md +211 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:control_flow.md +162 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:crypto:merkle_tree.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:amm.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:auction.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:htlc_logicsig.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:defi:marketplace.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:events:arc28_events.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:global_storage.md +192 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:governance:simple_voting.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:hello_world.md +133 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:inner_transactions.md +247 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:local_storage.md +227 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:nft:proof_of_attendance.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:privacy:zk_whitelist.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:scratch_storage.md +169 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:self_payment.md +167 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:struct_in_box.md +182 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:subsidize_app_call.md +189 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:transactions.md +0 -0
- package/dist/resources/knowledge/taxonomy/developer:python:code:example:utility:calculator.md +0 -0
- package/dist/resources/knowledge/taxonomy/devportal-code-examples:README.md +31 -0
- package/dist/resources/knowledge/taxonomy/devportal-code-examples:projects:python-contract-examples:README.md +155 -0
- package/dist/resources/knowledge/taxonomy/docs:.walletconnect:index.md +133 -0
- package/dist/resources/knowledge/taxonomy/docs:.walletconnect:walletconnect-schema.md +167 -0
- package/dist/resources/knowledge/taxonomy/docs:README.md +12 -0
- package/dist/resources/knowledge/taxonomy/docs:scripts:README.md +90 -0
- package/dist/resources/knowledge/taxonomy/docs:scripts:example_tracker:example_list.md +132 -0
- package/dist/resources/knowledge/taxonomy/index.md +2044 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:ARCHITECTURE.md +241 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:README.md +105 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:SEQUENCE.md +41 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:VISION.md +13 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:1-Service-Authentication.md +18 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:2-Bidirectional-Communication.md +42 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:3-Peer-to-Peer-Signaling.md +60 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:4-Fido-Extension.md +51 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:decisions:README.md +6 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:README.md +54 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:architecture.md +101 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:android:provider-service:authenticate.md +13 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:android:provider-service:register.md +18 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:browser:authentication.md +107 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:clients:browser:example.md +64 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:introduction.md +18 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:environment-variables.md +75 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:integrations.md +168 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:introduction.md +22 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:docs:server:running-locally.md +88 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.request.md +3 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.response.md +3 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:attestation:attestation.controller.post.request.md +1 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:services:liquid-auth-api-js:src:auth:auth.controller.get.user.md +0 -0
- package/dist/resources/knowledge/taxonomy/liquid-auth:sites:express-dapp:README.md +73 -0
- package/dist/resources/knowledge/taxonomy/liquid_auth_index.md +2221 -0
- package/dist/resources/knowledge/taxonomy/puya:README.md +72 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:algopy_testing:index.md +15 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.arc4.md +6 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.gtxn.md +6 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.itxn.md +6 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.md +6 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:api-algopy.op.md +6 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:api.md +6 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:compiler.md +239 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:index.md +63 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:language-guide.md +86 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-arc28.md +53 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-arc4.md +225 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-builtins.md +26 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-calling-apps.md +142 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-compile.md +70 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-control.md +87 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-errors.md +36 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-logs.md +46 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-modules.md +90 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-opcode-budget.md +3 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-ops.md +40 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-storage.md +222 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-structure.md +283 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-transactions.md +248 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-types.md +319 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:lg-unsupported-python-features.md +52 -0
- package/dist/resources/knowledge/taxonomy/puya:docs:principles.md +196 -0
- package/dist/resources/knowledge/taxonomy/puya:examples:auction:README.md +3 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:README.md +66 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:algopy.md +9 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:api.md +41 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:coverage.md +159 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:examples.md +13 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:faq.md +61 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:index.md +182 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:arc4-types.md +96 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:avm-types.md +223 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:concepts.md +58 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:contract-testing.md +225 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:index.md +67 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:opcodes.md +382 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:signature-testing.md +73 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:state-management.md +104 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:subroutines.md +62 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:docs:testing-guide:transactions.md +200 -0
- package/dist/resources/knowledge/taxonomy/puya:python:testing:examples:README.md +56 -0
- package/dist/resources/knowledge/taxonomy/puya:src:puya:ARCHITECTURE.md +26 -0
- package/dist/resources/knowledge/taxonomy/puya:src:puyapy:_typeshed:README.md +10 -0
- package/dist/resources/knowledge/taxonomy/puya:src:puyapy:_vendor:mypy:typeshed:stdlib:_typeshed:README.md +34 -0
- package/dist/resources/knowledge/taxonomy/puya:src:puyapy:awst_build:README.md +13 -0
- package/dist/resources/knowledge/taxonomy/puya:stubs:README.md +89 -0
- package/dist/resources/knowledge/taxonomy/puya:tests:test_expected_output:README.md +17 -0
- package/dist/resources/knowledge/taxonomy/puya:typescript:README.md +11 -0
- package/dist/resources/knowledge/taxonomy/puya:typescript:docs:README.md +35 -0
- package/dist/resources/knowledge/taxonomy/puya:typescript:docs:architecture-decisions:2024-05-21_primitive-bytes-and-strings.md +196 -0
- package/dist/resources/knowledge/taxonomy/puya:typescript:docs:architecture-decisions:2024-05-21_primitive-integer-types.md +179 -0
- package/dist/resources/knowledge/taxonomy/puya:typescript:packages:algo-ts:readme.md +3 -0
- package/dist/resources/knowledge/taxonomy/puya_index.md +2143 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:FAQ.md +21 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:README.md +139 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIAddressType.md +185 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIArrayDynamicType.md +230 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIArrayStaticType.md +236 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIBoolType.md +185 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIByteType.md +185 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIContract.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIInterface.md +100 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIMethod.md +185 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIStringType.md +185 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABITupleType.md +230 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIType.md +169 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIUfixedType.md +221 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:ABIUintType.md +209 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Algodv2.md +1321 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:AtomicTransactionComposer.md +385 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:DryrunResult.md +61 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Indexer.md +727 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Kmd.md +642 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:LogicSig.md +315 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:LogicSigAccount.md +276 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:SourceMap.md +151 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:Transaction.md +1133 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Account.md +557 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountParticipation.md +195 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountResponse.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountStateDelta.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AccountsResponse.md +149 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Application.md +180 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLocalState.md +195 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLocalStatesResponse.md +149 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLogData.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationLogsResponse.md +163 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationParams.md +209 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationResponse.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationStateSchema.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ApplicationsResponse.md +149 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Asset.md +183 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetBalancesResponse.md +149 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetHolding.md +196 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetHoldingsResponse.md +149 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetParams.md +334 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetResponse.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.AssetsResponse.md +149 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Block.md +390 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BlockRewards.md +199 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BlockUpgradeState.md +181 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BlockUpgradeVote.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Box.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BoxDescriptor.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.BoxesResponse.md +151 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ErrorResponse.md +134 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.EvalDelta.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.EvalDeltaKeyValue.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.HashFactory.md +122 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.HealthCheck.md +196 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.IndexerStateProofMessage.md +178 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.MerkleArrayProof.md +148 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.MiniAssetHolding.md +188 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.ParticipationUpdates.md +139 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofFields.md +211 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofParticipant.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofReveal.md +151 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofSigSlot.md +134 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofSignature.md +158 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofTracking.md +166 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateProofVerifier.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.StateSchema.md +141 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TealKeyValue.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TealValue.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.Transaction.md +629 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionApplication.md +291 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionAssetConfig.md +145 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionAssetFreeze.md +154 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionAssetTransfer.md +201 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionKeyreg.md +211 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionPayment.md +170 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionResponse.md +140 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignature.md +157 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignatureLogicsig.md +171 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignatureMultisig.md +154 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionSignatureMultisigSubsignature.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionStateProof.md +157 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:indexerModels.TransactionsResponse.md +149 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Account.md +516 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountApplicationResponse.md +158 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountAssetHolding.md +141 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountAssetResponse.md +156 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountAssetsInformationResponse.md +151 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountParticipation.md +196 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AccountStateDelta.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AppCallLogs.md +153 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Application.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationInitialStates.md +167 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationKVStorage.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationLocalReference.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationLocalState.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationParams.md +209 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationStateOperation.md +182 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ApplicationStateSchema.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Asset.md +141 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AssetHolding.md +154 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AssetHoldingReference.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AssetParams.md +334 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AvmKeyValue.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.AvmValue.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockHashResponse.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockLogsResponse.md +128 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockResponse.md +139 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BlockTxidsResponse.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Box.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BoxDescriptor.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BoxReference.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BoxesResponse.md +122 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.BuildVersion.md +180 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.CompileResponse.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DisassembleResponse.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunRequest.md +204 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunResponse.md +148 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunSource.md +163 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunState.md +176 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.DryrunTxnResult.md +253 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ErrorResponse.md +134 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.EvalDelta.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.EvalDeltaKeyValue.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.GetBlockTimeStampOffsetResponse.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.GetSyncRoundResponse.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.KvDelta.md +139 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.LedgerStateDeltaForTransactionGroup.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.LightBlockHeaderProof.md +153 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.NodeStatusResponse.md +480 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.PendingTransactionResponse.md +312 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.PendingTransactionsResponse.md +140 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.PostTransactionsResponse.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.ScratchChange.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateInitialStates.md +125 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateRequest.md +227 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateRequestTransactionGroup.md +124 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateResponse.md +197 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateTraceConfig.md +169 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateTransactionGroupResult.md +206 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateTransactionResult.md +206 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulateUnnamedResourcesAccessed.md +221 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulationEvalOverrides.md +198 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md +194 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SimulationTransactionExecTrace.md +241 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.StateProof.md +138 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.StateProofMessage.md +182 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.SupplyResponse.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TealKeyValue.md +136 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TealValue.md +152 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TransactionGroupLedgerStateDeltasForRoundResponse.md +123 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TransactionParametersResponse.md +200 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.TransactionProofResponse.md +183 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:classes:modelsv2.Version.md +158 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:ABIReferenceType.md +47 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:ABITransactionType.md +99 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:AtomicTransactionComposerStatus.md +73 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:IntDecoding.md +65 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:OnApplicationComplete.md +96 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:enums:TransactionType.md +103 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:examples:README.md +9 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIContractNetworkInfo.md +19 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIContractNetworks.md +7 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIContractParams.md +63 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIInterfaceParams.md +41 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIMethodArgParams.md +41 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIMethodParams.md +78 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIMethodReturnParams.md +30 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:ABIResult.md +90 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:Account.md +38 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:Address.md +32 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:AlgodTokenHeader.md +19 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BaseHTTPClient.md +98 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BaseHTTPClientError.md +22 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BaseHTTPClientResponse.md +41 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:BoxReference.md +36 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:CustomTokenHeader.md +7 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedAssetParams.md +153 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedBoxReference.md +34 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedGlobalStateSchema.md +34 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedLocalStateSchema.md +34 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedLogicSig.md +52 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedLogicSigAccount.md +30 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedMultisig.md +50 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedSignedTransaction.md +75 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedSubsig.md +34 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:EncodedTransaction.md +606 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:IndexerTokenHeader.md +19 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:KMDTokenHeader.md +19 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:MultisigMetadata.md +52 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:SignedTransaction.md +75 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:SuggestedParams.md +89 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:TransactionParams.md +718 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:interfaces:TransactionWithSigner.md +36 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:modules.md +2993 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:modules:indexerModels.md +69 -0
- package/dist/resources/knowledge/taxonomy/sdks:javascript:modules:modelsv2.md +79 -0
- package/dist/resources/knowledge/taxonomy/sdks:python:README.md +120 -0
- package/dist/resources/knowledge/taxonomy/sdks:python:algosdk:v2client:harness:README.md +18 -0
- package/dist/resources/knowledge/taxonomy/sdks:python:examples:README.md +11 -0
- package/dist/resources/knowledge/taxonomy/tealscript:FEATURES.md +252 -0
- package/dist/resources/knowledge/taxonomy/tealscript:README.md +54 -0
- package/dist/resources/knowledge/taxonomy/tealscript:examples_amm_README.md +3 -0
- package/dist/resources/knowledge/taxonomy/tealscript:examples_auction_README.md +3 -0
- package/dist/resources/knowledge/taxonomy/tealscript:examples_big_box_README.md +20 -0
- package/dist/resources/knowledge/taxonomy/tealscript:examples_itxns_README.md +1 -0
- package/dist/resources/knowledge/taxonomy/tealscript:examples_lsig_with_app_README.md +3 -0
- package/dist/resources/knowledge/taxonomy/tealscript:examples_reti_README.md +1 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_Supported Types_arrays.md +104 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_Supported Types_numbers.md +49 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_atomic_txn.md +22 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_features.md +256 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_getting_started.md +88 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_inner_transactions.md +43 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_lifecycle.md +88 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_math.md +54 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_methods.md +85 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_multiple_contracts.md +92 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_pyteal.md +35 -0
- package/dist/resources/knowledge/taxonomy/tealscript:guides_storage.md +110 -0
- package/dist/resources/knowledge/taxonomy/tealscript:tests_test_package_README.md +1 -0
- package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0001-intro.md +9 -0
- package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0002-init.md +50 -0
- package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0003-contract.md +98 -0
- package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0004-artifacts.md +59 -0
- package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0005-hello.md +35 -0
- package/dist/resources/knowledge/taxonomy/tealscript:tutorials_Hello World_0006-test.md +30 -0
- package/dist/resources/knowledge/taxonomy-categories/algokit-utils.json +148 -0
- package/dist/resources/knowledge/taxonomy-categories/algokit.json +105 -0
- package/dist/resources/knowledge/taxonomy-categories/arcs.json +92 -0
- package/dist/resources/knowledge/taxonomy-categories/clis.json +280 -0
- package/dist/resources/knowledge/taxonomy-categories/details.json +173 -0
- package/dist/resources/knowledge/taxonomy-categories/developers.json +71 -0
- package/dist/resources/knowledge/taxonomy-categories/liquid-auth.json +127 -0
- package/dist/resources/knowledge/taxonomy-categories/nodes.json +50 -0
- package/dist/resources/knowledge/taxonomy-categories/puya.json +76 -0
- package/dist/resources/knowledge/taxonomy-categories/python.json +104 -0
- package/dist/resources/knowledge/taxonomy-categories/sdks.json +152 -0
- package/dist/resources/knowledge/taxonomy-categories/tealscript.json +80 -0
- package/dist/tools/accountManager.d.ts +150 -0
- package/dist/tools/accountManager.js +339 -0
- package/dist/tools/algodManager.d.ts +134 -0
- package/dist/tools/algodManager.js +257 -0
- package/dist/tools/apiManager/algod/account.d.ts +10 -0
- package/dist/tools/apiManager/algod/account.js +135 -0
- package/dist/tools/apiManager/algod/application.d.ts +10 -0
- package/dist/tools/apiManager/algod/application.js +165 -0
- package/dist/tools/apiManager/algod/asset.d.ts +8 -0
- package/dist/tools/apiManager/algod/asset.js +47 -0
- package/dist/tools/apiManager/algod/index.d.ts +6 -0
- package/dist/tools/apiManager/algod/index.js +32 -0
- package/dist/tools/apiManager/algod/transaction.d.ts +14 -0
- package/dist/tools/apiManager/algod/transaction.js +216 -0
- package/dist/tools/apiManager/example/get-balance.d.ts +11 -0
- package/dist/tools/apiManager/example/get-balance.js +32 -0
- package/dist/tools/apiManager/example/index.d.ts +6 -0
- package/dist/tools/apiManager/example/index.js +18 -0
- package/dist/tools/apiManager/index.d.ts +45 -0
- package/dist/tools/apiManager/index.js +53 -0
- package/dist/tools/apiManager/indexer/account.d.ts +24 -0
- package/dist/tools/apiManager/indexer/account.js +248 -0
- package/dist/tools/apiManager/indexer/application.d.ts +24 -0
- package/dist/tools/apiManager/indexer/application.js +290 -0
- package/dist/tools/apiManager/indexer/asset.d.ts +36 -0
- package/dist/tools/apiManager/indexer/asset.js +292 -0
- package/dist/tools/apiManager/indexer/index.d.ts +6 -0
- package/dist/tools/apiManager/indexer/index.js +39 -0
- package/dist/tools/apiManager/indexer/transaction.d.ts +34 -0
- package/dist/tools/apiManager/indexer/transaction.js +276 -0
- package/dist/tools/apiManager/nfd/index.d.ts +6 -0
- package/dist/tools/apiManager/nfd/index.js +476 -0
- package/dist/tools/apiManager/tinyman/analytics.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/analytics.js +80 -0
- package/dist/tools/apiManager/tinyman/bootstrap.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/bootstrap.js +85 -0
- package/dist/tools/apiManager/tinyman/index.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/index.js +60 -0
- package/dist/tools/apiManager/tinyman/liquidity.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/liquidity.js +143 -0
- package/dist/tools/apiManager/tinyman/opt_in.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/opt_in.js +112 -0
- package/dist/tools/apiManager/tinyman/pool.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/pool.js +90 -0
- package/dist/tools/apiManager/tinyman/remove_liquidity.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/remove_liquidity.js +148 -0
- package/dist/tools/apiManager/tinyman/swap.d.ts +3 -0
- package/dist/tools/apiManager/tinyman/swap.js +147 -0
- package/dist/tools/arc26Manager.d.ts +37 -0
- package/dist/tools/arc26Manager.js +131 -0
- package/dist/tools/commonParams.d.ts +18 -0
- package/dist/tools/commonParams.js +28 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/knowledgeManager.d.ts +28 -0
- package/dist/tools/knowledgeManager.js +73 -0
- package/dist/tools/transactionManager/accountTransactions.d.ts +127 -0
- package/dist/tools/transactionManager/accountTransactions.js +177 -0
- package/dist/tools/transactionManager/appTransactions/callTxn.d.ts +17 -0
- package/dist/tools/transactionManager/appTransactions/callTxn.js +95 -0
- package/dist/tools/transactionManager/appTransactions/clearTxn.d.ts +17 -0
- package/dist/tools/transactionManager/appTransactions/clearTxn.js +95 -0
- package/dist/tools/transactionManager/appTransactions/closeOutTxn.d.ts +17 -0
- package/dist/tools/transactionManager/appTransactions/closeOutTxn.js +95 -0
- package/dist/tools/transactionManager/appTransactions/createTxn.d.ts +17 -0
- package/dist/tools/transactionManager/appTransactions/createTxn.js +128 -0
- package/dist/tools/transactionManager/appTransactions/deleteTxn.d.ts +17 -0
- package/dist/tools/transactionManager/appTransactions/deleteTxn.js +95 -0
- package/dist/tools/transactionManager/appTransactions/index.d.ts +23 -0
- package/dist/tools/transactionManager/appTransactions/index.js +56 -0
- package/dist/tools/transactionManager/appTransactions/optInTxn.d.ts +17 -0
- package/dist/tools/transactionManager/appTransactions/optInTxn.js +95 -0
- package/dist/tools/transactionManager/appTransactions/types.d.ts +525 -0
- package/dist/tools/transactionManager/appTransactions/types.js +298 -0
- package/dist/tools/transactionManager/appTransactions/updateTxn.d.ts +17 -0
- package/dist/tools/transactionManager/appTransactions/updateTxn.js +101 -0
- package/dist/tools/transactionManager/assetTransactions.d.ts +300 -0
- package/dist/tools/transactionManager/assetTransactions.js +351 -0
- package/dist/tools/transactionManager/generalTransaction.d.ts +96 -0
- package/dist/tools/transactionManager/generalTransaction.js +504 -0
- package/dist/tools/transactionManager/index.d.ts +18 -0
- package/dist/tools/transactionManager/index.js +42 -0
- package/dist/tools/utilityManager.d.ts +127 -0
- package/dist/tools/utilityManager.js +422 -0
- package/dist/tools/walletManager.d.ts +46 -0
- package/dist/tools/walletManager.js +781 -0
- package/dist/types.d.ts +123 -0
- package/dist/types.js +42 -0
- package/dist/utils/responseProcessor.d.ts +31 -0
- package/dist/utils/responseProcessor.js +152 -0
- package/package.json +58 -0
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
title: How To Build An Algorand Light Client - With State Proofs
|
|
2
|
+
|
|
3
|
+
# What is an Algorand Light Client?
|
|
4
|
+
An Algorand light client is a lightweight process that tracks the state of the Algorand network without trust in any intermediary. By cryptographically verifying a chain of proofs produced by the Algorand network itself, each light client can verify any given transaction on the network without running full node operations like consensus. Anyone can run an Algorand light client in any environment, providing a simple, secure interface to Algorand state in low power environments where running a full node is impractical or undesirable.
|
|
5
|
+
|
|
6
|
+
While State Proofs compress large amounts of Algorand state into a portable format (~600-900 KB), they are not designed to be verified inside blockchain smart contracts. The Algorand research team is currently building ultra-compact zk-SNARK proofs, which will be optimized for on-chain verification in fee-constrained environments like a blockchain smart contract. The rest of this article will focus on how to build a State Proof powered light client. We will discuss how to build a SNARK Proof powered light client as the cryptography work nears completion, although the key difference lies in the proof verification function used to advance the Light Client’s state.
|
|
7
|
+
|
|
8
|
+
Please note that Algorand light clients let you securely export Algorand state. In order to import state from another blockchain into Algorand, we’ll need to build a light client from that blockchain on Algorand. We will cover how to build other blockchain light clients on Algorand in a future article.
|
|
9
|
+
|
|
10
|
+
The cryptographic verification functions necessary to build a State Proof powered light client and to verify Algorand transactions are currently available as APIs in the go-algorand-sdk.
|
|
11
|
+
|
|
12
|
+
# Exporting Algorand State
|
|
13
|
+
State proofs use two primary Vector Commitment trees (similar to Merkle trees) to summarize blockchain activity.
|
|
14
|
+
|
|
15
|
+
1. A Transaction Commitment tree, which summarizes all transactions in a given block, is built into each block header by hashing each signed transaction in that block as tree leaves.
|
|
16
|
+
2. A Block Interval Commitment tree, which summarizes all block headers in a given state proof interval (256 rounds), is built once per interval. It is constructed with “light” block headers, which contain the block’s transaction commitment root and can be derived from the main block header, as tree leaves.
|
|
17
|
+
|
|
18
|
+
Each state proof “message” contains the root of the block interval commitment tree summarizing all transactions in that interval. After validating each state proof, a light client can store as many validated block interval commitments as it desires, creating a window of verified Algorand state. Requestors can then ask the Light Client to verify individual Algorand transactions which occurred in that interval - they simply need to provide proofs (retrieved from the Algorand SDKs) linking a specific transaction to a block interval commitment root.
|
|
19
|
+
|
|
20
|
+
<center>
|
|
21
|
+

|
|
22
|
+
</center>
|
|
23
|
+
|
|
24
|
+
Three new API endpoints to algod are available which are accessible via the Algorand SDKs to support State Proofs.
|
|
25
|
+
|
|
26
|
+
## GetTransactionProof(txnId, confirmedRound, hashType)
|
|
27
|
+
GetTransactionProof returns data that is used to verify that a specific transaction exists in a given transaction commitment tree. This function accepts a transaction ID, the round the transaction was confirmed in, and the hash function used to construct the commitment tree. This method will return a proof, the leaf index of the transaction, the depth of the tree, and the hash of the signed transaction that is being checked. These pieces of information should be all that a Light Client will need to verify a transaction is in the Transaction Commitment tree. Note that both the block interval commitment (inside the State Proof message) and the transaction commitment (inside the light block header) are constructed using SHA256, so you should use this hashType when verifying Algorand transactions on a Light Client.
|
|
28
|
+
|
|
29
|
+
## GetLightBlockHeaderProof(round)
|
|
30
|
+
GetLightBlockHeaderProof returns data that is used to verify that a specific Light Block Header exists in the Block Interval tree. This call takes a round number as a parameter and returns a proof, the leaf index of the light block header, and the tree depth of the block interval tree. These pieces of information should be all that a Light Client needs to verify a Light Block Header exists in a Block Interval Tree. If the State Proof transaction has not been written to the ledger for a specific interval and this method is called for a round in that interval, the call will fail.
|
|
31
|
+
|
|
32
|
+
## GetStateProof(round)
|
|
33
|
+
GetStateProof is used to retrieve a State Proof for the interval that contains a specific round, which is passed as a parameter. The State Proof contains the signatures of the attested State Proof message and the actual message which contains the Block Interval Commitment root for the given round. Note that it is possible that this call will return an error if the chosen round does not have a specific State Proof written on chain yet. This call will be used by Light Clients to track the state of the Algorand Chain, which is described in the next section.
|
|
34
|
+
|
|
35
|
+
# Light Client PoC Overview
|
|
36
|
+
Algorand Light Clients should be built to answer one question: did a specific transaction occur on Algorand’s blockchain at a specified round. To accomplish this, each Light Client will verify State Proofs (or zk-SNARK proofs) in order to store block interval commitments. These verified commitments can be used to validate block interval roots re-computed by the transaction verifier via the proofs returned from the algod API.
|
|
37
|
+
|
|
38
|
+
The Light Client should have 2 interfaces: one to advance Algorand state by verifying incoming State Proofs, and another to verify specific Algorand transactions against previously-verified block interval commitments. Because State Proofs are not polled by the Light Client itself, external relayers should retrieve State Proofs and their associated messages from the Algorand SDKs as they become available and push them to the Light Client for verification. Similar to the State Proof chain, each Light Client forms a chain by verifying incoming State Proofs against a previously-verified participants’ commitment. Similar to how Proof of Stake blockchains are initialized, the Light Client will need to hard-code the initial participants commitment in order to verify the first State Proof written on-chain.
|
|
39
|
+
|
|
40
|
+
<center>
|
|
41
|
+

|
|
42
|
+
</center>
|
|
43
|
+
|
|
44
|
+
Algorand provides a proof of concept version of a light client which is located on [GitHub](https://github.com/algorand/light-client-poc). Please note that this PoC code is purely informational and does not reflect the ideal way to implement a Light Client. Each section of the Light Client proof of concept will be explained below.
|
|
45
|
+
|
|
46
|
+
## Oracle
|
|
47
|
+
|
|
48
|
+
```go
|
|
49
|
+
// Oracle is responsible for ingesting State Proofs in chronological order and saving their block interval commitments
|
|
50
|
+
// to form a window of verified Algorand history.
|
|
51
|
+
// It then allows, given a round, to retrieve the vector commitment root attesting to the interval to which the round
|
|
52
|
+
// belongs.
|
|
53
|
+
type Oracle struct {
|
|
54
|
+
// BlockIntervalCommitmentHistory is a sliding window of verified block interval commitments. Given a round,
|
|
55
|
+
// it returns the block interval commitment that contains the specified block.
|
|
56
|
+
BlockIntervalCommitmentHistory *CommitmentHistory
|
|
57
|
+
// VotersCommitment is the vector commitment root of the top N accounts to sign the next StateProof.
|
|
58
|
+
VotersCommitment stateproofcrypto.GenericDigest
|
|
59
|
+
// LnProvenWeight is an integer value representing the natural log of the proven weight with 16 bits of precision.
|
|
60
|
+
// This value would be used to verify the next state proof.
|
|
61
|
+
LnProvenWeight uint64
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The Oracle exposes the following functions:
|
|
67
|
+
|
|
68
|
+
### InitializeOracle
|
|
69
|
+
|
|
70
|
+
```go
|
|
71
|
+
|
|
72
|
+
// InitializeOracle initializes the Oracle using trusted genesis data.
|
|
73
|
+
// Parameters:
|
|
74
|
+
// firstAttestedRound - the first round to which a state proof message attests.
|
|
75
|
+
// intervalSize - represents the number of rounds that occur between each state proof.
|
|
76
|
+
// genesisVotersCommitment - the initial genesisVotersCommitment commitment. Real values can be found in the Algorand developer portal.
|
|
77
|
+
// genesisLnProvenWeight - the initial LnProvenWeight. Real values can be found in the Algorand developer portal.
|
|
78
|
+
// capacity - the maximum number of commitments to hold before discarding the earliest commitment.
|
|
79
|
+
func InitializeOracle(firstAttestedRound uint64, intervalSize uint64, genesisVotersCommitment stateproofcrypto.GenericDigest,
|
|
80
|
+
genesisLnProvenWeight uint64, capacity uint64) *Oracle {
|
|
81
|
+
return &Oracle{
|
|
82
|
+
// The BlockIntervalCommitmentHistory is initialized using the first attested round,
|
|
83
|
+
// the interval size and its capacity.
|
|
84
|
+
BlockIntervalCommitmentHistory: InitializeCommitmentHistory(firstAttestedRound, intervalSize, capacity),
|
|
85
|
+
VotersCommitment: genesisVotersCommitment,
|
|
86
|
+
LnProvenWeight: genesisLnProvenWeight,
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### AdvanceState
|
|
93
|
+
|
|
94
|
+
```go
|
|
95
|
+
// AdvanceState receives a msgpacked state proof, provided by the Algorand node API, and a state proof message that the
|
|
96
|
+
// state proof attests to. It verifies the message using the proof given and the VotersCommitment and LnProvenWeight
|
|
97
|
+
// from the previous state proof message.
|
|
98
|
+
// If successful, it updates the Oracle's VotersCommitment and LnProvenWeight using their values from the new message,
|
|
99
|
+
// and saves the block header commitment to the history.
|
|
100
|
+
// This method should be called by a relay or some external process that is initiated when new Algorand state proofs are available.
|
|
101
|
+
// Parameters:
|
|
102
|
+
// stateProof - the decoded state proof, retrieved using the Algorand SDK.
|
|
103
|
+
// message - the message to which the state proof attests.
|
|
104
|
+
func (o *Oracle) AdvanceState(stateProof *stateproof.StateProof, message types.Message) error {
|
|
105
|
+
// verifier is Algorand's implementation of the state proof verifier, exposed by the state proof verification library.
|
|
106
|
+
// It uses the previous proven VotersCommitment and LnProvenWeight.
|
|
107
|
+
verifier := stateproof.MkVerifierWithLnProvenWeight(o.VotersCommitment, o.LnProvenWeight)
|
|
108
|
+
|
|
109
|
+
// We hash the state proof message using the Algorand SDK. The resulting hash is of the form
|
|
110
|
+
// sha256("spm" || msgpack(stateProofMessage)).
|
|
111
|
+
messageHash := stateproofcrypto.MessageHash(crypto.HashStateProofMessage(&message))
|
|
112
|
+
|
|
113
|
+
// The newly formed verifier verifies the given message using the state proof.
|
|
114
|
+
err := verifier.Verify(message.LastAttestedRound, messageHash, stateProof)
|
|
115
|
+
if err != nil {
|
|
116
|
+
// If the verification failed, for whatever reason, we return the error returned.
|
|
117
|
+
return err
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Successful verification of the message means we can trust it, so we save the VotersCommitment
|
|
121
|
+
// and the LnProvenWeight in the message, for verification of the next message.
|
|
122
|
+
o.VotersCommitment = message.VotersCommitment
|
|
123
|
+
o.LnProvenWeight = message.LnProvenWeight
|
|
124
|
+
|
|
125
|
+
var commitmentDigest types.Digest
|
|
126
|
+
copy(commitmentDigest[:], message.BlockHeadersCommitment)
|
|
127
|
+
// We insert the BlockHeadersCommitment found in the message to our commitment history sliding window.
|
|
128
|
+
// A side effect of this, if this commitment were to push our window over its capacity, would be deletion
|
|
129
|
+
// of the earliest commitment.
|
|
130
|
+
o.BlockIntervalCommitmentHistory.InsertCommitment(commitmentDigest)
|
|
131
|
+
|
|
132
|
+
return nil
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### GetStateProofCommitment
|
|
137
|
+
|
|
138
|
+
```go
|
|
139
|
+
// GetStateProofCommitment retrieves a saved commitment for a specific round.
|
|
140
|
+
// Parameters:
|
|
141
|
+
// round - the round to which a commitment will be retrieved.
|
|
142
|
+
func (o *Oracle) GetStateProofCommitment(round types.Round) (types.Digest, error) {
|
|
143
|
+
// Receiving a commitment that should cover a round requires calculating the round's interval and retrieving the commitment
|
|
144
|
+
// for that interval. See BlockIntervalCommitmentHistory.GetCommitment for more details.
|
|
145
|
+
return o.BlockIntervalCommitmentHistory.GetCommitment(round)
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Transaction Verifier
|
|
150
|
+
The transaction verifier exposes the following interface:
|
|
151
|
+
|
|
152
|
+
### VerifyTransaction
|
|
153
|
+
|
|
154
|
+
```go
|
|
155
|
+
|
|
156
|
+
// VerifyTransaction receives a sha256 hashed transaction, a proof to compute the transaction's commitment, a proof
|
|
157
|
+
// to compute the commitment belonging to the light block header associated with the transaction's commitment,
|
|
158
|
+
// and an expected commitment to compare to. The function verifies that the computed commitment using the given proofs
|
|
159
|
+
// is identical to the provided commitment.
|
|
160
|
+
// Parameters:
|
|
161
|
+
// transactionHash - the result of invoking Sha256 on the canonical msgpack encoded transaction.
|
|
162
|
+
// transactionProofResponse - the response returned by an Algorand node when queried using GetTransactionProof.
|
|
163
|
+
// lightBlockHeaderProofResponse - the response returned by an Algorand node when queried using the GetLightBlockHeaderProof.
|
|
164
|
+
// confirmedRound - the round in which the given transaction was confirmed.
|
|
165
|
+
// genesisHash - the hash of the genesis block.
|
|
166
|
+
// seed - the sortition seed of the block associated with the light block header.
|
|
167
|
+
// blockIntervalCommitment - the commitment to compare to, provided by the Oracle.
|
|
168
|
+
func VerifyTransaction(transactionHash types.Digest, transactionProofResponse models.TransactionProofResponse,
|
|
169
|
+
lightBlockHeaderProofResponse models.LightBlockHeaderProof, confirmedRound types.Round, genesisHash types.Digest, seed types.Seed, blockIntervalCommitment types.Digest) error {
|
|
170
|
+
// Verifying attested vector commitment roots is currently exclusively supported with sha256 hashing, both for transactions
|
|
171
|
+
// and light block headers.
|
|
172
|
+
if transactionProofResponse.Hashtype != "sha256" {
|
|
173
|
+
return ErrUnsupportedHashFunction
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
var stibHashDigest types.Digest
|
|
177
|
+
copy(stibHashDigest[:], transactionProofResponse.Stibhash[:])
|
|
178
|
+
|
|
179
|
+
// We first compute the leaf in the vector commitment that attests to the given transaction.
|
|
180
|
+
transactionLeaf := computeTransactionLeaf(transactionHash, stibHashDigest)
|
|
181
|
+
// We use the transactionLeaf and the given transactionProofResponse to compute the root of the vector commitment
|
|
182
|
+
// that attests to the given transaction.
|
|
183
|
+
transactionProofRoot, err := computeVectorCommitmentRoot(transactionLeaf, transactionProofResponse.Idx,
|
|
184
|
+
transactionProofResponse.Proof, transactionProofResponse.Treedepth)
|
|
185
|
+
|
|
186
|
+
if err != nil {
|
|
187
|
+
return err
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// We use our computed transaction vector commitment root, saved in transactionProofRoot, and the given data
|
|
191
|
+
// to calculate the leaf in the vector commitment that attests to the light block headers.
|
|
192
|
+
candidateLightBlockHeaderLeaf := computeLightBlockHeaderLeaf(confirmedRound, transactionProofRoot, genesisHash, seed)
|
|
193
|
+
// We use the candidateLightBlockHeaderLeaf and the given lightBlockHeaderProofResponse to compute the root of the vector
|
|
194
|
+
// commitment that attests to the candidateLightBlockHeaderLeaf.
|
|
195
|
+
lightBlockHeaderProofRoot, err := computeVectorCommitmentRoot(candidateLightBlockHeaderLeaf, lightBlockHeaderProofResponse.Index, lightBlockHeaderProofResponse.Proof,
|
|
196
|
+
lightBlockHeaderProofResponse.Treedepth)
|
|
197
|
+
|
|
198
|
+
if err != nil {
|
|
199
|
+
return err
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// We verify that the given commitment, provided by the Oracle, is identical to the computed commitment
|
|
203
|
+
if bytes.Equal(lightBlockHeaderProofRoot[:], blockIntervalCommitment[:]) != true {
|
|
204
|
+
return ErrRootMismatch
|
|
205
|
+
}
|
|
206
|
+
return nil
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Transaction verification uses several utility functions. In depth understanding of the following functions is required:
|
|
211
|
+
|
|
212
|
+
### computeVectorCommitmentRoot
|
|
213
|
+
|
|
214
|
+
```go
|
|
215
|
+
// computeVectorCommitmentRoot takes a vector commitment leaf, its index, a proof, and a tree depth. it calculates
|
|
216
|
+
// the vector commitment root using the provided data. This is done by computing internal nodes using the proof,
|
|
217
|
+
// starting from the leaf, until we reach the root. This function uses sha256 - it cannot be used correctly with leaves
|
|
218
|
+
// and proofs created using a different hash function.
|
|
219
|
+
// Parameters:
|
|
220
|
+
// leaf - the node we start computing the vector commitment root from.
|
|
221
|
+
// leafIndex - the leaf's index.
|
|
222
|
+
// proof - the proof to use in computing the vector commitment root. It holds hashed sibling nodes for each internal node
|
|
223
|
+
// calculated.
|
|
224
|
+
// treeDepth - the length of the path from the leaf to the root.
|
|
225
|
+
func computeVectorCommitmentRoot(leaf types.Digest, leafIndex uint64, proof []byte, treeDepth uint64) (types.Digest, error) {
|
|
226
|
+
// An empty proof is only possible when the leaf received is already the root, which means that the treeDepth
|
|
227
|
+
// must be 0. In this case, the result is the leaf itself.
|
|
228
|
+
if len(proof) == 0 && treeDepth == 0 {
|
|
229
|
+
return leaf, nil
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
nodeHashSize := uint64(sha256.New().Size())
|
|
233
|
+
// The proof must hold exactly treeDepth node hashes to allow us to compute enough nodes to reach the root.
|
|
234
|
+
if treeDepth*nodeHashSize != uint64(len(proof)) {
|
|
235
|
+
return types.Digest{}, ErrProofLengthTreeDepthMismatch
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// See comments on getVectorCommitmentPositions for more details on the contents of the positions variable.
|
|
239
|
+
positions, err := getVectorCommitmentPositions(leafIndex, treeDepth)
|
|
240
|
+
if err != nil {
|
|
241
|
+
return types.Digest{}, err
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// We start climbing from the leaf.
|
|
245
|
+
currentNode := leaf
|
|
246
|
+
// When distanceFromLeaf equals treeDepth, currentNode will contain the computed root.
|
|
247
|
+
for distanceFromLeaf := uint64(0); distanceFromLeaf < treeDepth; distanceFromLeaf++ {
|
|
248
|
+
siblingIndexInProof := distanceFromLeaf * nodeHashSize
|
|
249
|
+
// siblingHash is the next node to append to our current node, retrieved from the proof.
|
|
250
|
+
siblingHash := proof[siblingIndexInProof : siblingIndexInProof+nodeHashSize]
|
|
251
|
+
|
|
252
|
+
// Vector commitment nodes are of the form Sha256("MA" || left child || right child). To calculate the internal node,
|
|
253
|
+
// we have to use the positions array to determine if our current node is the left or right child.
|
|
254
|
+
// Positions[distanceFromLeaf] is the position of the current node at height distanceFromLeaf.
|
|
255
|
+
nodeDomainSeparator := []byte(transactionverificationtypes.MerkleArrayNode)
|
|
256
|
+
internalNodeData := nodeDomainSeparator
|
|
257
|
+
switch positions[distanceFromLeaf] {
|
|
258
|
+
case leftChild:
|
|
259
|
+
internalNodeData = append(internalNodeData, currentNode[:]...)
|
|
260
|
+
internalNodeData = append(internalNodeData, siblingHash[:]...)
|
|
261
|
+
case rightChild:
|
|
262
|
+
internalNodeData = append(internalNodeData, siblingHash[:]...)
|
|
263
|
+
internalNodeData = append(internalNodeData, currentNode[:]...)
|
|
264
|
+
default:
|
|
265
|
+
return types.Digest{}, ErrInvalidPosition
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
currentNode = sha256.Sum256(internalNodeData)
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
return currentNode, nil
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### getVectorCommitmentPositions
|
|
276
|
+
|
|
277
|
+
```go
|
|
278
|
+
|
|
279
|
+
// getVectorCommitmentPositions maps a depth and a vector commitment index to the "positions" of the nodes
|
|
280
|
+
// on the leaf-to-root path, with 0/1 denoting left/right (respectively). It does so by expressing the index in binary
|
|
281
|
+
// using exactly depth bits, starting from the most-significant bit.
|
|
282
|
+
// For example, leafDepth=4 and index=5 maps to the array [0,1,0,1] -- indicating that the leaf is a left child,
|
|
283
|
+
// the leaf's parent is a right child, etc.
|
|
284
|
+
// Parameters:
|
|
285
|
+
// index - the leaf's index in the vector commitment tree.
|
|
286
|
+
// depth - the length of the path from the leaf to the root.
|
|
287
|
+
func getVectorCommitmentPositions(index uint64, depth uint64) ([]NodePosition, error) {
|
|
288
|
+
// A depth of 0 is only valid when the proof's length is also 0. Since the calling function checks for the situation
|
|
289
|
+
// where both values are 0, depth of 0 must be invalid.
|
|
290
|
+
if depth == 0 {
|
|
291
|
+
return []NodePosition{}, ErrInvalidTreeDepth
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// Since each bit of the index is mapped to an element in the resulting positions array,
|
|
295
|
+
// the index must contain a number of bits amounting to the depth parameter, which means it must be smaller than 2 ^ depth.
|
|
296
|
+
if index >= 1<<depth {
|
|
297
|
+
return []NodePosition{}, ErrIndexDepthMismatch
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// The resulting array should contain a number of positions equal to the depth of the tree -
|
|
301
|
+
// the length of the path between the root and the leaves - as that is the amounts of nodes traversed when calculating
|
|
302
|
+
// the vector commitment root.
|
|
303
|
+
directions := make([]NodePosition, depth)
|
|
304
|
+
|
|
305
|
+
// We iterate on the resulting array starting from the end, to allow us to extract LSBs, yet have the eventual result
|
|
306
|
+
// be equivalent to extracting MSBs.
|
|
307
|
+
for i := len(directions) - 1; i >= 0; i-- {
|
|
308
|
+
// We take index's current LSB, translate it to a node position and place it in index i.
|
|
309
|
+
directions[i] = NodePosition(index & 1)
|
|
310
|
+
// We shift the index to the right, to prepare for the extracting of the next LSB.
|
|
311
|
+
index >>= 1
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
return directions, nil
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
## Main
|
|
319
|
+
Tying it all together
|
|
320
|
+
|
|
321
|
+
```go
|
|
322
|
+
// A light client is composed of two modules:
|
|
323
|
+
// 1. An oracle, in charge of maintaining Algorand's state as verified with state proofs. For more details, see oracle.go.
|
|
324
|
+
// 2. A transaction verifier, in charge of verifying Algorand transaction occurrence by interfacing with the oracle. For more
|
|
325
|
+
// details, see transactionVerifier.go.
|
|
326
|
+
// This main function aims to demonstrate the interface between these two modules. In an actual
|
|
327
|
+
// light client, they can be entirely separate processes/smart contracts.
|
|
328
|
+
// The oracle should receive Algorand data from an off chain relayer, and the transaction verifier should receive
|
|
329
|
+
// transaction occurrence queries from third parties. For the purposes of this PoC, they're two separate go packages, and
|
|
330
|
+
// both the relayer and other third parties have been replaced with example committed data.
|
|
331
|
+
func main() {
|
|
332
|
+
// This is the genesis data, required for initializing the oracle. This data can either be queried from the
|
|
333
|
+
// blockchain itself, or found in the developer's portal.
|
|
334
|
+
genesisVotersCommitment, genesisVotersLnProvenWeight, err := encodedassets.GetParsedGenesisData("encodedassets/genesis/")
|
|
335
|
+
if err != nil {
|
|
336
|
+
fmt.Printf("Failed to parse genesis assets: %s\n", err)
|
|
337
|
+
return
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// This is data required for verifying a transaction. In a real light client, this data should come from a
|
|
341
|
+
// third party. The third party is responsible for querying Algorand to get most of this data.
|
|
342
|
+
genesisHash, round, seed, transactionHash, transactionProofResponse, lightBlockHeaderProofResponse, err :=
|
|
343
|
+
encodedassets.GetParsedTransactionVerificationData("encodedassets/transactionverification/")
|
|
344
|
+
if err != nil {
|
|
345
|
+
fmt.Printf("Failed to parse assets needed for transaction verification: %s\n", err)
|
|
346
|
+
return
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
// This is data required for advancing the oracle's state. In a real light client, this data should come from a relayer.
|
|
350
|
+
stateProofMessage, stateProof, err :=
|
|
351
|
+
encodedassets.GetParsedStateProofAdvancmentData("encodedassets/stateproofverification/")
|
|
352
|
+
if err != nil {
|
|
353
|
+
fmt.Printf("Failed to parse assets needed for oracle state advancement: %s\n", err)
|
|
354
|
+
return
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
// In a real light client, intervalSize and firstAttestedRound should be hardcoded, and retrieved from the Algorand
|
|
358
|
+
// consensus and from the Algorand blockchain respectively.
|
|
359
|
+
intervalSize := uint64(8)
|
|
360
|
+
firstAttestedRound := uint64(9)
|
|
361
|
+
|
|
362
|
+
// We initialize the oracle using the parsed genesis data and a hard coded capacity.
|
|
363
|
+
oracleInstance := oracle.InitializeOracle(firstAttestedRound, intervalSize, genesisVotersCommitment, genesisVotersLnProvenWeight, 1000)
|
|
364
|
+
|
|
365
|
+
// We advance the oracle's state using the state proof and the state proof message. The oracle verifies the message
|
|
366
|
+
// using the state proof. See the documentation in oracle.go for more details.
|
|
367
|
+
err = oracleInstance.AdvanceState(stateProof, stateProofMessage)
|
|
368
|
+
if err != nil {
|
|
369
|
+
fmt.Printf("Failed to advance oracle state: %s\n", err)
|
|
370
|
+
return
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
// After advancing the oracle's state, we retrieve the block interval commitment containing the given transaction's round from the oracle.
|
|
374
|
+
desiredTransactionCommitment, err := oracleInstance.GetStateProofCommitment(round)
|
|
375
|
+
if err != nil {
|
|
376
|
+
fmt.Printf("Failed to retrieve commitment interval for round %d: %s\n", round, err)
|
|
377
|
+
return
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// We then verify the transaction's occurrence using the data provided for transaction verification,
|
|
381
|
+
// along with the block interval commitment this transaction belongs to.
|
|
382
|
+
err = transactionverifier.VerifyTransaction(transactionHash, transactionProofResponse,
|
|
383
|
+
lightBlockHeaderProofResponse, round, genesisHash, seed, desiredTransactionCommitment)
|
|
384
|
+
|
|
385
|
+
if err != nil {
|
|
386
|
+
fmt.Printf("Transaction verification failed: %s\n", err)
|
|
387
|
+
return
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
```
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
title: Technical FAQ
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# Protocol Limits
|
|
5
|
+
|
|
6
|
+
How many transactions can be in an atomic group?
|
|
7
|
+
How large can my approval program be?
|
|
8
|
+
How many arguments can I pass?
|
|
9
|
+
What is the Minimum Balance Requirement increase for an asset opt-in?
|
|
10
|
+
|
|
11
|
+
The limits applied at the protocol level are documented [here](/docs/get-details/parameter_tables).
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# Address Encoding/Decoding
|
|
15
|
+
|
|
16
|
+
An address comes in 2 forms:
|
|
17
|
+
1) encoded, 58 characters long, looks something like `7K5TT4US7M3FM7L3XBJXSXLJGF2WCXPBV2YZJJO2FH46VCZOS3ICJ7E4QU`
|
|
18
|
+
2) decoded, 32 byte, looks something like `0xfabb39f292fb36567d7bb853795d693175615de1aeb194a5da29f9ea8b2e96d0` as hexadecimal
|
|
19
|
+
|
|
20
|
+
You can translate from one to the other by using the SDK supplied methods.
|
|
21
|
+
|
|
22
|
+
For example, in python `encoding.encode_address` will convert the 32 byte version to the encoded 58 character long version and `encoding.decode_address` will perform the opposite translation.
|
|
23
|
+
|
|
24
|
+
All SDKs have a similarly named method.
|
|
25
|
+
|
|
26
|
+
!! Note that smart contracts operate _only_ on the 32 byte version, so any interaction where an address is used should be translated prior to passing it to the smart contract. This is handled for you automatically in some cases (e.g. sender on a transaction)
|
|
27
|
+
|
|
28
|
+
[Address Details](/docs/get-details/accounts/#keys-and-addresses)
|
|
29
|
+
[Encoding Details](/docs/get-details/encoding/#address-encoding)
|
|
30
|
+
|
|
31
|
+
# Application State Encoding/Decoding
|
|
32
|
+
|
|
33
|
+
When calling the API for global or local state, the result returned is in the form of an array of state values. Each entry in the array represents a key/value pair in global or local state. To decode the key or bytes value, just base64 decode the string into bytes, then encode the bytes in whatever format is required.
|
|
34
|
+
|
|
35
|
+
*examples*:
|
|
36
|
+
|
|
37
|
+
- for a simple string, just encode it as `ascii` or `utf-8`
|
|
38
|
+
- for an address call `encode_address` or similar depending on SDK
|
|
39
|
+
- for an ABI tuple like `(address,uint64,bool)` use `ABIType.from_string("(address,uint64,bool)").decode(value_bytes)`
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
interface StateValue {
|
|
44
|
+
// The base64 encoded key for this state value
|
|
45
|
+
key: string;
|
|
46
|
+
// The value as a sort of union type
|
|
47
|
+
value: {
|
|
48
|
+
// if set, the base64 encoded bytes for the state value
|
|
49
|
+
bytes: string;
|
|
50
|
+
// if set, the number stored in state
|
|
51
|
+
uint: number;
|
|
52
|
+
// 1 for bytes, 2 for uint
|
|
53
|
+
type?: number;
|
|
54
|
+
// Only set in the eval deltas, describes delete/set
|
|
55
|
+
action?: number;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
# Deciphering Algod Errors
|
|
62
|
+
|
|
63
|
+
A 400 error typically occurs because there was some issue with the transactions. The exact reason will depend on the circumstances, but the error message will contain more information.
|
|
64
|
+
|
|
65
|
+
Common reasons include:
|
|
66
|
+
|
|
67
|
+
- `transaction already in ledger: ...`
|
|
68
|
+
|
|
69
|
+
This happens when resending a transaction that has already been approved or accepted into a transaction pool. To make the transaction unique, add a nonce to the note field or change the valid rounds. To check if the transaction is in the pool use `/v2/transactions/pending/{txid}` REST API endpoint.
|
|
70
|
+
|
|
71
|
+
- `underflow on subtracting SEND_AMOUNT from sender amount AVAILABLE_AMOUNT`, `account ADDRESS balance 0 below min XXX (N assets)`
|
|
72
|
+
|
|
73
|
+
All of these happen when some account does not have enough Algos to cover the transaction (taking into account their minimum balance requirement and any other transaction in the same group). Fund the account if necessary or cover the fees from its transactions with another transaction in the group.
|
|
74
|
+
|
|
75
|
+
- `receiver error: must optin, asset ASSET_ID missing from ACCOUNT_ADDR`
|
|
76
|
+
|
|
77
|
+
This happens when the intended receiver of some asset hasn't opted in.
|
|
78
|
+
|
|
79
|
+
- `should have been authorized by ADDR1 but was actually authorized by ADDR2`
|
|
80
|
+
|
|
81
|
+
This happens when the wrong signer is used to sign a transaction.
|
|
82
|
+
|
|
83
|
+
- `TransactionPool.Remember: txn dead: round XXXXXXXX outside of XXXXXXXX--XXXXXXXX`
|
|
84
|
+
|
|
85
|
+
This happens when trying to submit a transaction outside its validity window, transactions may only have up to 1000 rounds between first/last valid round and the current round must be somewhere between first/last valid.
|
|
86
|
+
|
|
87
|
+
- `fee N below threshold M`
|
|
88
|
+
|
|
89
|
+
This happens when the fee attached to a transaction (or transaction group) is not sufficient to cover the fees for the transaction.
|
|
90
|
+
|
|
91
|
+
- `only clearing out is supported for applications that have been deleted`
|
|
92
|
+
|
|
93
|
+
This happens when an attempt is made to call an application that no longer exists
|
|
94
|
+
|
|
95
|
+
- `this transaction should be issued by the manager. It is issued by ADDR`
|
|
96
|
+
|
|
97
|
+
This happens when trying to issue an asset config transaction by an account that is _not_ the manager account for the asset
|
|
98
|
+
|
|
99
|
+
- `cannot close asset ID in allocating account`
|
|
100
|
+
|
|
101
|
+
This happens when the creator of an asset tries to close out of the asset.
|
|
102
|
+
|
|
103
|
+
- `check failed on ApprovalProgram: program version N greater than protocol supported version M`
|
|
104
|
+
|
|
105
|
+
This happens when trying to create an application with a version that is not yet supported by the protocol.
|
|
106
|
+
If this happens on your local sandbox, set the protocol version to `future` to get access to the latest changes.
|
|
107
|
+
|
|
108
|
+
- `cannot clear state: ADDR is not currently opted in to app N`
|
|
109
|
+
|
|
110
|
+
This happens when an account that is not opted in to an application tries to opt out or clear state for that app.
|
|
111
|
+
|
|
112
|
+
- `invalid : program version mismatch: N != M`
|
|
113
|
+
|
|
114
|
+
This happens when you attempt to deploy or update a programs approval and clear state code with two different versions. Check that they both have the same version number.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
# Deciphering Logic errors
|
|
118
|
+
|
|
119
|
+
How can I debug this logic error?
|
|
120
|
+
|
|
121
|
+
Generally Logic errors can be debugged using [Dryrun, Tealdbg, or Simulate](/docs/get-details/dapps/smart-contracts/debugging).
|
|
122
|
+
|
|
123
|
+
For some common errors, find an explanation below:
|
|
124
|
+
|
|
125
|
+
- `logic eval error: invalid {Asset|App|Account|Box} reference`
|
|
126
|
+
|
|
127
|
+
This happens when the reference is not passed in the app call transactions in the appropriate reference field. By passing a reference in the transaction, the node is able to quickly load the reference into memory and have it available for the AVM runtime to consult quickly. See [Box Storage Limitations](#box-storage) for additional information.
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
- `logic eval error: assert failed pc=XXX`
|
|
131
|
+
|
|
132
|
+
An `assert` was invoked on something that evaluated to 0. The `pc` will provide a pointer to where in the program the `assert` failed. To find where in the TEAL source program this corresponds to, compile the source TEAL with [`source_map`](/docs/rest-apis/algod#post-v2tealcompile) enabled and use the result to find the line in the source program.
|
|
133
|
+
|
|
134
|
+
- `logic eval error: program logs too large.`
|
|
135
|
+
|
|
136
|
+
At most, 1k may be logged and the `log` op may be called at most 32 times in a single app call.
|
|
137
|
+
|
|
138
|
+
- `logic eval error: write budget (N) exceeded`, `logic eval error: box read budget (N) exceeded`
|
|
139
|
+
|
|
140
|
+
Every box reference passed allots another 1k to the read/write budget for the app call. By passing more box refs a larger IO budget is available. The budget is shared across app calls within the same group so a 32k box can be read/written to as long as 32 box references are passed (8 per txn, 4 txns). See [Box Storage Limitations](#box-storage) for additional information.
|
|
141
|
+
|
|
142
|
+
- `logic eval error: store TYPE count N exceeds schema TYPE count M`
|
|
143
|
+
|
|
144
|
+
Schema needs to be large enough to allow storage requirements. Since the schema immutable after creation, a new application must be created if more storage is required. See [Global/Local Storage Limitations](#globallocal-storage) for additional information.
|
|
145
|
+
|
|
146
|
+
- `logic eval error: err opcode executed.`
|
|
147
|
+
|
|
148
|
+
Typically, this is the result of the internal routing of the app finding that there are no matching routes for some conditional block. This often happens when something like the ABI method selector passed is not present in the application.
|
|
149
|
+
|
|
150
|
+
- `logic eval error: overspend`
|
|
151
|
+
|
|
152
|
+
The account listed in the error did not have enough Algos to cover the transactions and fees of the transaction.
|
|
153
|
+
|
|
154
|
+
- `logic eval error: * overflowed.`
|
|
155
|
+
|
|
156
|
+
The math operation would have returned a value > max uint64 (2^64 - 1). A solution is to use wide math opcodes to perform the arithmetic or byte math ops like `b*`.
|
|
157
|
+
|
|
158
|
+
- `logic eval error: - would result negative.`
|
|
159
|
+
|
|
160
|
+
The math operation would have returned a negative value (< 0). Consider checking the values before using them within the operation.
|
|
161
|
+
|
|
162
|
+
- `logic eval error: invalid ApplicationArgs index 0.`
|
|
163
|
+
|
|
164
|
+
An attempt was made by the contract to access an Application Arguments array element that was not set. Check that the correct Application Arguments are passed and that the flow of the program does not accidentally reference an invalid index.
|
|
165
|
+
|
|
166
|
+
# Environment Setup
|
|
167
|
+
|
|
168
|
+
How do I setup the Algod to connect to sandbox?
|
|
169
|
+
|
|
170
|
+
Instructions for [Algokit](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/algokit.md)
|
|
171
|
+
|
|
172
|
+
Or
|
|
173
|
+
|
|
174
|
+
Instructions for [Sandbox](https://github.com/algorand/sandbox/README.md)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
# API Providers
|
|
178
|
+
|
|
179
|
+
Which API should I use?
|
|
180
|
+
|
|
181
|
+
Below is a list of API providers that can be used to query Algod or Indexer data.
|
|
182
|
+
|
|
183
|
+
- [AlgoNode](https://algonode.io/api/) (algod and indexer available, free tier available)
|
|
184
|
+
- [Blockdaemon](https://www.blockdaemon.com/protocols/algorand) (algod only)
|
|
185
|
+
- [GetBlock.io](https://getblock.io/nodes/algo/) (algod only, free tier available)
|
|
186
|
+
|
|
187
|
+
Or find others [here](https://developer.algorand.org/ecosystem-projects/?tags=api-services)
|
|
188
|
+
|
|
189
|
+
# Smart Contract Storage Limitations
|
|
190
|
+
|
|
191
|
+
When storing data on-chain you must give consideration to the different limitations between state and box storage. Be aware the note field is not an option, as that's transactional data and is not stored directly to the ledger, nor is it accessible to other application calls outside the initial transaction group.
|
|
192
|
+
|
|
193
|
+
## Global/Local Storage
|
|
194
|
+
|
|
195
|
+
[Global](/docs/get-details/dapps/smart-contracts/apps/state/#global-storage) and [Local](/docs/get-details/dapps/smart-contracts/apps/state/#local-storage) state storage can store key-value pairs up to a maximum size of 128 bytes, inclusive of the key length. For example if the key is 8 bytes, then a maximum of 120 bytes can be stored in the value. Since each key must be unique, only a single 0 byte length key can be used to store a 128 byte value. Storing larger values requires the data to be split up and stored in multiple key-value pairs within state storage.
|
|
196
|
+
|
|
197
|
+
## Box Storage
|
|
198
|
+
|
|
199
|
+
[Box storage](/docs/get-details/dapps/smart-contracts/apps/state/#box-storage) is ideal for storing larger dynamically sized data. Since the minimum balance requirement is proportional to the amount of data you allocate to the box, it's generally more cost efficient, allowing you to allocate exactly the amount you need. Keys must again be unique per application, much like state storage, however the key is not included as part of the box size and instead must be between 1 to 64 bytes. The exact size of the box value can be up to 32KB (32768 bytes), however anything over 1024 bytes is going to require additional box references. This is due to each box reference being given a 1024 bytes of operational budget. For example if you wanted to store 2000 bytes in a box named "data", you'd need to include the "data" box reference two times in your application call transaction.
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
# Pending Transactions
|
|
203
|
+
|
|
204
|
+
When you run a non-participation node only transactions submitted to that particular node are seen as pending in the [transaction pool](/docs/rest-apis/algod/#get-v2accountsaddresstransactionspending). If you're interested in receiving all pending transactions within the network you'll need to set `ForceFetchTransactions` to True in the [algod configuration settings](/docs/run-a-node/reference/config/#algod-configuration-settings). Note that this will increase the bandwidth used by the node.
|
|
205
|
+
|
|
206
|
+
# Verifying Release Binaries
|
|
207
|
+
|
|
208
|
+
When downloading a release, you're able to look at the accompanying signature files to verify that you've received artifacts provided by Algorand Inc. The steps to do so vary slightly by product and package type.
|
|
209
|
+
|
|
210
|
+
## algod
|
|
211
|
+
|
|
212
|
+
The algod binaries have detached signatures for every archive file. The signatures are used as follows:
|
|
213
|
+
1. Download public keys from https://releases.algorand.com
|
|
214
|
+
2. Install one or more of the public keys with `gpg --import key.pub`.
|
|
215
|
+
2. Download an artifact and its .sig file.
|
|
216
|
+
3. Verify using a gpg tool: `gpg --verify file.tar.gz.sig file.tar.gz`
|
|
217
|
+
|
|
218
|
+
## Conduit & Indexer
|
|
219
|
+
|
|
220
|
+
Instead of detached signatures, these binaries have a single checksum file which is signed. Their public key is also hosted on a keyserver to simplify the process of installing, refreshing and revoking keys as needed. They can also be downloaded and imported from the releases page outlined above.
|
|
221
|
+
|
|
222
|
+
1. Install the Algorand signing key from keys.openpgp.org or . Using GnuPG this is done with the following command:
|
|
223
|
+
> gpg --keyserver keys.openpgp.org --search-keys dev-ci+build@algorand.com
|
|
224
|
+
|
|
225
|
+
2. Refresh keys if necessary. In the event of a security breech, we will revoke the key. To account for this, simply refresh the key:
|
|
226
|
+
> gpg --refresh-keys --keyserver keys.openpgp.org
|
|
227
|
+
|
|
228
|
+
3. Download `checksums.txt.sig` and `checksums.txt` and verify the signature:
|
|
229
|
+
> gpg --verify checksums.txt.sig checksums.txt
|
|
230
|
+
|
|
231
|
+
4. Download one or more release archives and verify the checksum:
|
|
232
|
+
> sha256sum -c < checksums.txt
|
|
233
|
+
|