@algorandfoundation/algokit-utils 5.3.3-beta.2 → 5.4.0-beta.1
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/account/account.d.ts +81 -0
- package/account/account.d.ts.map +1 -0
- package/account/account.js +120 -0
- package/account/account.js.map +1 -0
- package/account/account.mjs +112 -0
- package/account/account.mjs.map +1 -0
- package/account/get-account-config-from-environment.d.ts +13 -0
- package/account/get-account-config-from-environment.d.ts.map +1 -0
- package/account/get-account-config-from-environment.js +25 -0
- package/account/get-account-config-from-environment.js.map +1 -0
- package/account/get-account-config-from-environment.mjs +23 -0
- package/account/get-account-config-from-environment.mjs.map +1 -0
- package/account/get-account.d.ts +66 -0
- package/account/get-account.d.ts.map +1 -0
- package/account/get-account.js +83 -0
- package/account/get-account.js.map +1 -0
- package/account/get-account.mjs +81 -0
- package/account/get-account.mjs.map +1 -0
- package/account/get-dispenser-account.d.ts +13 -0
- package/account/get-dispenser-account.d.ts.map +1 -0
- package/account/get-dispenser-account.js +23 -0
- package/account/get-dispenser-account.js.map +1 -0
- package/account/get-dispenser-account.mjs +21 -0
- package/account/get-dispenser-account.mjs.map +1 -0
- package/account/index.d.ts +6 -0
- package/account/index.d.ts.map +1 -0
- package/account/mnemonic-account.d.ts +11 -0
- package/account/mnemonic-account.d.ts.map +1 -0
- package/account/mnemonic-account.js +18 -0
- package/account/mnemonic-account.js.map +1 -0
- package/account/mnemonic-account.mjs +16 -0
- package/account/mnemonic-account.mjs.map +1 -0
- package/amount.d.ts.map +1 -0
- package/amount.js +34 -0
- package/amount.js.map +1 -0
- package/{esm/amount.js → amount.mjs} +8 -5
- package/amount.mjs.map +1 -0
- package/app-client.d.ts.map +1 -0
- package/{cjs/app-client.js → app-client.js} +11 -10
- package/app-client.js.map +1 -0
- package/{esm/app-client.js → app-client.mjs} +8 -5
- package/app-client.mjs.map +1 -0
- package/app-deploy.d.ts.map +1 -0
- package/{cjs/app-deploy.js → app-deploy.js} +67 -69
- package/app-deploy.js.map +1 -0
- package/{esm/app-deploy.js → app-deploy.mjs} +17 -14
- package/app-deploy.mjs.map +1 -0
- package/{cjs/app.d.ts → app.d.ts} +1 -1
- package/app.d.ts.map +1 -0
- package/{cjs/app.js → app.js} +102 -104
- package/app.js.map +1 -0
- package/{esm/app.js → app.mjs} +27 -24
- package/app.mjs.map +1 -0
- package/asset.d.ts.map +1 -0
- package/{cjs/asset.js → asset.js} +41 -42
- package/asset.js.map +1 -0
- package/{esm/asset.js → asset.mjs} +10 -6
- package/asset.mjs.map +1 -0
- package/config.d.ts +4 -0
- package/config.d.ts.map +1 -0
- package/config.js +9 -0
- package/config.js.map +1 -0
- package/config.mjs +7 -0
- package/config.mjs.map +1 -0
- package/debugging/debugging.d.ts +10 -0
- package/debugging/debugging.d.ts.map +1 -0
- package/debugging/debugging.js +139 -0
- package/debugging/debugging.js.map +1 -0
- package/debugging/debugging.mjs +118 -0
- package/debugging/debugging.mjs.map +1 -0
- package/debugging/index.d.ts +3 -0
- package/debugging/index.d.ts.map +1 -0
- package/{cjs/debugging.d.ts → debugging/simulate-and-persist-response.d.ts} +3 -12
- package/debugging/simulate-and-persist-response.d.ts.map +1 -0
- package/debugging/simulate-and-persist-response.js +108 -0
- package/debugging/simulate-and-persist-response.js.map +1 -0
- package/debugging/simulate-and-persist-response.mjs +89 -0
- package/debugging/simulate-and-persist-response.mjs.map +1 -0
- package/dispenser-client.d.ts.map +1 -0
- package/{cjs/dispenser-client.js → dispenser-client.js} +7 -6
- package/dispenser-client.js.map +1 -0
- package/{esm/dispenser-client.js → dispenser-client.mjs} +6 -3
- package/dispenser-client.mjs.map +1 -0
- package/{cjs/index.d.ts → index.d.ts} +1 -3
- package/index.d.ts.map +1 -0
- package/index.js +125 -0
- package/index.js.map +1 -0
- package/index.mjs +25 -0
- package/index.mjs.map +1 -0
- package/indexer-lookup.d.ts.map +1 -0
- package/{cjs/indexer-lookup.js → indexer-lookup.js} +8 -8
- package/indexer-lookup.js.map +1 -0
- package/{esm/indexer-lookup.js → indexer-lookup.mjs} +8 -6
- package/indexer-lookup.mjs.map +1 -0
- package/localnet/get-kmd-wallet-account.d.ts +26 -0
- package/localnet/get-kmd-wallet-account.d.ts.map +1 -0
- package/localnet/get-kmd-wallet-account.js +55 -0
- package/localnet/get-kmd-wallet-account.js.map +1 -0
- package/localnet/get-kmd-wallet-account.mjs +53 -0
- package/localnet/get-kmd-wallet-account.mjs.map +1 -0
- package/localnet/get-localnet-dispenser-account.d.ts +12 -0
- package/localnet/get-localnet-dispenser-account.d.ts.map +1 -0
- package/localnet/get-localnet-dispenser-account.js +21 -0
- package/localnet/get-localnet-dispenser-account.js.map +1 -0
- package/localnet/get-localnet-dispenser-account.mjs +19 -0
- package/localnet/get-localnet-dispenser-account.mjs.map +1 -0
- package/localnet/get-or-create-kmd-wallet-account.d.ts +27 -0
- package/localnet/get-or-create-kmd-wallet-account.d.ts.map +1 -0
- package/localnet/get-or-create-kmd-wallet-account.js +52 -0
- package/localnet/get-or-create-kmd-wallet-account.js.map +1 -0
- package/localnet/get-or-create-kmd-wallet-account.mjs +50 -0
- package/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -0
- package/localnet/index.d.ts +5 -0
- package/localnet/index.d.ts.map +1 -0
- package/localnet/is-localnet.d.ts +5 -0
- package/localnet/is-localnet.d.ts.map +1 -0
- package/localnet/is-localnet.js +10 -0
- package/localnet/is-localnet.js.map +1 -0
- package/localnet/is-localnet.mjs +8 -0
- package/localnet/is-localnet.mjs.map +1 -0
- package/{cjs/network-client.d.ts → network-client.d.ts} +0 -1
- package/network-client.d.ts.map +1 -0
- package/{cjs/network-client.js → network-client.js} +21 -25
- package/network-client.js.map +1 -0
- package/{esm/network-client.js → network-client.mjs} +15 -13
- package/network-client.mjs.map +1 -0
- package/package.json +15 -36
- package/testing/_asset.d.ts.map +1 -0
- package/testing/account.d.ts.map +1 -0
- package/testing/account.js +29 -0
- package/testing/account.js.map +1 -0
- package/{esm/testing/account.js → testing/account.mjs} +8 -5
- package/testing/account.mjs.map +1 -0
- package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +1 -0
- package/{cjs/testing → testing}/fixtures/algokit-log-capture-fixture.js +11 -10
- package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -0
- package/{esm/testing/fixtures/algokit-log-capture-fixture.js → testing/fixtures/algokit-log-capture-fixture.mjs} +7 -4
- package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -0
- package/testing/fixtures/algorand-fixture.d.ts.map +1 -0
- package/testing/fixtures/algorand-fixture.js +64 -0
- package/testing/fixtures/algorand-fixture.js.map +1 -0
- package/{esm/testing/fixtures/algorand-fixture.js → testing/fixtures/algorand-fixture.mjs} +12 -4
- package/testing/fixtures/algorand-fixture.mjs.map +1 -0
- package/testing/fixtures/index.d.ts.map +1 -0
- package/testing/index.d.ts.map +1 -0
- package/testing/index.js +18 -0
- package/testing/index.js.map +1 -0
- package/testing/index.mjs +7 -0
- package/testing/index.mjs.map +1 -0
- package/testing/indexer.d.ts.map +1 -0
- package/{cjs/testing → testing}/indexer.js +4 -4
- package/testing/indexer.js.map +1 -0
- package/{esm/testing/indexer.js → testing/indexer.mjs} +4 -2
- package/testing/indexer.mjs.map +1 -0
- package/testing/test-logger.d.ts.map +1 -0
- package/{cjs/testing → testing}/test-logger.js +7 -8
- package/testing/test-logger.js.map +1 -0
- package/{esm/testing/test-logger.js → testing/test-logger.mjs} +6 -5
- package/testing/test-logger.mjs.map +1 -0
- package/testing/transaction-logger.d.ts.map +1 -0
- package/{cjs/testing → testing}/transaction-logger.js +14 -15
- package/testing/transaction-logger.js.map +1 -0
- package/{esm/testing/transaction-logger.js → testing/transaction-logger.mjs} +9 -5
- package/testing/transaction-logger.mjs.map +1 -0
- package/transaction/index.d.ts +3 -0
- package/transaction/index.d.ts.map +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts +11 -0
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts.map +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.js +35 -0
- package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.mjs +33 -0
- package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -0
- package/{cjs → transaction}/transaction.d.ts +2 -9
- package/transaction/transaction.d.ts.map +1 -0
- package/{cjs → transaction}/transaction.js +88 -113
- package/transaction/transaction.js.map +1 -0
- package/{esm/transaction.js → transaction/transaction.mjs} +27 -50
- package/transaction/transaction.mjs.map +1 -0
- package/transfer/index.d.ts +3 -0
- package/transfer/index.d.ts.map +1 -0
- package/transfer/transfer-algos.d.ts +17 -0
- package/transfer/transfer-algos.d.ts.map +1 -0
- package/transfer/transfer-algos.js +40 -0
- package/transfer/transfer-algos.js.map +1 -0
- package/transfer/transfer-algos.mjs +38 -0
- package/transfer/transfer-algos.mjs.map +1 -0
- package/{cjs → transfer}/transfer.d.ts +2 -14
- package/transfer/transfer.d.ts.map +1 -0
- package/transfer/transfer.js +147 -0
- package/transfer/transfer.js.map +1 -0
- package/{esm/transfer.js → transfer/transfer.mjs} +15 -40
- package/transfer/transfer.mjs.map +1 -0
- package/types/account.d.ts +63 -161
- package/types/account.d.ts.map +1 -1
- package/{cjs/types → types}/account.js +14 -22
- package/types/account.js.map +1 -0
- package/{esm/types/account.js → types/account.mjs} +7 -11
- package/types/account.mjs.map +1 -0
- package/types/algo-http-client-with-retry.d.ts.map +1 -0
- package/{cjs/types → types}/algo-http-client-with-retry.js +25 -24
- package/types/algo-http-client-with-retry.js.map +1 -0
- package/{esm/types/algo-http-client-with-retry.js → types/algo-http-client-with-retry.mjs} +23 -20
- package/types/algo-http-client-with-retry.mjs.map +1 -0
- package/types/amount.d.ts +22 -18
- package/types/amount.d.ts.map +1 -1
- package/{cjs/types → types}/amount.js +8 -11
- package/types/amount.js.map +1 -0
- package/{esm/types/amount.js → types/amount.mjs} +5 -3
- package/types/amount.mjs.map +1 -0
- package/types/app-client.d.ts +413 -69
- package/types/app-client.d.ts.map +1 -1
- package/{cjs/types → types}/app-client.js +58 -73
- package/types/app-client.js.map +1 -0
- package/{esm/types/app-client.js → types/app-client.mjs} +14 -24
- package/types/app-client.mjs.map +1 -0
- package/types/app-spec.d.ts.map +1 -0
- package/types/app.d.ts +300 -146
- package/types/app.d.ts.map +1 -1
- package/{cjs/types → types}/app.js +16 -14
- package/types/app.js.map +1 -0
- package/{esm/types/app.js → types/app.mjs} +9 -9
- package/types/app.mjs.map +1 -0
- package/types/asset.d.ts +40 -47
- package/types/asset.d.ts.map +1 -1
- package/types/config.d.ts.map +1 -0
- package/{cjs/types → types}/config.js +30 -41
- package/types/config.js.map +1 -0
- package/{esm/types/config.js → types/config.mjs} +8 -11
- package/types/config.mjs.map +1 -0
- package/types/debugging.d.ts +105 -22
- package/types/debugging.d.ts.map +1 -1
- package/{cjs/types → types}/debugging.js +6 -13
- package/types/debugging.js.map +1 -0
- package/{esm/types/debugging.js → types/debugging.mjs} +6 -11
- package/types/debugging.mjs.map +1 -0
- package/types/dispenser-client.d.ts +71 -13
- package/types/dispenser-client.d.ts.map +1 -1
- package/{cjs/types → types}/dispenser-client.js +4 -6
- package/types/dispenser-client.js.map +1 -0
- package/{esm/types/dispenser-client.js → types/dispenser-client.mjs} +4 -4
- package/types/dispenser-client.mjs.map +1 -0
- package/types/indexer.d.ts.map +1 -0
- package/types/logging.d.ts.map +1 -0
- package/{cjs/types → types}/logging.js +8 -6
- package/types/logging.js.map +1 -0
- package/{esm/types/logging.js → types/logging.mjs} +5 -3
- package/types/logging.mjs.map +1 -0
- package/types/logic-error.d.ts.map +1 -0
- package/{cjs/types → types}/logic-error.js +6 -9
- package/types/logic-error.js.map +1 -0
- package/{esm/types/logic-error.js → types/logic-error.mjs} +6 -7
- package/types/logic-error.mjs.map +1 -0
- package/types/network-client.d.ts +19 -99
- package/types/network-client.d.ts.map +1 -1
- package/types/testing.d.ts.map +1 -0
- package/types/transaction.d.ts +112 -175
- package/types/transaction.d.ts.map +1 -1
- package/types/transfer.d.ts +74 -56
- package/types/transfer.d.ts.map +1 -1
- package/types/urlTokenBaseHTTPClient.d.ts.map +1 -0
- package/{cjs/types → types}/urlTokenBaseHTTPClient.js +7 -10
- package/types/urlTokenBaseHTTPClient.js.map +1 -0
- package/{esm/types/urlTokenBaseHTTPClient.js → types/urlTokenBaseHTTPClient.mjs} +5 -6
- package/types/urlTokenBaseHTTPClient.mjs.map +1 -0
- package/util.d.ts.map +1 -0
- package/{cjs/util.js → util.js} +7 -7
- package/util.js.map +1 -0
- package/{esm/util.js → util.mjs} +7 -5
- package/util.mjs.map +1 -0
- package/cjs/account.d.ts +0 -168
- package/cjs/account.d.ts.map +0 -1
- package/cjs/account.js +0 -238
- package/cjs/account.js.map +0 -1
- package/cjs/amount.d.ts.map +0 -1
- package/cjs/amount.js +0 -36
- package/cjs/amount.js.map +0 -1
- package/cjs/app-client.d.ts.map +0 -1
- package/cjs/app-client.js.map +0 -1
- package/cjs/app-deploy.d.ts.map +0 -1
- package/cjs/app-deploy.js.map +0 -1
- package/cjs/app.d.ts.map +0 -1
- package/cjs/app.js.map +0 -1
- package/cjs/asset.d.ts.map +0 -1
- package/cjs/asset.js.map +0 -1
- package/cjs/debugging.d.ts.map +0 -1
- package/cjs/debugging.js +0 -225
- package/cjs/debugging.js.map +0 -1
- package/cjs/dispenser-client.d.ts.map +0 -1
- package/cjs/dispenser-client.js.map +0 -1
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -34
- package/cjs/index.js.map +0 -1
- package/cjs/indexer-lookup.d.ts.map +0 -1
- package/cjs/indexer-lookup.js.map +0 -1
- package/cjs/localnet.d.ts +0 -57
- package/cjs/localnet.d.ts.map +0 -1
- package/cjs/localnet.js +0 -121
- package/cjs/localnet.js.map +0 -1
- package/cjs/network-client.d.ts.map +0 -1
- package/cjs/network-client.js.map +0 -1
- package/cjs/testing/_asset.d.ts.map +0 -1
- package/cjs/testing/_asset.js +0 -36
- package/cjs/testing/_asset.js.map +0 -1
- package/cjs/testing/account.d.ts.map +0 -1
- package/cjs/testing/account.js +0 -31
- package/cjs/testing/account.js.map +0 -1
- package/cjs/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
- package/cjs/testing/fixtures/algokit-log-capture-fixture.js.map +0 -1
- package/cjs/testing/fixtures/algorand-fixture.d.ts.map +0 -1
- package/cjs/testing/fixtures/algorand-fixture.js +0 -58
- package/cjs/testing/fixtures/algorand-fixture.js.map +0 -1
- package/cjs/testing/fixtures/index.d.ts.map +0 -1
- package/cjs/testing/fixtures/index.js +0 -19
- package/cjs/testing/fixtures/index.js.map +0 -1
- package/cjs/testing/index.d.ts.map +0 -1
- package/cjs/testing/index.js +0 -22
- package/cjs/testing/index.js.map +0 -1
- package/cjs/testing/indexer.d.ts.map +0 -1
- package/cjs/testing/indexer.js.map +0 -1
- package/cjs/testing/test-logger.d.ts.map +0 -1
- package/cjs/testing/test-logger.js.map +0 -1
- package/cjs/testing/transaction-logger.d.ts.map +0 -1
- package/cjs/testing/transaction-logger.js.map +0 -1
- package/cjs/transaction.d.ts.map +0 -1
- package/cjs/transaction.js.map +0 -1
- package/cjs/transfer.d.ts.map +0 -1
- package/cjs/transfer.js +0 -178
- package/cjs/transfer.js.map +0 -1
- package/cjs/types/account.d.ts +0 -70
- package/cjs/types/account.d.ts.map +0 -1
- package/cjs/types/account.js.map +0 -1
- package/cjs/types/algo-http-client-with-retry.d.ts.map +0 -1
- package/cjs/types/algo-http-client-with-retry.js.map +0 -1
- package/cjs/types/amount.d.ts +0 -24
- package/cjs/types/amount.d.ts.map +0 -1
- package/cjs/types/amount.js.map +0 -1
- package/cjs/types/app-client.d.ts +0 -416
- package/cjs/types/app-client.d.ts.map +0 -1
- package/cjs/types/app-client.js.map +0 -1
- package/cjs/types/app-spec.d.ts.map +0 -1
- package/cjs/types/app-spec.js +0 -3
- package/cjs/types/app-spec.js.map +0 -1
- package/cjs/types/app.d.ts +0 -323
- package/cjs/types/app.d.ts.map +0 -1
- package/cjs/types/app.js.map +0 -1
- package/cjs/types/asset.d.ts +0 -42
- package/cjs/types/asset.d.ts.map +0 -1
- package/cjs/types/asset.js +0 -3
- package/cjs/types/asset.js.map +0 -1
- package/cjs/types/config.d.ts.map +0 -1
- package/cjs/types/config.js.map +0 -1
- package/cjs/types/debugging.d.ts +0 -112
- package/cjs/types/debugging.d.ts.map +0 -1
- package/cjs/types/debugging.js.map +0 -1
- package/cjs/types/dispenser-client.d.ts +0 -77
- package/cjs/types/dispenser-client.d.ts.map +0 -1
- package/cjs/types/dispenser-client.js.map +0 -1
- package/cjs/types/indexer.d.ts.map +0 -1
- package/cjs/types/indexer.js +0 -34
- package/cjs/types/indexer.js.map +0 -1
- package/cjs/types/logging.d.ts.map +0 -1
- package/cjs/types/logging.js.map +0 -1
- package/cjs/types/logic-error.d.ts.map +0 -1
- package/cjs/types/logic-error.js.map +0 -1
- package/cjs/types/network-client.d.ts +0 -20
- package/cjs/types/network-client.d.ts.map +0 -1
- package/cjs/types/network-client.js +0 -3
- package/cjs/types/network-client.js.map +0 -1
- package/cjs/types/testing.d.ts.map +0 -1
- package/cjs/types/testing.js +0 -3
- package/cjs/types/testing.js.map +0 -1
- package/cjs/types/transaction.d.ts +0 -118
- package/cjs/types/transaction.d.ts.map +0 -1
- package/cjs/types/transaction.js +0 -3
- package/cjs/types/transaction.js.map +0 -1
- package/cjs/types/transfer.d.ts +0 -76
- package/cjs/types/transfer.d.ts.map +0 -1
- package/cjs/types/transfer.js +0 -3
- package/cjs/types/transfer.js.map +0 -1
- package/cjs/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/cjs/types/urlTokenBaseHTTPClient.js.map +0 -1
- package/cjs/util.d.ts.map +0 -1
- package/cjs/util.js.map +0 -1
- package/esm/account.js +0 -221
- package/esm/account.js.map +0 -1
- package/esm/amount.js.map +0 -1
- package/esm/app-client.js.map +0 -1
- package/esm/app-deploy.js.map +0 -1
- package/esm/app.js.map +0 -1
- package/esm/asset.js.map +0 -1
- package/esm/debugging.js +0 -197
- package/esm/debugging.js.map +0 -1
- package/esm/dispenser-client.js.map +0 -1
- package/esm/index.js +0 -17
- package/esm/index.js.map +0 -1
- package/esm/indexer-lookup.js.map +0 -1
- package/esm/localnet.js +0 -111
- package/esm/localnet.js.map +0 -1
- package/esm/network-client.js.map +0 -1
- package/esm/package.json +0 -3
- package/esm/testing/_asset.js +0 -29
- package/esm/testing/_asset.js.map +0 -1
- package/esm/testing/account.js.map +0 -1
- package/esm/testing/fixtures/algokit-log-capture-fixture.js.map +0 -1
- package/esm/testing/fixtures/algorand-fixture.js.map +0 -1
- package/esm/testing/fixtures/index.js +0 -3
- package/esm/testing/fixtures/index.js.map +0 -1
- package/esm/testing/index.js +0 -6
- package/esm/testing/index.js.map +0 -1
- package/esm/testing/indexer.js.map +0 -1
- package/esm/testing/test-logger.js.map +0 -1
- package/esm/testing/transaction-logger.js.map +0 -1
- package/esm/transaction.js.map +0 -1
- package/esm/transfer.js.map +0 -1
- package/esm/types/account.js.map +0 -1
- package/esm/types/algo-http-client-with-retry.js.map +0 -1
- package/esm/types/amount.js.map +0 -1
- package/esm/types/app-client.js.map +0 -1
- package/esm/types/app-spec.js +0 -2
- package/esm/types/app-spec.js.map +0 -1
- package/esm/types/app.js.map +0 -1
- package/esm/types/asset.js +0 -2
- package/esm/types/asset.js.map +0 -1
- package/esm/types/config.js.map +0 -1
- package/esm/types/debugging.js.map +0 -1
- package/esm/types/dispenser-client.js.map +0 -1
- package/esm/types/indexer.js +0 -31
- package/esm/types/indexer.js.map +0 -1
- package/esm/types/logging.js.map +0 -1
- package/esm/types/logic-error.js.map +0 -1
- package/esm/types/network-client.js +0 -2
- package/esm/types/network-client.js.map +0 -1
- package/esm/types/testing.js +0 -2
- package/esm/types/testing.js.map +0 -1
- package/esm/types/transaction.js +0 -2
- package/esm/types/transaction.js.map +0 -1
- package/esm/types/transfer.js +0 -2
- package/esm/types/transfer.js.map +0 -1
- package/esm/types/urlTokenBaseHTTPClient.js.map +0 -1
- package/esm/util.js.map +0 -1
- package/types/app-deploy.d.ts +0 -104
- package/types/app-deploy.d.ts.map +0 -1
- package/types/index.d.ts +0 -17
- package/types/index.d.ts.map +0 -1
- package/types/indexer-lookup.d.ts +0 -39
- package/types/indexer-lookup.d.ts.map +0 -1
- package/types/localnet.d.ts +0 -57
- package/types/localnet.d.ts.map +0 -1
- package/types/testing/_asset.d.ts +0 -5
- package/types/testing/_asset.d.ts.map +0 -1
- package/types/testing/account.d.ts +0 -17
- package/types/testing/account.d.ts.map +0 -1
- package/types/testing/fixtures/algokit-log-capture-fixture.d.ts +0 -20
- package/types/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
- package/types/testing/fixtures/algorand-fixture.d.ts +0 -50
- package/types/testing/fixtures/algorand-fixture.d.ts.map +0 -1
- package/types/testing/fixtures/index.d.ts +0 -3
- package/types/testing/fixtures/index.d.ts.map +0 -1
- package/types/testing/index.d.ts +0 -6
- package/types/testing/index.d.ts.map +0 -1
- package/types/testing/indexer.d.ts +0 -13
- package/types/testing/indexer.d.ts.map +0 -1
- package/types/testing/test-logger.d.ts +0 -41
- package/types/testing/test-logger.d.ts.map +0 -1
- package/types/testing/transaction-logger.d.ts +0 -31
- package/types/testing/transaction-logger.d.ts.map +0 -1
- package/types/types/account.d.ts +0 -70
- package/types/types/account.d.ts.map +0 -1
- package/types/types/algo-http-client-with-retry.d.ts +0 -14
- package/types/types/algo-http-client-with-retry.d.ts.map +0 -1
- package/types/types/amount.d.ts +0 -24
- package/types/types/amount.d.ts.map +0 -1
- package/types/types/app-client.d.ts +0 -416
- package/types/types/app-client.d.ts.map +0 -1
- package/types/types/app-spec.d.ts +0 -156
- package/types/types/app-spec.d.ts.map +0 -1
- package/types/types/app.d.ts +0 -323
- package/types/types/app.d.ts.map +0 -1
- package/types/types/asset.d.ts +0 -42
- package/types/types/asset.d.ts.map +0 -1
- package/types/types/config.d.ts +0 -49
- package/types/types/config.d.ts.map +0 -1
- package/types/types/debugging.d.ts +0 -112
- package/types/types/debugging.d.ts.map +0 -1
- package/types/types/dispenser-client.d.ts +0 -77
- package/types/types/dispenser-client.d.ts.map +0 -1
- package/types/types/indexer.d.ts +0 -625
- package/types/types/indexer.d.ts.map +0 -1
- package/types/types/logging.d.ts +0 -13
- package/types/types/logging.d.ts.map +0 -1
- package/types/types/logic-error.d.ts +0 -37
- package/types/types/logic-error.d.ts.map +0 -1
- package/types/types/network-client.d.ts +0 -20
- package/types/types/network-client.d.ts.map +0 -1
- package/types/types/testing.d.ts +0 -95
- package/types/types/testing.d.ts.map +0 -1
- package/types/types/transaction.d.ts +0 -118
- package/types/types/transaction.d.ts.map +0 -1
- package/types/types/transfer.d.ts +0 -76
- package/types/types/transfer.d.ts.map +0 -1
- package/types/types/urlTokenBaseHTTPClient.d.ts +0 -41
- package/types/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/types/util.d.ts +0 -24
- package/types/util.d.ts.map +0 -1
- /package/{cjs/amount.d.ts → amount.d.ts} +0 -0
- /package/{cjs/app-client.d.ts → app-client.d.ts} +0 -0
- /package/{cjs/app-deploy.d.ts → app-deploy.d.ts} +0 -0
- /package/{cjs/asset.d.ts → asset.d.ts} +0 -0
- /package/{cjs/dispenser-client.d.ts → dispenser-client.d.ts} +0 -0
- /package/{cjs/indexer-lookup.d.ts → indexer-lookup.d.ts} +0 -0
- /package/{cjs/testing → testing}/_asset.d.ts +0 -0
- /package/{cjs/testing → testing}/account.d.ts +0 -0
- /package/{cjs/testing → testing}/fixtures/algokit-log-capture-fixture.d.ts +0 -0
- /package/{cjs/testing → testing}/fixtures/algorand-fixture.d.ts +0 -0
- /package/{cjs/testing → testing}/fixtures/index.d.ts +0 -0
- /package/{cjs/testing → testing}/index.d.ts +0 -0
- /package/{cjs/testing → testing}/indexer.d.ts +0 -0
- /package/{cjs/testing → testing}/test-logger.d.ts +0 -0
- /package/{cjs/testing → testing}/transaction-logger.d.ts +0 -0
- /package/{cjs/types → types}/algo-http-client-with-retry.d.ts +0 -0
- /package/{cjs/types → types}/app-spec.d.ts +0 -0
- /package/{cjs/types → types}/config.d.ts +0 -0
- /package/{cjs/types → types}/indexer.d.ts +0 -0
- /package/{cjs/types → types}/logging.d.ts +0 -0
- /package/{cjs/types → types}/logic-error.d.ts +0 -0
- /package/{cjs/types → types}/testing.d.ts +0 -0
- /package/{cjs/types → types}/urlTokenBaseHTTPClient.d.ts +0 -0
- /package/{cjs/util.d.ts → util.d.ts} +0 -0
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
exports.MAX_APP_CALL_FOREIGN_REFERENCES = 8;
|
|
16
|
-
exports.MAX_APP_CALL_ACCOUNT_REFERENCES = 4;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var algosdk = require('algosdk');
|
|
4
|
+
var buffer = require('buffer');
|
|
5
|
+
var config = require('../config.js');
|
|
6
|
+
var simulateAndPersistResponse = require('../debugging/simulate-and-persist-response.js');
|
|
7
|
+
var util = require('../util.js');
|
|
8
|
+
var performAtomicTransactionComposerSimulate = require('./perform-atomic-transaction-composer-simulate.js');
|
|
9
|
+
|
|
10
|
+
var AtomicTransactionComposer = algosdk.AtomicTransactionComposer;
|
|
11
|
+
var modelsv2 = algosdk.modelsv2;
|
|
12
|
+
const MAX_TRANSACTION_GROUP_SIZE = 16;
|
|
13
|
+
const MAX_APP_CALL_FOREIGN_REFERENCES = 8;
|
|
14
|
+
const MAX_APP_CALL_ACCOUNT_REFERENCES = 4;
|
|
17
15
|
/** Encodes a transaction note into a byte array ready to be included in an Algorand transaction.
|
|
18
16
|
*
|
|
19
17
|
* @param note The transaction note
|
|
@@ -44,7 +42,6 @@ function encodeTransactionNote(note) {
|
|
|
44
42
|
return encoder.encode(n);
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
|
-
exports.encodeTransactionNote = encodeTransactionNote;
|
|
48
45
|
/** Encodes a transaction lease into a 32-byte array ready to be included in an Algorand transaction.
|
|
49
46
|
*
|
|
50
47
|
* @param lease The transaction lease as a string or binary array or null/undefined if there is no lease
|
|
@@ -80,7 +77,6 @@ function encodeLease(lease) {
|
|
|
80
77
|
throw new Error(`Unknown lease type received of ${typeof lease}`);
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
|
-
exports.encodeLease = encodeLease;
|
|
84
80
|
/**
|
|
85
81
|
* Returns the public address of the given transaction sender.
|
|
86
82
|
* @param sender A transaction sender
|
|
@@ -89,7 +85,6 @@ exports.encodeLease = encodeLease;
|
|
|
89
85
|
const getSenderAddress = function (sender) {
|
|
90
86
|
return typeof sender === 'string' ? sender : 'addr' in sender ? sender.addr : sender.address();
|
|
91
87
|
};
|
|
92
|
-
exports.getSenderAddress = getSenderAddress;
|
|
93
88
|
const memoize = (fn) => {
|
|
94
89
|
const cache = new Map();
|
|
95
90
|
const cached = function (val) {
|
|
@@ -116,31 +111,30 @@ const getTransactionWithSigner = async (transaction, defaultSender) => {
|
|
|
116
111
|
return transaction instanceof Promise
|
|
117
112
|
? {
|
|
118
113
|
txn: (await transaction).transaction,
|
|
119
|
-
signer:
|
|
114
|
+
signer: getSenderTransactionSigner(defaultSender),
|
|
120
115
|
}
|
|
121
116
|
: 'transaction' in transaction
|
|
122
117
|
? {
|
|
123
118
|
txn: transaction.transaction,
|
|
124
|
-
signer:
|
|
119
|
+
signer: getSenderTransactionSigner(transaction.signer),
|
|
125
120
|
}
|
|
126
121
|
: {
|
|
127
122
|
txn: transaction,
|
|
128
|
-
signer:
|
|
123
|
+
signer: getSenderTransactionSigner(defaultSender),
|
|
129
124
|
};
|
|
130
125
|
};
|
|
131
|
-
exports.getTransactionWithSigner = getTransactionWithSigner;
|
|
132
126
|
/**
|
|
133
127
|
* Returns a `TransactionSigner` for the given transaction sender.
|
|
134
128
|
* This function has memoization, so will return the same transaction signer for a given sender.
|
|
135
129
|
* @param sender A transaction sender
|
|
136
130
|
* @returns A transaction signer
|
|
137
131
|
*/
|
|
138
|
-
|
|
132
|
+
const getSenderTransactionSigner = memoize(function (sender) {
|
|
139
133
|
return 'signer' in sender
|
|
140
134
|
? sender.signer
|
|
141
135
|
: 'lsig' in sender
|
|
142
|
-
?
|
|
143
|
-
:
|
|
136
|
+
? algosdk.makeLogicSigAccountTransactionSigner(sender)
|
|
137
|
+
: algosdk.makeBasicAccountTransactionSigner(sender);
|
|
144
138
|
});
|
|
145
139
|
/**
|
|
146
140
|
* Signs a single transaction by the given signer.
|
|
@@ -152,12 +146,11 @@ const signTransaction = async (transaction, signer) => {
|
|
|
152
146
|
return 'sk' in signer
|
|
153
147
|
? transaction.signTxn(signer.sk)
|
|
154
148
|
: 'lsig' in signer
|
|
155
|
-
?
|
|
149
|
+
? algosdk.signLogicSigTransactionObject(transaction, signer).blob
|
|
156
150
|
: 'sign' in signer
|
|
157
151
|
? signer.sign(transaction)
|
|
158
152
|
: (await signer.signer([transaction], [0]))[0];
|
|
159
153
|
};
|
|
160
|
-
exports.signTransaction = signTransaction;
|
|
161
154
|
/** Prepares a transaction for sending and then (if instructed) signs and sends the given transaction to the chain.
|
|
162
155
|
*
|
|
163
156
|
* @param send The details for the transaction to prepare/send, including:
|
|
@@ -173,7 +166,7 @@ const sendTransaction = async function (send, algod) {
|
|
|
173
166
|
const { skipSending, skipWaiting, fee, maxFee, suppressLog, maxRoundsToWaitForConfirmation, atc } = sendParams ?? {};
|
|
174
167
|
controlFees(transaction, { fee, maxFee });
|
|
175
168
|
if (atc) {
|
|
176
|
-
atc.addTransaction({ txn: transaction, signer:
|
|
169
|
+
atc.addTransaction({ txn: transaction, signer: getSenderTransactionSigner(from) });
|
|
177
170
|
return { transaction };
|
|
178
171
|
}
|
|
179
172
|
if (skipSending) {
|
|
@@ -183,22 +176,21 @@ const sendTransaction = async function (send, algod) {
|
|
|
183
176
|
// Populate resources if the transaction is an appcall and populateAppCallResources wasn't explicitly set to false
|
|
184
177
|
// NOTE: Temporary false by default until this algod bug is fixed: https://github.com/algorand/go-algorand/issues/5914
|
|
185
178
|
// if (txnToSend.type === algosdk.TransactionType.appl && sendParams?.populateAppCallResources !== false) {
|
|
186
|
-
if (txnToSend.type ===
|
|
179
|
+
if (txnToSend.type === algosdk.TransactionType.appl && sendParams?.populateAppCallResources === true) {
|
|
187
180
|
const newAtc = new AtomicTransactionComposer();
|
|
188
|
-
newAtc.addTransaction({ txn: txnToSend, signer:
|
|
181
|
+
newAtc.addTransaction({ txn: txnToSend, signer: getSenderTransactionSigner(from) });
|
|
189
182
|
const packed = await populateAppCallResources(newAtc, algod);
|
|
190
183
|
txnToSend = packed.buildGroup()[0].txn;
|
|
191
184
|
}
|
|
192
|
-
const signedTransaction = await
|
|
185
|
+
const signedTransaction = await signTransaction(txnToSend, from);
|
|
193
186
|
await algod.sendRawTransaction(signedTransaction).do();
|
|
194
|
-
|
|
187
|
+
config.Config.getLogger(suppressLog).info(`Sent transaction ID ${txnToSend.txID()} ${txnToSend.type} from ${getSenderAddress(from)}`);
|
|
195
188
|
let confirmation = undefined;
|
|
196
189
|
if (!skipWaiting) {
|
|
197
|
-
confirmation = await
|
|
190
|
+
confirmation = await waitForConfirmation(txnToSend.txID(), maxRoundsToWaitForConfirmation ?? 5, algod);
|
|
198
191
|
}
|
|
199
192
|
return { transaction: txnToSend, confirmation };
|
|
200
193
|
};
|
|
201
|
-
exports.sendTransaction = sendTransaction;
|
|
202
194
|
/**
|
|
203
195
|
* Get all of the unamed resources used by the group in the given ATC
|
|
204
196
|
*
|
|
@@ -207,14 +199,14 @@ exports.sendTransaction = sendTransaction;
|
|
|
207
199
|
* @returns The unnamed resources accessed by the group and by each transaction in the group
|
|
208
200
|
*/
|
|
209
201
|
async function getUnnamedAppCallResourcesAccessed(atc, algod) {
|
|
210
|
-
const simReq = new
|
|
202
|
+
const simReq = new algosdk.modelsv2.SimulateRequest({
|
|
211
203
|
txnGroups: [],
|
|
212
204
|
allowUnnamedResources: true,
|
|
213
205
|
allowEmptySignatures: true,
|
|
214
206
|
});
|
|
215
207
|
const emptySignerAtc = atc.clone();
|
|
216
208
|
emptySignerAtc['transactions'].forEach((t) => {
|
|
217
|
-
t.signer =
|
|
209
|
+
t.signer = algosdk.makeEmptyTransactionSigner();
|
|
218
210
|
});
|
|
219
211
|
const result = await emptySignerAtc.simulate(algod, simReq);
|
|
220
212
|
const groupResponse = result.simulateResponse.txnGroups[0];
|
|
@@ -259,7 +251,7 @@ async function populateAppCallResources(atc, algod) {
|
|
|
259
251
|
throw Error('Unexpected asset holding at the transaction level');
|
|
260
252
|
// Do accounts first because the account limit is 4
|
|
261
253
|
r.accounts?.forEach((a) => {
|
|
262
|
-
group[i].txn.appAccounts?.push(
|
|
254
|
+
group[i].txn.appAccounts?.push(algosdk.decodeAddress(a));
|
|
263
255
|
});
|
|
264
256
|
r.apps?.forEach((a) => {
|
|
265
257
|
group[i].txn.appForeignApps?.push(Number(a));
|
|
@@ -268,29 +260,29 @@ async function populateAppCallResources(atc, algod) {
|
|
|
268
260
|
group[i].txn.appForeignAssets?.push(Number(a));
|
|
269
261
|
});
|
|
270
262
|
const accounts = group[i].txn.appAccounts?.length || 0;
|
|
271
|
-
if (accounts >
|
|
272
|
-
throw Error(`Account reference limit of ${
|
|
263
|
+
if (accounts > MAX_APP_CALL_ACCOUNT_REFERENCES)
|
|
264
|
+
throw Error(`Account reference limit of ${MAX_APP_CALL_ACCOUNT_REFERENCES} exceeded in transaction ${i}`);
|
|
273
265
|
const assets = group[i].txn.appForeignAssets?.length || 0;
|
|
274
266
|
const apps = group[i].txn.appForeignApps?.length || 0;
|
|
275
267
|
const boxes = group[i].txn.boxes?.length || 0;
|
|
276
|
-
if (accounts + assets + apps + boxes >
|
|
277
|
-
throw Error(`Resource reference limit of ${
|
|
268
|
+
if (accounts + assets + apps + boxes > MAX_APP_CALL_FOREIGN_REFERENCES) {
|
|
269
|
+
throw Error(`Resource reference limit of ${MAX_APP_CALL_FOREIGN_REFERENCES} exceeded in transaction ${i}`);
|
|
278
270
|
}
|
|
279
271
|
});
|
|
280
272
|
const findTxnBelowRefLimit = (txns, type = 'other') => {
|
|
281
273
|
const txnIndex = txns.findIndex((t) => {
|
|
282
|
-
if (t.txn.type !==
|
|
274
|
+
if (t.txn.type !== algosdk.TransactionType.appl)
|
|
283
275
|
return false;
|
|
284
276
|
const accounts = t.txn.appAccounts?.length || 0;
|
|
285
277
|
if (type === 'account')
|
|
286
|
-
return accounts <
|
|
278
|
+
return accounts < MAX_APP_CALL_ACCOUNT_REFERENCES;
|
|
287
279
|
const assets = t.txn.appForeignAssets?.length || 0;
|
|
288
280
|
const apps = t.txn.appForeignApps?.length || 0;
|
|
289
281
|
const boxes = t.txn.boxes?.length || 0;
|
|
290
282
|
if (type === 'assetHolding' || type === 'appLocal') {
|
|
291
|
-
return accounts + assets + apps + boxes <
|
|
283
|
+
return accounts + assets + apps + boxes < MAX_APP_CALL_FOREIGN_REFERENCES - 1 && accounts < MAX_APP_CALL_ACCOUNT_REFERENCES;
|
|
292
284
|
}
|
|
293
|
-
return accounts + assets + apps + boxes <
|
|
285
|
+
return accounts + assets + apps + boxes < MAX_APP_CALL_FOREIGN_REFERENCES;
|
|
294
286
|
});
|
|
295
287
|
if (txnIndex === -1) {
|
|
296
288
|
throw Error('No more transactions below reference limit. Add another app call to the group.');
|
|
@@ -304,17 +296,17 @@ async function populateAppCallResources(atc, algod) {
|
|
|
304
296
|
g.appLocals?.forEach((a) => {
|
|
305
297
|
const txnIndex = findTxnBelowRefLimit(group, 'appLocal');
|
|
306
298
|
group[txnIndex].txn.appForeignApps?.push(Number(a.app));
|
|
307
|
-
group[txnIndex].txn.appAccounts?.push(
|
|
299
|
+
group[txnIndex].txn.appAccounts?.push(algosdk.decodeAddress(a.account));
|
|
308
300
|
});
|
|
309
301
|
g.assetHoldings?.forEach((a) => {
|
|
310
302
|
const txnIndex = findTxnBelowRefLimit(group, 'assetHolding');
|
|
311
303
|
group[txnIndex].txn.appForeignAssets?.push(Number(a.asset));
|
|
312
|
-
group[txnIndex].txn.appAccounts?.push(
|
|
304
|
+
group[txnIndex].txn.appAccounts?.push(algosdk.decodeAddress(a.account));
|
|
313
305
|
});
|
|
314
306
|
// Do accounts next because the account limit is 4
|
|
315
307
|
g.accounts?.forEach((a) => {
|
|
316
308
|
const txnIndex = findTxnBelowRefLimit(group, 'account');
|
|
317
|
-
group[txnIndex].txn.appAccounts?.push(
|
|
309
|
+
group[txnIndex].txn.appAccounts?.push(algosdk.decodeAddress(a));
|
|
318
310
|
});
|
|
319
311
|
g.boxes?.forEach((b) => {
|
|
320
312
|
const txnIndex = findTxnBelowRefLimit(group);
|
|
@@ -335,7 +327,7 @@ async function populateAppCallResources(atc, algod) {
|
|
|
335
327
|
}
|
|
336
328
|
}
|
|
337
329
|
}
|
|
338
|
-
const newAtc = new
|
|
330
|
+
const newAtc = new algosdk.AtomicTransactionComposer();
|
|
339
331
|
group.forEach((t) => {
|
|
340
332
|
// eslint-disable-next-line no-param-reassign
|
|
341
333
|
t.txn.group = undefined;
|
|
@@ -344,7 +336,6 @@ async function populateAppCallResources(atc, algod) {
|
|
|
344
336
|
newAtc['methodCalls'] = atc['methodCalls'];
|
|
345
337
|
return newAtc;
|
|
346
338
|
}
|
|
347
|
-
exports.populateAppCallResources = populateAppCallResources;
|
|
348
339
|
/**
|
|
349
340
|
* Signs and sends transactions that have been collected by an `AtomicTransactionComposer`.
|
|
350
341
|
* @param atcSend The parameters controlling the send, including:
|
|
@@ -375,27 +366,27 @@ const sendAtomicTransactionComposer = async function (atcSend, algod) {
|
|
|
375
366
|
});
|
|
376
367
|
let groupId = undefined;
|
|
377
368
|
if (transactionsToSend.length > 1) {
|
|
378
|
-
groupId = transactionsToSend[0].group ?
|
|
379
|
-
|
|
369
|
+
groupId = transactionsToSend[0].group ? buffer.Buffer.from(transactionsToSend[0].group).toString('base64') : '';
|
|
370
|
+
config.Config.getLogger(sendParams?.suppressLog).info(`Sending group of ${transactionsToSend.length} transactions (${groupId})`, {
|
|
380
371
|
transactionsToSend,
|
|
381
372
|
});
|
|
382
|
-
|
|
373
|
+
config.Config.getLogger(sendParams?.suppressLog).debug(`Transaction IDs (${groupId})`, transactionsToSend.map((t) => t.txID()));
|
|
383
374
|
}
|
|
384
|
-
if (
|
|
375
|
+
if (config.Config.debug && config.Config.projectRoot && config.Config.traceAll) {
|
|
385
376
|
// Dump the traces to a file for use with AlgoKit AVM debugger
|
|
386
|
-
await
|
|
377
|
+
await simulateAndPersistResponse.simulateAndPersistResponse({
|
|
387
378
|
atc,
|
|
388
|
-
projectRoot:
|
|
379
|
+
projectRoot: config.Config.projectRoot,
|
|
389
380
|
algod,
|
|
390
|
-
bufferSizeMb:
|
|
381
|
+
bufferSizeMb: config.Config.traceBufferSizeMb,
|
|
391
382
|
});
|
|
392
383
|
}
|
|
393
384
|
const result = await atc.execute(algod, sendParams?.maxRoundsToWaitForConfirmation ?? 5);
|
|
394
385
|
if (transactionsToSend.length > 1) {
|
|
395
|
-
|
|
386
|
+
config.Config.getLogger(sendParams?.suppressLog).info(`Group transaction (${groupId}) sent with ${transactionsToSend.length} transactions`);
|
|
396
387
|
}
|
|
397
388
|
else {
|
|
398
|
-
|
|
389
|
+
config.Config.getLogger(sendParams?.suppressLog).info(`Sent transaction ID ${transactionsToSend[0].txID()} ${transactionsToSend[0].type} from ${algosdk.encodeAddress(transactionsToSend[0].from.publicKey)}`);
|
|
399
390
|
}
|
|
400
391
|
let confirmations = undefined;
|
|
401
392
|
if (!sendParams?.skipWaiting) {
|
|
@@ -415,24 +406,24 @@ const sendAtomicTransactionComposer = async function (atcSend, algod) {
|
|
|
415
406
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
416
407
|
}
|
|
417
408
|
catch (e) {
|
|
418
|
-
|
|
419
|
-
if (
|
|
409
|
+
config.Config.logger.info('Received error executing Atomic Transaction Composer, for more information enable the debug flag');
|
|
410
|
+
if (config.Config.debug && typeof e === 'object') {
|
|
420
411
|
e.traces = [];
|
|
421
|
-
|
|
412
|
+
config.Config.logger.debug('Received error executing Atomic Transaction Composer and debug flag enabled; attempting simulation to get more information');
|
|
422
413
|
let simulate = undefined;
|
|
423
|
-
if (
|
|
414
|
+
if (config.Config.debug && config.Config.projectRoot && !config.Config.traceAll) {
|
|
424
415
|
// Dump the traces to a file for use with AlgoKit AVM debugger
|
|
425
416
|
// Checks for false on traceAll because it should have been already
|
|
426
417
|
// executed above
|
|
427
|
-
simulate = await
|
|
418
|
+
simulate = await simulateAndPersistResponse.simulateAndPersistResponse({
|
|
428
419
|
atc,
|
|
429
|
-
projectRoot:
|
|
420
|
+
projectRoot: config.Config.projectRoot,
|
|
430
421
|
algod,
|
|
431
|
-
bufferSizeMb:
|
|
422
|
+
bufferSizeMb: config.Config.traceBufferSizeMb,
|
|
432
423
|
});
|
|
433
424
|
}
|
|
434
425
|
else {
|
|
435
|
-
simulate = await performAtomicTransactionComposerSimulate(atc, algod);
|
|
426
|
+
simulate = await performAtomicTransactionComposerSimulate.performAtomicTransactionComposerSimulate(atc, algod);
|
|
436
427
|
}
|
|
437
428
|
if (simulate && simulate.txnGroups[0].failedAt) {
|
|
438
429
|
for (const txn of simulate.txnGroups[0].txnResults) {
|
|
@@ -449,7 +440,6 @@ const sendAtomicTransactionComposer = async function (atcSend, algod) {
|
|
|
449
440
|
throw e;
|
|
450
441
|
}
|
|
451
442
|
};
|
|
452
|
-
exports.sendAtomicTransactionComposer = sendAtomicTransactionComposer;
|
|
453
443
|
/**
|
|
454
444
|
* Performs a dry run of the transactions loaded into the given AtomicTransactionComposer`
|
|
455
445
|
* @param atc The AtomicTransactionComposer` with transaction(s) loaded
|
|
@@ -459,40 +449,11 @@ exports.sendAtomicTransactionComposer = sendAtomicTransactionComposer;
|
|
|
459
449
|
async function performAtomicTransactionComposerDryrun(atc, algod) {
|
|
460
450
|
const signedTransactions = await atc.gatherSignatures();
|
|
461
451
|
const txns = signedTransactions.map((t) => {
|
|
462
|
-
return
|
|
452
|
+
return algosdk.decodeSignedTransaction(t);
|
|
463
453
|
});
|
|
464
|
-
const dryrun = await
|
|
465
|
-
return new
|
|
454
|
+
const dryrun = await algosdk.createDryrun({ client: algod, txns });
|
|
455
|
+
return new algosdk.DryrunResult(await algod.dryrun(dryrun).do());
|
|
466
456
|
}
|
|
467
|
-
exports.performAtomicTransactionComposerDryrun = performAtomicTransactionComposerDryrun;
|
|
468
|
-
/**
|
|
469
|
-
* Performs a simulation of the transactions loaded into the given AtomicTransactionComposer.
|
|
470
|
-
* @param atc The AtomicTransactionComposer with transaction(s) loaded.
|
|
471
|
-
* @param algod An Algod client to perform the simulation.
|
|
472
|
-
* @returns The simulation result, which includes various details about how the transactions would be processed.
|
|
473
|
-
*/
|
|
474
|
-
async function performAtomicTransactionComposerSimulate(atc, algod) {
|
|
475
|
-
const unsignedTransactionsSigners = atc.buildGroup();
|
|
476
|
-
const decodedSignedTransactions = unsignedTransactionsSigners.map((ts) => algosdk_1.default.encodeUnsignedSimulateTransaction(ts.txn));
|
|
477
|
-
const simulateRequest = new modelsv2.SimulateRequest({
|
|
478
|
-
allowEmptySignatures: true,
|
|
479
|
-
allowMoreLogging: true,
|
|
480
|
-
execTraceConfig: new modelsv2.SimulateTraceConfig({
|
|
481
|
-
enable: true,
|
|
482
|
-
scratchChange: true,
|
|
483
|
-
stackChange: true,
|
|
484
|
-
stateChange: true,
|
|
485
|
-
}),
|
|
486
|
-
txnGroups: [
|
|
487
|
-
new modelsv2.SimulateRequestTransactionGroup({
|
|
488
|
-
txns: decodedSignedTransactions.map((txn) => algosdk_1.default.decodeObj(txn)),
|
|
489
|
-
}),
|
|
490
|
-
],
|
|
491
|
-
});
|
|
492
|
-
const simulateResult = await algod.simulateTransactions(simulateRequest).do();
|
|
493
|
-
return simulateResult;
|
|
494
|
-
}
|
|
495
|
-
exports.performAtomicTransactionComposerSimulate = performAtomicTransactionComposerSimulate;
|
|
496
457
|
/**
|
|
497
458
|
* Signs and sends a group of [up to 16](https://developer.algorand.org/docs/get-details/atomic_transfers/#create-transactions) transactions to the chain
|
|
498
459
|
*
|
|
@@ -504,12 +465,12 @@ exports.performAtomicTransactionComposerSimulate = performAtomicTransactionCompo
|
|
|
504
465
|
*/
|
|
505
466
|
const sendGroupOfTransactions = async function (groupSend, algod) {
|
|
506
467
|
const { transactions, signer, sendParams } = groupSend;
|
|
507
|
-
const defaultTransactionSigner = signer ?
|
|
468
|
+
const defaultTransactionSigner = signer ? getSenderTransactionSigner(signer) : undefined;
|
|
508
469
|
const transactionsWithSigner = await Promise.all(transactions.map(async (t) => {
|
|
509
470
|
if ('signer' in t)
|
|
510
471
|
return {
|
|
511
472
|
txn: t.transaction,
|
|
512
|
-
signer:
|
|
473
|
+
signer: getSenderTransactionSigner(t.signer),
|
|
513
474
|
sender: t.signer,
|
|
514
475
|
};
|
|
515
476
|
const txn = 'then' in t ? (await t).transaction : t;
|
|
@@ -525,9 +486,8 @@ const sendGroupOfTransactions = async function (groupSend, algod) {
|
|
|
525
486
|
}));
|
|
526
487
|
const atc = new AtomicTransactionComposer();
|
|
527
488
|
transactionsWithSigner.forEach((txn) => atc.addTransaction(txn));
|
|
528
|
-
return (await
|
|
489
|
+
return (await sendAtomicTransactionComposer({ atc, sendParams }, algod));
|
|
529
490
|
};
|
|
530
|
-
exports.sendGroupOfTransactions = sendGroupOfTransactions;
|
|
531
491
|
/**
|
|
532
492
|
* Wait until the transaction is confirmed or rejected, or until `timeout`
|
|
533
493
|
* number of rounds have passed.
|
|
@@ -575,12 +535,11 @@ const waitForConfirmation = async function (transactionId, maxRoundsToWait, algo
|
|
|
575
535
|
continue;
|
|
576
536
|
}
|
|
577
537
|
}
|
|
578
|
-
await algod.statusAfterBlock(
|
|
538
|
+
await algod.statusAfterBlock(util.toNumber(currentRound)).do();
|
|
579
539
|
currentRound++;
|
|
580
540
|
}
|
|
581
541
|
throw new Error(`Transaction ${transactionId} not confirmed after ${maxRoundsToWait} rounds`);
|
|
582
542
|
};
|
|
583
|
-
exports.waitForConfirmation = waitForConfirmation;
|
|
584
543
|
/**
|
|
585
544
|
* Limit the acceptable fee to a defined amount of µALGOs.
|
|
586
545
|
* This also sets the transaction to be flatFee to ensure the transaction only succeeds at
|
|
@@ -596,14 +555,13 @@ function capTransactionFee(transaction, maxAcceptableFee) {
|
|
|
596
555
|
if (transaction.fee > maxAcceptableFee.microAlgos) {
|
|
597
556
|
throw new Error(`Cancelled transaction due to high network congestion fees. Algorand suggested fees would cause this transaction to cost ${transaction.fee} µALGOs. Cap for this transaction is ${maxAcceptableFee.microAlgos} µALGOs.`);
|
|
598
557
|
}
|
|
599
|
-
else if (transaction.fee >
|
|
600
|
-
|
|
558
|
+
else if (transaction.fee > algosdk.ALGORAND_MIN_TX_FEE) {
|
|
559
|
+
config.Config.logger.warn(`Algorand network congestion fees are in effect. This transaction will incur a fee of ${transaction.fee} µALGOs.`);
|
|
601
560
|
}
|
|
602
561
|
// Now set the flat on the transaction. Otherwise the network may increase the fee above our cap and perform the transaction.
|
|
603
562
|
transaction.flatFee = true;
|
|
604
563
|
}
|
|
605
564
|
}
|
|
606
|
-
exports.capTransactionFee = capTransactionFee;
|
|
607
565
|
/**
|
|
608
566
|
* Allows for control of fees on a `Transaction` or `SuggestedParams` object
|
|
609
567
|
* @param transaction The transaction or suggested params
|
|
@@ -620,7 +578,6 @@ function controlFees(transaction, feeControl) {
|
|
|
620
578
|
}
|
|
621
579
|
return transaction;
|
|
622
580
|
}
|
|
623
|
-
exports.controlFees = controlFees;
|
|
624
581
|
/**
|
|
625
582
|
* Returns suggested transaction parameters from algod unless some are already provided.
|
|
626
583
|
* @param params Optionally provide parameters to use
|
|
@@ -630,7 +587,6 @@ exports.controlFees = controlFees;
|
|
|
630
587
|
async function getTransactionParams(params, algod) {
|
|
631
588
|
return params ? { ...params } : await algod.getTransactionParams().do();
|
|
632
589
|
}
|
|
633
|
-
exports.getTransactionParams = getTransactionParams;
|
|
634
590
|
/**
|
|
635
591
|
* Returns the array of transactions currently present in the given `AtomicTransactionComposer`
|
|
636
592
|
* @param atc The atomic transaction composer
|
|
@@ -644,5 +600,24 @@ function getAtomicTransactionComposerTransactions(atc) {
|
|
|
644
600
|
return [];
|
|
645
601
|
}
|
|
646
602
|
}
|
|
603
|
+
|
|
604
|
+
exports.MAX_APP_CALL_ACCOUNT_REFERENCES = MAX_APP_CALL_ACCOUNT_REFERENCES;
|
|
605
|
+
exports.MAX_APP_CALL_FOREIGN_REFERENCES = MAX_APP_CALL_FOREIGN_REFERENCES;
|
|
606
|
+
exports.MAX_TRANSACTION_GROUP_SIZE = MAX_TRANSACTION_GROUP_SIZE;
|
|
607
|
+
exports.capTransactionFee = capTransactionFee;
|
|
608
|
+
exports.controlFees = controlFees;
|
|
609
|
+
exports.encodeLease = encodeLease;
|
|
610
|
+
exports.encodeTransactionNote = encodeTransactionNote;
|
|
647
611
|
exports.getAtomicTransactionComposerTransactions = getAtomicTransactionComposerTransactions;
|
|
648
|
-
|
|
612
|
+
exports.getSenderAddress = getSenderAddress;
|
|
613
|
+
exports.getSenderTransactionSigner = getSenderTransactionSigner;
|
|
614
|
+
exports.getTransactionParams = getTransactionParams;
|
|
615
|
+
exports.getTransactionWithSigner = getTransactionWithSigner;
|
|
616
|
+
exports.performAtomicTransactionComposerDryrun = performAtomicTransactionComposerDryrun;
|
|
617
|
+
exports.populateAppCallResources = populateAppCallResources;
|
|
618
|
+
exports.sendAtomicTransactionComposer = sendAtomicTransactionComposer;
|
|
619
|
+
exports.sendGroupOfTransactions = sendGroupOfTransactions;
|
|
620
|
+
exports.sendTransaction = sendTransaction;
|
|
621
|
+
exports.signTransaction = signTransaction;
|
|
622
|
+
exports.waitForConfirmation = waitForConfirmation;
|
|
623
|
+
//# sourceMappingURL=transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sources":["../../src/transaction/transaction.ts"],"sourcesContent":[null],"names":["Config","Buffer","simulateAndPersistResponse","performAtomicTransactionComposerSimulate","toNumber"],"mappings":"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"}
|