@algorandfoundation/algokit-utils 10.0.0-alpha.4 → 10.0.0-alpha.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +11 -16
- package/abi/index.d.ts +2 -1
- package/abi/index.js +4 -0
- package/abi/index.mjs +2 -1
- package/account-manager.d.ts +447 -0
- package/account-manager.js +618 -0
- package/account-manager.js.map +1 -0
- package/account-manager.mjs +614 -0
- package/account-manager.mjs.map +1 -0
- package/account.d.ts +156 -0
- package/account.js +11 -0
- package/account.js.map +1 -0
- package/account.mjs +9 -0
- package/account.mjs.map +1 -0
- package/algo25/index.js +1 -0
- package/algod-client/index.d.ts +3 -7
- package/algod-client/index.js +4 -5
- package/algod-client/index.mjs +2 -2
- package/algorand-client-transaction-creator.d.ts +891 -0
- package/algorand-client-transaction-creator.js +736 -0
- package/algorand-client-transaction-creator.js.map +1 -0
- package/algorand-client-transaction-creator.mjs +734 -0
- package/algorand-client-transaction-creator.mjs.map +1 -0
- package/algorand-client-transaction-sender.d.ts +1099 -0
- package/algorand-client-transaction-sender.js +928 -0
- package/algorand-client-transaction-sender.js.map +1 -0
- package/algorand-client-transaction-sender.mjs +926 -0
- package/algorand-client-transaction-sender.mjs.map +1 -0
- package/algorand-client.d.ts +266 -0
- package/algorand-client.js +350 -0
- package/algorand-client.js.map +1 -0
- package/algorand-client.mjs +349 -0
- package/algorand-client.mjs.map +1 -0
- package/amount.d.ts +58 -3
- package/amount.js +109 -17
- package/amount.js.map +1 -1
- package/amount.mjs +100 -11
- package/amount.mjs.map +1 -1
- package/app-client.d.ts +1064 -0
- package/app-client.js +912 -0
- package/app-client.js.map +1 -0
- package/app-client.mjs +910 -0
- package/app-client.mjs.map +1 -0
- package/app-deployer.d.ts +166 -0
- package/app-deployer.js +354 -0
- package/app-deployer.js.map +1 -0
- package/app-deployer.mjs +353 -0
- package/app-deployer.mjs.map +1 -0
- package/app-factory.d.ts +816 -0
- package/app-factory.js +449 -0
- package/app-factory.js.map +1 -0
- package/app-factory.mjs +448 -0
- package/app-factory.mjs.map +1 -0
- package/app-manager.d.ts +323 -0
- package/app-manager.js +469 -0
- package/app-manager.js.map +1 -0
- package/app-manager.mjs +468 -0
- package/app-manager.mjs.map +1 -0
- package/app-spec.d.ts +203 -0
- package/app-spec.js +138 -0
- package/app-spec.js.map +1 -0
- package/app-spec.mjs +137 -0
- package/app-spec.mjs.map +1 -0
- package/app.d.ts +257 -0
- package/app.js +50 -0
- package/app.js.map +1 -0
- package/app.mjs +42 -0
- package/app.mjs.map +1 -0
- package/asset-manager.d.ts +215 -0
- package/asset-manager.js +170 -0
- package/asset-manager.js.map +1 -0
- package/asset-manager.mjs +169 -0
- package/asset-manager.mjs.map +1 -0
- package/async-event-emitter.d.ts +16 -0
- package/async-event-emitter.js +39 -0
- package/async-event-emitter.js.map +1 -0
- package/async-event-emitter.mjs +37 -0
- package/async-event-emitter.mjs.map +1 -0
- package/client-manager.d.ts +475 -0
- package/client-manager.js +617 -0
- package/client-manager.js.map +1 -0
- package/client-manager.mjs +616 -0
- package/client-manager.mjs.map +1 -0
- package/common/index.d.ts +28 -0
- package/common/index.js +110 -0
- package/common/index.mjs +26 -0
- package/composer.d.ts +947 -0
- package/composer.js +1585 -0
- package/composer.js.map +1 -0
- package/composer.mjs +1583 -0
- package/composer.mjs.map +1 -0
- package/config.d.ts +1 -1
- package/config.js +3 -2
- package/config.js.map +1 -1
- package/config.mjs +1 -1
- package/config.mjs.map +1 -1
- package/crypto/index.d.ts +5 -0
- package/crypto/index.js +14 -0
- package/crypto/index.mjs +6 -0
- package/debugging.d.ts +47 -0
- package/debugging.js +21 -0
- package/debugging.js.map +1 -0
- package/debugging.mjs +15 -0
- package/debugging.mjs.map +1 -0
- package/dispenser-client.d.ts +91 -0
- package/dispenser-client.js +129 -0
- package/dispenser-client.js.map +1 -0
- package/dispenser-client.mjs +128 -0
- package/dispenser-client.mjs.map +1 -0
- package/expand.d.ts +2 -0
- package/expand.js +0 -0
- package/expand.mjs +0 -0
- package/index.d.ts +28 -7
- package/index.js +39 -10
- package/index.mjs +21 -6
- package/indexer-client/index.d.ts +2 -2
- package/indexer-client/index.js +7 -6
- package/indexer-client/index.mjs +2 -2
- package/{indexer-lookup.d.ts → indexer-client/indexer-lookup.d.ts} +8 -11
- package/{indexer-lookup.mjs → indexer-client/indexer-lookup.js} +6 -10
- package/indexer-client/indexer-lookup.js.map +1 -0
- package/{indexer-lookup.js → indexer-client/indexer-lookup.mjs} +3 -18
- package/indexer-client/indexer-lookup.mjs.map +1 -0
- package/indexer.d.ts +40 -0
- package/indexer.js +39 -0
- package/indexer.js.map +1 -0
- package/indexer.mjs +35 -0
- package/indexer.mjs.map +1 -0
- package/instance-of.d.ts +8 -0
- package/kmd-account-manager.d.ts +74 -0
- package/kmd-account-manager.js +168 -0
- package/kmd-account-manager.js.map +1 -0
- package/kmd-account-manager.mjs +165 -0
- package/kmd-account-manager.mjs.map +1 -0
- package/kmd-client/index.d.ts +1 -2
- package/kmd-client/index.js +1 -5
- package/kmd-client/index.mjs +1 -2
- package/lifecycle-events.d.ts +14 -0
- package/lifecycle-events.js +12 -0
- package/lifecycle-events.js.map +1 -0
- package/lifecycle-events.mjs +10 -0
- package/lifecycle-events.mjs.map +1 -0
- package/logging.d.ts +13 -0
- package/logging.js +48 -0
- package/logging.js.map +1 -0
- package/logging.mjs +42 -0
- package/logging.mjs.map +1 -0
- package/logic-error.d.ts +39 -0
- package/logic-error.js +55 -0
- package/logic-error.js.map +1 -0
- package/logic-error.mjs +53 -0
- package/logic-error.mjs.map +1 -0
- package/network-client.d.ts +43 -0
- package/network-client.js +15 -0
- package/network-client.js.map +1 -0
- package/network-client.mjs +13 -0
- package/network-client.mjs.map +1 -0
- package/network-manager.d.ts +143 -0
- package/network-manager.js +191 -0
- package/network-manager.js.map +1 -0
- package/network-manager.mjs +190 -0
- package/network-manager.mjs.map +1 -0
- package/package.json +28 -6
- package/packages/abi/src/abi-method.js +18 -19
- package/packages/abi/src/abi-method.js.map +1 -1
- package/packages/abi/src/abi-method.mjs +17 -17
- package/packages/abi/src/abi-method.mjs.map +1 -1
- package/packages/abi/src/abi-type.d.ts +1 -3
- package/packages/abi/src/abi-type.js +7 -36
- package/packages/abi/src/abi-type.js.map +1 -1
- package/packages/abi/src/abi-type.mjs +7 -36
- package/packages/abi/src/abi-type.mjs.map +1 -1
- package/packages/abi/src/arc56-contract.js +1 -0
- package/packages/abi/src/arc56-contract.js.map +1 -1
- package/packages/abi/src/arc56-contract.mjs +1 -0
- package/packages/abi/src/arc56-contract.mjs.map +1 -1
- package/packages/abi/src/utils.d.ts +22 -0
- package/packages/abi/src/utils.js +57 -0
- package/packages/abi/src/utils.js.map +1 -0
- package/packages/abi/src/utils.mjs +55 -0
- package/packages/abi/src/utils.mjs.map +1 -0
- package/packages/algo25/src/index.d.ts +2 -2
- package/packages/algo25/src/index.js +2 -2
- package/packages/algo25/src/index.js.map +1 -1
- package/packages/algo25/src/index.mjs +1 -1
- package/packages/algo25/src/index.mjs.map +1 -1
- package/packages/algod_client/src/apis/api-service.d.ts +44 -44
- package/packages/algod_client/src/apis/api-service.js +155 -155
- package/packages/algod_client/src/apis/api-service.js.map +1 -1
- package/packages/algod_client/src/apis/api-service.mjs +155 -155
- package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
- package/packages/algod_client/src/core/api-error.js +3 -1
- package/packages/algod_client/src/core/api-error.js.map +1 -1
- package/packages/algod_client/src/core/api-error.mjs +3 -1
- package/packages/algod_client/src/core/api-error.mjs.map +1 -1
- package/packages/algod_client/src/core/base-http-request.js.map +1 -1
- package/packages/algod_client/src/core/base-http-request.mjs.map +1 -1
- package/packages/algod_client/src/core/fetch-http-request.js.map +1 -1
- package/packages/algod_client/src/core/fetch-http-request.mjs.map +1 -1
- package/packages/algod_client/src/core/model-runtime.js +6 -6
- package/packages/algod_client/src/core/model-runtime.js.map +1 -1
- package/packages/algod_client/src/core/model-runtime.mjs +8 -8
- package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
- package/packages/algod_client/src/core/request.js.map +1 -1
- package/packages/algod_client/src/core/request.mjs.map +1 -1
- package/packages/algod_client/src/models/account-application-response.js.map +1 -1
- package/packages/algod_client/src/models/account-application-response.mjs.map +1 -1
- package/packages/algod_client/src/models/account-asset-response.js.map +1 -1
- package/packages/algod_client/src/models/account-asset-response.mjs.map +1 -1
- package/packages/algod_client/src/models/account-participation.js +4 -4
- package/packages/algod_client/src/models/account-participation.js.map +1 -1
- package/packages/algod_client/src/models/account-participation.mjs +4 -4
- package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
- package/packages/algod_client/src/models/account-state-delta.js.map +1 -1
- package/packages/algod_client/src/models/account-state-delta.mjs.map +1 -1
- package/packages/algod_client/src/models/account.js.map +1 -1
- package/packages/algod_client/src/models/account.mjs.map +1 -1
- package/packages/algod_client/src/models/application-initial-states.js.map +1 -1
- package/packages/algod_client/src/models/application-initial-states.mjs.map +1 -1
- package/packages/algod_client/src/models/application-kv-storage.js.map +1 -1
- package/packages/algod_client/src/models/application-kv-storage.mjs.map +1 -1
- package/packages/algod_client/src/models/application-local-state.js.map +1 -1
- package/packages/algod_client/src/models/application-local-state.mjs.map +1 -1
- package/packages/algod_client/src/models/application-params.js.map +1 -1
- package/packages/algod_client/src/models/application-params.mjs.map +1 -1
- package/packages/algod_client/src/models/application-state-operation.js.map +1 -1
- package/packages/algod_client/src/models/application-state-operation.mjs.map +1 -1
- package/packages/algod_client/src/models/application-state-schema.d.ts +2 -2
- package/packages/algod_client/src/models/application-state-schema.js +2 -2
- package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
- package/packages/algod_client/src/models/application-state-schema.mjs +2 -2
- package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
- package/packages/algod_client/src/models/application.js.map +1 -1
- package/packages/algod_client/src/models/application.mjs.map +1 -1
- package/packages/algod_client/src/models/asset-holding.js.map +1 -1
- package/packages/algod_client/src/models/asset-holding.mjs.map +1 -1
- package/packages/algod_client/src/models/asset-params.js +2 -1
- package/packages/algod_client/src/models/asset-params.js.map +1 -1
- package/packages/algod_client/src/models/asset-params.mjs +2 -1
- package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
- package/packages/algod_client/src/models/asset.js.map +1 -1
- package/packages/algod_client/src/models/asset.mjs.map +1 -1
- package/packages/algod_client/src/models/avm-key-value.js.map +1 -1
- package/packages/algod_client/src/models/avm-key-value.mjs.map +1 -1
- package/packages/algod_client/src/models/avm-value.js.map +1 -1
- package/packages/algod_client/src/models/avm-value.mjs.map +1 -1
- package/packages/algod_client/src/models/block-hash-response.js.map +1 -1
- package/packages/algod_client/src/models/block-hash-response.mjs.map +1 -1
- package/packages/algod_client/src/models/block-response.js +1 -2
- package/packages/algod_client/src/models/block-response.js.map +1 -1
- package/packages/algod_client/src/models/block-response.mjs +2 -3
- package/packages/algod_client/src/models/block-response.mjs.map +1 -1
- package/packages/algod_client/src/models/block-txids-response.js.map +1 -1
- package/packages/algod_client/src/models/block-txids-response.mjs.map +1 -1
- package/packages/algod_client/src/models/block.d.ts +60 -40
- package/packages/algod_client/src/models/block.js +184 -108
- package/packages/algod_client/src/models/block.js.map +1 -1
- package/packages/algod_client/src/models/block.mjs +184 -108
- package/packages/algod_client/src/models/block.mjs.map +1 -1
- package/packages/algod_client/src/models/box-descriptor.js.map +1 -1
- package/packages/algod_client/src/models/box-descriptor.mjs.map +1 -1
- package/packages/algod_client/src/models/box.js.map +1 -1
- package/packages/algod_client/src/models/box.mjs.map +1 -1
- package/packages/algod_client/src/models/boxes-response.js.map +1 -1
- package/packages/algod_client/src/models/boxes-response.mjs.map +1 -1
- package/packages/algod_client/src/models/build-version.js.map +1 -1
- package/packages/algod_client/src/models/build-version.mjs.map +1 -1
- package/packages/algod_client/src/models/compile-response.js.map +1 -1
- package/packages/algod_client/src/models/compile-response.mjs.map +1 -1
- package/packages/algod_client/src/models/disassemble-response.js.map +1 -1
- package/packages/algod_client/src/models/disassemble-response.mjs.map +1 -1
- package/packages/algod_client/src/models/eval-delta-key-value.js +2 -2
- package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
- package/packages/algod_client/src/models/eval-delta-key-value.mjs +2 -2
- package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
- package/packages/algod_client/src/models/eval-delta.js +2 -2
- package/packages/algod_client/src/models/eval-delta.js.map +1 -1
- package/packages/algod_client/src/models/eval-delta.mjs +2 -2
- package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
- package/packages/algod_client/src/models/genesis-allocation.js.map +1 -1
- package/packages/algod_client/src/models/genesis-allocation.mjs.map +1 -1
- package/packages/algod_client/src/models/genesis.js.map +1 -1
- package/packages/algod_client/src/models/genesis.mjs.map +1 -1
- package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js.map +1 -1
- package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs.map +1 -1
- package/packages/algod_client/src/models/get-sync-round-response.js.map +1 -1
- package/packages/algod_client/src/models/get-sync-round-response.mjs.map +1 -1
- package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js.map +1 -1
- package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs.map +1 -1
- package/packages/algod_client/src/models/ledger-state-delta.js +1 -1
- package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
- package/packages/algod_client/src/models/ledger-state-delta.mjs +2 -2
- package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
- package/packages/algod_client/src/models/light-block-header-proof.js.map +1 -1
- package/packages/algod_client/src/models/light-block-header-proof.mjs.map +1 -1
- package/packages/algod_client/src/models/node-status-response.js.map +1 -1
- package/packages/algod_client/src/models/node-status-response.mjs.map +1 -1
- package/packages/algod_client/src/models/pending-transaction-response.js.map +1 -1
- package/packages/algod_client/src/models/pending-transaction-response.mjs.map +1 -1
- package/packages/algod_client/src/models/pending-transactions-response.js.map +1 -1
- package/packages/algod_client/src/models/pending-transactions-response.mjs.map +1 -1
- package/packages/algod_client/src/models/post-transactions-response.js.map +1 -1
- package/packages/algod_client/src/models/post-transactions-response.mjs.map +1 -1
- package/packages/algod_client/src/models/scratch-change.js.map +1 -1
- package/packages/algod_client/src/models/scratch-change.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-initial-states.js.map +1 -1
- package/packages/algod_client/src/models/simulate-initial-states.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-request-transaction-group.js.map +1 -1
- package/packages/algod_client/src/models/simulate-request-transaction-group.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-request.js +1 -1
- package/packages/algod_client/src/models/simulate-request.js.map +1 -1
- package/packages/algod_client/src/models/simulate-request.mjs +1 -1
- package/packages/algod_client/src/models/simulate-request.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-response.d.ts +3 -1
- package/packages/algod_client/src/models/simulate-response.js +10 -1
- package/packages/algod_client/src/models/simulate-response.js.map +1 -1
- package/packages/algod_client/src/models/simulate-response.mjs +9 -2
- package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-trace-config.js.map +1 -1
- package/packages/algod_client/src/models/simulate-trace-config.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-transaction-group-result.js.map +1 -1
- package/packages/algod_client/src/models/simulate-transaction-group-result.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-transaction-result.js.map +1 -1
- package/packages/algod_client/src/models/simulate-transaction-result.mjs.map +1 -1
- package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.d.ts +3 -5
- package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js +4 -6
- package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
- package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs +3 -5
- package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
- package/packages/algod_client/src/models/simulation-eval-overrides.js.map +1 -1
- package/packages/algod_client/src/models/simulation-eval-overrides.mjs.map +1 -1
- package/packages/algod_client/src/models/simulation-opcode-trace-unit.js.map +1 -1
- package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs.map +1 -1
- package/packages/algod_client/src/models/simulation-transaction-exec-trace.js.map +1 -1
- package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs.map +1 -1
- package/packages/algod_client/src/models/source-map.js.map +1 -1
- package/packages/algod_client/src/models/source-map.mjs.map +1 -1
- package/packages/algod_client/src/models/state-delta.js.map +1 -1
- package/packages/algod_client/src/models/state-delta.mjs.map +1 -1
- package/packages/algod_client/src/models/state-proof-message.js.map +1 -1
- package/packages/algod_client/src/models/state-proof-message.mjs.map +1 -1
- package/packages/algod_client/src/models/state-proof.js.map +1 -1
- package/packages/algod_client/src/models/state-proof.mjs.map +1 -1
- package/packages/algod_client/src/models/supply-response.js.map +1 -1
- package/packages/algod_client/src/models/supply-response.mjs.map +1 -1
- package/packages/algod_client/src/models/teal-key-value-store.js.map +1 -1
- package/packages/algod_client/src/models/teal-key-value-store.mjs.map +1 -1
- package/packages/algod_client/src/models/teal-key-value.js.map +1 -1
- package/packages/algod_client/src/models/teal-key-value.mjs.map +1 -1
- package/packages/algod_client/src/models/teal-value.js.map +1 -1
- package/packages/algod_client/src/models/teal-value.mjs.map +1 -1
- package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js.map +1 -1
- package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs.map +1 -1
- package/packages/algod_client/src/models/transaction-parameters-response.js +2 -2
- package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
- package/packages/algod_client/src/models/transaction-parameters-response.mjs +2 -2
- package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
- package/packages/algod_client/src/models/transaction-proof.js.map +1 -1
- package/packages/algod_client/src/models/transaction-proof.mjs.map +1 -1
- package/packages/algod_client/src/models/version.js.map +1 -1
- package/packages/algod_client/src/models/version.mjs.map +1 -1
- package/packages/common/src/address.d.ts +14 -3
- package/packages/common/src/address.js +14 -13
- package/packages/common/src/address.js.map +1 -1
- package/packages/common/src/address.mjs +8 -11
- package/packages/common/src/address.mjs.map +1 -1
- package/packages/common/src/array.d.ts +6 -0
- package/packages/common/src/codecs/composite/array.d.ts +25 -0
- package/packages/common/src/codecs/composite/array.js +1 -0
- package/packages/common/src/codecs/composite/array.js.map +1 -1
- package/packages/common/src/codecs/composite/array.mjs +1 -1
- package/packages/common/src/codecs/composite/array.mjs.map +1 -1
- package/packages/common/src/codecs/composite/map.d.ts +27 -0
- package/packages/common/src/codecs/composite/map.js +7 -4
- package/packages/common/src/codecs/composite/map.js.map +1 -1
- package/packages/common/src/codecs/composite/map.mjs +7 -4
- package/packages/common/src/codecs/composite/map.mjs.map +1 -1
- package/packages/common/src/codecs/composite/record.d.ts +20 -0
- package/packages/common/src/codecs/composite/record.js +1 -2
- package/packages/common/src/codecs/composite/record.js.map +1 -1
- package/packages/common/src/codecs/composite/record.mjs.map +1 -1
- package/packages/common/src/codecs/models/array-model.d.ts +19 -0
- package/packages/common/src/codecs/models/array-model.js.map +1 -1
- package/packages/common/src/codecs/models/array-model.mjs.map +1 -1
- package/packages/common/src/codecs/models/object-model.js +2 -2
- package/packages/common/src/codecs/models/object-model.js.map +1 -1
- package/packages/common/src/codecs/models/object-model.mjs +2 -2
- package/packages/common/src/codecs/models/object-model.mjs.map +1 -1
- package/packages/common/src/codecs/models/primitive-model.d.ts +19 -0
- package/packages/common/src/codecs/models/primitive-model.js.map +1 -1
- package/packages/common/src/codecs/models/primitive-model.mjs.map +1 -1
- package/packages/common/src/codecs/primitives/address.d.ts +16 -0
- package/packages/common/src/codecs/primitives/address.js +1 -2
- package/packages/common/src/codecs/primitives/address.js.map +1 -1
- package/packages/common/src/codecs/primitives/bigint.d.ts +13 -0
- package/packages/common/src/codecs/primitives/boolean.d.ts +10 -0
- package/packages/common/src/codecs/primitives/bytes-base64.d.ts +15 -0
- package/packages/common/src/codecs/primitives/bytes-base64.js +26 -0
- package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -0
- package/packages/common/src/codecs/primitives/bytes-base64.mjs +25 -0
- package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -0
- package/packages/common/src/codecs/primitives/bytes.d.ts +15 -0
- package/packages/common/src/codecs/primitives/bytes.js +1 -2
- package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
- package/packages/common/src/codecs/primitives/fixed-bytes.d.ts +19 -0
- package/packages/common/src/codecs/primitives/fixed-bytes.js +1 -2
- package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
- package/packages/common/src/codecs/primitives/fixed-bytes.mjs.map +1 -1
- package/packages/common/src/codecs/primitives/number.d.ts +11 -0
- package/packages/common/src/codecs/primitives/string.d.ts +13 -0
- package/packages/common/src/codecs/primitives/unknown.d.ts +27 -0
- package/packages/common/src/codecs/types.d.ts +12 -1
- package/packages/common/src/codecs/wire.d.ts +17 -1
- package/packages/common/src/codecs/wire.js +1 -2
- package/packages/common/src/codecs/wire.js.map +1 -1
- package/packages/common/src/codecs/wire.mjs.map +1 -1
- package/packages/common/src/constants.d.ts +34 -0
- package/packages/common/src/constants.js +2 -0
- package/packages/common/src/constants.js.map +1 -1
- package/packages/common/src/constants.mjs +2 -1
- package/packages/common/src/constants.mjs.map +1 -1
- package/packages/common/src/encoding.d.ts +10 -0
- package/packages/common/src/encoding.js +31 -0
- package/packages/common/src/encoding.js.map +1 -0
- package/packages/common/src/encoding.mjs +25 -0
- package/packages/common/src/encoding.mjs.map +1 -0
- package/packages/common/src/json.d.ts +17 -0
- package/packages/common/src/json.js +2 -2
- package/packages/common/src/json.mjs +2 -2
- package/packages/common/src/json.mjs.map +1 -1
- package/packages/common/src/msgpack.d.ts +11 -0
- package/packages/common/src/msgpack.js +1 -2
- package/packages/common/src/msgpack.js.map +1 -1
- package/packages/{sdk/src/logic → common/src}/sourcemap.d.ts +1 -1
- package/packages/{sdk/src/logic → common/src}/sourcemap.js +3 -3
- package/packages/common/src/sourcemap.js.map +1 -0
- package/packages/{sdk/src/logic → common/src}/sourcemap.mjs +1 -1
- package/packages/common/src/sourcemap.mjs.map +1 -0
- package/packages/crypto/src/ed25519.d.ts +60 -0
- package/packages/crypto/src/ed25519.js +59 -0
- package/packages/crypto/src/ed25519.js.map +1 -0
- package/packages/crypto/src/ed25519.mjs +54 -0
- package/packages/crypto/src/ed25519.mjs.map +1 -0
- package/packages/crypto/src/hash.d.ts +8 -0
- package/packages/crypto/src/hash.js +15 -0
- package/packages/crypto/src/hash.js.map +1 -0
- package/packages/crypto/src/hash.mjs +14 -0
- package/packages/crypto/src/hash.mjs.map +1 -0
- package/packages/crypto/src/hd.d.ts +40 -0
- package/packages/crypto/src/hd.js +37 -0
- package/packages/crypto/src/hd.js.map +1 -0
- package/packages/crypto/src/hd.mjs +36 -0
- package/packages/crypto/src/hd.mjs.map +1 -0
- package/packages/crypto/src/index.d.ts +28 -0
- package/packages/crypto/src/index.js +141 -0
- package/packages/crypto/src/index.js.map +1 -0
- package/packages/crypto/src/index.mjs +138 -0
- package/packages/crypto/src/index.mjs.map +1 -0
- package/packages/indexer_client/src/apis/api-service.d.ts +1 -1
- package/packages/indexer_client/src/apis/api-service.js +12 -12
- package/packages/indexer_client/src/apis/api-service.js.map +1 -1
- package/packages/indexer_client/src/apis/api-service.mjs +12 -12
- package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
- package/packages/indexer_client/src/core/api-error.js +3 -1
- package/packages/indexer_client/src/core/api-error.js.map +1 -1
- package/packages/indexer_client/src/core/api-error.mjs +3 -1
- package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
- package/packages/indexer_client/src/core/base-http-request.js.map +1 -1
- package/packages/indexer_client/src/core/base-http-request.mjs.map +1 -1
- package/packages/indexer_client/src/core/fetch-http-request.js.map +1 -1
- package/packages/indexer_client/src/core/fetch-http-request.mjs.map +1 -1
- package/packages/indexer_client/src/core/model-runtime.js +0 -15
- package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
- package/packages/indexer_client/src/core/model-runtime.mjs +1 -13
- package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
- package/packages/indexer_client/src/core/request.js.map +1 -1
- package/packages/indexer_client/src/core/request.mjs.map +1 -1
- package/packages/indexer_client/src/models/account-participation.js +4 -4
- package/packages/indexer_client/src/models/account-participation.js.map +1 -1
- package/packages/indexer_client/src/models/account-participation.mjs +4 -4
- package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
- package/packages/indexer_client/src/models/account-response.js.map +1 -1
- package/packages/indexer_client/src/models/account-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/account-state-delta.js.map +1 -1
- package/packages/indexer_client/src/models/account-state-delta.mjs.map +1 -1
- package/packages/indexer_client/src/models/account.js.map +1 -1
- package/packages/indexer_client/src/models/account.mjs.map +1 -1
- package/packages/indexer_client/src/models/accounts-response.js.map +1 -1
- package/packages/indexer_client/src/models/accounts-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/application-local-state.js.map +1 -1
- package/packages/indexer_client/src/models/application-local-state.mjs.map +1 -1
- package/packages/indexer_client/src/models/application-local-states-response.js.map +1 -1
- package/packages/indexer_client/src/models/application-local-states-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/application-log-data.js.map +1 -1
- package/packages/indexer_client/src/models/application-log-data.mjs.map +1 -1
- package/packages/indexer_client/src/models/application-logs-response.js.map +1 -1
- package/packages/indexer_client/src/models/application-logs-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/application-params.js.map +1 -1
- package/packages/indexer_client/src/models/application-params.mjs.map +1 -1
- package/packages/indexer_client/src/models/application-response.js.map +1 -1
- package/packages/indexer_client/src/models/application-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/application-state-schema.d.ts +2 -2
- package/packages/indexer_client/src/models/application-state-schema.js +2 -2
- package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
- package/packages/indexer_client/src/models/application-state-schema.mjs +2 -2
- package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
- package/packages/indexer_client/src/models/application.js.map +1 -1
- package/packages/indexer_client/src/models/application.mjs.map +1 -1
- package/packages/indexer_client/src/models/applications-response.js.map +1 -1
- package/packages/indexer_client/src/models/applications-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/asset-balances-response.js.map +1 -1
- package/packages/indexer_client/src/models/asset-balances-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/asset-holding.js.map +1 -1
- package/packages/indexer_client/src/models/asset-holding.mjs.map +1 -1
- package/packages/indexer_client/src/models/asset-holdings-response.js.map +1 -1
- package/packages/indexer_client/src/models/asset-holdings-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/asset-params.js +2 -1
- package/packages/indexer_client/src/models/asset-params.js.map +1 -1
- package/packages/indexer_client/src/models/asset-params.mjs +2 -1
- package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
- package/packages/indexer_client/src/models/asset-response.js.map +1 -1
- package/packages/indexer_client/src/models/asset-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/asset.js.map +1 -1
- package/packages/indexer_client/src/models/asset.mjs.map +1 -1
- package/packages/indexer_client/src/models/assets-response.js.map +1 -1
- package/packages/indexer_client/src/models/assets-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/block-headers-response.js.map +1 -1
- package/packages/indexer_client/src/models/block-headers-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/block-rewards.js.map +1 -1
- package/packages/indexer_client/src/models/block-rewards.mjs.map +1 -1
- package/packages/indexer_client/src/models/block-upgrade-state.js.map +1 -1
- package/packages/indexer_client/src/models/block-upgrade-state.mjs.map +1 -1
- package/packages/indexer_client/src/models/block-upgrade-vote.js.map +1 -1
- package/packages/indexer_client/src/models/block-upgrade-vote.mjs.map +1 -1
- package/packages/indexer_client/src/models/block.d.ts +5 -5
- package/packages/indexer_client/src/models/block.js +13 -13
- package/packages/indexer_client/src/models/block.js.map +1 -1
- package/packages/indexer_client/src/models/block.mjs +13 -13
- package/packages/indexer_client/src/models/block.mjs.map +1 -1
- package/packages/indexer_client/src/models/box-descriptor.js.map +1 -1
- package/packages/indexer_client/src/models/box-descriptor.mjs.map +1 -1
- package/packages/indexer_client/src/models/box-reference.js.map +1 -1
- package/packages/indexer_client/src/models/box-reference.mjs.map +1 -1
- package/packages/indexer_client/src/models/box.js.map +1 -1
- package/packages/indexer_client/src/models/box.mjs.map +1 -1
- package/packages/indexer_client/src/models/boxes-response.js.map +1 -1
- package/packages/indexer_client/src/models/boxes-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/eval-delta-key-value.d.ts +1 -1
- package/packages/indexer_client/src/models/eval-delta-key-value.js +2 -2
- package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
- package/packages/indexer_client/src/models/eval-delta-key-value.mjs +2 -2
- package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
- package/packages/indexer_client/src/models/eval-delta.d.ts +1 -1
- package/packages/indexer_client/src/models/eval-delta.js +2 -2
- package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
- package/packages/indexer_client/src/models/eval-delta.mjs +2 -2
- package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
- package/packages/indexer_client/src/models/hash-factory.js.map +1 -1
- package/packages/indexer_client/src/models/hash-factory.mjs.map +1 -1
- package/packages/indexer_client/src/models/hb-proof-fields.js +6 -6
- package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
- package/packages/indexer_client/src/models/hb-proof-fields.mjs +6 -6
- package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
- package/packages/indexer_client/src/models/health-check.js.map +1 -1
- package/packages/indexer_client/src/models/health-check.mjs.map +1 -1
- package/packages/indexer_client/src/models/holding-ref.js.map +1 -1
- package/packages/indexer_client/src/models/holding-ref.mjs.map +1 -1
- package/packages/indexer_client/src/models/indexer-state-proof-message.js.map +1 -1
- package/packages/indexer_client/src/models/indexer-state-proof-message.mjs.map +1 -1
- package/packages/indexer_client/src/models/locals-ref.js.map +1 -1
- package/packages/indexer_client/src/models/locals-ref.mjs.map +1 -1
- package/packages/indexer_client/src/models/merkle-array-proof.js.map +1 -1
- package/packages/indexer_client/src/models/merkle-array-proof.mjs.map +1 -1
- package/packages/indexer_client/src/models/mini-asset-holding.js.map +1 -1
- package/packages/indexer_client/src/models/mini-asset-holding.mjs.map +1 -1
- package/packages/indexer_client/src/models/on-completion.js.map +1 -1
- package/packages/indexer_client/src/models/on-completion.mjs.map +1 -1
- package/packages/indexer_client/src/models/participation-updates.d.ts +2 -2
- package/packages/indexer_client/src/models/participation-updates.js +2 -2
- package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
- package/packages/indexer_client/src/models/participation-updates.mjs +2 -2
- package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
- package/packages/indexer_client/src/models/resource-ref.js.map +1 -1
- package/packages/indexer_client/src/models/resource-ref.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-delta.js.map +1 -1
- package/packages/indexer_client/src/models/state-delta.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-proof-fields.js.map +1 -1
- package/packages/indexer_client/src/models/state-proof-fields.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-proof-participant.js.map +1 -1
- package/packages/indexer_client/src/models/state-proof-participant.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-proof-reveal.js.map +1 -1
- package/packages/indexer_client/src/models/state-proof-reveal.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-proof-sig-slot.js.map +1 -1
- package/packages/indexer_client/src/models/state-proof-sig-slot.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-proof-signature.js.map +1 -1
- package/packages/indexer_client/src/models/state-proof-signature.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-proof-tracking.js.map +1 -1
- package/packages/indexer_client/src/models/state-proof-tracking.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-proof-verifier.js +2 -2
- package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
- package/packages/indexer_client/src/models/state-proof-verifier.mjs +2 -2
- package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
- package/packages/indexer_client/src/models/state-schema.d.ts +2 -2
- package/packages/indexer_client/src/models/state-schema.js +2 -2
- package/packages/indexer_client/src/models/state-schema.js.map +1 -1
- package/packages/indexer_client/src/models/state-schema.mjs +2 -2
- package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
- package/packages/indexer_client/src/models/teal-key-value-store.js.map +1 -1
- package/packages/indexer_client/src/models/teal-key-value-store.mjs.map +1 -1
- package/packages/indexer_client/src/models/teal-key-value.d.ts +1 -1
- package/packages/indexer_client/src/models/teal-key-value.js +2 -2
- package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
- package/packages/indexer_client/src/models/teal-key-value.mjs +2 -2
- package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
- package/packages/indexer_client/src/models/teal-value.js.map +1 -1
- package/packages/indexer_client/src/models/teal-value.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-application.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-application.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-asset-config.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-asset-config.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-asset-freeze.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-asset-freeze.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-asset-transfer.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-asset-transfer.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-heartbeat.js +2 -1
- package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-heartbeat.mjs +2 -1
- package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-keyreg.js +4 -4
- package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-keyreg.mjs +4 -4
- package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-payment.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-payment.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-response.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-response.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature-logicsig.js +2 -1
- package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs +2 -1
- package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js +3 -3
- package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs +3 -3
- package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature-multisig.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature-multisig.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-signature.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction-state-proof.d.ts +1 -1
- package/packages/indexer_client/src/models/transaction-state-proof.js +2 -2
- package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
- package/packages/indexer_client/src/models/transaction-state-proof.mjs +2 -2
- package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
- package/packages/indexer_client/src/models/transaction.d.ts +2 -2
- package/packages/indexer_client/src/models/transaction.js +6 -5
- package/packages/indexer_client/src/models/transaction.js.map +1 -1
- package/packages/indexer_client/src/models/transaction.mjs +6 -5
- package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
- package/packages/indexer_client/src/models/transactions-response.js.map +1 -1
- package/packages/indexer_client/src/models/transactions-response.mjs.map +1 -1
- package/packages/kmd_client/src/apis/api-service.d.ts +5 -5
- package/packages/kmd_client/src/apis/api-service.js +32 -32
- package/packages/kmd_client/src/apis/api-service.js.map +1 -1
- package/packages/kmd_client/src/apis/api-service.mjs +32 -32
- package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
- package/packages/kmd_client/src/core/api-error.js +3 -1
- package/packages/kmd_client/src/core/api-error.js.map +1 -1
- package/packages/kmd_client/src/core/api-error.mjs +3 -1
- package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
- package/packages/kmd_client/src/core/base-http-request.js.map +1 -1
- package/packages/kmd_client/src/core/base-http-request.mjs.map +1 -1
- package/packages/kmd_client/src/core/fetch-http-request.js.map +1 -1
- package/packages/kmd_client/src/core/fetch-http-request.mjs.map +1 -1
- package/packages/kmd_client/src/core/model-runtime.js +2 -12
- package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
- package/packages/kmd_client/src/core/model-runtime.mjs +3 -11
- package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
- package/packages/kmd_client/src/core/request.js.map +1 -1
- package/packages/kmd_client/src/core/request.mjs.map +1 -1
- package/packages/kmd_client/src/models/create-wallet-request.js.map +1 -1
- package/packages/kmd_client/src/models/create-wallet-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/create-wallet-response.js.map +1 -1
- package/packages/kmd_client/src/models/create-wallet-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/delete-key-request.js.map +1 -1
- package/packages/kmd_client/src/models/delete-key-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/delete-multisig-request.js.map +1 -1
- package/packages/kmd_client/src/models/delete-multisig-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/export-key-request.js.map +1 -1
- package/packages/kmd_client/src/models/export-key-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/export-key-response.js.map +1 -1
- package/packages/kmd_client/src/models/export-key-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/export-master-key-request.js.map +1 -1
- package/packages/kmd_client/src/models/export-master-key-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/export-master-key-response.js.map +1 -1
- package/packages/kmd_client/src/models/export-master-key-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/export-multisig-request.js.map +1 -1
- package/packages/kmd_client/src/models/export-multisig-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/export-multisig-response.js.map +1 -1
- package/packages/kmd_client/src/models/export-multisig-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/generate-key-request.js.map +1 -1
- package/packages/kmd_client/src/models/generate-key-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/generate-key-response.js.map +1 -1
- package/packages/kmd_client/src/models/generate-key-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/import-key-request.js.map +1 -1
- package/packages/kmd_client/src/models/import-key-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/import-key-response.js.map +1 -1
- package/packages/kmd_client/src/models/import-key-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/import-multisig-request.js.map +1 -1
- package/packages/kmd_client/src/models/import-multisig-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/import-multisig-response.js.map +1 -1
- package/packages/kmd_client/src/models/import-multisig-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/init-wallet-handle-token-request.js.map +1 -1
- package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/init-wallet-handle-token-response.js.map +1 -1
- package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/list-keys-request.js.map +1 -1
- package/packages/kmd_client/src/models/list-keys-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/list-keys-response.js.map +1 -1
- package/packages/kmd_client/src/models/list-keys-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/list-multisig-request.js.map +1 -1
- package/packages/kmd_client/src/models/list-multisig-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/list-multisig-response.js.map +1 -1
- package/packages/kmd_client/src/models/list-multisig-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/list-wallets-response.js.map +1 -1
- package/packages/kmd_client/src/models/list-wallets-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/multisig-sig.js.map +1 -1
- package/packages/kmd_client/src/models/multisig-sig.mjs.map +1 -1
- package/packages/kmd_client/src/models/multisig-subsig.js.map +1 -1
- package/packages/kmd_client/src/models/multisig-subsig.mjs.map +1 -1
- package/packages/kmd_client/src/models/release-wallet-handle-token-request.js.map +1 -1
- package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/rename-wallet-request.js.map +1 -1
- package/packages/kmd_client/src/models/rename-wallet-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/rename-wallet-response.js.map +1 -1
- package/packages/kmd_client/src/models/rename-wallet-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js.map +1 -1
- package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js.map +1 -1
- package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-multisig-response.js.map +1 -1
- package/packages/kmd_client/src/models/sign-multisig-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-multisig-txn-request.js.map +1 -1
- package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-program-multisig-request.js.map +1 -1
- package/packages/kmd_client/src/models/sign-program-multisig-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-program-multisig-response.js.map +1 -1
- package/packages/kmd_client/src/models/sign-program-multisig-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-program-request.js.map +1 -1
- package/packages/kmd_client/src/models/sign-program-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-program-response.js.map +1 -1
- package/packages/kmd_client/src/models/sign-program-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-transaction-response.js.map +1 -1
- package/packages/kmd_client/src/models/sign-transaction-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/sign-txn-request.js.map +1 -1
- package/packages/kmd_client/src/models/sign-txn-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/tx-type.js.map +1 -1
- package/packages/kmd_client/src/models/tx-type.mjs.map +1 -1
- package/packages/kmd_client/src/models/versions-response.js.map +1 -1
- package/packages/kmd_client/src/models/versions-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/wallet-handle.js.map +1 -1
- package/packages/kmd_client/src/models/wallet-handle.mjs.map +1 -1
- package/packages/kmd_client/src/models/wallet-info-request.js.map +1 -1
- package/packages/kmd_client/src/models/wallet-info-request.mjs.map +1 -1
- package/packages/kmd_client/src/models/wallet-info-response.js.map +1 -1
- package/packages/kmd_client/src/models/wallet-info-response.mjs.map +1 -1
- package/packages/kmd_client/src/models/wallet.js.map +1 -1
- package/packages/kmd_client/src/models/wallet.mjs.map +1 -1
- package/packages/testing/src/globalSetup.js +40 -0
- package/packages/testing/src/globalSetup.js.map +1 -0
- package/packages/testing/src/globalSetup.mjs +36 -0
- package/packages/testing/src/globalSetup.mjs.map +1 -0
- package/packages/testing/src/mockServer.js +95 -0
- package/packages/testing/src/mockServer.js.map +1 -0
- package/packages/testing/src/mockServer.mjs +83 -0
- package/packages/testing/src/mockServer.mjs.map +1 -0
- package/packages/transact/src/logicsig.d.ts +35 -33
- package/packages/transact/src/logicsig.js +75 -77
- package/packages/transact/src/logicsig.js.map +1 -1
- package/packages/transact/src/logicsig.mjs +78 -79
- package/packages/transact/src/logicsig.mjs.map +1 -1
- package/packages/transact/src/multisig.d.ts +11 -116
- package/packages/transact/src/multisig.js +108 -138
- package/packages/transact/src/multisig.js.map +1 -1
- package/packages/transact/src/multisig.mjs +109 -119
- package/packages/transact/src/multisig.mjs.map +1 -1
- package/packages/transact/src/signer.d.ts +11 -3
- package/packages/transact/src/signer.js +24 -2
- package/packages/transact/src/signer.js.map +1 -1
- package/packages/transact/src/signer.mjs +25 -4
- package/packages/transact/src/signer.mjs.map +1 -1
- package/packages/transact/src/transactions/app-call.d.ts +10 -15
- package/packages/transact/src/transactions/app-call.js +8 -8
- package/packages/transact/src/transactions/app-call.js.map +1 -1
- package/packages/transact/src/transactions/app-call.mjs +8 -8
- package/packages/transact/src/transactions/app-call.mjs.map +1 -1
- package/packages/transact/src/transactions/asset-config.d.ts +1 -6
- package/packages/transact/src/transactions/asset-config.js.map +1 -1
- package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
- package/packages/transact/src/transactions/asset-freeze.d.ts +1 -6
- package/packages/transact/src/transactions/asset-transfer.d.ts +1 -6
- package/packages/transact/src/transactions/common.js +7 -7
- package/packages/transact/src/transactions/common.js.map +1 -1
- package/packages/transact/src/transactions/common.mjs +7 -7
- package/packages/transact/src/transactions/common.mjs.map +1 -1
- package/packages/transact/src/transactions/key-registration.d.ts +1 -8
- package/packages/transact/src/transactions/reference-types-meta.d.ts +26 -0
- package/packages/transact/src/transactions/reference-types-meta.js +71 -0
- package/packages/transact/src/transactions/reference-types-meta.js.map +1 -0
- package/packages/transact/src/transactions/reference-types-meta.mjs +69 -0
- package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -0
- package/packages/transact/src/transactions/signed-transaction-meta.js +8 -9
- package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
- package/packages/transact/src/transactions/signed-transaction-meta.mjs +8 -8
- package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
- package/packages/transact/src/transactions/signed-transaction.d.ts +22 -6
- package/packages/transact/src/transactions/signed-transaction.js +17 -1
- package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
- package/packages/transact/src/transactions/signed-transaction.mjs +16 -2
- package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
- package/packages/transact/src/transactions/state-proof.d.ts +1 -1
- package/packages/transact/src/transactions/transaction-meta.js +29 -23
- package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
- package/packages/transact/src/transactions/transaction-meta.mjs +29 -23
- package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
- package/packages/transact/src/transactions/transaction-type.js +11 -11
- package/packages/transact/src/transactions/transaction-type.js.map +1 -1
- package/packages/transact/src/transactions/transaction-type.mjs +11 -11
- package/packages/transact/src/transactions/transaction-type.mjs.map +1 -1
- package/packages/transact/src/transactions/transaction.d.ts +5 -2
- package/packages/transact/src/transactions/transaction.js +11 -10
- package/packages/transact/src/transactions/transaction.js.map +1 -1
- package/packages/transact/src/transactions/transaction.mjs +6 -5
- package/packages/transact/src/transactions/transaction.mjs.map +1 -1
- package/testing/account.d.ts +2 -2
- package/testing/account.js +2 -3
- package/testing/account.js.map +1 -1
- package/testing/account.mjs +2 -3
- package/testing/account.mjs.map +1 -1
- package/testing/fixtures/algokit-log-capture-fixture.d.ts +1 -1
- package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
- package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
- package/testing/fixtures/algorand-fixture.d.ts +5 -5
- package/testing/fixtures/algorand-fixture.js +2 -2
- package/testing/fixtures/algorand-fixture.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs +2 -2
- package/testing/fixtures/algorand-fixture.mjs.map +1 -1
- package/testing/index.d.ts +2 -1
- package/testing/index.js +19 -0
- package/testing/index.mjs +3 -1
- package/testing/indexer.js.map +1 -1
- package/testing/indexer.mjs.map +1 -1
- package/testing/test-logger.d.ts +1 -1
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs.map +1 -1
- package/testing/types.d.ts +156 -0
- package/transact/index.d.ts +12 -11
- package/transact/index.js +10 -31
- package/transact/index.mjs +8 -11
- package/transaction/index.d.ts +4 -0
- package/transaction/index.js +10 -0
- package/transaction/index.mjs +4 -0
- package/transaction/perform-transaction-composer-simulate.d.ts +1 -1
- package/transaction/perform-transaction-composer-simulate.js.map +1 -1
- package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
- package/transaction/transaction.d.ts +2 -4
- package/transaction/transaction.js +2 -4
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +2 -4
- package/transaction/transaction.mjs.map +1 -1
- package/transaction/types.d.ts +133 -0
- package/transactions/app-call.d.ts +6 -5
- package/transactions/app-call.js +49 -49
- package/transactions/app-call.js.map +1 -1
- package/transactions/app-call.mjs +49 -49
- package/transactions/app-call.mjs.map +1 -1
- package/transactions/asset-config.d.ts +1 -1
- package/transactions/asset-config.js +1 -1
- package/transactions/asset-config.js.map +1 -1
- package/transactions/asset-config.mjs +1 -1
- package/transactions/asset-config.mjs.map +1 -1
- package/transactions/common.d.ts +1 -1
- package/transactions/common.js.map +1 -1
- package/transactions/common.mjs.map +1 -1
- package/transactions/fee-coverage.js +6 -6
- package/transactions/fee-coverage.js.map +1 -1
- package/transactions/fee-coverage.mjs +6 -6
- package/transactions/fee-coverage.mjs.map +1 -1
- package/transactions/key-registration.d.ts +1 -1
- package/transactions/key-registration.js.map +1 -1
- package/transactions/key-registration.mjs.map +1 -1
- package/transactions/method-call.d.ts +2 -2
- package/transactions/method-call.js +74 -81
- package/transactions/method-call.js.map +1 -1
- package/transactions/method-call.mjs +74 -81
- package/transactions/method-call.mjs.map +1 -1
- package/transactions/payment.d.ts +1 -1
- package/transactions/payment.js.map +1 -1
- package/transactions/payment.mjs.map +1 -1
- package/types/account-manager.d.ts +11 -444
- package/types/account-manager.js +6 -606
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +5 -604
- package/types/account-manager.mjs.map +1 -1
- package/types/account.d.ts +8 -150
- package/types/account.js +4 -4
- package/types/account.js.map +1 -1
- package/types/account.mjs +4 -4
- package/types/account.mjs.map +1 -1
- package/types/algorand-client-transaction-creator.d.ts +5 -1084
- package/types/algorand-client-transaction-creator.js +4 -721
- package/types/algorand-client-transaction-creator.js.map +1 -1
- package/types/algorand-client-transaction-creator.mjs +4 -721
- package/types/algorand-client-transaction-creator.mjs.map +1 -1
- package/types/algorand-client-transaction-sender.d.ts +5 -1298
- package/types/algorand-client-transaction-sender.js +4 -920
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +3 -918
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +5 -241
- package/types/algorand-client.js +4 -319
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +3 -319
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.d.ts +6 -45
- package/types/amount.js +4 -60
- package/types/amount.js.map +1 -1
- package/types/amount.mjs +3 -60
- package/types/amount.mjs.map +1 -1
- package/types/app-client.d.ts +75 -2120
- package/types/app-client.js +4 -904
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +3 -902
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +21 -161
- package/types/app-deployer.js +4 -347
- package/types/app-deployer.js.map +1 -1
- package/types/app-deployer.mjs +3 -347
- package/types/app-deployer.mjs.map +1 -1
- package/types/app-factory.d.ts +21 -957
- package/types/app-factory.js +4 -442
- package/types/app-factory.js.map +1 -1
- package/types/app-factory.mjs +3 -442
- package/types/app-factory.mjs.map +1 -1
- package/types/app-manager.d.ts +15 -316
- package/types/app-manager.js +4 -461
- package/types/app-manager.js.map +1 -1
- package/types/app-manager.mjs +3 -461
- package/types/app-manager.mjs.map +1 -1
- package/types/app-spec.d.ts +39 -198
- package/types/app-spec.js +4 -124
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +3 -124
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +63 -248
- package/types/app.js +16 -37
- package/types/app.js.map +1 -1
- package/types/app.mjs +16 -37
- package/types/app.mjs.map +1 -1
- package/types/asset-manager.d.ts +9 -207
- package/types/asset-manager.js +4 -160
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +3 -160
- package/types/asset-manager.mjs.map +1 -1
- package/types/async-event-emitter.d.ts +7 -14
- package/types/async-event-emitter.js +4 -32
- package/types/async-event-emitter.js.map +1 -1
- package/types/async-event-emitter.mjs +4 -32
- package/types/async-event-emitter.mjs.map +1 -1
- package/types/client-manager.d.ts +27 -470
- package/types/client-manager.js +4 -610
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +3 -610
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +79 -935
- package/types/composer.js +4 -1566
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +3 -1564
- package/types/composer.mjs.map +1 -1
- package/types/config.d.ts +7 -52
- package/types/config.js +4 -74
- package/types/config.js.map +1 -1
- package/types/config.mjs +3 -74
- package/types/config.mjs.map +1 -1
- package/types/debugging.d.ts +12 -33
- package/types/debugging.js +12 -10
- package/types/debugging.js.map +1 -1
- package/types/debugging.mjs +12 -10
- package/types/debugging.mjs.map +1 -1
- package/types/dispenser-client.d.ts +11 -85
- package/types/dispenser-client.js +4 -121
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +3 -121
- package/types/dispenser-client.mjs.map +1 -1
- package/types/expand.d.ts +4 -5
- package/types/indexer.d.ts +16 -36
- package/types/indexer.js +8 -30
- package/types/indexer.js.map +1 -1
- package/types/indexer.mjs +8 -30
- package/types/indexer.mjs.map +1 -1
- package/types/instance-of.d.ts +4 -4
- package/types/kmd-account-manager.d.ts +5 -68
- package/types/kmd-account-manager.js +4 -150
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +3 -148
- package/types/kmd-account-manager.mjs.map +1 -1
- package/types/lifecycle-events.d.ts +7 -10
- package/types/lifecycle-events.js +4 -5
- package/types/lifecycle-events.js.map +1 -1
- package/types/lifecycle-events.mjs +4 -5
- package/types/lifecycle-events.mjs.map +1 -1
- package/types/logging.d.ts +14 -9
- package/types/logging.js +12 -37
- package/types/logging.js.map +1 -1
- package/types/logging.mjs +12 -37
- package/types/logging.mjs.map +1 -1
- package/types/logic-error.d.ts +8 -35
- package/types/logic-error.js +4 -48
- package/types/logic-error.js.map +1 -1
- package/types/logic-error.mjs +4 -48
- package/types/logic-error.mjs.map +1 -1
- package/types/network-client.d.ts +10 -39
- package/types/network-client.js +4 -8
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs +4 -8
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +13 -151
- package/types/transaction.d.ts +33 -128
- package/updatable-config.d.ts +57 -0
- package/updatable-config.js +80 -0
- package/updatable-config.js.map +1 -0
- package/updatable-config.mjs +80 -0
- package/updatable-config.mjs.map +1 -0
- package/util.js +1 -1
- package/util.js.map +1 -1
- package/util.mjs +1 -1
- package/util.mjs.map +1 -1
- package/_virtual/rolldown_runtime.mjs +0 -13
- package/indexer-lookup.js.map +0 -1
- package/indexer-lookup.mjs.map +0 -1
- package/packages/algod_client/src/core/model-runtime.d.ts +0 -10
- package/packages/algod_client/src/models/application-local-reference.d.ts +0 -20
- package/packages/algod_client/src/models/application-local-reference.js +0 -23
- package/packages/algod_client/src/models/application-local-reference.js.map +0 -1
- package/packages/algod_client/src/models/application-local-reference.mjs +0 -23
- package/packages/algod_client/src/models/application-local-reference.mjs.map +0 -1
- package/packages/algod_client/src/models/asset-holding-reference.d.ts +0 -20
- package/packages/algod_client/src/models/asset-holding-reference.js +0 -23
- package/packages/algod_client/src/models/asset-holding-reference.js.map +0 -1
- package/packages/algod_client/src/models/asset-holding-reference.mjs +0 -23
- package/packages/algod_client/src/models/asset-holding-reference.mjs.map +0 -1
- package/packages/algod_client/src/models/box-reference.d.ts +0 -17
- package/packages/algod_client/src/models/box-reference.js +0 -23
- package/packages/algod_client/src/models/box-reference.js.map +0 -1
- package/packages/algod_client/src/models/box-reference.mjs +0 -23
- package/packages/algod_client/src/models/box-reference.mjs.map +0 -1
- package/packages/common/src/crypto.js +0 -13
- package/packages/common/src/crypto.js.map +0 -1
- package/packages/common/src/crypto.mjs +0 -11
- package/packages/common/src/crypto.mjs.map +0 -1
- package/packages/indexer_client/src/core/model-runtime.d.ts +0 -10
- package/packages/kmd_client/src/core/model-runtime.d.ts +0 -10
- package/packages/sdk/src/convert.d.ts +0 -17
- package/packages/sdk/src/convert.js +0 -28
- package/packages/sdk/src/convert.js.map +0 -1
- package/packages/sdk/src/convert.mjs +0 -25
- package/packages/sdk/src/convert.mjs.map +0 -1
- package/packages/sdk/src/encoding/binarydata.d.ts +0 -34
- package/packages/sdk/src/encoding/binarydata.js +0 -65
- package/packages/sdk/src/encoding/binarydata.js.map +0 -1
- package/packages/sdk/src/encoding/binarydata.mjs +0 -60
- package/packages/sdk/src/encoding/binarydata.mjs.map +0 -1
- package/packages/sdk/src/encoding/encoding.d.ts +0 -237
- package/packages/sdk/src/encoding/encoding.js +0 -302
- package/packages/sdk/src/encoding/encoding.js.map +0 -1
- package/packages/sdk/src/encoding/encoding.mjs +0 -287
- package/packages/sdk/src/encoding/encoding.mjs.map +0 -1
- package/packages/sdk/src/encoding/schema/array.js +0 -35
- package/packages/sdk/src/encoding/schema/array.js.map +0 -1
- package/packages/sdk/src/encoding/schema/array.mjs +0 -35
- package/packages/sdk/src/encoding/schema/array.mjs.map +0 -1
- package/packages/sdk/src/encoding/schema/bytearray.js +0 -49
- package/packages/sdk/src/encoding/schema/bytearray.js.map +0 -1
- package/packages/sdk/src/encoding/schema/bytearray.mjs +0 -49
- package/packages/sdk/src/encoding/schema/bytearray.mjs.map +0 -1
- package/packages/sdk/src/encoding/schema/map.d.ts +0 -58
- package/packages/sdk/src/encoding/schema/map.js +0 -110
- package/packages/sdk/src/encoding/schema/map.js.map +0 -1
- package/packages/sdk/src/encoding/schema/map.mjs +0 -107
- package/packages/sdk/src/encoding/schema/map.mjs.map +0 -1
- package/packages/sdk/src/encoding/schema/optional.js +0 -46
- package/packages/sdk/src/encoding/schema/optional.js.map +0 -1
- package/packages/sdk/src/encoding/schema/optional.mjs +0 -46
- package/packages/sdk/src/encoding/schema/optional.mjs.map +0 -1
- package/packages/sdk/src/encoding/schema/uint64.js +0 -30
- package/packages/sdk/src/encoding/schema/uint64.js.map +0 -1
- package/packages/sdk/src/encoding/schema/uint64.mjs +0 -30
- package/packages/sdk/src/encoding/schema/uint64.mjs.map +0 -1
- package/packages/sdk/src/encoding/uint64.d.ts +0 -34
- package/packages/sdk/src/encoding/uint64.js +0 -34
- package/packages/sdk/src/encoding/uint64.js.map +0 -1
- package/packages/sdk/src/encoding/uint64.mjs +0 -33
- package/packages/sdk/src/encoding/uint64.mjs.map +0 -1
- package/packages/sdk/src/index.d.ts +0 -44
- package/packages/sdk/src/index.js +0 -62
- package/packages/sdk/src/index.js.map +0 -1
- package/packages/sdk/src/index.mjs +0 -58
- package/packages/sdk/src/index.mjs.map +0 -1
- package/packages/sdk/src/logic/sourcemap.js.map +0 -1
- package/packages/sdk/src/logic/sourcemap.mjs.map +0 -1
- package/packages/sdk/src/nacl/naclWrappers.js +0 -14
- package/packages/sdk/src/nacl/naclWrappers.js.map +0 -1
- package/packages/sdk/src/nacl/naclWrappers.mjs +0 -11
- package/packages/sdk/src/nacl/naclWrappers.mjs.map +0 -1
- package/packages/sdk/src/types/intDecoding.d.ts +0 -28
- package/packages/sdk/src/types/intDecoding.js +0 -32
- package/packages/sdk/src/types/intDecoding.js.map +0 -1
- package/packages/sdk/src/types/intDecoding.mjs +0 -31
- package/packages/sdk/src/types/intDecoding.mjs.map +0 -1
- package/packages/sdk/src/types/transactions/encoded.d.ts +0 -40
- package/packages/sdk/src/types/transactions/encoded.js +0 -64
- package/packages/sdk/src/types/transactions/encoded.js.map +0 -1
- package/packages/sdk/src/types/transactions/encoded.mjs +0 -59
- package/packages/sdk/src/types/transactions/encoded.mjs.map +0 -1
- package/packages/sdk/src/utils/utils.d.ts +0 -64
- package/packages/sdk/src/utils/utils.js +0 -140
- package/packages/sdk/src/utils/utils.js.map +0 -1
- package/packages/sdk/src/utils/utils.mjs +0 -128
- package/packages/sdk/src/utils/utils.mjs.map +0 -1
- package/packages/transact/src/transactions/common.d.ts +0 -37
- package/sdk/index.d.ts +0 -10
- package/sdk/index.js +0 -59
- package/sdk/index.mjs +0 -11
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Expand } from "../packages/common/src/expand.js";
|
|
2
|
+
import { ABIReturn } from "../packages/abi/src/abi-method.js";
|
|
3
|
+
import { Transaction } from "../packages/transact/src/transactions/transaction.js";
|
|
4
|
+
import { AddressWithTransactionSigner, SendingAddress, TransactionSigner } from "../packages/transact/src/signer.js";
|
|
5
|
+
import { PendingTransactionResponse } from "../packages/algod_client/src/models/pending-transaction-response.js";
|
|
6
|
+
import { AlgoAmount } from "../amount.js";
|
|
7
|
+
import { TransactionComposer } from "../composer.js";
|
|
8
|
+
|
|
9
|
+
//#region src/transaction/types.d.ts
|
|
10
|
+
type TransactionNote = Uint8Array | TransactionNoteData | Arc2TransactionNote;
|
|
11
|
+
type TransactionNoteData = string | null | undefined | number | any[] | Record<string, any>;
|
|
12
|
+
/** ARC-0002 compatible transaction note components https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md */
|
|
13
|
+
type Arc2TransactionNote = {
|
|
14
|
+
dAppName: string;
|
|
15
|
+
format: 'm' | 'b' | 'u';
|
|
16
|
+
data: string;
|
|
17
|
+
} | {
|
|
18
|
+
dAppName: string;
|
|
19
|
+
format: 'j';
|
|
20
|
+
data: TransactionNoteData;
|
|
21
|
+
};
|
|
22
|
+
/** The sending configuration for a transaction */
|
|
23
|
+
interface SendTransactionParams {
|
|
24
|
+
/** Whether to skip signing and sending the transaction to the chain (default: transaction signed and sent to chain, unless `atc` specified)
|
|
25
|
+
* and instead just return the raw transaction, e.g. so you can add it to a group of transactions */
|
|
26
|
+
skipSending?: boolean;
|
|
27
|
+
/** Whether to skip waiting for the submitted transaction (only relevant if `skipSending` is `false` or unset) */
|
|
28
|
+
skipWaiting?: boolean;
|
|
29
|
+
/** An optional `TransactionComposer` to add the transaction to, if specified then `skipSending: undefined` has the same effect as `skipSending: true` */
|
|
30
|
+
transactionComposer?: TransactionComposer;
|
|
31
|
+
/** Whether to suppress log messages from transaction send, default: do not suppress */
|
|
32
|
+
suppressLog?: boolean;
|
|
33
|
+
/** The flat fee you want to pay, useful for covering extra fees in a transaction group or app call */
|
|
34
|
+
fee?: AlgoAmount;
|
|
35
|
+
/** The maximum fee that you are happy to pay (default: unbounded) - if this is set it's possible the transaction could get rejected during network congestion */
|
|
36
|
+
maxFee?: AlgoAmount;
|
|
37
|
+
/** The maximum number of rounds to wait for confirmation, only applies if `skipWaiting` is `undefined` or `false`, default: wait up to 5 rounds */
|
|
38
|
+
maxRoundsToWaitForConfirmation?: number;
|
|
39
|
+
/** Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to true when there are app calls in the group. */
|
|
40
|
+
populateAppCallResources?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** Result from sending a single transaction. */
|
|
43
|
+
type SendSingleTransactionResult = Expand<SendTransactionComposerResults & ConfirmedTransactionResult>;
|
|
44
|
+
/** The result of sending a transaction */
|
|
45
|
+
interface SendTransactionResult {
|
|
46
|
+
/** The transaction */
|
|
47
|
+
transaction: Transaction;
|
|
48
|
+
/** The response if the transaction was sent and waited for */
|
|
49
|
+
confirmation?: PendingTransactionResponse;
|
|
50
|
+
}
|
|
51
|
+
/** The result of preparing and/or sending multiple transactions */
|
|
52
|
+
interface SendTransactionResults {
|
|
53
|
+
/** The transactions that have been prepared and/or sent */
|
|
54
|
+
transactions: Transaction[];
|
|
55
|
+
/** The responses if the transactions were sent and waited for,
|
|
56
|
+
* the index of the confirmation will match the index of the underlying transaction
|
|
57
|
+
*/
|
|
58
|
+
confirmations?: PendingTransactionResponse[];
|
|
59
|
+
}
|
|
60
|
+
/** The result of preparing and/or sending multiple transactions using an `TransactionComposer` */
|
|
61
|
+
interface SendTransactionComposerResults extends Omit<SendTransactionResults, 'confirmations'> {
|
|
62
|
+
/** base64 encoded representation of the group ID of the group */
|
|
63
|
+
groupId: string | undefined;
|
|
64
|
+
/** The transaction IDs that have been prepared and/or sent */
|
|
65
|
+
txIds: string[];
|
|
66
|
+
/** If ABI method(s) were called the processed return values */
|
|
67
|
+
returns?: ABIReturn[];
|
|
68
|
+
/** The responses if the transactions were sent and waited for,
|
|
69
|
+
* the index of the confirmation will match the index of the underlying transaction
|
|
70
|
+
*/
|
|
71
|
+
confirmations: PendingTransactionResponse[];
|
|
72
|
+
}
|
|
73
|
+
/** The result of sending and confirming a transaction */
|
|
74
|
+
interface ConfirmedTransactionResult extends SendTransactionResult {
|
|
75
|
+
/** The response from sending and waiting for the transaction */
|
|
76
|
+
confirmation: PendingTransactionResponse;
|
|
77
|
+
}
|
|
78
|
+
/** The result of sending and confirming one or more transactions, but where there is a primary transaction of interest */
|
|
79
|
+
interface ConfirmedTransactionResults extends SendTransactionResult, SendTransactionResults {
|
|
80
|
+
/** The response from sending and waiting for the primary transaction */
|
|
81
|
+
confirmation: PendingTransactionResponse;
|
|
82
|
+
/** The response from sending and waiting for the transactions */
|
|
83
|
+
confirmations: PendingTransactionResponse[];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @deprecated Use `SendingAddress` instead
|
|
87
|
+
*/
|
|
88
|
+
type SendTransactionFrom = AddressWithTransactionSigner;
|
|
89
|
+
/** Defines an unsigned transaction that will appear in a group of transactions along with its signing information */
|
|
90
|
+
interface TransactionToSign {
|
|
91
|
+
/** The unsigned transaction to sign and send */
|
|
92
|
+
transaction: Transaction;
|
|
93
|
+
/** The account to use to sign the transaction, either an account (with private key loaded) or a logic signature account */
|
|
94
|
+
signer: AddressWithTransactionSigner | TransactionSigner;
|
|
95
|
+
}
|
|
96
|
+
/** A group of transactions to send together as an group
|
|
97
|
+
* https://dev.algorand.co/concepts/transactions/atomic-txn-groups/
|
|
98
|
+
*/
|
|
99
|
+
interface TransactionGroupToSend {
|
|
100
|
+
/** Any parameters to control the semantics of the send to the network */
|
|
101
|
+
sendParams?: Omit<SendTransactionParams, 'fee' | 'maxFee' | 'skipSending' | 'atc'>;
|
|
102
|
+
/** The list of transactions to send, which can either be a raw transaction (in which case `signer` is required),
|
|
103
|
+
* 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)
|
|
104
|
+
* or the transaction with its signer (`signer` is ignored)
|
|
105
|
+
**/
|
|
106
|
+
transactions: (TransactionToSign | Transaction | Promise<SendTransactionResult>)[];
|
|
107
|
+
/** Optional signer to pass in, required if at least one transaction provided is just the transaction, ignored otherwise */
|
|
108
|
+
signer?: SendingAddress;
|
|
109
|
+
}
|
|
110
|
+
/** Parameters to configure transaction sending. */
|
|
111
|
+
interface SendParams {
|
|
112
|
+
/** The number of rounds to wait for confirmation. By default until the latest lastValid has past. */
|
|
113
|
+
maxRoundsToWaitForConfirmation?: number;
|
|
114
|
+
/** Whether to suppress log messages from transaction send, default: do not suppress. */
|
|
115
|
+
suppressLog?: boolean;
|
|
116
|
+
/** Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to `Config.populateAppCallResources`. */
|
|
117
|
+
populateAppCallResources?: boolean;
|
|
118
|
+
/** Whether to use simulate to automatically calculate required app call inner transaction fees and cover them in the parent app call transaction fee */
|
|
119
|
+
coverAppCallInnerTransactionFees?: boolean;
|
|
120
|
+
}
|
|
121
|
+
/** Additional context about the `TransactionComposer`. */
|
|
122
|
+
interface AdditionalTransactionComposerContext {
|
|
123
|
+
/** A map of transaction index in the `TransactionComposer` to the max fee that can be calculated for a transaction in the group */
|
|
124
|
+
maxFees: Map<number, AlgoAmount>;
|
|
125
|
+
}
|
|
126
|
+
/** An `TransactionComposer` with transactions to send. */
|
|
127
|
+
interface TransactionComposerToSend extends SendParams {
|
|
128
|
+
/** The `TransactionComposer` with transactions loaded to send */
|
|
129
|
+
transactionComposer: TransactionComposer;
|
|
130
|
+
}
|
|
131
|
+
//#endregion
|
|
132
|
+
export { AdditionalTransactionComposerContext, Arc2TransactionNote, ConfirmedTransactionResult, ConfirmedTransactionResults, SendParams, SendSingleTransactionResult, SendTransactionComposerResults, SendTransactionFrom, SendTransactionParams, SendTransactionResult, SendTransactionResults, TransactionComposerToSend, TransactionGroupToSend, TransactionNote, TransactionNoteData, TransactionToSign };
|
|
133
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReadableAddress } from "../packages/common/src/address.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { Expand } from "../packages/common/src/expand.js";
|
|
3
|
+
import { OnApplicationComplete, ResourceReference } from "../packages/transact/src/transactions/app-call.js";
|
|
4
|
+
import { BoxIdentifier, BoxReference } from "../app-manager.js";
|
|
5
5
|
import { CommonTransactionParams } from "./common.js";
|
|
6
6
|
|
|
7
7
|
//#region src/transactions/app-call.d.ts
|
|
@@ -26,12 +26,13 @@ type CommonAppCallParams = CommonTransactionParams & {
|
|
|
26
26
|
*/
|
|
27
27
|
boxReferences?: (BoxReference | BoxIdentifier)[];
|
|
28
28
|
/** Access references unifies `accountReferences`, `appReferences`, `assetReferences`, and `boxReferences` under a single list. If non-empty, these other reference lists must be empty. If access is empty, those other reference lists may be non-empty. */
|
|
29
|
-
accessReferences?:
|
|
30
|
-
/**
|
|
29
|
+
accessReferences?: ResourceReference[];
|
|
30
|
+
/** If set, the transaction will be rejected when the app's version is greater than or equal to this value. This can be used to prevent calling an app after it has been updated. Set to 0 or leave undefined to skip the version check. */
|
|
31
31
|
rejectVersion?: number;
|
|
32
32
|
};
|
|
33
33
|
/** Parameters to define an app create transaction */
|
|
34
34
|
type AppCreateParams = Expand<Omit<CommonAppCallParams, 'appId'> & {
|
|
35
|
+
appId?: 0;
|
|
35
36
|
onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.ClearState>;
|
|
36
37
|
/** The program to execute for all OnCompletes other than ClearState as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */
|
|
37
38
|
approvalProgram: string | Uint8Array;
|
package/transactions/app-call.js
CHANGED
|
@@ -4,7 +4,7 @@ const require_app_call = require('../packages/transact/src/transactions/app-call
|
|
|
4
4
|
const require_transaction_type = require('../packages/transact/src/transactions/transaction-type.js');
|
|
5
5
|
const require_transaction = require('../packages/transact/src/transactions/transaction.js');
|
|
6
6
|
const require_util = require('../util.js');
|
|
7
|
-
const require_app_manager = require('../
|
|
7
|
+
const require_app_manager = require('../app-manager.js');
|
|
8
8
|
const require_common = require('./common.js');
|
|
9
9
|
|
|
10
10
|
//#region src/transactions/app-call.ts
|
|
@@ -120,15 +120,15 @@ function populateTransactionResources(transaction, resourcesAccessed, groupIndex
|
|
|
120
120
|
}
|
|
121
121
|
if (accountsCount + assetsCount + appsCount + boxesCount > require_constants.MAX_OVERALL_REFERENCES) throw new Error(`Resource reference limit of ${require_constants.MAX_OVERALL_REFERENCES} exceeded in transaction ${groupIndex}`);
|
|
122
122
|
}
|
|
123
|
-
var GroupResourceType = /* @__PURE__ */ function(GroupResourceType
|
|
124
|
-
GroupResourceType
|
|
125
|
-
GroupResourceType
|
|
126
|
-
GroupResourceType
|
|
127
|
-
GroupResourceType
|
|
128
|
-
GroupResourceType
|
|
129
|
-
GroupResourceType
|
|
130
|
-
GroupResourceType
|
|
131
|
-
return GroupResourceType
|
|
123
|
+
var GroupResourceType = /* @__PURE__ */ function(GroupResourceType) {
|
|
124
|
+
GroupResourceType[GroupResourceType["Account"] = 0] = "Account";
|
|
125
|
+
GroupResourceType[GroupResourceType["App"] = 1] = "App";
|
|
126
|
+
GroupResourceType[GroupResourceType["Asset"] = 2] = "Asset";
|
|
127
|
+
GroupResourceType[GroupResourceType["Box"] = 3] = "Box";
|
|
128
|
+
GroupResourceType[GroupResourceType["ExtraBoxRef"] = 4] = "ExtraBoxRef";
|
|
129
|
+
GroupResourceType[GroupResourceType["AssetHolding"] = 5] = "AssetHolding";
|
|
130
|
+
GroupResourceType[GroupResourceType["AppLocal"] = 6] = "AppLocal";
|
|
131
|
+
return GroupResourceType;
|
|
132
132
|
}(GroupResourceType || {});
|
|
133
133
|
/**
|
|
134
134
|
* Populate group-level resources for app call transactions
|
|
@@ -143,16 +143,16 @@ function populateGroupResources(transactions, groupResources) {
|
|
|
143
143
|
type: GroupResourceType.AppLocal,
|
|
144
144
|
data: appLocal
|
|
145
145
|
});
|
|
146
|
-
remainingAccounts = remainingAccounts.filter((acc) => acc !== appLocal.
|
|
147
|
-
remainingApps = remainingApps.filter((app) => app !== appLocal.
|
|
146
|
+
remainingAccounts = remainingAccounts.filter((acc) => acc !== appLocal.address);
|
|
147
|
+
remainingApps = remainingApps.filter((app) => app !== appLocal.appId);
|
|
148
148
|
});
|
|
149
149
|
if (groupResources.assetHoldings) groupResources.assetHoldings.forEach((assetHolding) => {
|
|
150
150
|
populateGroupResource(transactions, {
|
|
151
151
|
type: GroupResourceType.AssetHolding,
|
|
152
152
|
data: assetHolding
|
|
153
153
|
});
|
|
154
|
-
remainingAccounts = remainingAccounts.filter((acc) => acc !== assetHolding.
|
|
155
|
-
remainingAssets = remainingAssets.filter((asset) => asset !== assetHolding.
|
|
154
|
+
remainingAccounts = remainingAccounts.filter((acc) => acc !== assetHolding.address);
|
|
155
|
+
remainingAssets = remainingAssets.filter((asset) => asset !== assetHolding.assetId);
|
|
156
156
|
});
|
|
157
157
|
remainingAccounts.forEach((account) => {
|
|
158
158
|
populateGroupResource(transactions, {
|
|
@@ -164,11 +164,11 @@ function populateGroupResources(transactions, groupResources) {
|
|
|
164
164
|
populateGroupResource(transactions, {
|
|
165
165
|
type: GroupResourceType.Box,
|
|
166
166
|
data: {
|
|
167
|
-
appId: boxRef.
|
|
167
|
+
appId: boxRef.appId,
|
|
168
168
|
name: boxRef.name
|
|
169
169
|
}
|
|
170
170
|
});
|
|
171
|
-
remainingApps = remainingApps.filter((app) => app !== boxRef.
|
|
171
|
+
remainingApps = remainingApps.filter((app) => app !== boxRef.appId);
|
|
172
172
|
});
|
|
173
173
|
remainingAssets.forEach((asset) => {
|
|
174
174
|
populateGroupResource(transactions, {
|
|
@@ -201,52 +201,52 @@ function isAppCallBelowResourceLimit(txn) {
|
|
|
201
201
|
*/
|
|
202
202
|
function populateGroupResource(transactions, resource) {
|
|
203
203
|
if (resource.type === GroupResourceType.AssetHolding || resource.type === GroupResourceType.AppLocal) {
|
|
204
|
-
const address = resource.data.
|
|
204
|
+
const address = resource.data.address;
|
|
205
205
|
const groupIndex1 = transactions.findIndex((txn) => {
|
|
206
206
|
if (!isAppCallBelowResourceLimit(txn)) return false;
|
|
207
|
-
const appCall
|
|
208
|
-
if (appCall
|
|
209
|
-
if (appCall
|
|
210
|
-
for (const appId of appCall
|
|
207
|
+
const appCall = txn.appCall;
|
|
208
|
+
if (appCall.accountReferences?.some((a) => a.equals(address))) return true;
|
|
209
|
+
if (appCall.appReferences) {
|
|
210
|
+
for (const appId of appCall.appReferences) if (address === require_address.getApplicationAddress(appId)) return true;
|
|
211
211
|
}
|
|
212
212
|
if (txn.sender.equals(address)) return true;
|
|
213
213
|
return false;
|
|
214
214
|
});
|
|
215
215
|
if (groupIndex1 !== -1) {
|
|
216
|
-
const appCall
|
|
216
|
+
const appCall = transactions[groupIndex1].appCall;
|
|
217
217
|
if (resource.type === GroupResourceType.AssetHolding) {
|
|
218
|
-
appCall
|
|
219
|
-
if (!appCall
|
|
218
|
+
appCall.assetReferences = appCall.assetReferences ?? [];
|
|
219
|
+
if (!appCall.assetReferences.includes(resource.data.assetId)) appCall.assetReferences.push(resource.data.assetId);
|
|
220
220
|
} else {
|
|
221
|
-
appCall
|
|
222
|
-
if (!appCall
|
|
221
|
+
appCall.appReferences = appCall.appReferences ?? [];
|
|
222
|
+
if (!appCall.appReferences.includes(resource.data.appId)) appCall.appReferences.push(resource.data.appId);
|
|
223
223
|
}
|
|
224
224
|
return;
|
|
225
225
|
}
|
|
226
226
|
const groupIndex2 = transactions.findIndex((txn) => {
|
|
227
227
|
if (!isAppCallBelowResourceLimit(txn)) return false;
|
|
228
|
-
const appCall
|
|
229
|
-
if ((appCall
|
|
230
|
-
if (resource.type === GroupResourceType.AssetHolding) return appCall
|
|
231
|
-
else return appCall
|
|
228
|
+
const appCall = txn.appCall;
|
|
229
|
+
if ((appCall.accountReferences?.length ?? 0) >= require_constants.MAX_ACCOUNT_REFERENCES) return false;
|
|
230
|
+
if (resource.type === GroupResourceType.AssetHolding) return appCall.assetReferences?.includes(resource.data.assetId) || false;
|
|
231
|
+
else return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId;
|
|
232
232
|
});
|
|
233
233
|
if (groupIndex2 !== -1) {
|
|
234
|
-
const appCall
|
|
235
|
-
appCall
|
|
236
|
-
if (!appCall
|
|
234
|
+
const appCall = transactions[groupIndex2].appCall;
|
|
235
|
+
appCall.accountReferences = appCall.accountReferences ?? [];
|
|
236
|
+
if (!appCall.accountReferences.includes(address)) appCall.accountReferences.push(address);
|
|
237
237
|
return;
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
if (resource.type === GroupResourceType.Box) {
|
|
241
|
-
const groupIndex
|
|
241
|
+
const groupIndex = transactions.findIndex((txn) => {
|
|
242
242
|
if (!isAppCallBelowResourceLimit(txn)) return false;
|
|
243
|
-
const appCall
|
|
244
|
-
return appCall
|
|
243
|
+
const appCall = txn.appCall;
|
|
244
|
+
return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId;
|
|
245
245
|
});
|
|
246
|
-
if (groupIndex
|
|
247
|
-
const appCall
|
|
248
|
-
appCall
|
|
249
|
-
if (!appCall
|
|
246
|
+
if (groupIndex !== -1) {
|
|
247
|
+
const appCall = transactions[groupIndex].appCall;
|
|
248
|
+
appCall.boxReferences = appCall.boxReferences ?? [];
|
|
249
|
+
if (!appCall.boxReferences.some((b) => b.appId === resource.data.appId && b.name.length === resource.data.name.length && b.name.every((byte, i) => byte === resource.data.name[i]))) appCall.boxReferences.push({
|
|
250
250
|
appId: resource.data.appId,
|
|
251
251
|
name: resource.data.name
|
|
252
252
|
});
|
|
@@ -256,11 +256,11 @@ function populateGroupResource(transactions, resource) {
|
|
|
256
256
|
const groupIndex = transactions.findIndex((txn) => {
|
|
257
257
|
if (txn.type !== require_transaction_type.TransactionType.AppCall) return false;
|
|
258
258
|
if (txn.appCall?.accessReferences?.length) return false;
|
|
259
|
-
const appCall
|
|
260
|
-
const accountsCount = appCall
|
|
261
|
-
const assetsCount = appCall
|
|
262
|
-
const appsCount = appCall
|
|
263
|
-
const boxesCount = appCall
|
|
259
|
+
const appCall = txn.appCall;
|
|
260
|
+
const accountsCount = appCall.accountReferences?.length ?? 0;
|
|
261
|
+
const assetsCount = appCall.assetReferences?.length ?? 0;
|
|
262
|
+
const appsCount = appCall.appReferences?.length ?? 0;
|
|
263
|
+
const boxesCount = appCall.boxReferences?.length ?? 0;
|
|
264
264
|
switch (resource.type) {
|
|
265
265
|
case GroupResourceType.Account: return accountsCount + assetsCount + appsCount + boxesCount < require_constants.MAX_OVERALL_REFERENCES;
|
|
266
266
|
case GroupResourceType.AssetHolding:
|
|
@@ -303,16 +303,16 @@ function populateGroupResource(transactions, resource) {
|
|
|
303
303
|
break;
|
|
304
304
|
case GroupResourceType.AssetHolding: {
|
|
305
305
|
appCall.assetReferences = appCall.assetReferences ?? [];
|
|
306
|
-
if (!appCall.assetReferences.includes(resource.data.
|
|
307
|
-
const address = resource.data.
|
|
306
|
+
if (!appCall.assetReferences.includes(resource.data.assetId)) appCall.assetReferences.push(resource.data.assetId);
|
|
307
|
+
const address = resource.data.address;
|
|
308
308
|
appCall.accountReferences = appCall.accountReferences ?? [];
|
|
309
309
|
if (!appCall.accountReferences.some((a) => a.equals(address))) appCall.accountReferences.push(address);
|
|
310
310
|
break;
|
|
311
311
|
}
|
|
312
312
|
case GroupResourceType.AppLocal: {
|
|
313
313
|
appCall.appReferences = appCall.appReferences ?? [];
|
|
314
|
-
if (!appCall.appReferences.includes(resource.data.
|
|
315
|
-
const address = resource.data.
|
|
314
|
+
if (!appCall.appReferences.includes(resource.data.appId)) appCall.appReferences.push(resource.data.appId);
|
|
315
|
+
const address = resource.data.address;
|
|
316
316
|
appCall.accountReferences = appCall.accountReferences ?? [];
|
|
317
317
|
if (!appCall.accountReferences.some((a) => a.equals(address))) appCall.accountReferences.push(address);
|
|
318
318
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-call.js","names":["buildTransactionCommonData","calculateExtraProgramPages","Transaction","TransactionType","OnApplicationComplete","getAddress","AppManager","MAX_OVERALL_REFERENCES","appCall","getApplicationAddress","MAX_ACCOUNT_REFERENCES","groupIndex"],"sources":["../../src/transactions/app-call.ts"],"sourcesContent":["import {\n ApplicationLocalReference,\n AssetHoldingReference,\n SimulateUnnamedResourcesAccessed,\n SuggestedParams,\n} from '@algorandfoundation/algokit-algod-client'\nimport {\n Address,\n MAX_ACCOUNT_REFERENCES,\n MAX_OVERALL_REFERENCES,\n ReadableAddress,\n getAddress,\n getApplicationAddress,\n} from '@algorandfoundation/algokit-common'\nimport {\n AccessReference,\n OnApplicationComplete,\n BoxReference as TransactBoxReference,\n Transaction,\n TransactionType,\n} from '@algorandfoundation/algokit-transact'\nimport { AppManager, BoxIdentifier, BoxReference as UtilsBoxReference } from '../types/app-manager'\nimport { Expand } from '../types/expand'\nimport { calculateExtraProgramPages } from '../util'\nimport { CommonTransactionParams, buildTransactionCommonData } from './common'\n\n/** Common parameters for defining an application call transaction. */\nexport type CommonAppCallParams = CommonTransactionParams & {\n /** ID of the application; 0 if the application is being created. */\n appId: bigint\n /** The [on-complete](https://dev.algorand.co/concepts/smart-contracts/avm#oncomplete) action of the call; defaults to no-op. */\n onComplete?: OnApplicationComplete\n /** Any [arguments to pass to the smart contract call](/concepts/smart-contracts/languages/teal/#argument-passing). */\n args?: Uint8Array[]\n /** Any account addresses to add to the [accounts array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n accountReferences?: ReadableAddress[]\n /** The ID of any apps to load to the [foreign apps array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n appReferences?: bigint[]\n /** The ID of any assets to load to the [foreign assets array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n assetReferences?: bigint[]\n /** Any boxes to load to the [boxes array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays).\n *\n * Either the name identifier (which will be set against app ID of `0` i.e.\n * the current app), or a box identifier with the name identifier and app ID.\n */\n boxReferences?: (UtilsBoxReference | BoxIdentifier)[]\n /** Access references unifies `accountReferences`, `appReferences`, `assetReferences`, and `boxReferences` under a single list. If non-empty, these other reference lists must be empty. If access is empty, those other reference lists may be non-empty. */\n accessReferences?: AccessReference[]\n /** The lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed. */\n rejectVersion?: number\n}\n\n/** Parameters to define an app create transaction */\nexport type AppCreateParams = Expand<\n Omit<CommonAppCallParams, 'appId'> & {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.ClearState>\n /** The program to execute for all OnCompletes other than ClearState as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n clearStateProgram: string | Uint8Array\n /** The state schema for the app. This is immutable once the app is created. */\n schema?: {\n /** The number of integers saved in global state. */\n globalInts: number\n /** The number of byte slices saved in global state. */\n globalByteSlices: number\n /** The number of integers saved in local state. */\n localInts: number\n /** The number of byte slices saved in local state. */\n localByteSlices: number\n }\n /** Number of extra pages required for the programs.\n * Defaults to the number needed for the programs in this call if not specified.\n * This is immutable once the app is created. */\n extraProgramPages?: number\n }\n>\n\n/** Parameters to define an app update transaction */\nexport type AppUpdateParams = Expand<\n CommonAppCallParams & {\n onComplete?: OnApplicationComplete.UpdateApplication\n /** The program to execute for all OnCompletes other than ClearState as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n clearStateProgram: string | Uint8Array\n }\n>\n\n/** Parameters to define an application call transaction. */\nexport type AppCallParams = CommonAppCallParams & {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication>\n}\n\n/** Common parameters to define an ABI method call transaction. */\nexport type AppMethodCallParams = CommonAppCallParams & {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication | OnApplicationComplete.ClearState>\n}\n\n/** Parameters to define an application delete call transaction. */\nexport type AppDeleteParams = CommonAppCallParams & {\n onComplete?: OnApplicationComplete.DeleteApplication\n}\n\nexport const buildAppCreate = async (\n params: AppCreateParams,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const globalStateSchema =\n params.schema?.globalByteSlices !== undefined || params.schema?.globalInts !== undefined\n ? {\n numByteSlices: params.schema?.globalByteSlices ?? 0,\n numUints: params.schema?.globalInts ?? 0,\n }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? {\n numByteSlices: params.schema?.localByteSlices ?? 0,\n numUints: params.schema?.localInts ?? 0,\n }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: 0n, // App creation always uses ID 0\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdate = async (\n params: AppUpdateParams,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: OnApplicationComplete.UpdateApplication,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCall = (\n params: AppCallParams | AppDeleteParams,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Transaction => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\n/**\n * Populate transaction-level resources for app call transactions\n */\nexport function populateTransactionResources(\n transaction: Transaction, // NOTE: transaction is mutated in place\n resourcesAccessed: SimulateUnnamedResourcesAccessed,\n groupIndex: number,\n): void {\n if (transaction.type !== TransactionType.AppCall || transaction.appCall === undefined) {\n return\n }\n\n // Check for unexpected resources at transaction level\n if (resourcesAccessed.boxes || resourcesAccessed.extraBoxRefs) {\n throw new Error('Unexpected boxes at the transaction level')\n }\n if (resourcesAccessed.appLocals) {\n throw new Error('Unexpected app locals at the transaction level')\n }\n if (resourcesAccessed.assetHoldings) {\n throw new Error('Unexpected asset holdings at the transaction level')\n }\n\n let accountsCount = 0\n let appsCount = 0\n let assetsCount = 0\n const boxesCount = transaction.appCall.boxReferences?.length ?? 0\n\n // Populate accounts\n if (resourcesAccessed.accounts) {\n transaction.appCall.accountReferences = transaction.appCall.accountReferences ?? []\n for (const account of resourcesAccessed.accounts) {\n const address = account\n if (!transaction.appCall.accountReferences.some((a) => a.equals(address))) {\n transaction.appCall.accountReferences.push(address)\n }\n }\n accountsCount = transaction.appCall.accountReferences.length\n }\n\n // Populate apps\n if (resourcesAccessed.apps) {\n transaction.appCall.appReferences = transaction.appCall.appReferences ?? []\n for (const appId of resourcesAccessed.apps) {\n if (!transaction.appCall.appReferences.includes(appId)) {\n transaction.appCall.appReferences.push(appId)\n }\n }\n appsCount = transaction.appCall.appReferences.length\n }\n\n // Populate assets\n if (resourcesAccessed.assets) {\n transaction.appCall.assetReferences = transaction.appCall.assetReferences ?? []\n for (const assetId of resourcesAccessed.assets) {\n if (!transaction.appCall.assetReferences.includes(assetId)) {\n transaction.appCall.assetReferences.push(assetId)\n }\n }\n assetsCount = transaction.appCall.assetReferences.length\n }\n\n if (accountsCount + assetsCount + appsCount + boxesCount > MAX_OVERALL_REFERENCES) {\n throw new Error(`Resource reference limit of ${MAX_OVERALL_REFERENCES} exceeded in transaction ${groupIndex}`)\n }\n}\n\nenum GroupResourceType {\n Account,\n App,\n Asset,\n Box,\n ExtraBoxRef,\n AssetHolding,\n AppLocal,\n}\n\n/**\n * Populate group-level resources for app call transactions\n */\nexport function populateGroupResources(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n groupResources: SimulateUnnamedResourcesAccessed,\n): void {\n let remainingAccounts = [...(groupResources.accounts ?? [])]\n let remainingApps = [...(groupResources.apps ?? [])]\n let remainingAssets = [...(groupResources.assets ?? [])]\n const remainingBoxes = [...(groupResources.boxes ?? [])]\n\n // Process cross-reference resources first (app locals and asset holdings) as they are most restrictive\n if (groupResources.appLocals) {\n groupResources.appLocals.forEach((appLocal) => {\n populateGroupResource(transactions, { type: GroupResourceType.AppLocal, data: appLocal })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== appLocal.account)\n remainingApps = remainingApps.filter((app) => app !== appLocal.app)\n })\n }\n\n if (groupResources.assetHoldings) {\n groupResources.assetHoldings.forEach((assetHolding) => {\n populateGroupResource(transactions, { type: GroupResourceType.AssetHolding, data: assetHolding })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== assetHolding.account)\n remainingAssets = remainingAssets.filter((asset) => asset !== assetHolding.asset)\n })\n }\n\n // Process accounts next because account limit is 4\n remainingAccounts.forEach((account) => {\n populateGroupResource(transactions, { type: GroupResourceType.Account, data: account })\n })\n\n // Process boxes\n remainingBoxes.forEach((boxRef) => {\n populateGroupResource(transactions, {\n type: GroupResourceType.Box,\n data: {\n appId: boxRef.app,\n name: boxRef.name,\n },\n })\n // Remove apps as resource if we're adding it here\n remainingApps = remainingApps.filter((app) => app !== boxRef.app)\n })\n\n // Process assets\n remainingAssets.forEach((asset) => {\n populateGroupResource(transactions, { type: GroupResourceType.Asset, data: asset })\n })\n\n // Process remaining apps\n remainingApps.forEach((app) => {\n populateGroupResource(transactions, { type: GroupResourceType.App, data: app })\n })\n\n // Handle extra box refs\n if (groupResources.extraBoxRefs) {\n for (let i = 0; i < groupResources.extraBoxRefs; i++) {\n populateGroupResource(transactions, { type: GroupResourceType.ExtraBoxRef })\n }\n }\n}\n\n/**\n * Helper function to check if an app call transaction is below resource limit\n */\nfunction isAppCallBelowResourceLimit(txn: Transaction): boolean {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const accountsCount = txn.appCall?.accountReferences?.length || 0\n const assetsCount = txn.appCall?.assetReferences?.length || 0\n const appsCount = txn.appCall?.appReferences?.length || 0\n const boxesCount = txn.appCall?.boxReferences?.length || 0\n\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n}\n\ntype GroupResourceToPopulate =\n | { type: GroupResourceType.Account; data: Address }\n | { type: GroupResourceType.App; data: bigint }\n | { type: GroupResourceType.Asset; data: bigint }\n | { type: GroupResourceType.Box; data: TransactBoxReference }\n | { type: GroupResourceType.ExtraBoxRef }\n | { type: GroupResourceType.AssetHolding; data: AssetHoldingReference }\n | { type: GroupResourceType.AppLocal; data: ApplicationLocalReference }\n\n/**\n * Helper function to populate a specific resource into a transaction group\n */\nfunction populateGroupResource(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n resource: GroupResourceToPopulate,\n): void {\n // For asset holdings and app locals, first try to find a transaction that already has the account available\n if (resource.type === GroupResourceType.AssetHolding || resource.type === GroupResourceType.AppLocal) {\n const address = resource.data.account\n\n // Try to find a transaction that already has the account available\n const groupIndex1 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n\n // Check if account is in foreign accounts array\n if (appCall.accountReferences?.some((a) => a.equals(address))) {\n return true\n }\n\n // Check if account is available as an app account\n if (appCall.appReferences) {\n for (const appId of appCall.appReferences) {\n if (address === getApplicationAddress(appId)) {\n return true\n }\n }\n }\n\n // Check if account appears in any app call transaction fields\n if (txn.sender.equals(address)) {\n return true\n }\n\n return false\n })\n\n if (groupIndex1 !== -1) {\n const appCall = transactions[groupIndex1].appCall!\n if (resource.type === GroupResourceType.AssetHolding) {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.asset)) {\n appCall.assetReferences.push(resource.data.asset)\n }\n } else {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.app)) {\n appCall.appReferences.push(resource.data.app)\n }\n }\n return\n }\n\n // Try to find a transaction that has the asset/app available and space for account\n const groupIndex2 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n if ((appCall.accountReferences?.length ?? 0) >= MAX_ACCOUNT_REFERENCES) {\n return false\n }\n\n if (resource.type === GroupResourceType.AssetHolding) {\n return appCall.assetReferences?.includes(resource.data.asset) || false\n } else {\n return appCall.appReferences?.includes(resource.data.app) || appCall.appId === resource.data.app\n }\n })\n\n if (groupIndex2 !== -1) {\n const appCall = transactions[groupIndex2].appCall!\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.includes(address)) {\n appCall.accountReferences.push(address)\n }\n return\n }\n }\n\n // For boxes, first try to find a transaction that already has the app available\n if (resource.type === GroupResourceType.Box) {\n const groupIndex = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId\n })\n\n if (groupIndex !== -1) {\n const appCall = transactions[groupIndex].appCall!\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n return\n }\n }\n\n // Find the first transaction that can accommodate the resource\n const groupIndex = transactions.findIndex((txn) => {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const appCall = txn.appCall!\n const accountsCount = appCall.accountReferences?.length ?? 0\n const assetsCount = appCall.assetReferences?.length ?? 0\n const appsCount = appCall.appReferences?.length ?? 0\n const boxesCount = appCall.boxReferences?.length ?? 0\n\n switch (resource.type) {\n case GroupResourceType.Account:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n case GroupResourceType.AssetHolding:\n case GroupResourceType.AppLocal:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n case GroupResourceType.Box:\n if (resource.data.appId !== 0n) {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n } else {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n default:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n })\n\n if (groupIndex === -1) {\n throw new Error('No more transactions below reference limit. Add another app call to the group.')\n }\n\n const appCall = transactions[groupIndex].appCall!\n\n switch (resource.type) {\n case GroupResourceType.Account: {\n appCall.accountReferences = appCall.accountReferences ?? []\n const address = resource.data\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.App:\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data)) {\n appCall.appReferences.push(resource.data)\n }\n break\n case GroupResourceType.Box: {\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n if (resource.data.appId !== 0n) {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n }\n break\n }\n case GroupResourceType.ExtraBoxRef:\n appCall.boxReferences = appCall.boxReferences ?? []\n appCall.boxReferences.push({ appId: 0n, name: new Uint8Array(0) })\n break\n case GroupResourceType.AssetHolding: {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.asset)) {\n appCall.assetReferences.push(resource.data.asset)\n }\n const address = resource.data.account\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.AppLocal: {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.app)) {\n appCall.appReferences.push(resource.data.app)\n }\n const address = resource.data.account\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.Asset:\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data)) {\n appCall.assetReferences.push(resource.data)\n }\n break\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-call.js","names":["buildTransactionCommonData","calculateExtraProgramPages","Transaction","TransactionType","OnApplicationComplete","getAddress","AppManager","MAX_OVERALL_REFERENCES","getApplicationAddress","MAX_ACCOUNT_REFERENCES"],"sources":["../../src/transactions/app-call.ts"],"sourcesContent":["import { SimulateUnnamedResourcesAccessed, SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport {\n Address,\n Expand,\n MAX_ACCOUNT_REFERENCES,\n MAX_OVERALL_REFERENCES,\n ReadableAddress,\n getAddress,\n getApplicationAddress,\n} from '@algorandfoundation/algokit-common'\nimport {\n HoldingReference,\n LocalsReference,\n OnApplicationComplete,\n ResourceReference,\n BoxReference as TransactBoxReference,\n Transaction,\n TransactionType,\n} from '@algorandfoundation/algokit-transact'\nimport { AppManager, BoxIdentifier, BoxReference as UtilsBoxReference } from '../app-manager'\nimport { calculateExtraProgramPages } from '../util'\nimport { CommonTransactionParams, buildTransactionCommonData } from './common'\n\n/** Common parameters for defining an application call transaction. */\nexport type CommonAppCallParams = CommonTransactionParams & {\n /** ID of the application; 0 if the application is being created. */\n appId: bigint\n /** The [on-complete](https://dev.algorand.co/concepts/smart-contracts/avm#oncomplete) action of the call; defaults to no-op. */\n onComplete?: OnApplicationComplete\n /** Any [arguments to pass to the smart contract call](/concepts/smart-contracts/languages/teal/#argument-passing). */\n args?: Uint8Array[]\n /** Any account addresses to add to the [accounts array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n accountReferences?: ReadableAddress[]\n /** The ID of any apps to load to the [foreign apps array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n appReferences?: bigint[]\n /** The ID of any assets to load to the [foreign assets array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n assetReferences?: bigint[]\n /** Any boxes to load to the [boxes array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays).\n *\n * Either the name identifier (which will be set against app ID of `0` i.e.\n * the current app), or a box identifier with the name identifier and app ID.\n */\n boxReferences?: (UtilsBoxReference | BoxIdentifier)[]\n /** Access references unifies `accountReferences`, `appReferences`, `assetReferences`, and `boxReferences` under a single list. If non-empty, these other reference lists must be empty. If access is empty, those other reference lists may be non-empty. */\n accessReferences?: ResourceReference[]\n /** If set, the transaction will be rejected when the app's version is greater than or equal to this value. This can be used to prevent calling an app after it has been updated. Set to 0 or leave undefined to skip the version check. */\n rejectVersion?: number\n}\n\n/** Parameters to define an app create transaction */\nexport type AppCreateParams = Expand<\n Omit<CommonAppCallParams, 'appId'> & {\n appId?: 0\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.ClearState>\n /** The program to execute for all OnCompletes other than ClearState as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n clearStateProgram: string | Uint8Array\n /** The state schema for the app. This is immutable once the app is created. */\n schema?: {\n /** The number of integers saved in global state. */\n globalInts: number\n /** The number of byte slices saved in global state. */\n globalByteSlices: number\n /** The number of integers saved in local state. */\n localInts: number\n /** The number of byte slices saved in local state. */\n localByteSlices: number\n }\n /** Number of extra pages required for the programs.\n * Defaults to the number needed for the programs in this call if not specified.\n * This is immutable once the app is created. */\n extraProgramPages?: number\n }\n>\n\n/** Parameters to define an app update transaction */\nexport type AppUpdateParams = Expand<\n CommonAppCallParams & {\n onComplete?: OnApplicationComplete.UpdateApplication\n /** The program to execute for all OnCompletes other than ClearState as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n clearStateProgram: string | Uint8Array\n }\n>\n\n/** Parameters to define an application call transaction. */\nexport type AppCallParams = CommonAppCallParams & { onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication> }\n\n/** Common parameters to define an ABI method call transaction. */\nexport type AppMethodCallParams = CommonAppCallParams & {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication | OnApplicationComplete.ClearState>\n}\n\n/** Parameters to define an application delete call transaction. */\nexport type AppDeleteParams = CommonAppCallParams & { onComplete?: OnApplicationComplete.DeleteApplication }\n\nexport const buildAppCreate = async (\n params: AppCreateParams,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const globalStateSchema =\n params.schema?.globalByteSlices !== undefined || params.schema?.globalInts !== undefined\n ? { numByteSlices: params.schema?.globalByteSlices ?? 0, numUints: params.schema?.globalInts ?? 0 }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? { numByteSlices: params.schema?.localByteSlices ?? 0, numUints: params.schema?.localInts ?? 0 }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: 0n, // App creation always uses ID 0\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdate = async (\n params: AppUpdateParams,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: OnApplicationComplete.UpdateApplication,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCall = (\n params: AppCallParams | AppDeleteParams,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Transaction => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\n/**\n * Populate transaction-level resources for app call transactions\n */\nexport function populateTransactionResources(\n transaction: Transaction, // NOTE: transaction is mutated in place\n resourcesAccessed: SimulateUnnamedResourcesAccessed,\n groupIndex: number,\n): void {\n if (transaction.type !== TransactionType.AppCall || transaction.appCall === undefined) {\n return\n }\n\n // Check for unexpected resources at transaction level\n if (resourcesAccessed.boxes || resourcesAccessed.extraBoxRefs) {\n throw new Error('Unexpected boxes at the transaction level')\n }\n if (resourcesAccessed.appLocals) {\n throw new Error('Unexpected app locals at the transaction level')\n }\n if (resourcesAccessed.assetHoldings) {\n throw new Error('Unexpected asset holdings at the transaction level')\n }\n\n let accountsCount = 0\n let appsCount = 0\n let assetsCount = 0\n const boxesCount = transaction.appCall.boxReferences?.length ?? 0\n\n // Populate accounts\n if (resourcesAccessed.accounts) {\n transaction.appCall.accountReferences = transaction.appCall.accountReferences ?? []\n for (const account of resourcesAccessed.accounts) {\n const address = account\n if (!transaction.appCall.accountReferences.some((a) => a.equals(address))) {\n transaction.appCall.accountReferences.push(address)\n }\n }\n accountsCount = transaction.appCall.accountReferences.length\n }\n\n // Populate apps\n if (resourcesAccessed.apps) {\n transaction.appCall.appReferences = transaction.appCall.appReferences ?? []\n for (const appId of resourcesAccessed.apps) {\n if (!transaction.appCall.appReferences.includes(appId)) {\n transaction.appCall.appReferences.push(appId)\n }\n }\n appsCount = transaction.appCall.appReferences.length\n }\n\n // Populate assets\n if (resourcesAccessed.assets) {\n transaction.appCall.assetReferences = transaction.appCall.assetReferences ?? []\n for (const assetId of resourcesAccessed.assets) {\n if (!transaction.appCall.assetReferences.includes(assetId)) {\n transaction.appCall.assetReferences.push(assetId)\n }\n }\n assetsCount = transaction.appCall.assetReferences.length\n }\n\n if (accountsCount + assetsCount + appsCount + boxesCount > MAX_OVERALL_REFERENCES) {\n throw new Error(`Resource reference limit of ${MAX_OVERALL_REFERENCES} exceeded in transaction ${groupIndex}`)\n }\n}\n\nenum GroupResourceType {\n Account,\n App,\n Asset,\n Box,\n ExtraBoxRef,\n AssetHolding,\n AppLocal,\n}\n\n/**\n * Populate group-level resources for app call transactions\n */\nexport function populateGroupResources(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n groupResources: SimulateUnnamedResourcesAccessed,\n): void {\n let remainingAccounts = [...(groupResources.accounts ?? [])]\n let remainingApps = [...(groupResources.apps ?? [])]\n let remainingAssets = [...(groupResources.assets ?? [])]\n const remainingBoxes = [...(groupResources.boxes ?? [])]\n\n // Process cross-reference resources first (app locals and asset holdings) as they are most restrictive\n if (groupResources.appLocals) {\n groupResources.appLocals.forEach((appLocal) => {\n populateGroupResource(transactions, { type: GroupResourceType.AppLocal, data: appLocal })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== appLocal.address)\n remainingApps = remainingApps.filter((app) => app !== appLocal.appId)\n })\n }\n\n if (groupResources.assetHoldings) {\n groupResources.assetHoldings.forEach((assetHolding) => {\n populateGroupResource(transactions, { type: GroupResourceType.AssetHolding, data: assetHolding })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== assetHolding.address)\n remainingAssets = remainingAssets.filter((asset) => asset !== assetHolding.assetId)\n })\n }\n\n // Process accounts next because account limit is 4\n remainingAccounts.forEach((account) => {\n populateGroupResource(transactions, { type: GroupResourceType.Account, data: account })\n })\n\n // Process boxes\n remainingBoxes.forEach((boxRef) => {\n populateGroupResource(transactions, { type: GroupResourceType.Box, data: { appId: boxRef.appId, name: boxRef.name } })\n // Remove apps as resource if we're adding it here\n remainingApps = remainingApps.filter((app) => app !== boxRef.appId)\n })\n\n // Process assets\n remainingAssets.forEach((asset) => {\n populateGroupResource(transactions, { type: GroupResourceType.Asset, data: asset })\n })\n\n // Process remaining apps\n remainingApps.forEach((app) => {\n populateGroupResource(transactions, { type: GroupResourceType.App, data: app })\n })\n\n // Handle extra box refs\n if (groupResources.extraBoxRefs) {\n for (let i = 0; i < groupResources.extraBoxRefs; i++) {\n populateGroupResource(transactions, { type: GroupResourceType.ExtraBoxRef })\n }\n }\n}\n\n/**\n * Helper function to check if an app call transaction is below resource limit\n */\nfunction isAppCallBelowResourceLimit(txn: Transaction): boolean {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const accountsCount = txn.appCall?.accountReferences?.length || 0\n const assetsCount = txn.appCall?.assetReferences?.length || 0\n const appsCount = txn.appCall?.appReferences?.length || 0\n const boxesCount = txn.appCall?.boxReferences?.length || 0\n\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n}\n\ntype GroupResourceToPopulate =\n | { type: GroupResourceType.Account; data: Address }\n | { type: GroupResourceType.App; data: bigint }\n | { type: GroupResourceType.Asset; data: bigint }\n | { type: GroupResourceType.Box; data: TransactBoxReference }\n | { type: GroupResourceType.ExtraBoxRef }\n | { type: GroupResourceType.AssetHolding; data: HoldingReference }\n | { type: GroupResourceType.AppLocal; data: LocalsReference }\n\n/**\n * Helper function to populate a specific resource into a transaction group\n */\nfunction populateGroupResource(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n resource: GroupResourceToPopulate,\n): void {\n // For asset holdings and app locals, first try to find a transaction that already has the account available\n if (resource.type === GroupResourceType.AssetHolding || resource.type === GroupResourceType.AppLocal) {\n const address = resource.data.address\n\n // Try to find a transaction that already has the account available\n const groupIndex1 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n\n // Check if account is in foreign accounts array\n if (appCall.accountReferences?.some((a) => a.equals(address))) {\n return true\n }\n\n // Check if account is available as an app account\n if (appCall.appReferences) {\n for (const appId of appCall.appReferences) {\n if (address === getApplicationAddress(appId)) {\n return true\n }\n }\n }\n\n // Check if account appears in any app call transaction fields\n if (txn.sender.equals(address)) {\n return true\n }\n\n return false\n })\n\n if (groupIndex1 !== -1) {\n const appCall = transactions[groupIndex1].appCall!\n if (resource.type === GroupResourceType.AssetHolding) {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.assetId)) {\n appCall.assetReferences.push(resource.data.assetId)\n }\n } else {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n }\n return\n }\n\n // Try to find a transaction that has the asset/app available and space for account\n const groupIndex2 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n if ((appCall.accountReferences?.length ?? 0) >= MAX_ACCOUNT_REFERENCES) {\n return false\n }\n\n if (resource.type === GroupResourceType.AssetHolding) {\n return appCall.assetReferences?.includes(resource.data.assetId) || false\n } else {\n return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId\n }\n })\n\n if (groupIndex2 !== -1) {\n const appCall = transactions[groupIndex2].appCall!\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.includes(address)) {\n appCall.accountReferences.push(address)\n }\n return\n }\n }\n\n // For boxes, first try to find a transaction that already has the app available\n if (resource.type === GroupResourceType.Box) {\n const groupIndex = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId\n })\n\n if (groupIndex !== -1) {\n const appCall = transactions[groupIndex].appCall!\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n return\n }\n }\n\n // Find the first transaction that can accommodate the resource\n const groupIndex = transactions.findIndex((txn) => {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const appCall = txn.appCall!\n const accountsCount = appCall.accountReferences?.length ?? 0\n const assetsCount = appCall.assetReferences?.length ?? 0\n const appsCount = appCall.appReferences?.length ?? 0\n const boxesCount = appCall.boxReferences?.length ?? 0\n\n switch (resource.type) {\n case GroupResourceType.Account:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n case GroupResourceType.AssetHolding:\n case GroupResourceType.AppLocal:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n case GroupResourceType.Box:\n if (resource.data.appId !== 0n) {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n } else {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n default:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n })\n\n if (groupIndex === -1) {\n throw new Error('No more transactions below reference limit. Add another app call to the group.')\n }\n\n const appCall = transactions[groupIndex].appCall!\n\n switch (resource.type) {\n case GroupResourceType.Account: {\n appCall.accountReferences = appCall.accountReferences ?? []\n const address = resource.data\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.App:\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data)) {\n appCall.appReferences.push(resource.data)\n }\n break\n case GroupResourceType.Box: {\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n if (resource.data.appId !== 0n) {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n }\n break\n }\n case GroupResourceType.ExtraBoxRef:\n appCall.boxReferences = appCall.boxReferences ?? []\n appCall.boxReferences.push({ appId: 0n, name: new Uint8Array(0) })\n break\n case GroupResourceType.AssetHolding: {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.assetId)) {\n appCall.assetReferences.push(resource.data.assetId)\n }\n const address = resource.data.address\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.AppLocal: {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n const address = resource.data.address\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.Asset:\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data)) {\n appCall.assetReferences.push(resource.data)\n }\n break\n }\n}\n"],"mappings":"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"}
|