@algorandfoundation/algokit-utils 10.0.0-alpha.3 → 10.0.0-alpha.32
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 +10 -15
- package/abi/index.d.ts +2 -1
- package/abi/index.js +3 -0
- package/abi/index.mjs +2 -1
- package/account-manager.d.ts +448 -0
- package/account-manager.js +623 -0
- package/account-manager.js.map +1 -0
- package/account-manager.mjs +620 -0
- package/account-manager.mjs.map +1 -0
- package/account.d.ts +156 -0
- package/account.js +10 -0
- package/account.js.map +1 -0
- package/account.mjs +9 -0
- package/account.mjs.map +1 -0
- package/algod-client/index.d.ts +3 -7
- package/algod-client/index.js +2 -5
- package/algod-client/index.mjs +2 -2
- package/algorand-client-transaction-creator.d.ts +1103 -0
- package/algorand-client-transaction-creator.js +735 -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 +1317 -0
- package/algorand-client-transaction-sender.js +933 -0
- package/algorand-client-transaction-sender.js.map +1 -0
- package/algorand-client-transaction-sender.mjs +932 -0
- package/algorand-client-transaction-sender.mjs.map +1 -0
- package/algorand-client.d.ts +246 -0
- package/algorand-client.js +325 -0
- package/algorand-client.js.map +1 -0
- package/algorand-client.mjs +325 -0
- package/algorand-client.mjs.map +1 -0
- package/amount.d.ts +46 -3
- package/amount.js +92 -13
- package/amount.js.map +1 -1
- package/amount.mjs +80 -3
- package/amount.mjs.map +1 -1
- package/app-client.d.ts +2130 -0
- package/app-client.js +909 -0
- package/app-client.js.map +1 -0
- package/app-client.mjs +908 -0
- package/app-client.mjs.map +1 -0
- package/app-deployer.d.ts +166 -0
- package/app-deployer.js +353 -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 +965 -0
- package/app-factory.js +448 -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 +468 -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 +137 -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 +49 -0
- package/app.js.map +1 -0
- package/app.mjs +42 -0
- package/app.mjs.map +1 -0
- package/asset-manager.d.ts +212 -0
- package/asset-manager.js +166 -0
- package/asset-manager.js.map +1 -0
- package/asset-manager.mjs +166 -0
- package/asset-manager.mjs.map +1 -0
- package/async-event-emitter.d.ts +16 -0
- package/async-event-emitter.js +38 -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 +616 -0
- package/client-manager.js.map +1 -0
- package/client-manager.mjs +616 -0
- package/client-manager.mjs.map +1 -0
- package/composer.d.ts +947 -0
- package/composer.js +1584 -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 +2 -2
- package/config.js.map +1 -1
- package/config.mjs +1 -1
- package/config.mjs.map +1 -1
- package/debugging.d.ts +47 -0
- package/debugging.js +20 -0
- package/debugging.js.map +1 -0
- package/debugging.mjs +15 -0
- package/debugging.mjs.map +1 -0
- package/dispenser-client.d.ts +90 -0
- package/dispenser-client.js +127 -0
- package/dispenser-client.js.map +1 -0
- package/dispenser-client.mjs +127 -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 +6 -6
- package/index.js +4 -10
- package/index.mjs +5 -6
- package/indexer-client/index.d.ts +2 -2
- package/indexer-client/index.js +6 -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 +38 -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 +167 -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 +0 -5
- package/kmd-client/index.mjs +1 -2
- package/lifecycle-events.d.ts +14 -0
- package/lifecycle-events.js +11 -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 +47 -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 +54 -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 +14 -0
- package/network-client.js.map +1 -0
- package/network-client.mjs +13 -0
- package/network-client.mjs.map +1 -0
- package/package.json +14 -5
- package/packages/abi/src/abi-method.d.ts +1 -1
- package/packages/abi/src/abi-method.js +1 -1
- package/packages/abi/src/abi-method.js.map +1 -1
- package/packages/abi/src/abi-method.mjs +1 -1
- 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.js +1 -1
- package/packages/algo25/src/index.mjs +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/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/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/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/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/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.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/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/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/simulate-request.js +1 -1
- package/packages/algod_client/src/models/simulate-request.mjs +1 -1
- package/packages/algod_client/src/models/simulate-response.d.ts +2 -1
- package/packages/algod_client/src/models/simulate-response.js +6 -1
- package/packages/algod_client/src/models/simulate-response.js.map +1 -1
- package/packages/algod_client/src/models/simulate-response.mjs +6 -2
- package/packages/algod_client/src/models/simulate-response.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/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/common/src/address.d.ts +0 -1
- package/packages/common/src/address.js +4 -17
- package/packages/common/src/address.js.map +1 -1
- package/packages/common/src/address.mjs +5 -17
- package/packages/common/src/address.mjs.map +1 -1
- 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.js +0 -1
- package/packages/common/src/codecs/composite/record.js.map +1 -1
- package/packages/common/src/codecs/primitives/address.js +0 -1
- package/packages/common/src/codecs/primitives/address.js.map +1 -1
- 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.js +0 -1
- package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
- package/packages/common/src/codecs/primitives/fixed-bytes.js +0 -1
- package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
- package/packages/common/src/codecs/wire.js +0 -1
- package/packages/common/src/codecs/wire.js.map +1 -1
- package/packages/common/src/json.mjs +2 -2
- package/packages/common/src/json.mjs.map +1 -1
- package/packages/common/src/msgpack.js +0 -1
- package/packages/common/src/msgpack.js.map +1 -1
- package/packages/{sdk/src/logic → common/src}/sourcemap.d.ts +2 -2
- package/packages/{sdk/src/logic → common/src}/sourcemap.js +2 -2
- package/packages/{sdk/src/logic → common/src}/sourcemap.js.map +1 -1
- package/packages/{sdk/src/logic → common/src}/sourcemap.mjs +1 -1
- package/packages/{sdk/src/logic → common/src}/sourcemap.mjs.map +1 -1
- 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/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/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/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/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/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/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/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/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/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.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/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-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-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/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/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/transact/src/logicsig.d.ts +35 -33
- package/packages/transact/src/logicsig.js +74 -76
- package/packages/transact/src/logicsig.js.map +1 -1
- package/packages/transact/src/logicsig.mjs +77 -78
- package/packages/transact/src/logicsig.mjs.map +1 -1
- package/packages/transact/src/multisig.d.ts +11 -116
- package/packages/transact/src/multisig.js +106 -136
- package/packages/transact/src/multisig.js.map +1 -1
- package/packages/transact/src/multisig.mjs +108 -118
- package/packages/transact/src/multisig.mjs.map +1 -1
- package/packages/transact/src/signer.js +9 -2
- package/packages/transact/src/signer.js.map +1 -1
- package/packages/transact/src/signer.mjs +10 -3
- 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.map +1 -1
- 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/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 +10 -6
- package/packages/transact/src/transactions/signed-transaction.js +1 -1
- package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
- package/packages/transact/src/transactions/signed-transaction.mjs +1 -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.d.ts +5 -2
- package/packages/transact/src/transactions/transaction.js +5 -4
- package/packages/transact/src/transactions/transaction.js.map +1 -1
- package/packages/transact/src/transactions/transaction.mjs +5 -4
- 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/test-logger.d.ts +1 -1
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs.map +1 -1
- package/testing/transaction-logger.js +1 -1
- package/testing/transaction-logger.mjs +1 -1
- package/testing/types.d.ts +156 -0
- package/transact/index.d.ts +11 -10
- package/transact/index.js +7 -31
- package/transact/index.mjs +7 -10
- package/transaction/index.d.ts +4 -0
- package/transaction/index.js +9 -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 -2
- package/transaction/transaction.js +2 -2
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +2 -2
- 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 +17 -17
- package/transactions/app-call.js.map +1 -1
- package/transactions/app-call.mjs +17 -17
- 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/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 +78 -85
- package/transactions/method-call.js.map +1 -1
- package/transactions/method-call.mjs +78 -85
- 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 +5 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -456
- package/types/app-manager.js.map +1 -1
- package/types/app-manager.mjs +3 -456
- package/types/app-manager.mjs.map +1 -1
- package/types/app-spec.d.ts +39 -198
- package/types/app-spec.js +3 -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 +62 -247
- package/types/app.js +15 -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 +3 -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 +3 -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 +3 -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 +3 -1569
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +3 -1567
- package/types/composer.mjs.map +1 -1
- package/types/config.d.ts +7 -52
- package/types/config.js +3 -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 +11 -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 +3 -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 +7 -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 +3 -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 +3 -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 +11 -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 +3 -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 +3 -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/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/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
package/testing/account.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","names":["AlgorandClient","Address"],"sources":["../../src/testing/account.ts"],"sourcesContent":["import { AlgodClient } from '@algorandfoundation/algokit-algod-client'\nimport { Address } from '@algorandfoundation/algokit-common'\nimport {
|
|
1
|
+
{"version":3,"file":"account.js","names":["AlgorandClient","Address"],"sources":["../../src/testing/account.ts"],"sourcesContent":["import { AlgodClient } from '@algorandfoundation/algokit-algod-client'\nimport { Address } from '@algorandfoundation/algokit-common'\nimport { KmdClient } from '@algorandfoundation/algokit-kmd-client'\nimport { AddressWithSigners, AddressWithTransactionSigner } from '@algorandfoundation/algokit-transact'\nimport { AlgorandClient, Config } from '../'\nimport { GetTestAccountParams } from './types'\n\n/**\n * @deprecated Use `getTestAccount(params, algorandClient)` instead. The `algorandClient` object can be created using `AlgorandClient.fromClients({ algod, kmd })`.\n *\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables and if not found fallback to the default LocalNet KMD client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(\n params: GetTestAccountParams,\n algod: AlgodClient,\n kmd?: KmdClient,\n): Promise<Address & AddressWithTransactionSigner>\n/**\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algorand An AlgorandClient client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algorand: AlgorandClient): Promise<Address & AddressWithSigners>\nexport async function getTestAccount(\n { suppressLog, initialFunds, accountGetter }: GetTestAccountParams,\n algodOrAlgorandClient: AlgodClient | AlgorandClient,\n kmd?: KmdClient,\n): Promise<Address & AddressWithSigners> {\n const algorand =\n algodOrAlgorandClient instanceof AlgorandClient\n ? algodOrAlgorandClient\n : AlgorandClient.fromClients({\n algod: algodOrAlgorandClient,\n kmd,\n })\n\n const account = accountGetter ? await accountGetter(algorand) : algorand.account.random()\n\n Config.getLogger(suppressLog).info(`New test account created with address '${account.addr}'.`)\n\n const dispenser = await algorand.account.dispenserFromEnvironment()\n\n await algorand.send.payment({\n sender: dispenser,\n receiver: account.addr,\n amount: initialFunds,\n note: 'Funding test account',\n suppressLog,\n })\n\n const accountInfo = await algorand.account.getInformation(account.addr)\n\n Config.getLogger(suppressLog).info('Test account funded; account balance: %d µALGO', accountInfo.balance.microAlgo)\n\n algorand.setSignerFromAccount(account)\n\n const address = Address.fromString(account.addr.toString()) as Address & AddressWithSigners\n for (const key of Object.keys(account as AddressWithSigners)) {\n if (!(key in address)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(address as any)[key] = (account as any)[key]\n }\n }\n\n return address\n}\n"],"mappings":";;;;;AAkCA,eAAsB,eACpB,EAAE,aAAa,cAAc,iBAC7B,uBACA,KACuC;CACvC,MAAM,WACJ,iCAAiCA,yCAC7B,wBACAA,uCAAe,YAAY;EACzB,OAAO;EACP;EACD,CAAC;CAER,MAAM,UAAU,gBAAgB,MAAM,cAAc,SAAS,GAAG,SAAS,QAAQ,QAAQ;AAEzF,uBAAO,UAAU,YAAY,CAAC,KAAK,0CAA0C,QAAQ,KAAK,IAAI;CAE9F,MAAM,YAAY,MAAM,SAAS,QAAQ,0BAA0B;AAEnE,OAAM,SAAS,KAAK,QAAQ;EAC1B,QAAQ;EACR,UAAU,QAAQ;EAClB,QAAQ;EACR,MAAM;EACN;EACD,CAAC;CAEF,MAAM,cAAc,MAAM,SAAS,QAAQ,eAAe,QAAQ,KAAK;AAEvE,uBAAO,UAAU,YAAY,CAAC,KAAK,kDAAkD,YAAY,QAAQ,UAAU;AAEnH,UAAS,qBAAqB,QAAQ;CAEtC,MAAM,UAAUC,wBAAQ,WAAW,QAAQ,KAAK,UAAU,CAAC;AAC3D,MAAK,MAAM,OAAO,OAAO,KAAK,QAA8B,CAC1D,KAAI,EAAE,OAAO,SAEV,CAAC,QAAgB,OAAQ,QAAgB;AAI9C,QAAO"}
|
package/testing/account.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address } from "../packages/common/src/address.mjs";
|
|
2
2
|
import { Config } from "../config.mjs";
|
|
3
|
-
import { AlgorandClient } from "../
|
|
3
|
+
import { AlgorandClient } from "../algorand-client.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/testing/account.ts
|
|
6
6
|
async function getTestAccount({ suppressLog, initialFunds, accountGetter }, algodOrAlgorandClient, kmd) {
|
|
@@ -22,8 +22,7 @@ async function getTestAccount({ suppressLog, initialFunds, accountGetter }, algo
|
|
|
22
22
|
Config.getLogger(suppressLog).info("Test account funded; account balance: %d µALGO", accountInfo.balance.microAlgo);
|
|
23
23
|
algorand.setSignerFromAccount(account);
|
|
24
24
|
const address = Address.fromString(account.addr.toString());
|
|
25
|
-
|
|
26
|
-
address.signer = algorand.account.getSigner(address);
|
|
25
|
+
for (const key of Object.keys(account)) if (!(key in address)) address[key] = account[key];
|
|
27
26
|
return address;
|
|
28
27
|
}
|
|
29
28
|
|
package/testing/account.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.mjs","names":[],"sources":["../../src/testing/account.ts"],"sourcesContent":["import { AlgodClient } from '@algorandfoundation/algokit-algod-client'\nimport { Address } from '@algorandfoundation/algokit-common'\nimport {
|
|
1
|
+
{"version":3,"file":"account.mjs","names":[],"sources":["../../src/testing/account.ts"],"sourcesContent":["import { AlgodClient } from '@algorandfoundation/algokit-algod-client'\nimport { Address } from '@algorandfoundation/algokit-common'\nimport { KmdClient } from '@algorandfoundation/algokit-kmd-client'\nimport { AddressWithSigners, AddressWithTransactionSigner } from '@algorandfoundation/algokit-transact'\nimport { AlgorandClient, Config } from '../'\nimport { GetTestAccountParams } from './types'\n\n/**\n * @deprecated Use `getTestAccount(params, algorandClient)` instead. The `algorandClient` object can be created using `AlgorandClient.fromClients({ algod, kmd })`.\n *\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algod An algod client\n * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables and if not found fallback to the default LocalNet KMD client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(\n params: GetTestAccountParams,\n algod: AlgodClient,\n kmd?: KmdClient,\n): Promise<Address & AddressWithTransactionSigner>\n/**\n * Creates an ephemeral Algorand account for the purposes of testing.\n * Returns a newly created random test account that is funded from the dispenser\n * DO NOT USE THIS TO CREATE A MAINNET ACCOUNT!\n * Note: By default this will log the mnemonic of the account.\n * @param params The config for the test account to generate\n * @param algorand An AlgorandClient client\n * @returns The account, with private key loaded\n */\nexport async function getTestAccount(params: GetTestAccountParams, algorand: AlgorandClient): Promise<Address & AddressWithSigners>\nexport async function getTestAccount(\n { suppressLog, initialFunds, accountGetter }: GetTestAccountParams,\n algodOrAlgorandClient: AlgodClient | AlgorandClient,\n kmd?: KmdClient,\n): Promise<Address & AddressWithSigners> {\n const algorand =\n algodOrAlgorandClient instanceof AlgorandClient\n ? algodOrAlgorandClient\n : AlgorandClient.fromClients({\n algod: algodOrAlgorandClient,\n kmd,\n })\n\n const account = accountGetter ? await accountGetter(algorand) : algorand.account.random()\n\n Config.getLogger(suppressLog).info(`New test account created with address '${account.addr}'.`)\n\n const dispenser = await algorand.account.dispenserFromEnvironment()\n\n await algorand.send.payment({\n sender: dispenser,\n receiver: account.addr,\n amount: initialFunds,\n note: 'Funding test account',\n suppressLog,\n })\n\n const accountInfo = await algorand.account.getInformation(account.addr)\n\n Config.getLogger(suppressLog).info('Test account funded; account balance: %d µALGO', accountInfo.balance.microAlgo)\n\n algorand.setSignerFromAccount(account)\n\n const address = Address.fromString(account.addr.toString()) as Address & AddressWithSigners\n for (const key of Object.keys(account as AddressWithSigners)) {\n if (!(key in address)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ;(address as any)[key] = (account as any)[key]\n }\n }\n\n return address\n}\n"],"mappings":";;;;;AAkCA,eAAsB,eACpB,EAAE,aAAa,cAAc,iBAC7B,uBACA,KACuC;CACvC,MAAM,WACJ,iCAAiC,iBAC7B,wBACA,eAAe,YAAY;EACzB,OAAO;EACP;EACD,CAAC;CAER,MAAM,UAAU,gBAAgB,MAAM,cAAc,SAAS,GAAG,SAAS,QAAQ,QAAQ;AAEzF,QAAO,UAAU,YAAY,CAAC,KAAK,0CAA0C,QAAQ,KAAK,IAAI;CAE9F,MAAM,YAAY,MAAM,SAAS,QAAQ,0BAA0B;AAEnE,OAAM,SAAS,KAAK,QAAQ;EAC1B,QAAQ;EACR,UAAU,QAAQ;EAClB,QAAQ;EACR,MAAM;EACN;EACD,CAAC;CAEF,MAAM,cAAc,MAAM,SAAS,QAAQ,eAAe,QAAQ,KAAK;AAEvE,QAAO,UAAU,YAAY,CAAC,KAAK,kDAAkD,YAAY,QAAQ,UAAU;AAEnH,UAAS,qBAAqB,QAAQ;CAEtC,MAAM,UAAU,QAAQ,WAAW,QAAQ,KAAK,UAAU,CAAC;AAC3D,MAAK,MAAM,OAAO,OAAO,KAAK,QAA8B,CAC1D,KAAI,EAAE,OAAO,SAEV,CAAC,QAAgB,OAAQ,QAAgB;AAI9C,QAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algokit-log-capture-fixture.js","names":["algoKitLogCaptureFixture: () => AlgoKitLogCaptureFixture","Config","hybridLogger: TestLogger","TestLogger"],"sources":["../../../src/testing/fixtures/algokit-log-capture-fixture.ts"],"sourcesContent":["import { Config } from '../../'\nimport {
|
|
1
|
+
{"version":3,"file":"algokit-log-capture-fixture.js","names":["algoKitLogCaptureFixture: () => AlgoKitLogCaptureFixture","Config","hybridLogger: TestLogger","TestLogger"],"sources":["../../../src/testing/fixtures/algokit-log-capture-fixture.ts"],"sourcesContent":["import { Config } from '../../'\nimport { TestLogger } from '../test-logger'\nimport { AlgoKitLogCaptureFixture } from '../types'\n\n/**\n * Creates a test fixture for capturing AlgoKit logs.\n *\n * @example\n * ```typescript\n * const logs = algoKitLogCaptureFixture()\n *\n * beforeEach(logs.beforeEach)\n * afterEach(logs.afterEach)\n *\n * test('My test', () => {\n * const capturedLogs = logs.testLogger.capturedLogs\n * })\n * ```\n *\n * @returns The fixture\n */\nexport const algoKitLogCaptureFixture: () => AlgoKitLogCaptureFixture = () => {\n const originalLogger = Config.logger\n\n let hybridLogger: TestLogger\n\n return {\n get testLogger() {\n return hybridLogger\n },\n beforeEach: () => {\n hybridLogger = new TestLogger(originalLogger)\n Config.configure({\n logger: hybridLogger,\n })\n },\n afterEach: () => {\n Config.configure({\n logger: originalLogger,\n })\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAaA,iCAAiE;CAC5E,MAAM,iBAAiBC,sBAAO;CAE9B,IAAIC;AAEJ,QAAO;EACL,IAAI,aAAa;AACf,UAAO;;EAET,kBAAkB;AAChB,kBAAe,IAAIC,+BAAW,eAAe;AAC7C,yBAAO,UAAU,EACf,QAAQ,cACT,CAAC;;EAEJ,iBAAiB;AACf,yBAAO,UAAU,EACf,QAAQ,gBACT,CAAC;;EAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algokit-log-capture-fixture.mjs","names":["algoKitLogCaptureFixture: () => AlgoKitLogCaptureFixture","hybridLogger: TestLogger"],"sources":["../../../src/testing/fixtures/algokit-log-capture-fixture.ts"],"sourcesContent":["import { Config } from '../../'\nimport {
|
|
1
|
+
{"version":3,"file":"algokit-log-capture-fixture.mjs","names":["algoKitLogCaptureFixture: () => AlgoKitLogCaptureFixture","hybridLogger: TestLogger"],"sources":["../../../src/testing/fixtures/algokit-log-capture-fixture.ts"],"sourcesContent":["import { Config } from '../../'\nimport { TestLogger } from '../test-logger'\nimport { AlgoKitLogCaptureFixture } from '../types'\n\n/**\n * Creates a test fixture for capturing AlgoKit logs.\n *\n * @example\n * ```typescript\n * const logs = algoKitLogCaptureFixture()\n *\n * beforeEach(logs.beforeEach)\n * afterEach(logs.afterEach)\n *\n * test('My test', () => {\n * const capturedLogs = logs.testLogger.capturedLogs\n * })\n * ```\n *\n * @returns The fixture\n */\nexport const algoKitLogCaptureFixture: () => AlgoKitLogCaptureFixture = () => {\n const originalLogger = Config.logger\n\n let hybridLogger: TestLogger\n\n return {\n get testLogger() {\n return hybridLogger\n },\n beforeEach: () => {\n hybridLogger = new TestLogger(originalLogger)\n Config.configure({\n logger: hybridLogger,\n })\n },\n afterEach: () => {\n Config.configure({\n logger: originalLogger,\n })\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAaA,iCAAiE;CAC5E,MAAM,iBAAiB,OAAO;CAE9B,IAAIC;AAEJ,QAAO;EACL,IAAI,aAAa;AACf,UAAO;;EAET,kBAAkB;AAChB,kBAAe,IAAI,WAAW,eAAe;AAC7C,UAAO,UAAU,EACf,QAAQ,cACT,CAAC;;EAEJ,iBAAiB;AACf,UAAO,UAAU,EACf,QAAQ,gBACT,CAAC;;EAEL"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AlgoConfig } from "../../
|
|
2
|
-
import { AlgorandFixture, AlgorandFixtureConfig } from "
|
|
1
|
+
import { AlgoConfig } from "../../network-client.js";
|
|
2
|
+
import { AlgorandFixture, AlgorandFixtureConfig } from "../types.js";
|
|
3
3
|
|
|
4
4
|
//#region src/testing/fixtures/algorand-fixture.d.ts
|
|
5
5
|
|
|
@@ -15,7 +15,7 @@ import { AlgorandFixture, AlgorandFixtureConfig } from "../../types/testing.js";
|
|
|
15
15
|
* ```typescript
|
|
16
16
|
* const fixture = algorandFixture()
|
|
17
17
|
*
|
|
18
|
-
* beforeEach(fixture.newScope
|
|
18
|
+
* beforeEach(fixture.newScope)
|
|
19
19
|
*
|
|
20
20
|
* test('My test', async () => {
|
|
21
21
|
* const {algod, indexer, testAccount, ...} = fixture.context
|
|
@@ -27,7 +27,7 @@ import { AlgorandFixture, AlgorandFixtureConfig } from "../../types/testing.js";
|
|
|
27
27
|
* ```typescript
|
|
28
28
|
* const fixture = algorandFixture()
|
|
29
29
|
*
|
|
30
|
-
* beforeAll(fixture.newScope
|
|
30
|
+
* beforeAll(fixture.newScope)
|
|
31
31
|
*
|
|
32
32
|
* test('My test', async () => {
|
|
33
33
|
* const {algod, indexer, testAccount, ...} = fixture.context
|
|
@@ -42,7 +42,7 @@ import { AlgorandFixture, AlgorandFixtureConfig } from "../../types/testing.js";
|
|
|
42
42
|
* // ...
|
|
43
43
|
* })
|
|
44
44
|
*
|
|
45
|
-
* beforeEach(fixture.newScope
|
|
45
|
+
* beforeEach(fixture.newScope)
|
|
46
46
|
*
|
|
47
47
|
* test('My test', async () => {
|
|
48
48
|
* const {algod, indexer, testAccount, ...} = fixture.context
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_amount = require('../../amount.js');
|
|
2
2
|
const require_config = require('../../config.js');
|
|
3
|
-
const require_client_manager = require('../../
|
|
4
|
-
const require_algorand_client = require('../../
|
|
3
|
+
const require_client_manager = require('../../client-manager.js');
|
|
4
|
+
const require_algorand_client = require('../../algorand-client.js');
|
|
5
5
|
const require_account = require('../account.js');
|
|
6
6
|
const require_indexer = require('../indexer.js');
|
|
7
7
|
const require_transaction_logger = require('../transaction-logger.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algorand-fixture.js","names":["ClientManager","context: AlgorandTestAutomationContext","algorand: AlgorandClient","TransactionLogger","AlgorandClient","getTestAccount","algos","runWhenIndexerCaughtUp"],"sources":["../../../src/testing/fixtures/algorand-fixture.ts"],"sourcesContent":["import { algos, Config } from '../../'\nimport { AlgorandClient } from '../../
|
|
1
|
+
{"version":3,"file":"algorand-fixture.js","names":["ClientManager","context: AlgorandTestAutomationContext","algorand: AlgorandClient","TransactionLogger","AlgorandClient","getTestAccount","algos","runWhenIndexerCaughtUp"],"sources":["../../../src/testing/fixtures/algorand-fixture.ts"],"sourcesContent":["import { algos, Config } from '../../'\nimport { AlgorandClient } from '../../algorand-client'\nimport { ClientManager } from '../../client-manager'\nimport { AlgoConfig } from '../../network-client'\nimport { getTestAccount } from '../account'\nimport { runWhenIndexerCaughtUp } from '../indexer'\nimport { TransactionLogger } from '../transaction-logger'\nimport { AlgorandFixture, AlgorandFixtureConfig, AlgorandTestAutomationContext, GetTestAccountParams } from '../types'\n\n/**\n * Creates a test fixture for automated testing against Algorand.\n * By default it tests against an environment variable specified client\n * if the standard environment variables are specified, otherwise against\n * a default LocalNet instance, but you can pass in an algod, indexer\n * and/or kmd (or their respective config) if you want to test against\n * an explicitly defined network.\n *\n * @example No config (per-test isolation)\n * ```typescript\n * const fixture = algorandFixture()\n *\n * beforeEach(fixture.newScope)\n *\n * test('My test', async () => {\n * const {algod, indexer, testAccount, ...} = fixture.context\n * // test things...\n * })\n * ```\n *\n * @example No config (test suite isolation)\n * ```typescript\n * const fixture = algorandFixture()\n *\n * beforeAll(fixture.newScope)\n *\n * test('My test', async () => {\n * const {algod, indexer, testAccount, ...} = fixture.context\n * // test things...\n * })\n * ```\n *\n * @example With config\n * ```typescript\n * const fixture = algorandFixture({\n * algod: new AlgodClient({ baseUrl: 'http://localhost:12345', headers: { 'X-Algo-API-Token': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' } }),\n * // ...\n * })\n *\n * beforeEach(fixture.newScope)\n *\n * test('My test', async () => {\n * const {algod, indexer, testAccount, ...} = fixture.context\n * // test things...\n * })\n * ```\n *\n * @param fixtureConfig The fixture configuration\n * @returns The fixture\n */\nexport function algorandFixture(fixtureConfig?: AlgorandFixtureConfig): AlgorandFixture\n\n/**\n * @deprecated Config can be passed in directly to fixture config now.\n *\n * Creates a test fixture for automated testing against Algorand.\n * By default it tests against an environment variable specified client\n * if the standard environment variables are specified, otherwise against\n * a default LocalNet instance, but you can pass in an algod, indexer\n * and/or kmd if you want to test against an explicitly defined network.\n *\n * @param fixtureConfig The fixture configuration\n * @param config The fixture configuration\n * @returns The fixture\n */\nexport function algorandFixture(fixtureConfig: AlgorandFixtureConfig | undefined, config: AlgoConfig): AlgorandFixture\n\nexport function algorandFixture(fixtureConfig?: AlgorandFixtureConfig, config?: AlgoConfig): AlgorandFixture {\n fixtureConfig = { ...fixtureConfig, ...config }\n if (!fixtureConfig.algod || !fixtureConfig.indexer || !fixtureConfig.kmd) {\n fixtureConfig = { ...ClientManager.getConfigFromEnvironmentOrLocalNet(), ...fixtureConfig }\n }\n\n const algod = fixtureConfig.algod ?? ClientManager.getAlgodClient(fixtureConfig.algodConfig!)\n const indexer = fixtureConfig.indexer ?? ClientManager.getIndexerClient(fixtureConfig.indexerConfig!)\n const kmd = fixtureConfig.kmd ?? ClientManager.getKmdClient(fixtureConfig.kmdConfig!)\n let context: AlgorandTestAutomationContext\n let algorand: AlgorandClient\n\n const newScope = async () => {\n Config.configure({ debug: true })\n const transactionLogger = new TransactionLogger()\n const transactionLoggerAlgod = transactionLogger.capture(algod)\n\n algorand = AlgorandClient.fromClients({ algod: transactionLoggerAlgod, indexer, kmd }).setSuggestedParamsCacheTimeout(0)\n\n const testAccount = await getTestAccount({ initialFunds: fixtureConfig?.testAccountFunding ?? algos(10), suppressLog: true }, algorand)\n algorand.setSignerFromAccount(testAccount)\n\n // If running against LocalNet we are likely in dev mode and we need to set a much higher validity window\n // otherwise we are more likely to get invalid transactions.\n if (await algorand.client.isLocalNet()) {\n algorand.setDefaultValidityWindow(1000)\n }\n context = {\n algorand,\n algod: transactionLoggerAlgod,\n indexer: indexer,\n kmd: kmd,\n testAccount,\n generateAccount: async (params: GetTestAccountParams) => {\n const account = await getTestAccount(params, algorand)\n algorand.setSignerFromAccount(account)\n return account\n },\n transactionLogger: transactionLogger,\n waitForIndexer: () => transactionLogger.waitForIndexer(indexer),\n waitForIndexerTransaction: (transactionId: string) => runWhenIndexerCaughtUp(() => indexer.lookupTransactionById(transactionId)),\n }\n }\n\n return {\n get context() {\n if (!context) throw new Error('Context not initialised; make sure to call fixture.newScope() before accessing context.')\n return context\n },\n get algorand() {\n return algorand\n },\n beforeEach: newScope,\n newScope,\n }\n}\n"],"mappings":";;;;;;;;;AA4EA,SAAgB,gBAAgB,eAAuC,QAAsC;AAC3G,iBAAgB;EAAE,GAAG;EAAe,GAAG;EAAQ;AAC/C,KAAI,CAAC,cAAc,SAAS,CAAC,cAAc,WAAW,CAAC,cAAc,IACnE,iBAAgB;EAAE,GAAGA,qCAAc,oCAAoC;EAAE,GAAG;EAAe;CAG7F,MAAM,QAAQ,cAAc,SAASA,qCAAc,eAAe,cAAc,YAAa;CAC7F,MAAM,UAAU,cAAc,WAAWA,qCAAc,iBAAiB,cAAc,cAAe;CACrG,MAAM,MAAM,cAAc,OAAOA,qCAAc,aAAa,cAAc,UAAW;CACrF,IAAIC;CACJ,IAAIC;CAEJ,MAAM,WAAW,YAAY;AAC3B,wBAAO,UAAU,EAAE,OAAO,MAAM,CAAC;EACjC,MAAM,oBAAoB,IAAIC,8CAAmB;EACjD,MAAM,yBAAyB,kBAAkB,QAAQ,MAAM;AAE/D,aAAWC,uCAAe,YAAY;GAAE,OAAO;GAAwB;GAAS;GAAK,CAAC,CAAC,+BAA+B,EAAE;EAExH,MAAM,cAAc,MAAMC,+BAAe;GAAE,cAAc,eAAe,sBAAsBC,qBAAM,GAAG;GAAE,aAAa;GAAM,EAAE,SAAS;AACvI,WAAS,qBAAqB,YAAY;AAI1C,MAAI,MAAM,SAAS,OAAO,YAAY,CACpC,UAAS,yBAAyB,IAAK;AAEzC,YAAU;GACR;GACA,OAAO;GACE;GACJ;GACL;GACA,iBAAiB,OAAO,WAAiC;IACvD,MAAM,UAAU,MAAMD,+BAAe,QAAQ,SAAS;AACtD,aAAS,qBAAqB,QAAQ;AACtC,WAAO;;GAEU;GACnB,sBAAsB,kBAAkB,eAAe,QAAQ;GAC/D,4BAA4B,kBAA0BE,6CAA6B,QAAQ,sBAAsB,cAAc,CAAC;GACjI;;AAGH,QAAO;EACL,IAAI,UAAU;AACZ,OAAI,CAAC,QAAS,OAAM,IAAI,MAAM,0FAA0F;AACxH,UAAO;;EAET,IAAI,WAAW;AACb,UAAO;;EAET,YAAY;EACZ;EACD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { algos } from "../../amount.mjs";
|
|
2
2
|
import { Config } from "../../config.mjs";
|
|
3
|
-
import { ClientManager } from "../../
|
|
4
|
-
import { AlgorandClient } from "../../
|
|
3
|
+
import { ClientManager } from "../../client-manager.mjs";
|
|
4
|
+
import { AlgorandClient } from "../../algorand-client.mjs";
|
|
5
5
|
import { getTestAccount } from "../account.mjs";
|
|
6
6
|
import { runWhenIndexerCaughtUp } from "../indexer.mjs";
|
|
7
7
|
import { TransactionLogger } from "../transaction-logger.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algorand-fixture.mjs","names":["context: AlgorandTestAutomationContext","algorand: AlgorandClient"],"sources":["../../../src/testing/fixtures/algorand-fixture.ts"],"sourcesContent":["import { algos, Config } from '../../'\nimport { AlgorandClient } from '../../
|
|
1
|
+
{"version":3,"file":"algorand-fixture.mjs","names":["context: AlgorandTestAutomationContext","algorand: AlgorandClient"],"sources":["../../../src/testing/fixtures/algorand-fixture.ts"],"sourcesContent":["import { algos, Config } from '../../'\nimport { AlgorandClient } from '../../algorand-client'\nimport { ClientManager } from '../../client-manager'\nimport { AlgoConfig } from '../../network-client'\nimport { getTestAccount } from '../account'\nimport { runWhenIndexerCaughtUp } from '../indexer'\nimport { TransactionLogger } from '../transaction-logger'\nimport { AlgorandFixture, AlgorandFixtureConfig, AlgorandTestAutomationContext, GetTestAccountParams } from '../types'\n\n/**\n * Creates a test fixture for automated testing against Algorand.\n * By default it tests against an environment variable specified client\n * if the standard environment variables are specified, otherwise against\n * a default LocalNet instance, but you can pass in an algod, indexer\n * and/or kmd (or their respective config) if you want to test against\n * an explicitly defined network.\n *\n * @example No config (per-test isolation)\n * ```typescript\n * const fixture = algorandFixture()\n *\n * beforeEach(fixture.newScope)\n *\n * test('My test', async () => {\n * const {algod, indexer, testAccount, ...} = fixture.context\n * // test things...\n * })\n * ```\n *\n * @example No config (test suite isolation)\n * ```typescript\n * const fixture = algorandFixture()\n *\n * beforeAll(fixture.newScope)\n *\n * test('My test', async () => {\n * const {algod, indexer, testAccount, ...} = fixture.context\n * // test things...\n * })\n * ```\n *\n * @example With config\n * ```typescript\n * const fixture = algorandFixture({\n * algod: new AlgodClient({ baseUrl: 'http://localhost:12345', headers: { 'X-Algo-API-Token': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' } }),\n * // ...\n * })\n *\n * beforeEach(fixture.newScope)\n *\n * test('My test', async () => {\n * const {algod, indexer, testAccount, ...} = fixture.context\n * // test things...\n * })\n * ```\n *\n * @param fixtureConfig The fixture configuration\n * @returns The fixture\n */\nexport function algorandFixture(fixtureConfig?: AlgorandFixtureConfig): AlgorandFixture\n\n/**\n * @deprecated Config can be passed in directly to fixture config now.\n *\n * Creates a test fixture for automated testing against Algorand.\n * By default it tests against an environment variable specified client\n * if the standard environment variables are specified, otherwise against\n * a default LocalNet instance, but you can pass in an algod, indexer\n * and/or kmd if you want to test against an explicitly defined network.\n *\n * @param fixtureConfig The fixture configuration\n * @param config The fixture configuration\n * @returns The fixture\n */\nexport function algorandFixture(fixtureConfig: AlgorandFixtureConfig | undefined, config: AlgoConfig): AlgorandFixture\n\nexport function algorandFixture(fixtureConfig?: AlgorandFixtureConfig, config?: AlgoConfig): AlgorandFixture {\n fixtureConfig = { ...fixtureConfig, ...config }\n if (!fixtureConfig.algod || !fixtureConfig.indexer || !fixtureConfig.kmd) {\n fixtureConfig = { ...ClientManager.getConfigFromEnvironmentOrLocalNet(), ...fixtureConfig }\n }\n\n const algod = fixtureConfig.algod ?? ClientManager.getAlgodClient(fixtureConfig.algodConfig!)\n const indexer = fixtureConfig.indexer ?? ClientManager.getIndexerClient(fixtureConfig.indexerConfig!)\n const kmd = fixtureConfig.kmd ?? ClientManager.getKmdClient(fixtureConfig.kmdConfig!)\n let context: AlgorandTestAutomationContext\n let algorand: AlgorandClient\n\n const newScope = async () => {\n Config.configure({ debug: true })\n const transactionLogger = new TransactionLogger()\n const transactionLoggerAlgod = transactionLogger.capture(algod)\n\n algorand = AlgorandClient.fromClients({ algod: transactionLoggerAlgod, indexer, kmd }).setSuggestedParamsCacheTimeout(0)\n\n const testAccount = await getTestAccount({ initialFunds: fixtureConfig?.testAccountFunding ?? algos(10), suppressLog: true }, algorand)\n algorand.setSignerFromAccount(testAccount)\n\n // If running against LocalNet we are likely in dev mode and we need to set a much higher validity window\n // otherwise we are more likely to get invalid transactions.\n if (await algorand.client.isLocalNet()) {\n algorand.setDefaultValidityWindow(1000)\n }\n context = {\n algorand,\n algod: transactionLoggerAlgod,\n indexer: indexer,\n kmd: kmd,\n testAccount,\n generateAccount: async (params: GetTestAccountParams) => {\n const account = await getTestAccount(params, algorand)\n algorand.setSignerFromAccount(account)\n return account\n },\n transactionLogger: transactionLogger,\n waitForIndexer: () => transactionLogger.waitForIndexer(indexer),\n waitForIndexerTransaction: (transactionId: string) => runWhenIndexerCaughtUp(() => indexer.lookupTransactionById(transactionId)),\n }\n }\n\n return {\n get context() {\n if (!context) throw new Error('Context not initialised; make sure to call fixture.newScope() before accessing context.')\n return context\n },\n get algorand() {\n return algorand\n },\n beforeEach: newScope,\n newScope,\n }\n}\n"],"mappings":";;;;;;;;;AA4EA,SAAgB,gBAAgB,eAAuC,QAAsC;AAC3G,iBAAgB;EAAE,GAAG;EAAe,GAAG;EAAQ;AAC/C,KAAI,CAAC,cAAc,SAAS,CAAC,cAAc,WAAW,CAAC,cAAc,IACnE,iBAAgB;EAAE,GAAG,cAAc,oCAAoC;EAAE,GAAG;EAAe;CAG7F,MAAM,QAAQ,cAAc,SAAS,cAAc,eAAe,cAAc,YAAa;CAC7F,MAAM,UAAU,cAAc,WAAW,cAAc,iBAAiB,cAAc,cAAe;CACrG,MAAM,MAAM,cAAc,OAAO,cAAc,aAAa,cAAc,UAAW;CACrF,IAAIA;CACJ,IAAIC;CAEJ,MAAM,WAAW,YAAY;AAC3B,SAAO,UAAU,EAAE,OAAO,MAAM,CAAC;EACjC,MAAM,oBAAoB,IAAI,mBAAmB;EACjD,MAAM,yBAAyB,kBAAkB,QAAQ,MAAM;AAE/D,aAAW,eAAe,YAAY;GAAE,OAAO;GAAwB;GAAS;GAAK,CAAC,CAAC,+BAA+B,EAAE;EAExH,MAAM,cAAc,MAAM,eAAe;GAAE,cAAc,eAAe,sBAAsB,MAAM,GAAG;GAAE,aAAa;GAAM,EAAE,SAAS;AACvI,WAAS,qBAAqB,YAAY;AAI1C,MAAI,MAAM,SAAS,OAAO,YAAY,CACpC,UAAS,yBAAyB,IAAK;AAEzC,YAAU;GACR;GACA,OAAO;GACE;GACJ;GACL;GACA,iBAAiB,OAAO,WAAiC;IACvD,MAAM,UAAU,MAAM,eAAe,QAAQ,SAAS;AACtD,aAAS,qBAAqB,QAAQ;AACtC,WAAO;;GAEU;GACnB,sBAAsB,kBAAkB,eAAe,QAAQ;GAC/D,4BAA4B,kBAA0B,6BAA6B,QAAQ,sBAAsB,cAAc,CAAC;GACjI;;AAGH,QAAO;EACL,IAAI,UAAU;AACZ,OAAI,CAAC,QAAS,OAAM,IAAI,MAAM,0FAA0F;AACxH,UAAO;;EAET,IAAI,WAAW;AACb,UAAO;;EAET,YAAY;EACZ;EACD"}
|
package/testing/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { TestLogger } from "./test-logger.js";
|
|
2
|
+
import { AlgoKitLogCaptureFixture, AlgorandFixture, AlgorandFixtureConfig, AlgorandTestAutomationContext, GetTestAccountParams, LogSnapshotConfig } from "./types.js";
|
|
2
3
|
import { getTestAccount } from "./account.js";
|
|
3
4
|
import { algoKitLogCaptureFixture } from "./fixtures/algokit-log-capture-fixture.js";
|
|
4
5
|
import { algorandFixture } from "./fixtures/algorand-fixture.js";
|
|
5
6
|
import { runWhenIndexerCaughtUp } from "./indexer.js";
|
|
6
7
|
import { TransactionLogger } from "./transaction-logger.js";
|
|
7
|
-
export { TestLogger, TransactionLogger, algoKitLogCaptureFixture, algorandFixture, getTestAccount, runWhenIndexerCaughtUp };
|
|
8
|
+
export { AlgoKitLogCaptureFixture, AlgorandFixture, AlgorandFixtureConfig, AlgorandTestAutomationContext, GetTestAccountParams, LogSnapshotConfig, TestLogger, TransactionLogger, algoKitLogCaptureFixture, algorandFixture, getTestAccount, runWhenIndexerCaughtUp };
|
package/testing/test-logger.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-logger.js","names":["asJson"],"sources":["../../src/testing/test-logger.ts"],"sourcesContent":["import { Logger } from '../
|
|
1
|
+
{"version":3,"file":"test-logger.js","names":["asJson"],"sources":["../../src/testing/test-logger.ts"],"sourcesContent":["import { Logger } from '../logging'\nimport { asJson } from '../util'\nimport { LogSnapshotConfig } from './types'\n\n/** Exposes an AlgoKit logger which captures log messages, while wrapping an original logger.\n * This is useful for automated testing.\n */\nexport class TestLogger implements Logger {\n private originalLogger: Logger | undefined\n private logs: string[]\n\n /**\n * Create a new test logger that wraps the given logger if provided.\n * @param originalLogger The optional original logger to wrap.\n */\n constructor(originalLogger?: Logger) {\n this.originalLogger = originalLogger\n this.logs = []\n }\n\n /** Returns all logs captured thus far. */\n get capturedLogs(): string[] {\n return this.logs\n }\n\n /** Clears all logs captured so far. */\n clear() {\n this.logs = []\n }\n\n /**\n * Returns a captured log snapshot.\n * This helps ensure that the provided configuration items won't appear\n * with random values in the log snapshot, but rather will get substituted with predictable ids.\n *\n * https://jestjs.io/docs/snapshot-testing#2-tests-should-be-deterministic\n *\n * @example Jest Example\n * ```typescript\n * const logger = new TestLogger()\n * ...\n * expect(logger.getLogSnapshot()).toMatchSnapshot()\n * ```\n * @param config The snapshot configuration\n * @returns The snapshotted logs.\n */\n getLogSnapshot(config?: LogSnapshotConfig) {\n const { transactions: transactionIds, accounts, apps } = config ?? {}\n let snapshot = this.capturedLogs.filter(config?.filterPredicate ?? (() => true)).join('\\n')\n transactionIds?.forEach(\n (txn, id) => (snapshot = snapshot.replace(new RegExp(typeof txn === 'string' ? txn : txn.txId(), 'g'), `TXID_${id + 1}`)),\n )\n accounts?.forEach(\n (sender, id) =>\n (snapshot = snapshot.replace(\n new RegExp(typeof sender === 'string' ? sender : 'addr' in sender ? sender.addr.toString() : sender.toString(), 'g'),\n `ACCOUNT_${id + 1}`,\n )),\n )\n apps?.forEach((app, id) => (snapshot = snapshot.replace(new RegExp(`\\\\b${app.toString()}\\\\b(?! bytes)`, 'g'), `APP_${id + 1}`)))\n return snapshot\n }\n\n error(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.error(message, ...optionalParams)\n this.logs.push(`ERROR: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n warn(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.warn(message, ...optionalParams)\n this.logs.push(`WARN: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n info(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.info(message, ...optionalParams)\n this.logs.push(`INFO: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n verbose(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.verbose(message, ...optionalParams)\n this.logs.push(`VERBOSE: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n debug(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.debug(message, ...optionalParams)\n this.logs.push(`DEBUG: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,aAAb,MAA0C;CACxC,AAAQ;CACR,AAAQ;;;;;CAMR,YAAY,gBAAyB;AACnC,OAAK,iBAAiB;AACtB,OAAK,OAAO,EAAE;;;CAIhB,IAAI,eAAyB;AAC3B,SAAO,KAAK;;;CAId,QAAQ;AACN,OAAK,OAAO,EAAE;;;;;;;;;;;;;;;;;;CAmBhB,eAAe,QAA4B;EACzC,MAAM,EAAE,cAAc,gBAAgB,UAAU,SAAS,UAAU,EAAE;EACrE,IAAI,WAAW,KAAK,aAAa,OAAO,QAAQ,0BAA0B,MAAM,CAAC,KAAK,KAAK;AAC3F,kBAAgB,SACb,KAAK,OAAQ,WAAW,SAAS,QAAQ,IAAI,OAAO,OAAO,QAAQ,WAAW,MAAM,IAAI,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CACzH;AACD,YAAU,SACP,QAAQ,OACN,WAAW,SAAS,QACnB,IAAI,OAAO,OAAO,WAAW,WAAW,SAAS,UAAU,SAAS,OAAO,KAAK,UAAU,GAAG,OAAO,UAAU,EAAE,IAAI,EACpH,WAAW,KAAK,IACjB,CACJ;AACD,QAAM,SAAS,KAAK,OAAQ,WAAW,SAAS,QAAQ,IAAI,OAAO,MAAM,IAAI,UAAU,CAAC,gBAAgB,IAAI,EAAE,OAAO,KAAK,IAAI,CAAE;AAChI,SAAO;;CAGT,MAAM,SAAiB,GAAG,gBAAiC;AACzD,OAAK,gBAAgB,MAAM,SAAS,GAAG,eAAe;AACtD,OAAK,KAAK,KAAK,UAAU,UAAU,eAAe,SAAS,MAAMA,oBAAO,eAAe,KAAK,KAAK;;CAEnG,KAAK,SAAiB,GAAG,gBAAiC;AACxD,OAAK,gBAAgB,KAAK,SAAS,GAAG,eAAe;AACrD,OAAK,KAAK,KAAK,SAAS,UAAU,eAAe,SAAS,MAAMA,oBAAO,eAAe,KAAK,KAAK;;CAElG,KAAK,SAAiB,GAAG,gBAAiC;AACxD,OAAK,gBAAgB,KAAK,SAAS,GAAG,eAAe;AACrD,OAAK,KAAK,KAAK,SAAS,UAAU,eAAe,SAAS,MAAMA,oBAAO,eAAe,KAAK,KAAK;;CAElG,QAAQ,SAAiB,GAAG,gBAAiC;AAC3D,OAAK,gBAAgB,QAAQ,SAAS,GAAG,eAAe;AACxD,OAAK,KAAK,KAAK,YAAY,UAAU,eAAe,SAAS,MAAMA,oBAAO,eAAe,KAAK,KAAK;;CAErG,MAAM,SAAiB,GAAG,gBAAiC;AACzD,OAAK,gBAAgB,MAAM,SAAS,GAAG,eAAe;AACtD,OAAK,KAAK,KAAK,UAAU,UAAU,eAAe,SAAS,MAAMA,oBAAO,eAAe,KAAK,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-logger.mjs","names":[],"sources":["../../src/testing/test-logger.ts"],"sourcesContent":["import { Logger } from '../
|
|
1
|
+
{"version":3,"file":"test-logger.mjs","names":[],"sources":["../../src/testing/test-logger.ts"],"sourcesContent":["import { Logger } from '../logging'\nimport { asJson } from '../util'\nimport { LogSnapshotConfig } from './types'\n\n/** Exposes an AlgoKit logger which captures log messages, while wrapping an original logger.\n * This is useful for automated testing.\n */\nexport class TestLogger implements Logger {\n private originalLogger: Logger | undefined\n private logs: string[]\n\n /**\n * Create a new test logger that wraps the given logger if provided.\n * @param originalLogger The optional original logger to wrap.\n */\n constructor(originalLogger?: Logger) {\n this.originalLogger = originalLogger\n this.logs = []\n }\n\n /** Returns all logs captured thus far. */\n get capturedLogs(): string[] {\n return this.logs\n }\n\n /** Clears all logs captured so far. */\n clear() {\n this.logs = []\n }\n\n /**\n * Returns a captured log snapshot.\n * This helps ensure that the provided configuration items won't appear\n * with random values in the log snapshot, but rather will get substituted with predictable ids.\n *\n * https://jestjs.io/docs/snapshot-testing#2-tests-should-be-deterministic\n *\n * @example Jest Example\n * ```typescript\n * const logger = new TestLogger()\n * ...\n * expect(logger.getLogSnapshot()).toMatchSnapshot()\n * ```\n * @param config The snapshot configuration\n * @returns The snapshotted logs.\n */\n getLogSnapshot(config?: LogSnapshotConfig) {\n const { transactions: transactionIds, accounts, apps } = config ?? {}\n let snapshot = this.capturedLogs.filter(config?.filterPredicate ?? (() => true)).join('\\n')\n transactionIds?.forEach(\n (txn, id) => (snapshot = snapshot.replace(new RegExp(typeof txn === 'string' ? txn : txn.txId(), 'g'), `TXID_${id + 1}`)),\n )\n accounts?.forEach(\n (sender, id) =>\n (snapshot = snapshot.replace(\n new RegExp(typeof sender === 'string' ? sender : 'addr' in sender ? sender.addr.toString() : sender.toString(), 'g'),\n `ACCOUNT_${id + 1}`,\n )),\n )\n apps?.forEach((app, id) => (snapshot = snapshot.replace(new RegExp(`\\\\b${app.toString()}\\\\b(?! bytes)`, 'g'), `APP_${id + 1}`)))\n return snapshot\n }\n\n error(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.error(message, ...optionalParams)\n this.logs.push(`ERROR: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n warn(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.warn(message, ...optionalParams)\n this.logs.push(`WARN: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n info(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.info(message, ...optionalParams)\n this.logs.push(`INFO: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n verbose(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.verbose(message, ...optionalParams)\n this.logs.push(`VERBOSE: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n debug(message: string, ...optionalParams: unknown[]): void {\n this.originalLogger?.debug(message, ...optionalParams)\n this.logs.push(`DEBUG: ${message}${optionalParams.length ? ` | ${asJson(optionalParams)}` : ''}`)\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,aAAb,MAA0C;CACxC,AAAQ;CACR,AAAQ;;;;;CAMR,YAAY,gBAAyB;AACnC,OAAK,iBAAiB;AACtB,OAAK,OAAO,EAAE;;;CAIhB,IAAI,eAAyB;AAC3B,SAAO,KAAK;;;CAId,QAAQ;AACN,OAAK,OAAO,EAAE;;;;;;;;;;;;;;;;;;CAmBhB,eAAe,QAA4B;EACzC,MAAM,EAAE,cAAc,gBAAgB,UAAU,SAAS,UAAU,EAAE;EACrE,IAAI,WAAW,KAAK,aAAa,OAAO,QAAQ,0BAA0B,MAAM,CAAC,KAAK,KAAK;AAC3F,kBAAgB,SACb,KAAK,OAAQ,WAAW,SAAS,QAAQ,IAAI,OAAO,OAAO,QAAQ,WAAW,MAAM,IAAI,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CACzH;AACD,YAAU,SACP,QAAQ,OACN,WAAW,SAAS,QACnB,IAAI,OAAO,OAAO,WAAW,WAAW,SAAS,UAAU,SAAS,OAAO,KAAK,UAAU,GAAG,OAAO,UAAU,EAAE,IAAI,EACpH,WAAW,KAAK,IACjB,CACJ;AACD,QAAM,SAAS,KAAK,OAAQ,WAAW,SAAS,QAAQ,IAAI,OAAO,MAAM,IAAI,UAAU,CAAC,gBAAgB,IAAI,EAAE,OAAO,KAAK,IAAI,CAAE;AAChI,SAAO;;CAGT,MAAM,SAAiB,GAAG,gBAAiC;AACzD,OAAK,gBAAgB,MAAM,SAAS,GAAG,eAAe;AACtD,OAAK,KAAK,KAAK,UAAU,UAAU,eAAe,SAAS,MAAM,OAAO,eAAe,KAAK,KAAK;;CAEnG,KAAK,SAAiB,GAAG,gBAAiC;AACxD,OAAK,gBAAgB,KAAK,SAAS,GAAG,eAAe;AACrD,OAAK,KAAK,KAAK,SAAS,UAAU,eAAe,SAAS,MAAM,OAAO,eAAe,KAAK,KAAK;;CAElG,KAAK,SAAiB,GAAG,gBAAiC;AACxD,OAAK,gBAAgB,KAAK,SAAS,GAAG,eAAe;AACrD,OAAK,KAAK,KAAK,SAAS,UAAU,eAAe,SAAS,MAAM,OAAO,eAAe,KAAK,KAAK;;CAElG,QAAQ,SAAiB,GAAG,gBAAiC;AAC3D,OAAK,gBAAgB,QAAQ,SAAS,GAAG,eAAe;AACxD,OAAK,KAAK,KAAK,YAAY,UAAU,eAAe,SAAS,MAAM,OAAO,eAAe,KAAK,KAAK;;CAErG,MAAM,SAAiB,GAAG,gBAAiC;AACzD,OAAK,gBAAgB,MAAM,SAAS,GAAG,eAAe;AACtD,OAAK,KAAK,KAAK,UAAU,UAAU,eAAe,SAAS,MAAM,OAAO,eAAe,KAAK,KAAK"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_signed_transaction = require('../packages/transact/src/transactions/signed-transaction.js');
|
|
2
1
|
const require_config = require('../config.js');
|
|
2
|
+
const require_signed_transaction = require('../packages/transact/src/transactions/signed-transaction.js');
|
|
3
3
|
const require_indexer = require('./indexer.js');
|
|
4
4
|
|
|
5
5
|
//#region src/testing/transaction-logger.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { decodeSignedTransaction } from "../packages/transact/src/transactions/signed-transaction.mjs";
|
|
2
1
|
import { Config } from "../config.mjs";
|
|
2
|
+
import { decodeSignedTransaction } from "../packages/transact/src/transactions/signed-transaction.mjs";
|
|
3
3
|
import { runWhenIndexerCaughtUp } from "./indexer.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/testing/transaction-logger.ts
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Address } from "../packages/common/src/address.js";
|
|
2
|
+
import { Transaction } from "../packages/transact/src/transactions/transaction.js";
|
|
3
|
+
import { MultisigAccount } from "../packages/transact/src/multisig.js";
|
|
4
|
+
import { LogicSigAccount } from "../packages/transact/src/logicsig.js";
|
|
5
|
+
import { AddressWithSigners, AddressWithTransactionSigner } from "../packages/transact/src/signer.js";
|
|
6
|
+
import { AlgodClient } from "../packages/algod_client/src/client.js";
|
|
7
|
+
import { AlgoAmount } from "../amount.js";
|
|
8
|
+
import { TransactionResponse } from "../packages/indexer_client/src/models/transaction-response.js";
|
|
9
|
+
import { IndexerClient } from "../packages/indexer_client/src/client.js";
|
|
10
|
+
import { KmdClient } from "../packages/kmd_client/src/client.js";
|
|
11
|
+
import { AlgoConfig } from "../network-client.js";
|
|
12
|
+
import { AlgorandClient } from "../algorand-client.js";
|
|
13
|
+
import { TestLogger } from "./test-logger.js";
|
|
14
|
+
import { TransactionLogger } from "./transaction-logger.js";
|
|
15
|
+
|
|
16
|
+
//#region src/testing/types.d.ts
|
|
17
|
+
/**
|
|
18
|
+
* Test automation context.
|
|
19
|
+
*/
|
|
20
|
+
interface AlgorandTestAutomationContext {
|
|
21
|
+
/** An AlgorandClient instance loaded with the current context, including testAccount and any generated accounts loaded as signers */
|
|
22
|
+
algorand: AlgorandClient;
|
|
23
|
+
/** Algod client instance that will log transactions in `transactionLogger` */
|
|
24
|
+
algod: AlgodClient;
|
|
25
|
+
/** Indexer client instance */
|
|
26
|
+
indexer: IndexerClient;
|
|
27
|
+
/** KMD client instance */
|
|
28
|
+
kmd: KmdClient;
|
|
29
|
+
/** Transaction logger that will log transaction IDs for all transactions issued by `algod` */
|
|
30
|
+
transactionLogger: TransactionLogger;
|
|
31
|
+
/** Default, funded test account that is ephemerally created */
|
|
32
|
+
testAccount: Address & AddressWithSigners;
|
|
33
|
+
/** Generate and fund an additional ephemerally created account */
|
|
34
|
+
generateAccount: (params: GetTestAccountParams) => Promise<Address & AddressWithSigners>;
|
|
35
|
+
/** Wait for the indexer to catch up with all transactions logged by `transactionLogger` */
|
|
36
|
+
waitForIndexer: () => Promise<void>;
|
|
37
|
+
/** Wait for the indexer to catch up with the given transaction ID */
|
|
38
|
+
waitForIndexerTransaction: (transactionId: string) => Promise<TransactionResponse>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Parameters for the `getTestAccount` function.
|
|
42
|
+
*/
|
|
43
|
+
interface GetTestAccountParams {
|
|
44
|
+
/** Initial funds to ensure the account has */
|
|
45
|
+
initialFunds: AlgoAmount;
|
|
46
|
+
/** Whether to suppress the log (which includes a mnemonic) or not (default: do not suppress the log) */
|
|
47
|
+
suppressLog?: boolean;
|
|
48
|
+
/** Optional override for how to get a test account; this allows you to retrieve accounts from a known or cached list of accounts. */
|
|
49
|
+
accountGetter?: (algorand: AlgorandClient) => Promise<Address & AddressWithSigners>;
|
|
50
|
+
}
|
|
51
|
+
/** Configuration for creating an Algorand testing fixture. */
|
|
52
|
+
interface AlgorandFixtureConfig extends Partial<AlgoConfig> {
|
|
53
|
+
/** An optional algod client, if not specified then it will create one against `algodConfig` (if present) then environment variables defined network (if present) or default LocalNet. */
|
|
54
|
+
algod?: AlgodClient;
|
|
55
|
+
/** An optional indexer client, if not specified then it will create one against `indexerConfig` (if present) then environment variables defined network (if present) or default LocalNet. */
|
|
56
|
+
indexer?: IndexerClient;
|
|
57
|
+
/** An optional kmd client, if not specified then it will create one against `kmdConfig` (if present) then environment variables defined network (if present) or default LocalNet. */
|
|
58
|
+
kmd?: KmdClient;
|
|
59
|
+
/** The amount of funds to allocate to the default testing account, if not specified then it will get 10 ALGO. */
|
|
60
|
+
testAccountFunding?: AlgoAmount;
|
|
61
|
+
/** Optional override for how to get an account; this allows you to retrieve accounts from a known or cached list of accounts. */
|
|
62
|
+
accountGetter?: (algorand: AlgorandClient) => Promise<Address & AddressWithSigners>;
|
|
63
|
+
}
|
|
64
|
+
/** An Algorand automated testing fixture */
|
|
65
|
+
interface AlgorandFixture {
|
|
66
|
+
/**
|
|
67
|
+
* Retrieve the current context.
|
|
68
|
+
* Useful with destructuring.
|
|
69
|
+
*
|
|
70
|
+
* If you haven't called `newScope` then this will throw an error.
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* test('My test', () => {
|
|
74
|
+
* const {algod, indexer, testAccount, ...} = fixture.context
|
|
75
|
+
* })
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
get context(): AlgorandTestAutomationContext;
|
|
79
|
+
/**
|
|
80
|
+
* Retrieve an `AlgorandClient` loaded with the current context, including testAccount and any generated accounts loaded as signers.
|
|
81
|
+
*/
|
|
82
|
+
get algorand(): AlgorandClient;
|
|
83
|
+
/**
|
|
84
|
+
* @deprecated Use newScope instead.
|
|
85
|
+
* Testing framework agnostic handler method to run before each test to prepare the `context` for that test with per test isolation.
|
|
86
|
+
*/
|
|
87
|
+
beforeEach: () => Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Creates a new isolated fixture scope (clean transaction logger, AlgorandClient, testAccount, etc.).
|
|
90
|
+
*
|
|
91
|
+
* You can call this from any testing framework specific hook method to control when you want a new scope.
|
|
92
|
+
*
|
|
93
|
+
* @example Jest / vitest - per test isolation (beforeEach)
|
|
94
|
+
* ```typescript
|
|
95
|
+
* describe('MY MODULE', () => {
|
|
96
|
+
* const fixture = algorandFixture()
|
|
97
|
+
* beforeEach(fixture.newScope)
|
|
98
|
+
*
|
|
99
|
+
* test('MY TEST', async () => {
|
|
100
|
+
* const { algorand, testAccount } = fixture.context
|
|
101
|
+
*
|
|
102
|
+
* // Test stuff!
|
|
103
|
+
* })
|
|
104
|
+
* })
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @example Jest / vitest - test suite isolation (beforeAll)
|
|
108
|
+
* ```typescript
|
|
109
|
+
* describe('MY MODULE', () => {
|
|
110
|
+
* const fixture = algorandFixture()
|
|
111
|
+
* beforeAll(fixture.newScope)
|
|
112
|
+
*
|
|
113
|
+
* test('test1', async () => {
|
|
114
|
+
* const { algorand, testAccount } = fixture.context
|
|
115
|
+
*
|
|
116
|
+
* // Test stuff!
|
|
117
|
+
* })
|
|
118
|
+
* test('test2', async () => {
|
|
119
|
+
* const { algorand, testAccount } = fixture.context
|
|
120
|
+
* // algorand and testAccount are the same as in test1
|
|
121
|
+
* })
|
|
122
|
+
* })
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
*/
|
|
126
|
+
newScope: () => Promise<void>;
|
|
127
|
+
}
|
|
128
|
+
/** Configuration for preparing a captured log snapshot.
|
|
129
|
+
* This helps ensure that the provided configuration items won't appear
|
|
130
|
+
* with random values in the log snapshot, but rather will get substituted with predictable ids.
|
|
131
|
+
*/
|
|
132
|
+
interface LogSnapshotConfig {
|
|
133
|
+
/** Any transaction IDs or transactions to replace the ID for predictably */
|
|
134
|
+
transactions?: (string | Transaction)[];
|
|
135
|
+
/** Any accounts/addresses to replace the address for predictably */
|
|
136
|
+
accounts?: (string | Address | LogicSigAccount | MultisigAccount | AddressWithTransactionSigner)[];
|
|
137
|
+
/** Any app IDs to replace predictably */
|
|
138
|
+
apps?: (string | number | bigint)[];
|
|
139
|
+
/** Optional filter predicate to filter out logs */
|
|
140
|
+
filterPredicate?: (log: string) => boolean;
|
|
141
|
+
}
|
|
142
|
+
interface AlgoKitLogCaptureFixture {
|
|
143
|
+
/** The test logger instance for the current test */
|
|
144
|
+
get testLogger(): TestLogger;
|
|
145
|
+
/**
|
|
146
|
+
* Testing framework agnostic handler method to run before each test to prepare the `testLogger` for that test.
|
|
147
|
+
*/
|
|
148
|
+
beforeEach: () => void;
|
|
149
|
+
/**
|
|
150
|
+
* Testing framework agnostic handler method to run after each test to reset the logger.
|
|
151
|
+
*/
|
|
152
|
+
afterEach: () => void;
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
export { AlgoKitLogCaptureFixture, AlgorandFixture, AlgorandFixtureConfig, AlgorandTestAutomationContext, GetTestAccountParams, LogSnapshotConfig };
|
|
156
|
+
//# sourceMappingURL=types.d.ts.map
|
package/transact/index.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AssetConfigTransactionFields
|
|
3
|
-
import { AssetFreezeTransactionFields
|
|
4
|
-
import { AssetTransferTransactionFields
|
|
1
|
+
import { AppCallTransactionFields, BoxReference, HoldingReference, LocalsReference, OnApplicationComplete, ResourceReference, StateSchema } from "../packages/transact/src/transactions/app-call.js";
|
|
2
|
+
import { AssetConfigTransactionFields } from "../packages/transact/src/transactions/asset-config.js";
|
|
3
|
+
import { AssetFreezeTransactionFields } from "../packages/transact/src/transactions/asset-freeze.js";
|
|
4
|
+
import { AssetTransferTransactionFields } from "../packages/transact/src/transactions/asset-transfer.js";
|
|
5
5
|
import { HeartbeatProof, HeartbeatTransactionFields } from "../packages/transact/src/transactions/heartbeat.js";
|
|
6
|
-
import { KeyRegistrationTransactionFields
|
|
6
|
+
import { KeyRegistrationTransactionFields } from "../packages/transact/src/transactions/key-registration.js";
|
|
7
7
|
import { PaymentTransactionFields } from "../packages/transact/src/transactions/payment.js";
|
|
8
8
|
import { FalconSignatureStruct, FalconVerifier, HashFactory, MerkleArrayProof, MerkleSignatureVerifier, Participant, Reveal, SigslotCommit, StateProof, StateProofMessage, StateProofTransactionFields } from "../packages/transact/src/transactions/state-proof.js";
|
|
9
9
|
import { TransactionType } from "../packages/transact/src/transactions/transaction-type.js";
|
|
10
|
-
import { Transaction, TransactionParams, assignFee, calculateFee, decodeTransaction, decodeTransactions, encodeTransaction, encodeTransactionRaw, encodeTransactions, estimateTransactionSize, getEncodedTransactionType, groupTransactions, transactionCodec } from "../packages/transact/src/transactions/transaction.js";
|
|
11
|
-
import {
|
|
10
|
+
import { Transaction, TransactionParams, assignFee, calculateFee, decodeTransaction, decodeTransactions, encodeTransaction, encodeTransactionRaw, encodeTransactions, estimateTransactionSize, getEncodedTransactionType, groupTransactions, transactionCodec, validateTransaction } from "../packages/transact/src/transactions/transaction.js";
|
|
11
|
+
import { LogicSigSignature, MultisigSignature, MultisigSubsignature, SignedTransaction, decodeSignedTransaction, decodeSignedTransactions, encodeSignedTransaction, encodeSignedTransactions, validateSignedTransaction } from "../packages/transact/src/transactions/signed-transaction.js";
|
|
12
|
+
import { BoxReferenceMeta, HoldingReferenceMeta, LocalsReferenceMeta } from "../packages/transact/src/transactions/reference-types-meta.js";
|
|
12
13
|
import { SignedTransactionMeta } from "../packages/transact/src/transactions/signed-transaction-meta.js";
|
|
13
14
|
import { TransactionParamsMeta, transactionParamsCodec } from "../packages/transact/src/transactions/transaction-meta.js";
|
|
14
|
-
import {
|
|
15
|
-
import { DelegatedLsigSigner, LogicSigAccount, ProgramDataSigner
|
|
15
|
+
import { MultisigAccount, MultisigMetadata } from "../packages/transact/src/multisig.js";
|
|
16
|
+
import { DelegatedLsigSigner, LogicSig, LogicSigAccount, ProgramDataSigner } from "../packages/transact/src/logicsig.js";
|
|
16
17
|
import { AddressWithDelegatedLsigSigner, AddressWithMxBytesSigner, AddressWithProgramDataSigner, AddressWithSigners, AddressWithTransactionSigner, MxBytesSigner, SendingAddress, TransactionSigner, generateAddressWithSigners, makeEmptyTransactionSigner } from "../packages/transact/src/signer.js";
|
|
17
|
-
export {
|
|
18
|
+
export { AddressWithDelegatedLsigSigner, AddressWithMxBytesSigner, AddressWithProgramDataSigner, AddressWithSigners, AddressWithTransactionSigner, AppCallTransactionFields, AssetConfigTransactionFields, AssetFreezeTransactionFields, AssetTransferTransactionFields, BoxReference, BoxReferenceMeta, DelegatedLsigSigner, FalconSignatureStruct, FalconVerifier, HashFactory, HeartbeatProof, HeartbeatTransactionFields, HoldingReference, HoldingReferenceMeta, KeyRegistrationTransactionFields, LocalsReference, LocalsReferenceMeta, LogicSig, LogicSigAccount, LogicSigSignature, MerkleArrayProof, MerkleSignatureVerifier, MultisigAccount, MultisigMetadata, MultisigSignature, MultisigSubsignature, MxBytesSigner, OnApplicationComplete, Participant, PaymentTransactionFields, ProgramDataSigner, ResourceReference, Reveal, SendingAddress, SignedTransaction, SignedTransactionMeta, SigslotCommit, StateProof, StateProofMessage, StateProofTransactionFields, StateSchema, Transaction, TransactionParams, TransactionParamsMeta, TransactionSigner, TransactionType, assignFee, calculateFee, decodeSignedTransaction, decodeSignedTransactions, decodeTransaction, decodeTransactions, encodeSignedTransaction, encodeSignedTransactions, encodeTransaction, encodeTransactionRaw, encodeTransactions, estimateTransactionSize, generateAddressWithSigners, getEncodedTransactionType, groupTransactions, makeEmptyTransactionSigner, transactionCodec, transactionParamsCodec, validateSignedTransaction, validateTransaction };
|
package/transact/index.js
CHANGED
|
@@ -1,42 +1,27 @@
|
|
|
1
1
|
const require_app_call = require('../packages/transact/src/transactions/app-call.js');
|
|
2
|
-
const require_asset_config = require('../packages/transact/src/transactions/asset-config.js');
|
|
3
|
-
const require_asset_freeze = require('../packages/transact/src/transactions/asset-freeze.js');
|
|
4
|
-
const require_asset_transfer = require('../packages/transact/src/transactions/asset-transfer.js');
|
|
5
|
-
const require_key_registration = require('../packages/transact/src/transactions/key-registration.js');
|
|
6
2
|
const require_transaction_type = require('../packages/transact/src/transactions/transaction-type.js');
|
|
7
3
|
const require_transaction_meta = require('../packages/transact/src/transactions/transaction-meta.js');
|
|
8
4
|
const require_transaction = require('../packages/transact/src/transactions/transaction.js');
|
|
9
5
|
const require_signed_transaction_meta = require('../packages/transact/src/transactions/signed-transaction-meta.js');
|
|
10
6
|
const require_signed_transaction = require('../packages/transact/src/transactions/signed-transaction.js');
|
|
7
|
+
const require_reference_types_meta = require('../packages/transact/src/transactions/reference-types-meta.js');
|
|
11
8
|
const require_signer = require('../packages/transact/src/signer.js');
|
|
12
9
|
const require_multisig = require('../packages/transact/src/multisig.js');
|
|
13
10
|
const require_logicsig = require('../packages/transact/src/logicsig.js');
|
|
14
11
|
|
|
12
|
+
exports.BoxReferenceMeta = require_reference_types_meta.BoxReferenceMeta;
|
|
13
|
+
exports.HoldingReferenceMeta = require_reference_types_meta.HoldingReferenceMeta;
|
|
14
|
+
exports.LocalsReferenceMeta = require_reference_types_meta.LocalsReferenceMeta;
|
|
15
|
+
exports.LogicSig = require_logicsig.LogicSig;
|
|
15
16
|
exports.LogicSigAccount = require_logicsig.LogicSigAccount;
|
|
16
|
-
exports.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG = require_multisig.MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG;
|
|
17
|
-
exports.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG = require_multisig.MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG;
|
|
18
|
-
exports.MULTISIG_MERGE_MISMATCH_ERROR_MSG = require_multisig.MULTISIG_MERGE_MISMATCH_ERROR_MSG;
|
|
19
|
-
exports.MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG = require_multisig.MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG;
|
|
20
|
-
exports.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG = require_multisig.MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG;
|
|
21
|
-
exports.MULTISIG_NO_MUTATE_ERROR_MSG = require_multisig.MULTISIG_NO_MUTATE_ERROR_MSG;
|
|
22
|
-
exports.MULTISIG_SIGNATURE_LENGTH_ERROR_MSG = require_multisig.MULTISIG_SIGNATURE_LENGTH_ERROR_MSG;
|
|
23
|
-
exports.MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG = require_multisig.MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG;
|
|
24
17
|
exports.MultisigAccount = require_multisig.MultisigAccount;
|
|
25
18
|
exports.OnApplicationComplete = require_app_call.OnApplicationComplete;
|
|
26
19
|
exports.SignedTransactionMeta = require_signed_transaction_meta.SignedTransactionMeta;
|
|
27
20
|
exports.Transaction = require_transaction.Transaction;
|
|
28
21
|
exports.TransactionParamsMeta = require_transaction_meta.TransactionParamsMeta;
|
|
29
22
|
exports.TransactionType = require_transaction_type.TransactionType;
|
|
30
|
-
exports.addressFromMultisigPreImg = require_multisig.addressFromMultisigPreImg;
|
|
31
|
-
exports.addressFromMultisigPreImgAddrs = require_multisig.addressFromMultisigPreImgAddrs;
|
|
32
|
-
exports.addressFromMultisigSignature = require_multisig.addressFromMultisigSignature;
|
|
33
|
-
exports.appendSignRawMultisigSignature = require_multisig.appendSignRawMultisigSignature;
|
|
34
|
-
exports.applyMultisigSubsignature = require_multisig.applyMultisigSubsignature;
|
|
35
23
|
exports.assignFee = require_transaction.assignFee;
|
|
36
24
|
exports.calculateFee = require_transaction.calculateFee;
|
|
37
|
-
exports.createMultisigTransaction = require_multisig.createMultisigTransaction;
|
|
38
|
-
exports.decodeLogicSignature = require_logicsig.decodeLogicSignature;
|
|
39
|
-
exports.decodeMultiSignature = require_multisig.decodeMultiSignature;
|
|
40
25
|
exports.decodeSignedTransaction = require_signed_transaction.decodeSignedTransaction;
|
|
41
26
|
exports.decodeSignedTransactions = require_signed_transaction.decodeSignedTransactions;
|
|
42
27
|
exports.decodeTransaction = require_transaction.decodeTransaction;
|
|
@@ -51,16 +36,7 @@ exports.generateAddressWithSigners = require_signer.generateAddressWithSigners;
|
|
|
51
36
|
exports.getEncodedTransactionType = require_transaction.getEncodedTransactionType;
|
|
52
37
|
exports.groupTransactions = require_transaction.groupTransactions;
|
|
53
38
|
exports.makeEmptyTransactionSigner = require_signer.makeEmptyTransactionSigner;
|
|
54
|
-
exports.mergeMultisigTransactions = require_multisig.mergeMultisigTransactions;
|
|
55
|
-
exports.mergeMultisignatures = require_multisig.mergeMultisignatures;
|
|
56
|
-
exports.multisigAddress = require_multisig.multisigAddress;
|
|
57
|
-
exports.newMultisigSignature = require_multisig.newMultisigSignature;
|
|
58
|
-
exports.participantsFromMultisigSignature = require_multisig.participantsFromMultisigSignature;
|
|
59
|
-
exports.sanityCheckProgram = require_logicsig.sanityCheckProgram;
|
|
60
39
|
exports.transactionCodec = require_transaction.transactionCodec;
|
|
61
40
|
exports.transactionParamsCodec = require_transaction_meta.transactionParamsCodec;
|
|
62
|
-
exports.
|
|
63
|
-
exports.
|
|
64
|
-
exports.validateAssetFreezeTransaction = require_asset_freeze.validateAssetFreezeTransaction;
|
|
65
|
-
exports.validateAssetTransferTransaction = require_asset_transfer.validateAssetTransferTransaction;
|
|
66
|
-
exports.validateKeyRegistrationTransaction = require_key_registration.validateKeyRegistrationTransaction;
|
|
41
|
+
exports.validateSignedTransaction = require_signed_transaction.validateSignedTransaction;
|
|
42
|
+
exports.validateTransaction = require_transaction.validateTransaction;
|