@algorandfoundation/algokit-utils 5.3.3-beta.1 → 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} +43 -46
- package/asset.js.map +1 -0
- package/{esm/asset.js → asset.mjs} +12 -10
- 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 +7 -10
- package/types/logic-error.js.map +1 -0
- package/{esm/types/logic-error.js → types/logic-error.mjs} +7 -8
- 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
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var crypto = require('crypto');
|
|
4
|
+
var app = require('../app.js');
|
|
5
|
+
var config = require('../config.js');
|
|
6
|
+
var debugging = require('../types/debugging.js');
|
|
7
|
+
var util = require('../util.js');
|
|
8
|
+
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var crypto__namespace = /*#__PURE__*/_interopNamespaceDefault(crypto);
|
|
27
|
+
|
|
28
|
+
const ALGOKIT_DIR = '.algokit';
|
|
29
|
+
const SOURCES_DIR = 'sources';
|
|
30
|
+
const SOURCES_FILE = 'sources.avm.json';
|
|
31
|
+
const TEAL_FILE_EXT = '.teal';
|
|
32
|
+
const TEAL_SOURCEMAP_EXT = '.teal.tok.map';
|
|
33
|
+
// === Internal methods ===
|
|
34
|
+
async function loadOrCreateSources(sourcesPath) {
|
|
35
|
+
try {
|
|
36
|
+
const fs = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('fs')); });
|
|
37
|
+
const data = JSON.parse(await fs.promises.readFile(sourcesPath, 'utf8'));
|
|
38
|
+
return debugging.AVMDebuggerSourceMap.fromDict(data);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
const err = error;
|
|
42
|
+
if (err.code === 'ENOENT') {
|
|
43
|
+
return new debugging.AVMDebuggerSourceMap([]);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function upsertDebugSourcemaps(sourceMaps, projectRoot) {
|
|
51
|
+
const path = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('path')); });
|
|
52
|
+
const fs = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('fs')); });
|
|
53
|
+
const sourcesPath = path.join(projectRoot, ALGOKIT_DIR, SOURCES_DIR, SOURCES_FILE);
|
|
54
|
+
const sources = await loadOrCreateSources(sourcesPath);
|
|
55
|
+
for (const sourcemap of sourceMaps) {
|
|
56
|
+
const sourceFilePath = path.resolve(sourcemap.location);
|
|
57
|
+
try {
|
|
58
|
+
await fs.promises.access(sourceFilePath);
|
|
59
|
+
const index = sources.txnGroupSources.findIndex((item) => item.equals(sourcemap));
|
|
60
|
+
if (index === -1) {
|
|
61
|
+
sources.txnGroupSources.push(sourcemap);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
sources.txnGroupSources[index] = sourcemap;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
const err = error;
|
|
69
|
+
if (err.code === 'ENOENT') {
|
|
70
|
+
const index = sources.txnGroupSources.findIndex((item) => item.equals(sourcemap));
|
|
71
|
+
if (index !== -1) {
|
|
72
|
+
sources.txnGroupSources.splice(index, 1);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
await fs.promises.writeFile(sourcesPath, JSON.stringify(sources.toDict()), 'utf8');
|
|
81
|
+
}
|
|
82
|
+
async function writeToFile(filePath, content) {
|
|
83
|
+
const path = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('path')); });
|
|
84
|
+
const fs = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('fs')); });
|
|
85
|
+
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
|
86
|
+
await fs.promises.writeFile(filePath, content, 'utf8');
|
|
87
|
+
}
|
|
88
|
+
async function buildAVMSourcemap({ rawTeal, compiledTeal, appName, fileName, outputPath, client, withSources = true, }) {
|
|
89
|
+
if (!rawTeal && !compiledTeal) {
|
|
90
|
+
throw new Error('Either rawTeal or compiledTeal must be provided.');
|
|
91
|
+
}
|
|
92
|
+
const path = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('path')); });
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
94
|
+
const result = rawTeal ? await app.compileTeal(rawTeal, client) : compiledTeal;
|
|
95
|
+
const programHash = crypto__namespace.createHash('SHA-512/256').update(Buffer.from(result.compiled, 'base64')).digest('base64');
|
|
96
|
+
const sourceMap = result.sourceMap;
|
|
97
|
+
sourceMap.sources = withSources ? [`${fileName}${TEAL_FILE_EXT}`] : [];
|
|
98
|
+
const outputDirPath = path.join(outputPath, ALGOKIT_DIR, SOURCES_DIR, appName);
|
|
99
|
+
const sourceMapOutputPath = path.join(outputDirPath, `${fileName}${TEAL_SOURCEMAP_EXT}`);
|
|
100
|
+
const tealOutputPath = path.join(outputDirPath, `${fileName}${TEAL_FILE_EXT}`);
|
|
101
|
+
await writeToFile(sourceMapOutputPath, JSON.stringify(sourceMap));
|
|
102
|
+
if (withSources && result) {
|
|
103
|
+
await writeToFile(tealOutputPath, result.teal);
|
|
104
|
+
}
|
|
105
|
+
return new debugging.AVMDebuggerSourceMapEntry(sourceMapOutputPath, programHash);
|
|
106
|
+
}
|
|
107
|
+
// === Public facing methods ===
|
|
108
|
+
/**
|
|
109
|
+
* This function persists the source maps for the given sources.
|
|
110
|
+
*
|
|
111
|
+
* @param param0 The parameters to define the persistence
|
|
112
|
+
*
|
|
113
|
+
* @returns A promise that resolves when the source maps have been persisted.
|
|
114
|
+
*/
|
|
115
|
+
async function persistSourceMaps({ sources, projectRoot, client, withSources }) {
|
|
116
|
+
if (!util.isNode()) {
|
|
117
|
+
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const sourceMaps = await Promise.all(sources.map((source) => buildAVMSourcemap({
|
|
121
|
+
rawTeal: source.rawTeal,
|
|
122
|
+
compiledTeal: source.compiledTeal,
|
|
123
|
+
appName: source.appName,
|
|
124
|
+
fileName: source.fileName,
|
|
125
|
+
outputPath: projectRoot,
|
|
126
|
+
client: client,
|
|
127
|
+
withSources: withSources,
|
|
128
|
+
})));
|
|
129
|
+
await upsertDebugSourcemaps(sourceMaps, projectRoot);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
133
|
+
config.Config.getLogger().error(`Failed to persist avm sourceMaps: ${err.stack ?? err.message ?? err}.`);
|
|
134
|
+
throw err;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
exports.persistSourceMaps = persistSourceMaps;
|
|
139
|
+
//# sourceMappingURL=debugging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugging.js","sources":["../../src/debugging/debugging.ts"],"sourcesContent":[null],"names":["AVMDebuggerSourceMap","compileTeal","crypto","AVMDebuggerSourceMapEntry","isNode","Config"],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as crypto from 'crypto';
|
|
2
|
+
import { compileTeal } from '../app.mjs';
|
|
3
|
+
import { Config } from '../config.mjs';
|
|
4
|
+
import { AVMDebuggerSourceMapEntry, AVMDebuggerSourceMap } from '../types/debugging.mjs';
|
|
5
|
+
import { isNode } from '../util.mjs';
|
|
6
|
+
|
|
7
|
+
const ALGOKIT_DIR = '.algokit';
|
|
8
|
+
const SOURCES_DIR = 'sources';
|
|
9
|
+
const SOURCES_FILE = 'sources.avm.json';
|
|
10
|
+
const TEAL_FILE_EXT = '.teal';
|
|
11
|
+
const TEAL_SOURCEMAP_EXT = '.teal.tok.map';
|
|
12
|
+
// === Internal methods ===
|
|
13
|
+
async function loadOrCreateSources(sourcesPath) {
|
|
14
|
+
try {
|
|
15
|
+
const fs = await import('fs');
|
|
16
|
+
const data = JSON.parse(await fs.promises.readFile(sourcesPath, 'utf8'));
|
|
17
|
+
return AVMDebuggerSourceMap.fromDict(data);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
const err = error;
|
|
21
|
+
if (err.code === 'ENOENT') {
|
|
22
|
+
return new AVMDebuggerSourceMap([]);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async function upsertDebugSourcemaps(sourceMaps, projectRoot) {
|
|
30
|
+
const path = await import('path');
|
|
31
|
+
const fs = await import('fs');
|
|
32
|
+
const sourcesPath = path.join(projectRoot, ALGOKIT_DIR, SOURCES_DIR, SOURCES_FILE);
|
|
33
|
+
const sources = await loadOrCreateSources(sourcesPath);
|
|
34
|
+
for (const sourcemap of sourceMaps) {
|
|
35
|
+
const sourceFilePath = path.resolve(sourcemap.location);
|
|
36
|
+
try {
|
|
37
|
+
await fs.promises.access(sourceFilePath);
|
|
38
|
+
const index = sources.txnGroupSources.findIndex((item) => item.equals(sourcemap));
|
|
39
|
+
if (index === -1) {
|
|
40
|
+
sources.txnGroupSources.push(sourcemap);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
sources.txnGroupSources[index] = sourcemap;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const err = error;
|
|
48
|
+
if (err.code === 'ENOENT') {
|
|
49
|
+
const index = sources.txnGroupSources.findIndex((item) => item.equals(sourcemap));
|
|
50
|
+
if (index !== -1) {
|
|
51
|
+
sources.txnGroupSources.splice(index, 1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
await fs.promises.writeFile(sourcesPath, JSON.stringify(sources.toDict()), 'utf8');
|
|
60
|
+
}
|
|
61
|
+
async function writeToFile(filePath, content) {
|
|
62
|
+
const path = await import('path');
|
|
63
|
+
const fs = await import('fs');
|
|
64
|
+
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
|
65
|
+
await fs.promises.writeFile(filePath, content, 'utf8');
|
|
66
|
+
}
|
|
67
|
+
async function buildAVMSourcemap({ rawTeal, compiledTeal, appName, fileName, outputPath, client, withSources = true, }) {
|
|
68
|
+
if (!rawTeal && !compiledTeal) {
|
|
69
|
+
throw new Error('Either rawTeal or compiledTeal must be provided.');
|
|
70
|
+
}
|
|
71
|
+
const path = await import('path');
|
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
73
|
+
const result = rawTeal ? await compileTeal(rawTeal, client) : compiledTeal;
|
|
74
|
+
const programHash = crypto.createHash('SHA-512/256').update(Buffer.from(result.compiled, 'base64')).digest('base64');
|
|
75
|
+
const sourceMap = result.sourceMap;
|
|
76
|
+
sourceMap.sources = withSources ? [`${fileName}${TEAL_FILE_EXT}`] : [];
|
|
77
|
+
const outputDirPath = path.join(outputPath, ALGOKIT_DIR, SOURCES_DIR, appName);
|
|
78
|
+
const sourceMapOutputPath = path.join(outputDirPath, `${fileName}${TEAL_SOURCEMAP_EXT}`);
|
|
79
|
+
const tealOutputPath = path.join(outputDirPath, `${fileName}${TEAL_FILE_EXT}`);
|
|
80
|
+
await writeToFile(sourceMapOutputPath, JSON.stringify(sourceMap));
|
|
81
|
+
if (withSources && result) {
|
|
82
|
+
await writeToFile(tealOutputPath, result.teal);
|
|
83
|
+
}
|
|
84
|
+
return new AVMDebuggerSourceMapEntry(sourceMapOutputPath, programHash);
|
|
85
|
+
}
|
|
86
|
+
// === Public facing methods ===
|
|
87
|
+
/**
|
|
88
|
+
* This function persists the source maps for the given sources.
|
|
89
|
+
*
|
|
90
|
+
* @param param0 The parameters to define the persistence
|
|
91
|
+
*
|
|
92
|
+
* @returns A promise that resolves when the source maps have been persisted.
|
|
93
|
+
*/
|
|
94
|
+
async function persistSourceMaps({ sources, projectRoot, client, withSources }) {
|
|
95
|
+
if (!isNode()) {
|
|
96
|
+
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const sourceMaps = await Promise.all(sources.map((source) => buildAVMSourcemap({
|
|
100
|
+
rawTeal: source.rawTeal,
|
|
101
|
+
compiledTeal: source.compiledTeal,
|
|
102
|
+
appName: source.appName,
|
|
103
|
+
fileName: source.fileName,
|
|
104
|
+
outputPath: projectRoot,
|
|
105
|
+
client: client,
|
|
106
|
+
withSources: withSources,
|
|
107
|
+
})));
|
|
108
|
+
await upsertDebugSourcemaps(sourceMaps, projectRoot);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
112
|
+
Config.getLogger().error(`Failed to persist avm sourceMaps: ${err.stack ?? err.message ?? err}.`);
|
|
113
|
+
throw err;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export { persistSourceMaps };
|
|
118
|
+
//# sourceMappingURL=debugging.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugging.mjs","sources":["../../src/debugging/debugging.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debugging/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iCAAiC,CAAA"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { PersistSourceMapsParams, SimulateAndPersistResponseParams } from './types/debugging';
|
|
3
|
-
/**
|
|
4
|
-
* This function persists the source maps for the given sources.
|
|
5
|
-
*
|
|
6
|
-
* @param param0 The parameters to define the persistence
|
|
7
|
-
*
|
|
8
|
-
* @returns A promise that resolves when the source maps have been persisted.
|
|
9
|
-
*/
|
|
10
|
-
export declare function persistSourceMaps({ sources, projectRoot, client, withSources }: PersistSourceMapsParams): Promise<void>;
|
|
1
|
+
import { SimulateAndPersistResponseParams } from '../types/debugging';
|
|
11
2
|
/**
|
|
12
3
|
* This function simulates the atomic transactions using the provided `AtomicTransactionComposer` object and `Algodv2` object,
|
|
13
4
|
* and persists the simulation response to an AlgoKit AVM Debugger compliant JSON file.
|
|
@@ -25,5 +16,5 @@ export declare function persistSourceMaps({ sources, projectRoot, client, withSo
|
|
|
25
16
|
* const result = await simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb });
|
|
26
17
|
* console.log(result);
|
|
27
18
|
*/
|
|
28
|
-
export declare function simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb }: SimulateAndPersistResponseParams): Promise<algosdk.
|
|
29
|
-
//# sourceMappingURL=
|
|
19
|
+
export declare function simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb }: SimulateAndPersistResponseParams): Promise<import("algosdk/dist/types/client/v2/algod/models/types").SimulateResponse>;
|
|
20
|
+
//# sourceMappingURL=simulate-and-persist-response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulate-and-persist-response.d.ts","sourceRoot":"","sources":["../../src/debugging/simulate-and-persist-response.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AAarE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,gCAAgC,uFA6E3H"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var config = require('../config.js');
|
|
4
|
+
var performAtomicTransactionComposerSimulate = require('../transaction/perform-atomic-transaction-composer-simulate.js');
|
|
5
|
+
var util = require('../util.js');
|
|
6
|
+
|
|
7
|
+
function _interopNamespaceDefault(e) {
|
|
8
|
+
var n = Object.create(null);
|
|
9
|
+
if (e) {
|
|
10
|
+
Object.keys(e).forEach(function (k) {
|
|
11
|
+
if (k !== 'default') {
|
|
12
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return e[k]; }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const TRACES_FILE_EXT = '.trace.avm.json';
|
|
25
|
+
const DEBUG_TRACES_DIR = 'debug_traces';
|
|
26
|
+
/**
|
|
27
|
+
* This function simulates the atomic transactions using the provided `AtomicTransactionComposer` object and `Algodv2` object,
|
|
28
|
+
* and persists the simulation response to an AlgoKit AVM Debugger compliant JSON file.
|
|
29
|
+
*
|
|
30
|
+
* @param param0 The parameters to control the simulation and persistence.
|
|
31
|
+
*
|
|
32
|
+
* @returns The simulation result, which includes various details about how the transactions would be processed.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* const atc = new AtomicTransactionComposer();
|
|
36
|
+
* const algod = new algosdk.Algodv2(token, server, port);
|
|
37
|
+
* const projectRoot = '/path/to/project';
|
|
38
|
+
* const bufferSizeMb = 10;
|
|
39
|
+
*
|
|
40
|
+
* const result = await simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb });
|
|
41
|
+
* console.log(result);
|
|
42
|
+
*/
|
|
43
|
+
async function simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb }) {
|
|
44
|
+
if (!util.isNode()) {
|
|
45
|
+
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
46
|
+
}
|
|
47
|
+
const fs = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('fs')); });
|
|
48
|
+
const path = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefault(require('path')); });
|
|
49
|
+
try {
|
|
50
|
+
const atcToSimulate = atc.clone();
|
|
51
|
+
const simulateResult = await performAtomicTransactionComposerSimulate.performAtomicTransactionComposerSimulate(atcToSimulate, algod);
|
|
52
|
+
const txnGroups = simulateResult.txnGroups;
|
|
53
|
+
const txnTypesCount = txnGroups.reduce((acc, txnGroup) => {
|
|
54
|
+
const txnType = txnGroup.txnResults[0].txnResult.txn.txn.type;
|
|
55
|
+
acc[txnType] = (acc[txnType] || 0) + 1;
|
|
56
|
+
return acc;
|
|
57
|
+
}, {});
|
|
58
|
+
const txnTypesStr = Object.entries(txnTypesCount)
|
|
59
|
+
.map(([type, count]) => `${count}#${type}`)
|
|
60
|
+
.join('_');
|
|
61
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '');
|
|
62
|
+
const outputRootDir = path.join(projectRoot, DEBUG_TRACES_DIR);
|
|
63
|
+
const outputFileName = `${timestamp}_lr${simulateResult.lastRound}_${txnTypesStr}${TRACES_FILE_EXT}`;
|
|
64
|
+
const outputFilePath = path.join(outputRootDir, outputFileName);
|
|
65
|
+
try {
|
|
66
|
+
await fs.promises.access(path.dirname(outputFilePath));
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
const err = error;
|
|
70
|
+
if (err.code === 'ENOENT') {
|
|
71
|
+
await fs.promises.mkdir(path.dirname(outputFilePath), { recursive: true });
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// cleanup old files if buffer size is exceeded
|
|
78
|
+
let totalSize = (await Promise.all((await fs.promises.readdir(outputRootDir)).map(async (file) => (await fs.promises.stat(path.join(outputRootDir, file))).size))).reduce((a, b) => a + b, 0);
|
|
79
|
+
if (totalSize > bufferSizeMb * 1024 * 1024) {
|
|
80
|
+
const sortedFiles = (await fs.promises.readdir(outputRootDir)).map(async (file) => {
|
|
81
|
+
const stats = await fs.promises.stat(path.join(outputRootDir, file));
|
|
82
|
+
return { file, mtime: stats.mtime };
|
|
83
|
+
});
|
|
84
|
+
// Since map returns an array of promises, we need to await all of them
|
|
85
|
+
const resolvedFiles = await Promise.all(sortedFiles);
|
|
86
|
+
resolvedFiles.sort((a, b) => a.mtime.getTime() - b.mtime.getTime());
|
|
87
|
+
while (totalSize > bufferSizeMb * 1024 * 1024) {
|
|
88
|
+
const oldestFilePromise = sortedFiles.shift();
|
|
89
|
+
if (oldestFilePromise) {
|
|
90
|
+
const oldestFile = await oldestFilePromise;
|
|
91
|
+
const stats = await fs.promises.stat(path.join(outputRootDir, oldestFile.file));
|
|
92
|
+
totalSize -= stats.size;
|
|
93
|
+
await fs.promises.unlink(path.join(outputRootDir, oldestFile.file));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
await fs.promises.writeFile(outputFilePath, JSON.stringify(simulateResult.get_obj_for_encoding(), null, 2));
|
|
98
|
+
return simulateResult;
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
102
|
+
config.Config.getLogger().error(`Failed to simulate and persist avm traces: ${err.stack ?? err.message ?? err}.`);
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
exports.simulateAndPersistResponse = simulateAndPersistResponse;
|
|
108
|
+
//# sourceMappingURL=simulate-and-persist-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulate-and-persist-response.js","sources":["../../src/debugging/simulate-and-persist-response.ts"],"sourcesContent":[null],"names":["isNode","performAtomicTransactionComposerSimulate","Config"],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Config } from '../config.mjs';
|
|
2
|
+
import { performAtomicTransactionComposerSimulate } from '../transaction/perform-atomic-transaction-composer-simulate.mjs';
|
|
3
|
+
import { isNode } from '../util.mjs';
|
|
4
|
+
|
|
5
|
+
const TRACES_FILE_EXT = '.trace.avm.json';
|
|
6
|
+
const DEBUG_TRACES_DIR = 'debug_traces';
|
|
7
|
+
/**
|
|
8
|
+
* This function simulates the atomic transactions using the provided `AtomicTransactionComposer` object and `Algodv2` object,
|
|
9
|
+
* and persists the simulation response to an AlgoKit AVM Debugger compliant JSON file.
|
|
10
|
+
*
|
|
11
|
+
* @param param0 The parameters to control the simulation and persistence.
|
|
12
|
+
*
|
|
13
|
+
* @returns The simulation result, which includes various details about how the transactions would be processed.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const atc = new AtomicTransactionComposer();
|
|
17
|
+
* const algod = new algosdk.Algodv2(token, server, port);
|
|
18
|
+
* const projectRoot = '/path/to/project';
|
|
19
|
+
* const bufferSizeMb = 10;
|
|
20
|
+
*
|
|
21
|
+
* const result = await simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb });
|
|
22
|
+
* console.log(result);
|
|
23
|
+
*/
|
|
24
|
+
async function simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb }) {
|
|
25
|
+
if (!isNode()) {
|
|
26
|
+
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
27
|
+
}
|
|
28
|
+
const fs = await import('fs');
|
|
29
|
+
const path = await import('path');
|
|
30
|
+
try {
|
|
31
|
+
const atcToSimulate = atc.clone();
|
|
32
|
+
const simulateResult = await performAtomicTransactionComposerSimulate(atcToSimulate, algod);
|
|
33
|
+
const txnGroups = simulateResult.txnGroups;
|
|
34
|
+
const txnTypesCount = txnGroups.reduce((acc, txnGroup) => {
|
|
35
|
+
const txnType = txnGroup.txnResults[0].txnResult.txn.txn.type;
|
|
36
|
+
acc[txnType] = (acc[txnType] || 0) + 1;
|
|
37
|
+
return acc;
|
|
38
|
+
}, {});
|
|
39
|
+
const txnTypesStr = Object.entries(txnTypesCount)
|
|
40
|
+
.map(([type, count]) => `${count}#${type}`)
|
|
41
|
+
.join('_');
|
|
42
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '');
|
|
43
|
+
const outputRootDir = path.join(projectRoot, DEBUG_TRACES_DIR);
|
|
44
|
+
const outputFileName = `${timestamp}_lr${simulateResult.lastRound}_${txnTypesStr}${TRACES_FILE_EXT}`;
|
|
45
|
+
const outputFilePath = path.join(outputRootDir, outputFileName);
|
|
46
|
+
try {
|
|
47
|
+
await fs.promises.access(path.dirname(outputFilePath));
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
const err = error;
|
|
51
|
+
if (err.code === 'ENOENT') {
|
|
52
|
+
await fs.promises.mkdir(path.dirname(outputFilePath), { recursive: true });
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw err;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// cleanup old files if buffer size is exceeded
|
|
59
|
+
let totalSize = (await Promise.all((await fs.promises.readdir(outputRootDir)).map(async (file) => (await fs.promises.stat(path.join(outputRootDir, file))).size))).reduce((a, b) => a + b, 0);
|
|
60
|
+
if (totalSize > bufferSizeMb * 1024 * 1024) {
|
|
61
|
+
const sortedFiles = (await fs.promises.readdir(outputRootDir)).map(async (file) => {
|
|
62
|
+
const stats = await fs.promises.stat(path.join(outputRootDir, file));
|
|
63
|
+
return { file, mtime: stats.mtime };
|
|
64
|
+
});
|
|
65
|
+
// Since map returns an array of promises, we need to await all of them
|
|
66
|
+
const resolvedFiles = await Promise.all(sortedFiles);
|
|
67
|
+
resolvedFiles.sort((a, b) => a.mtime.getTime() - b.mtime.getTime());
|
|
68
|
+
while (totalSize > bufferSizeMb * 1024 * 1024) {
|
|
69
|
+
const oldestFilePromise = sortedFiles.shift();
|
|
70
|
+
if (oldestFilePromise) {
|
|
71
|
+
const oldestFile = await oldestFilePromise;
|
|
72
|
+
const stats = await fs.promises.stat(path.join(outputRootDir, oldestFile.file));
|
|
73
|
+
totalSize -= stats.size;
|
|
74
|
+
await fs.promises.unlink(path.join(outputRootDir, oldestFile.file));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
await fs.promises.writeFile(outputFilePath, JSON.stringify(simulateResult.get_obj_for_encoding(), null, 2));
|
|
79
|
+
return simulateResult;
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
83
|
+
Config.getLogger().error(`Failed to simulate and persist avm traces: ${err.stack ?? err.message ?? err}.`);
|
|
84
|
+
throw err;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { simulateAndPersistResponse };
|
|
89
|
+
//# sourceMappingURL=simulate-and-persist-response.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulate-and-persist-response.mjs","sources":["../../src/debugging/simulate-and-persist-response.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispenser-client.d.ts","sourceRoot":"","sources":["../src/dispenser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAErG;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,GAAE,+BAA+B,GAAG,IAAW,6BAEjG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dispenserClient = require('./types/dispenser-client.js');
|
|
4
|
+
|
|
5
5
|
/**
|
|
6
6
|
* Create a new TestNetDispenserApiClient instance.
|
|
7
7
|
* Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.
|
|
@@ -19,7 +19,8 @@ const dispenser_client_1 = require("./types/dispenser-client");
|
|
|
19
19
|
* @returns An instance of the TestNetDispenserApiClient class.
|
|
20
20
|
*/
|
|
21
21
|
function getTestNetDispenserApiClient(params = null) {
|
|
22
|
-
return new
|
|
22
|
+
return new dispenserClient.TestNetDispenserApiClient(params);
|
|
23
23
|
}
|
|
24
|
+
|
|
24
25
|
exports.getTestNetDispenserApiClient = getTestNetDispenserApiClient;
|
|
25
|
-
//# sourceMappingURL=dispenser-client.js.map
|
|
26
|
+
//# sourceMappingURL=dispenser-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispenser-client.js","sources":["../src/dispenser-client.ts"],"sourcesContent":[null],"names":["TestNetDispenserApiClient"],"mappings":";;;;AAEA;;;;;;;;;;;;;;;AAeG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAIA,yCAAyB,CAAC,MAAM,CAAC,CAAA;AAC9C;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { TestNetDispenserApiClient } from './types/dispenser-client.
|
|
1
|
+
import { TestNetDispenserApiClient } from './types/dispenser-client.mjs';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* Create a new TestNetDispenserApiClient instance.
|
|
4
5
|
* Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.
|
|
@@ -15,7 +16,9 @@ import { TestNetDispenserApiClient } from './types/dispenser-client.js';
|
|
|
15
16
|
*
|
|
16
17
|
* @returns An instance of the TestNetDispenserApiClient class.
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
function getTestNetDispenserApiClient(params = null) {
|
|
19
20
|
return new TestNetDispenserApiClient(params);
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
+
|
|
23
|
+
export { getTestNetDispenserApiClient };
|
|
24
|
+
//# sourceMappingURL=dispenser-client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispenser-client.mjs","sources":["../src/dispenser-client.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;AAeG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAC9C;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { UpdatableConfig } from './types/config';
|
|
2
1
|
export * from './account';
|
|
3
2
|
export * from './amount';
|
|
4
3
|
export * from './app';
|
|
5
4
|
export * from './app-client';
|
|
6
5
|
export * from './app-deploy';
|
|
7
6
|
export * from './asset';
|
|
7
|
+
export * from './config';
|
|
8
8
|
export * from './debugging';
|
|
9
9
|
export * from './dispenser-client';
|
|
10
10
|
export * from './indexer-lookup';
|
|
@@ -12,6 +12,4 @@ export * from './localnet';
|
|
|
12
12
|
export * from './network-client';
|
|
13
13
|
export * from './transaction';
|
|
14
14
|
export * from './transfer';
|
|
15
|
-
/** The AlgoKit config. To update it use the configure method. */
|
|
16
|
-
export declare const Config: UpdatableConfig;
|
|
17
15
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
|