├── .editorconfig
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── dependabot.yml
├── pull_request_template.md
└── workflows
│ ├── pr.yml
│ ├── prod_release.yml
│ └── release.yml
├── .gitignore
├── .idea
├── .gitignore
├── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── inspectionProfiles
│ └── Project_Default.xml
├── jsLinters
│ └── eslint.xml
├── modules.xml
├── node-common.iml
├── prettier.xml
└── vcs.xml
├── .npmignore
├── .nsprc
├── .prettierignore
├── .prettierrc.cjs
├── .run
├── Build.run.xml
├── Lint.run.xml
└── Run Tests.run.xml
├── .vscode
├── extensions.json
└── settings.json
├── LICENSE
├── README.md
├── commitlint.config.cjs
├── docs
├── README.md
├── capabilities
│ ├── account.md
│ ├── algorand-client.md
│ ├── amount.md
│ ├── app-client.md
│ ├── app-deploy.md
│ ├── app.md
│ ├── asset.md
│ ├── client.md
│ ├── debugging.md
│ ├── dispenser-client.md
│ ├── event-emitter.md
│ ├── indexer.md
│ ├── testing.md
│ ├── transaction-composer.md
│ ├── transaction.md
│ ├── transfer.md
│ └── typed-app-clients.md
├── code
│ ├── README.md
│ ├── classes
│ │ ├── testing.TestLogger.md
│ │ ├── testing.TransactionLogger.md
│ │ ├── types_account.MultisigAccount.md
│ │ ├── types_account.SigningAccount.md
│ │ ├── types_account_manager.AccountManager.md
│ │ ├── types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md
│ │ ├── types_algorand_client.AlgorandClient.md
│ │ ├── types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md
│ │ ├── types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md
│ │ ├── types_amount.AlgoAmount.md
│ │ ├── types_app_arc56.Arc56Method.md
│ │ ├── types_app_client.AppClient.md
│ │ ├── types_app_client.ApplicationClient.md
│ │ ├── types_app_deployer.AppDeployer.md
│ │ ├── types_app_factory.AppFactory.md
│ │ ├── types_app_manager.AppManager.md
│ │ ├── types_asset_manager.AssetManager.md
│ │ ├── types_async_event_emitter.AsyncEventEmitter.md
│ │ ├── types_client_manager.ClientManager.md
│ │ ├── types_composer.TransactionComposer.md
│ │ ├── types_config.UpdatableConfig.md
│ │ ├── types_dispenser_client.TestNetDispenserApiClient.md
│ │ ├── types_kmd_account_manager.KmdAccountManager.md
│ │ └── types_logic_error.LogicError.md
│ ├── enums
│ │ ├── types_app.OnSchemaBreak.md
│ │ ├── types_app.OnUpdate.md
│ │ ├── types_indexer.AccountStatus.md
│ │ ├── types_indexer.ApplicationOnComplete.md
│ │ ├── types_indexer.SignatureType.md
│ │ └── types_lifecycle_events.EventType.md
│ ├── interfaces
│ │ ├── types_account.AccountConfig.md
│ │ ├── types_account.TransactionSignerAccount.md
│ │ ├── types_account_manager.EnsureFundedResult.md
│ │ ├── types_app.AppCallParams.md
│ │ ├── types_app.AppCallTransactionResultOfType.md
│ │ ├── types_app.AppCompilationResult.md
│ │ ├── types_app.AppDeployMetadata.md
│ │ ├── types_app.AppDeploymentParams.md
│ │ ├── types_app.AppLookup.md
│ │ ├── types_app.AppMetadata.md
│ │ ├── types_app.AppReference.md
│ │ ├── types_app.AppState.md
│ │ ├── types_app.AppStorageSchema.md
│ │ ├── types_app.BoxName.md
│ │ ├── types_app.BoxReference.md
│ │ ├── types_app.BoxValueRequestParams.md
│ │ ├── types_app.BoxValuesRequestParams.md
│ │ ├── types_app.CompiledTeal.md
│ │ ├── types_app.CoreAppCallArgs.md
│ │ ├── types_app.CreateAppParams.md
│ │ ├── types_app.RawAppCallArgs.md
│ │ ├── types_app.TealTemplateParams.md
│ │ ├── types_app.UpdateAppParams.md
│ │ ├── types_app_arc56.Arc56Contract.md
│ │ ├── types_app_arc56.Event.md
│ │ ├── types_app_arc56.Method.md
│ │ ├── types_app_arc56.ProgramSourceInfo.md
│ │ ├── types_app_arc56.StorageKey.md
│ │ ├── types_app_arc56.StorageMap.md
│ │ ├── types_app_arc56.StructField.md
│ │ ├── types_app_client.AppClientCallABIArgs.md
│ │ ├── types_app_client.AppClientCallCoreParams.md
│ │ ├── types_app_client.AppClientCompilationParams.md
│ │ ├── types_app_client.AppClientCompilationResult.md
│ │ ├── types_app_client.AppClientDeployCallInterfaceParams.md
│ │ ├── types_app_client.AppClientDeployCoreParams.md
│ │ ├── types_app_client.AppClientDeployParams.md
│ │ ├── types_app_client.AppClientParams.md
│ │ ├── types_app_client.AppSourceMaps.md
│ │ ├── types_app_client.FundAppAccountParams.md
│ │ ├── types_app_client.ResolveAppById.md
│ │ ├── types_app_client.ResolveAppByIdBase.md
│ │ ├── types_app_client.SourceMapExport.md
│ │ ├── types_app_deployer.AppLookup.md
│ │ ├── types_app_deployer.AppMetadata.md
│ │ ├── types_app_factory.AppFactoryParams.md
│ │ ├── types_app_manager.AppInformation.md
│ │ ├── types_app_manager.BoxReference.md
│ │ ├── types_app_manager.BoxValueRequestParams.md
│ │ ├── types_app_manager.BoxValuesRequestParams.md
│ │ ├── types_app_spec.AppSources.md
│ │ ├── types_app_spec.AppSpec.md
│ │ ├── types_app_spec.CallConfig.md
│ │ ├── types_app_spec.DeclaredSchemaValueSpec.md
│ │ ├── types_app_spec.Hint.md
│ │ ├── types_app_spec.ReservedSchemaValueSpec.md
│ │ ├── types_app_spec.Schema.md
│ │ ├── types_app_spec.SchemaSpec.md
│ │ ├── types_app_spec.StateSchemaSpec.md
│ │ ├── types_app_spec.Struct.md
│ │ ├── types_asset.AssetBulkOptInOutParams.md
│ │ ├── types_asset.AssetOptInParams.md
│ │ ├── types_asset.AssetOptOutParams.md
│ │ ├── types_asset.CreateAssetParams.md
│ │ ├── types_asset_manager.AssetInformation.md
│ │ ├── types_asset_manager.BulkAssetOptInOutResult.md
│ │ ├── types_client_manager.AlgoSdkClients.md
│ │ ├── types_client_manager.TypedAppClient.md
│ │ ├── types_client_manager.TypedAppFactory.md
│ │ ├── types_composer.BuiltTransactions.md
│ │ ├── types_config.Config.md
│ │ ├── types_debugging.AVMTracesEventData.md
│ │ ├── types_debugging.TealSourceDebugEventData.md
│ │ ├── types_debugging.TealSourcesDebugEventData.md
│ │ ├── types_dispenser_client.DispenserFundResponse.md
│ │ ├── types_dispenser_client.DispenserLimitResponse.md
│ │ ├── types_dispenser_client.TestNetDispenserApiClientParams.md
│ │ ├── types_indexer.LookupAssetHoldingsOptions.md
│ │ ├── types_logic_error.LogicErrorDetails.md
│ │ ├── types_network_client.AlgoClientConfig.md
│ │ ├── types_network_client.AlgoConfig.md
│ │ ├── types_network_client.NetworkDetails.md
│ │ ├── types_testing.AlgoKitLogCaptureFixture.md
│ │ ├── types_testing.AlgorandFixture.md
│ │ ├── types_testing.AlgorandFixtureConfig.md
│ │ ├── types_testing.AlgorandTestAutomationContext.md
│ │ ├── types_testing.GetTestAccountParams.md
│ │ ├── types_testing.LogSnapshotConfig.md
│ │ ├── types_transaction.AdditionalAtomicTransactionComposerContext.md
│ │ ├── types_transaction.AtomicTransactionComposerToSend.md
│ │ ├── types_transaction.ConfirmedTransactionResult.md
│ │ ├── types_transaction.ConfirmedTransactionResults.md
│ │ ├── types_transaction.SendAtomicTransactionComposerResults.md
│ │ ├── types_transaction.SendParams.md
│ │ ├── types_transaction.SendTransactionParams.md
│ │ ├── types_transaction.SendTransactionResult.md
│ │ ├── types_transaction.SendTransactionResults.md
│ │ ├── types_transaction.TransactionGroupToSend.md
│ │ ├── types_transaction.TransactionToSign.md
│ │ ├── types_transfer.AlgoRekeyParams.md
│ │ ├── types_transfer.AlgoTransferParams.md
│ │ ├── types_transfer.EnsureFundedParams.md
│ │ ├── types_transfer.EnsureFundedReturnType.md
│ │ └── types_transfer.TransferAssetParams.md
│ └── modules
│ │ ├── index.indexer.md
│ │ ├── index.md
│ │ ├── testing.md
│ │ ├── types_account.md
│ │ ├── types_account_manager.md
│ │ ├── types_account_manager_spec.md
│ │ ├── types_algo_http_client_with_retry.md
│ │ ├── types_algorand_client.md
│ │ ├── types_algorand_client_asset_spec.md
│ │ ├── types_algorand_client_spec.md
│ │ ├── types_algorand_client_transaction_creator.md
│ │ ├── types_algorand_client_transaction_sender.md
│ │ ├── types_algorand_client_transfer_spec.md
│ │ ├── types_amount.md
│ │ ├── types_amount_spec.md
│ │ ├── types_app.md
│ │ ├── types_app_arc56.md
│ │ ├── types_app_client.md
│ │ ├── types_app_client_spec.md
│ │ ├── types_app_deployer.md
│ │ ├── types_app_factory.md
│ │ ├── types_app_factory_and_client_spec.md
│ │ ├── types_app_manager.md
│ │ ├── types_app_spec.md
│ │ ├── types_asset.md
│ │ ├── types_asset_manager.md
│ │ ├── types_async_event_emitter.md
│ │ ├── types_async_event_emitter_spec.md
│ │ ├── types_client_manager.md
│ │ ├── types_client_manager_spec.md
│ │ ├── types_composer.md
│ │ ├── types_composer_spec.md
│ │ ├── types_config.md
│ │ ├── types_debugging.md
│ │ ├── types_dispenser_client.md
│ │ ├── types_dispenser_client_spec.md
│ │ ├── types_expand.md
│ │ ├── types_indexer.md
│ │ ├── types_instance_of.md
│ │ ├── types_kmd_account_manager.md
│ │ ├── types_lifecycle_events.md
│ │ ├── types_logging.md
│ │ ├── types_logic_error.md
│ │ ├── types_network_client.md
│ │ ├── types_testing.md
│ │ ├── types_transaction.md
│ │ └── types_transfer.md
├── images
│ └── lifecycle.jpg
├── v7-migration.md
└── v8-migration.md
├── eslint.config.mjs
├── package-lock.json
├── package.json
├── rollup-multi-plugin.ts
├── rollup.config.ts
├── src
├── __snapshots__
│ └── app-deploy.spec.ts.snap
├── account
│ ├── account.ts
│ ├── get-account-config-from-environment.ts
│ ├── get-account.ts
│ ├── get-dispenser-account.ts
│ ├── index.ts
│ └── mnemonic-account.ts
├── amount.ts
├── app-client.ts
├── app-deploy.spec.ts
├── app-deploy.ts
├── app.spec.ts
├── app.ts
├── asset.ts
├── config.ts
├── debugging
│ ├── debugging.ts
│ └── index.ts
├── dispenser-client.ts
├── index.ts
├── indexer-lookup.spec.ts
├── indexer-lookup.ts
├── localnet
│ ├── get-kmd-wallet-account.ts
│ ├── get-localnet-dispenser-account.ts
│ ├── get-or-create-kmd-wallet-account.ts
│ ├── index.ts
│ └── is-localnet.ts
├── network-client.ts
├── testing
│ ├── _asset.ts
│ ├── account.ts
│ ├── fixtures
│ │ ├── algokit-log-capture-fixture.ts
│ │ ├── algorand-fixture.ts
│ │ └── index.ts
│ ├── index.ts
│ ├── indexer.ts
│ ├── test-logger.ts
│ └── transaction-logger.ts
├── transaction
│ ├── index.ts
│ ├── legacy-bridge.ts
│ ├── perform-atomic-transaction-composer-simulate.ts
│ ├── transaction.spec.ts
│ └── transaction.ts
├── transfer
│ ├── index.ts
│ ├── transfer-algos.ts
│ └── transfer.ts
├── types
│ ├── __snapshots__
│ │ ├── app-client.spec.ts.snap
│ │ ├── app-factory-and-client.spec.ts.snap
│ │ └── async-event-emitter.spec.ts.snap
│ ├── account-manager.spec.ts
│ ├── account-manager.ts
│ ├── account.ts
│ ├── algo-http-client-with-retry.ts
│ ├── algorand-client-transaction-creator.ts
│ ├── algorand-client-transaction-sender.ts
│ ├── algorand-client.asset.spec.ts
│ ├── algorand-client.spec.ts
│ ├── algorand-client.transfer.spec.ts
│ ├── algorand-client.ts
│ ├── amount.spec.ts
│ ├── amount.ts
│ ├── app-arc56.ts
│ ├── app-client.spec.ts
│ ├── app-client.ts
│ ├── app-deployer.ts
│ ├── app-factory-and-client.spec.ts
│ ├── app-factory.ts
│ ├── app-manager.ts
│ ├── app-spec.ts
│ ├── app.ts
│ ├── asset-manager.ts
│ ├── asset.ts
│ ├── async-event-emitter.spec.ts
│ ├── async-event-emitter.ts
│ ├── client-manager.spec.ts
│ ├── client-manager.ts
│ ├── composer.spec.ts
│ ├── composer.ts
│ ├── config.ts
│ ├── debugging.ts
│ ├── dispenser-client.spec.ts
│ ├── dispenser-client.ts
│ ├── expand.ts
│ ├── indexer.ts
│ ├── instance-of.ts
│ ├── kmd-account-manager.ts
│ ├── lifecycle-events.ts
│ ├── logging.ts
│ ├── logic-error.ts
│ ├── network-client.ts
│ ├── testing.ts
│ ├── transaction.ts
│ └── transfer.ts
├── util.spec.ts
└── util.ts
├── tests
├── example-contracts
│ ├── arc56_templates
│ │ ├── artifacts
│ │ │ ├── Templates.approval.teal
│ │ │ ├── Templates.arc32.json
│ │ │ ├── Templates.arc4.json
│ │ │ ├── Templates.arc56_draft.json
│ │ │ ├── Templates.clear.teal
│ │ │ └── Templates.src_map.json
│ │ ├── templates.algo.ts
│ │ └── tsconfig.json
│ ├── box_map
│ │ ├── .gitignore
│ │ ├── artifacts
│ │ │ ├── BoxMapTest.approval.teal
│ │ │ └── BoxMapTest.arc56.json
│ │ ├── box_map.algo.ts
│ │ └── tsconfig.json
│ ├── byte_arrays
│ │ ├── artifacts
│ │ │ ├── ByteArrays.approval.teal
│ │ │ ├── ByteArrays.arc32.json
│ │ │ ├── ByteArrays.arc4.json
│ │ │ ├── ByteArrays.arc56.json
│ │ │ ├── ByteArrays.clear.teal
│ │ │ └── ByteArrays.src_map.json
│ │ ├── byte_arrays.algo.ts
│ │ └── tsconfig.json
│ ├── client
│ │ ├── TestContractClient.ts
│ │ └── test.algo.ts
│ ├── deploy_error
│ │ ├── .gitignore
│ │ ├── artifacts
│ │ │ ├── DeployError.approval.teal
│ │ │ └── DeployError.arc56.json
│ │ ├── deploy_error.algo.ts
│ │ └── tsconfig.json
│ ├── extra-pages
│ │ ├── large.arc56.json
│ │ └── small.arc56.json
│ ├── inner-fee
│ │ ├── application.json
│ │ └── contract.py
│ ├── inner_error
│ │ ├── .gitignore
│ │ ├── artifacts
│ │ │ ├── InnerApp.approval.teal
│ │ │ ├── InnerApp.arc56.json
│ │ │ ├── MiddleApp.approval.teal
│ │ │ ├── MiddleApp.arc56.json
│ │ │ ├── OuterApp.approval.teal
│ │ │ └── OuterApp.arc56.json
│ │ ├── inner_error.algo.ts
│ │ └── tsconfig.json
│ ├── resource-packer
│ │ ├── artifacts
│ │ │ ├── .gitignore
│ │ │ ├── ExternalApp.arc32.json
│ │ │ ├── ExternalAppV8.arc32.json
│ │ │ ├── ResourcePackerv8.arc32.json
│ │ │ └── ResourcePackerv9.arc32.json
│ │ └── resource-packer.algo.ts
│ └── testing-app
│ │ ├── application.json
│ │ ├── contract.py
│ │ └── contract.ts
├── fixtures
│ └── env-fixture.ts
└── setup.ts
├── tsconfig.build.json
├── tsconfig.json
├── tsconfig.test.json
├── typedoc.json
└── vitest.config.ts
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | charset = utf-8
3 | insert_final_newline = true
4 | end_of_line = lf
5 | indent_style = space
6 | indent_size = 2
7 | tab_width = 2
8 | max_line_length = 140
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set the repository to show as TypeScript rather than JS in GitHub
2 | *.js linguist-detectable=false
3 |
4 | # Treat text as lf
5 | * text=auto
6 | * eol=lf
7 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "\U0001F41C Bug report"
3 | about: Report a reproducible bug.
4 | title: ''
5 | labels: new-bug
6 | assignees: ''
7 | ---
8 |
9 | ### Subject of the issue
10 |
11 |
12 |
13 | ### Your environment
14 |
15 |
19 |
20 | ### Steps to reproduce
21 |
22 | 1.
23 | 2.
24 |
25 | ### Expected behaviour
26 |
27 | ### Actual behaviour
28 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "\U0001F514 Feature Request"
3 | about: Suggestions for how we can improve the algorand platform.
4 | title: ''
5 | labels: new-feature-request
6 | assignees: ''
7 | ---
8 |
9 | ## Problem
10 |
11 |
12 |
13 | ## Solution
14 |
15 |
16 |
17 | ### Proposal
18 |
19 |
20 |
21 | ### Pros and Cons
22 |
23 |
24 |
25 | ## Dependencies
26 |
27 |
28 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: 'npm'
4 | directory: '/'
5 | schedule:
6 | interval: 'weekly'
7 | commit-message:
8 | prefix: 'chore(deps)'
9 | groups:
10 | all:
11 | patterns:
12 | - '*'
13 | update-types:
14 | - 'minor'
15 | - 'patch'
16 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | ## Proposed Changes
2 |
3 | -
4 | -
5 | -
6 |
--------------------------------------------------------------------------------
/.github/workflows/pr.yml:
--------------------------------------------------------------------------------
1 | name: Pull Request
2 |
3 | on:
4 | pull_request:
5 | branches: [main]
6 |
7 | permissions:
8 | contents: read
9 |
10 | jobs:
11 | pull_request:
12 | uses: makerxstudio/shared-config/.github/workflows/node-ci.yml@main
13 | with:
14 | node-version: 20.x
15 | working-directory: ./
16 | run-commit-lint: true
17 | run-build: true
18 | pre-test-script: |
19 | pipx install algokit
20 | algokit localnet start
21 | npx --yes wait-on tcp:4001 -t 30000
22 | audit-script: |
23 | npm run audit
24 | check_docs:
25 | runs-on: ubuntu-latest
26 | steps:
27 | - name: Clone repository
28 | uses: actions/checkout@v3
29 | with:
30 | fetch-depth: 1
31 | - name: Use Node.js 20.x
32 | uses: actions/setup-node@v3
33 | with:
34 | node-version: 20.x
35 | - name: Check docs are up to date
36 | shell: bash
37 | run: |
38 | npm ci --ignore-scripts
39 | npm run generate:code-docs
40 | # Add untracked files as empty so they come up in diff
41 | git add -N .
42 | # Print changed files and error out if there are changes after generating docs
43 | git diff --exit-code --name-only
44 |
--------------------------------------------------------------------------------
/.github/workflows/prod_release.yml:
--------------------------------------------------------------------------------
1 | name: Prod Publish
2 |
3 | on:
4 | workflow_dispatch:
5 |
6 | permissions:
7 | contents: write
8 |
9 | jobs:
10 | prod_release:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - name: Clone repository
14 | uses: actions/checkout@v3
15 | with:
16 | fetch-depth: 0
17 | - name: Merge main -> release
18 | uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f
19 | with:
20 | type: now
21 | from_branch: main
22 | target_branch: release
23 | github_token: ${{ secrets.GITHUB_TOKEN }}
24 | - name: Merge release -> main
25 | uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f
26 | with:
27 | type: now
28 | from_branch: release
29 | target_branch: main
30 | message: Merge release back to main to get version increment [no ci]
31 | github_token: ${{ secrets.GITHUB_TOKEN }}
32 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Publish
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | - release
8 | workflow_dispatch:
9 |
10 | concurrency: release
11 |
12 | permissions:
13 | contents: write
14 | issues: read
15 |
16 | jobs:
17 | ci:
18 | name: Continuous Integration
19 | uses: makerxstudio/shared-config/.github/workflows/node-ci.yml@main
20 | with:
21 | node-version: 20.x
22 | run-commit-lint: true
23 | pre-test-script: |
24 | pipx install algokit
25 | algokit localnet start
26 | npx --yes wait-on tcp:4001 -t 30000
27 | audit-script: |
28 | npm run audit
29 |
30 | check_docs:
31 | runs-on: ubuntu-latest
32 | steps:
33 | - name: Clone repository
34 | uses: actions/checkout@v3
35 | with:
36 | fetch-depth: 1
37 | - name: Check docs are up to date
38 | shell: bash
39 | run: |
40 | npm ci --ignore-scripts
41 | npm run generate:code-docs
42 | # Add untracked files as empty so they come up in diff
43 | git add -N .
44 | # Print changed files and error out if there are changes after generating docs
45 | git diff --exit-code --name-only
46 |
47 | build:
48 | name: Build
49 | uses: makerxstudio/shared-config/.github/workflows/node-build-zip.yml@main
50 | needs:
51 | - ci
52 | - check_docs
53 | with:
54 | node-version: 20.x
55 | build-path: dist
56 | artifact-name: package
57 |
58 | release:
59 | name: Release
60 | needs: build
61 | runs-on: ubuntu-latest
62 | steps:
63 | - name: Clone repository
64 | uses: actions/checkout@v3
65 | with:
66 | fetch-depth: 0
67 |
68 | # semantic-release needs node 20
69 | - name: Use Node.js 20.x
70 | uses: actions/setup-node@v3
71 | with:
72 | node-version: 20.x
73 |
74 | - name: Download built package
75 | uses: actions/download-artifact@v4
76 | with:
77 | name: package
78 | path: artifacts
79 |
80 | - name: Unzip package
81 | shell: bash
82 | run: |
83 | mkdir -p dist
84 | unzip -q "artifacts/package.zip" -d dist
85 |
86 | - name: Install dependencies to get semantic release components and plugins
87 | run: npm ci --ignore-scripts
88 |
89 | - name: 'Semantic release'
90 | run: npx semantic-release
91 | env:
92 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
93 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
94 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | # Dependency directories
11 | node_modules/
12 |
13 | # TypeScript cache
14 | *.tsbuildinfo
15 |
16 | # Optional npm cache directory
17 | .npm
18 |
19 | # Optional eslint cache
20 | .eslintcache
21 |
22 | # Stores VSCode versions used for testing VSCode extensions
23 | .vscode-test
24 |
25 | # Editor/OS directories and files
26 | .DS_Store
27 | *.suo
28 |
29 | # Jetbrains
30 | .idea/shelf/
31 | .idea/workspace.xml
32 | # Editor-based HTTP Client requests
33 | .idea/httpRequests/
34 | # Datasource local storage ignored files
35 | .idea/dataSources/
36 | .idea/dataSources.local.xml
37 |
38 | # yarn v2
39 | .yarn/cache
40 | .yarn/unplugged
41 | .yarn/build-state.yml
42 | .yarn/install-state.gz
43 | .pnp.*
44 |
45 | # Compiled code
46 | dist/
47 | build/
48 |
49 | # Coverage report
50 | coverage
51 |
52 | # Website & Code docs generation
53 | code-docs/
54 | out/
55 |
56 | # dotenv environment variable files
57 | .env
58 | .env.*
59 | !.env.template
60 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/jsLinters/eslint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/node-common.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/prettier.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | *
2 | !dist/**
3 | !readme.md
4 |
--------------------------------------------------------------------------------
/.nsprc:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # don't ever format node_modules
2 | node_modules
3 | # don't lint format output (make sure it's set to your correct build folder name)
4 | dist
5 | build
6 | # don't format nyc coverage output
7 | coverage
8 | # don't format generated types
9 | **/generated/types.d.ts
10 | **/generated/types.ts
11 | # don't format ide files
12 | .idea
13 | # don't format auto generated code docs
14 | docs/code
15 | # don't format test contract artifacts
16 | tests/example-contracts/**/*.json
17 |
--------------------------------------------------------------------------------
/.prettierrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | ...require('@makerx/prettier-config'),
3 | }
4 |
--------------------------------------------------------------------------------
/.run/Build.run.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.run/Lint.run.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.run/Run Tests.run.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "vitest.explorer"]
3 | }
4 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.formatOnSave": true,
3 | "editor.defaultFormatter": "esbenp.prettier-vscode",
4 | "editor.codeActionsOnSave": {
5 | "source.fixAll.eslint": "explicit",
6 | "source.organizeImports": "explicit"
7 | },
8 | "jest.enable": false,
9 | "vitest.enable": true,
10 | "vitest.watchOnStartup": false,
11 | "dotenv.enableAutocloaking": false
12 | }
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Algorand Foundation
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/commitlint.config.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: ['@commitlint/config-conventional'],
3 | rules: {
4 | // Allow sentence case commit messages
5 | 'subject-case': [1, 'always', ['pascal-case', 'upper-case']],
6 | 'type-empty': [1, 'never'],
7 | 'subject-empty': [1, 'always'],
8 | 'body-leading-blank': [0, 'always'],
9 | 'body-max-line-length': [1, 'always', 200],
10 | 'header-max-length': [1, 'always', 150],
11 | 'footer-max-length': [1, 'always', 150],
12 | 'footer-max-line-length': [1, 'always', 150],
13 | },
14 | }
15 |
--------------------------------------------------------------------------------
/docs/capabilities/transaction.md:
--------------------------------------------------------------------------------
1 | # Transaction management
2 |
3 | Transaction management is one of the core capabilities provided by AlgoKit Utils. It allows you to construct, simulate and send single, or grouped transactions with consistent and highly configurable semantics, including configurable control of transaction notes, logging, fees, multiple sender account types, and sending behaviour.
4 |
5 | ## `ConfirmedTransactionResult`
6 |
7 | All AlgoKit Utils functions that send a transaction will generally return a variant of the [`ConfirmedTransactionResult` interface](../code/interfaces/types_transaction.ConfirmedTransactionResult.md) or some superset of that. This provides a consistent mechanism to interpret the results of a transaction send.
8 |
9 | It consists of two properties:
10 |
11 | - `transaction`: An `algosdk.Transaction` object that is either ready to send or represents the transaction that was sent
12 | - `confirmation`: An `algosdk.modelsv2.PendingTransactionResponse` object, which is a type-safe wrapper of the return from the algod pending transaction API noting that it will only be returned if the transaction was able to be confirmed (so won't represent a "pending" transaction)
13 |
14 | There are various variations of the `ConfirmedTransactionResult` that are exposed by various functions within AlgoKit Utils, including:
15 |
16 | - [`ConfirmedTransactionResults`](../code/interfaces/types_transaction.ConfirmedTransactionResults.md) - Where it's both guaranteed that a confirmation will be returned, there is a primary driving transaction, but multiple transactions may be sent (e.g. when making an ABI app call which has dependant transactions)
17 | - [`SendTransactionResults`](../code/interfaces/types_transaction.SendTransactionResults.md) - Where multiple transactions are being sent (`transactions` and `confirmations` are arrays that replace the singular `transaction` and `confirmation`)
18 | - [`SendAtomicTransactionComposerResults`](../code/interfaces/types_transaction.SendAtomicTransactionComposerResults.md) - The result from sending the transactions within an `AtomicTransactionComposer`, it extends `SendTransactionResults` and adds a few other useful properties
19 | - [`AppCallTransactionResult`](../code/interfaces/types_app.AppCallTransactionResult.md) - Result from calling a single app call (which potentially may result in multiple other transaction calls if it was an ABI method with dependant transactions)
20 |
21 | ## Further reading
22 |
23 | To understand how to create, simulate and send transactions consult the [`AlgorandClient`](./algorand-client.md) and [`TransactionComposer`](./transaction-composer.md) documentation.
24 |
--------------------------------------------------------------------------------
/docs/code/enums/types_app.OnSchemaBreak.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / OnSchemaBreak
2 |
3 | # Enumeration: OnSchemaBreak
4 |
5 | [types/app](../modules/types_app.md).OnSchemaBreak
6 |
7 | What action to perform when deploying an app and a breaking schema change is detected
8 |
9 | ## Table of contents
10 |
11 | ### Enumeration Members
12 |
13 | - [AppendApp](types_app.OnSchemaBreak.md#appendapp)
14 | - [Fail](types_app.OnSchemaBreak.md#fail)
15 | - [ReplaceApp](types_app.OnSchemaBreak.md#replaceapp)
16 |
17 | ## Enumeration Members
18 |
19 | ### AppendApp
20 |
21 | • **AppendApp** = ``2``
22 |
23 | Create a new app
24 |
25 | #### Defined in
26 |
27 | [src/types/app.ts:306](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L306)
28 |
29 | ___
30 |
31 | ### Fail
32 |
33 | • **Fail** = ``0``
34 |
35 | Fail the deployment
36 |
37 | #### Defined in
38 |
39 | [src/types/app.ts:302](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L302)
40 |
41 | ___
42 |
43 | ### ReplaceApp
44 |
45 | • **ReplaceApp** = ``1``
46 |
47 | Delete the app and create a new one in its place
48 |
49 | #### Defined in
50 |
51 | [src/types/app.ts:304](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L304)
52 |
--------------------------------------------------------------------------------
/docs/code/enums/types_app.OnUpdate.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / OnUpdate
2 |
3 | # Enumeration: OnUpdate
4 |
5 | [types/app](../modules/types_app.md).OnUpdate
6 |
7 | What action to perform when deploying an app and an update is detected in the TEAL code
8 |
9 | ## Table of contents
10 |
11 | ### Enumeration Members
12 |
13 | - [AppendApp](types_app.OnUpdate.md#appendapp)
14 | - [Fail](types_app.OnUpdate.md#fail)
15 | - [ReplaceApp](types_app.OnUpdate.md#replaceapp)
16 | - [UpdateApp](types_app.OnUpdate.md#updateapp)
17 |
18 | ## Enumeration Members
19 |
20 | ### AppendApp
21 |
22 | • **AppendApp** = ``3``
23 |
24 | Create a new app
25 |
26 | #### Defined in
27 |
28 | [src/types/app.ts:296](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L296)
29 |
30 | ___
31 |
32 | ### Fail
33 |
34 | • **Fail** = ``0``
35 |
36 | Fail the deployment
37 |
38 | #### Defined in
39 |
40 | [src/types/app.ts:290](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L290)
41 |
42 | ___
43 |
44 | ### ReplaceApp
45 |
46 | • **ReplaceApp** = ``2``
47 |
48 | Delete the app and create a new one in its place
49 |
50 | #### Defined in
51 |
52 | [src/types/app.ts:294](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L294)
53 |
54 | ___
55 |
56 | ### UpdateApp
57 |
58 | • **UpdateApp** = ``1``
59 |
60 | Update the app
61 |
62 | #### Defined in
63 |
64 | [src/types/app.ts:292](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L292)
65 |
--------------------------------------------------------------------------------
/docs/code/enums/types_indexer.AccountStatus.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/indexer](../modules/types_indexer.md) / AccountStatus
2 |
3 | # Enumeration: AccountStatus
4 |
5 | [types/indexer](../modules/types_indexer.md).AccountStatus
6 |
7 | Delegation status of the account
8 |
9 | ## Table of contents
10 |
11 | ### Enumeration Members
12 |
13 | - [NotParticipating](types_indexer.AccountStatus.md#notparticipating)
14 | - [Offline](types_indexer.AccountStatus.md#offline)
15 | - [Online](types_indexer.AccountStatus.md#online)
16 |
17 | ## Enumeration Members
18 |
19 | ### NotParticipating
20 |
21 | • **NotParticipating** = ``"NotParticipating"``
22 |
23 | Indicates that the associated account is neither a delegator nor a delegate
24 |
25 | #### Defined in
26 |
27 | [src/types/indexer.ts:195](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L195)
28 |
29 | ___
30 |
31 | ### Offline
32 |
33 | • **Offline** = ``"Offline"``
34 |
35 | Indicates that the associated account is delegated
36 |
37 | #### Defined in
38 |
39 | [src/types/indexer.ts:191](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L191)
40 |
41 | ___
42 |
43 | ### Online
44 |
45 | • **Online** = ``"Online"``
46 |
47 | Indicates that the associated account used as part of the delegation pool
48 |
49 | #### Defined in
50 |
51 | [src/types/indexer.ts:193](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L193)
52 |
--------------------------------------------------------------------------------
/docs/code/enums/types_indexer.ApplicationOnComplete.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/indexer](../modules/types_indexer.md) / ApplicationOnComplete
2 |
3 | # Enumeration: ApplicationOnComplete
4 |
5 | [types/indexer](../modules/types_indexer.md).ApplicationOnComplete
6 |
7 | Defines the what additional actions occur with the transaction https://dev.algorand.co/reference/rest-apis/indexer/#oncompletion
8 |
9 | ## Table of contents
10 |
11 | ### Enumeration Members
12 |
13 | - [clear](types_indexer.ApplicationOnComplete.md#clear)
14 | - [closeout](types_indexer.ApplicationOnComplete.md#closeout)
15 | - [delete](types_indexer.ApplicationOnComplete.md#delete)
16 | - [noop](types_indexer.ApplicationOnComplete.md#noop)
17 | - [optin](types_indexer.ApplicationOnComplete.md#optin)
18 | - [update](types_indexer.ApplicationOnComplete.md#update)
19 |
20 | ## Enumeration Members
21 |
22 | ### clear
23 |
24 | • **clear** = ``"clear"``
25 |
26 | #### Defined in
27 |
28 | [src/types/indexer.ts:170](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L170)
29 |
30 | ___
31 |
32 | ### closeout
33 |
34 | • **closeout** = ``"closeout"``
35 |
36 | #### Defined in
37 |
38 | [src/types/indexer.ts:169](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L169)
39 |
40 | ___
41 |
42 | ### delete
43 |
44 | • **delete** = ``"delete"``
45 |
46 | #### Defined in
47 |
48 | [src/types/indexer.ts:172](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L172)
49 |
50 | ___
51 |
52 | ### noop
53 |
54 | • **noop** = ``"noop"``
55 |
56 | #### Defined in
57 |
58 | [src/types/indexer.ts:167](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L167)
59 |
60 | ___
61 |
62 | ### optin
63 |
64 | • **optin** = ``"optin"``
65 |
66 | #### Defined in
67 |
68 | [src/types/indexer.ts:168](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L168)
69 |
70 | ___
71 |
72 | ### update
73 |
74 | • **update** = ``"update"``
75 |
76 | #### Defined in
77 |
78 | [src/types/indexer.ts:171](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L171)
79 |
--------------------------------------------------------------------------------
/docs/code/enums/types_indexer.SignatureType.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/indexer](../modules/types_indexer.md) / SignatureType
2 |
3 | # Enumeration: SignatureType
4 |
5 | [types/indexer](../modules/types_indexer.md).SignatureType
6 |
7 | Type of signature used by an account
8 |
9 | ## Table of contents
10 |
11 | ### Enumeration Members
12 |
13 | - [lsig](types_indexer.SignatureType.md#lsig)
14 | - [msig](types_indexer.SignatureType.md#msig)
15 | - [sig](types_indexer.SignatureType.md#sig)
16 |
17 | ## Enumeration Members
18 |
19 | ### lsig
20 |
21 | • **lsig** = ``"lsig"``
22 |
23 | Logic signature
24 |
25 | #### Defined in
26 |
27 | [src/types/indexer.ts:185](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L185)
28 |
29 | ___
30 |
31 | ### msig
32 |
33 | • **msig** = ``"msig"``
34 |
35 | Multisig
36 |
37 | #### Defined in
38 |
39 | [src/types/indexer.ts:183](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L183)
40 |
41 | ___
42 |
43 | ### sig
44 |
45 | • **sig** = ``"sig"``
46 |
47 | Normal signature
48 |
49 | #### Defined in
50 |
51 | [src/types/indexer.ts:181](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L181)
52 |
--------------------------------------------------------------------------------
/docs/code/enums/types_lifecycle_events.EventType.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/lifecycle-events](../modules/types_lifecycle_events.md) / EventType
2 |
3 | # Enumeration: EventType
4 |
5 | [types/lifecycle-events](../modules/types_lifecycle_events.md).EventType
6 |
7 | ## Table of contents
8 |
9 | ### Enumeration Members
10 |
11 | - [AppCompiled](types_lifecycle_events.EventType.md#appcompiled)
12 | - [TxnGroupSimulated](types_lifecycle_events.EventType.md#txngroupsimulated)
13 |
14 | ## Enumeration Members
15 |
16 | ### AppCompiled
17 |
18 | • **AppCompiled** = ``"AppCompiled"``
19 |
20 | #### Defined in
21 |
22 | [src/types/lifecycle-events.ts:5](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/lifecycle-events.ts#L5)
23 |
24 | ___
25 |
26 | ### TxnGroupSimulated
27 |
28 | • **TxnGroupSimulated** = ``"TxnGroupSimulated"``
29 |
30 | #### Defined in
31 |
32 | [src/types/lifecycle-events.ts:4](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/lifecycle-events.ts#L4)
33 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_account.AccountConfig.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/account](../modules/types_account.md) / AccountConfig
2 |
3 | # Interface: AccountConfig
4 |
5 | [types/account](../modules/types_account.md).AccountConfig
6 |
7 | **`Deprecated`**
8 |
9 | The methods that use this can be achieved using `AccountManager` instead.
10 | Config for an account config
11 |
12 | ## Table of contents
13 |
14 | ### Properties
15 |
16 | - [accountMnemonic](types_account.AccountConfig.md#accountmnemonic)
17 | - [accountName](types_account.AccountConfig.md#accountname)
18 | - [senderAddress](types_account.AccountConfig.md#senderaddress)
19 | - [senderMnemonic](types_account.AccountConfig.md#sendermnemonic)
20 |
21 | ## Properties
22 |
23 | ### accountMnemonic
24 |
25 | • **accountMnemonic**: `string`
26 |
27 | Mnemonic for an account
28 |
29 | #### Defined in
30 |
31 | [src/types/account.ts:294](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L294)
32 |
33 | ___
34 |
35 | ### accountName
36 |
37 | • **accountName**: `string`
38 |
39 | Account name used to retrieve config
40 |
41 | #### Defined in
42 |
43 | [src/types/account.ts:298](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L298)
44 |
45 | ___
46 |
47 | ### senderAddress
48 |
49 | • `Optional` **senderAddress**: `string`
50 |
51 | Address of a rekeyed account
52 |
53 | #### Defined in
54 |
55 | [src/types/account.ts:296](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L296)
56 |
57 | ___
58 |
59 | ### senderMnemonic
60 |
61 | • `Optional` **senderMnemonic**: `string`
62 |
63 | **`Deprecated`**
64 |
65 | Renamed to senderAddress in 2.3.1
66 |
67 | #### Defined in
68 |
69 | [src/types/account.ts:301](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L301)
70 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_account.TransactionSignerAccount.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/account](../modules/types_account.md) / TransactionSignerAccount
2 |
3 | # Interface: TransactionSignerAccount
4 |
5 | [types/account](../modules/types_account.md).TransactionSignerAccount
6 |
7 | A wrapper around `TransactionSigner` that also has the sender address.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [addr](types_account.TransactionSignerAccount.md#addr)
14 | - [signer](types_account.TransactionSignerAccount.md#signer)
15 |
16 | ## Properties
17 |
18 | ### addr
19 |
20 | • **addr**: `Readonly`\<`Address`\>
21 |
22 | #### Defined in
23 |
24 | [src/types/account.ts:124](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L124)
25 |
26 | ___
27 |
28 | ### signer
29 |
30 | • **signer**: `TransactionSigner`
31 |
32 | #### Defined in
33 |
34 | [src/types/account.ts:125](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account.ts#L125)
35 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_account_manager.EnsureFundedResult.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/account-manager](../modules/types_account_manager.md) / EnsureFundedResult
2 |
3 | # Interface: EnsureFundedResult
4 |
5 | [types/account-manager](../modules/types_account_manager.md).EnsureFundedResult
6 |
7 | Result from performing an ensureFunded call.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [amountFunded](types_account_manager.EnsureFundedResult.md#amountfunded)
14 | - [transactionId](types_account_manager.EnsureFundedResult.md#transactionid)
15 |
16 | ## Properties
17 |
18 | ### amountFunded
19 |
20 | • **amountFunded**: [`AlgoAmount`](../classes/types_amount.AlgoAmount.md)
21 |
22 | The amount that was sent to the account.
23 |
24 | #### Defined in
25 |
26 | [src/types/account-manager.ts:22](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account-manager.ts#L22)
27 |
28 | ___
29 |
30 | ### transactionId
31 |
32 | • **transactionId**: `string`
33 |
34 | The transaction ID of the transaction that funded the account.
35 |
36 | #### Defined in
37 |
38 | [src/types/account-manager.ts:20](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account-manager.ts#L20)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.AppCompilationResult.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppCompilationResult
2 |
3 | # Interface: AppCompilationResult
4 |
5 | [types/app](../modules/types_app.md).AppCompilationResult
6 |
7 | The result of compiling the approval and clear state TEAL programs for an app
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [compiledApproval](types_app.AppCompilationResult.md#compiledapproval)
14 | - [compiledClear](types_app.AppCompilationResult.md#compiledclear)
15 |
16 | ## Properties
17 |
18 | ### compiledApproval
19 |
20 | • **compiledApproval**: [`CompiledTeal`](types_app.CompiledTeal.md)
21 |
22 | The result of compiling the approval program
23 |
24 | #### Defined in
25 |
26 | [src/types/app.ts:335](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L335)
27 |
28 | ___
29 |
30 | ### compiledClear
31 |
32 | • **compiledClear**: [`CompiledTeal`](types_app.CompiledTeal.md)
33 |
34 | The result of compiling the clear state program
35 |
36 | #### Defined in
37 |
38 | [src/types/app.ts:337](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L337)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.AppDeployMetadata.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppDeployMetadata
2 |
3 | # Interface: AppDeployMetadata
4 |
5 | [types/app](../modules/types_app.md).AppDeployMetadata
6 |
7 | The payload of the metadata to add to the transaction note when deploying an app, noting it will be prefixed with `APP_DEPLOY_NOTE_PREFIX`.
8 |
9 | ## Hierarchy
10 |
11 | - **`AppDeployMetadata`**
12 |
13 | ↳ [`AppMetadata`](types_app_deployer.AppMetadata.md)
14 |
15 | ↳ [`AppMetadata`](types_app.AppMetadata.md)
16 |
17 | ## Table of contents
18 |
19 | ### Properties
20 |
21 | - [deletable](types_app.AppDeployMetadata.md#deletable)
22 | - [name](types_app.AppDeployMetadata.md#name)
23 | - [updatable](types_app.AppDeployMetadata.md#updatable)
24 | - [version](types_app.AppDeployMetadata.md#version)
25 |
26 | ## Properties
27 |
28 | ### deletable
29 |
30 | • `Optional` **deletable**: `boolean`
31 |
32 | Whether or not the app is deletable / permanent / unspecified
33 |
34 | #### Defined in
35 |
36 | [src/types/app.ts:253](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L253)
37 |
38 | ___
39 |
40 | ### name
41 |
42 | • **name**: `string`
43 |
44 | The unique name identifier of the app within the creator account
45 |
46 | #### Defined in
47 |
48 | [src/types/app.ts:249](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L249)
49 |
50 | ___
51 |
52 | ### updatable
53 |
54 | • `Optional` **updatable**: `boolean`
55 |
56 | Whether or not the app is updatable / immutable / unspecified
57 |
58 | #### Defined in
59 |
60 | [src/types/app.ts:255](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L255)
61 |
62 | ___
63 |
64 | ### version
65 |
66 | • **version**: `string`
67 |
68 | The version of app that is / will be deployed
69 |
70 | #### Defined in
71 |
72 | [src/types/app.ts:251](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L251)
73 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.AppLookup.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppLookup
2 |
3 | # Interface: AppLookup
4 |
5 | [types/app](../modules/types_app.md).AppLookup
6 |
7 | A lookup of name -> Algorand app for a creator
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [apps](types_app.AppLookup.md#apps)
14 | - [creator](types_app.AppLookup.md#creator)
15 |
16 | ## Properties
17 |
18 | ### apps
19 |
20 | • **apps**: `Readonly`\<\{ `[name: string]`: [`AppMetadata`](types_app.AppMetadata.md); }\>
21 |
22 | #### Defined in
23 |
24 | [src/types/app.ts:273](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L273)
25 |
26 | ___
27 |
28 | ### creator
29 |
30 | • **creator**: `string`
31 |
32 | #### Defined in
33 |
34 | [src/types/app.ts:272](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L272)
35 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.AppReference.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppReference
2 |
3 | # Interface: AppReference
4 |
5 | [types/app](../modules/types_app.md).AppReference
6 |
7 | Information about an Algorand app
8 |
9 | ## Hierarchy
10 |
11 | - **`AppReference`**
12 |
13 | ↳ [`AppMetadata`](types_app.AppMetadata.md)
14 |
15 | ## Table of contents
16 |
17 | ### Properties
18 |
19 | - [appAddress](types_app.AppReference.md#appaddress)
20 | - [appId](types_app.AppReference.md#appid)
21 |
22 | ## Properties
23 |
24 | ### appAddress
25 |
26 | • **appAddress**: `string`
27 |
28 | The Algorand address of the account associated with the app
29 |
30 | #### Defined in
31 |
32 | [src/types/app.ts:43](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L43)
33 |
34 | ___
35 |
36 | ### appId
37 |
38 | • **appId**: `number` \| `bigint`
39 |
40 | The id of the app
41 |
42 | #### Defined in
43 |
44 | [src/types/app.ts:41](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L41)
45 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.AppState.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppState
2 |
3 | # Interface: AppState
4 |
5 | [types/app](../modules/types_app.md).AppState
6 |
7 | Object holding app state values
8 |
9 | ## Indexable
10 |
11 | ▪ [key: `string`]: \{ `keyBase64`: `string` ; `keyRaw`: `Uint8Array` ; `value`: `bigint` } \| \{ `keyBase64`: `string` ; `keyRaw`: `Uint8Array` ; `value`: `string` ; `valueBase64`: `string` ; `valueRaw`: `Uint8Array` }
12 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.AppStorageSchema.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / AppStorageSchema
2 |
3 | # Interface: AppStorageSchema
4 |
5 | [types/app](../modules/types_app.md).AppStorageSchema
6 |
7 | Parameters representing the storage schema of an app.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [extraPages](types_app.AppStorageSchema.md#extrapages)
14 | - [globalByteSlices](types_app.AppStorageSchema.md#globalbyteslices)
15 | - [globalInts](types_app.AppStorageSchema.md#globalints)
16 | - [localByteSlices](types_app.AppStorageSchema.md#localbyteslices)
17 | - [localInts](types_app.AppStorageSchema.md#localints)
18 |
19 | ## Properties
20 |
21 | ### extraPages
22 |
23 | • `Optional` **extraPages**: `number`
24 |
25 | Any extra pages that are needed for the smart contract; if left blank then the right number of pages will be calculated based on the teal code size
26 |
27 | #### Defined in
28 |
29 | [src/types/app.ts:209](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L209)
30 |
31 | ___
32 |
33 | ### globalByteSlices
34 |
35 | • **globalByteSlices**: `number`
36 |
37 | Restricts number of byte slices in global state
38 |
39 | #### Defined in
40 |
41 | [src/types/app.ts:207](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L207)
42 |
43 | ___
44 |
45 | ### globalInts
46 |
47 | • **globalInts**: `number`
48 |
49 | Restricts number of ints in global state
50 |
51 | #### Defined in
52 |
53 | [src/types/app.ts:205](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L205)
54 |
55 | ___
56 |
57 | ### localByteSlices
58 |
59 | • **localByteSlices**: `number`
60 |
61 | Restricts number of byte slices in per-user local state
62 |
63 | #### Defined in
64 |
65 | [src/types/app.ts:203](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L203)
66 |
67 | ___
68 |
69 | ### localInts
70 |
71 | • **localInts**: `number`
72 |
73 | Restricts number of ints in per-user local state
74 |
75 | #### Defined in
76 |
77 | [src/types/app.ts:201](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L201)
78 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.BoxName.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / BoxName
2 |
3 | # Interface: BoxName
4 |
5 | [types/app](../modules/types_app.md).BoxName
6 |
7 | The name of a box storage box
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [name](types_app.BoxName.md#name)
14 | - [nameBase64](types_app.BoxName.md#namebase64)
15 | - [nameRaw](types_app.BoxName.md#nameraw)
16 |
17 | ## Properties
18 |
19 | ### name
20 |
21 | • **name**: `string`
22 |
23 | Name in UTF-8
24 |
25 | #### Defined in
26 |
27 | [src/types/app.ts:387](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L387)
28 |
29 | ___
30 |
31 | ### nameBase64
32 |
33 | • **nameBase64**: `string`
34 |
35 | Name in Base64
36 |
37 | #### Defined in
38 |
39 | [src/types/app.ts:391](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L391)
40 |
41 | ___
42 |
43 | ### nameRaw
44 |
45 | • **nameRaw**: `Uint8Array`
46 |
47 | Name in binary bytes
48 |
49 | #### Defined in
50 |
51 | [src/types/app.ts:389](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L389)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.BoxReference.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / BoxReference
2 |
3 | # Interface: BoxReference
4 |
5 | [types/app](../modules/types_app.md).BoxReference
6 |
7 | **`Deprecated`**
8 |
9 | Use `types/app-manager/BoxReference` instead.
10 |
11 | A grouping of the app ID and name of the box in an Uint8Array
12 |
13 | ## Table of contents
14 |
15 | ### Properties
16 |
17 | - [appId](types_app.BoxReference.md#appid)
18 | - [name](types_app.BoxReference.md#name)
19 |
20 | ## Properties
21 |
22 | ### appId
23 |
24 | • **appId**: `number` \| `bigint`
25 |
26 | A unique application id
27 |
28 | #### Defined in
29 |
30 | [src/types/app.ts:55](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L55)
31 |
32 | ___
33 |
34 | ### name
35 |
36 | • **name**: [`BoxIdentifier`](../modules/types_app.md#boxidentifier)
37 |
38 | Name of box to reference
39 |
40 | #### Defined in
41 |
42 | [src/types/app.ts:59](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L59)
43 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.BoxValueRequestParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / BoxValueRequestParams
2 |
3 | # Interface: BoxValueRequestParams
4 |
5 | [types/app](../modules/types_app.md).BoxValueRequestParams
6 |
7 | **`Deprecated`**
8 |
9 | Use `types/app-manager/BoxValueRequestParams` instead.
10 | Parameters to get and decode a box value as an ABI type.
11 |
12 | ## Table of contents
13 |
14 | ### Properties
15 |
16 | - [appId](types_app.BoxValueRequestParams.md#appid)
17 | - [boxName](types_app.BoxValueRequestParams.md#boxname)
18 | - [type](types_app.BoxValueRequestParams.md#type)
19 |
20 | ## Properties
21 |
22 | ### appId
23 |
24 | • **appId**: `number` \| `bigint`
25 |
26 | The ID of the app return box names for
27 |
28 | #### Defined in
29 |
30 | [src/types/app.ts:400](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L400)
31 |
32 | ___
33 |
34 | ### boxName
35 |
36 | • **boxName**: `string` \| `Uint8Array` \| [`BoxName`](types_app.BoxName.md)
37 |
38 | The name of the box to return either as a string, binary array or `BoxName`
39 |
40 | #### Defined in
41 |
42 | [src/types/app.ts:402](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L402)
43 |
44 | ___
45 |
46 | ### type
47 |
48 | • **type**: `ABIType`
49 |
50 | The ABI type to decode the value using
51 |
52 | #### Defined in
53 |
54 | [src/types/app.ts:404](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L404)
55 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.BoxValuesRequestParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / BoxValuesRequestParams
2 |
3 | # Interface: BoxValuesRequestParams
4 |
5 | [types/app](../modules/types_app.md).BoxValuesRequestParams
6 |
7 | **`Deprecated`**
8 |
9 | Use `types/app-manager/BoxValuesRequestParams` instead.
10 | Parameters to get and decode a box value as an ABI type.
11 |
12 | ## Table of contents
13 |
14 | ### Properties
15 |
16 | - [appId](types_app.BoxValuesRequestParams.md#appid)
17 | - [boxNames](types_app.BoxValuesRequestParams.md#boxnames)
18 | - [type](types_app.BoxValuesRequestParams.md#type)
19 |
20 | ## Properties
21 |
22 | ### appId
23 |
24 | • **appId**: `number`
25 |
26 | The ID of the app return box names for
27 |
28 | #### Defined in
29 |
30 | [src/types/app.ts:413](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L413)
31 |
32 | ___
33 |
34 | ### boxNames
35 |
36 | • **boxNames**: (`string` \| `Uint8Array` \| [`BoxName`](types_app.BoxName.md))[]
37 |
38 | The names of the boxes to return either as a string, binary array or BoxName`
39 |
40 | #### Defined in
41 |
42 | [src/types/app.ts:415](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L415)
43 |
44 | ___
45 |
46 | ### type
47 |
48 | • **type**: `ABIType`
49 |
50 | The ABI type to decode the value using
51 |
52 | #### Defined in
53 |
54 | [src/types/app.ts:417](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L417)
55 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.CompiledTeal.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / CompiledTeal
2 |
3 | # Interface: CompiledTeal
4 |
5 | [types/app](../modules/types_app.md).CompiledTeal
6 |
7 | Information about a compiled teal program
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [compiled](types_app.CompiledTeal.md#compiled)
14 | - [compiledBase64ToBytes](types_app.CompiledTeal.md#compiledbase64tobytes)
15 | - [compiledHash](types_app.CompiledTeal.md#compiledhash)
16 | - [sourceMap](types_app.CompiledTeal.md#sourcemap)
17 | - [teal](types_app.CompiledTeal.md#teal)
18 |
19 | ## Properties
20 |
21 | ### compiled
22 |
23 | • **compiled**: `string`
24 |
25 | The compiled code
26 |
27 | #### Defined in
28 |
29 | [src/types/app.ts:217](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L217)
30 |
31 | ___
32 |
33 | ### compiledBase64ToBytes
34 |
35 | • **compiledBase64ToBytes**: `Uint8Array`
36 |
37 | The base64 encoded code as a byte array
38 |
39 | #### Defined in
40 |
41 | [src/types/app.ts:221](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L221)
42 |
43 | ___
44 |
45 | ### compiledHash
46 |
47 | • **compiledHash**: `string`
48 |
49 | The hash returned by the compiler
50 |
51 | #### Defined in
52 |
53 | [src/types/app.ts:219](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L219)
54 |
55 | ___
56 |
57 | ### sourceMap
58 |
59 | • **sourceMap**: `ProgramSourceMap`
60 |
61 | Source map from the compilation
62 |
63 | #### Defined in
64 |
65 | [src/types/app.ts:223](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L223)
66 |
67 | ___
68 |
69 | ### teal
70 |
71 | • **teal**: `string`
72 |
73 | Original TEAL code
74 |
75 | #### Defined in
76 |
77 | [src/types/app.ts:215](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L215)
78 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app.TealTemplateParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app](../modules/types_app.md) / TealTemplateParams
2 |
3 | # Interface: TealTemplateParams
4 |
5 | [types/app](../modules/types_app.md).TealTemplateParams
6 |
7 | Dictionary of deploy-time parameters to replace in a teal template.
8 |
9 | Note: Looks for `TMPL_{parameter}` for template replacements i.e. you can leave out the `TMPL_`.
10 |
11 | ## Indexable
12 |
13 | ▪ [key: `string`]: `string` \| `bigint` \| `number` \| `Uint8Array`
14 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_arc56.Event.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-arc56](../modules/types_app_arc56.md) / Event
2 |
3 | # Interface: Event
4 |
5 | [types/app-arc56](../modules/types_app_arc56.md).Event
6 |
7 | ARC-28 event
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [args](types_app_arc56.Event.md#args)
14 | - [desc](types_app_arc56.Event.md#desc)
15 | - [name](types_app_arc56.Event.md#name)
16 |
17 | ## Properties
18 |
19 | ### args
20 |
21 | • **args**: \{ `desc?`: `string` ; `name?`: `string` ; `struct?`: `string` ; `type`: `string` }[]
22 |
23 | The arguments of the event, in order
24 |
25 | #### Defined in
26 |
27 | [src/types/app-arc56.ts:434](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L434)
28 |
29 | ___
30 |
31 | ### desc
32 |
33 | • `Optional` **desc**: `string`
34 |
35 | Optional, user-friendly description for the event
36 |
37 | #### Defined in
38 |
39 | [src/types/app-arc56.ts:432](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L432)
40 |
41 | ___
42 |
43 | ### name
44 |
45 | • **name**: `string`
46 |
47 | The name of the event
48 |
49 | #### Defined in
50 |
51 | [src/types/app-arc56.ts:430](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L430)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_arc56.ProgramSourceInfo.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-arc56](../modules/types_app_arc56.md) / ProgramSourceInfo
2 |
3 | # Interface: ProgramSourceInfo
4 |
5 | [types/app-arc56](../modules/types_app_arc56.md).ProgramSourceInfo
6 |
7 | ## Table of contents
8 |
9 | ### Properties
10 |
11 | - [pcOffsetMethod](types_app_arc56.ProgramSourceInfo.md#pcoffsetmethod)
12 | - [sourceInfo](types_app_arc56.ProgramSourceInfo.md#sourceinfo)
13 |
14 | ## Properties
15 |
16 | ### pcOffsetMethod
17 |
18 | • **pcOffsetMethod**: ``"none"`` \| ``"cblocks"``
19 |
20 | How the program counter offset is calculated
21 | - none: The pc values in sourceInfo are not offset
22 | - cblocks: The pc values in sourceInfo are offset by the PC of the first op following the last cblock at the top of the program
23 |
24 | #### Defined in
25 |
26 | [src/types/app-arc56.ts:515](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L515)
27 |
28 | ___
29 |
30 | ### sourceInfo
31 |
32 | • **sourceInfo**: `SourceInfo`[]
33 |
34 | The source information for the program
35 |
36 | #### Defined in
37 |
38 | [src/types/app-arc56.ts:510](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L510)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_arc56.StorageKey.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-arc56](../modules/types_app_arc56.md) / StorageKey
2 |
3 | # Interface: StorageKey
4 |
5 | [types/app-arc56](../modules/types_app_arc56.md).StorageKey
6 |
7 | Describes a single key in app storage
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [desc](types_app_arc56.StorageKey.md#desc)
14 | - [key](types_app_arc56.StorageKey.md#key)
15 | - [keyType](types_app_arc56.StorageKey.md#keytype)
16 | - [valueType](types_app_arc56.StorageKey.md#valuetype)
17 |
18 | ## Properties
19 |
20 | ### desc
21 |
22 | • `Optional` **desc**: `string`
23 |
24 | Description of what this storage key holds
25 |
26 | #### Defined in
27 |
28 | [src/types/app-arc56.ts:475](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L475)
29 |
30 | ___
31 |
32 | ### key
33 |
34 | • **key**: `string`
35 |
36 | The bytes of the key encoded as base64
37 |
38 | #### Defined in
39 |
40 | [src/types/app-arc56.ts:482](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L482)
41 |
42 | ___
43 |
44 | ### keyType
45 |
46 | • **keyType**: `string`
47 |
48 | The type of the key
49 |
50 | #### Defined in
51 |
52 | [src/types/app-arc56.ts:477](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L477)
53 |
54 | ___
55 |
56 | ### valueType
57 |
58 | • **valueType**: `string`
59 |
60 | The type of the value
61 |
62 | #### Defined in
63 |
64 | [src/types/app-arc56.ts:480](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L480)
65 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_arc56.StorageMap.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-arc56](../modules/types_app_arc56.md) / StorageMap
2 |
3 | # Interface: StorageMap
4 |
5 | [types/app-arc56](../modules/types_app_arc56.md).StorageMap
6 |
7 | Describes a mapping of key-value pairs in storage
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [desc](types_app_arc56.StorageMap.md#desc)
14 | - [keyType](types_app_arc56.StorageMap.md#keytype)
15 | - [prefix](types_app_arc56.StorageMap.md#prefix)
16 | - [valueType](types_app_arc56.StorageMap.md#valuetype)
17 |
18 | ## Properties
19 |
20 | ### desc
21 |
22 | • `Optional` **desc**: `string`
23 |
24 | Description of what the key-value pairs in this mapping hold
25 |
26 | #### Defined in
27 |
28 | [src/types/app-arc56.ts:488](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L488)
29 |
30 | ___
31 |
32 | ### keyType
33 |
34 | • **keyType**: `string`
35 |
36 | The type of the keys in the map
37 |
38 | #### Defined in
39 |
40 | [src/types/app-arc56.ts:490](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L490)
41 |
42 | ___
43 |
44 | ### prefix
45 |
46 | • `Optional` **prefix**: `string`
47 |
48 | The base64-encoded prefix of the map keys
49 |
50 | #### Defined in
51 |
52 | [src/types/app-arc56.ts:494](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L494)
53 |
54 | ___
55 |
56 | ### valueType
57 |
58 | • **valueType**: `string`
59 |
60 | The type of the values in the map
61 |
62 | #### Defined in
63 |
64 | [src/types/app-arc56.ts:492](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L492)
65 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_arc56.StructField.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-arc56](../modules/types_app_arc56.md) / StructField
2 |
3 | # Interface: StructField
4 |
5 | [types/app-arc56](../modules/types_app_arc56.md).StructField
6 |
7 | Information about a single field in a struct
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [name](types_app_arc56.StructField.md#name)
14 | - [type](types_app_arc56.StructField.md#type)
15 |
16 | ## Properties
17 |
18 | ### name
19 |
20 | • **name**: `string`
21 |
22 | The name of the struct field
23 |
24 | #### Defined in
25 |
26 | [src/types/app-arc56.ts:467](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L467)
27 |
28 | ___
29 |
30 | ### type
31 |
32 | • **type**: `string` \| [`StructField`](types_app_arc56.StructField.md)[]
33 |
34 | The type of the struct field's value
35 |
36 | #### Defined in
37 |
38 | [src/types/app-arc56.ts:469](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-arc56.ts#L469)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.AppClientCallCoreParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / AppClientCallCoreParams
2 |
3 | # Interface: AppClientCallCoreParams
4 |
5 | [types/app-client](../modules/types_app_client.md).AppClientCallCoreParams
6 |
7 | Common (core) parameters to construct a ApplicationClient contract call
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [note](types_app_client.AppClientCallCoreParams.md#note)
14 | - [sendParams](types_app_client.AppClientCallCoreParams.md#sendparams)
15 | - [sender](types_app_client.AppClientCallCoreParams.md#sender)
16 |
17 | ## Properties
18 |
19 | ### note
20 |
21 | • `Optional` **note**: [`TransactionNote`](../modules/types_transaction.md#transactionnote)
22 |
23 | The transaction note for the smart contract call
24 |
25 | #### Defined in
26 |
27 | [src/types/app-client.ts:212](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L212)
28 |
29 | ___
30 |
31 | ### sendParams
32 |
33 | • `Optional` **sendParams**: [`SendTransactionParams`](types_transaction.SendTransactionParams.md)
34 |
35 | Parameters to control transaction sending
36 |
37 | #### Defined in
38 |
39 | [src/types/app-client.ts:214](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L214)
40 |
41 | ___
42 |
43 | ### sender
44 |
45 | • `Optional` **sender**: [`SendTransactionFrom`](../modules/types_transaction.md#sendtransactionfrom)
46 |
47 | The optional sender to send the transaction from, will use the application client's default sender by default if specified
48 |
49 | #### Defined in
50 |
51 | [src/types/app-client.ts:210](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L210)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.AppClientCompilationParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / AppClientCompilationParams
2 |
3 | # Interface: AppClientCompilationParams
4 |
5 | [types/app-client](../modules/types_app_client.md).AppClientCompilationParams
6 |
7 | ## Table of contents
8 |
9 | ### Properties
10 |
11 | - [deletable](types_app_client.AppClientCompilationParams.md#deletable)
12 | - [deployTimeParams](types_app_client.AppClientCompilationParams.md#deploytimeparams)
13 | - [updatable](types_app_client.AppClientCompilationParams.md#updatable)
14 |
15 | ## Properties
16 |
17 | ### deletable
18 |
19 | • `Optional` **deletable**: `boolean`
20 |
21 | Whether or not the contract should have deploy-time permanence control set, undefined = ignore
22 |
23 | #### Defined in
24 |
25 | [src/types/app-client.ts:229](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L229)
26 |
27 | ___
28 |
29 | ### deployTimeParams
30 |
31 | • `Optional` **deployTimeParams**: [`TealTemplateParams`](types_app.TealTemplateParams.md)
32 |
33 | Any deploy-time parameters to replace in the TEAL code
34 |
35 | #### Defined in
36 |
37 | [src/types/app-client.ts:225](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L225)
38 |
39 | ___
40 |
41 | ### updatable
42 |
43 | • `Optional` **updatable**: `boolean`
44 |
45 | Whether or not the contract should have deploy-time immutability control set, undefined = ignore
46 |
47 | #### Defined in
48 |
49 | [src/types/app-client.ts:227](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L227)
50 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.AppClientCompilationResult.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / AppClientCompilationResult
2 |
3 | # Interface: AppClientCompilationResult
4 |
5 | [types/app-client](../modules/types_app_client.md).AppClientCompilationResult
6 |
7 | The result of asking an `AppClient` to compile a program.
8 |
9 | Always contains the compiled bytecode, and may contain the result of compiling TEAL (including sourcemap) if it was available.
10 |
11 | ## Hierarchy
12 |
13 | - `Partial`\<[`AppCompilationResult`](types_app.AppCompilationResult.md)\>
14 |
15 | ↳ **`AppClientCompilationResult`**
16 |
17 | ## Table of contents
18 |
19 | ### Properties
20 |
21 | - [approvalProgram](types_app_client.AppClientCompilationResult.md#approvalprogram)
22 | - [clearStateProgram](types_app_client.AppClientCompilationResult.md#clearstateprogram)
23 | - [compiledApproval](types_app_client.AppClientCompilationResult.md#compiledapproval)
24 | - [compiledClear](types_app_client.AppClientCompilationResult.md#compiledclear)
25 |
26 | ## Properties
27 |
28 | ### approvalProgram
29 |
30 | • **approvalProgram**: `Uint8Array`
31 |
32 | The compiled bytecode of the approval program, ready to deploy to algod
33 |
34 | #### Defined in
35 |
36 | [src/types/app-client.ts:282](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L282)
37 |
38 | ___
39 |
40 | ### clearStateProgram
41 |
42 | • **clearStateProgram**: `Uint8Array`
43 |
44 | The compiled bytecode of the clear state program, ready to deploy to algod
45 |
46 | #### Defined in
47 |
48 | [src/types/app-client.ts:284](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L284)
49 |
50 | ___
51 |
52 | ### compiledApproval
53 |
54 | • `Optional` **compiledApproval**: [`CompiledTeal`](types_app.CompiledTeal.md)
55 |
56 | The result of compiling the approval program
57 |
58 | #### Inherited from
59 |
60 | Partial.compiledApproval
61 |
62 | #### Defined in
63 |
64 | [src/types/app.ts:335](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L335)
65 |
66 | ___
67 |
68 | ### compiledClear
69 |
70 | • `Optional` **compiledClear**: [`CompiledTeal`](types_app.CompiledTeal.md)
71 |
72 | The result of compiling the clear state program
73 |
74 | #### Inherited from
75 |
76 | Partial.compiledClear
77 |
78 | #### Defined in
79 |
80 | [src/types/app.ts:337](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app.ts#L337)
81 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.AppSourceMaps.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / AppSourceMaps
2 |
3 | # Interface: AppSourceMaps
4 |
5 | [types/app-client](../modules/types_app_client.md).AppSourceMaps
6 |
7 | Source maps for an Algorand app
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [approvalSourceMap](types_app_client.AppSourceMaps.md#approvalsourcemap)
14 | - [clearSourceMap](types_app_client.AppSourceMaps.md#clearsourcemap)
15 |
16 | ## Properties
17 |
18 | ### approvalSourceMap
19 |
20 | • **approvalSourceMap**: [`SourceMapExport`](types_app_client.SourceMapExport.md)
21 |
22 | The source map of the approval program
23 |
24 | #### Defined in
25 |
26 | [src/types/app-client.ts:263](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L263)
27 |
28 | ___
29 |
30 | ### clearSourceMap
31 |
32 | • **clearSourceMap**: [`SourceMapExport`](types_app_client.SourceMapExport.md)
33 |
34 | The source map of the clear program
35 |
36 | #### Defined in
37 |
38 | [src/types/app-client.ts:265](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L265)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.FundAppAccountParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / FundAppAccountParams
2 |
3 | # Interface: FundAppAccountParams
4 |
5 | [types/app-client](../modules/types_app_client.md).FundAppAccountParams
6 |
7 | Parameters for funding an app account
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [amount](types_app_client.FundAppAccountParams.md#amount)
14 | - [note](types_app_client.FundAppAccountParams.md#note)
15 | - [sendParams](types_app_client.FundAppAccountParams.md#sendparams)
16 | - [sender](types_app_client.FundAppAccountParams.md#sender)
17 |
18 | ## Properties
19 |
20 | ### amount
21 |
22 | • **amount**: [`AlgoAmount`](../classes/types_amount.AlgoAmount.md)
23 |
24 | #### Defined in
25 |
26 | [src/types/app-client.ts:251](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L251)
27 |
28 | ___
29 |
30 | ### note
31 |
32 | • `Optional` **note**: [`TransactionNote`](../modules/types_transaction.md#transactionnote)
33 |
34 | The transaction note for the smart contract call
35 |
36 | #### Defined in
37 |
38 | [src/types/app-client.ts:255](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L255)
39 |
40 | ___
41 |
42 | ### sendParams
43 |
44 | • `Optional` **sendParams**: [`SendTransactionParams`](types_transaction.SendTransactionParams.md)
45 |
46 | Parameters to control transaction sending
47 |
48 | #### Defined in
49 |
50 | [src/types/app-client.ts:257](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L257)
51 |
52 | ___
53 |
54 | ### sender
55 |
56 | • `Optional` **sender**: [`SendTransactionFrom`](../modules/types_transaction.md#sendtransactionfrom)
57 |
58 | The optional sender to send the transaction from, will use the application client's default sender by default if specified
59 |
60 | #### Defined in
61 |
62 | [src/types/app-client.ts:253](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L253)
63 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.ResolveAppById.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / ResolveAppById
2 |
3 | # Interface: ResolveAppById
4 |
5 | [types/app-client](../modules/types_app_client.md).ResolveAppById
6 |
7 | Configuration to resolve app by ID
8 |
9 | ## Hierarchy
10 |
11 | - [`ResolveAppByIdBase`](types_app_client.ResolveAppByIdBase.md)
12 |
13 | ↳ **`ResolveAppById`**
14 |
15 | ## Table of contents
16 |
17 | ### Properties
18 |
19 | - [id](types_app_client.ResolveAppById.md#id)
20 | - [name](types_app_client.ResolveAppById.md#name)
21 | - [resolveBy](types_app_client.ResolveAppById.md#resolveby)
22 |
23 | ## Properties
24 |
25 | ### id
26 |
27 | • **id**: `number` \| `bigint`
28 |
29 | The id of an existing app to call using this client, or 0 if the app hasn't been created yet
30 |
31 | #### Inherited from
32 |
33 | [ResolveAppByIdBase](types_app_client.ResolveAppByIdBase.md).[id](types_app_client.ResolveAppByIdBase.md#id)
34 |
35 | #### Defined in
36 |
37 | [src/types/app-client.ts:112](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L112)
38 |
39 | ___
40 |
41 | ### name
42 |
43 | • `Optional` **name**: `string`
44 |
45 | The optional name to use to mark the app when deploying `ApplicationClient.deploy` (default: uses the name in the ABI contract)
46 |
47 | #### Inherited from
48 |
49 | [ResolveAppByIdBase](types_app_client.ResolveAppByIdBase.md).[name](types_app_client.ResolveAppByIdBase.md#name)
50 |
51 | #### Defined in
52 |
53 | [src/types/app-client.ts:114](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L114)
54 |
55 | ___
56 |
57 | ### resolveBy
58 |
59 | • **resolveBy**: ``"id"``
60 |
61 | How the app ID is resolved, either by `'id'` or `'creatorAndName'`; must be `'creatorAndName'` if you want to use `deploy`
62 |
63 | #### Defined in
64 |
65 | [src/types/app-client.ts:119](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L119)
66 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.ResolveAppByIdBase.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / ResolveAppByIdBase
2 |
3 | # Interface: ResolveAppByIdBase
4 |
5 | [types/app-client](../modules/types_app_client.md).ResolveAppByIdBase
6 |
7 | Configuration to resolve app by ID
8 |
9 | ## Hierarchy
10 |
11 | - **`ResolveAppByIdBase`**
12 |
13 | ↳ [`ResolveAppById`](types_app_client.ResolveAppById.md)
14 |
15 | ## Table of contents
16 |
17 | ### Properties
18 |
19 | - [id](types_app_client.ResolveAppByIdBase.md#id)
20 | - [name](types_app_client.ResolveAppByIdBase.md#name)
21 |
22 | ## Properties
23 |
24 | ### id
25 |
26 | • **id**: `number` \| `bigint`
27 |
28 | The id of an existing app to call using this client, or 0 if the app hasn't been created yet
29 |
30 | #### Defined in
31 |
32 | [src/types/app-client.ts:112](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L112)
33 |
34 | ___
35 |
36 | ### name
37 |
38 | • `Optional` **name**: `string`
39 |
40 | The optional name to use to mark the app when deploying `ApplicationClient.deploy` (default: uses the name in the ABI contract)
41 |
42 | #### Defined in
43 |
44 | [src/types/app-client.ts:114](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L114)
45 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_client.SourceMapExport.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-client](../modules/types_app_client.md) / SourceMapExport
2 |
3 | # Interface: SourceMapExport
4 |
5 | [types/app-client](../modules/types_app_client.md).SourceMapExport
6 |
7 | ## Table of contents
8 |
9 | ### Properties
10 |
11 | - [mappings](types_app_client.SourceMapExport.md#mappings)
12 | - [names](types_app_client.SourceMapExport.md#names)
13 | - [sources](types_app_client.SourceMapExport.md#sources)
14 | - [version](types_app_client.SourceMapExport.md#version)
15 |
16 | ## Properties
17 |
18 | ### mappings
19 |
20 | • **mappings**: `string`
21 |
22 | #### Defined in
23 |
24 | [src/types/app-client.ts:272](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L272)
25 |
26 | ___
27 |
28 | ### names
29 |
30 | • **names**: `string`[]
31 |
32 | #### Defined in
33 |
34 | [src/types/app-client.ts:271](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L271)
35 |
36 | ___
37 |
38 | ### sources
39 |
40 | • **sources**: `string`[]
41 |
42 | #### Defined in
43 |
44 | [src/types/app-client.ts:270](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L270)
45 |
46 | ___
47 |
48 | ### version
49 |
50 | • **version**: `number`
51 |
52 | #### Defined in
53 |
54 | [src/types/app-client.ts:269](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L269)
55 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_deployer.AppLookup.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-deployer](../modules/types_app_deployer.md) / AppLookup
2 |
3 | # Interface: AppLookup
4 |
5 | [types/app-deployer](../modules/types_app_deployer.md).AppLookup
6 |
7 | A lookup of name -> Algorand app for a creator
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [apps](types_app_deployer.AppLookup.md#apps)
14 | - [creator](types_app_deployer.AppLookup.md#creator)
15 |
16 | ## Properties
17 |
18 | ### apps
19 |
20 | • **apps**: `Object`
21 |
22 | A hash map of app name to app metadata
23 |
24 | #### Index signature
25 |
26 | ▪ [name: `string`]: [`AppMetadata`](types_app_deployer.AppMetadata.md)
27 |
28 | #### Defined in
29 |
30 | [src/types/app-deployer.ts:94](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-deployer.ts#L94)
31 |
32 | ___
33 |
34 | ### creator
35 |
36 | • **creator**: `Readonly`\<`Address`\>
37 |
38 | The address of the creator associated with this lookup
39 |
40 | #### Defined in
41 |
42 | [src/types/app-deployer.ts:92](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-deployer.ts#L92)
43 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_manager.BoxReference.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-manager](../modules/types_app_manager.md) / BoxReference
2 |
3 | # Interface: BoxReference
4 |
5 | [types/app-manager](../modules/types_app_manager.md).BoxReference
6 |
7 | A grouping of the app ID and name identifier to reference an app box.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [appId](types_app_manager.BoxReference.md#appid)
14 | - [name](types_app_manager.BoxReference.md#name)
15 |
16 | ## Properties
17 |
18 | ### appId
19 |
20 | • **appId**: `bigint`
21 |
22 | A unique application id
23 |
24 | #### Defined in
25 |
26 | [src/types/app-manager.ts:66](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L66)
27 |
28 | ___
29 |
30 | ### name
31 |
32 | • **name**: [`BoxIdentifier`](../modules/types_app_manager.md#boxidentifier)
33 |
34 | Identifier for a box name
35 |
36 | #### Defined in
37 |
38 | [src/types/app-manager.ts:70](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L70)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_manager.BoxValueRequestParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-manager](../modules/types_app_manager.md) / BoxValueRequestParams
2 |
3 | # Interface: BoxValueRequestParams
4 |
5 | [types/app-manager](../modules/types_app_manager.md).BoxValueRequestParams
6 |
7 | Parameters to get and decode a box value as an ABI type.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [appId](types_app_manager.BoxValueRequestParams.md#appid)
14 | - [boxName](types_app_manager.BoxValueRequestParams.md#boxname)
15 | - [type](types_app_manager.BoxValueRequestParams.md#type)
16 |
17 | ## Properties
18 |
19 | ### appId
20 |
21 | • **appId**: `bigint`
22 |
23 | The ID of the app return box names for
24 |
25 | #### Defined in
26 |
27 | [src/types/app-manager.ts:78](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L78)
28 |
29 | ___
30 |
31 | ### boxName
32 |
33 | • **boxName**: [`BoxIdentifier`](../modules/types_app_manager.md#boxidentifier)
34 |
35 | The name of the box to return either as a string, binary array or `BoxName`
36 |
37 | #### Defined in
38 |
39 | [src/types/app-manager.ts:80](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L80)
40 |
41 | ___
42 |
43 | ### type
44 |
45 | • **type**: `ABIType`
46 |
47 | The ABI type to decode the value using
48 |
49 | #### Defined in
50 |
51 | [src/types/app-manager.ts:82](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L82)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_manager.BoxValuesRequestParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-manager](../modules/types_app_manager.md) / BoxValuesRequestParams
2 |
3 | # Interface: BoxValuesRequestParams
4 |
5 | [types/app-manager](../modules/types_app_manager.md).BoxValuesRequestParams
6 |
7 | Parameters to get and decode a box value as an ABI type.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [appId](types_app_manager.BoxValuesRequestParams.md#appid)
14 | - [boxNames](types_app_manager.BoxValuesRequestParams.md#boxnames)
15 | - [type](types_app_manager.BoxValuesRequestParams.md#type)
16 |
17 | ## Properties
18 |
19 | ### appId
20 |
21 | • **appId**: `bigint`
22 |
23 | The ID of the app return box names for
24 |
25 | #### Defined in
26 |
27 | [src/types/app-manager.ts:90](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L90)
28 |
29 | ___
30 |
31 | ### boxNames
32 |
33 | • **boxNames**: [`BoxIdentifier`](../modules/types_app_manager.md#boxidentifier)[]
34 |
35 | The names of the boxes to return either as a string, binary array or BoxName`
36 |
37 | #### Defined in
38 |
39 | [src/types/app-manager.ts:92](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L92)
40 |
41 | ___
42 |
43 | ### type
44 |
45 | • **type**: `ABIType`
46 |
47 | The ABI type to decode the value using
48 |
49 | #### Defined in
50 |
51 | [src/types/app-manager.ts:94](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L94)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.AppSources.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / AppSources
2 |
3 | # Interface: AppSources
4 |
5 | [types/app-spec](../modules/types_app_spec.md).AppSources
6 |
7 | The TEAL source of a contract
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [approval](types_app_spec.AppSources.md#approval)
14 | - [clear](types_app_spec.AppSources.md#clear)
15 |
16 | ## Properties
17 |
18 | ### approval
19 |
20 | • **approval**: `string`
21 |
22 | The TEAL source of the approval program
23 |
24 | #### Defined in
25 |
26 | [src/types/app-spec.ts:172](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L172)
27 |
28 | ___
29 |
30 | ### clear
31 |
32 | • **clear**: `string`
33 |
34 | The TEAL source of the clear program
35 |
36 | #### Defined in
37 |
38 | [src/types/app-spec.ts:174](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L174)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.AppSpec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / AppSpec
2 |
3 | # Interface: AppSpec
4 |
5 | [types/app-spec](../modules/types_app_spec.md).AppSpec
6 |
7 | An ARC-0032 Application Specification see https://github.com/algorandfoundation/ARCs/pull/150
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [bare\_call\_config](types_app_spec.AppSpec.md#bare_call_config)
14 | - [contract](types_app_spec.AppSpec.md#contract)
15 | - [hints](types_app_spec.AppSpec.md#hints)
16 | - [schema](types_app_spec.AppSpec.md#schema)
17 | - [source](types_app_spec.AppSpec.md#source)
18 | - [state](types_app_spec.AppSpec.md#state)
19 |
20 | ## Properties
21 |
22 | ### bare\_call\_config
23 |
24 | • **bare\_call\_config**: [`CallConfig`](types_app_spec.CallConfig.md)
25 |
26 | The config of all BARE calls (i.e. non ABI calls with no args)
27 |
28 | #### Defined in
29 |
30 | [src/types/app-spec.ts:163](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L163)
31 |
32 | ___
33 |
34 | ### contract
35 |
36 | • **contract**: `ABIContractParams`
37 |
38 | The ABI-0004 contract definition see https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0004.md
39 |
40 | #### Defined in
41 |
42 | [src/types/app-spec.ts:157](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L157)
43 |
44 | ___
45 |
46 | ### hints
47 |
48 | • **hints**: [`HintSpec`](../modules/types_app_spec.md#hintspec)
49 |
50 | Method call hints
51 |
52 | #### Defined in
53 |
54 | [src/types/app-spec.ts:153](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L153)
55 |
56 | ___
57 |
58 | ### schema
59 |
60 | • **schema**: [`SchemaSpec`](types_app_spec.SchemaSpec.md)
61 |
62 | The values that make up the local and global state
63 |
64 | #### Defined in
65 |
66 | [src/types/app-spec.ts:159](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L159)
67 |
68 | ___
69 |
70 | ### source
71 |
72 | • **source**: [`AppSources`](types_app_spec.AppSources.md)
73 |
74 | The TEAL source
75 |
76 | #### Defined in
77 |
78 | [src/types/app-spec.ts:155](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L155)
79 |
80 | ___
81 |
82 | ### state
83 |
84 | • **state**: [`StateSchemaSpec`](types_app_spec.StateSchemaSpec.md)
85 |
86 | The rolled-up schema allocation values for local and global state
87 |
88 | #### Defined in
89 |
90 | [src/types/app-spec.ts:161](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L161)
91 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.CallConfig.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / CallConfig
2 |
3 | # Interface: CallConfig
4 |
5 | [types/app-spec](../modules/types_app_spec.md).CallConfig
6 |
7 | Call configuration for a method
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [close\_out](types_app_spec.CallConfig.md#close_out)
14 | - [delete\_application](types_app_spec.CallConfig.md#delete_application)
15 | - [no\_op](types_app_spec.CallConfig.md#no_op)
16 | - [opt\_in](types_app_spec.CallConfig.md#opt_in)
17 | - [update\_application](types_app_spec.CallConfig.md#update_application)
18 |
19 | ## Properties
20 |
21 | ### close\_out
22 |
23 | • `Optional` **close\_out**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
24 |
25 | Close out call config
26 |
27 | #### Defined in
28 |
29 | [src/types/app-spec.ts:192](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L192)
30 |
31 | ___
32 |
33 | ### delete\_application
34 |
35 | • `Optional` **delete\_application**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
36 |
37 | Delete call config
38 |
39 | #### Defined in
40 |
41 | [src/types/app-spec.ts:196](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L196)
42 |
43 | ___
44 |
45 | ### no\_op
46 |
47 | • `Optional` **no\_op**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
48 |
49 | NoOp call config
50 |
51 | #### Defined in
52 |
53 | [src/types/app-spec.ts:188](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L188)
54 |
55 | ___
56 |
57 | ### opt\_in
58 |
59 | • `Optional` **opt\_in**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
60 |
61 | Opt-in call config
62 |
63 | #### Defined in
64 |
65 | [src/types/app-spec.ts:190](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L190)
66 |
67 | ___
68 |
69 | ### update\_application
70 |
71 | • `Optional` **update\_application**: [`CallConfigValue`](../modules/types_app_spec.md#callconfigvalue)
72 |
73 | Update call config
74 |
75 | #### Defined in
76 |
77 | [src/types/app-spec.ts:194](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L194)
78 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.DeclaredSchemaValueSpec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / DeclaredSchemaValueSpec
2 |
3 | # Interface: DeclaredSchemaValueSpec
4 |
5 | [types/app-spec](../modules/types_app_spec.md).DeclaredSchemaValueSpec
6 |
7 | Declared schema value specification
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [descr](types_app_spec.DeclaredSchemaValueSpec.md#descr)
14 | - [key](types_app_spec.DeclaredSchemaValueSpec.md#key)
15 | - [static](types_app_spec.DeclaredSchemaValueSpec.md#static)
16 | - [type](types_app_spec.DeclaredSchemaValueSpec.md#type)
17 |
18 | ## Properties
19 |
20 | ### descr
21 |
22 | • `Optional` **descr**: `string`
23 |
24 | A description of the variable
25 |
26 | #### Defined in
27 |
28 | [src/types/app-spec.ts:277](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L277)
29 |
30 | ___
31 |
32 | ### key
33 |
34 | • **key**: `string`
35 |
36 | The name of the key
37 |
38 | #### Defined in
39 |
40 | [src/types/app-spec.ts:275](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L275)
41 |
42 | ___
43 |
44 | ### static
45 |
46 | • `Optional` **static**: `boolean`
47 |
48 | Whether or not the value is set statically (at create time only) or dynamically
49 |
50 | #### Defined in
51 |
52 | [src/types/app-spec.ts:279](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L279)
53 |
54 | ___
55 |
56 | ### type
57 |
58 | • **type**: [`AVMType`](../modules/types_app_spec.md#avmtype)
59 |
60 | The type of value
61 |
62 | #### Defined in
63 |
64 | [src/types/app-spec.ts:273](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L273)
65 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.Hint.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / Hint
2 |
3 | # Interface: Hint
4 |
5 | [types/app-spec](../modules/types_app_spec.md).Hint
6 |
7 | Hint information for a given method call to allow client generation
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [call\_config](types_app_spec.Hint.md#call_config)
14 | - [default\_arguments](types_app_spec.Hint.md#default_arguments)
15 | - [read\_only](types_app_spec.Hint.md#read_only)
16 | - [structs](types_app_spec.Hint.md#structs)
17 |
18 | ## Properties
19 |
20 | ### call\_config
21 |
22 | • **call\_config**: [`CallConfig`](types_app_spec.CallConfig.md)
23 |
24 | #### Defined in
25 |
26 | [src/types/app-spec.ts:205](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L205)
27 |
28 | ___
29 |
30 | ### default\_arguments
31 |
32 | • `Optional` **default\_arguments**: `Record`\<`string`, [`DefaultArgument`](../modules/types_app_spec.md#defaultargument)\>
33 |
34 | #### Defined in
35 |
36 | [src/types/app-spec.ts:204](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L204)
37 |
38 | ___
39 |
40 | ### read\_only
41 |
42 | • `Optional` **read\_only**: `boolean`
43 |
44 | #### Defined in
45 |
46 | [src/types/app-spec.ts:203](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L203)
47 |
48 | ___
49 |
50 | ### structs
51 |
52 | • `Optional` **structs**: `Record`\<`string`, [`Struct`](types_app_spec.Struct.md)\>
53 |
54 | Any user-defined struct/tuple types used in the method call, keyed by parameter name or `output` for return type
55 |
56 | #### Defined in
57 |
58 | [src/types/app-spec.ts:202](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L202)
59 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.ReservedSchemaValueSpec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / ReservedSchemaValueSpec
2 |
3 | # Interface: ReservedSchemaValueSpec
4 |
5 | [types/app-spec](../modules/types_app_spec.md).ReservedSchemaValueSpec
6 |
7 | Reserved schema value specification
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [descr](types_app_spec.ReservedSchemaValueSpec.md#descr)
14 | - [max\_keys](types_app_spec.ReservedSchemaValueSpec.md#max_keys)
15 | - [type](types_app_spec.ReservedSchemaValueSpec.md#type)
16 |
17 | ## Properties
18 |
19 | ### descr
20 |
21 | • **descr**: `string`
22 |
23 | The description of the reserved storage space
24 |
25 | #### Defined in
26 |
27 | [src/types/app-spec.ts:287](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L287)
28 |
29 | ___
30 |
31 | ### max\_keys
32 |
33 | • **max\_keys**: `number`
34 |
35 | The maximum number of slots to reserve
36 |
37 | #### Defined in
38 |
39 | [src/types/app-spec.ts:289](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L289)
40 |
41 | ___
42 |
43 | ### type
44 |
45 | • **type**: [`AVMType`](../modules/types_app_spec.md#avmtype)
46 |
47 | The type of value
48 |
49 | #### Defined in
50 |
51 | [src/types/app-spec.ts:285](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L285)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.Schema.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / Schema
2 |
3 | # Interface: Schema
4 |
5 | [types/app-spec](../modules/types_app_spec.md).Schema
6 |
7 | The storage schema definition
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [declared](types_app_spec.Schema.md#declared)
14 | - [reserved](types_app_spec.Schema.md#reserved)
15 |
16 | ## Properties
17 |
18 | ### declared
19 |
20 | • **declared**: `Record`\<`string`, [`DeclaredSchemaValueSpec`](types_app_spec.DeclaredSchemaValueSpec.md)\>
21 |
22 | Declared storage schema
23 |
24 | #### Defined in
25 |
26 | [src/types/app-spec.ts:303](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L303)
27 |
28 | ___
29 |
30 | ### reserved
31 |
32 | • **reserved**: `Record`\<`string`, [`ReservedSchemaValueSpec`](types_app_spec.ReservedSchemaValueSpec.md)\>
33 |
34 | Reserved storage schema
35 |
36 | #### Defined in
37 |
38 | [src/types/app-spec.ts:305](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L305)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.SchemaSpec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / SchemaSpec
2 |
3 | # Interface: SchemaSpec
4 |
5 | [types/app-spec](../modules/types_app_spec.md).SchemaSpec
6 |
7 | The schema for global and local storage
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [global](types_app_spec.SchemaSpec.md#global)
14 | - [local](types_app_spec.SchemaSpec.md#local)
15 |
16 | ## Properties
17 |
18 | ### global
19 |
20 | • **global**: [`Schema`](types_app_spec.Schema.md)
21 |
22 | The global storage schema
23 |
24 | #### Defined in
25 |
26 | [src/types/app-spec.ts:297](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L297)
27 |
28 | ___
29 |
30 | ### local
31 |
32 | • **local**: [`Schema`](types_app_spec.Schema.md)
33 |
34 | The local storage schema
35 |
36 | #### Defined in
37 |
38 | [src/types/app-spec.ts:295](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L295)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.StateSchemaSpec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / StateSchemaSpec
2 |
3 | # Interface: StateSchemaSpec
4 |
5 | [types/app-spec](../modules/types_app_spec.md).StateSchemaSpec
6 |
7 | The rolled-up schema allocation specification for local and global state
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [global](types_app_spec.StateSchemaSpec.md#global)
14 | - [local](types_app_spec.StateSchemaSpec.md#local)
15 |
16 | ## Properties
17 |
18 | ### global
19 |
20 | • **global**: [`StateSchema`](../modules/types_app_spec.md#stateschema)
21 |
22 | Global storage spec
23 |
24 | #### Defined in
25 |
26 | [src/types/app-spec.ts:311](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L311)
27 |
28 | ___
29 |
30 | ### local
31 |
32 | • **local**: [`StateSchema`](../modules/types_app_spec.md#stateschema)
33 |
34 | Local storage spec
35 |
36 | #### Defined in
37 |
38 | [src/types/app-spec.ts:313](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L313)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_app_spec.Struct.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/app-spec](../modules/types_app_spec.md) / Struct
2 |
3 | # Interface: Struct
4 |
5 | [types/app-spec](../modules/types_app_spec.md).Struct
6 |
7 | A user-defined struct/tuple type
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [elements](types_app_spec.Struct.md#elements)
14 | - [name](types_app_spec.Struct.md#name)
15 |
16 | ## Properties
17 |
18 | ### elements
19 |
20 | • **elements**: [`StructElement`](../modules/types_app_spec.md#structelement)[]
21 |
22 | The elements (in order) that make up the struct/tuple
23 |
24 | #### Defined in
25 |
26 | [src/types/app-spec.ts:222](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L222)
27 |
28 | ___
29 |
30 | ### name
31 |
32 | • **name**: `string`
33 |
34 | The name of the type
35 |
36 | #### Defined in
37 |
38 | [src/types/app-spec.ts:220](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-spec.ts#L220)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_asset_manager.BulkAssetOptInOutResult.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/asset-manager](../modules/types_asset_manager.md) / BulkAssetOptInOutResult
2 |
3 | # Interface: BulkAssetOptInOutResult
4 |
5 | [types/asset-manager](../modules/types_asset_manager.md).BulkAssetOptInOutResult
6 |
7 | Individual result from performing a bulk opt-in or bulk opt-out for an account against a series of assets.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [assetId](types_asset_manager.BulkAssetOptInOutResult.md#assetid)
14 | - [transactionId](types_asset_manager.BulkAssetOptInOutResult.md#transactionid)
15 |
16 | ## Properties
17 |
18 | ### assetId
19 |
20 | • **assetId**: `bigint`
21 |
22 | The ID of the asset opted into / out of
23 |
24 | #### Defined in
25 |
26 | [src/types/asset-manager.ts:11](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/asset-manager.ts#L11)
27 |
28 | ___
29 |
30 | ### transactionId
31 |
32 | • **transactionId**: `string`
33 |
34 | The transaction ID of the resulting opt in / out
35 |
36 | #### Defined in
37 |
38 | [src/types/asset-manager.ts:13](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/asset-manager.ts#L13)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_client_manager.AlgoSdkClients.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/client-manager](../modules/types_client_manager.md) / AlgoSdkClients
2 |
3 | # Interface: AlgoSdkClients
4 |
5 | [types/client-manager](../modules/types_client_manager.md).AlgoSdkClients
6 |
7 | Clients from algosdk that interact with the official Algorand APIs
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [algod](types_client_manager.AlgoSdkClients.md#algod)
14 | - [indexer](types_client_manager.AlgoSdkClients.md#indexer)
15 | - [kmd](types_client_manager.AlgoSdkClients.md#kmd)
16 |
17 | ## Properties
18 |
19 | ### algod
20 |
21 | • **algod**: `AlgodClient`
22 |
23 | Algod client, see https://dev.algorand.co/reference/rest-apis/algod/
24 |
25 | #### Defined in
26 |
27 | [src/types/client-manager.ts:16](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/client-manager.ts#L16)
28 |
29 | ___
30 |
31 | ### indexer
32 |
33 | • `Optional` **indexer**: `IndexerClient`
34 |
35 | Optional indexer client, see https://dev.algorand.co/reference/rest-apis/indexer
36 |
37 | #### Defined in
38 |
39 | [src/types/client-manager.ts:18](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/client-manager.ts#L18)
40 |
41 | ___
42 |
43 | ### kmd
44 |
45 | • `Optional` **kmd**: `KmdClient`
46 |
47 | Optional KMD client, see https://dev.algorand.co/reference/rest-apis/kmd/
48 |
49 | #### Defined in
50 |
51 | [src/types/client-manager.ts:20](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/client-manager.ts#L20)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_client_manager.TypedAppFactory.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/client-manager](../modules/types_client_manager.md) / TypedAppFactory
2 |
3 | # Interface: TypedAppFactory\
4 |
5 | [types/client-manager](../modules/types_client_manager.md).TypedAppFactory
6 |
7 | Interface to identify a typed factory that can be used to create and deploy an application.
8 |
9 | ## Type parameters
10 |
11 | | Name |
12 | | :------ |
13 | | `TClient` |
14 |
15 | ## Table of contents
16 |
17 | ### Constructors
18 |
19 | - [constructor](types_client_manager.TypedAppFactory.md#constructor)
20 |
21 | ## Constructors
22 |
23 | ### constructor
24 |
25 | • **new TypedAppFactory**(`params`): `TClient`
26 |
27 | #### Parameters
28 |
29 | | Name | Type |
30 | | :------ | :------ |
31 | | `params` | `Omit`\<[`AppFactoryParams`](types_app_factory.AppFactoryParams.md), ``"appSpec"``\> |
32 |
33 | #### Returns
34 |
35 | `TClient`
36 |
37 | #### Defined in
38 |
39 | [src/types/client-manager.ts:703](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/client-manager.ts#L703)
40 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_composer.BuiltTransactions.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/composer](../modules/types_composer.md) / BuiltTransactions
2 |
3 | # Interface: BuiltTransactions
4 |
5 | [types/composer](../modules/types_composer.md).BuiltTransactions
6 |
7 | Set of transactions built by `TransactionComposer`.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [methodCalls](types_composer.BuiltTransactions.md#methodcalls)
14 | - [signers](types_composer.BuiltTransactions.md#signers)
15 | - [transactions](types_composer.BuiltTransactions.md#transactions)
16 |
17 | ## Properties
18 |
19 | ### methodCalls
20 |
21 | • **methodCalls**: `Map`\<`number`, `ABIMethod`\>
22 |
23 | Any `ABIMethod` objects associated with any of the transactions in a map keyed by transaction index.
24 |
25 | #### Defined in
26 |
27 | [src/types/composer.ts:541](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L541)
28 |
29 | ___
30 |
31 | ### signers
32 |
33 | • **signers**: `Map`\<`number`, `TransactionSigner`\>
34 |
35 | Any `TransactionSigner` objects associated with any of the transactions in a map keyed by transaction index.
36 |
37 | #### Defined in
38 |
39 | [src/types/composer.ts:543](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L543)
40 |
41 | ___
42 |
43 | ### transactions
44 |
45 | • **transactions**: `Transaction`[]
46 |
47 | The built transactions
48 |
49 | #### Defined in
50 |
51 | [src/types/composer.ts:539](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L539)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_debugging.AVMTracesEventData.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/debugging](../modules/types_debugging.md) / AVMTracesEventData
2 |
3 | # Interface: AVMTracesEventData
4 |
5 | [types/debugging](../modules/types_debugging.md).AVMTracesEventData
6 |
7 | Represents the data for AVM traces debug events emitted whenever a transaction is simulated in debug mode
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [simulateResponse](types_debugging.AVMTracesEventData.md#simulateresponse)
14 |
15 | ## Properties
16 |
17 | ### simulateResponse
18 |
19 | • **simulateResponse**: `SimulateResponse`
20 |
21 | The simulation response from Algod
22 |
23 | #### Defined in
24 |
25 | [src/types/debugging.ts:48](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L48)
26 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_debugging.TealSourceDebugEventData.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/debugging](../modules/types_debugging.md) / TealSourceDebugEventData
2 |
3 | # Interface: TealSourceDebugEventData
4 |
5 | [types/debugging](../modules/types_debugging.md).TealSourceDebugEventData
6 |
7 | Represents the data for a single TEAL source
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [appName](types_debugging.TealSourceDebugEventData.md#appname)
14 | - [compiledTeal](types_debugging.TealSourceDebugEventData.md#compiledteal)
15 | - [fileName](types_debugging.TealSourceDebugEventData.md#filename)
16 |
17 | ## Properties
18 |
19 | ### appName
20 |
21 | • **appName**: `string`
22 |
23 | The name of the application
24 |
25 | #### Defined in
26 |
27 | [src/types/debugging.ts:28](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L28)
28 |
29 | ___
30 |
31 | ### compiledTeal
32 |
33 | • **compiledTeal**: [`CompiledTeal`](types_app.CompiledTeal.md)
34 |
35 | The compiled TEAL code
36 |
37 | #### Defined in
38 |
39 | [src/types/debugging.ts:32](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L32)
40 |
41 | ___
42 |
43 | ### fileName
44 |
45 | • **fileName**: `string`
46 |
47 | The name of the file
48 |
49 | #### Defined in
50 |
51 | [src/types/debugging.ts:30](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L30)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_debugging.TealSourcesDebugEventData.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/debugging](../modules/types_debugging.md) / TealSourcesDebugEventData
2 |
3 | # Interface: TealSourcesDebugEventData
4 |
5 | [types/debugging](../modules/types_debugging.md).TealSourcesDebugEventData
6 |
7 | Represents the data for multiple TEAL sources debug events emitted whenever an app is compiled as part of a deploy in debug mode
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [sources](types_debugging.TealSourcesDebugEventData.md#sources)
14 |
15 | ## Properties
16 |
17 | ### sources
18 |
19 | • **sources**: [`TealSourceDebugEventData`](types_debugging.TealSourceDebugEventData.md)[]
20 |
21 | An array of TEAL source debug event data
22 |
23 | #### Defined in
24 |
25 | [src/types/debugging.ts:40](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L40)
26 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_dispenser_client.DispenserFundResponse.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/dispenser-client](../modules/types_dispenser_client.md) / DispenserFundResponse
2 |
3 | # Interface: DispenserFundResponse
4 |
5 | [types/dispenser-client](../modules/types_dispenser_client.md).DispenserFundResponse
6 |
7 | The TestNet Dispenser API response when funding.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [amount](types_dispenser_client.DispenserFundResponse.md#amount)
14 | - [txId](types_dispenser_client.DispenserFundResponse.md#txid)
15 |
16 | ## Properties
17 |
18 | ### amount
19 |
20 | • **amount**: `number`
21 |
22 | The number of µAlgo that was funded.
23 |
24 | #### Defined in
25 |
26 | [src/types/dispenser-client.ts:29](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/dispenser-client.ts#L29)
27 |
28 | ___
29 |
30 | ### txId
31 |
32 | • **txId**: `string`
33 |
34 | The ID of the transaction that was issued to fund the account.
35 |
36 | #### Defined in
37 |
38 | [src/types/dispenser-client.ts:27](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/dispenser-client.ts#L27)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_dispenser_client.DispenserLimitResponse.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/dispenser-client](../modules/types_dispenser_client.md) / DispenserLimitResponse
2 |
3 | # Interface: DispenserLimitResponse
4 |
5 | [types/dispenser-client](../modules/types_dispenser_client.md).DispenserLimitResponse
6 |
7 | The TestNet Dispenser API response when getting the current limit.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [amount](types_dispenser_client.DispenserLimitResponse.md#amount)
14 |
15 | ## Properties
16 |
17 | ### amount
18 |
19 | • **amount**: `number`
20 |
21 | The limit, in µAlgo, that you can currently fund.
22 |
23 | #### Defined in
24 |
25 | [src/types/dispenser-client.ts:35](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/dispenser-client.ts#L35)
26 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_dispenser_client.TestNetDispenserApiClientParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/dispenser-client](../modules/types_dispenser_client.md) / TestNetDispenserApiClientParams
2 |
3 | # Interface: TestNetDispenserApiClientParams
4 |
5 | [types/dispenser-client](../modules/types_dispenser_client.md).TestNetDispenserApiClientParams
6 |
7 | The parameters to construct a TestNet Dispenser API client.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [authToken](types_dispenser_client.TestNetDispenserApiClientParams.md#authtoken)
14 | - [requestTimeout](types_dispenser_client.TestNetDispenserApiClientParams.md#requesttimeout)
15 |
16 | ## Properties
17 |
18 | ### authToken
19 |
20 | • **authToken**: `string`
21 |
22 | The API auth token
23 |
24 | #### Defined in
25 |
26 | [src/types/dispenser-client.ts:41](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/dispenser-client.ts#L41)
27 |
28 | ___
29 |
30 | ### requestTimeout
31 |
32 | • `Optional` **requestTimeout**: `number`
33 |
34 | The request timeout in seconds
35 |
36 | #### Defined in
37 |
38 | [src/types/dispenser-client.ts:43](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/dispenser-client.ts#L43)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_indexer.LookupAssetHoldingsOptions.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/indexer](../modules/types_indexer.md) / LookupAssetHoldingsOptions
2 |
3 | # Interface: LookupAssetHoldingsOptions
4 |
5 | [types/indexer](../modules/types_indexer.md).LookupAssetHoldingsOptions
6 |
7 | Options when looking up an asset's account holdings, https://dev.algorand.co/reference/rest-apis/indexer#get-v2assetsasset-idbalances
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [currencyGreaterThan](types_indexer.LookupAssetHoldingsOptions.md#currencygreaterthan)
14 | - [currencyLessThan](types_indexer.LookupAssetHoldingsOptions.md#currencylessthan)
15 | - [includeAll](types_indexer.LookupAssetHoldingsOptions.md#includeall)
16 |
17 | ## Properties
18 |
19 | ### currencyGreaterThan
20 |
21 | • `Optional` **currencyGreaterThan**: `number` \| `bigint`
22 |
23 | Results should have a decimal units amount greater than this value.
24 |
25 | #### Defined in
26 |
27 | [src/types/indexer.ts:27](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L27)
28 |
29 | ___
30 |
31 | ### currencyLessThan
32 |
33 | • `Optional` **currencyLessThan**: `number` \| `bigint`
34 |
35 | Results should have a decimal units amount less than this value.
36 |
37 | #### Defined in
38 |
39 | [src/types/indexer.ts:25](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L25)
40 |
41 | ___
42 |
43 | ### includeAll
44 |
45 | • `Optional` **includeAll**: `boolean`
46 |
47 | Include all items including closed accounts and opted-out asset holdings.
48 |
49 | #### Defined in
50 |
51 | [src/types/indexer.ts:29](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/indexer.ts#L29)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_logic_error.LogicErrorDetails.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/logic-error](../modules/types_logic_error.md) / LogicErrorDetails
2 |
3 | # Interface: LogicErrorDetails
4 |
5 | [types/logic-error](../modules/types_logic_error.md).LogicErrorDetails
6 |
7 | Details about a smart contract logic error
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [desc](types_logic_error.LogicErrorDetails.md#desc)
14 | - [msg](types_logic_error.LogicErrorDetails.md#msg)
15 | - [pc](types_logic_error.LogicErrorDetails.md#pc)
16 | - [traces](types_logic_error.LogicErrorDetails.md#traces)
17 | - [txId](types_logic_error.LogicErrorDetails.md#txid)
18 |
19 | ## Properties
20 |
21 | ### desc
22 |
23 | • **desc**: `string`
24 |
25 | The full error description
26 |
27 | #### Defined in
28 |
29 | [src/types/logic-error.ts:16](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L16)
30 |
31 | ___
32 |
33 | ### msg
34 |
35 | • **msg**: `string`
36 |
37 | The error message
38 |
39 | #### Defined in
40 |
41 | [src/types/logic-error.ts:14](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L14)
42 |
43 | ___
44 |
45 | ### pc
46 |
47 | • **pc**: `number`
48 |
49 | The program counter where the error was
50 |
51 | #### Defined in
52 |
53 | [src/types/logic-error.ts:12](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L12)
54 |
55 | ___
56 |
57 | ### traces
58 |
59 | • **traces**: `Record`\<`string`, `unknown`\>[]
60 |
61 | Any trace information included in the error
62 |
63 | #### Defined in
64 |
65 | [src/types/logic-error.ts:18](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L18)
66 |
67 | ___
68 |
69 | ### txId
70 |
71 | • **txId**: `string`
72 |
73 | The ID of the transaction with the logic error
74 |
75 | #### Defined in
76 |
77 | [src/types/logic-error.ts:10](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/logic-error.ts#L10)
78 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_network_client.AlgoClientConfig.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/network-client](../modules/types_network_client.md) / AlgoClientConfig
2 |
3 | # Interface: AlgoClientConfig
4 |
5 | [types/network-client](../modules/types_network_client.md).AlgoClientConfig
6 |
7 | Config for an Algorand SDK client.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [port](types_network_client.AlgoClientConfig.md#port)
14 | - [server](types_network_client.AlgoClientConfig.md#server)
15 | - [token](types_network_client.AlgoClientConfig.md#token)
16 |
17 | ## Properties
18 |
19 | ### port
20 |
21 | • `Optional` **port**: `string` \| `number`
22 |
23 | The port to use e.g. 4001, 443, etc.
24 |
25 | #### Defined in
26 |
27 | [src/types/network-client.ts:8](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L8)
28 |
29 | ___
30 |
31 | ### server
32 |
33 | • **server**: `string`
34 |
35 | Base URL of the server e.g. http://localhost, https://testnet-api.algonode.cloud/, etc.
36 |
37 | #### Defined in
38 |
39 | [src/types/network-client.ts:6](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L6)
40 |
41 | ___
42 |
43 | ### token
44 |
45 | • `Optional` **token**: `string` \| `TokenHeader`
46 |
47 | The token to use for API authentication (or undefined if none needed) - can be a string, or an object with the header key => value
48 |
49 | #### Defined in
50 |
51 | [src/types/network-client.ts:10](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L10)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_network_client.AlgoConfig.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/network-client](../modules/types_network_client.md) / AlgoConfig
2 |
3 | # Interface: AlgoConfig
4 |
5 | [types/network-client](../modules/types_network_client.md).AlgoConfig
6 |
7 | Configuration for algod, indexer and kmd clients.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [algodConfig](types_network_client.AlgoConfig.md#algodconfig)
14 | - [indexerConfig](types_network_client.AlgoConfig.md#indexerconfig)
15 | - [kmdConfig](types_network_client.AlgoConfig.md#kmdconfig)
16 |
17 | ## Properties
18 |
19 | ### algodConfig
20 |
21 | • **algodConfig**: [`AlgoClientConfig`](types_network_client.AlgoClientConfig.md)
22 |
23 | Algod client configuration
24 |
25 | #### Defined in
26 |
27 | [src/types/network-client.ts:16](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L16)
28 |
29 | ___
30 |
31 | ### indexerConfig
32 |
33 | • `Optional` **indexerConfig**: [`AlgoClientConfig`](types_network_client.AlgoClientConfig.md)
34 |
35 | Indexer client configuration
36 |
37 | #### Defined in
38 |
39 | [src/types/network-client.ts:18](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L18)
40 |
41 | ___
42 |
43 | ### kmdConfig
44 |
45 | • `Optional` **kmdConfig**: [`AlgoClientConfig`](types_network_client.AlgoClientConfig.md)
46 |
47 | Kmd configuration
48 |
49 | #### Defined in
50 |
51 | [src/types/network-client.ts:20](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L20)
52 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_network_client.NetworkDetails.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/network-client](../modules/types_network_client.md) / NetworkDetails
2 |
3 | # Interface: NetworkDetails
4 |
5 | [types/network-client](../modules/types_network_client.md).NetworkDetails
6 |
7 | Details of the current network.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [genesisHash](types_network_client.NetworkDetails.md#genesishash)
14 | - [genesisId](types_network_client.NetworkDetails.md#genesisid)
15 | - [isLocalNet](types_network_client.NetworkDetails.md#islocalnet)
16 | - [isMainNet](types_network_client.NetworkDetails.md#ismainnet)
17 | - [isTestNet](types_network_client.NetworkDetails.md#istestnet)
18 |
19 | ## Properties
20 |
21 | ### genesisHash
22 |
23 | • **genesisHash**: `string`
24 |
25 | The base64 genesis hash of the current network.
26 |
27 | #### Defined in
28 |
29 | [src/types/network-client.ts:34](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L34)
30 |
31 | ___
32 |
33 | ### genesisId
34 |
35 | • **genesisId**: `string`
36 |
37 | The genesis ID of the current network.
38 |
39 | #### Defined in
40 |
41 | [src/types/network-client.ts:32](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L32)
42 |
43 | ___
44 |
45 | ### isLocalNet
46 |
47 | • **isLocalNet**: `boolean`
48 |
49 | Whether or not the network is LocalNet.
50 |
51 | #### Defined in
52 |
53 | [src/types/network-client.ts:30](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L30)
54 |
55 | ___
56 |
57 | ### isMainNet
58 |
59 | • **isMainNet**: `boolean`
60 |
61 | Whether or not the network is MainNet.
62 |
63 | #### Defined in
64 |
65 | [src/types/network-client.ts:28](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L28)
66 |
67 | ___
68 |
69 | ### isTestNet
70 |
71 | • **isTestNet**: `boolean`
72 |
73 | Whether or not the network is TestNet.
74 |
75 | #### Defined in
76 |
77 | [src/types/network-client.ts:26](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L26)
78 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_testing.AlgoKitLogCaptureFixture.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / AlgoKitLogCaptureFixture
2 |
3 | # Interface: AlgoKitLogCaptureFixture
4 |
5 | [types/testing](../modules/types_testing.md).AlgoKitLogCaptureFixture
6 |
7 | ## Table of contents
8 |
9 | ### Properties
10 |
11 | - [afterEach](types_testing.AlgoKitLogCaptureFixture.md#aftereach)
12 | - [beforeEach](types_testing.AlgoKitLogCaptureFixture.md#beforeeach)
13 |
14 | ### Accessors
15 |
16 | - [testLogger](types_testing.AlgoKitLogCaptureFixture.md#testlogger)
17 |
18 | ## Properties
19 |
20 | ### afterEach
21 |
22 | • **afterEach**: () => `void`
23 |
24 | Testing framework agnostic handler method to run after each test to reset the logger.
25 |
26 | #### Type declaration
27 |
28 | ▸ (): `void`
29 |
30 | ##### Returns
31 |
32 | `void`
33 |
34 | #### Defined in
35 |
36 | [src/types/testing.ts:158](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L158)
37 |
38 | ___
39 |
40 | ### beforeEach
41 |
42 | • **beforeEach**: () => `void`
43 |
44 | Testing framework agnostic handler method to run before each test to prepare the `testLogger` for that test.
45 |
46 | #### Type declaration
47 |
48 | ▸ (): `void`
49 |
50 | ##### Returns
51 |
52 | `void`
53 |
54 | #### Defined in
55 |
56 | [src/types/testing.ts:154](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L154)
57 |
58 | ## Accessors
59 |
60 | ### testLogger
61 |
62 | • `get` **testLogger**(): [`TestLogger`](../classes/testing.TestLogger.md)
63 |
64 | The test logger instance for the current test
65 |
66 | #### Returns
67 |
68 | [`TestLogger`](../classes/testing.TestLogger.md)
69 |
70 | #### Defined in
71 |
72 | [src/types/testing.ts:150](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L150)
73 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_testing.GetTestAccountParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / GetTestAccountParams
2 |
3 | # Interface: GetTestAccountParams
4 |
5 | [types/testing](../modules/types_testing.md).GetTestAccountParams
6 |
7 | Parameters for the `getTestAccount` function.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [accountGetter](types_testing.GetTestAccountParams.md#accountgetter)
14 | - [initialFunds](types_testing.GetTestAccountParams.md#initialfunds)
15 | - [suppressLog](types_testing.GetTestAccountParams.md#suppresslog)
16 |
17 | ## Properties
18 |
19 | ### accountGetter
20 |
21 | • `Optional` **accountGetter**: (`algorand`: [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md)) => `Promise`\<`default`\>
22 |
23 | Optional override for how to get a test account; this allows you to retrieve accounts from a known or cached list of accounts.
24 |
25 | #### Type declaration
26 |
27 | ▸ (`algorand`): `Promise`\<`default`\>
28 |
29 | ##### Parameters
30 |
31 | | Name | Type |
32 | | :------ | :------ |
33 | | `algorand` | [`AlgorandClient`](../classes/types_algorand_client.AlgorandClient.md) |
34 |
35 | ##### Returns
36 |
37 | `Promise`\<`default`\>
38 |
39 | #### Defined in
40 |
41 | [src/types/testing.ts:48](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L48)
42 |
43 | ___
44 |
45 | ### initialFunds
46 |
47 | • **initialFunds**: [`AlgoAmount`](../classes/types_amount.AlgoAmount.md)
48 |
49 | Initial funds to ensure the account has
50 |
51 | #### Defined in
52 |
53 | [src/types/testing.ts:44](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L44)
54 |
55 | ___
56 |
57 | ### suppressLog
58 |
59 | • `Optional` **suppressLog**: `boolean`
60 |
61 | Whether to suppress the log (which includes a mnemonic) or not (default: do not suppress the log)
62 |
63 | #### Defined in
64 |
65 | [src/types/testing.ts:46](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L46)
66 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_testing.LogSnapshotConfig.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/testing](../modules/types_testing.md) / LogSnapshotConfig
2 |
3 | # Interface: LogSnapshotConfig
4 |
5 | [types/testing](../modules/types_testing.md).LogSnapshotConfig
6 |
7 | Configuration for preparing a captured log snapshot.
8 | This helps ensure that the provided configuration items won't appear
9 | with random values in the log snapshot, but rather will get substituted with predictable ids.
10 |
11 | ## Table of contents
12 |
13 | ### Properties
14 |
15 | - [accounts](types_testing.LogSnapshotConfig.md#accounts)
16 | - [apps](types_testing.LogSnapshotConfig.md#apps)
17 | - [filterPredicate](types_testing.LogSnapshotConfig.md#filterpredicate)
18 | - [transactions](types_testing.LogSnapshotConfig.md#transactions)
19 |
20 | ## Properties
21 |
22 | ### accounts
23 |
24 | • `Optional` **accounts**: (`string` \| [`MultisigAccount`](../classes/types_account.MultisigAccount.md) \| `default` \| [`SigningAccount`](../classes/types_account.SigningAccount.md) \| `Address` \| [`TransactionSignerAccount`](types_account.TransactionSignerAccount.md) \| `LogicSigAccount`)[]
25 |
26 | Any accounts/addresses to replace the address for predictably
27 |
28 | #### Defined in
29 |
30 | [src/types/testing.ts:141](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L141)
31 |
32 | ___
33 |
34 | ### apps
35 |
36 | • `Optional` **apps**: (`string` \| `number` \| `bigint`)[]
37 |
38 | Any app IDs to replace predictably
39 |
40 | #### Defined in
41 |
42 | [src/types/testing.ts:143](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L143)
43 |
44 | ___
45 |
46 | ### filterPredicate
47 |
48 | • `Optional` **filterPredicate**: (`log`: `string`) => `boolean`
49 |
50 | Optional filter predicate to filter out logs
51 |
52 | #### Type declaration
53 |
54 | ▸ (`log`): `boolean`
55 |
56 | ##### Parameters
57 |
58 | | Name | Type |
59 | | :------ | :------ |
60 | | `log` | `string` |
61 |
62 | ##### Returns
63 |
64 | `boolean`
65 |
66 | #### Defined in
67 |
68 | [src/types/testing.ts:145](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L145)
69 |
70 | ___
71 |
72 | ### transactions
73 |
74 | • `Optional` **transactions**: (`string` \| `Transaction`)[]
75 |
76 | Any transaction IDs or transactions to replace the ID for predictably
77 |
78 | #### Defined in
79 |
80 | [src/types/testing.ts:139](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/testing.ts#L139)
81 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transaction.AdditionalAtomicTransactionComposerContext.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / AdditionalAtomicTransactionComposerContext
2 |
3 | # Interface: AdditionalAtomicTransactionComposerContext
4 |
5 | [types/transaction](../modules/types_transaction.md).AdditionalAtomicTransactionComposerContext
6 |
7 | Additional context about the `AtomicTransactionComposer`.
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [maxFees](types_transaction.AdditionalAtomicTransactionComposerContext.md#maxfees)
14 | - [suggestedParams](types_transaction.AdditionalAtomicTransactionComposerContext.md#suggestedparams)
15 |
16 | ## Properties
17 |
18 | ### maxFees
19 |
20 | • **maxFees**: `Map`\<`number`, [`AlgoAmount`](../classes/types_amount.AlgoAmount.md)\>
21 |
22 | A map of transaction index in the `AtomicTransactionComposer` to the max fee that can be calculated for a transaction in the group
23 |
24 | #### Defined in
25 |
26 | [src/types/transaction.ts:148](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L148)
27 |
28 | ___
29 |
30 | ### suggestedParams
31 |
32 | • **suggestedParams**: `Pick`\<`SuggestedParams`, ``"fee"`` \| ``"minFee"``\>
33 |
34 | #### Defined in
35 |
36 | [src/types/transaction.ts:151](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L151)
37 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transaction.ConfirmedTransactionResult.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / ConfirmedTransactionResult
2 |
3 | # Interface: ConfirmedTransactionResult
4 |
5 | [types/transaction](../modules/types_transaction.md).ConfirmedTransactionResult
6 |
7 | The result of sending and confirming a transaction
8 |
9 | ## Hierarchy
10 |
11 | - [`SendTransactionResult`](types_transaction.SendTransactionResult.md)
12 |
13 | ↳ **`ConfirmedTransactionResult`**
14 |
15 | ## Table of contents
16 |
17 | ### Properties
18 |
19 | - [confirmation](types_transaction.ConfirmedTransactionResult.md#confirmation)
20 | - [transaction](types_transaction.ConfirmedTransactionResult.md#transaction)
21 |
22 | ## Properties
23 |
24 | ### confirmation
25 |
26 | • **confirmation**: `PendingTransactionResponse`
27 |
28 | The response from sending and waiting for the transaction
29 |
30 | #### Overrides
31 |
32 | [SendTransactionResult](types_transaction.SendTransactionResult.md).[confirmation](types_transaction.SendTransactionResult.md#confirmation)
33 |
34 | #### Defined in
35 |
36 | [src/types/transaction.ts:87](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L87)
37 |
38 | ___
39 |
40 | ### transaction
41 |
42 | • **transaction**: `Transaction`
43 |
44 | The transaction
45 |
46 | #### Inherited from
47 |
48 | [SendTransactionResult](types_transaction.SendTransactionResult.md).[transaction](types_transaction.SendTransactionResult.md#transaction)
49 |
50 | #### Defined in
51 |
52 | [src/types/transaction.ts:55](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L55)
53 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transaction.SendParams.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / SendParams
2 |
3 | # Interface: SendParams
4 |
5 | [types/transaction](../modules/types_transaction.md).SendParams
6 |
7 | Parameters to configure transaction sending.
8 |
9 | ## Hierarchy
10 |
11 | - **`SendParams`**
12 |
13 | ↳ [`AtomicTransactionComposerToSend`](types_transaction.AtomicTransactionComposerToSend.md)
14 |
15 | ## Table of contents
16 |
17 | ### Properties
18 |
19 | - [coverAppCallInnerTransactionFees](types_transaction.SendParams.md#coverappcallinnertransactionfees)
20 | - [maxRoundsToWaitForConfirmation](types_transaction.SendParams.md#maxroundstowaitforconfirmation)
21 | - [populateAppCallResources](types_transaction.SendParams.md#populateappcallresources)
22 | - [suppressLog](types_transaction.SendParams.md#suppresslog)
23 |
24 | ## Properties
25 |
26 | ### coverAppCallInnerTransactionFees
27 |
28 | • `Optional` **coverAppCallInnerTransactionFees**: `boolean`
29 |
30 | Whether to use simulate to automatically calculate required app call inner transaction fees and cover them in the parent app call transaction fee
31 |
32 | #### Defined in
33 |
34 | [src/types/transaction.ts:142](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L142)
35 |
36 | ___
37 |
38 | ### maxRoundsToWaitForConfirmation
39 |
40 | • `Optional` **maxRoundsToWaitForConfirmation**: `number`
41 |
42 | The number of rounds to wait for confirmation. By default until the latest lastValid has past.
43 |
44 | #### Defined in
45 |
46 | [src/types/transaction.ts:136](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L136)
47 |
48 | ___
49 |
50 | ### populateAppCallResources
51 |
52 | • `Optional` **populateAppCallResources**: `boolean`
53 |
54 | Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to `Config.populateAppCallResources`.
55 |
56 | #### Defined in
57 |
58 | [src/types/transaction.ts:140](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L140)
59 |
60 | ___
61 |
62 | ### suppressLog
63 |
64 | • `Optional` **suppressLog**: `boolean`
65 |
66 | Whether to suppress log messages from transaction send, default: do not suppress.
67 |
68 | #### Defined in
69 |
70 | [src/types/transaction.ts:138](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L138)
71 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transaction.SendTransactionResult.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / SendTransactionResult
2 |
3 | # Interface: SendTransactionResult
4 |
5 | [types/transaction](../modules/types_transaction.md).SendTransactionResult
6 |
7 | The result of sending a transaction
8 |
9 | ## Hierarchy
10 |
11 | - **`SendTransactionResult`**
12 |
13 | ↳ [`AppCallTransactionResultOfType`](types_app.AppCallTransactionResultOfType.md)
14 |
15 | ↳ [`ConfirmedTransactionResult`](types_transaction.ConfirmedTransactionResult.md)
16 |
17 | ↳ [`ConfirmedTransactionResults`](types_transaction.ConfirmedTransactionResults.md)
18 |
19 | ## Table of contents
20 |
21 | ### Properties
22 |
23 | - [confirmation](types_transaction.SendTransactionResult.md#confirmation)
24 | - [transaction](types_transaction.SendTransactionResult.md#transaction)
25 |
26 | ## Properties
27 |
28 | ### confirmation
29 |
30 | • `Optional` **confirmation**: `PendingTransactionResponse`
31 |
32 | The response if the transaction was sent and waited for
33 |
34 | #### Defined in
35 |
36 | [src/types/transaction.ts:57](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L57)
37 |
38 | ___
39 |
40 | ### transaction
41 |
42 | • **transaction**: `Transaction`
43 |
44 | The transaction
45 |
46 | #### Defined in
47 |
48 | [src/types/transaction.ts:55](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L55)
49 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transaction.SendTransactionResults.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / SendTransactionResults
2 |
3 | # Interface: SendTransactionResults
4 |
5 | [types/transaction](../modules/types_transaction.md).SendTransactionResults
6 |
7 | The result of preparing and/or sending multiple transactions
8 |
9 | ## Hierarchy
10 |
11 | - **`SendTransactionResults`**
12 |
13 | ↳ [`AppCallTransactionResultOfType`](types_app.AppCallTransactionResultOfType.md)
14 |
15 | ↳ [`SendAtomicTransactionComposerResults`](types_transaction.SendAtomicTransactionComposerResults.md)
16 |
17 | ↳ [`ConfirmedTransactionResults`](types_transaction.ConfirmedTransactionResults.md)
18 |
19 | ## Table of contents
20 |
21 | ### Properties
22 |
23 | - [confirmations](types_transaction.SendTransactionResults.md#confirmations)
24 | - [transactions](types_transaction.SendTransactionResults.md#transactions)
25 |
26 | ## Properties
27 |
28 | ### confirmations
29 |
30 | • `Optional` **confirmations**: `PendingTransactionResponse`[]
31 |
32 | The responses if the transactions were sent and waited for,
33 | the index of the confirmation will match the index of the underlying transaction
34 |
35 | #### Defined in
36 |
37 | [src/types/transaction.ts:67](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L67)
38 |
39 | ___
40 |
41 | ### transactions
42 |
43 | • **transactions**: `Transaction`[]
44 |
45 | The transactions that have been prepared and/or sent
46 |
47 | #### Defined in
48 |
49 | [src/types/transaction.ts:63](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L63)
50 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transaction.TransactionGroupToSend.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / TransactionGroupToSend
2 |
3 | # Interface: TransactionGroupToSend
4 |
5 | [types/transaction](../modules/types_transaction.md).TransactionGroupToSend
6 |
7 | A group of transactions to send together as an atomic group
8 | https://dev.algorand.co/concepts/transactions/atomic-txn-groups/
9 |
10 | ## Table of contents
11 |
12 | ### Properties
13 |
14 | - [sendParams](types_transaction.TransactionGroupToSend.md#sendparams)
15 | - [signer](types_transaction.TransactionGroupToSend.md#signer)
16 | - [transactions](types_transaction.TransactionGroupToSend.md#transactions)
17 |
18 | ## Properties
19 |
20 | ### sendParams
21 |
22 | • `Optional` **sendParams**: `Omit`\<[`SendTransactionParams`](types_transaction.SendTransactionParams.md), ``"fee"`` \| ``"maxFee"`` \| ``"skipSending"`` \| ``"atc"``\>
23 |
24 | Any parameters to control the semantics of the send to the network
25 |
26 | #### Defined in
27 |
28 | [src/types/transaction.ts:123](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L123)
29 |
30 | ___
31 |
32 | ### signer
33 |
34 | • `Optional` **signer**: [`SendTransactionFrom`](../modules/types_transaction.md#sendtransactionfrom)
35 |
36 | Optional signer to pass in, required if at least one transaction provided is just the transaction, ignored otherwise
37 |
38 | #### Defined in
39 |
40 | [src/types/transaction.ts:130](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L130)
41 |
42 | ___
43 |
44 | ### transactions
45 |
46 | • **transactions**: (`Transaction` \| [`TransactionToSign`](types_transaction.TransactionToSign.md) \| `Promise`\<[`SendTransactionResult`](types_transaction.SendTransactionResult.md)\>)[]
47 |
48 | The list of transactions to send, which can either be a raw transaction (in which case `signer` is required),
49 | the async result of an AlgoKit utils method that returns a `SendTransactionResult` (saves unwrapping the promise, be sure to pass `skipSending: true`, `signer` is also required)
50 | or the transaction with its signer (`signer` is ignored)
51 |
52 | #### Defined in
53 |
54 | [src/types/transaction.ts:128](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L128)
55 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transaction.TransactionToSign.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transaction](../modules/types_transaction.md) / TransactionToSign
2 |
3 | # Interface: TransactionToSign
4 |
5 | [types/transaction](../modules/types_transaction.md).TransactionToSign
6 |
7 | Defines an unsigned transaction that will appear in a group of transactions along with its signing information
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [signer](types_transaction.TransactionToSign.md#signer)
14 | - [transaction](types_transaction.TransactionToSign.md#transaction)
15 |
16 | ## Properties
17 |
18 | ### signer
19 |
20 | • **signer**: [`SendTransactionFrom`](../modules/types_transaction.md#sendtransactionfrom)
21 |
22 | The account to use to sign the transaction, either an account (with private key loaded) or a logic signature account
23 |
24 | #### Defined in
25 |
26 | [src/types/transaction.ts:115](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L115)
27 |
28 | ___
29 |
30 | ### transaction
31 |
32 | • **transaction**: `Transaction`
33 |
34 | The unsigned transaction to sign and send
35 |
36 | #### Defined in
37 |
38 | [src/types/transaction.ts:113](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transaction.ts#L113)
39 |
--------------------------------------------------------------------------------
/docs/code/interfaces/types_transfer.EnsureFundedReturnType.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / [types/transfer](../modules/types_transfer.md) / EnsureFundedReturnType
2 |
3 | # Interface: EnsureFundedReturnType
4 |
5 | [types/transfer](../modules/types_transfer.md).EnsureFundedReturnType
6 |
7 | **`Deprecated`**
8 |
9 | ## Table of contents
10 |
11 | ### Properties
12 |
13 | - [amount](types_transfer.EnsureFundedReturnType.md#amount)
14 | - [transactionId](types_transfer.EnsureFundedReturnType.md#transactionid)
15 |
16 | ## Properties
17 |
18 | ### amount
19 |
20 | • **amount**: `number`
21 |
22 | The response if the transaction was sent and waited for
23 |
24 | #### Defined in
25 |
26 | [src/types/transfer.ts:80](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transfer.ts#L80)
27 |
28 | ___
29 |
30 | ### transactionId
31 |
32 | • **transactionId**: `string`
33 |
34 | The transaction
35 |
36 | #### Defined in
37 |
38 | [src/types/transfer.ts:78](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/transfer.ts#L78)
39 |
--------------------------------------------------------------------------------
/docs/code/modules/types_account_manager.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/account-manager
2 |
3 | # Module: types/account-manager
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AccountManager](../classes/types_account_manager.AccountManager.md)
10 |
11 | ### Interfaces
12 |
13 | - [EnsureFundedResult](../interfaces/types_account_manager.EnsureFundedResult.md)
14 |
15 | ### Functions
16 |
17 | - [getAccountTransactionSigner](types_account_manager.md#getaccounttransactionsigner)
18 |
19 | ## Functions
20 |
21 | ### getAccountTransactionSigner
22 |
23 | ▸ **getAccountTransactionSigner**(`val`): `TransactionSigner`
24 |
25 | Returns a `TransactionSigner` for the given account that can sign a transaction.
26 | This function has memoization, so will return the same transaction signer for a given account.
27 |
28 | #### Parameters
29 |
30 | | Name | Type |
31 | | :------ | :------ |
32 | | `val` | [`MultisigAccount`](../classes/types_account.MultisigAccount.md) \| `default` \| [`SigningAccount`](../classes/types_account.SigningAccount.md) \| [`TransactionSignerAccount`](../interfaces/types_account.TransactionSignerAccount.md) \| `LogicSigAccount` |
33 |
34 | #### Returns
35 |
36 | `TransactionSigner`
37 |
38 | A transaction signer
39 |
40 | **`Example`**
41 |
42 | ```typescript
43 | const signer = getAccountTransactionSigner(account)
44 | ```
45 |
46 | #### Defined in
47 |
48 | [src/types/account-manager.ts:35](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/account-manager.ts#L35)
49 |
--------------------------------------------------------------------------------
/docs/code/modules/types_account_manager_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/account-manager.spec
2 |
3 | # Module: types/account-manager.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_algo_http_client_with_retry.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/algo-http-client-with-retry
2 |
3 | # Module: types/algo-http-client-with-retry
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AlgoHttpClientWithRetry](../classes/types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md)
10 |
--------------------------------------------------------------------------------
/docs/code/modules/types_algorand_client.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/algorand-client
2 |
3 | # Module: types/algorand-client
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AlgorandClient](../classes/types_algorand_client.AlgorandClient.md)
10 |
--------------------------------------------------------------------------------
/docs/code/modules/types_algorand_client_asset_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/algorand-client.asset.spec
2 |
3 | # Module: types/algorand-client.asset.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_algorand_client_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/algorand-client.spec
2 |
3 | # Module: types/algorand-client.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_algorand_client_transaction_creator.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/algorand-client-transaction-creator
2 |
3 | # Module: types/algorand-client-transaction-creator
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AlgorandClientTransactionCreator](../classes/types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md)
10 |
--------------------------------------------------------------------------------
/docs/code/modules/types_algorand_client_transaction_sender.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/algorand-client-transaction-sender
2 |
3 | # Module: types/algorand-client-transaction-sender
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AlgorandClientTransactionSender](../classes/types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md)
10 |
--------------------------------------------------------------------------------
/docs/code/modules/types_algorand_client_transfer_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/algorand-client.transfer.spec
2 |
3 | # Module: types/algorand-client.transfer.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_amount.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/amount
2 |
3 | # Module: types/amount
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AlgoAmount](../classes/types_amount.AlgoAmount.md)
10 |
--------------------------------------------------------------------------------
/docs/code/modules/types_amount_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/amount.spec
2 |
3 | # Module: types/amount.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_app_client_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/app-client.spec
2 |
3 | # Module: types/app-client.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_app_factory_and_client_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/app-factory-and-client.spec
2 |
3 | # Module: types/app-factory-and-client.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_app_manager.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/app-manager
2 |
3 | # Module: types/app-manager
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AppManager](../classes/types_app_manager.AppManager.md)
10 |
11 | ### Interfaces
12 |
13 | - [AppInformation](../interfaces/types_app_manager.AppInformation.md)
14 | - [BoxReference](../interfaces/types_app_manager.BoxReference.md)
15 | - [BoxValueRequestParams](../interfaces/types_app_manager.BoxValueRequestParams.md)
16 | - [BoxValuesRequestParams](../interfaces/types_app_manager.BoxValuesRequestParams.md)
17 |
18 | ### Type Aliases
19 |
20 | - [BoxIdentifier](types_app_manager.md#boxidentifier)
21 |
22 | ## Type Aliases
23 |
24 | ### BoxIdentifier
25 |
26 | Ƭ **BoxIdentifier**: `string` \| `Uint8Array` \| [`TransactionSignerAccount`](../interfaces/types_account.TransactionSignerAccount.md)
27 |
28 | Something that identifies an app box name - either a:
29 | * `Uint8Array` (the actual binary of the box name)
30 | * `string` (that will be encoded to a `Uint8Array`)
31 | * `TransactionSignerAccount` (that will be encoded into the
32 | public key address of the corresponding account)
33 |
34 | #### Defined in
35 |
36 | [src/types/app-manager.ts:57](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-manager.ts#L57)
37 |
--------------------------------------------------------------------------------
/docs/code/modules/types_asset.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/asset
2 |
3 | # Module: types/asset
4 |
5 | ## Table of contents
6 |
7 | ### Interfaces
8 |
9 | - [AssetBulkOptInOutParams](../interfaces/types_asset.AssetBulkOptInOutParams.md)
10 | - [AssetOptInParams](../interfaces/types_asset.AssetOptInParams.md)
11 | - [AssetOptOutParams](../interfaces/types_asset.AssetOptOutParams.md)
12 | - [CreateAssetParams](../interfaces/types_asset.CreateAssetParams.md)
13 |
--------------------------------------------------------------------------------
/docs/code/modules/types_asset_manager.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/asset-manager
2 |
3 | # Module: types/asset-manager
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AssetManager](../classes/types_asset_manager.AssetManager.md)
10 |
11 | ### Interfaces
12 |
13 | - [AssetInformation](../interfaces/types_asset_manager.AssetInformation.md)
14 | - [BulkAssetOptInOutResult](../interfaces/types_asset_manager.BulkAssetOptInOutResult.md)
15 |
--------------------------------------------------------------------------------
/docs/code/modules/types_async_event_emitter.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/async-event-emitter
2 |
3 | # Module: types/async-event-emitter
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [AsyncEventEmitter](../classes/types_async_event_emitter.AsyncEventEmitter.md)
10 |
11 | ### Type Aliases
12 |
13 | - [AsyncEventListener](types_async_event_emitter.md#asynceventlistener)
14 |
15 | ## Type Aliases
16 |
17 | ### AsyncEventListener
18 |
19 | Ƭ **AsyncEventListener**\<`T`\>: (`event`: `T`, `eventName`: `string` \| `symbol`) => `Promise`\<`void`\> \| `void`
20 |
21 | #### Type parameters
22 |
23 | | Name | Type |
24 | | :------ | :------ |
25 | | `T` | `unknown` |
26 |
27 | #### Type declaration
28 |
29 | ▸ (`event`, `eventName`): `Promise`\<`void`\> \| `void`
30 |
31 | ##### Parameters
32 |
33 | | Name | Type |
34 | | :------ | :------ |
35 | | `event` | `T` |
36 | | `eventName` | `string` \| `symbol` |
37 |
38 | ##### Returns
39 |
40 | `Promise`\<`void`\> \| `void`
41 |
42 | #### Defined in
43 |
44 | [src/types/async-event-emitter.ts:3](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/async-event-emitter.ts#L3)
45 |
--------------------------------------------------------------------------------
/docs/code/modules/types_async_event_emitter_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/async-event-emitter.spec
2 |
3 | # Module: types/async-event-emitter.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_client_manager_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/client-manager.spec
2 |
3 | # Module: types/client-manager.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_composer_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/composer.spec
2 |
3 | # Module: types/composer.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_config.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/config
2 |
3 | # Module: types/config
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [UpdatableConfig](../classes/types_config.UpdatableConfig.md)
10 |
11 | ### Interfaces
12 |
13 | - [Config](../interfaces/types_config.Config.md)
14 |
--------------------------------------------------------------------------------
/docs/code/modules/types_debugging.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/debugging
2 |
3 | # Module: types/debugging
4 |
5 | ## Table of contents
6 |
7 | ### Interfaces
8 |
9 | - [AVMTracesEventData](../interfaces/types_debugging.AVMTracesEventData.md)
10 | - [TealSourceDebugEventData](../interfaces/types_debugging.TealSourceDebugEventData.md)
11 | - [TealSourcesDebugEventData](../interfaces/types_debugging.TealSourcesDebugEventData.md)
12 |
13 | ### Variables
14 |
15 | - [ALGOKIT\_DIR](types_debugging.md#algokit_dir)
16 | - [DEFAULT\_MAX\_SEARCH\_DEPTH](types_debugging.md#default_max_search_depth)
17 | - [SOURCES\_DIR](types_debugging.md#sources_dir)
18 | - [TEAL\_FILE\_EXT](types_debugging.md#teal_file_ext)
19 | - [TEAL\_SOURCEMAP\_EXT](types_debugging.md#teal_sourcemap_ext)
20 |
21 | ## Variables
22 |
23 | ### ALGOKIT\_DIR
24 |
25 | • `Const` **ALGOKIT\_DIR**: ``".algokit"``
26 |
27 | The directory name for AlgoKit project related files
28 |
29 | #### Defined in
30 |
31 | [src/types/debugging.ts:9](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L9)
32 |
33 | ___
34 |
35 | ### DEFAULT\_MAX\_SEARCH\_DEPTH
36 |
37 | • `Const` **DEFAULT\_MAX\_SEARCH\_DEPTH**: ``10``
38 |
39 | The default maximum search depth for file operations
40 |
41 | #### Defined in
42 |
43 | [src/types/debugging.ts:21](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L21)
44 |
45 | ___
46 |
47 | ### SOURCES\_DIR
48 |
49 | • `Const` **SOURCES\_DIR**: ``"sources"``
50 |
51 | The directory name for debug source files
52 |
53 | #### Defined in
54 |
55 | [src/types/debugging.ts:12](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L12)
56 |
57 | ___
58 |
59 | ### TEAL\_FILE\_EXT
60 |
61 | • `Const` **TEAL\_FILE\_EXT**: ``".teal"``
62 |
63 | The file extension for TEAL files
64 |
65 | #### Defined in
66 |
67 | [src/types/debugging.ts:15](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L15)
68 |
69 | ___
70 |
71 | ### TEAL\_SOURCEMAP\_EXT
72 |
73 | • `Const` **TEAL\_SOURCEMAP\_EXT**: ``".teal.map"``
74 |
75 | The file extension for TEAL source map files
76 |
77 | #### Defined in
78 |
79 | [src/types/debugging.ts:18](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/debugging.ts#L18)
80 |
--------------------------------------------------------------------------------
/docs/code/modules/types_dispenser_client.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/dispenser-client
2 |
3 | # Module: types/dispenser-client
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [TestNetDispenserApiClient](../classes/types_dispenser_client.TestNetDispenserApiClient.md)
10 |
11 | ### Interfaces
12 |
13 | - [DispenserFundResponse](../interfaces/types_dispenser_client.DispenserFundResponse.md)
14 | - [DispenserLimitResponse](../interfaces/types_dispenser_client.DispenserLimitResponse.md)
15 | - [TestNetDispenserApiClientParams](../interfaces/types_dispenser_client.TestNetDispenserApiClientParams.md)
16 |
--------------------------------------------------------------------------------
/docs/code/modules/types_dispenser_client_spec.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/dispenser-client.spec
2 |
3 | # Module: types/dispenser-client.spec
4 |
--------------------------------------------------------------------------------
/docs/code/modules/types_expand.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/expand
2 |
3 | # Module: types/expand
4 |
5 | ## Table of contents
6 |
7 | ### Type Aliases
8 |
9 | - [Expand](types_expand.md#expand)
10 |
11 | ## Type Aliases
12 |
13 | ### Expand
14 |
15 | Ƭ **Expand**\<`T`\>: `T` extends (...`args`: infer A) => infer R ? (...`args`: [`Expand`](types_expand.md#expand)\<`A`\>) => [`Expand`](types_expand.md#expand)\<`R`\> : `T` extends infer O ? \{ [K in keyof O]: O[K] } : `never`
16 |
17 | Expands types for IntelliSense so they are more human readable
18 | See https://stackoverflow.com/a/69288824
19 |
20 | #### Type parameters
21 |
22 | | Name |
23 | | :------ |
24 | | `T` |
25 |
26 | #### Defined in
27 |
28 | [src/types/expand.ts:5](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/expand.ts#L5)
29 |
--------------------------------------------------------------------------------
/docs/code/modules/types_instance_of.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/instance-of
2 |
3 | # Module: types/instance-of
4 |
5 | ## Table of contents
6 |
7 | ### Type Aliases
8 |
9 | - [InterfaceOf](types_instance_of.md#interfaceof)
10 |
11 | ## Type Aliases
12 |
13 | ### InterfaceOf
14 |
15 | Ƭ **InterfaceOf**\<`ClassType`\>: \{ [Member in keyof ClassType]: ClassType[Member] }
16 |
17 | A type that represents the interface of the class given as the generic parameter
18 |
19 | #### Type parameters
20 |
21 | | Name |
22 | | :------ |
23 | | `ClassType` |
24 |
25 | #### Defined in
26 |
27 | [src/types/instance-of.ts:4](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/instance-of.ts#L4)
28 |
--------------------------------------------------------------------------------
/docs/code/modules/types_kmd_account_manager.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/kmd-account-manager
2 |
3 | # Module: types/kmd-account-manager
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [KmdAccountManager](../classes/types_kmd_account_manager.KmdAccountManager.md)
10 |
--------------------------------------------------------------------------------
/docs/code/modules/types_lifecycle_events.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/lifecycle-events
2 |
3 | # Module: types/lifecycle-events
4 |
5 | ## Table of contents
6 |
7 | ### Enumerations
8 |
9 | - [EventType](../enums/types_lifecycle_events.EventType.md)
10 |
11 | ### Type Aliases
12 |
13 | - [EventDataMap](types_lifecycle_events.md#eventdatamap)
14 |
15 | ## Type Aliases
16 |
17 | ### EventDataMap
18 |
19 | Ƭ **EventDataMap**: `Object`
20 |
21 | #### Index signature
22 |
23 | ▪ [key: `string`]: `unknown`
24 |
25 | #### Type declaration
26 |
27 | | Name | Type |
28 | | :------ | :------ |
29 | | `AppCompiled` | [`TealSourcesDebugEventData`](../interfaces/types_debugging.TealSourcesDebugEventData.md) |
30 | | `TxnGroupSimulated` | [`AVMTracesEventData`](../interfaces/types_debugging.AVMTracesEventData.md) |
31 |
32 | #### Defined in
33 |
34 | [src/types/lifecycle-events.ts:8](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/lifecycle-events.ts#L8)
35 |
--------------------------------------------------------------------------------
/docs/code/modules/types_logic_error.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/logic-error
2 |
3 | # Module: types/logic-error
4 |
5 | ## Table of contents
6 |
7 | ### Classes
8 |
9 | - [LogicError](../classes/types_logic_error.LogicError.md)
10 |
11 | ### Interfaces
12 |
13 | - [LogicErrorDetails](../interfaces/types_logic_error.LogicErrorDetails.md)
14 |
--------------------------------------------------------------------------------
/docs/code/modules/types_network_client.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/network-client
2 |
3 | # Module: types/network-client
4 |
5 | ## Table of contents
6 |
7 | ### Interfaces
8 |
9 | - [AlgoClientConfig](../interfaces/types_network_client.AlgoClientConfig.md)
10 | - [AlgoConfig](../interfaces/types_network_client.AlgoConfig.md)
11 | - [NetworkDetails](../interfaces/types_network_client.NetworkDetails.md)
12 |
13 | ### Functions
14 |
15 | - [genesisIdIsLocalNet](types_network_client.md#genesisidislocalnet)
16 |
17 | ## Functions
18 |
19 | ### genesisIdIsLocalNet
20 |
21 | ▸ **genesisIdIsLocalNet**(`genesisId`): `boolean`
22 |
23 | Returns true if the given network genesisId is associated with a LocalNet network.
24 |
25 | #### Parameters
26 |
27 | | Name | Type | Description |
28 | | :------ | :------ | :------ |
29 | | `genesisId` | `string` | The network genesis ID |
30 |
31 | #### Returns
32 |
33 | `boolean`
34 |
35 | Whether the given genesis ID is associated with a LocalNet network
36 |
37 | #### Defined in
38 |
39 | [src/types/network-client.ts:42](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/network-client.ts#L42)
40 |
--------------------------------------------------------------------------------
/docs/code/modules/types_testing.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/testing
2 |
3 | # Module: types/testing
4 |
5 | ## Table of contents
6 |
7 | ### Interfaces
8 |
9 | - [AlgoKitLogCaptureFixture](../interfaces/types_testing.AlgoKitLogCaptureFixture.md)
10 | - [AlgorandFixture](../interfaces/types_testing.AlgorandFixture.md)
11 | - [AlgorandFixtureConfig](../interfaces/types_testing.AlgorandFixtureConfig.md)
12 | - [AlgorandTestAutomationContext](../interfaces/types_testing.AlgorandTestAutomationContext.md)
13 | - [GetTestAccountParams](../interfaces/types_testing.GetTestAccountParams.md)
14 | - [LogSnapshotConfig](../interfaces/types_testing.LogSnapshotConfig.md)
15 |
--------------------------------------------------------------------------------
/docs/code/modules/types_transfer.md:
--------------------------------------------------------------------------------
1 | [@algorandfoundation/algokit-utils](../README.md) / types/transfer
2 |
3 | # Module: types/transfer
4 |
5 | ## Table of contents
6 |
7 | ### Interfaces
8 |
9 | - [AlgoRekeyParams](../interfaces/types_transfer.AlgoRekeyParams.md)
10 | - [AlgoTransferParams](../interfaces/types_transfer.AlgoTransferParams.md)
11 | - [EnsureFundedParams](../interfaces/types_transfer.EnsureFundedParams.md)
12 | - [EnsureFundedReturnType](../interfaces/types_transfer.EnsureFundedReturnType.md)
13 | - [TransferAssetParams](../interfaces/types_transfer.TransferAssetParams.md)
14 |
--------------------------------------------------------------------------------
/docs/images/lifecycle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/algorandfoundation/algokit-utils-ts/ca04fdb719ce8a8226ec8f9dbc99eb7b5b9cf376/docs/images/lifecycle.jpg
--------------------------------------------------------------------------------
/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslint from '@eslint/js'
2 | import prettier from 'eslint-config-prettier'
3 | import tseslint from 'typescript-eslint'
4 |
5 | export default tseslint.config(
6 | {
7 | ignores: [
8 | '.eslintrc.js',
9 | 'node_modules/**',
10 | 'dist/**',
11 | 'build/**',
12 | 'coverage/**',
13 | '**/generated/types.d.ts',
14 | '**/generated/types.ts',
15 | '.idea/**',
16 | '.vscode/**',
17 | ],
18 | },
19 | eslint.configs.recommended,
20 | tseslint.configs.recommended,
21 | {
22 | files: ['**/*.ts'],
23 | languageOptions: {
24 | parser: tseslint.parser,
25 | parserOptions: {
26 | project: './tsconfig.json',
27 | ecmaVersion: 'latest',
28 | sourceType: 'module',
29 | },
30 | },
31 | rules: {
32 | 'no-console': 'warn',
33 | '@typescript-eslint/no-unused-vars': [
34 | 'error',
35 | { ignoreRestSiblings: true, argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_', varsIgnorePattern: '^_' },
36 | ],
37 | '@typescript-eslint/no-unused-expressions': 'off',
38 | 'prefer-template': 'error',
39 | },
40 | },
41 | // Test file overrides
42 | {
43 | files: ['**/*.spec.ts'],
44 | rules: {
45 | 'no-restricted-syntax': 'off',
46 | },
47 | },
48 | prettier,
49 | )
50 |
--------------------------------------------------------------------------------
/src/account/get-account-config-from-environment.ts:
--------------------------------------------------------------------------------
1 | import { AccountConfig } from '../types/account'
2 |
3 | /** @deprecated Use algokit.mnemonicAccountFromEnvironment, which doesn't need this function
4 | * Returns the Account configuration from environment variables
5 | *
6 | * @param accountName account name
7 | *
8 | * @example environment variables
9 | * {accountName}_MNEMONIC
10 | * {accountName}_SENDER
11 | *
12 | */
13 | export function getAccountConfigFromEnvironment(accountName: string): AccountConfig {
14 | if (!process || !process.env) {
15 | throw new Error('Attempt to get account with private key from a non Node.js context; not supported!')
16 | }
17 |
18 | return {
19 | accountMnemonic: process.env[`${accountName.toUpperCase()}_MNEMONIC`] || '',
20 | senderAddress: process.env[`${accountName.toUpperCase()}_SENDER`],
21 | accountName,
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/account/get-dispenser-account.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { AccountManager } from '../types/account-manager'
3 | import { ClientManager } from '../types/client-manager'
4 |
5 | import Algodv2 = algosdk.Algodv2
6 | import Kmd = algosdk.Kmd
7 |
8 | /**
9 | * @deprecated Use `algorand.account.dispenserFromEnvironment()` or `new AccountManager(clientManager).dispenserFromEnvironment()` instead
10 | *
11 | * Returns an account (with private key loaded) that can act as a dispenser
12 | *
13 | * If running on LocalNet then it will return the default dispenser account automatically,
14 | * otherwise it will load the account mnemonic stored in process.env.DISPENSER_MNEMONIC
15 | *
16 | * @param algod An algod client
17 | * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables
18 | */
19 | export async function getDispenserAccount(algod: Algodv2, kmd?: Kmd) {
20 | return new AccountManager(new ClientManager({ algod, kmd })).dispenserFromEnvironment()
21 | }
22 |
--------------------------------------------------------------------------------
/src/account/index.ts:
--------------------------------------------------------------------------------
1 | export * from './account'
2 | export * from './get-account'
3 | export * from './get-account-config-from-environment'
4 | export * from './get-dispenser-account'
5 | export * from './mnemonic-account'
6 |
--------------------------------------------------------------------------------
/src/account/mnemonic-account.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import Account = algosdk.Account
3 |
4 | /**
5 | * @deprecated Use `algorand.account.fromMnemonic(mnemonicSecret)` or `algosdk.mnemonicToSecretKey(mnemonicSecret)` instead.
6 | *
7 | * Returns an Algorand account with secret key loaded (i.e. that can sign transactions) by taking the mnemonic secret.
8 | *
9 | * This is a wrapper around algosdk.mnemonicToSecretKey to provide a more friendly/obvious name.
10 | *
11 | * @param mnemonicSecret The mnemonic secret representing the private key of an account; **Note: Be careful how the mnemonic is handled**,
12 | * never commit it into source control and ideally load it from the environment (ideally via a secret storage service) rather than the file system.
13 | */
14 | export function mnemonicAccount(mnemonicSecret: string): Account {
15 | // This method is confusingly named, so this function provides a more dev friendly "wrapper" name
16 | return algosdk.mnemonicToSecretKey(mnemonicSecret)
17 | }
18 |
--------------------------------------------------------------------------------
/src/app.spec.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { afterEach, beforeEach, describe, expect, test } from 'vitest'
3 | import { getTestingAppContract } from '../tests/example-contracts/testing-app/contract'
4 | import { algoKitLogCaptureFixture, algorandFixture } from './testing'
5 |
6 | describe('app', () => {
7 | const localnet = algorandFixture()
8 | beforeEach(localnet.newScope, 10_000)
9 |
10 | const logging = algoKitLogCaptureFixture()
11 | beforeEach(logging.beforeEach)
12 | afterEach(logging.afterEach)
13 | test('appCreate creates an app', async () => {
14 | const { algorand, testAccount } = localnet.context
15 | const contract = await getTestingAppContract()
16 |
17 | const app = await algorand.send.appCreate({
18 | approvalProgram: contract.approvalProgram.replace('TMPL_UPDATABLE', '0').replace('TMPL_DELETABLE', '0').replace('TMPL_VALUE', '1'),
19 | clearStateProgram: contract.clearStateProgram,
20 | schema: contract.stateSchema,
21 | sender: testAccount,
22 | })
23 |
24 | expect(app.appId).toBeGreaterThan(0)
25 | expect(app.appAddress).toEqual(algosdk.getApplicationAddress(app.appId))
26 | expect(app.confirmation).toBeTruthy()
27 | expect(BigInt(app.confirmation?.applicationIndex ?? 0)).toBe(app.appId)
28 | })
29 |
30 | test('appCreate with rekey performs rekey', async () => {
31 | const { algorand, testAccount } = localnet.context
32 | const rekeyTo = algorand.account.random()
33 | const contract = await getTestingAppContract()
34 | await algorand.send.appCreate({
35 | approvalProgram: contract.approvalProgram.replace('TMPL_UPDATABLE', '0').replace('TMPL_DELETABLE', '0').replace('TMPL_VALUE', '1'),
36 | clearStateProgram: contract.clearStateProgram,
37 | schema: contract.stateSchema,
38 | sender: testAccount,
39 | rekeyTo,
40 | })
41 |
42 | // If the rekey didn't work this will throw
43 | const rekeyedAccount = algorand.account.rekeyed(testAccount, rekeyTo)
44 | await algorand.send.payment({
45 | amount: (0).algo(),
46 | sender: rekeyedAccount,
47 | receiver: testAccount,
48 | })
49 | })
50 | })
51 |
--------------------------------------------------------------------------------
/src/config.ts:
--------------------------------------------------------------------------------
1 | import { UpdatableConfig } from './types/config'
2 |
3 | /** The AlgoKit config. To update it use the configure method. */
4 | export const Config = new UpdatableConfig()
5 |
--------------------------------------------------------------------------------
/src/debugging/debugging.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @deprecated Use latest version of `AlgoKit AVM Debugger` VSCode extension instead. It will automatically manage your sourcemaps.
3 | *
4 | * This function persists the source maps for the given sources.
5 | *
6 | * @returns A promise that resolves when the source maps have been persisted.
7 | */
8 | export async function persistSourceMaps(_params: unknown): Promise {
9 | throw new Error('Deprecated. Use latest version of `AlgoKit AVM Debugger` VSCode extension instead.')
10 | }
11 |
--------------------------------------------------------------------------------
/src/debugging/index.ts:
--------------------------------------------------------------------------------
1 | export * from './debugging'
2 |
--------------------------------------------------------------------------------
/src/dispenser-client.ts:
--------------------------------------------------------------------------------
1 | import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './types/dispenser-client'
2 |
3 | /**
4 | * @deprecated Use `clientManager.getTestNetDispenser` or `clientManager.getTestNetDispenserFromEnvironment` instead
5 | *
6 | * Create a new TestNetDispenserApiClient instance.
7 | * Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.
8 | *
9 | * @param params An object containing parameters for the TestNetDispenserApiClient class.
10 | * Or null if you want the client to load the access token from the environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`.
11 | * @example
12 | * const client = algokit.getTestNetDispenserApiClient(
13 | * {
14 | * authToken: 'your_auth_token',
15 | * requestTimeout: 15,
16 | * }
17 | * )
18 | *
19 | * @returns An instance of the TestNetDispenserApiClient class.
20 | */
21 | export function getTestNetDispenserApiClient(params: TestNetDispenserApiClientParams | null = null) {
22 | return new TestNetDispenserApiClient(params === null ? undefined : params)
23 | }
24 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | // Legacy exports - remove after 2 x major version bumps
2 | export * from './account'
3 | export * from './app'
4 | export * from './app-client'
5 | export * from './app-deploy'
6 | export * from './asset'
7 | export * from './dispenser-client'
8 | export * from './indexer-lookup'
9 | export * from './localnet'
10 | export * from './network-client'
11 | export * from './transfer'
12 |
13 | // Up to date exports
14 | export * from './amount'
15 | export * from './config'
16 | export * from './debugging'
17 | export * as indexer from './indexer-lookup'
18 | export * from './transaction'
19 | export { AlgorandClient } from './types/algorand-client'
20 | export * from './types/debugging'
21 | export * from './types/lifecycle-events'
22 |
--------------------------------------------------------------------------------
/src/localnet/get-kmd-wallet-account.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { ClientManager } from '../types/client-manager'
3 | import { KmdAccountManager } from '../types/kmd-account-manager'
4 | import Account = algosdk.Account
5 | import Algodv2 = algosdk.Algodv2
6 | import Kmd = algosdk.Kmd
7 |
8 | /**
9 | * @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.
10 | *
11 | * Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).
12 | *
13 | * @param walletAccount The details of the wallet, with:
14 | * * `name`: The name of the wallet to retrieve an account from
15 | * * `predicate`: An optional filter to use to find the account (otherwise it will return a random account from the wallet)
16 | * @param algod An algod client
17 | * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables
18 | * @example Get default funded account in a LocalNet
19 | *
20 | * ```typescript
21 | * const defaultDispenserAccount = await getKmdWalletAccount(algod,
22 | * 'unencrypted-default-wallet',
23 | * a => a.status !== 'Offline' && a.amount > 1_000_000_000
24 | * )
25 | * ```
26 | */
27 | export async function getKmdWalletAccount(
28 | walletAccount: {
29 | name: string
30 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
31 | predicate?: (account: Record) => boolean
32 | },
33 | algod: Algodv2,
34 | kmdClient?: Kmd,
35 | ): Promise {
36 | return (
37 | await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getWalletAccount(walletAccount.name, walletAccount.predicate)
38 | )?.account
39 | }
40 |
--------------------------------------------------------------------------------
/src/localnet/get-localnet-dispenser-account.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { AccountManager } from '../types/account-manager'
3 | import { ClientManager } from '../types/client-manager'
4 | import Account = algosdk.Account
5 | import Algodv2 = algosdk.Algodv2
6 | import Kmd = algosdk.Kmd
7 | /**
8 | * @deprecated Use `algorand.account.kmd.getLocalNetDispenserAccount()` instead.
9 | *
10 | * Returns an Algorand account with private key loaded for the default LocalNet dispenser account (that can be used to fund other accounts)
11 | *
12 | * @param algod An algod client
13 | * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables
14 | */
15 | export async function getLocalNetDispenserAccount(algod: Algodv2, kmd?: Kmd): Promise {
16 | return (await new AccountManager(new ClientManager({ algod, kmd })).kmd.getLocalNetDispenserAccount()).account
17 | }
18 |
--------------------------------------------------------------------------------
/src/localnet/get-or-create-kmd-wallet-account.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { AlgoAmount } from '../types/amount'
3 | import { ClientManager } from '../types/client-manager'
4 | import { KmdAccountManager } from '../types/kmd-account-manager'
5 | import Account = algosdk.Account
6 | import Algodv2 = algosdk.Algodv2
7 | import Kmd = algosdk.Kmd
8 |
9 | /**
10 | * @deprecated use `algorand.account.kmd.getOrCreateWalletAccount(name, fundWith)` or `new KMDAccountManager(clientManager).getOrCreateWalletAccount(name, fundWith)` instead.
11 | *
12 | * Gets an account with private key loaded from a KMD wallet of the given name, or alternatively creates one with funds in it via a KMD wallet of the given name.
13 | *
14 | * This is useful to get idempotent accounts from LocalNet without having to specify the private key (which will change when resetting the LocalNet).
15 | *
16 | * This significantly speeds up local dev time and improves experience since you can write code that *just works* first go without manual config in a fresh LocalNet.
17 | *
18 | * If this is used via `mnemonicAccountFromEnvironment`, then you can even use the same code that runs on production without changes for local development!
19 | *
20 | * @param walletAccount The wallet details with:
21 | * * `name`: The name of the wallet to retrieve / create
22 | * * `fundWith`: The number of Algo to fund the account with when it gets created, if not specified then 1000 ALGO will be funded from the dispenser account
23 | * @param algod An algod client
24 | * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables
25 | *
26 | * @returns An Algorand account with private key loaded - either one that already existed in the given KMD wallet, or a new one that is funded for you
27 | */
28 | export async function getOrCreateKmdWalletAccount(
29 | walletAccount: { name: string; fundWith?: AlgoAmount },
30 | algod: Algodv2,
31 | kmdClient?: Kmd,
32 | ): Promise {
33 | return (
34 | await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getOrCreateWalletAccount(
35 | walletAccount.name,
36 | walletAccount.fundWith,
37 | )
38 | ).account
39 | }
40 |
--------------------------------------------------------------------------------
/src/localnet/index.ts:
--------------------------------------------------------------------------------
1 | export * from './get-kmd-wallet-account'
2 | export * from './get-localnet-dispenser-account'
3 | export * from './get-or-create-kmd-wallet-account'
4 | export * from './is-localnet'
5 |
--------------------------------------------------------------------------------
/src/localnet/is-localnet.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { ClientManager } from '../types/client-manager'
3 | import Algodv2 = algosdk.Algodv2
4 |
5 | /** @deprecated Use `await algorand.client.isLocalNet()` or `await new ClientManager({ algod }).isLocalNet()` instead.
6 | *
7 | * Returns true if the algod client is pointing to a LocalNet Algorand network
8 | */
9 | export async function isLocalNet(algod: Algodv2): Promise {
10 | return await new ClientManager({ algod }).isLocalNet()
11 | }
12 |
--------------------------------------------------------------------------------
/src/testing/_asset.ts:
--------------------------------------------------------------------------------
1 | import { Address } from 'algosdk'
2 | import { AlgorandClient } from '../types/algorand-client'
3 |
4 | export async function generateTestAsset(algorand: AlgorandClient, sender: Address | string, total?: number) {
5 | total = !total ? Math.floor(Math.random() * 100) + 20 : total
6 | const decimals = 0
7 | const assetName = `ASA ${Math.floor(Math.random() * 100) + 1}_${Math.floor(Math.random() * 100) + 1}_${total}`
8 |
9 | const asset = await algorand.send.assetCreate({
10 | sender: sender,
11 | total: BigInt(total * 10 ** decimals),
12 | decimals: decimals,
13 | defaultFrozen: false,
14 | unitName: '',
15 | assetName: assetName,
16 | manager: sender,
17 | reserve: sender,
18 | freeze: sender,
19 | clawback: sender,
20 | url: 'https://path/to/my/asset/details',
21 | })
22 |
23 | return asset.assetId
24 | }
25 |
--------------------------------------------------------------------------------
/src/testing/fixtures/algokit-log-capture-fixture.ts:
--------------------------------------------------------------------------------
1 | import { Config } from '../../'
2 | import { AlgoKitLogCaptureFixture } from '../../types/testing'
3 | import { TestLogger } from '../test-logger'
4 |
5 | /**
6 | * Creates a test fixture for capturing AlgoKit logs.
7 | *
8 | * @example
9 | * ```typescript
10 | * const logs = algoKitLogCaptureFixture()
11 | *
12 | * beforeEach(logs.beforeEach)
13 | * afterEach(logs.afterEach)
14 | *
15 | * test('My test', () => {
16 | * const capturedLogs = logs.testLogger.capturedLogs
17 | * })
18 | * ```
19 | *
20 | * @returns The fixture
21 | */
22 | export const algoKitLogCaptureFixture: () => AlgoKitLogCaptureFixture = () => {
23 | const originalLogger = Config.logger
24 |
25 | let hybridLogger: TestLogger
26 |
27 | return {
28 | get testLogger() {
29 | return hybridLogger
30 | },
31 | beforeEach: () => {
32 | hybridLogger = new TestLogger(originalLogger)
33 | Config.configure({
34 | logger: hybridLogger,
35 | })
36 | },
37 | afterEach: () => {
38 | Config.configure({
39 | logger: originalLogger,
40 | })
41 | },
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/testing/fixtures/index.ts:
--------------------------------------------------------------------------------
1 | export * from './algokit-log-capture-fixture'
2 | export * from './algorand-fixture'
3 |
--------------------------------------------------------------------------------
/src/testing/index.ts:
--------------------------------------------------------------------------------
1 | export * from './account'
2 | export * from './fixtures'
3 | export * from './indexer'
4 | export * from './test-logger'
5 | export * from './transaction-logger'
6 |
--------------------------------------------------------------------------------
/src/testing/indexer.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Runs the given indexer call until a 404 error is no longer returned.
3 | * Tried every 200ms up to 100 times.
4 | * Very rudimentary implementation designed for automated testing.
5 | * @example
6 | * ```typescript
7 | * const transaction = await runWhenIndexerCaughtUp(() => indexer.lookupTransactionByID(txnId).do())
8 | * ```
9 | * @param run The code to run
10 | * @returns The result (as a promise), or throws if the indexer didn't catch up in time
11 | */
12 | export async function runWhenIndexerCaughtUp(run: () => Promise): Promise {
13 | let result: T | null = null
14 | let ok = false
15 | let tries = 0
16 | while (!ok) {
17 | try {
18 | result = await run()
19 | ok = true
20 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
21 | } catch (e: any) {
22 | if (e?.status === 404) {
23 | tries++
24 | if (tries > 100) {
25 | throw e
26 | }
27 | await new Promise((resolve) => setTimeout(resolve, 200))
28 | } else {
29 | throw e
30 | }
31 | }
32 | }
33 |
34 | return result as T
35 | }
36 |
--------------------------------------------------------------------------------
/src/transaction/index.ts:
--------------------------------------------------------------------------------
1 | export * from './perform-atomic-transaction-composer-simulate'
2 | export * from './transaction'
3 |
--------------------------------------------------------------------------------
/src/transaction/perform-atomic-transaction-composer-simulate.ts:
--------------------------------------------------------------------------------
1 | import algosdk, { SignedTransaction, decodeMsgpack } from 'algosdk'
2 | import Algodv2 = algosdk.Algodv2
3 | import AtomicTransactionComposer = algosdk.AtomicTransactionComposer
4 | import modelsv2 = algosdk.modelsv2
5 |
6 | /**
7 | * Performs a simulation of the transactions loaded into the given AtomicTransactionComposer.
8 | * Uses empty transaction signers for all transactions.
9 | *
10 | * @param atc The AtomicTransactionComposer with transaction(s) loaded.
11 | * @param algod An Algod client to perform the simulation.
12 | * @returns The simulation result, which includes various details about how the transactions would be processed.
13 | */
14 | export async function performAtomicTransactionComposerSimulate(
15 | atc: AtomicTransactionComposer,
16 | algod: Algodv2,
17 | options?: Omit[0], 'txnGroups'>,
18 | ) {
19 | const unsignedTransactionsSigners = atc.buildGroup()
20 | const decodedSignedTransactions = unsignedTransactionsSigners.map((ts) => algosdk.encodeUnsignedSimulateTransaction(ts.txn))
21 |
22 | const simulateRequest = new modelsv2.SimulateRequest({
23 | ...(options ?? {
24 | allowEmptySignatures: true,
25 | fixSigners: true,
26 | allowMoreLogging: true,
27 | execTraceConfig: new modelsv2.SimulateTraceConfig({
28 | enable: true,
29 | scratchChange: true,
30 | stackChange: true,
31 | stateChange: true,
32 | }),
33 | }),
34 | txnGroups: [
35 | new modelsv2.SimulateRequestTransactionGroup({
36 | txns: decodedSignedTransactions.map((txn) => decodeMsgpack(txn, SignedTransaction)),
37 | }),
38 | ],
39 | })
40 | const simulateResult = await algod.simulateTransactions(simulateRequest).do()
41 | return simulateResult
42 | }
43 |
--------------------------------------------------------------------------------
/src/transfer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './transfer'
2 | export * from './transfer-algos'
3 |
--------------------------------------------------------------------------------
/src/transfer/transfer-algos.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { legacySendTransactionBridge } from '../transaction/legacy-bridge'
3 | import { encodeTransactionNote, getSenderAddress } from '../transaction/transaction'
4 | import { PaymentParams } from '../types/composer'
5 | import { SendTransactionResult } from '../types/transaction'
6 | import { AlgoTransferParams } from '../types/transfer'
7 | import Algodv2 = algosdk.Algodv2
8 |
9 | /**
10 | * @deprecated Use `algorand.send.payment()` / `algorand.createTransaction.payment()` instead
11 | *
12 | * Transfer Algo between two accounts.
13 | * @param transfer The transfer definition
14 | * @param algod An algod client
15 | * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
16 | *
17 | * @example Usage example
18 | * ```typescript
19 | * await algokit.transferAlgos({ from, to, amount: algokit.algo(1) }, algod)
20 | * ```
21 | */
22 | export async function transferAlgos(transfer: AlgoTransferParams, algod: Algodv2): Promise {
23 | const params: PaymentParams = {
24 | sender: getSenderAddress(transfer.from),
25 | receiver: getSenderAddress(transfer.to),
26 | amount: transfer.amount,
27 | note: encodeTransactionNote(transfer.note),
28 | lease: transfer.lease,
29 | }
30 |
31 | return await legacySendTransactionBridge(
32 | algod,
33 | transfer.from,
34 | transfer,
35 | params,
36 | (c) => c.payment,
37 | (c) => c.payment,
38 | )
39 | }
40 |
--------------------------------------------------------------------------------
/src/types/__snapshots__/app-client.spec.ts.snap:
--------------------------------------------------------------------------------
1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2 |
3 | exports[`application-client > Errors > Display nice error messages when there is a logic error 2`] = `
4 | "INFO: Idempotently deploying app "TestingApp" from creator ACCOUNT_1 using 1498 bytes of AVM bytecode and 4 bytes of AVM bytecode
5 | INFO: App TestingApp not found in apps created by ACCOUNT_1; deploying app with version 1.0.
6 | VERBOSE: Sent transaction ID TXID_1 appl from ACCOUNT_1
7 | DEBUG: App created by ACCOUNT_1 with ID APP_1 via transaction TXID_1
8 | ERROR: Received error executing Atomic Transaction Composer and debug flag enabled; attempting simulation to get more information | [{"cause":{},"name":"Error","traces":[]}]"
9 | `;
10 |
--------------------------------------------------------------------------------
/src/types/__snapshots__/app-factory-and-client.spec.ts.snap:
--------------------------------------------------------------------------------
1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2 |
3 | exports[`ARC32: app-factory-and-app-client > Errors > Display nice error messages when there is a logic error 2`] = `
4 | "INFO: Idempotently deploying app "TestingApp" from creator ACCOUNT_1 using 1498 bytes of AVM bytecode and 4 bytes of AVM bytecode
5 | INFO: App TestingApp not found in apps created by ACCOUNT_1; deploying app with version 1.0.
6 | VERBOSE: Sent transaction ID TXID_1 appl from ACCOUNT_1
7 | DEBUG: App created by ACCOUNT_1 with ID APP_1 via transaction TXID_1
8 | ERROR: Received error executing Atomic Transaction Composer and debug flag enabled; attempting simulation to get more information | [{"cause":{},"name":"Error","traces":[]}]
9 | ERROR: assert failed pc=885. at:469. Error resolving execution info via simulate in transaction 0: transaction TXID_2: logic eval error: assert failed pc=885. Details: app=APP_1, pc=885, opcodes=proto 0 0; intc_0 // 0; assert
10 |
11 | 464: // error
12 | 465: error_7:
13 | 466: proto 0 0
14 | 467: intc_0 // 0
15 | 468: // Deliberate error
16 | 469: assert <--- Error
17 | 470: retsub
18 | 471:
19 | 472: // create
20 | 473: create_8:"
21 | `;
22 |
--------------------------------------------------------------------------------
/src/types/__snapshots__/async-event-emitter.spec.ts.snap:
--------------------------------------------------------------------------------
1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2 |
3 | exports[`async-event-emitter > users code would looks like this 1`] = `
4 | [
5 | "INFO: event_a | [{"hello":"world"}]",
6 | ]
7 | `;
8 |
--------------------------------------------------------------------------------
/src/types/account-manager.spec.ts:
--------------------------------------------------------------------------------
1 | import algosdk from 'algosdk'
2 | import { v4 as uuid } from 'uuid'
3 | import { beforeEach, describe, expect, test } from 'vitest'
4 | import { algo } from '../amount'
5 | import { algorandFixture } from '../testing'
6 |
7 | describe('AccountManager', () => {
8 | const localnet = algorandFixture()
9 |
10 | beforeEach(localnet.newScope, 10e6)
11 |
12 | test('New account is retrieved and funded', async () => {
13 | const { algorand } = localnet.context
14 |
15 | const account = await algorand.account.fromEnvironment(uuid())
16 |
17 | const accountInfo = await algorand.account.getInformation(account.addr)
18 | expect(accountInfo.balance.microAlgo).toBeGreaterThan(0)
19 | }, 10e6)
20 |
21 | test('Same account is subsequently retrieved', async () => {
22 | const { algorand } = localnet.context
23 | const name = uuid()
24 |
25 | const account = await algorand.account.fromEnvironment(name)
26 | const account2 = await algorand.account.fromEnvironment(name)
27 |
28 | expect(account).not.toBe(account2)
29 | expect(account.addr).toEqual(account2.addr)
30 | expect(account.account.sk).toEqual(account2.account.sk)
31 | }, 10e6)
32 |
33 | test('Environment is used in preference to kmd', async () => {
34 | const { algorand } = localnet.context
35 | const name = uuid()
36 | const account = await algorand.account.fromEnvironment(name)
37 |
38 | const name2 = 'TEST'
39 | process.env.TEST_MNEMONIC = algosdk.secretKeyToMnemonic(account.account.sk)
40 | const account2 = await algorand.account.fromEnvironment(name2)
41 |
42 | expect(account).not.toBe(account2)
43 | expect(account.addr).toEqual(account2.addr)
44 | expect(account.account.sk).toEqual(account2.account.sk)
45 | }, 10e6)
46 |
47 | test('Rekeyed account is retrievable', async () => {
48 | const { algorand, generateAccount } = localnet.context
49 |
50 | const rekeyed = await generateAccount({ initialFunds: algo(1) })
51 | const rekeyTo = await generateAccount({ initialFunds: algo(0.1) })
52 |
53 | await algorand.account.rekeyAccount(rekeyed.addr, rekeyTo)
54 |
55 | const accountInfo = await algorand.account.getInformation(rekeyed.addr)
56 | expect(accountInfo.address.toString()).toBe(rekeyed.addr.toString())
57 | expect(accountInfo.authAddr!.toString()).toBe(rekeyTo.addr.toString())
58 | }, 10e6)
59 | })
60 |
--------------------------------------------------------------------------------
/src/types/amount.spec.ts:
--------------------------------------------------------------------------------
1 | import { describe, expect, test } from 'vitest'
2 | import { algos, microAlgos, transactionFees } from '../amount'
3 | import { AlgoAmount } from './amount'
4 |
5 | describe('amount', () => {
6 | test('toString on 1', () => {
7 | expect(`${microAlgos(1)}`).toBe(`1 µALGO`)
8 | })
9 | test('toString on big amount', () => {
10 | expect(`${algos(100)}`).toBe(`100,000,000 µALGO`)
11 | })
12 | test('microalgos to microalgos', () => {
13 | expect(microAlgos(100).microAlgo).toBe(100n)
14 | })
15 | test('algos to microalgos', () => {
16 | expect(algos(100).microAlgo).toBe(100_000_000n)
17 | })
18 | test('algos to algos', () => {
19 | expect(algos(100).algo).toBe(100)
20 | })
21 | test('small microalgos to algos', () => {
22 | expect(microAlgos(1000).algo).toBe(0.001)
23 | })
24 | test('large microalgos to algos', () => {
25 | expect(microAlgos(100_000_000).algo).toBe(100)
26 | })
27 | test('single transaction fee', () => {
28 | expect(transactionFees(1).microAlgo).toBe(1_000n)
29 | })
30 | test('multiple transaction fees', () => {
31 | expect(transactionFees(10).microAlgo).toBe(10_000n)
32 | })
33 | test('algos via Number.prototype', () => {
34 | expect((100).algo()).toBeInstanceOf(AlgoAmount)
35 | expect((100).algo().algo).toBe(100)
36 | })
37 | test('microAlgos via Number.prototype', () => {
38 | expect((100).microAlgo()).toBeInstanceOf(AlgoAmount)
39 | expect((100).microAlgo().microAlgo).toBe(100n)
40 | })
41 | })
42 |
--------------------------------------------------------------------------------
/src/types/async-event-emitter.spec.ts:
--------------------------------------------------------------------------------
1 | import { afterEach, beforeEach, describe, expect, it } from 'vitest'
2 | import { Config } from '../config'
3 | import { algoKitLogCaptureFixture } from '../testing/fixtures/algokit-log-capture-fixture'
4 |
5 | describe('async-event-emitter', () => {
6 | const logging = algoKitLogCaptureFixture()
7 | beforeEach(logging.beforeEach)
8 | afterEach(logging.afterEach)
9 |
10 | const mockRegisterNodeDebugHandlers = () => {
11 | Config.events.on('event_a', (data: unknown) => {
12 | logging.testLogger.info('event_a', data)
13 | })
14 | }
15 |
16 | it('users code would looks like this', async () => {
17 | Config.configure({
18 | debug: true,
19 | })
20 | mockRegisterNodeDebugHandlers() // imitates invocation of algokit-utils-ts-debug
21 |
22 | Config.events.emitAsync('event_a', {
23 | hello: 'world',
24 | })
25 |
26 | // await for the event to be processed by checking if capturedLogs is empty
27 | while (logging.testLogger.capturedLogs.length === 0) {
28 | await new Promise((resolve) => setTimeout(resolve, 100))
29 | }
30 |
31 | expect(logging.testLogger.capturedLogs).toMatchSnapshot()
32 | })
33 | })
34 |
--------------------------------------------------------------------------------
/src/types/composer.spec.ts:
--------------------------------------------------------------------------------
1 | import { beforeEach, describe, expect, test } from 'vitest'
2 | import { algorandFixture } from '../testing'
3 |
4 | describe('TransactionComposer', () => {
5 | const fixture = algorandFixture()
6 |
7 | beforeEach(async () => {
8 | await fixture.beforeEach()
9 | })
10 |
11 | describe('error transformers', () => {
12 | const errorTransformers = [
13 | async (e: Error) => {
14 | if (e.message.includes('missing from')) {
15 | return new Error('ASSET MISSING???')
16 | }
17 |
18 | return e
19 | },
20 | async (e: Error) => {
21 | if (e.message == 'ASSET MISSING???') {
22 | return new Error('ASSET MISSING!')
23 | }
24 |
25 | return e
26 | },
27 | ]
28 |
29 | test('throws correct error from simulate', async () => {
30 | const algorand = fixture.context.algorand
31 | const sender = fixture.context.testAccount
32 | const composer = algorand.newGroup()
33 |
34 | composer.addAssetTransfer({
35 | amount: 1n,
36 | assetId: 1337n,
37 | sender,
38 | receiver: sender,
39 | })
40 |
41 | errorTransformers.forEach((errorTransformer) => {
42 | composer.registerErrorTransformer(errorTransformer)
43 | })
44 |
45 | await expect(composer.simulate()).rejects.toThrow('ASSET MISSING!')
46 | })
47 |
48 | test('throws correct error from send', async () => {
49 | const algorand = fixture.context.algorand
50 | const sender = fixture.context.testAccount
51 | const composer = algorand.newGroup()
52 |
53 | composer.addAssetTransfer({
54 | amount: 1n,
55 | assetId: 1337n,
56 | sender,
57 | receiver: sender,
58 | })
59 |
60 | errorTransformers.forEach((errorTransformer) => {
61 | composer.registerErrorTransformer(errorTransformer)
62 | })
63 |
64 | await expect(composer.send()).rejects.toThrow('ASSET MISSING!')
65 | })
66 | })
67 | })
68 |
--------------------------------------------------------------------------------
/src/types/debugging.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * An asynchronous event listener
3 | */
4 |
5 | import algosdk from 'algosdk'
6 | import { CompiledTeal } from './app'
7 |
8 | /** The directory name for AlgoKit project related files */
9 | export const ALGOKIT_DIR = '.algokit'
10 |
11 | /** The directory name for debug source files */
12 | export const SOURCES_DIR = 'sources'
13 |
14 | /** The file extension for TEAL files */
15 | export const TEAL_FILE_EXT = '.teal'
16 |
17 | /** The file extension for TEAL source map files */
18 | export const TEAL_SOURCEMAP_EXT = '.teal.map'
19 |
20 | /** The default maximum search depth for file operations */
21 | export const DEFAULT_MAX_SEARCH_DEPTH = 10
22 |
23 | /**
24 | * Represents the data for a single TEAL source
25 | */
26 | export interface TealSourceDebugEventData {
27 | /** The name of the application */
28 | appName: string
29 | /** The name of the file */
30 | fileName: string
31 | /** The compiled TEAL code */
32 | compiledTeal: CompiledTeal
33 | }
34 |
35 | /**
36 | * Represents the data for multiple TEAL sources debug events emitted whenever an app is compiled as part of a deploy in debug mode
37 | */
38 | export interface TealSourcesDebugEventData {
39 | /** An array of TEAL source debug event data */
40 | sources: TealSourceDebugEventData[]
41 | }
42 |
43 | /**
44 | * Represents the data for AVM traces debug events emitted whenever a transaction is simulated in debug mode
45 | */
46 | export interface AVMTracesEventData {
47 | /** The simulation response from Algod */
48 | simulateResponse: algosdk.modelsv2.SimulateResponse
49 | }
50 |
--------------------------------------------------------------------------------
/src/types/expand.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Expands types for IntelliSense so they are more human readable
3 | * See https://stackoverflow.com/a/69288824
4 | */
5 | export type Expand = T extends (...args: infer A) => infer R
6 | ? (...args: Expand) => Expand
7 | : T extends infer O
8 | ? { [K in keyof O]: O[K] }
9 | : never
10 |
--------------------------------------------------------------------------------
/src/types/instance-of.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * A type that represents the interface of the class given as the generic parameter
3 | */
4 | export type InterfaceOf = {
5 | [Member in keyof ClassType]: ClassType[Member]
6 | }
7 |
--------------------------------------------------------------------------------
/src/types/lifecycle-events.ts:
--------------------------------------------------------------------------------
1 | import { AVMTracesEventData, TealSourcesDebugEventData } from './debugging'
2 |
3 | export enum EventType {
4 | TxnGroupSimulated = 'TxnGroupSimulated',
5 | AppCompiled = 'AppCompiled',
6 | }
7 |
8 | export type EventDataMap = {
9 | [EventType.TxnGroupSimulated]: AVMTracesEventData
10 | [EventType.AppCompiled]: TealSourcesDebugEventData
11 | [key: string]: unknown
12 | }
13 |
--------------------------------------------------------------------------------
/src/types/logging.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-unused-vars */
2 | /* eslint-disable no-console */
3 |
4 | /** General purpose logger type, compatible with Winston and others. */
5 | export type Logger = {
6 | error(message: string, ...optionalParams: unknown[]): void
7 | warn(message: string, ...optionalParams: unknown[]): void
8 | info(message: string, ...optionalParams: unknown[]): void
9 | verbose(message: string, ...optionalParams: unknown[]): void
10 | debug(message: string, ...optionalParams: unknown[]): void
11 | }
12 |
13 | /** A logger implementation that writes to console */
14 | export const consoleLogger: Logger = {
15 | error: console.error,
16 | warn: console.warn,
17 | info: console.info,
18 | verbose: () => {},
19 | debug: console.debug,
20 | }
21 |
22 | export const infoConsoleLogger: Logger = {
23 | error: console.error,
24 | warn: console.warn,
25 | info: console.info,
26 | verbose: () => {},
27 | debug: () => {},
28 | }
29 |
30 | export const verboseConsoleLogger: Logger = {
31 | error: console.error,
32 | warn: console.warn,
33 | info: console.info,
34 | verbose: console.trace,
35 | debug: console.debug,
36 | }
37 |
38 | export const warningConsoleLogger: Logger = {
39 | error: console.error,
40 | warn: console.warn,
41 | info: () => {},
42 | verbose: () => {},
43 | debug: () => {},
44 | }
45 |
46 | /** A logger implementation that does nothing */
47 | export const nullLogger: Logger = {
48 | error: function (message: string, ...optionalParams: unknown[]): void {},
49 | warn: function (message: string, ...optionalParams: unknown[]): void {},
50 | info: function (message: string, ...optionalParams: unknown[]): void {},
51 | verbose: function (message: string, ...optionalParams: unknown[]): void {},
52 | debug: function (message: string, ...optionalParams: unknown[]): void {},
53 | }
54 |
--------------------------------------------------------------------------------
/src/types/network-client.ts:
--------------------------------------------------------------------------------
1 | import { TokenHeader } from 'algosdk'
2 |
3 | /** Config for an Algorand SDK client. */
4 | export interface AlgoClientConfig {
5 | /** Base URL of the server e.g. http://localhost, https://testnet-api.algonode.cloud/, etc. */
6 | server: string
7 | /** The port to use e.g. 4001, 443, etc. */
8 | port?: string | number
9 | /** The token to use for API authentication (or undefined if none needed) - can be a string, or an object with the header key => value */
10 | token?: string | TokenHeader
11 | }
12 |
13 | /** Configuration for algod, indexer and kmd clients. */
14 | export interface AlgoConfig {
15 | /** Algod client configuration */
16 | algodConfig: AlgoClientConfig
17 | /** Indexer client configuration */
18 | indexerConfig?: AlgoClientConfig
19 | /** Kmd configuration */
20 | kmdConfig?: AlgoClientConfig
21 | }
22 |
23 | /** Details of the current network. */
24 | export interface NetworkDetails {
25 | /** Whether or not the network is TestNet. */
26 | isTestNet: boolean
27 | /** Whether or not the network is MainNet. */
28 | isMainNet: boolean
29 | /** Whether or not the network is LocalNet. */
30 | isLocalNet: boolean
31 | /** The genesis ID of the current network. */
32 | genesisId: string
33 | /** The base64 genesis hash of the current network. */
34 | genesisHash: string
35 | }
36 |
37 | /**
38 | * Returns true if the given network genesisId is associated with a LocalNet network.
39 | * @param genesisId The network genesis ID
40 | * @returns Whether the given genesis ID is associated with a LocalNet network
41 | */
42 | export function genesisIdIsLocalNet(genesisId: string) {
43 | return genesisId === 'devnet-v1' || genesisId === 'sandnet-v1' || genesisId === 'dockernet-v1'
44 | }
45 |
--------------------------------------------------------------------------------
/tests/example-contracts/arc56_templates/artifacts/Templates.arc4.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Templates",
3 | "desc": "",
4 | "methods": [
5 | {
6 | "name": "tmpl",
7 | "args": [],
8 | "returns": {
9 | "type": "void"
10 | }
11 | },
12 | {
13 | "name": "specificLengthTemplateVar",
14 | "args": [],
15 | "returns": {
16 | "type": "void"
17 | }
18 | },
19 | {
20 | "name": "throwError",
21 | "args": [],
22 | "returns": {
23 | "type": "void"
24 | }
25 | },
26 | {
27 | "name": "itobTemplateVar",
28 | "args": [],
29 | "returns": {
30 | "type": "byte[]"
31 | }
32 | },
33 | {
34 | "name": "createApplication",
35 | "args": [],
36 | "returns": {
37 | "type": "void"
38 | }
39 | }
40 | ]
41 | }
--------------------------------------------------------------------------------
/tests/example-contracts/arc56_templates/artifacts/Templates.clear.teal:
--------------------------------------------------------------------------------
1 | #pragma version 10
--------------------------------------------------------------------------------
/tests/example-contracts/arc56_templates/templates.algo.ts:
--------------------------------------------------------------------------------
1 | import { Contract } from '@algorandfoundation/tealscript'
2 |
3 | export class Templates extends Contract {
4 | bytesTmplVar = TemplateVar()
5 |
6 | uint64TmplVar = TemplateVar()
7 |
8 | bytes32TmplVar = TemplateVar()
9 |
10 | bytes64TmplVar = TemplateVar()
11 |
12 | tmpl(): void {
13 | log(this.bytesTmplVar)
14 | assert(this.uint64TmplVar)
15 | }
16 |
17 | specificLengthTemplateVar(): void {
18 | ed25519VerifyBare(this.bytesTmplVar, this.bytes64TmplVar, this.bytes32TmplVar)
19 | }
20 |
21 | throwError(): void {
22 | throw Error('this is an error')
23 | }
24 |
25 | itobTemplateVar(): bytes {
26 | return itob(this.uint64TmplVar)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/tests/example-contracts/box_map/.gitignore:
--------------------------------------------------------------------------------
1 | artifacts/*
2 | !artifacts/*.arc56.json
3 | !artifacts/*.approval.teal
4 |
--------------------------------------------------------------------------------
/tests/example-contracts/box_map/artifacts/BoxMapTest.approval.teal:
--------------------------------------------------------------------------------
1 | #pragma version 10
2 | intcblock 1
3 |
4 | // This TEAL was generated by TEALScript v0.106.3
5 | // https://github.com/algorandfoundation/TEALScript
6 |
7 | // This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
8 |
9 | // The following ten lines of TEAL handle initial program flow
10 | // This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed
11 | // Here, action refers to the OnComplete in combination with whether the app is being created or called
12 | // Every possible action for this contract is represented in the switch statement
13 | // If the action is not implemented in the contract, its respective branch will be "*NOT_IMPLEMENTED" which just contains "err"
14 | txn ApplicationID
15 | !
16 | pushint 6
17 | *
18 | txn OnCompletion
19 | +
20 | switch *call_NoOp *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *create_NoOp *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED
21 |
22 | *NOT_IMPLEMENTED:
23 | // The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?
24 | err
25 |
26 | // setValue(uint64,string)void
27 | *abi_route_setValue:
28 | // value: string
29 | txna ApplicationArgs 2
30 | extract 2 0
31 |
32 | // key: uint64
33 | txna ApplicationArgs 1
34 | btoi
35 |
36 | // execute setValue(uint64,string)void
37 | callsub setValue
38 | intc 0 // 1
39 | return
40 |
41 | // setValue(key: uint64, value: string): void
42 | setValue:
43 | proto 2 0
44 |
45 | // box_map.algo.ts:7
46 | // this.bMap(key).value = value
47 | pushbytes 0x62 // "b"
48 | frame_dig -1 // key: uint64
49 | itob
50 | concat
51 | dup
52 | box_del
53 | pop
54 | frame_dig -2 // value: string
55 | dup
56 | len
57 | itob
58 | extract 6 2
59 | swap
60 | concat
61 | box_put
62 | retsub
63 |
64 | *abi_route_createApplication:
65 | intc 0 // 1
66 | return
67 |
68 | *create_NoOp:
69 | pushbytes 0xb8447b36 // method "createApplication()void"
70 | txna ApplicationArgs 0
71 | match *abi_route_createApplication
72 |
73 | // this contract does not implement the given ABI method for create NoOp
74 | err
75 |
76 | *call_NoOp:
77 | pushbytes 0xe065c470 // method "setValue(uint64,string)void"
78 | txna ApplicationArgs 0
79 | match *abi_route_setValue
80 |
81 | // this contract does not implement the given ABI method for call NoOp
82 | err
--------------------------------------------------------------------------------
/tests/example-contracts/box_map/box_map.algo.ts:
--------------------------------------------------------------------------------
1 | import { Contract } from '@algorandfoundation/tealscript'
2 |
3 | export class BoxMapTest extends Contract {
4 | bMap = BoxMap({ prefix: 'b' })
5 |
6 | setValue(key: uint64, value: string): void {
7 | this.bMap(key).value = value
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/tests/example-contracts/box_map/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
4 | "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
5 | "module": "commonjs", /* Specify what module code is generated. */
6 | "strict": true, /* Enable all strict type-checking options. */
7 | "skipLibCheck": true /* Skip type checking all .d.ts files. */
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/tests/example-contracts/byte_arrays/artifacts/ByteArrays.arc4.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ByteArrays",
3 | "desc": "",
4 | "methods": [
5 | {
6 | "name": "createApplication",
7 | "args": [],
8 | "returns": {
9 | "type": "void"
10 | }
11 | },
12 | {
13 | "name": "setBoxValues",
14 | "args": [],
15 | "returns": {
16 | "type": "void"
17 | }
18 | },
19 | {
20 | "name": "dynamicByteArray",
21 | "args": [],
22 | "returns": {
23 | "type": "byte[]"
24 | }
25 | },
26 | {
27 | "name": "staticByteArray",
28 | "args": [],
29 | "returns": {
30 | "type": "byte[4]"
31 | }
32 | },
33 | {
34 | "name": "nestedByteArrays",
35 | "args": [],
36 | "returns": {
37 | "type": "(byte[],byte[4])"
38 | }
39 | },
40 | {
41 | "name": "byteArraysInStruct",
42 | "args": [],
43 | "returns": {
44 | "type": "(byte[],byte[4],(byte[],uint64))"
45 | }
46 | }
47 | ]
48 | }
--------------------------------------------------------------------------------
/tests/example-contracts/byte_arrays/artifacts/ByteArrays.clear.teal:
--------------------------------------------------------------------------------
1 | #pragma version 10
--------------------------------------------------------------------------------
/tests/example-contracts/client/test.algo.ts:
--------------------------------------------------------------------------------
1 | // Sourced from https://github.com/joe-p/algokit-client
2 |
3 | import { Contract } from '@algorandfoundation/tealscript'
4 |
5 | export default class TestContract extends Contract {
6 | /**
7 | * Calculates the sum of two numbers
8 | *
9 | * @param a
10 | * @param b
11 | * @returns The sum of a and b
12 | */
13 | private getSum(a: number, b: number): number {
14 | return a + b
15 | }
16 |
17 | /**
18 | * Calculates the difference between two numbers
19 | *
20 | * @param a
21 | * @param b
22 | * @returns The difference between a and b.
23 | */
24 | private getDifference(a: number, b: number): number {
25 | return a >= b ? a - b : b - a
26 | }
27 |
28 | /**
29 | * A method that takes two numbers and does either addition or subtraction
30 | *
31 | * @param a The first number
32 | * @param b The second number
33 | * @param operation The operation to perform. Can be either 'sum' or 'difference'
34 | *
35 | * @returns The result of the operation
36 | */
37 | doMath(a: number, b: number, operation: string): number {
38 | let result: number
39 |
40 | if (operation === 'sum') {
41 | result = this.getSum(a, b)
42 | } else if (operation === 'difference') {
43 | result = this.getDifference(a, b)
44 | } else throw Error('Invalid operation')
45 |
46 | return result
47 | }
48 |
49 | txnArg(txn: PayTxn): Address {
50 | return txn.sender
51 | }
52 |
53 | helloWorld(): string {
54 | return 'Hello, World!'
55 | }
56 |
57 | methodArg(call: AppCallTxn): AppID {
58 | return call.applicationID
59 | }
60 |
61 | nestedTxnArg(txn: PayTxn, call: AppCallTxn): AppID {
62 | return call.applicationID
63 | }
64 |
65 | doubleNestedTxnArg(txn0: PayTxn, call1: AppCallTxn, txn2: PayTxn, call3: AppCallTxn): AppID {
66 | return call1.applicationID
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/tests/example-contracts/deploy_error/.gitignore:
--------------------------------------------------------------------------------
1 | artifacts/*
2 | !artifacts/*.arc56.json
3 | !artifacts/*.approval.teal
4 |
--------------------------------------------------------------------------------
/tests/example-contracts/deploy_error/artifacts/DeployError.approval.teal:
--------------------------------------------------------------------------------
1 | #pragma version 10
2 |
3 | // This TEAL was generated by TEALScript v0.106.3
4 | // https://github.com/algorandfoundation/TEALScript
5 |
6 | // This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
7 |
8 | // The following ten lines of TEAL handle initial program flow
9 | // This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed
10 | // Here, action refers to the OnComplete in combination with whether the app is being created or called
11 | // Every possible action for this contract is represented in the switch statement
12 | // If the action is not implemented in the contract, its respective branch will be "*NOT_IMPLEMENTED" which just contains "err"
13 | txn ApplicationID
14 | !
15 | pushint 6
16 | *
17 | txn OnCompletion
18 | +
19 | switch *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *create_NoOp *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED
20 |
21 | *NOT_IMPLEMENTED:
22 | // The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?
23 | err
24 |
25 | // createApplication()void
26 | *abi_route_createApplication:
27 | // execute createApplication()void
28 | callsub createApplication
29 | pushint 1
30 | return
31 |
32 | // createApplication(): void
33 | createApplication:
34 | proto 0 0
35 |
36 | // custom error message
37 | err
38 | retsub
39 |
40 | *create_NoOp:
41 | pushbytes 0xb8447b36 // method "createApplication()void"
42 | txna ApplicationArgs 0
43 | match *abi_route_createApplication
44 |
45 | // this contract does not implement the given ABI method for create NoOp
46 | err
--------------------------------------------------------------------------------
/tests/example-contracts/deploy_error/deploy_error.algo.ts:
--------------------------------------------------------------------------------
1 | import { Contract } from '@algorandfoundation/tealscript'
2 |
3 | export class DeployError extends Contract {
4 | createApplication() {
5 | throw new Error('custom error message')
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/tests/example-contracts/deploy_error/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
4 | "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
5 | "module": "commonjs", /* Specify what module code is generated. */
6 | "strict": true, /* Enable all strict type-checking options. */
7 | "skipLibCheck": true /* Skip type checking all .d.ts files. */
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/tests/example-contracts/inner-fee/contract.py:
--------------------------------------------------------------------------------
1 | from algopy import (
2 | ARC4Contract,
3 | BigUInt,
4 | Global,
5 | UInt64,
6 | arc4,
7 | ensure_budget,
8 | itxn,
9 | op,
10 | urange,
11 | )
12 |
13 |
14 | class InnerFeeContract(ARC4Contract):
15 | @arc4.abimethod
16 | def burn_ops(self, op_budget: UInt64) -> None:
17 | # Uses approx 60 op budget per iteration
18 | count = op_budget // 60
19 | ensure_budget(op_budget)
20 | for i in urange(count):
21 | sqrt = op.bsqrt(BigUInt(i))
22 | assert(sqrt >= 0) # Prevent optimiser removing the sqrt
23 |
24 | @arc4.abimethod(readonly=True)
25 | def burn_ops_readonly(self, op_budget: UInt64) -> None:
26 | self.burn_ops(op_budget)
27 |
28 | @arc4.abimethod
29 | def no_op(self) -> None:
30 | pass
31 |
32 | @arc4.abimethod
33 | def send_x_inners_with_fees(self, app_id: UInt64, fees: arc4.DynamicArray[arc4.UInt64]) -> None:
34 | for fee in fees:
35 | arc4.abi_call('no_op', app_id=app_id, fee=fee.native)
36 |
37 | @arc4.abimethod
38 | def send_inners_with_fees(self, app_id_1: UInt64, app_id_2: UInt64, fees: arc4.Tuple[arc4.UInt64, arc4.UInt64, arc4.UInt64, arc4.UInt64, arc4.DynamicArray[arc4.UInt64]]) -> None:
39 | arc4.abi_call('no_op', app_id=app_id_1, fee=fees[0].native)
40 | arc4.abi_call('no_op', app_id=app_id_1, fee=fees[1].native)
41 | itxn.Payment(
42 | amount=0,
43 | receiver=Global.current_application_address,
44 | fee=fees[2].native
45 | ).submit()
46 | arc4.abi_call('send_x_inners_with_fees', app_id_2, fees[4], app_id=app_id_1, fee=fees[3].native)
47 |
48 | @arc4.abimethod
49 | def send_inners_with_fees_2(self, app_id_1: UInt64, app_id_2: UInt64, fees: arc4.Tuple[arc4.UInt64, arc4.UInt64, arc4.DynamicArray[arc4.UInt64], arc4.UInt64, arc4.UInt64, arc4.DynamicArray[arc4.UInt64]]) -> None:
50 | arc4.abi_call('no_op', app_id=app_id_1, fee=fees[0].native)
51 | arc4.abi_call('send_x_inners_with_fees', app_id_2, fees[2], app_id=app_id_1, fee=fees[1].native)
52 | arc4.abi_call('no_op', app_id=app_id_1, fee=fees[3].native)
53 | arc4.abi_call('send_x_inners_with_fees', app_id_2, fees[5], app_id=app_id_1, fee=fees[4].native)
54 |
--------------------------------------------------------------------------------
/tests/example-contracts/inner_error/.gitignore:
--------------------------------------------------------------------------------
1 | artifacts/*
2 | !artifacts/*.arc56.json
3 | !artifacts/*.approval.teal
4 |
--------------------------------------------------------------------------------
/tests/example-contracts/inner_error/artifacts/InnerApp.approval.teal:
--------------------------------------------------------------------------------
1 | #pragma version 10
2 | intcblock 1
3 |
4 | // This TEAL was generated by TEALScript v0.106.3
5 | // https://github.com/algorandfoundation/TEALScript
6 |
7 | // This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
8 |
9 | // The following ten lines of TEAL handle initial program flow
10 | // This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed
11 | // Here, action refers to the OnComplete in combination with whether the app is being created or called
12 | // Every possible action for this contract is represented in the switch statement
13 | // If the action is not implemented in the contract, its respective branch will be "*NOT_IMPLEMENTED" which just contains "err"
14 | txn ApplicationID
15 | !
16 | pushint 6
17 | *
18 | txn OnCompletion
19 | +
20 | switch *call_NoOp *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *create_NoOp *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED *NOT_IMPLEMENTED
21 |
22 | *NOT_IMPLEMENTED:
23 | // The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?
24 | err
25 |
26 | // throwError()void
27 | *abi_route_throwError:
28 | // execute throwError()void
29 | callsub throwError
30 | intc 0 // 1
31 | return
32 |
33 | // throwError(): void
34 | throwError:
35 | proto 0 0
36 |
37 | // custom error message
38 | err
39 | retsub
40 |
41 | *abi_route_createApplication:
42 | intc 0 // 1
43 | return
44 |
45 | *create_NoOp:
46 | pushbytes 0xb8447b36 // method "createApplication()void"
47 | txna ApplicationArgs 0
48 | match *abi_route_createApplication
49 |
50 | // this contract does not implement the given ABI method for create NoOp
51 | err
52 |
53 | *call_NoOp:
54 | pushbytes 0x3d870d87 // method "throwError()void"
55 | txna ApplicationArgs 0
56 | match *abi_route_throwError
57 |
58 | // this contract does not implement the given ABI method for call NoOp
59 | err
--------------------------------------------------------------------------------
/tests/example-contracts/inner_error/inner_error.algo.ts:
--------------------------------------------------------------------------------
1 | import { Contract } from '@algorandfoundation/tealscript'
2 |
3 | export class InnerApp extends Contract {
4 | throwError() {
5 | throw Error('custom error message')
6 | }
7 | }
8 |
9 | export class MiddleApp extends Contract {
10 | callInner(id: AppID) {
11 | sendMethodCall({
12 | applicationID: id,
13 | methodArgs: [],
14 | })
15 | }
16 | }
17 |
18 | export class OuterApp extends Contract {
19 | callMiddle(middleId: AppID, innerId: AppID) {
20 | sendMethodCall({
21 | applicationID: middleId,
22 | methodArgs: [innerId],
23 | })
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/tests/example-contracts/inner_error/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
4 | "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
5 | "module": "commonjs", /* Specify what module code is generated. */
6 | "strict": true, /* Enable all strict type-checking options. */
7 | "skipLibCheck": true /* Skip type checking all .d.ts files. */
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/tests/example-contracts/resource-packer/artifacts/.gitignore:
--------------------------------------------------------------------------------
1 | *.teal
2 | *.json
3 | !*.arc32.json
4 |
--------------------------------------------------------------------------------
/tests/fixtures/env-fixture.ts:
--------------------------------------------------------------------------------
1 | import { afterAll, beforeEach, vitest } from 'vitest'
2 |
3 | export const envResetFixture = () => {
4 | const OLD_ENV = process.env
5 |
6 | beforeEach(() => {
7 | vitest.resetModules()
8 | process.env = { ...OLD_ENV }
9 | })
10 |
11 | afterAll(() => {
12 | process.env = OLD_ENV
13 | })
14 |
15 | return {
16 | originalEnv: OLD_ENV,
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/tests/setup.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/algorandfoundation/algokit-utils-ts/ca04fdb719ce8a8226ec8f9dbc99eb7b5b9cf376/tests/setup.ts
--------------------------------------------------------------------------------
/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "include": ["src/**/*.ts"],
4 | "exclude": ["src/**/*.spec.ts", "tests/**/*.*", "src/testing/asset.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node20/tsconfig.json",
3 | "compilerOptions": {
4 | "module": "ESNext",
5 | "target": "ES2020",
6 | "moduleResolution": "Bundler",
7 | "esModuleInterop": true,
8 | "types": ["node"],
9 | "outDir": "dist",
10 | "declaration": true,
11 | "importHelpers": true,
12 | "isolatedModules": true,
13 | "resolveJsonModule": true
14 | },
15 | "include": ["src/**/*.ts", "tests/**/*.ts", "rollup-multi-plugin.ts", "rollup.config.ts"],
16 | "exclude": ["**/*.algo.ts"]
17 | }
18 |
--------------------------------------------------------------------------------
/tsconfig.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "isolatedModules": true
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "entryPoints": ["src/index.ts", "src/types/*.ts", "src/testing/index.ts"],
4 | "exclude": ["types/*.spec.ts"],
5 | "entryPointStrategy": "expand",
6 | "out": "docs/code",
7 | "plugin": ["typedoc-plugin-markdown"],
8 | "theme": "default",
9 | "cleanOutputDir": true,
10 | "githubPages": false,
11 | "readme": "none",
12 | "entryDocument": "README.md",
13 | "gitRevision": "main"
14 | }
15 |
--------------------------------------------------------------------------------
/vitest.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vitest/config'
2 | export default defineConfig({
3 | appType: 'custom',
4 | test: {
5 | include: ['**/*.spec.ts'],
6 | exclude: ['node_modules'],
7 | // Sometimes indexer catchup is slowwwww...
8 | testTimeout: 20_000,
9 | setupFiles: ['tests/setup.ts'],
10 | coverage: {
11 | include: ['src/**/*.ts'],
12 | exclude: ['tests/*.*'],
13 | reporter: ['text', 'html'],
14 | },
15 | typecheck: {
16 | tsconfig: 'tsconfig.test.json',
17 | },
18 | env: {
19 | ALGOD_TOKEN: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
20 | ALGOD_SERVER: 'http://localhost',
21 | ALGOD_PORT: '4001',
22 | KMD_PORT: '4002',
23 | INDEXER_TOKEN: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
24 | INDEXER_SERVER: 'http://localhost',
25 | INDEXER_PORT: '8980',
26 | },
27 | },
28 | })
29 |
--------------------------------------------------------------------------------