@algorandfoundation/algokit-utils 6.2.1 → 7.0.0-alpha.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/LICENSE +21 -0
- package/README.md +22 -26
- package/account/account.d.ts +21 -11
- package/account/get-account-config-from-environment.d.ts +0 -1
- package/account/get-account.d.ts +6 -7
- package/account/get-dispenser-account.d.ts +2 -3
- package/account/index.d.ts +0 -1
- package/account/mnemonic-account.d.ts +1 -2
- package/amount.d.ts +41 -9
- package/app-client.d.ts +19 -5
- package/app-deploy.d.ts +18 -2
- package/app.d.ts +39 -3
- package/asset.d.ts +10 -1
- package/config.d.ts +0 -1
- package/debugging/debugging.d.ts +3 -5
- package/debugging/index.d.ts +0 -2
- package/dispenser-client.d.ts +1 -2
- package/index.d.ts +8 -6
- package/index.js +61 -48
- package/index.js.map +1 -1
- package/index.mjs +27 -24
- package/index.mjs.map +1 -1
- package/indexer-lookup.d.ts +10 -9
- package/localnet/get-kmd-wallet-account.d.ts +1 -2
- package/localnet/get-localnet-dispenser-account.d.ts +1 -2
- package/localnet/get-or-create-kmd-wallet-account.d.ts +2 -3
- package/localnet/index.d.ts +0 -1
- package/localnet/is-localnet.d.ts +1 -2
- package/network-client.d.ts +3 -10
- package/package.json +5 -5
- package/{account → src/account}/account.js +38 -15
- package/src/account/account.js.map +1 -0
- package/{account → src/account}/account.mjs +39 -16
- package/src/account/account.mjs.map +1 -0
- package/src/account/get-account-config-from-environment.js.map +1 -0
- package/src/account/get-account-config-from-environment.mjs.map +1 -0
- package/{account → src/account}/get-account.js +5 -5
- package/src/account/get-account.js.map +1 -0
- package/{account → src/account}/get-account.mjs +5 -5
- package/src/account/get-account.mjs.map +1 -0
- package/{account → src/account}/get-dispenser-account.js +3 -3
- package/src/account/get-dispenser-account.js.map +1 -0
- package/{account → src/account}/get-dispenser-account.mjs +3 -3
- package/src/account/get-dispenser-account.mjs.map +1 -0
- package/{account → src/account}/mnemonic-account.js +1 -1
- package/src/account/mnemonic-account.js.map +1 -0
- package/{account → src/account}/mnemonic-account.mjs +1 -1
- package/src/account/mnemonic-account.mjs.map +1 -0
- package/src/amount.js +61 -0
- package/src/amount.js.map +1 -0
- package/src/amount.mjs +54 -0
- package/src/amount.mjs.map +1 -0
- package/{app-client.js → src/app-client.js} +20 -5
- package/src/app-client.js.map +1 -0
- package/{app-client.mjs → src/app-client.mjs} +20 -5
- package/src/app-client.mjs.map +1 -0
- package/src/app-deploy.js +285 -0
- package/src/app-deploy.js.map +1 -0
- package/src/app-deploy.mjs +276 -0
- package/src/app-deploy.mjs.map +1 -0
- package/src/app.js +349 -0
- package/src/app.js.map +1 -0
- package/src/app.mjs +329 -0
- package/src/app.mjs.map +1 -0
- package/src/asset.js +142 -0
- package/src/asset.js.map +1 -0
- package/src/asset.mjs +136 -0
- package/src/asset.mjs.map +1 -0
- package/{config.js → src/config.js} +1 -1
- package/src/config.js.map +1 -0
- package/{config.mjs → src/config.mjs} +1 -1
- package/src/config.mjs.map +1 -0
- package/src/debugging/debugging.js +15 -0
- package/src/debugging/debugging.js.map +1 -0
- package/src/debugging/debugging.mjs +13 -0
- package/src/debugging/debugging.mjs.map +1 -0
- package/{dispenser-client.js → src/dispenser-client.js} +3 -3
- package/src/dispenser-client.js.map +1 -0
- package/{dispenser-client.mjs → src/dispenser-client.mjs} +3 -3
- package/src/dispenser-client.mjs.map +1 -0
- package/{indexer-lookup.js → src/indexer-lookup.js} +14 -10
- package/src/indexer-lookup.js.map +1 -0
- package/{indexer-lookup.mjs → src/indexer-lookup.mjs} +14 -10
- package/src/indexer-lookup.mjs.map +1 -0
- package/{localnet → src/localnet}/get-kmd-wallet-account.js +3 -3
- package/src/localnet/get-kmd-wallet-account.js.map +1 -0
- package/{localnet → src/localnet}/get-kmd-wallet-account.mjs +3 -3
- package/src/localnet/get-kmd-wallet-account.mjs.map +1 -0
- package/{localnet → src/localnet}/get-localnet-dispenser-account.js +3 -3
- package/src/localnet/get-localnet-dispenser-account.js.map +1 -0
- package/{localnet → src/localnet}/get-localnet-dispenser-account.mjs +3 -3
- package/src/localnet/get-localnet-dispenser-account.mjs.map +1 -0
- package/{localnet → src/localnet}/get-or-create-kmd-wallet-account.js +4 -4
- package/src/localnet/get-or-create-kmd-wallet-account.js.map +1 -0
- package/{localnet → src/localnet}/get-or-create-kmd-wallet-account.mjs +4 -4
- package/src/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -0
- package/{localnet → src/localnet}/is-localnet.js +2 -2
- package/src/localnet/is-localnet.js.map +1 -0
- package/{localnet → src/localnet}/is-localnet.mjs +2 -2
- package/src/localnet/is-localnet.mjs.map +1 -0
- package/{network-client.js → src/network-client.js} +5 -12
- package/src/network-client.js.map +1 -0
- package/{network-client.mjs → src/network-client.mjs} +5 -12
- package/src/network-client.mjs.map +1 -0
- package/{testing → src/testing}/account.js +16 -4
- package/src/testing/account.js.map +1 -0
- package/{testing → src/testing}/account.mjs +17 -5
- package/src/testing/account.mjs.map +1 -0
- package/src/testing/fixtures/algokit-log-capture-fixture.js.map +1 -0
- package/src/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -0
- package/{testing → src/testing}/fixtures/algorand-fixture.js +18 -14
- package/src/testing/fixtures/algorand-fixture.js.map +1 -0
- package/{testing → src/testing}/fixtures/algorand-fixture.mjs +18 -14
- package/src/testing/fixtures/algorand-fixture.mjs.map +1 -0
- package/src/testing/indexer.js.map +1 -0
- package/src/testing/indexer.mjs.map +1 -0
- package/{testing → src/testing}/test-logger.js +7 -3
- package/src/testing/test-logger.js.map +1 -0
- package/{testing → src/testing}/test-logger.mjs +7 -3
- package/src/testing/test-logger.mjs.map +1 -0
- package/src/testing/transaction-logger.js.map +1 -0
- package/src/testing/transaction-logger.mjs.map +1 -0
- package/src/transaction/legacy-bridge.js +129 -0
- package/src/transaction/legacy-bridge.js.map +1 -0
- package/src/transaction/legacy-bridge.mjs +124 -0
- package/src/transaction/legacy-bridge.mjs.map +1 -0
- package/{transaction → src/transaction}/perform-atomic-transaction-composer-simulate.js +14 -9
- package/src/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -0
- package/{transaction → src/transaction}/perform-atomic-transaction-composer-simulate.mjs +15 -10
- package/src/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -0
- package/{transaction → src/transaction}/transaction.js +221 -141
- package/src/transaction/transaction.js.map +1 -0
- package/{transaction → src/transaction}/transaction.mjs +222 -142
- package/src/transaction/transaction.mjs.map +1 -0
- package/src/transfer/transfer-algos.js +31 -0
- package/src/transfer/transfer-algos.js.map +1 -0
- package/src/transfer/transfer-algos.mjs +29 -0
- package/src/transfer/transfer-algos.mjs.map +1 -0
- package/src/transfer/transfer.js +112 -0
- package/src/transfer/transfer.js.map +1 -0
- package/src/transfer/transfer.mjs +108 -0
- package/src/transfer/transfer.mjs.map +1 -0
- package/{util.js → src/util.js} +33 -7
- package/src/util.js.map +1 -0
- package/{util.mjs → src/util.mjs} +31 -7
- package/src/util.mjs.map +1 -0
- package/testing/_asset.d.ts +3 -5
- package/testing/account.d.ts +4 -4
- package/testing/fixtures/algokit-log-capture-fixture.d.ts +0 -1
- package/testing/fixtures/algorand-fixture.d.ts +1 -2
- package/testing/fixtures/index.d.ts +0 -1
- package/testing/index.d.ts +0 -1
- package/testing/index.js +6 -6
- package/testing/index.mjs +6 -6
- package/testing/indexer.d.ts +0 -1
- package/testing/test-logger.d.ts +0 -1
- package/testing/transaction-logger.d.ts +0 -1
- package/transaction/index.d.ts +0 -1
- package/transaction/legacy-bridge.d.ts +35 -0
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts +4 -2
- package/transaction/transaction.d.ts +39 -20
- package/transfer/index.d.ts +0 -1
- package/transfer/transfer-algos.d.ts +4 -3
- package/transfer/transfer.d.ts +8 -2
- package/types/account-manager.d.ts +165 -40
- package/types/account-manager.js +255 -59
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +255 -59
- package/types/account-manager.mjs.map +1 -1
- package/types/account.d.ts +137 -14
- package/types/account.js +2 -2
- package/types/account.js.map +1 -1
- package/types/account.mjs +3 -3
- package/types/account.mjs.map +1 -1
- package/types/algo-http-client-with-retry.d.ts +1 -3
- package/types/algo-http-client-with-retry.js +34 -4
- package/types/algo-http-client-with-retry.js.map +1 -1
- package/types/algo-http-client-with-retry.mjs +33 -3
- package/types/algo-http-client-with-retry.mjs.map +1 -1
- package/types/algorand-client-interface.d.ts +28 -0
- package/types/algorand-client-interface.js +3 -0
- package/types/algorand-client-interface.js.map +1 -0
- package/types/algorand-client-interface.mjs +2 -0
- package/types/algorand-client-interface.mjs.map +1 -0
- package/types/algorand-client-transaction-creator.d.ts +718 -0
- package/types/algorand-client-transaction-creator.js +683 -0
- package/types/algorand-client-transaction-creator.js.map +1 -0
- package/types/algorand-client-transaction-creator.mjs +681 -0
- package/types/algorand-client-transaction-creator.mjs.map +1 -0
- package/types/algorand-client-transaction-sender.d.ts +1158 -0
- package/types/algorand-client-transaction-sender.js +852 -0
- package/types/algorand-client-transaction-sender.js.map +1 -0
- package/types/algorand-client-transaction-sender.mjs +850 -0
- package/types/algorand-client-transaction-sender.mjs.map +1 -0
- package/types/algorand-client.d.ts +48 -91
- package/types/algorand-client.js +53 -132
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +55 -131
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.d.ts +23 -12
- package/types/amount.js +33 -10
- package/types/amount.js.map +1 -1
- package/types/amount.mjs +33 -10
- package/types/amount.mjs.map +1 -1
- package/types/app-arc56.d.ts +359 -0
- package/types/app-arc56.js +184 -0
- package/types/app-arc56.js.map +1 -0
- package/types/app-arc56.mjs +175 -0
- package/types/app-arc56.mjs.map +1 -0
- package/types/app-client.d.ts +1511 -15
- package/types/app-client.js +1029 -43
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +1030 -45
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +126 -0
- package/types/app-deployer.js +353 -0
- package/types/app-deployer.js.map +1 -0
- package/types/app-deployer.mjs +351 -0
- package/types/app-deployer.mjs.map +1 -0
- package/types/app-factory.d.ts +846 -0
- package/types/app-factory.js +410 -0
- package/types/app-factory.js.map +1 -0
- package/types/app-factory.mjs +408 -0
- package/types/app-factory.mjs.map +1 -0
- package/types/app-manager.d.ts +244 -0
- package/types/app-manager.js +423 -0
- package/types/app-manager.js.map +1 -0
- package/types/app-manager.mjs +421 -0
- package/types/app-manager.mjs.map +1 -0
- package/types/app-spec.d.ts +2 -1
- package/types/app-spec.js +127 -0
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +126 -0
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +57 -18
- package/types/app.js +1 -1
- package/types/app.js.map +1 -1
- package/types/app.mjs +1 -1
- package/types/app.mjs.map +1 -1
- package/types/asset-manager.d.ts +205 -0
- package/types/asset-manager.js +176 -0
- package/types/asset-manager.js.map +1 -0
- package/types/asset-manager.mjs +174 -0
- package/types/asset-manager.mjs.map +1 -0
- package/types/asset.d.ts +4 -5
- package/types/async-event-emitter.d.ts +14 -0
- package/types/async-event-emitter.js +50 -0
- package/types/async-event-emitter.js.map +1 -0
- package/types/async-event-emitter.mjs +48 -0
- package/types/async-event-emitter.mjs.map +1 -0
- package/types/client-manager.d.ts +171 -58
- package/types/client-manager.js +198 -43
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +199 -44
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +474 -132
- package/types/composer.js +461 -167
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +461 -168
- package/types/composer.mjs.map +1 -1
- package/types/config.d.ts +3 -6
- package/types/config.js +5 -44
- package/types/config.js.map +1 -1
- package/types/config.mjs +5 -27
- package/types/config.mjs.map +1 -1
- package/types/debugging.d.ts +29 -101
- package/types/debugging.js +16 -109
- package/types/debugging.js.map +1 -1
- package/types/debugging.mjs +12 -107
- package/types/debugging.mjs.map +1 -1
- package/types/dispenser-client.d.ts +14 -6
- package/types/dispenser-client.js +19 -14
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +19 -14
- package/types/dispenser-client.mjs.map +1 -1
- package/types/expand.d.ts +7 -0
- package/types/expand.js +3 -0
- package/types/expand.js.map +1 -0
- package/types/expand.mjs +2 -0
- package/types/expand.mjs.map +1 -0
- package/types/indexer.d.ts +74 -756
- package/types/indexer.js.map +1 -1
- package/types/indexer.mjs.map +1 -1
- package/types/kmd-account-manager.d.ts +5 -6
- package/types/kmd-account-manager.js +9 -9
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +10 -10
- package/types/kmd-account-manager.mjs.map +1 -1
- package/types/lifecycle-events.d.ts +10 -0
- package/types/lifecycle-events.js +8 -0
- package/types/lifecycle-events.js.map +1 -0
- package/types/lifecycle-events.mjs +8 -0
- package/types/lifecycle-events.mjs.map +1 -0
- package/types/logging.d.ts +0 -1
- package/types/logging.js.map +1 -1
- package/types/logging.mjs.map +1 -1
- package/types/logic-error.d.ts +2 -4
- package/types/logic-error.js +3 -3
- package/types/logic-error.js.map +1 -1
- package/types/logic-error.mjs +3 -3
- package/types/logic-error.mjs.map +1 -1
- package/types/network-client.d.ts +21 -3
- package/types/network-client.js +10 -0
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs +9 -0
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +9 -11
- package/types/transaction.d.ts +17 -4
- package/types/transfer.d.ts +8 -8
- package/util.d.ts +15 -2
- package/account/account.d.ts.map +0 -1
- package/account/account.js.map +0 -1
- package/account/account.mjs.map +0 -1
- package/account/get-account-config-from-environment.d.ts.map +0 -1
- package/account/get-account-config-from-environment.js.map +0 -1
- package/account/get-account-config-from-environment.mjs.map +0 -1
- package/account/get-account.d.ts.map +0 -1
- package/account/get-account.js.map +0 -1
- package/account/get-account.mjs.map +0 -1
- package/account/get-dispenser-account.d.ts.map +0 -1
- package/account/get-dispenser-account.js.map +0 -1
- package/account/get-dispenser-account.mjs.map +0 -1
- package/account/index.d.ts.map +0 -1
- package/account/mnemonic-account.d.ts.map +0 -1
- package/account/mnemonic-account.js.map +0 -1
- package/account/mnemonic-account.mjs.map +0 -1
- package/amount.d.ts.map +0 -1
- package/amount.js +0 -34
- package/amount.js.map +0 -1
- package/amount.mjs +0 -30
- package/amount.mjs.map +0 -1
- package/app-client.d.ts.map +0 -1
- package/app-client.js.map +0 -1
- package/app-client.mjs.map +0 -1
- package/app-deploy.d.ts.map +0 -1
- package/app-deploy.js +0 -468
- package/app-deploy.js.map +0 -1
- package/app-deploy.mjs +0 -459
- package/app-deploy.mjs.map +0 -1
- package/app.d.ts.map +0 -1
- package/app.js +0 -599
- package/app.js.map +0 -1
- package/app.mjs +0 -579
- package/app.mjs.map +0 -1
- package/asset.d.ts.map +0 -1
- package/asset.js +0 -272
- package/asset.js.map +0 -1
- package/asset.mjs +0 -266
- package/asset.mjs.map +0 -1
- package/config.d.ts.map +0 -1
- package/config.js.map +0 -1
- package/config.mjs.map +0 -1
- package/debugging/debugging.d.ts.map +0 -1
- package/debugging/debugging.js +0 -139
- package/debugging/debugging.js.map +0 -1
- package/debugging/debugging.mjs +0 -118
- package/debugging/debugging.mjs.map +0 -1
- package/debugging/index.d.ts.map +0 -1
- package/debugging/simulate-and-persist-response.d.ts +0 -20
- package/debugging/simulate-and-persist-response.d.ts.map +0 -1
- package/debugging/simulate-and-persist-response.js +0 -108
- package/debugging/simulate-and-persist-response.js.map +0 -1
- package/debugging/simulate-and-persist-response.mjs +0 -89
- package/debugging/simulate-and-persist-response.mjs.map +0 -1
- package/dispenser-client.d.ts.map +0 -1
- package/dispenser-client.js.map +0 -1
- package/dispenser-client.mjs.map +0 -1
- package/index.d.ts.map +0 -1
- package/indexer-lookup.d.ts.map +0 -1
- package/indexer-lookup.js.map +0 -1
- package/indexer-lookup.mjs.map +0 -1
- package/localnet/get-kmd-wallet-account.d.ts.map +0 -1
- package/localnet/get-kmd-wallet-account.js.map +0 -1
- package/localnet/get-kmd-wallet-account.mjs.map +0 -1
- package/localnet/get-localnet-dispenser-account.d.ts.map +0 -1
- package/localnet/get-localnet-dispenser-account.js.map +0 -1
- package/localnet/get-localnet-dispenser-account.mjs.map +0 -1
- package/localnet/get-or-create-kmd-wallet-account.d.ts.map +0 -1
- package/localnet/get-or-create-kmd-wallet-account.js.map +0 -1
- package/localnet/get-or-create-kmd-wallet-account.mjs.map +0 -1
- package/localnet/index.d.ts.map +0 -1
- package/localnet/is-localnet.d.ts.map +0 -1
- package/localnet/is-localnet.js.map +0 -1
- package/localnet/is-localnet.mjs.map +0 -1
- package/network-client.d.ts.map +0 -1
- package/network-client.js.map +0 -1
- package/network-client.mjs.map +0 -1
- package/testing/_asset.d.ts.map +0 -1
- package/testing/account.d.ts.map +0 -1
- package/testing/account.js.map +0 -1
- package/testing/account.mjs.map +0 -1
- package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
- package/testing/fixtures/algokit-log-capture-fixture.js.map +0 -1
- package/testing/fixtures/algokit-log-capture-fixture.mjs.map +0 -1
- package/testing/fixtures/algorand-fixture.d.ts.map +0 -1
- package/testing/fixtures/algorand-fixture.js.map +0 -1
- package/testing/fixtures/algorand-fixture.mjs.map +0 -1
- package/testing/fixtures/index.d.ts.map +0 -1
- package/testing/index.d.ts.map +0 -1
- package/testing/indexer.d.ts.map +0 -1
- package/testing/indexer.js.map +0 -1
- package/testing/indexer.mjs.map +0 -1
- package/testing/test-logger.d.ts.map +0 -1
- package/testing/test-logger.js.map +0 -1
- package/testing/test-logger.mjs.map +0 -1
- package/testing/transaction-logger.d.ts.map +0 -1
- package/testing/transaction-logger.js.map +0 -1
- package/testing/transaction-logger.mjs.map +0 -1
- package/transaction/index.d.ts.map +0 -1
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts.map +0 -1
- package/transaction/perform-atomic-transaction-composer-simulate.js.map +0 -1
- package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +0 -1
- package/transaction/transaction.d.ts.map +0 -1
- package/transaction/transaction.js.map +0 -1
- package/transaction/transaction.mjs.map +0 -1
- package/transfer/index.d.ts.map +0 -1
- package/transfer/transfer-algos.d.ts.map +0 -1
- package/transfer/transfer-algos.js +0 -40
- package/transfer/transfer-algos.js.map +0 -1
- package/transfer/transfer-algos.mjs +0 -38
- package/transfer/transfer-algos.mjs.map +0 -1
- package/transfer/transfer.d.ts.map +0 -1
- package/transfer/transfer.js +0 -147
- package/transfer/transfer.js.map +0 -1
- package/transfer/transfer.mjs +0 -143
- package/transfer/transfer.mjs.map +0 -1
- package/types/account-manager.d.ts.map +0 -1
- package/types/account.d.ts.map +0 -1
- package/types/algo-http-client-with-retry.d.ts.map +0 -1
- package/types/algorand-client.d.ts.map +0 -1
- package/types/amount.d.ts.map +0 -1
- package/types/app-client.d.ts.map +0 -1
- package/types/app-spec.d.ts.map +0 -1
- package/types/app.d.ts.map +0 -1
- package/types/asset.d.ts.map +0 -1
- package/types/client-manager.d.ts.map +0 -1
- package/types/composer.d.ts.map +0 -1
- package/types/config.d.ts.map +0 -1
- package/types/debugging.d.ts.map +0 -1
- package/types/dispenser-client.d.ts.map +0 -1
- package/types/indexer.d.ts.map +0 -1
- package/types/kmd-account-manager.d.ts.map +0 -1
- package/types/logging.d.ts.map +0 -1
- package/types/logic-error.d.ts.map +0 -1
- package/types/network-client.d.ts.map +0 -1
- package/types/testing.d.ts.map +0 -1
- package/types/transaction.d.ts.map +0 -1
- package/types/transfer.d.ts.map +0 -1
- package/types/urlTokenBaseHTTPClient.d.ts +0 -41
- package/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/types/urlTokenBaseHTTPClient.js +0 -153
- package/types/urlTokenBaseHTTPClient.js.map +0 -1
- package/types/urlTokenBaseHTTPClient.mjs +0 -151
- package/types/urlTokenBaseHTTPClient.mjs.map +0 -1
- package/util.d.ts.map +0 -1
- package/util.js.map +0 -1
- package/util.mjs.map +0 -1
- /package/{account → src/account}/get-account-config-from-environment.js +0 -0
- /package/{account → src/account}/get-account-config-from-environment.mjs +0 -0
- /package/{testing → src/testing}/fixtures/algokit-log-capture-fixture.js +0 -0
- /package/{testing → src/testing}/fixtures/algokit-log-capture-fixture.mjs +0 -0
- /package/{testing → src/testing}/indexer.js +0 -0
- /package/{testing → src/testing}/indexer.mjs +0 -0
- /package/{testing → src/testing}/transaction-logger.js +0 -0
- /package/{testing → src/testing}/transaction-logger.mjs +0 -0
package/app.js
DELETED
|
@@ -1,599 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var algosdk = require('algosdk');
|
|
4
|
-
var buffer = require('buffer');
|
|
5
|
-
var config = require('./config.js');
|
|
6
|
-
var transaction = require('./transaction/transaction.js');
|
|
7
|
-
var types_app = require('./types/app.js');
|
|
8
|
-
var util = require('./util.js');
|
|
9
|
-
|
|
10
|
-
var ABIMethod = algosdk.ABIMethod;
|
|
11
|
-
var AtomicTransactionComposer = algosdk.AtomicTransactionComposer;
|
|
12
|
-
var modelsv2 = algosdk.modelsv2;
|
|
13
|
-
var OnApplicationComplete = algosdk.OnApplicationComplete;
|
|
14
|
-
var SourceMap = algosdk.SourceMap;
|
|
15
|
-
/**
|
|
16
|
-
* Creates a smart contract app, returns the details of the created app.
|
|
17
|
-
* @param create The parameters to create the app with
|
|
18
|
-
* @param algod An algod client
|
|
19
|
-
* @returns The details of the created app, or the transaction to create it if `skipSending` and the compilation result
|
|
20
|
-
*/
|
|
21
|
-
async function createApp(create, algod) {
|
|
22
|
-
const { from, approvalProgram: approval, clearStateProgram: clear, schema, note, transactionParams, args, onCompleteAction, ...sendParams } = create;
|
|
23
|
-
const compiledApproval = typeof approval === 'string' ? await compileTeal(approval, algod) : undefined;
|
|
24
|
-
const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : approval;
|
|
25
|
-
const compiledClear = typeof clear === 'string' ? await compileTeal(clear, algod) : undefined;
|
|
26
|
-
const clearProgram = compiledClear ? compiledClear.compiledBase64ToBytes : clear;
|
|
27
|
-
if (args && args.method) {
|
|
28
|
-
const atc = attachATC(sendParams);
|
|
29
|
-
const before = transaction.getAtomicTransactionComposerTransactions(atc);
|
|
30
|
-
atc.addMethodCall({
|
|
31
|
-
appID: 0,
|
|
32
|
-
approvalProgram: approvalProgram,
|
|
33
|
-
clearProgram: clearProgram,
|
|
34
|
-
numLocalInts: schema.localInts,
|
|
35
|
-
numLocalByteSlices: schema.localByteSlices,
|
|
36
|
-
numGlobalInts: schema.globalInts,
|
|
37
|
-
numGlobalByteSlices: schema.globalByteSlices,
|
|
38
|
-
extraPages: schema.extraPages ?? Math.floor((approvalProgram.length + clearProgram.length) / types_app.APP_PAGE_MAX_SIZE),
|
|
39
|
-
onComplete: getAppOnCompleteAction(onCompleteAction),
|
|
40
|
-
suggestedParams: transaction.controlFees(await transaction.getTransactionParams(transactionParams, algod), sendParams),
|
|
41
|
-
note: transaction.encodeTransactionNote(note),
|
|
42
|
-
...(await getAppArgsForABICall(args, from)),
|
|
43
|
-
});
|
|
44
|
-
if (sendParams.skipSending) {
|
|
45
|
-
const after = atc.clone().buildGroup();
|
|
46
|
-
return {
|
|
47
|
-
transaction: after[after.length - 1].txn,
|
|
48
|
-
transactions: after.slice(before.length).map((t) => t.txn),
|
|
49
|
-
appId: 0,
|
|
50
|
-
appAddress: '',
|
|
51
|
-
compiledApproval,
|
|
52
|
-
compiledClear,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
const result = await transaction.sendAtomicTransactionComposer({ atc, sendParams }, algod);
|
|
56
|
-
const confirmation = result.confirmations ? result.confirmations[result.confirmations?.length - 1] : undefined;
|
|
57
|
-
if (confirmation) {
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
59
|
-
const appId = confirmation.applicationIndex;
|
|
60
|
-
config.Config.getLogger(sendParams.suppressLog).debug(`Created app ${appId} from creator ${transaction.getSenderAddress(from)}`);
|
|
61
|
-
return {
|
|
62
|
-
transactions: result.transactions,
|
|
63
|
-
confirmations: result.confirmations,
|
|
64
|
-
return: confirmation ? getABIReturn(args, confirmation) : undefined,
|
|
65
|
-
transaction: result.transactions[result.transactions.length - 1],
|
|
66
|
-
confirmation: confirmation,
|
|
67
|
-
appId,
|
|
68
|
-
appAddress: algosdk.getApplicationAddress(appId),
|
|
69
|
-
compiledApproval,
|
|
70
|
-
compiledClear,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
return {
|
|
75
|
-
transactions: result.transactions,
|
|
76
|
-
confirmations: result.confirmations,
|
|
77
|
-
return: confirmation ? getABIReturn(args, confirmation) : undefined,
|
|
78
|
-
transaction: result.transactions[result.transactions.length - 1],
|
|
79
|
-
confirmation: confirmation,
|
|
80
|
-
appId: 0,
|
|
81
|
-
appAddress: '',
|
|
82
|
-
compiledApproval,
|
|
83
|
-
compiledClear,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
const transaction$1 = algosdk.makeApplicationCreateTxnFromObject({
|
|
89
|
-
approvalProgram: approvalProgram,
|
|
90
|
-
clearProgram: clearProgram,
|
|
91
|
-
numLocalInts: schema.localInts,
|
|
92
|
-
numLocalByteSlices: schema.localByteSlices,
|
|
93
|
-
numGlobalInts: schema.globalInts,
|
|
94
|
-
numGlobalByteSlices: schema.globalByteSlices,
|
|
95
|
-
extraPages: schema.extraPages ?? Math.floor((approvalProgram.length + clearProgram.length) / types_app.APP_PAGE_MAX_SIZE),
|
|
96
|
-
onComplete: getAppOnCompleteAction(onCompleteAction),
|
|
97
|
-
suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
|
|
98
|
-
from: transaction.getSenderAddress(from),
|
|
99
|
-
note: transaction.encodeTransactionNote(note),
|
|
100
|
-
...getAppArgsForTransaction(args),
|
|
101
|
-
rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : transaction.getSenderAddress(args.rekeyTo)) : undefined,
|
|
102
|
-
});
|
|
103
|
-
const { confirmation } = await transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
|
|
104
|
-
if (confirmation) {
|
|
105
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
106
|
-
const appId = confirmation.applicationIndex;
|
|
107
|
-
config.Config.getLogger(sendParams.suppressLog).debug(`Created app ${appId} from creator ${transaction.getSenderAddress(from)}`);
|
|
108
|
-
return {
|
|
109
|
-
transaction: transaction$1,
|
|
110
|
-
transactions: [transaction$1],
|
|
111
|
-
confirmation,
|
|
112
|
-
confirmations: confirmation ? [confirmation] : undefined,
|
|
113
|
-
appId,
|
|
114
|
-
appAddress: algosdk.getApplicationAddress(appId),
|
|
115
|
-
return: getABIReturn(args, confirmation),
|
|
116
|
-
compiledApproval,
|
|
117
|
-
compiledClear,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
return { transaction: transaction$1, transactions: [transaction$1], appId: 0, appAddress: '', compiledApproval, compiledClear };
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Updates a smart contract app.
|
|
127
|
-
* @param update The parameters to update the app with
|
|
128
|
-
* @param algod An algod client
|
|
129
|
-
* @returns The transaction send result and the compilation result
|
|
130
|
-
*/
|
|
131
|
-
async function updateApp(update, algod) {
|
|
132
|
-
const { appId, from, approvalProgram: approval, clearStateProgram: clear, note, transactionParams, args, ...sendParams } = update;
|
|
133
|
-
const compiledApproval = typeof approval === 'string' ? await compileTeal(approval, algod) : undefined;
|
|
134
|
-
const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : approval;
|
|
135
|
-
const compiledClear = typeof clear === 'string' ? await compileTeal(clear, algod) : undefined;
|
|
136
|
-
const clearProgram = compiledClear ? compiledClear.compiledBase64ToBytes : clear;
|
|
137
|
-
config.Config.getLogger(sendParams.suppressLog).debug(`Updating app ${appId}`);
|
|
138
|
-
if (args && args.method) {
|
|
139
|
-
const atc = attachATC(sendParams);
|
|
140
|
-
const before = transaction.getAtomicTransactionComposerTransactions(atc);
|
|
141
|
-
atc.addMethodCall({
|
|
142
|
-
appID: util.toNumber(appId),
|
|
143
|
-
onComplete: OnApplicationComplete.UpdateApplicationOC,
|
|
144
|
-
approvalProgram: approvalProgram,
|
|
145
|
-
clearProgram: clearProgram,
|
|
146
|
-
suggestedParams: transaction.controlFees(await transaction.getTransactionParams(transactionParams, algod), sendParams),
|
|
147
|
-
note: transaction.encodeTransactionNote(note),
|
|
148
|
-
...(await getAppArgsForABICall(args, from)),
|
|
149
|
-
});
|
|
150
|
-
if (sendParams.skipSending) {
|
|
151
|
-
const after = atc.clone().buildGroup();
|
|
152
|
-
return {
|
|
153
|
-
transaction: after[after.length - 1].txn,
|
|
154
|
-
transactions: after.slice(before.length).map((t) => t.txn),
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
const result = await transaction.sendAtomicTransactionComposer({ atc, sendParams }, algod);
|
|
158
|
-
const confirmation = result.confirmations ? result.confirmations[result.confirmations?.length - 1] : undefined;
|
|
159
|
-
return {
|
|
160
|
-
transactions: result.transactions,
|
|
161
|
-
confirmations: result.confirmations,
|
|
162
|
-
return: confirmation ? getABIReturn(args, confirmation) : undefined,
|
|
163
|
-
transaction: result.transactions[result.transactions.length - 1],
|
|
164
|
-
confirmation: confirmation,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
const transaction$1 = algosdk.makeApplicationUpdateTxnFromObject({
|
|
169
|
-
appIndex: util.toNumber(appId),
|
|
170
|
-
approvalProgram: approvalProgram,
|
|
171
|
-
clearProgram: clearProgram,
|
|
172
|
-
suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
|
|
173
|
-
from: transaction.getSenderAddress(from),
|
|
174
|
-
note: transaction.encodeTransactionNote(note),
|
|
175
|
-
...getAppArgsForTransaction(args),
|
|
176
|
-
rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : transaction.getSenderAddress(args.rekeyTo)) : undefined,
|
|
177
|
-
});
|
|
178
|
-
const result = await transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
|
|
179
|
-
return {
|
|
180
|
-
...result,
|
|
181
|
-
transactions: [result.transaction],
|
|
182
|
-
confirmations: result.confirmation ? [result.confirmation] : undefined,
|
|
183
|
-
return: getABIReturn(args, result.confirmation),
|
|
184
|
-
compiledApproval,
|
|
185
|
-
compiledClear,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
function attachATC(sendParams) {
|
|
190
|
-
if (sendParams.atc) {
|
|
191
|
-
sendParams.skipSending = true;
|
|
192
|
-
}
|
|
193
|
-
sendParams.atc = sendParams.atc ?? new AtomicTransactionComposer();
|
|
194
|
-
return sendParams.atc;
|
|
195
|
-
}
|
|
196
|
-
/** Returns an `algosdk.OnApplicationComplete` for the given onCompleteAction.
|
|
197
|
-
*
|
|
198
|
-
* If given `undefined` will return `OnApplicationComplete.NoOpOC`.
|
|
199
|
-
*
|
|
200
|
-
* If given an `AppCallType` will convert the string enum to the correct underlying `algosdk.OnApplicationComplete`.
|
|
201
|
-
*
|
|
202
|
-
* @param onCompletionAction The on completion action
|
|
203
|
-
* @returns The `algosdk.OnApplicationComplete`
|
|
204
|
-
*/
|
|
205
|
-
function getAppOnCompleteAction(onCompletionAction) {
|
|
206
|
-
switch (onCompletionAction) {
|
|
207
|
-
case undefined:
|
|
208
|
-
case 'no_op':
|
|
209
|
-
case OnApplicationComplete.NoOpOC:
|
|
210
|
-
return OnApplicationComplete.NoOpOC;
|
|
211
|
-
case 'opt_in':
|
|
212
|
-
case OnApplicationComplete.OptInOC:
|
|
213
|
-
return OnApplicationComplete.OptInOC;
|
|
214
|
-
case 'close_out':
|
|
215
|
-
case OnApplicationComplete.CloseOutOC:
|
|
216
|
-
return OnApplicationComplete.CloseOutOC;
|
|
217
|
-
case 'clear_state':
|
|
218
|
-
case OnApplicationComplete.ClearStateOC:
|
|
219
|
-
return OnApplicationComplete.ClearStateOC;
|
|
220
|
-
case 'update_application':
|
|
221
|
-
case OnApplicationComplete.UpdateApplicationOC:
|
|
222
|
-
return OnApplicationComplete.UpdateApplicationOC;
|
|
223
|
-
case 'delete_application':
|
|
224
|
-
case OnApplicationComplete.DeleteApplicationOC:
|
|
225
|
-
return OnApplicationComplete.DeleteApplicationOC;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Issues a call to a given app.
|
|
230
|
-
* @param call The call details.
|
|
231
|
-
* @param algod An algod client
|
|
232
|
-
* @returns The result of the call
|
|
233
|
-
*/
|
|
234
|
-
async function callApp(call, algod) {
|
|
235
|
-
const { appId, callType, from, args, note, transactionParams, ...sendParams } = call;
|
|
236
|
-
if (args && args.method) {
|
|
237
|
-
const atc = attachATC(sendParams);
|
|
238
|
-
const before = transaction.getAtomicTransactionComposerTransactions(atc);
|
|
239
|
-
atc.addMethodCall({
|
|
240
|
-
appID: util.toNumber(appId),
|
|
241
|
-
suggestedParams: transaction.controlFees(await transaction.getTransactionParams(transactionParams, algod), sendParams),
|
|
242
|
-
note: transaction.encodeTransactionNote(note),
|
|
243
|
-
onComplete: getAppOnCompleteAction(callType),
|
|
244
|
-
...(await getAppArgsForABICall(args, from)),
|
|
245
|
-
});
|
|
246
|
-
if (sendParams.skipSending) {
|
|
247
|
-
const after = atc.clone().buildGroup();
|
|
248
|
-
return {
|
|
249
|
-
transaction: after[after.length - 1].txn,
|
|
250
|
-
transactions: after.slice(before.length).map((t) => t.txn),
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
const result = await transaction.sendAtomicTransactionComposer({ atc, sendParams }, algod);
|
|
254
|
-
const confirmation = result.confirmations ? result.confirmations[result.confirmations?.length - 1] : undefined;
|
|
255
|
-
return {
|
|
256
|
-
transactions: result.transactions,
|
|
257
|
-
confirmations: result.confirmations,
|
|
258
|
-
return: confirmation ? getABIReturn(args, confirmation) : undefined,
|
|
259
|
-
transaction: result.transactions[result.transactions.length - 1],
|
|
260
|
-
confirmation: confirmation,
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
const appCallParams = {
|
|
264
|
-
appIndex: util.toNumber(appId),
|
|
265
|
-
from: transaction.getSenderAddress(from),
|
|
266
|
-
suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
|
|
267
|
-
...getAppArgsForTransaction(args),
|
|
268
|
-
note: transaction.encodeTransactionNote(note),
|
|
269
|
-
rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : transaction.getSenderAddress(args.rekeyTo)) : undefined,
|
|
270
|
-
};
|
|
271
|
-
let transaction$1;
|
|
272
|
-
switch (getAppOnCompleteAction(callType)) {
|
|
273
|
-
case OnApplicationComplete.OptInOC:
|
|
274
|
-
transaction$1 = algosdk.makeApplicationOptInTxnFromObject(appCallParams);
|
|
275
|
-
break;
|
|
276
|
-
case OnApplicationComplete.ClearStateOC:
|
|
277
|
-
transaction$1 = algosdk.makeApplicationClearStateTxnFromObject(appCallParams);
|
|
278
|
-
break;
|
|
279
|
-
case OnApplicationComplete.CloseOutOC:
|
|
280
|
-
transaction$1 = algosdk.makeApplicationCloseOutTxnFromObject(appCallParams);
|
|
281
|
-
break;
|
|
282
|
-
case OnApplicationComplete.DeleteApplicationOC:
|
|
283
|
-
transaction$1 = algosdk.makeApplicationDeleteTxnFromObject(appCallParams);
|
|
284
|
-
break;
|
|
285
|
-
case OnApplicationComplete.NoOpOC:
|
|
286
|
-
transaction$1 = algosdk.makeApplicationNoOpTxnFromObject(appCallParams);
|
|
287
|
-
break;
|
|
288
|
-
default:
|
|
289
|
-
throw new Error(`Received unexpected call type ${callType}`);
|
|
290
|
-
}
|
|
291
|
-
const result = await transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
|
|
292
|
-
return {
|
|
293
|
-
...result,
|
|
294
|
-
transactions: [result.transaction],
|
|
295
|
-
confirmations: result.confirmation ? [result.confirmation] : undefined,
|
|
296
|
-
return: getABIReturn(args, result.confirmation),
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Returns any ABI return values for the given app call arguments and transaction confirmation.
|
|
301
|
-
* @param args The arguments that were used for the call
|
|
302
|
-
* @param confirmation The transaction confirmation from algod
|
|
303
|
-
* @returns The return value for the method call
|
|
304
|
-
*/
|
|
305
|
-
function getABIReturn(args, confirmation) {
|
|
306
|
-
if (!args || !args.method) {
|
|
307
|
-
return undefined;
|
|
308
|
-
}
|
|
309
|
-
const method = 'txnCount' in args.method ? args.method : new ABIMethod(args.method);
|
|
310
|
-
if (method.returns.type !== 'void' && confirmation) {
|
|
311
|
-
// The parseMethodResponse method mutates the second parameter :(
|
|
312
|
-
const resultDummy = {
|
|
313
|
-
txID: '',
|
|
314
|
-
method,
|
|
315
|
-
rawReturnValue: new Uint8Array(),
|
|
316
|
-
};
|
|
317
|
-
const response = AtomicTransactionComposer.parseMethodResponse(method, resultDummy, confirmation);
|
|
318
|
-
return !response.decodeError
|
|
319
|
-
? {
|
|
320
|
-
rawReturnValue: response.rawReturnValue,
|
|
321
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
322
|
-
returnValue: response.returnValue,
|
|
323
|
-
decodeError: undefined,
|
|
324
|
-
}
|
|
325
|
-
: {
|
|
326
|
-
rawReturnValue: undefined,
|
|
327
|
-
returnValue: undefined,
|
|
328
|
-
decodeError: response.decodeError,
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
return undefined;
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* Returns the current global state values for the given app ID
|
|
335
|
-
* @param appId The ID of the app return global state for
|
|
336
|
-
* @param algod An algod client instance
|
|
337
|
-
* @returns The current global state
|
|
338
|
-
*/
|
|
339
|
-
async function getAppGlobalState(appId, algod) {
|
|
340
|
-
const appInfo = await getAppById(appId, algod);
|
|
341
|
-
if (!appInfo.params || !appInfo.params.globalState) {
|
|
342
|
-
throw new Error("Couldn't find global state");
|
|
343
|
-
}
|
|
344
|
-
return decodeAppState(appInfo.params.globalState);
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Returns the current global state values for the given app ID and account
|
|
348
|
-
* @param appId The ID of the app return global state for
|
|
349
|
-
* @param account Either the string address of an account or an account object for the account to get local state for the given app
|
|
350
|
-
* @param algod An algod client instance
|
|
351
|
-
* @returns The current local state for the given (app, account) combination
|
|
352
|
-
*/
|
|
353
|
-
async function getAppLocalState(appId, account, algod) {
|
|
354
|
-
const accountAddress = typeof account === 'string' ? account : transaction.getSenderAddress(account);
|
|
355
|
-
const appInfo = modelsv2.AccountApplicationResponse.from_obj_for_encoding(await algod.accountApplicationInformation(accountAddress, util.toNumber(appId)).do());
|
|
356
|
-
if (!appInfo.appLocalState?.keyValue) {
|
|
357
|
-
throw new Error("Couldn't find local state");
|
|
358
|
-
}
|
|
359
|
-
return decodeAppState(appInfo.appLocalState.keyValue);
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Returns the names of the boxes for the given app.
|
|
363
|
-
* @param appId The ID of the app return box names for
|
|
364
|
-
* @param algod An algod client instance
|
|
365
|
-
* @returns The current box names
|
|
366
|
-
*/
|
|
367
|
-
async function getAppBoxNames(appId, algod) {
|
|
368
|
-
const boxResult = await algod.getApplicationBoxes(util.toNumber(appId)).do();
|
|
369
|
-
return boxResult.boxes.map((b) => {
|
|
370
|
-
return {
|
|
371
|
-
nameRaw: b.name,
|
|
372
|
-
nameBase64: buffer.Buffer.from(b.name).toString('base64'),
|
|
373
|
-
name: buffer.Buffer.from(b.name).toString('utf-8'),
|
|
374
|
-
};
|
|
375
|
-
});
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Returns the value of the given box name for the given app.
|
|
379
|
-
* @param appId The ID of the app return box names for
|
|
380
|
-
* @param boxName The name of the box to return either as a string, binary array or `BoxName`
|
|
381
|
-
* @param algod An algod client instance
|
|
382
|
-
* @returns The current box value as a byte array
|
|
383
|
-
*/
|
|
384
|
-
async function getAppBoxValue(appId, boxName, algod) {
|
|
385
|
-
const name = typeof boxName === 'string' ? new Uint8Array(buffer.Buffer.from(boxName, 'utf-8')) : 'name' in boxName ? boxName.nameRaw : boxName;
|
|
386
|
-
const boxResult = await algod.getApplicationBoxByName(util.toNumber(appId), name).do();
|
|
387
|
-
return boxResult.value;
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* Returns the value of the given box names for the given app.
|
|
391
|
-
* @param appId The ID of the app return box names for
|
|
392
|
-
* @param boxNames The names of the boxes to return either as a string, binary array or `BoxName`
|
|
393
|
-
* @param algod An algod client instance
|
|
394
|
-
* @returns The current box values as a byte array in the same order as the passed in box names
|
|
395
|
-
*/
|
|
396
|
-
async function getAppBoxValues(appId, boxNames, algod) {
|
|
397
|
-
return await Promise.all(boxNames.map(async (boxName) => await getAppBoxValue(appId, boxName, algod)));
|
|
398
|
-
}
|
|
399
|
-
/**
|
|
400
|
-
* Returns the value of the given box name for the given app decoded based on the given ABI type.
|
|
401
|
-
* @param request The parameters for the box value request
|
|
402
|
-
* @param algod An algod client instance
|
|
403
|
-
* @returns The current box value as an ABI value
|
|
404
|
-
*/
|
|
405
|
-
async function getAppBoxValueFromABIType(request, algod) {
|
|
406
|
-
const { appId, boxName, type } = request;
|
|
407
|
-
const value = await getAppBoxValue(appId, boxName, algod);
|
|
408
|
-
return type.decode(value);
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Returns the value of the given box names for the given app decoded based on the given ABI type.
|
|
412
|
-
* @param request The parameters for the box value request
|
|
413
|
-
* @param algod An algod client instance
|
|
414
|
-
* @returns The current box values as an ABI value in the same order as the passed in box names
|
|
415
|
-
*/
|
|
416
|
-
async function getAppBoxValuesFromABIType(request, algod) {
|
|
417
|
-
const { appId, boxNames, type } = request;
|
|
418
|
-
return await Promise.all(boxNames.map(async (boxName) => await getAppBoxValueFromABIType({ appId, boxName, type }, algod)));
|
|
419
|
-
}
|
|
420
|
-
/**
|
|
421
|
-
* Converts an array of global/local state values from the algod api to a more friendly
|
|
422
|
-
* generic object keyed by the UTF-8 value of the key.
|
|
423
|
-
* @param state A `global-state`, `local-state`, `global-state-deltas` or `local-state-deltas`
|
|
424
|
-
* @returns An object keyeed by the UTF-8 representation of the key with various parsings of the values
|
|
425
|
-
*/
|
|
426
|
-
function decodeAppState(state) {
|
|
427
|
-
const stateValues = {};
|
|
428
|
-
// Start with empty set
|
|
429
|
-
for (const stateVal of state) {
|
|
430
|
-
const keyBase64 = stateVal.key;
|
|
431
|
-
const keyRaw = buffer.Buffer.from(keyBase64, 'base64');
|
|
432
|
-
const key = keyRaw.toString('utf-8');
|
|
433
|
-
const tealValue = stateVal.value;
|
|
434
|
-
const dataTypeFlag = 'action' in tealValue ? tealValue.action : tealValue.type;
|
|
435
|
-
let valueBase64;
|
|
436
|
-
let valueRaw;
|
|
437
|
-
switch (dataTypeFlag) {
|
|
438
|
-
case 1:
|
|
439
|
-
valueBase64 = tealValue.bytes ?? '';
|
|
440
|
-
valueRaw = buffer.Buffer.from(valueBase64, 'base64');
|
|
441
|
-
stateValues[key] = {
|
|
442
|
-
keyRaw,
|
|
443
|
-
keyBase64,
|
|
444
|
-
valueRaw: new Uint8Array(valueRaw),
|
|
445
|
-
valueBase64: valueBase64,
|
|
446
|
-
value: valueRaw.toString('utf-8'),
|
|
447
|
-
};
|
|
448
|
-
break;
|
|
449
|
-
case 2: {
|
|
450
|
-
const value = tealValue.uint ?? 0;
|
|
451
|
-
stateValues[key] = {
|
|
452
|
-
keyRaw,
|
|
453
|
-
keyBase64,
|
|
454
|
-
value,
|
|
455
|
-
};
|
|
456
|
-
break;
|
|
457
|
-
}
|
|
458
|
-
default:
|
|
459
|
-
throw new Error(`Received unknown state data type of ${dataTypeFlag}`);
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
return stateValues;
|
|
463
|
-
}
|
|
464
|
-
/**
|
|
465
|
-
* Returns the app args ready to load onto an app `Transaction` object
|
|
466
|
-
* @param args The app call args
|
|
467
|
-
* @returns The args ready to load into a `Transaction`
|
|
468
|
-
*/
|
|
469
|
-
function getAppArgsForTransaction(args) {
|
|
470
|
-
if (!args)
|
|
471
|
-
return undefined;
|
|
472
|
-
const encoder = new TextEncoder();
|
|
473
|
-
return {
|
|
474
|
-
accounts: args?.accounts?.map(_getAccountAddress),
|
|
475
|
-
appArgs: args?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a)),
|
|
476
|
-
boxes: args.boxes?.map(getBoxReference),
|
|
477
|
-
foreignApps: args?.apps,
|
|
478
|
-
foreignAssets: args?.assets,
|
|
479
|
-
lease: transaction.encodeLease(args?.lease),
|
|
480
|
-
};
|
|
481
|
-
}
|
|
482
|
-
/**
|
|
483
|
-
* Returns the app args ready to load onto an ABI method call in `AtomicTransactionComposer`
|
|
484
|
-
* @param args The ABI app call args
|
|
485
|
-
* @param from The transaction signer
|
|
486
|
-
* @returns The parameters ready to pass into `addMethodCall` within AtomicTransactionComposer
|
|
487
|
-
*/
|
|
488
|
-
async function getAppArgsForABICall(args, from) {
|
|
489
|
-
const signer = transaction.getSenderTransactionSigner(from);
|
|
490
|
-
const methodArgs = await Promise.all(('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {
|
|
491
|
-
if (a === undefined) {
|
|
492
|
-
throw new Error(`Argument at position ${index} does not have a value`);
|
|
493
|
-
}
|
|
494
|
-
if (typeof a !== 'object') {
|
|
495
|
-
return a;
|
|
496
|
-
}
|
|
497
|
-
// Handle the various forms of transactions to wrangle them for ATC
|
|
498
|
-
return 'txn' in a
|
|
499
|
-
? a
|
|
500
|
-
: a instanceof Promise
|
|
501
|
-
? { txn: (await a).transaction, signer }
|
|
502
|
-
: 'transaction' in a
|
|
503
|
-
? { txn: a.transaction, signer: 'signer' in a ? transaction.getSenderTransactionSigner(a.signer) : signer }
|
|
504
|
-
: 'txID' in a
|
|
505
|
-
? { txn: a, signer }
|
|
506
|
-
: a;
|
|
507
|
-
}));
|
|
508
|
-
return {
|
|
509
|
-
method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),
|
|
510
|
-
sender: transaction.getSenderAddress(from),
|
|
511
|
-
signer: signer,
|
|
512
|
-
boxes: args.boxes?.map(getBoxReference),
|
|
513
|
-
lease: transaction.encodeLease(args.lease),
|
|
514
|
-
appForeignApps: args.apps,
|
|
515
|
-
appForeignAssets: args.assets,
|
|
516
|
-
appAccounts: args.accounts?.map(_getAccountAddress),
|
|
517
|
-
methodArgs: methodArgs,
|
|
518
|
-
rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : transaction.getSenderAddress(args.rekeyTo)) : undefined,
|
|
519
|
-
};
|
|
520
|
-
}
|
|
521
|
-
/**
|
|
522
|
-
* Returns a `algosdk.BoxReference` given a `BoxIdentifier` or `BoxReference`.
|
|
523
|
-
* @param box The box to return a reference for
|
|
524
|
-
* @returns The box reference ready to pass into a `Transaction`
|
|
525
|
-
*/
|
|
526
|
-
function getBoxReference(box) {
|
|
527
|
-
const encoder = new TextEncoder();
|
|
528
|
-
if (typeof box === 'object' && 'appIndex' in box) {
|
|
529
|
-
return box;
|
|
530
|
-
}
|
|
531
|
-
const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box };
|
|
532
|
-
return {
|
|
533
|
-
appIndex: ref.appId,
|
|
534
|
-
name: typeof ref.name === 'string'
|
|
535
|
-
? encoder.encode(ref.name)
|
|
536
|
-
: 'length' in ref.name
|
|
537
|
-
? ref.name
|
|
538
|
-
: algosdk.decodeAddress(transaction.getSenderAddress(ref.name)).publicKey,
|
|
539
|
-
};
|
|
540
|
-
}
|
|
541
|
-
function _getAccountAddress(account) {
|
|
542
|
-
return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey);
|
|
543
|
-
}
|
|
544
|
-
/**
|
|
545
|
-
* Gets the current data for the given app from algod.
|
|
546
|
-
*
|
|
547
|
-
* @param appId The id of the app
|
|
548
|
-
* @param algod An algod client
|
|
549
|
-
* @returns The data about the app
|
|
550
|
-
*/
|
|
551
|
-
async function getAppById(appId, algod) {
|
|
552
|
-
return modelsv2.Application.from_obj_for_encoding(await algod.getApplicationByID(util.toNumber(appId)).do());
|
|
553
|
-
}
|
|
554
|
-
/**
|
|
555
|
-
* Compiles the given TEAL using algod and returns the result, including source map.
|
|
556
|
-
*
|
|
557
|
-
* @param algod An algod client
|
|
558
|
-
* @param tealCode The TEAL code
|
|
559
|
-
* @returns The information about the compiled file
|
|
560
|
-
*/
|
|
561
|
-
async function compileTeal(tealCode, algod) {
|
|
562
|
-
const compiled = await algod.compile(tealCode).sourcemap(true).do();
|
|
563
|
-
return {
|
|
564
|
-
teal: tealCode,
|
|
565
|
-
compiled: compiled.result,
|
|
566
|
-
compiledHash: compiled.hash,
|
|
567
|
-
compiledBase64ToBytes: new Uint8Array(buffer.Buffer.from(compiled.result, 'base64')),
|
|
568
|
-
sourceMap: new SourceMap(compiled['sourcemap']),
|
|
569
|
-
};
|
|
570
|
-
}
|
|
571
|
-
/**
|
|
572
|
-
* Returns the encoded ABI spec for a given ABI Method
|
|
573
|
-
* @param method The method to return a signature for
|
|
574
|
-
* @returns The encoded ABI method spec e.g. `method_name(uint64,string)string`
|
|
575
|
-
*/
|
|
576
|
-
const getABIMethodSignature = (method) => {
|
|
577
|
-
return 'getSignature' in method ? method.getSignature() : new ABIMethod(method).getSignature();
|
|
578
|
-
};
|
|
579
|
-
|
|
580
|
-
exports.callApp = callApp;
|
|
581
|
-
exports.compileTeal = compileTeal;
|
|
582
|
-
exports.createApp = createApp;
|
|
583
|
-
exports.decodeAppState = decodeAppState;
|
|
584
|
-
exports.getABIMethodSignature = getABIMethodSignature;
|
|
585
|
-
exports.getABIReturn = getABIReturn;
|
|
586
|
-
exports.getAppArgsForABICall = getAppArgsForABICall;
|
|
587
|
-
exports.getAppArgsForTransaction = getAppArgsForTransaction;
|
|
588
|
-
exports.getAppBoxNames = getAppBoxNames;
|
|
589
|
-
exports.getAppBoxValue = getAppBoxValue;
|
|
590
|
-
exports.getAppBoxValueFromABIType = getAppBoxValueFromABIType;
|
|
591
|
-
exports.getAppBoxValues = getAppBoxValues;
|
|
592
|
-
exports.getAppBoxValuesFromABIType = getAppBoxValuesFromABIType;
|
|
593
|
-
exports.getAppById = getAppById;
|
|
594
|
-
exports.getAppGlobalState = getAppGlobalState;
|
|
595
|
-
exports.getAppLocalState = getAppLocalState;
|
|
596
|
-
exports.getAppOnCompleteAction = getAppOnCompleteAction;
|
|
597
|
-
exports.getBoxReference = getBoxReference;
|
|
598
|
-
exports.updateApp = updateApp;
|
|
599
|
-
//# sourceMappingURL=app.js.map
|
package/app.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sources":["../src/app.ts"],"sourcesContent":[null],"names":["getAtomicTransactionComposerTransactions","APP_PAGE_MAX_SIZE","controlFees","getTransactionParams","encodeTransactionNote","sendAtomicTransactionComposer","Config","getSenderAddress","transaction","sendTransaction","toNumber","Buffer","encodeLease","getSenderTransactionSigner"],"mappings":"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"}
|