@algorandfoundation/algokit-utils 10.0.0-alpha.2 → 10.0.0-alpha.20
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/algo25/index.d.ts +2 -0
- package/algo25/index.js +9 -0
- package/algo25/index.mjs +3 -0
- package/algod-client/index.d.ts +3 -7
- package/algod-client/index.js +2 -5
- package/algod-client/index.mjs +2 -2
- package/index.d.ts +1 -2
- package/index.js +0 -7
- package/index.mjs +1 -2
- 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/kmd-client/index.d.ts +1 -2
- package/kmd-client/index.js +0 -5
- package/kmd-client/index.mjs +1 -2
- package/package.json +1 -1
- 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 -1
- package/packages/abi/src/abi-type.js +4 -2
- package/packages/abi/src/abi-type.js.map +1 -1
- package/packages/abi/src/abi-type.mjs +4 -2
- 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/algo25/src/index.d.ts +40 -0
- package/packages/algo25/src/index.js +44 -0
- package/packages/algo25/src/index.js.map +1 -1
- package/packages/algo25/src/index.mjs +39 -1
- package/packages/algo25/src/index.mjs.map +1 -1
- package/packages/algod_client/src/apis/api-service.d.ts +44 -44
- package/packages/algod_client/src/apis/api-service.js +155 -155
- package/packages/algod_client/src/apis/api-service.js.map +1 -1
- package/packages/algod_client/src/apis/api-service.mjs +155 -155
- package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
- package/packages/algod_client/src/core/api-error.js +3 -1
- package/packages/algod_client/src/core/api-error.js.map +1 -1
- package/packages/algod_client/src/core/api-error.mjs +3 -1
- package/packages/algod_client/src/core/api-error.mjs.map +1 -1
- package/packages/algod_client/src/core/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/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.js +0 -14
- package/packages/common/src/address.js.map +1 -1
- package/packages/common/src/address.mjs +1 -14
- 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.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/msgpack.js +0 -1
- package/packages/common/src/msgpack.js.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.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/sdk/src/encoding/encoding.js +12 -2
- package/packages/sdk/src/encoding/encoding.js.map +1 -1
- package/packages/sdk/src/encoding/encoding.mjs +12 -1
- package/packages/sdk/src/encoding/encoding.mjs.map +1 -1
- package/packages/sdk/src/encoding/schema/map.js +0 -2
- package/packages/sdk/src/encoding/schema/map.js.map +1 -1
- package/packages/transact/src/logicsig.d.ts +3 -15
- package/packages/transact/src/logicsig.js +16 -36
- package/packages/transact/src/logicsig.js.map +1 -1
- package/packages/transact/src/logicsig.mjs +18 -36
- package/packages/transact/src/logicsig.mjs.map +1 -1
- package/packages/transact/src/multisig.d.ts +7 -115
- package/packages/transact/src/multisig.js +86 -136
- package/packages/transact/src/multisig.js.map +1 -1
- package/packages/transact/src/multisig.mjs +87 -117
- package/packages/transact/src/multisig.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 +2 -3
- package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
- package/packages/transact/src/transactions/signed-transaction-meta.mjs +3 -3
- package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
- package/packages/transact/src/transactions/signed-transaction.d.ts +7 -3
- 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/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 -1
- package/packages/transact/src/transactions/transaction.js +1 -1
- package/packages/transact/src/transactions/transaction.js.map +1 -1
- package/packages/transact/src/transactions/transaction.mjs +1 -1
- package/packages/transact/src/transactions/transaction.mjs.map +1 -1
- package/sdk/index.js +1 -1
- package/testing/account.js +2 -5
- package/testing/account.js.map +1 -1
- package/testing/account.mjs +2 -5
- package/testing/account.mjs.map +1 -1
- package/testing/fixtures/algorand-fixture.d.ts +3 -3
- package/testing/fixtures/algorand-fixture.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs.map +1 -1
- package/transact/index.d.ts +11 -10
- package/transact/index.js +7 -32
- package/transact/index.mjs +7 -10
- 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/transactions/app-call.d.ts +5 -4
- package/transactions/app-call.js +15 -15
- package/transactions/app-call.js.map +1 -1
- package/transactions/app-call.mjs +15 -15
- 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/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 +1 -1
- package/transactions/method-call.js +69 -77
- package/transactions/method-call.js.map +1 -1
- package/transactions/method-call.mjs +69 -77
- package/transactions/method-call.mjs.map +1 -1
- package/types/account-manager.d.ts +1 -1
- package/types/account-manager.js +3 -3
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +3 -3
- package/types/account-manager.mjs.map +1 -1
- package/types/algorand-client-transaction-creator.d.ts +57 -43
- package/types/algorand-client-transaction-creator.js +8 -0
- package/types/algorand-client-transaction-creator.js.map +1 -1
- package/types/algorand-client-transaction-creator.mjs +8 -0
- package/types/algorand-client-transaction-creator.mjs.map +1 -1
- package/types/algorand-client-transaction-sender.d.ts +62 -48
- package/types/algorand-client-transaction-sender.js +8 -1
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +8 -0
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/app-client.d.ts +110 -105
- package/types/app-client.js +0 -1
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +1 -1
- package/types/app-deployer.js +2 -2
- package/types/app-deployer.js.map +1 -1
- package/types/app-deployer.mjs +2 -2
- package/types/app-deployer.mjs.map +1 -1
- package/types/app-factory.d.ts +44 -41
- package/types/app-factory.js.map +1 -1
- package/types/app-factory.mjs.map +1 -1
- package/types/app-manager.d.ts +3 -1
- package/types/app-manager.js +16 -10
- package/types/app-manager.js.map +1 -1
- package/types/app-manager.mjs +16 -10
- package/types/app-manager.mjs.map +1 -1
- package/types/app-spec.js +12 -5
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +12 -5
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +1 -1
- package/types/app.js.map +1 -1
- package/types/app.mjs.map +1 -1
- package/types/asset-manager.js +1 -1
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +1 -1
- package/types/asset-manager.mjs.map +1 -1
- package/types/async-event-emitter.d.ts +3 -6
- package/types/async-event-emitter.js.map +1 -1
- package/types/async-event-emitter.mjs.map +1 -1
- package/types/client-manager.d.ts +1 -1
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +9 -1
- package/types/composer.js +35 -23
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +37 -24
- package/types/composer.mjs.map +1 -1
- package/types/debugging.d.ts +13 -9
- package/types/debugging.js.map +1 -1
- package/types/debugging.mjs.map +1 -1
- package/types/expand.d.ts +2 -9
- package/types/kmd-account-manager.d.ts +1 -0
- package/types/kmd-account-manager.js +21 -10
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +22 -11
- package/types/kmd-account-manager.mjs.map +1 -1
- package/types/lifecycle-events.d.ts +0 -1
- package/types/lifecycle-events.js.map +1 -1
- package/types/lifecycle-events.mjs.map +1 -1
- package/types/testing.d.ts +2 -2
- package/types/transaction.d.ts +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/transact/src/transactions/common.d.ts +0 -37
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReadableAddress } from "../packages/common/src/address.js";
|
|
2
2
|
import { ABIValue } from "../packages/abi/src/abi-value.js";
|
|
3
3
|
import { ABIMethod, ABIReturn } from "../packages/abi/src/abi-method.js";
|
|
4
|
-
import {
|
|
4
|
+
import { OnApplicationComplete, ResourceReference } from "../packages/transact/src/transactions/app-call.js";
|
|
5
5
|
import { Transaction } from "../packages/transact/src/transactions/transaction.js";
|
|
6
6
|
import { AddressWithTransactionSigner, SendingAddress, TransactionSigner } from "../packages/transact/src/signer.js";
|
|
7
7
|
import { PendingTransactionResponse } from "../packages/algod_client/src/models/pending-transaction-response.js";
|
|
@@ -236,7 +236,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
236
236
|
*/
|
|
237
237
|
assetFreeze: (params: CommonTransactionParams & {
|
|
238
238
|
assetId: bigint;
|
|
239
|
-
|
|
239
|
+
freezeTarget: ReadableAddress;
|
|
240
240
|
frozen: boolean;
|
|
241
241
|
} & SendParams) => Promise<SendSingleTransactionResult>;
|
|
242
242
|
/**
|
|
@@ -467,6 +467,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
467
467
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
468
468
|
* // already specified, but here for completeness
|
|
469
469
|
* maxFee: (3000).microAlgo(),
|
|
470
|
+
* rejectVersion: 1,
|
|
470
471
|
* // Signer only needed if you want to provide one,
|
|
471
472
|
* // generally you'd register it with AlgorandClient
|
|
472
473
|
* // against the sender and not need to pass it in
|
|
@@ -494,9 +495,10 @@ declare class AlgorandClientTransactionSender {
|
|
|
494
495
|
accountReferences?: ReadableAddress[] | undefined;
|
|
495
496
|
appReferences?: bigint[] | undefined;
|
|
496
497
|
assetReferences?: bigint[] | undefined;
|
|
497
|
-
boxReferences?: (
|
|
498
|
-
accessReferences?:
|
|
498
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
499
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
499
500
|
rejectVersion?: number | undefined;
|
|
501
|
+
appId?: 0 | undefined;
|
|
500
502
|
approvalProgram: string | Uint8Array;
|
|
501
503
|
clearStateProgram: string | Uint8Array;
|
|
502
504
|
schema?: {
|
|
@@ -540,6 +542,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
540
542
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
541
543
|
* // already specified, but here for completeness
|
|
542
544
|
* maxFee: (3000).microAlgo(),
|
|
545
|
+
* rejectVersion: 1,
|
|
543
546
|
* // Signer only needed if you want to provide one,
|
|
544
547
|
* // generally you'd register it with AlgorandClient
|
|
545
548
|
* // against the sender and not need to pass it in
|
|
@@ -568,8 +571,8 @@ declare class AlgorandClientTransactionSender {
|
|
|
568
571
|
accountReferences?: ReadableAddress[] | undefined;
|
|
569
572
|
appReferences?: bigint[] | undefined;
|
|
570
573
|
assetReferences?: bigint[] | undefined;
|
|
571
|
-
boxReferences?: (
|
|
572
|
-
accessReferences?:
|
|
574
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
575
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
573
576
|
rejectVersion?: number | undefined;
|
|
574
577
|
approvalProgram: string | Uint8Array;
|
|
575
578
|
clearStateProgram: string | Uint8Array;
|
|
@@ -605,6 +608,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
605
608
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
606
609
|
* // already specified, but here for completeness
|
|
607
610
|
* maxFee: (3000).microAlgo(),
|
|
611
|
+
* rejectVersion: 1,
|
|
608
612
|
* // Signer only needed if you want to provide one,
|
|
609
613
|
* // generally you'd register it with AlgorandClient
|
|
610
614
|
* // against the sender and not need to pass it in
|
|
@@ -622,8 +626,8 @@ declare class AlgorandClientTransactionSender {
|
|
|
622
626
|
accountReferences?: ReadableAddress[] | undefined;
|
|
623
627
|
appReferences?: bigint[] | undefined;
|
|
624
628
|
assetReferences?: bigint[] | undefined;
|
|
625
|
-
boxReferences?: (
|
|
626
|
-
accessReferences?:
|
|
629
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
630
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
627
631
|
rejectVersion?: number | undefined;
|
|
628
632
|
} & {
|
|
629
633
|
onComplete?: OnApplicationComplete.DeleteApplication | undefined;
|
|
@@ -659,6 +663,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
659
663
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
660
664
|
* // already specified, but here for completeness
|
|
661
665
|
* maxFee: (3000).microAlgo(),
|
|
666
|
+
* rejectVersion: 1,
|
|
662
667
|
* // Signer only needed if you want to provide one,
|
|
663
668
|
* // generally you'd register it with AlgorandClient
|
|
664
669
|
* // against the sender and not need to pass it in
|
|
@@ -676,8 +681,8 @@ declare class AlgorandClientTransactionSender {
|
|
|
676
681
|
accountReferences?: ReadableAddress[] | undefined;
|
|
677
682
|
appReferences?: bigint[] | undefined;
|
|
678
683
|
assetReferences?: bigint[] | undefined;
|
|
679
|
-
boxReferences?: (
|
|
680
|
-
accessReferences?:
|
|
684
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
685
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
681
686
|
rejectVersion?: number | undefined;
|
|
682
687
|
} & {
|
|
683
688
|
onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.ClearState | OnApplicationComplete.DeleteApplication | undefined;
|
|
@@ -735,6 +740,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
735
740
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
736
741
|
* // already specified, but here for completeness
|
|
737
742
|
* maxFee: (3000).microAlgo(),
|
|
743
|
+
* rejectVersion: 1,
|
|
738
744
|
* // Signer only needed if you want to provide one,
|
|
739
745
|
* // generally you'd register it with AlgorandClient
|
|
740
746
|
* // against the sender and not need to pass it in
|
|
@@ -757,24 +763,25 @@ declare class AlgorandClientTransactionSender {
|
|
|
757
763
|
validityWindow?: number | bigint | undefined;
|
|
758
764
|
firstValidRound?: bigint | undefined;
|
|
759
765
|
lastValidRound?: bigint | undefined;
|
|
766
|
+
appId?: 0 | undefined;
|
|
767
|
+
onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
|
|
768
|
+
accountReferences?: ReadableAddress[] | undefined;
|
|
769
|
+
appReferences?: bigint[] | undefined;
|
|
770
|
+
assetReferences?: bigint[] | undefined;
|
|
771
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
772
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
773
|
+
rejectVersion?: number | undefined;
|
|
774
|
+
approvalProgram: string | Uint8Array;
|
|
775
|
+
clearStateProgram: string | Uint8Array;
|
|
760
776
|
schema?: {
|
|
761
777
|
globalInts: number;
|
|
762
778
|
globalByteSlices: number;
|
|
763
779
|
localInts: number;
|
|
764
780
|
localByteSlices: number;
|
|
765
781
|
} | undefined;
|
|
766
|
-
approvalProgram: string | Uint8Array;
|
|
767
|
-
clearStateProgram: string | Uint8Array;
|
|
768
|
-
onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
|
|
769
|
-
accountReferences?: ReadableAddress[] | undefined;
|
|
770
|
-
appReferences?: bigint[] | undefined;
|
|
771
|
-
assetReferences?: bigint[] | undefined;
|
|
772
|
-
boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
|
|
773
|
-
accessReferences?: AccessReference[] | undefined;
|
|
774
|
-
rejectVersion?: number | undefined;
|
|
775
782
|
extraProgramPages?: number | undefined;
|
|
776
783
|
method: ABIMethod;
|
|
777
|
-
args?: (Transaction |
|
|
784
|
+
args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
|
|
778
785
|
signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
|
|
779
786
|
sender: SendingAddress;
|
|
780
787
|
rekeyTo?: ReadableAddress | undefined;
|
|
@@ -791,9 +798,10 @@ declare class AlgorandClientTransactionSender {
|
|
|
791
798
|
accountReferences?: ReadableAddress[] | undefined;
|
|
792
799
|
appReferences?: bigint[] | undefined;
|
|
793
800
|
assetReferences?: bigint[] | undefined;
|
|
794
|
-
boxReferences?: (
|
|
795
|
-
accessReferences?:
|
|
801
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
802
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
796
803
|
rejectVersion?: number | undefined;
|
|
804
|
+
appId?: 0 | undefined;
|
|
797
805
|
approvalProgram: string | Uint8Array;
|
|
798
806
|
clearStateProgram: string | Uint8Array;
|
|
799
807
|
schema?: {
|
|
@@ -821,8 +829,8 @@ declare class AlgorandClientTransactionSender {
|
|
|
821
829
|
accountReferences?: ReadableAddress[] | undefined;
|
|
822
830
|
appReferences?: bigint[] | undefined;
|
|
823
831
|
assetReferences?: bigint[] | undefined;
|
|
824
|
-
boxReferences?: (
|
|
825
|
-
accessReferences?:
|
|
832
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
833
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
826
834
|
rejectVersion?: number | undefined;
|
|
827
835
|
approvalProgram: string | Uint8Array;
|
|
828
836
|
clearStateProgram: string | Uint8Array;
|
|
@@ -873,6 +881,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
873
881
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
874
882
|
* // already specified, but here for completeness
|
|
875
883
|
* maxFee: (3000).microAlgo(),
|
|
884
|
+
* rejectVersion: 1,
|
|
876
885
|
* // Signer only needed if you want to provide one,
|
|
877
886
|
* // generally you'd register it with AlgorandClient
|
|
878
887
|
* // against the sender and not need to pass it in
|
|
@@ -895,18 +904,18 @@ declare class AlgorandClientTransactionSender {
|
|
|
895
904
|
validityWindow?: number | bigint | undefined;
|
|
896
905
|
firstValidRound?: bigint | undefined;
|
|
897
906
|
lastValidRound?: bigint | undefined;
|
|
898
|
-
approvalProgram: string | Uint8Array;
|
|
899
|
-
clearStateProgram: string | Uint8Array;
|
|
900
907
|
appId: bigint;
|
|
901
908
|
onComplete?: OnApplicationComplete.UpdateApplication | undefined;
|
|
902
909
|
accountReferences?: ReadableAddress[] | undefined;
|
|
903
910
|
appReferences?: bigint[] | undefined;
|
|
904
911
|
assetReferences?: bigint[] | undefined;
|
|
905
|
-
boxReferences?: (
|
|
906
|
-
accessReferences?:
|
|
912
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
913
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
907
914
|
rejectVersion?: number | undefined;
|
|
915
|
+
approvalProgram: string | Uint8Array;
|
|
916
|
+
clearStateProgram: string | Uint8Array;
|
|
908
917
|
method: ABIMethod;
|
|
909
|
-
args?: (Transaction |
|
|
918
|
+
args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
|
|
910
919
|
signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
|
|
911
920
|
sender: SendingAddress;
|
|
912
921
|
rekeyTo?: ReadableAddress | undefined;
|
|
@@ -923,9 +932,10 @@ declare class AlgorandClientTransactionSender {
|
|
|
923
932
|
accountReferences?: ReadableAddress[] | undefined;
|
|
924
933
|
appReferences?: bigint[] | undefined;
|
|
925
934
|
assetReferences?: bigint[] | undefined;
|
|
926
|
-
boxReferences?: (
|
|
927
|
-
accessReferences?:
|
|
935
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
936
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
928
937
|
rejectVersion?: number | undefined;
|
|
938
|
+
appId?: 0 | undefined;
|
|
929
939
|
approvalProgram: string | Uint8Array;
|
|
930
940
|
clearStateProgram: string | Uint8Array;
|
|
931
941
|
schema?: {
|
|
@@ -953,8 +963,8 @@ declare class AlgorandClientTransactionSender {
|
|
|
953
963
|
accountReferences?: ReadableAddress[] | undefined;
|
|
954
964
|
appReferences?: bigint[] | undefined;
|
|
955
965
|
assetReferences?: bigint[] | undefined;
|
|
956
|
-
boxReferences?: (
|
|
957
|
-
accessReferences?:
|
|
966
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
967
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
958
968
|
rejectVersion?: number | undefined;
|
|
959
969
|
approvalProgram: string | Uint8Array;
|
|
960
970
|
clearStateProgram: string | Uint8Array;
|
|
@@ -1003,6 +1013,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
1003
1013
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
1004
1014
|
* // already specified, but here for completeness
|
|
1005
1015
|
* maxFee: (3000).microAlgo(),
|
|
1016
|
+
* rejectVersion: 1,
|
|
1006
1017
|
* // Signer only needed if you want to provide one,
|
|
1007
1018
|
* // generally you'd register it with AlgorandClient
|
|
1008
1019
|
* // against the sender and not need to pass it in
|
|
@@ -1030,11 +1041,11 @@ declare class AlgorandClientTransactionSender {
|
|
|
1030
1041
|
accountReferences?: ReadableAddress[] | undefined;
|
|
1031
1042
|
appReferences?: bigint[] | undefined;
|
|
1032
1043
|
assetReferences?: bigint[] | undefined;
|
|
1033
|
-
boxReferences?: (
|
|
1034
|
-
accessReferences?:
|
|
1044
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
1045
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
1035
1046
|
rejectVersion?: number | undefined;
|
|
1036
1047
|
method: ABIMethod;
|
|
1037
|
-
args?: (Transaction |
|
|
1048
|
+
args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
|
|
1038
1049
|
signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
|
|
1039
1050
|
sender: SendingAddress;
|
|
1040
1051
|
rekeyTo?: ReadableAddress | undefined;
|
|
@@ -1051,9 +1062,10 @@ declare class AlgorandClientTransactionSender {
|
|
|
1051
1062
|
accountReferences?: ReadableAddress[] | undefined;
|
|
1052
1063
|
appReferences?: bigint[] | undefined;
|
|
1053
1064
|
assetReferences?: bigint[] | undefined;
|
|
1054
|
-
boxReferences?: (
|
|
1055
|
-
accessReferences?:
|
|
1065
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
1066
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
1056
1067
|
rejectVersion?: number | undefined;
|
|
1068
|
+
appId?: 0 | undefined;
|
|
1057
1069
|
approvalProgram: string | Uint8Array;
|
|
1058
1070
|
clearStateProgram: string | Uint8Array;
|
|
1059
1071
|
schema?: {
|
|
@@ -1081,8 +1093,8 @@ declare class AlgorandClientTransactionSender {
|
|
|
1081
1093
|
accountReferences?: ReadableAddress[] | undefined;
|
|
1082
1094
|
appReferences?: bigint[] | undefined;
|
|
1083
1095
|
assetReferences?: bigint[] | undefined;
|
|
1084
|
-
boxReferences?: (
|
|
1085
|
-
accessReferences?:
|
|
1096
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
1097
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
1086
1098
|
rejectVersion?: number | undefined;
|
|
1087
1099
|
approvalProgram: string | Uint8Array;
|
|
1088
1100
|
clearStateProgram: string | Uint8Array;
|
|
@@ -1131,6 +1143,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
1131
1143
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
1132
1144
|
* // already specified, but here for completeness
|
|
1133
1145
|
* maxFee: (3000).microAlgo(),
|
|
1146
|
+
* rejectVersion: 1,
|
|
1134
1147
|
* // Signer only needed if you want to provide one,
|
|
1135
1148
|
* // generally you'd register it with AlgorandClient
|
|
1136
1149
|
* // against the sender and not need to pass it in
|
|
@@ -1158,11 +1171,11 @@ declare class AlgorandClientTransactionSender {
|
|
|
1158
1171
|
accountReferences?: ReadableAddress[] | undefined;
|
|
1159
1172
|
appReferences?: bigint[] | undefined;
|
|
1160
1173
|
assetReferences?: bigint[] | undefined;
|
|
1161
|
-
boxReferences?: (
|
|
1162
|
-
accessReferences?:
|
|
1174
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
1175
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
1163
1176
|
rejectVersion?: number | undefined;
|
|
1164
1177
|
method: ABIMethod;
|
|
1165
|
-
args?: (Transaction |
|
|
1178
|
+
args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
|
|
1166
1179
|
signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
|
|
1167
1180
|
sender: SendingAddress;
|
|
1168
1181
|
rekeyTo?: ReadableAddress | undefined;
|
|
@@ -1179,9 +1192,10 @@ declare class AlgorandClientTransactionSender {
|
|
|
1179
1192
|
accountReferences?: ReadableAddress[] | undefined;
|
|
1180
1193
|
appReferences?: bigint[] | undefined;
|
|
1181
1194
|
assetReferences?: bigint[] | undefined;
|
|
1182
|
-
boxReferences?: (
|
|
1183
|
-
accessReferences?:
|
|
1195
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
1196
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
1184
1197
|
rejectVersion?: number | undefined;
|
|
1198
|
+
appId?: 0 | undefined;
|
|
1185
1199
|
approvalProgram: string | Uint8Array;
|
|
1186
1200
|
clearStateProgram: string | Uint8Array;
|
|
1187
1201
|
schema?: {
|
|
@@ -1209,8 +1223,8 @@ declare class AlgorandClientTransactionSender {
|
|
|
1209
1223
|
accountReferences?: ReadableAddress[] | undefined;
|
|
1210
1224
|
appReferences?: bigint[] | undefined;
|
|
1211
1225
|
assetReferences?: bigint[] | undefined;
|
|
1212
|
-
boxReferences?: (
|
|
1213
|
-
accessReferences?:
|
|
1226
|
+
boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
|
|
1227
|
+
accessReferences?: ResourceReference[] | undefined;
|
|
1214
1228
|
rejectVersion?: number | undefined;
|
|
1215
1229
|
approvalProgram: string | Uint8Array;
|
|
1216
1230
|
clearStateProgram: string | Uint8Array;
|
|
@@ -1263,7 +1277,7 @@ declare class AlgorandClientTransactionSender {
|
|
|
1263
1277
|
voteFirst: bigint;
|
|
1264
1278
|
voteLast: bigint;
|
|
1265
1279
|
voteKeyDilution: bigint;
|
|
1266
|
-
stateProofKey
|
|
1280
|
+
stateProofKey: Uint8Array;
|
|
1267
1281
|
} & SendParams) => Promise<SendSingleTransactionResult>;
|
|
1268
1282
|
/**
|
|
1269
1283
|
* Register an offline key.
|
|
@@ -4,7 +4,6 @@ const require_config = require('../config.js');
|
|
|
4
4
|
const require_util = require('../util.js');
|
|
5
5
|
const require_app_manager = require('./app-manager.js');
|
|
6
6
|
let buffer = require("buffer");
|
|
7
|
-
buffer = require_rolldown_runtime.__toESM(buffer);
|
|
8
7
|
|
|
9
8
|
//#region src/types/algorand-client-transaction-sender.ts
|
|
10
9
|
const getMethodCallForLog = ({ method, args }) => {
|
|
@@ -480,6 +479,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
480
479
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
481
480
|
* // already specified, but here for completeness
|
|
482
481
|
* maxFee: (3000).microAlgo(),
|
|
482
|
+
* rejectVersion: 1,
|
|
483
483
|
* // Signer only needed if you want to provide one,
|
|
484
484
|
* // generally you'd register it with AlgorandClient
|
|
485
485
|
* // against the sender and not need to pass it in
|
|
@@ -524,6 +524,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
524
524
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
525
525
|
* // already specified, but here for completeness
|
|
526
526
|
* maxFee: (3000).microAlgo(),
|
|
527
|
+
* rejectVersion: 1,
|
|
527
528
|
* // Signer only needed if you want to provide one,
|
|
528
529
|
* // generally you'd register it with AlgorandClient
|
|
529
530
|
* // against the sender and not need to pass it in
|
|
@@ -566,6 +567,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
566
567
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
567
568
|
* // already specified, but here for completeness
|
|
568
569
|
* maxFee: (3000).microAlgo(),
|
|
570
|
+
* rejectVersion: 1,
|
|
569
571
|
* // Signer only needed if you want to provide one,
|
|
570
572
|
* // generally you'd register it with AlgorandClient
|
|
571
573
|
* // against the sender and not need to pass it in
|
|
@@ -608,6 +610,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
608
610
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
609
611
|
* // already specified, but here for completeness
|
|
610
612
|
* maxFee: (3000).microAlgo(),
|
|
613
|
+
* rejectVersion: 1,
|
|
611
614
|
* // Signer only needed if you want to provide one,
|
|
612
615
|
* // generally you'd register it with AlgorandClient
|
|
613
616
|
* // against the sender and not need to pass it in
|
|
@@ -672,6 +675,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
672
675
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
673
676
|
* // already specified, but here for completeness
|
|
674
677
|
* maxFee: (3000).microAlgo(),
|
|
678
|
+
* rejectVersion: 1,
|
|
675
679
|
* // Signer only needed if you want to provide one,
|
|
676
680
|
* // generally you'd register it with AlgorandClient
|
|
677
681
|
* // against the sender and not need to pass it in
|
|
@@ -728,6 +732,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
728
732
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
729
733
|
* // already specified, but here for completeness
|
|
730
734
|
* maxFee: (3000).microAlgo(),
|
|
735
|
+
* rejectVersion: 1,
|
|
731
736
|
* // Signer only needed if you want to provide one,
|
|
732
737
|
* // generally you'd register it with AlgorandClient
|
|
733
738
|
* // against the sender and not need to pass it in
|
|
@@ -782,6 +787,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
782
787
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
783
788
|
* // already specified, but here for completeness
|
|
784
789
|
* maxFee: (3000).microAlgo(),
|
|
790
|
+
* rejectVersion: 1,
|
|
785
791
|
* // Signer only needed if you want to provide one,
|
|
786
792
|
* // generally you'd register it with AlgorandClient
|
|
787
793
|
* // against the sender and not need to pass it in
|
|
@@ -836,6 +842,7 @@ var AlgorandClientTransactionSender = class {
|
|
|
836
842
|
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
837
843
|
* // already specified, but here for completeness
|
|
838
844
|
* maxFee: (3000).microAlgo(),
|
|
845
|
+
* rejectVersion: 1,
|
|
839
846
|
* // Signer only needed if you want to provide one,
|
|
840
847
|
* // generally you'd register it with AlgorandClient
|
|
841
848
|
* // against the sender and not need to pass it in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algorand-client-transaction-sender.js","names":["asJson","defaultJsonValueReplacer","Buffer","AppManager","getApplicationAddress","params","result","getAddress"],"sources":["../../src/types/algorand-client-transaction-sender.ts"],"sourcesContent":["import { ABIMethod } from '@algorandfoundation/algokit-abi'\nimport { ReadableAddress, getAddress, getApplicationAddress } from '@algorandfoundation/algokit-common'\nimport { Transaction } from '@algorandfoundation/algokit-transact'\nimport { Buffer } from 'buffer'\nimport { Config } from '../config'\nimport { asJson, defaultJsonValueReplacer } from '../util'\nimport { SendAppCreateTransactionResult, SendAppTransactionResult, SendAppUpdateTransactionResult } from './app'\nimport { AppManager } from './app-manager'\nimport { AssetManager } from './asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n AssetCreateParams,\n AssetOptOutParams,\n TransactionComposer,\n TransactionComposerConfig,\n} from './composer'\nimport { SendParams, SendSingleTransactionResult } from './transaction'\n\nconst getMethodCallForLog = ({ method, args }: { method: ABIMethod; args?: unknown[] }) => {\n return `${method.name}(${(args ?? []).map((a) =>\n typeof a === 'object'\n ? asJson(a, (k, v) => {\n const newV = defaultJsonValueReplacer(k, v)\n return newV instanceof Uint8Array ? Buffer.from(newV).toString('base64') : newV\n })\n : a,\n )})`\n}\n\n/** Orchestrates sending transactions for `AlgorandClient`. */\nexport class AlgorandClientTransactionSender {\n private _newGroup: () => TransactionComposer\n private _assetManager: AssetManager\n private _appManager: AppManager\n\n /**\n * Creates a new `AlgorandClientSender`\n * @param newGroup A lambda that starts a new `TransactionComposer` transaction group\n * @param assetManager An `AssetManager` instance\n * @param appManager An `AppManager` instance\n * @example\n * ```typescript\n * const transactionSender = new AlgorandClientTransactionSender(() => new TransactionComposer(), assetManager, appManager)\n * ```\n */\n constructor(newGroup: (config?: TransactionComposerConfig) => TransactionComposer, assetManager: AssetManager, appManager: AppManager) {\n this._newGroup = newGroup\n this._assetManager = assetManager\n this._appManager = appManager\n }\n\n /**\n * Start a new `TransactionComposer` transaction group\n * @returns A new instance of `TransactionComposer`.\n * @example\n * const composer = AlgorandClient.mainNet().send.newGroup();\n * const result = await composer.addTransaction(payment).send()\n */\n newGroup() {\n return this._newGroup()\n }\n\n private _send<T>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendSingleTransactionResult> {\n return async (params) => {\n const composer = this._newGroup()\n\n // Ensure `this` is properly populated\n c(composer).apply(composer, [params])\n\n if (log?.preLog) {\n const transaction = (await composer.build()).transactions.at(-1)!.txn\n Config.getLogger(params?.suppressLog).debug(log.preLog(params, transaction))\n }\n\n const rawResult = await composer.send(params)\n const result = {\n // Last item covers when a group is created by an app call with ABI transaction parameters\n transaction: rawResult.transactions.at(-1)!,\n confirmation: rawResult.confirmations.at(-1)!,\n txId: rawResult.txIds.at(-1)!,\n ...rawResult,\n }\n\n if (log?.postLog) {\n Config.getLogger(params?.suppressLog).debug(log.postLog(params, result))\n }\n\n return result\n }\n }\n\n private _sendAppCall<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppCallParams\n | AppDeleteParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppCallMethodCall\n | AppDeleteMethodCall,\n >(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppTransactionResult> {\n return async (params) => {\n const result = await this._send(c, log)(params)\n\n return { ...result, return: AppManager.getABIReturn(result.confirmation, 'method' in params ? params.method : undefined) }\n }\n }\n\n private _sendAppUpdateCall<T extends AppCreateParams | AppUpdateParams | AppCreateMethodCall | AppUpdateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppUpdateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppCall(c, log)(params)\n\n const compiledApproval =\n typeof params.approvalProgram === 'string' ? this._appManager.getCompilationResult(params.approvalProgram) : undefined\n const compiledClear =\n typeof params.clearStateProgram === 'string' ? this._appManager.getCompilationResult(params.clearStateProgram) : undefined\n\n return { ...result, compiledApproval, compiledClear }\n }\n }\n\n private _sendAppCreateCall<T extends AppCreateParams | AppCreateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppCreateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppUpdateCall(c, log)(params)\n\n return {\n ...result,\n appId: BigInt(result.confirmation.appId!),\n appAddress: getApplicationAddress(result.confirmation.appId!),\n }\n }\n }\n\n /**\n * Send a payment transaction to transfer Algo between accounts.\n * @param params The parameters for the payment transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.payment({\n * sender: 'SENDERADDRESS',\n * receiver: 'RECEIVERADDRESS',\n * amount: (4).algo(),\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.payment({\n * amount: (4).algo(),\n * receiver: 'RECEIVERADDRESS',\n * sender: 'SENDERADDRESS',\n * closeRemainderTo: 'CLOSEREMAINDERTOADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the payment transaction and the transaction that was sent\n */\n payment = this._send((c) => c.addPayment, {\n preLog: (params, transaction) =>\n `Sending ${params.amount.microAlgo} µALGO from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Create a new Algorand Standard Asset.\n *\n * The account that sends this transaction will automatically be\n * opted in to the asset and will hold all units after creation.\n *\n * @param params The parameters for the asset creation transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetCreate({ sender: \"CREATORADDRESS\", total: 100n})\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetCreate({\n * sender: 'CREATORADDRESS',\n * total: 100n,\n * decimals: 2,\n * assetName: 'asset',\n * unitName: 'unit',\n * url: 'url',\n * metadataHash: 'metadataHash',\n * defaultFrozen: false,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset create transaction and the transaction that was sent\n */\n assetCreate = async (params: AssetCreateParams & SendParams) => {\n const result = await this._send((c) => c.addAssetCreate, {\n postLog: (params, result) =>\n `Created asset${params.assetName ? ` ${params.assetName}` : ''}${params.unitName ? ` (${params.unitName})` : ''} with ${params.total} units and ${params.decimals ?? 0} decimals created by ${params.sender} with ID ${result.confirmation.assetId} via transaction ${result.txIds.at(-1)}`,\n })(params)\n return { ...result, assetId: BigInt(result.confirmation.assetId ?? 0) }\n }\n /**\n * Configure an existing Algorand Standard Asset.\n *\n * **Note:** The manager, reserve, freeze, and clawback addresses\n * are immutably empty if they are not set. If manager is not set then\n * all fields are immutable from that point forward.\n *\n * @param params The parameters for the asset config transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetConfig({ sender: \"MANAGERADDRESS\", assetId: 123456n, manager: \"MANAGERADDRESS\" })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetConfig({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset config transaction and the transaction that was sent\n */\n assetConfig = this._send((c) => c.addAssetConfig, {\n preLog: (params, transaction) => `Configuring asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Freeze or unfreeze an Algorand Standard Asset for an account.\n *\n * @param params The parameters for the asset freeze transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetFreeze({ sender: \"MANAGERADDRESS\", assetId: 123456n, account: \"ACCOUNTADDRESS\", frozen: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetFreeze({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * account: 'ACCOUNTADDRESS',\n * frozen: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset freeze transaction and the transaction that was sent\n */\n assetFreeze = this._send((c) => c.addAssetFreeze, {\n preLog: (params, transaction) => `Freezing asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Destroys an Algorand Standard Asset.\n *\n * Created assets can be destroyed only by the asset manager account.\n * All of the assets must be owned by the creator of the asset before\n * the asset can be deleted.\n *\n * @param params The parameters for the asset destroy transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetDestroy({ sender: \"MANAGERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetDestroy({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset destroy transaction and the transaction that was sent\n */\n assetDestroy = this._send((c) => c.addAssetDestroy, {\n preLog: (params, transaction) => `Destroying asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Transfer an Algorand Standard Asset.\n *\n * @param params The parameters for the asset transfer transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetTransfer({ sender: \"HOLDERADDRESS\", assetId: 123456n, amount: 1n, receiver: \"RECEIVERADDRESS\" })\n * ```\n * @example Advanced example (with clawback)\n * ```typescript\n * await algorand.send.assetTransfer({\n * sender: 'CLAWBACKADDRESS',\n * assetId: 123456n,\n * amount: 1n,\n * receiver: 'RECEIVERADDRESS',\n * clawbackTarget: 'HOLDERADDRESS',\n * // This field needs to be used with caution\n * closeAssetTo: 'ADDRESSTOCLOSETO'\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset transfer transaction and the transaction that was sent\n */\n assetTransfer = this._send((c) => c.addAssetTransfer, {\n preLog: (params, transaction) =>\n `Transferring ${params.amount} units of asset with ID ${params.assetId} from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account into an Algorand Standard Asset.\n *\n * @param params The parameters for the asset opt-in transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetOptIn({ sender: \"SENDERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptIn({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-in transaction and the transaction that was sent\n */\n assetOptIn = this._send((c) => c.addAssetOptIn, {\n preLog: (params, transaction) => `Opting in ${params.sender} to asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account out of an Algorand Standard Asset.\n *\n * *Note:* If the account has a balance of the asset,\n * it will not be able to opt-out unless `ensureZeroBalance`\n * is set to `false` (but then the account will lose the assets).\n *\n * @param params The parameters for the asset opt-out transaction\n *\n * @example Basic example (without creator, will be retrieved from algod)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Basic example (with creator)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", creator: \"CREATORADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptOut({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * creator: 'CREATORADDRESS',\n * ensureZeroBalance: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-out transaction and the transaction that was sent\n */\n assetOptOut = async (\n params: Omit<AssetOptOutParams, 'creator'> & {\n /** Optional asset creator account address; if not specified it will be retrieved from algod */\n creator?: ReadableAddress\n /** Whether or not to check if the account has a zero balance first or not.\n *\n * If this is set to `true` and the account has an asset balance it will throw an error.\n *\n * If this is set to `false` and the account has an asset balance it will lose those assets to the asset creator.\n */\n ensureZeroBalance: boolean\n } & SendParams,\n ) => {\n if (params.ensureZeroBalance) {\n let balance = 0n\n try {\n const accountAssetInfo = await this._assetManager.getAccountInformation(getAddress(params.sender), params.assetId)\n balance = accountAssetInfo.balance\n } catch {\n throw new Error(`Account ${params.sender} is not opted-in to Asset ${params.assetId}; can't opt-out.`)\n }\n if (balance !== 0n) {\n throw new Error(`Account ${params.sender} does not have a zero balance for Asset ${params.assetId}; can't opt-out.`)\n }\n }\n\n params.creator = params.creator ?? (await this._assetManager.getById(params.assetId)).creator\n\n return await this._send((c) => c.addAssetOptOut, {\n preLog: (params, transaction) =>\n `Opting ${params.sender} out of asset with ID ${params.assetId} to creator ${params.creator} via transaction ${transaction.txId()}`,\n })(params as AssetOptOutParams & SendParams)\n }\n /**\n * Create a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.appCreate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCreate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app create transaction and the transaction that was sent\n */\n appCreate = this._sendAppCreateCall((c) => c.addAppCreate, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appUpdate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appUpdate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app update transaction and the transaction that was sent\n */\n appUpdate = this._sendAppUpdateCall((c) => c.addAppUpdate, {\n postLog: (params, result) =>\n `App ${params.appId} updated ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appDelete({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appDelete({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app delete transaction and the transaction that was sent\n */\n appDelete = this._sendAppCall((c) => c.addAppDelete, {\n postLog: (params, result) =>\n `App ${params.appId} deleted ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appCall({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCall({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app call transaction and the transaction that was sent\n */\n appCall = this._sendAppCall((c) => c.addAppCall, {\n postLog: (params, result) =>\n `App ${params.appId} called ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Create a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * const result = await algorand.send.appCreateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCreateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method create transaction and the transaction that was sent\n */\n appCreateMethodCall = this._sendAppCreateCall((c) => c.addAppCreateMethodCall, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method update transaction and the transaction that was sent\n */\n appUpdateMethodCall = this._sendAppUpdateCall((c) => c.addAppUpdateMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} updated with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method delete transaction and the transaction that was sent\n */\n appDeleteMethodCall = this._sendAppCall((c) => c.addAppDeleteMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} deleted with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method call transaction and the transaction that was sent\n */\n appCallMethodCall = this._sendAppCall((c) => c.addAppCallMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} called with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Register an online key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the online key registration transaction and the transaction that was sent\n */\n onlineKeyRegistration = this._send((c) => c.addOnlineKeyRegistration, {\n preLog: (params, transaction) => `Registering online key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n\n /**\n * Register an offline key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the offline key registration transaction and the transaction that was sent\n */\n offlineKeyRegistration = this._send((c) => c.addOfflineKeyRegistration, {\n preLog: (params, transaction) => `Registering offline key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"algorand-client-transaction-sender.js","names":["asJson","defaultJsonValueReplacer","Buffer","AppManager","getApplicationAddress","params","result","getAddress"],"sources":["../../src/types/algorand-client-transaction-sender.ts"],"sourcesContent":["import { ABIMethod } from '@algorandfoundation/algokit-abi'\nimport { ReadableAddress, getAddress, getApplicationAddress } from '@algorandfoundation/algokit-common'\nimport { Transaction } from '@algorandfoundation/algokit-transact'\nimport { Buffer } from 'buffer'\nimport { Config } from '../config'\nimport { asJson, defaultJsonValueReplacer } from '../util'\nimport { SendAppCreateTransactionResult, SendAppTransactionResult, SendAppUpdateTransactionResult } from './app'\nimport { AppManager } from './app-manager'\nimport { AssetManager } from './asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n AssetCreateParams,\n AssetOptOutParams,\n TransactionComposer,\n TransactionComposerConfig,\n} from './composer'\nimport { SendParams, SendSingleTransactionResult } from './transaction'\n\nconst getMethodCallForLog = ({ method, args }: { method: ABIMethod; args?: unknown[] }) => {\n return `${method.name}(${(args ?? []).map((a) =>\n typeof a === 'object'\n ? asJson(a, (k, v) => {\n const newV = defaultJsonValueReplacer(k, v)\n return newV instanceof Uint8Array ? Buffer.from(newV).toString('base64') : newV\n })\n : a,\n )})`\n}\n\n/** Orchestrates sending transactions for `AlgorandClient`. */\nexport class AlgorandClientTransactionSender {\n private _newGroup: () => TransactionComposer\n private _assetManager: AssetManager\n private _appManager: AppManager\n\n /**\n * Creates a new `AlgorandClientSender`\n * @param newGroup A lambda that starts a new `TransactionComposer` transaction group\n * @param assetManager An `AssetManager` instance\n * @param appManager An `AppManager` instance\n * @example\n * ```typescript\n * const transactionSender = new AlgorandClientTransactionSender(() => new TransactionComposer(), assetManager, appManager)\n * ```\n */\n constructor(newGroup: (config?: TransactionComposerConfig) => TransactionComposer, assetManager: AssetManager, appManager: AppManager) {\n this._newGroup = newGroup\n this._assetManager = assetManager\n this._appManager = appManager\n }\n\n /**\n * Start a new `TransactionComposer` transaction group\n * @returns A new instance of `TransactionComposer`.\n * @example\n * const composer = AlgorandClient.mainNet().send.newGroup();\n * const result = await composer.addTransaction(payment).send()\n */\n newGroup() {\n return this._newGroup()\n }\n\n private _send<T>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendSingleTransactionResult> {\n return async (params) => {\n const composer = this._newGroup()\n\n // Ensure `this` is properly populated\n c(composer).apply(composer, [params])\n\n if (log?.preLog) {\n const transaction = (await composer.build()).transactions.at(-1)!.txn\n Config.getLogger(params?.suppressLog).debug(log.preLog(params, transaction))\n }\n\n const rawResult = await composer.send(params)\n const result = {\n // Last item covers when a group is created by an app call with ABI transaction parameters\n transaction: rawResult.transactions.at(-1)!,\n confirmation: rawResult.confirmations.at(-1)!,\n txId: rawResult.txIds.at(-1)!,\n ...rawResult,\n }\n\n if (log?.postLog) {\n Config.getLogger(params?.suppressLog).debug(log.postLog(params, result))\n }\n\n return result\n }\n }\n\n private _sendAppCall<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppCallParams\n | AppDeleteParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppCallMethodCall\n | AppDeleteMethodCall,\n >(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppTransactionResult> {\n return async (params) => {\n const result = await this._send(c, log)(params)\n\n return { ...result, return: AppManager.getABIReturn(result.confirmation, 'method' in params ? params.method : undefined) }\n }\n }\n\n private _sendAppUpdateCall<T extends AppCreateParams | AppUpdateParams | AppCreateMethodCall | AppUpdateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppUpdateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppCall(c, log)(params)\n\n const compiledApproval =\n typeof params.approvalProgram === 'string' ? this._appManager.getCompilationResult(params.approvalProgram) : undefined\n const compiledClear =\n typeof params.clearStateProgram === 'string' ? this._appManager.getCompilationResult(params.clearStateProgram) : undefined\n\n return { ...result, compiledApproval, compiledClear }\n }\n }\n\n private _sendAppCreateCall<T extends AppCreateParams | AppCreateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppCreateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppUpdateCall(c, log)(params)\n\n return {\n ...result,\n appId: BigInt(result.confirmation.appId!),\n appAddress: getApplicationAddress(result.confirmation.appId!),\n }\n }\n }\n\n /**\n * Send a payment transaction to transfer Algo between accounts.\n * @param params The parameters for the payment transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.payment({\n * sender: 'SENDERADDRESS',\n * receiver: 'RECEIVERADDRESS',\n * amount: (4).algo(),\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.payment({\n * amount: (4).algo(),\n * receiver: 'RECEIVERADDRESS',\n * sender: 'SENDERADDRESS',\n * closeRemainderTo: 'CLOSEREMAINDERTOADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the payment transaction and the transaction that was sent\n */\n payment = this._send((c) => c.addPayment, {\n preLog: (params, transaction) =>\n `Sending ${params.amount.microAlgo} µALGO from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Create a new Algorand Standard Asset.\n *\n * The account that sends this transaction will automatically be\n * opted in to the asset and will hold all units after creation.\n *\n * @param params The parameters for the asset creation transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetCreate({ sender: \"CREATORADDRESS\", total: 100n})\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetCreate({\n * sender: 'CREATORADDRESS',\n * total: 100n,\n * decimals: 2,\n * assetName: 'asset',\n * unitName: 'unit',\n * url: 'url',\n * metadataHash: 'metadataHash',\n * defaultFrozen: false,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset create transaction and the transaction that was sent\n */\n assetCreate = async (params: AssetCreateParams & SendParams) => {\n const result = await this._send((c) => c.addAssetCreate, {\n postLog: (params, result) =>\n `Created asset${params.assetName ? ` ${params.assetName}` : ''}${params.unitName ? ` (${params.unitName})` : ''} with ${params.total} units and ${params.decimals ?? 0} decimals created by ${params.sender} with ID ${result.confirmation.assetId} via transaction ${result.txIds.at(-1)}`,\n })(params)\n return { ...result, assetId: BigInt(result.confirmation.assetId ?? 0) }\n }\n /**\n * Configure an existing Algorand Standard Asset.\n *\n * **Note:** The manager, reserve, freeze, and clawback addresses\n * are immutably empty if they are not set. If manager is not set then\n * all fields are immutable from that point forward.\n *\n * @param params The parameters for the asset config transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetConfig({ sender: \"MANAGERADDRESS\", assetId: 123456n, manager: \"MANAGERADDRESS\" })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetConfig({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset config transaction and the transaction that was sent\n */\n assetConfig = this._send((c) => c.addAssetConfig, {\n preLog: (params, transaction) => `Configuring asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Freeze or unfreeze an Algorand Standard Asset for an account.\n *\n * @param params The parameters for the asset freeze transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetFreeze({ sender: \"MANAGERADDRESS\", assetId: 123456n, account: \"ACCOUNTADDRESS\", frozen: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetFreeze({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * account: 'ACCOUNTADDRESS',\n * frozen: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset freeze transaction and the transaction that was sent\n */\n assetFreeze = this._send((c) => c.addAssetFreeze, {\n preLog: (params, transaction) => `Freezing asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Destroys an Algorand Standard Asset.\n *\n * Created assets can be destroyed only by the asset manager account.\n * All of the assets must be owned by the creator of the asset before\n * the asset can be deleted.\n *\n * @param params The parameters for the asset destroy transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetDestroy({ sender: \"MANAGERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetDestroy({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset destroy transaction and the transaction that was sent\n */\n assetDestroy = this._send((c) => c.addAssetDestroy, {\n preLog: (params, transaction) => `Destroying asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Transfer an Algorand Standard Asset.\n *\n * @param params The parameters for the asset transfer transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetTransfer({ sender: \"HOLDERADDRESS\", assetId: 123456n, amount: 1n, receiver: \"RECEIVERADDRESS\" })\n * ```\n * @example Advanced example (with clawback)\n * ```typescript\n * await algorand.send.assetTransfer({\n * sender: 'CLAWBACKADDRESS',\n * assetId: 123456n,\n * amount: 1n,\n * receiver: 'RECEIVERADDRESS',\n * clawbackTarget: 'HOLDERADDRESS',\n * // This field needs to be used with caution\n * closeAssetTo: 'ADDRESSTOCLOSETO'\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset transfer transaction and the transaction that was sent\n */\n assetTransfer = this._send((c) => c.addAssetTransfer, {\n preLog: (params, transaction) =>\n `Transferring ${params.amount} units of asset with ID ${params.assetId} from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account into an Algorand Standard Asset.\n *\n * @param params The parameters for the asset opt-in transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetOptIn({ sender: \"SENDERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptIn({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-in transaction and the transaction that was sent\n */\n assetOptIn = this._send((c) => c.addAssetOptIn, {\n preLog: (params, transaction) => `Opting in ${params.sender} to asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account out of an Algorand Standard Asset.\n *\n * *Note:* If the account has a balance of the asset,\n * it will not be able to opt-out unless `ensureZeroBalance`\n * is set to `false` (but then the account will lose the assets).\n *\n * @param params The parameters for the asset opt-out transaction\n *\n * @example Basic example (without creator, will be retrieved from algod)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Basic example (with creator)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", creator: \"CREATORADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptOut({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * creator: 'CREATORADDRESS',\n * ensureZeroBalance: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-out transaction and the transaction that was sent\n */\n assetOptOut = async (\n params: Omit<AssetOptOutParams, 'creator'> & {\n /** Optional asset creator account address; if not specified it will be retrieved from algod */\n creator?: ReadableAddress\n /** Whether or not to check if the account has a zero balance first or not.\n *\n * If this is set to `true` and the account has an asset balance it will throw an error.\n *\n * If this is set to `false` and the account has an asset balance it will lose those assets to the asset creator.\n */\n ensureZeroBalance: boolean\n } & SendParams,\n ) => {\n if (params.ensureZeroBalance) {\n let balance = 0n\n try {\n const accountAssetInfo = await this._assetManager.getAccountInformation(getAddress(params.sender), params.assetId)\n balance = accountAssetInfo.balance\n } catch {\n throw new Error(`Account ${params.sender} is not opted-in to Asset ${params.assetId}; can't opt-out.`)\n }\n if (balance !== 0n) {\n throw new Error(`Account ${params.sender} does not have a zero balance for Asset ${params.assetId}; can't opt-out.`)\n }\n }\n\n params.creator = params.creator ?? (await this._assetManager.getById(params.assetId)).creator\n\n return await this._send((c) => c.addAssetOptOut, {\n preLog: (params, transaction) =>\n `Opting ${params.sender} out of asset with ID ${params.assetId} to creator ${params.creator} via transaction ${transaction.txId()}`,\n })(params as AssetOptOutParams & SendParams)\n }\n /**\n * Create a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.appCreate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCreate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app create transaction and the transaction that was sent\n */\n appCreate = this._sendAppCreateCall((c) => c.addAppCreate, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appUpdate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appUpdate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app update transaction and the transaction that was sent\n */\n appUpdate = this._sendAppUpdateCall((c) => c.addAppUpdate, {\n postLog: (params, result) =>\n `App ${params.appId} updated ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appDelete({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appDelete({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app delete transaction and the transaction that was sent\n */\n appDelete = this._sendAppCall((c) => c.addAppDelete, {\n postLog: (params, result) =>\n `App ${params.appId} deleted ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appCall({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCall({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app call transaction and the transaction that was sent\n */\n appCall = this._sendAppCall((c) => c.addAppCall, {\n postLog: (params, result) =>\n `App ${params.appId} called ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Create a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * const result = await algorand.send.appCreateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCreateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method create transaction and the transaction that was sent\n */\n appCreateMethodCall = this._sendAppCreateCall((c) => c.addAppCreateMethodCall, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method update transaction and the transaction that was sent\n */\n appUpdateMethodCall = this._sendAppUpdateCall((c) => c.addAppUpdateMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} updated with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method delete transaction and the transaction that was sent\n */\n appDeleteMethodCall = this._sendAppCall((c) => c.addAppDeleteMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} deleted with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method call transaction and the transaction that was sent\n */\n appCallMethodCall = this._sendAppCall((c) => c.addAppCallMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} called with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Register an online key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the online key registration transaction and the transaction that was sent\n */\n onlineKeyRegistration = this._send((c) => c.addOnlineKeyRegistration, {\n preLog: (params, transaction) => `Registering online key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n\n /**\n * Register an offline key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the offline key registration transaction and the transaction that was sent\n */\n offlineKeyRegistration = this._send((c) => c.addOfflineKeyRegistration, {\n preLog: (params, transaction) => `Registering offline key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n}\n"],"mappings":"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"}
|