@algorandfoundation/algokit-utils 5.3.3-beta.2 → 5.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/account/account.d.ts +81 -0
- package/account/account.d.ts.map +1 -0
- package/account/account.js +120 -0
- package/account/account.js.map +1 -0
- package/account/account.mjs +112 -0
- package/account/account.mjs.map +1 -0
- package/account/get-account-config-from-environment.d.ts +13 -0
- package/account/get-account-config-from-environment.d.ts.map +1 -0
- package/account/get-account-config-from-environment.js +25 -0
- package/account/get-account-config-from-environment.js.map +1 -0
- package/account/get-account-config-from-environment.mjs +23 -0
- package/account/get-account-config-from-environment.mjs.map +1 -0
- package/account/get-account.d.ts +66 -0
- package/account/get-account.d.ts.map +1 -0
- package/account/get-account.js +83 -0
- package/account/get-account.js.map +1 -0
- package/account/get-account.mjs +81 -0
- package/account/get-account.mjs.map +1 -0
- package/account/get-dispenser-account.d.ts +13 -0
- package/account/get-dispenser-account.d.ts.map +1 -0
- package/account/get-dispenser-account.js +23 -0
- package/account/get-dispenser-account.js.map +1 -0
- package/account/get-dispenser-account.mjs +21 -0
- package/account/get-dispenser-account.mjs.map +1 -0
- package/account/index.d.ts +6 -0
- package/account/index.d.ts.map +1 -0
- package/account/mnemonic-account.d.ts +11 -0
- package/account/mnemonic-account.d.ts.map +1 -0
- package/account/mnemonic-account.js +18 -0
- package/account/mnemonic-account.js.map +1 -0
- package/account/mnemonic-account.mjs +16 -0
- package/account/mnemonic-account.mjs.map +1 -0
- package/amount.d.ts.map +1 -0
- package/amount.js +34 -0
- package/amount.js.map +1 -0
- package/{esm/amount.js → amount.mjs} +8 -5
- package/amount.mjs.map +1 -0
- package/app-client.d.ts.map +1 -0
- package/{cjs/app-client.js → app-client.js} +11 -10
- package/app-client.js.map +1 -0
- package/{esm/app-client.js → app-client.mjs} +8 -5
- package/app-client.mjs.map +1 -0
- package/app-deploy.d.ts.map +1 -0
- package/{cjs/app-deploy.js → app-deploy.js} +67 -69
- package/app-deploy.js.map +1 -0
- package/{esm/app-deploy.js → app-deploy.mjs} +17 -14
- package/app-deploy.mjs.map +1 -0
- package/{cjs/app.d.ts → app.d.ts} +1 -1
- package/app.d.ts.map +1 -0
- package/{cjs/app.js → app.js} +102 -104
- package/app.js.map +1 -0
- package/{esm/app.js → app.mjs} +27 -24
- package/app.mjs.map +1 -0
- package/asset.d.ts.map +1 -0
- package/{cjs/asset.js → asset.js} +41 -42
- package/asset.js.map +1 -0
- package/{esm/asset.js → asset.mjs} +10 -6
- package/asset.mjs.map +1 -0
- package/config.d.ts +4 -0
- package/config.d.ts.map +1 -0
- package/config.js +9 -0
- package/config.js.map +1 -0
- package/config.mjs +7 -0
- package/config.mjs.map +1 -0
- package/debugging/debugging.d.ts +10 -0
- package/debugging/debugging.d.ts.map +1 -0
- package/debugging/debugging.js +139 -0
- package/debugging/debugging.js.map +1 -0
- package/debugging/debugging.mjs +118 -0
- package/debugging/debugging.mjs.map +1 -0
- package/debugging/index.d.ts +3 -0
- package/debugging/index.d.ts.map +1 -0
- package/{cjs/debugging.d.ts → debugging/simulate-and-persist-response.d.ts} +3 -12
- package/debugging/simulate-and-persist-response.d.ts.map +1 -0
- package/debugging/simulate-and-persist-response.js +108 -0
- package/debugging/simulate-and-persist-response.js.map +1 -0
- package/debugging/simulate-and-persist-response.mjs +89 -0
- package/debugging/simulate-and-persist-response.mjs.map +1 -0
- package/dispenser-client.d.ts.map +1 -0
- package/{cjs/dispenser-client.js → dispenser-client.js} +7 -6
- package/dispenser-client.js.map +1 -0
- package/{esm/dispenser-client.js → dispenser-client.mjs} +6 -3
- package/dispenser-client.mjs.map +1 -0
- package/{cjs/index.d.ts → index.d.ts} +1 -3
- package/index.d.ts.map +1 -0
- package/index.js +125 -0
- package/index.js.map +1 -0
- package/index.mjs +25 -0
- package/index.mjs.map +1 -0
- package/indexer-lookup.d.ts.map +1 -0
- package/{cjs/indexer-lookup.js → indexer-lookup.js} +8 -8
- package/indexer-lookup.js.map +1 -0
- package/{esm/indexer-lookup.js → indexer-lookup.mjs} +8 -6
- package/indexer-lookup.mjs.map +1 -0
- package/localnet/get-kmd-wallet-account.d.ts +26 -0
- package/localnet/get-kmd-wallet-account.d.ts.map +1 -0
- package/localnet/get-kmd-wallet-account.js +55 -0
- package/localnet/get-kmd-wallet-account.js.map +1 -0
- package/localnet/get-kmd-wallet-account.mjs +53 -0
- package/localnet/get-kmd-wallet-account.mjs.map +1 -0
- package/localnet/get-localnet-dispenser-account.d.ts +12 -0
- package/localnet/get-localnet-dispenser-account.d.ts.map +1 -0
- package/localnet/get-localnet-dispenser-account.js +21 -0
- package/localnet/get-localnet-dispenser-account.js.map +1 -0
- package/localnet/get-localnet-dispenser-account.mjs +19 -0
- package/localnet/get-localnet-dispenser-account.mjs.map +1 -0
- package/localnet/get-or-create-kmd-wallet-account.d.ts +27 -0
- package/localnet/get-or-create-kmd-wallet-account.d.ts.map +1 -0
- package/localnet/get-or-create-kmd-wallet-account.js +52 -0
- package/localnet/get-or-create-kmd-wallet-account.js.map +1 -0
- package/localnet/get-or-create-kmd-wallet-account.mjs +50 -0
- package/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -0
- package/localnet/index.d.ts +5 -0
- package/localnet/index.d.ts.map +1 -0
- package/localnet/is-localnet.d.ts +5 -0
- package/localnet/is-localnet.d.ts.map +1 -0
- package/localnet/is-localnet.js +10 -0
- package/localnet/is-localnet.js.map +1 -0
- package/localnet/is-localnet.mjs +8 -0
- package/localnet/is-localnet.mjs.map +1 -0
- package/{cjs/network-client.d.ts → network-client.d.ts} +0 -1
- package/network-client.d.ts.map +1 -0
- package/{cjs/network-client.js → network-client.js} +21 -25
- package/network-client.js.map +1 -0
- package/{esm/network-client.js → network-client.mjs} +15 -13
- package/network-client.mjs.map +1 -0
- package/package.json +15 -36
- package/testing/_asset.d.ts.map +1 -0
- package/testing/account.d.ts.map +1 -0
- package/testing/account.js +29 -0
- package/testing/account.js.map +1 -0
- package/{esm/testing/account.js → testing/account.mjs} +8 -5
- package/testing/account.mjs.map +1 -0
- package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +1 -0
- package/{cjs/testing → testing}/fixtures/algokit-log-capture-fixture.js +11 -10
- package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -0
- package/{esm/testing/fixtures/algokit-log-capture-fixture.js → testing/fixtures/algokit-log-capture-fixture.mjs} +7 -4
- package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -0
- package/testing/fixtures/algorand-fixture.d.ts.map +1 -0
- package/testing/fixtures/algorand-fixture.js +64 -0
- package/testing/fixtures/algorand-fixture.js.map +1 -0
- package/{esm/testing/fixtures/algorand-fixture.js → testing/fixtures/algorand-fixture.mjs} +12 -4
- package/testing/fixtures/algorand-fixture.mjs.map +1 -0
- package/testing/fixtures/index.d.ts.map +1 -0
- package/testing/index.d.ts.map +1 -0
- package/testing/index.js +18 -0
- package/testing/index.js.map +1 -0
- package/testing/index.mjs +7 -0
- package/testing/index.mjs.map +1 -0
- package/testing/indexer.d.ts.map +1 -0
- package/{cjs/testing → testing}/indexer.js +4 -4
- package/testing/indexer.js.map +1 -0
- package/{esm/testing/indexer.js → testing/indexer.mjs} +4 -2
- package/testing/indexer.mjs.map +1 -0
- package/testing/test-logger.d.ts.map +1 -0
- package/{cjs/testing → testing}/test-logger.js +7 -8
- package/testing/test-logger.js.map +1 -0
- package/{esm/testing/test-logger.js → testing/test-logger.mjs} +6 -5
- package/testing/test-logger.mjs.map +1 -0
- package/testing/transaction-logger.d.ts.map +1 -0
- package/{cjs/testing → testing}/transaction-logger.js +14 -15
- package/testing/transaction-logger.js.map +1 -0
- package/{esm/testing/transaction-logger.js → testing/transaction-logger.mjs} +9 -5
- package/testing/transaction-logger.mjs.map +1 -0
- package/transaction/index.d.ts +3 -0
- package/transaction/index.d.ts.map +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts +11 -0
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts.map +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.js +35 -0
- package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -0
- package/transaction/perform-atomic-transaction-composer-simulate.mjs +33 -0
- package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -0
- package/{cjs → transaction}/transaction.d.ts +2 -9
- package/transaction/transaction.d.ts.map +1 -0
- package/{cjs → transaction}/transaction.js +88 -113
- package/transaction/transaction.js.map +1 -0
- package/{esm/transaction.js → transaction/transaction.mjs} +27 -50
- package/transaction/transaction.mjs.map +1 -0
- package/transfer/index.d.ts +3 -0
- package/transfer/index.d.ts.map +1 -0
- package/transfer/transfer-algos.d.ts +17 -0
- package/transfer/transfer-algos.d.ts.map +1 -0
- package/transfer/transfer-algos.js +40 -0
- package/transfer/transfer-algos.js.map +1 -0
- package/transfer/transfer-algos.mjs +38 -0
- package/transfer/transfer-algos.mjs.map +1 -0
- package/{cjs → transfer}/transfer.d.ts +2 -14
- package/transfer/transfer.d.ts.map +1 -0
- package/transfer/transfer.js +147 -0
- package/transfer/transfer.js.map +1 -0
- package/{esm/transfer.js → transfer/transfer.mjs} +15 -40
- package/transfer/transfer.mjs.map +1 -0
- package/types/account.d.ts +63 -161
- package/types/account.d.ts.map +1 -1
- package/{cjs/types → types}/account.js +14 -22
- package/types/account.js.map +1 -0
- package/{esm/types/account.js → types/account.mjs} +7 -11
- package/types/account.mjs.map +1 -0
- package/types/algo-http-client-with-retry.d.ts.map +1 -0
- package/{cjs/types → types}/algo-http-client-with-retry.js +25 -24
- package/types/algo-http-client-with-retry.js.map +1 -0
- package/{esm/types/algo-http-client-with-retry.js → types/algo-http-client-with-retry.mjs} +23 -20
- package/types/algo-http-client-with-retry.mjs.map +1 -0
- package/types/amount.d.ts +22 -18
- package/types/amount.d.ts.map +1 -1
- package/{cjs/types → types}/amount.js +8 -11
- package/types/amount.js.map +1 -0
- package/{esm/types/amount.js → types/amount.mjs} +5 -3
- package/types/amount.mjs.map +1 -0
- package/types/app-client.d.ts +413 -69
- package/types/app-client.d.ts.map +1 -1
- package/{cjs/types → types}/app-client.js +58 -73
- package/types/app-client.js.map +1 -0
- package/{esm/types/app-client.js → types/app-client.mjs} +14 -24
- package/types/app-client.mjs.map +1 -0
- package/types/app-spec.d.ts.map +1 -0
- package/types/app.d.ts +300 -146
- package/types/app.d.ts.map +1 -1
- package/{cjs/types → types}/app.js +16 -14
- package/types/app.js.map +1 -0
- package/{esm/types/app.js → types/app.mjs} +9 -9
- package/types/app.mjs.map +1 -0
- package/types/asset.d.ts +40 -47
- package/types/asset.d.ts.map +1 -1
- package/types/config.d.ts.map +1 -0
- package/{cjs/types → types}/config.js +30 -41
- package/types/config.js.map +1 -0
- package/{esm/types/config.js → types/config.mjs} +8 -11
- package/types/config.mjs.map +1 -0
- package/types/debugging.d.ts +105 -22
- package/types/debugging.d.ts.map +1 -1
- package/{cjs/types → types}/debugging.js +6 -13
- package/types/debugging.js.map +1 -0
- package/{esm/types/debugging.js → types/debugging.mjs} +6 -11
- package/types/debugging.mjs.map +1 -0
- package/types/dispenser-client.d.ts +71 -13
- package/types/dispenser-client.d.ts.map +1 -1
- package/{cjs/types → types}/dispenser-client.js +4 -6
- package/types/dispenser-client.js.map +1 -0
- package/{esm/types/dispenser-client.js → types/dispenser-client.mjs} +4 -4
- package/types/dispenser-client.mjs.map +1 -0
- package/types/indexer.d.ts.map +1 -0
- package/types/logging.d.ts.map +1 -0
- package/{cjs/types → types}/logging.js +8 -6
- package/types/logging.js.map +1 -0
- package/{esm/types/logging.js → types/logging.mjs} +5 -3
- package/types/logging.mjs.map +1 -0
- package/types/logic-error.d.ts.map +1 -0
- package/{cjs/types → types}/logic-error.js +6 -9
- package/types/logic-error.js.map +1 -0
- package/{esm/types/logic-error.js → types/logic-error.mjs} +6 -7
- package/types/logic-error.mjs.map +1 -0
- package/types/network-client.d.ts +19 -99
- package/types/network-client.d.ts.map +1 -1
- package/types/testing.d.ts.map +1 -0
- package/types/transaction.d.ts +112 -175
- package/types/transaction.d.ts.map +1 -1
- package/types/transfer.d.ts +74 -56
- package/types/transfer.d.ts.map +1 -1
- package/types/urlTokenBaseHTTPClient.d.ts.map +1 -0
- package/{cjs/types → types}/urlTokenBaseHTTPClient.js +7 -10
- package/types/urlTokenBaseHTTPClient.js.map +1 -0
- package/{esm/types/urlTokenBaseHTTPClient.js → types/urlTokenBaseHTTPClient.mjs} +5 -6
- package/types/urlTokenBaseHTTPClient.mjs.map +1 -0
- package/util.d.ts.map +1 -0
- package/{cjs/util.js → util.js} +7 -7
- package/util.js.map +1 -0
- package/{esm/util.js → util.mjs} +7 -5
- package/util.mjs.map +1 -0
- package/cjs/account.d.ts +0 -168
- package/cjs/account.d.ts.map +0 -1
- package/cjs/account.js +0 -238
- package/cjs/account.js.map +0 -1
- package/cjs/amount.d.ts.map +0 -1
- package/cjs/amount.js +0 -36
- package/cjs/amount.js.map +0 -1
- package/cjs/app-client.d.ts.map +0 -1
- package/cjs/app-client.js.map +0 -1
- package/cjs/app-deploy.d.ts.map +0 -1
- package/cjs/app-deploy.js.map +0 -1
- package/cjs/app.d.ts.map +0 -1
- package/cjs/app.js.map +0 -1
- package/cjs/asset.d.ts.map +0 -1
- package/cjs/asset.js.map +0 -1
- package/cjs/debugging.d.ts.map +0 -1
- package/cjs/debugging.js +0 -225
- package/cjs/debugging.js.map +0 -1
- package/cjs/dispenser-client.d.ts.map +0 -1
- package/cjs/dispenser-client.js.map +0 -1
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -34
- package/cjs/index.js.map +0 -1
- package/cjs/indexer-lookup.d.ts.map +0 -1
- package/cjs/indexer-lookup.js.map +0 -1
- package/cjs/localnet.d.ts +0 -57
- package/cjs/localnet.d.ts.map +0 -1
- package/cjs/localnet.js +0 -121
- package/cjs/localnet.js.map +0 -1
- package/cjs/network-client.d.ts.map +0 -1
- package/cjs/network-client.js.map +0 -1
- package/cjs/testing/_asset.d.ts.map +0 -1
- package/cjs/testing/_asset.js +0 -36
- package/cjs/testing/_asset.js.map +0 -1
- package/cjs/testing/account.d.ts.map +0 -1
- package/cjs/testing/account.js +0 -31
- package/cjs/testing/account.js.map +0 -1
- package/cjs/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
- package/cjs/testing/fixtures/algokit-log-capture-fixture.js.map +0 -1
- package/cjs/testing/fixtures/algorand-fixture.d.ts.map +0 -1
- package/cjs/testing/fixtures/algorand-fixture.js +0 -58
- package/cjs/testing/fixtures/algorand-fixture.js.map +0 -1
- package/cjs/testing/fixtures/index.d.ts.map +0 -1
- package/cjs/testing/fixtures/index.js +0 -19
- package/cjs/testing/fixtures/index.js.map +0 -1
- package/cjs/testing/index.d.ts.map +0 -1
- package/cjs/testing/index.js +0 -22
- package/cjs/testing/index.js.map +0 -1
- package/cjs/testing/indexer.d.ts.map +0 -1
- package/cjs/testing/indexer.js.map +0 -1
- package/cjs/testing/test-logger.d.ts.map +0 -1
- package/cjs/testing/test-logger.js.map +0 -1
- package/cjs/testing/transaction-logger.d.ts.map +0 -1
- package/cjs/testing/transaction-logger.js.map +0 -1
- package/cjs/transaction.d.ts.map +0 -1
- package/cjs/transaction.js.map +0 -1
- package/cjs/transfer.d.ts.map +0 -1
- package/cjs/transfer.js +0 -178
- package/cjs/transfer.js.map +0 -1
- package/cjs/types/account.d.ts +0 -70
- package/cjs/types/account.d.ts.map +0 -1
- package/cjs/types/account.js.map +0 -1
- package/cjs/types/algo-http-client-with-retry.d.ts.map +0 -1
- package/cjs/types/algo-http-client-with-retry.js.map +0 -1
- package/cjs/types/amount.d.ts +0 -24
- package/cjs/types/amount.d.ts.map +0 -1
- package/cjs/types/amount.js.map +0 -1
- package/cjs/types/app-client.d.ts +0 -416
- package/cjs/types/app-client.d.ts.map +0 -1
- package/cjs/types/app-client.js.map +0 -1
- package/cjs/types/app-spec.d.ts.map +0 -1
- package/cjs/types/app-spec.js +0 -3
- package/cjs/types/app-spec.js.map +0 -1
- package/cjs/types/app.d.ts +0 -323
- package/cjs/types/app.d.ts.map +0 -1
- package/cjs/types/app.js.map +0 -1
- package/cjs/types/asset.d.ts +0 -42
- package/cjs/types/asset.d.ts.map +0 -1
- package/cjs/types/asset.js +0 -3
- package/cjs/types/asset.js.map +0 -1
- package/cjs/types/config.d.ts.map +0 -1
- package/cjs/types/config.js.map +0 -1
- package/cjs/types/debugging.d.ts +0 -112
- package/cjs/types/debugging.d.ts.map +0 -1
- package/cjs/types/debugging.js.map +0 -1
- package/cjs/types/dispenser-client.d.ts +0 -77
- package/cjs/types/dispenser-client.d.ts.map +0 -1
- package/cjs/types/dispenser-client.js.map +0 -1
- package/cjs/types/indexer.d.ts.map +0 -1
- package/cjs/types/indexer.js +0 -34
- package/cjs/types/indexer.js.map +0 -1
- package/cjs/types/logging.d.ts.map +0 -1
- package/cjs/types/logging.js.map +0 -1
- package/cjs/types/logic-error.d.ts.map +0 -1
- package/cjs/types/logic-error.js.map +0 -1
- package/cjs/types/network-client.d.ts +0 -20
- package/cjs/types/network-client.d.ts.map +0 -1
- package/cjs/types/network-client.js +0 -3
- package/cjs/types/network-client.js.map +0 -1
- package/cjs/types/testing.d.ts.map +0 -1
- package/cjs/types/testing.js +0 -3
- package/cjs/types/testing.js.map +0 -1
- package/cjs/types/transaction.d.ts +0 -118
- package/cjs/types/transaction.d.ts.map +0 -1
- package/cjs/types/transaction.js +0 -3
- package/cjs/types/transaction.js.map +0 -1
- package/cjs/types/transfer.d.ts +0 -76
- package/cjs/types/transfer.d.ts.map +0 -1
- package/cjs/types/transfer.js +0 -3
- package/cjs/types/transfer.js.map +0 -1
- package/cjs/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/cjs/types/urlTokenBaseHTTPClient.js.map +0 -1
- package/cjs/util.d.ts.map +0 -1
- package/cjs/util.js.map +0 -1
- package/esm/account.js +0 -221
- package/esm/account.js.map +0 -1
- package/esm/amount.js.map +0 -1
- package/esm/app-client.js.map +0 -1
- package/esm/app-deploy.js.map +0 -1
- package/esm/app.js.map +0 -1
- package/esm/asset.js.map +0 -1
- package/esm/debugging.js +0 -197
- package/esm/debugging.js.map +0 -1
- package/esm/dispenser-client.js.map +0 -1
- package/esm/index.js +0 -17
- package/esm/index.js.map +0 -1
- package/esm/indexer-lookup.js.map +0 -1
- package/esm/localnet.js +0 -111
- package/esm/localnet.js.map +0 -1
- package/esm/network-client.js.map +0 -1
- package/esm/package.json +0 -3
- package/esm/testing/_asset.js +0 -29
- package/esm/testing/_asset.js.map +0 -1
- package/esm/testing/account.js.map +0 -1
- package/esm/testing/fixtures/algokit-log-capture-fixture.js.map +0 -1
- package/esm/testing/fixtures/algorand-fixture.js.map +0 -1
- package/esm/testing/fixtures/index.js +0 -3
- package/esm/testing/fixtures/index.js.map +0 -1
- package/esm/testing/index.js +0 -6
- package/esm/testing/index.js.map +0 -1
- package/esm/testing/indexer.js.map +0 -1
- package/esm/testing/test-logger.js.map +0 -1
- package/esm/testing/transaction-logger.js.map +0 -1
- package/esm/transaction.js.map +0 -1
- package/esm/transfer.js.map +0 -1
- package/esm/types/account.js.map +0 -1
- package/esm/types/algo-http-client-with-retry.js.map +0 -1
- package/esm/types/amount.js.map +0 -1
- package/esm/types/app-client.js.map +0 -1
- package/esm/types/app-spec.js +0 -2
- package/esm/types/app-spec.js.map +0 -1
- package/esm/types/app.js.map +0 -1
- package/esm/types/asset.js +0 -2
- package/esm/types/asset.js.map +0 -1
- package/esm/types/config.js.map +0 -1
- package/esm/types/debugging.js.map +0 -1
- package/esm/types/dispenser-client.js.map +0 -1
- package/esm/types/indexer.js +0 -31
- package/esm/types/indexer.js.map +0 -1
- package/esm/types/logging.js.map +0 -1
- package/esm/types/logic-error.js.map +0 -1
- package/esm/types/network-client.js +0 -2
- package/esm/types/network-client.js.map +0 -1
- package/esm/types/testing.js +0 -2
- package/esm/types/testing.js.map +0 -1
- package/esm/types/transaction.js +0 -2
- package/esm/types/transaction.js.map +0 -1
- package/esm/types/transfer.js +0 -2
- package/esm/types/transfer.js.map +0 -1
- package/esm/types/urlTokenBaseHTTPClient.js.map +0 -1
- package/esm/util.js.map +0 -1
- package/types/app-deploy.d.ts +0 -104
- package/types/app-deploy.d.ts.map +0 -1
- package/types/index.d.ts +0 -17
- package/types/index.d.ts.map +0 -1
- package/types/indexer-lookup.d.ts +0 -39
- package/types/indexer-lookup.d.ts.map +0 -1
- package/types/localnet.d.ts +0 -57
- package/types/localnet.d.ts.map +0 -1
- package/types/testing/_asset.d.ts +0 -5
- package/types/testing/_asset.d.ts.map +0 -1
- package/types/testing/account.d.ts +0 -17
- package/types/testing/account.d.ts.map +0 -1
- package/types/testing/fixtures/algokit-log-capture-fixture.d.ts +0 -20
- package/types/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
- package/types/testing/fixtures/algorand-fixture.d.ts +0 -50
- package/types/testing/fixtures/algorand-fixture.d.ts.map +0 -1
- package/types/testing/fixtures/index.d.ts +0 -3
- package/types/testing/fixtures/index.d.ts.map +0 -1
- package/types/testing/index.d.ts +0 -6
- package/types/testing/index.d.ts.map +0 -1
- package/types/testing/indexer.d.ts +0 -13
- package/types/testing/indexer.d.ts.map +0 -1
- package/types/testing/test-logger.d.ts +0 -41
- package/types/testing/test-logger.d.ts.map +0 -1
- package/types/testing/transaction-logger.d.ts +0 -31
- package/types/testing/transaction-logger.d.ts.map +0 -1
- package/types/types/account.d.ts +0 -70
- package/types/types/account.d.ts.map +0 -1
- package/types/types/algo-http-client-with-retry.d.ts +0 -14
- package/types/types/algo-http-client-with-retry.d.ts.map +0 -1
- package/types/types/amount.d.ts +0 -24
- package/types/types/amount.d.ts.map +0 -1
- package/types/types/app-client.d.ts +0 -416
- package/types/types/app-client.d.ts.map +0 -1
- package/types/types/app-spec.d.ts +0 -156
- package/types/types/app-spec.d.ts.map +0 -1
- package/types/types/app.d.ts +0 -323
- package/types/types/app.d.ts.map +0 -1
- package/types/types/asset.d.ts +0 -42
- package/types/types/asset.d.ts.map +0 -1
- package/types/types/config.d.ts +0 -49
- package/types/types/config.d.ts.map +0 -1
- package/types/types/debugging.d.ts +0 -112
- package/types/types/debugging.d.ts.map +0 -1
- package/types/types/dispenser-client.d.ts +0 -77
- package/types/types/dispenser-client.d.ts.map +0 -1
- package/types/types/indexer.d.ts +0 -625
- package/types/types/indexer.d.ts.map +0 -1
- package/types/types/logging.d.ts +0 -13
- package/types/types/logging.d.ts.map +0 -1
- package/types/types/logic-error.d.ts +0 -37
- package/types/types/logic-error.d.ts.map +0 -1
- package/types/types/network-client.d.ts +0 -20
- package/types/types/network-client.d.ts.map +0 -1
- package/types/types/testing.d.ts +0 -95
- package/types/types/testing.d.ts.map +0 -1
- package/types/types/transaction.d.ts +0 -118
- package/types/types/transaction.d.ts.map +0 -1
- package/types/types/transfer.d.ts +0 -76
- package/types/types/transfer.d.ts.map +0 -1
- package/types/types/urlTokenBaseHTTPClient.d.ts +0 -41
- package/types/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/types/util.d.ts +0 -24
- package/types/util.d.ts.map +0 -1
- /package/{cjs/amount.d.ts → amount.d.ts} +0 -0
- /package/{cjs/app-client.d.ts → app-client.d.ts} +0 -0
- /package/{cjs/app-deploy.d.ts → app-deploy.d.ts} +0 -0
- /package/{cjs/asset.d.ts → asset.d.ts} +0 -0
- /package/{cjs/dispenser-client.d.ts → dispenser-client.d.ts} +0 -0
- /package/{cjs/indexer-lookup.d.ts → indexer-lookup.d.ts} +0 -0
- /package/{cjs/testing → testing}/_asset.d.ts +0 -0
- /package/{cjs/testing → testing}/account.d.ts +0 -0
- /package/{cjs/testing → testing}/fixtures/algokit-log-capture-fixture.d.ts +0 -0
- /package/{cjs/testing → testing}/fixtures/algorand-fixture.d.ts +0 -0
- /package/{cjs/testing → testing}/fixtures/index.d.ts +0 -0
- /package/{cjs/testing → testing}/index.d.ts +0 -0
- /package/{cjs/testing → testing}/indexer.d.ts +0 -0
- /package/{cjs/testing → testing}/test-logger.d.ts +0 -0
- /package/{cjs/testing → testing}/transaction-logger.d.ts +0 -0
- /package/{cjs/types → types}/algo-http-client-with-retry.d.ts +0 -0
- /package/{cjs/types → types}/app-spec.d.ts +0 -0
- /package/{cjs/types → types}/config.d.ts +0 -0
- /package/{cjs/types → types}/indexer.d.ts +0 -0
- /package/{cjs/types → types}/logging.d.ts +0 -0
- /package/{cjs/types → types}/logic-error.d.ts +0 -0
- /package/{cjs/types → types}/testing.d.ts +0 -0
- /package/{cjs/types → types}/urlTokenBaseHTTPClient.d.ts +0 -0
- /package/{cjs/util.d.ts → util.d.ts} +0 -0
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import algosdk from 'algosdk';
|
|
2
2
|
import { Buffer } from 'buffer';
|
|
3
|
-
import { Config } from '
|
|
4
|
-
import { simulateAndPersistResponse } from '
|
|
5
|
-
import { toNumber } from '
|
|
3
|
+
import { Config } from '../config.mjs';
|
|
4
|
+
import { simulateAndPersistResponse } from '../debugging/simulate-and-persist-response.mjs';
|
|
5
|
+
import { toNumber } from '../util.mjs';
|
|
6
|
+
import { performAtomicTransactionComposerSimulate } from './perform-atomic-transaction-composer-simulate.mjs';
|
|
7
|
+
|
|
6
8
|
var AtomicTransactionComposer = algosdk.AtomicTransactionComposer;
|
|
7
9
|
var modelsv2 = algosdk.modelsv2;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
const MAX_TRANSACTION_GROUP_SIZE = 16;
|
|
11
|
+
const MAX_APP_CALL_FOREIGN_REFERENCES = 8;
|
|
12
|
+
const MAX_APP_CALL_ACCOUNT_REFERENCES = 4;
|
|
11
13
|
/** Encodes a transaction note into a byte array ready to be included in an Algorand transaction.
|
|
12
14
|
*
|
|
13
15
|
* @param note The transaction note
|
|
@@ -20,7 +22,7 @@ export const MAX_APP_CALL_ACCOUNT_REFERENCES = 4;
|
|
|
20
22
|
* * Arc2TransactionNote object: ARC-0002 compatible transaction note
|
|
21
23
|
* * Else: The object/value converted into a JSON string representation
|
|
22
24
|
*/
|
|
23
|
-
|
|
25
|
+
function encodeTransactionNote(note) {
|
|
24
26
|
if (note == null || typeof note === 'undefined') {
|
|
25
27
|
return undefined;
|
|
26
28
|
}
|
|
@@ -46,7 +48,7 @@ export function encodeTransactionNote(note) {
|
|
|
46
48
|
* @example algokit.encodeLease('UNIQUE_ID')
|
|
47
49
|
* @example algokit.encodeLease(new Uint8Array([1, 2, 3]))
|
|
48
50
|
*/
|
|
49
|
-
|
|
51
|
+
function encodeLease(lease) {
|
|
50
52
|
if (lease === null || typeof lease === 'undefined') {
|
|
51
53
|
return undefined;
|
|
52
54
|
}
|
|
@@ -78,7 +80,7 @@ export function encodeLease(lease) {
|
|
|
78
80
|
* @param sender A transaction sender
|
|
79
81
|
* @returns The public address
|
|
80
82
|
*/
|
|
81
|
-
|
|
83
|
+
const getSenderAddress = function (sender) {
|
|
82
84
|
return typeof sender === 'string' ? sender : 'addr' in sender ? sender.addr : sender.address();
|
|
83
85
|
};
|
|
84
86
|
const memoize = (fn) => {
|
|
@@ -99,7 +101,7 @@ const memoize = (fn) => {
|
|
|
99
101
|
* include a signer.
|
|
100
102
|
* @returns A TransactionWithSigner object.
|
|
101
103
|
*/
|
|
102
|
-
|
|
104
|
+
const getTransactionWithSigner = async (transaction, defaultSender) => {
|
|
103
105
|
if ('txn' in transaction)
|
|
104
106
|
return transaction;
|
|
105
107
|
if (defaultSender === undefined)
|
|
@@ -125,7 +127,7 @@ export const getTransactionWithSigner = async (transaction, defaultSender) => {
|
|
|
125
127
|
* @param sender A transaction sender
|
|
126
128
|
* @returns A transaction signer
|
|
127
129
|
*/
|
|
128
|
-
|
|
130
|
+
const getSenderTransactionSigner = memoize(function (sender) {
|
|
129
131
|
return 'signer' in sender
|
|
130
132
|
? sender.signer
|
|
131
133
|
: 'lsig' in sender
|
|
@@ -138,7 +140,7 @@ export const getSenderTransactionSigner = memoize(function (sender) {
|
|
|
138
140
|
* @param signer The signer to sign
|
|
139
141
|
* @returns The signed transaction as a `Uint8Array`
|
|
140
142
|
*/
|
|
141
|
-
|
|
143
|
+
const signTransaction = async (transaction, signer) => {
|
|
142
144
|
return 'sk' in signer
|
|
143
145
|
? transaction.signTxn(signer.sk)
|
|
144
146
|
: 'lsig' in signer
|
|
@@ -157,7 +159,7 @@ export const signTransaction = async (transaction, signer) => {
|
|
|
157
159
|
*
|
|
158
160
|
* @returns An object with transaction (`transaction`) and (if `skipWaiting` is `false` or `undefined`) confirmation (`confirmation`)
|
|
159
161
|
*/
|
|
160
|
-
|
|
162
|
+
const sendTransaction = async function (send, algod) {
|
|
161
163
|
const { transaction, from, sendParams } = send;
|
|
162
164
|
const { skipSending, skipWaiting, fee, maxFee, suppressLog, maxRoundsToWaitForConfirmation, atc } = sendParams ?? {};
|
|
163
165
|
controlFees(transaction, { fee, maxFee });
|
|
@@ -233,7 +235,7 @@ async function getUnnamedAppCallResourcesAccessed(atc, algod) {
|
|
|
233
235
|
* See https://github.com/algorand/go-algorand/pull/5684
|
|
234
236
|
*
|
|
235
237
|
*/
|
|
236
|
-
|
|
238
|
+
async function populateAppCallResources(atc, algod) {
|
|
237
239
|
const unnamedResourcesAccessed = await getUnnamedAppCallResourcesAccessed(atc, algod);
|
|
238
240
|
const group = atc.buildGroup();
|
|
239
241
|
unnamedResourcesAccessed.txns.forEach((r, i) => {
|
|
@@ -340,7 +342,7 @@ export async function populateAppCallResources(atc, algod) {
|
|
|
340
342
|
* @param algod An algod client
|
|
341
343
|
* @returns An object with transaction IDs, transactions, group transaction ID (`groupTransactionId`) if more than 1 transaction sent, and (if `skipWaiting` is `false` or unset) confirmation (`confirmation`)
|
|
342
344
|
*/
|
|
343
|
-
|
|
345
|
+
const sendAtomicTransactionComposer = async function (atcSend, algod) {
|
|
344
346
|
const { atc: givenAtc, sendParams } = atcSend;
|
|
345
347
|
let atc;
|
|
346
348
|
// const hasAppCalls = () =>
|
|
@@ -442,7 +444,7 @@ export const sendAtomicTransactionComposer = async function (atcSend, algod) {
|
|
|
442
444
|
* @param algod An Algod client
|
|
443
445
|
* @returns The dryrun result
|
|
444
446
|
*/
|
|
445
|
-
|
|
447
|
+
async function performAtomicTransactionComposerDryrun(atc, algod) {
|
|
446
448
|
const signedTransactions = await atc.gatherSignatures();
|
|
447
449
|
const txns = signedTransactions.map((t) => {
|
|
448
450
|
return algosdk.decodeSignedTransaction(t);
|
|
@@ -450,33 +452,6 @@ export async function performAtomicTransactionComposerDryrun(atc, algod) {
|
|
|
450
452
|
const dryrun = await algosdk.createDryrun({ client: algod, txns });
|
|
451
453
|
return new algosdk.DryrunResult(await algod.dryrun(dryrun).do());
|
|
452
454
|
}
|
|
453
|
-
/**
|
|
454
|
-
* Performs a simulation of the transactions loaded into the given AtomicTransactionComposer.
|
|
455
|
-
* @param atc The AtomicTransactionComposer with transaction(s) loaded.
|
|
456
|
-
* @param algod An Algod client to perform the simulation.
|
|
457
|
-
* @returns The simulation result, which includes various details about how the transactions would be processed.
|
|
458
|
-
*/
|
|
459
|
-
export async function performAtomicTransactionComposerSimulate(atc, algod) {
|
|
460
|
-
const unsignedTransactionsSigners = atc.buildGroup();
|
|
461
|
-
const decodedSignedTransactions = unsignedTransactionsSigners.map((ts) => algosdk.encodeUnsignedSimulateTransaction(ts.txn));
|
|
462
|
-
const simulateRequest = new modelsv2.SimulateRequest({
|
|
463
|
-
allowEmptySignatures: true,
|
|
464
|
-
allowMoreLogging: true,
|
|
465
|
-
execTraceConfig: new modelsv2.SimulateTraceConfig({
|
|
466
|
-
enable: true,
|
|
467
|
-
scratchChange: true,
|
|
468
|
-
stackChange: true,
|
|
469
|
-
stateChange: true,
|
|
470
|
-
}),
|
|
471
|
-
txnGroups: [
|
|
472
|
-
new modelsv2.SimulateRequestTransactionGroup({
|
|
473
|
-
txns: decodedSignedTransactions.map((txn) => algosdk.decodeObj(txn)),
|
|
474
|
-
}),
|
|
475
|
-
],
|
|
476
|
-
});
|
|
477
|
-
const simulateResult = await algod.simulateTransactions(simulateRequest).do();
|
|
478
|
-
return simulateResult;
|
|
479
|
-
}
|
|
480
455
|
/**
|
|
481
456
|
* Signs and sends a group of [up to 16](https://developer.algorand.org/docs/get-details/atomic_transfers/#create-transactions) transactions to the chain
|
|
482
457
|
*
|
|
@@ -486,7 +461,7 @@ export async function performAtomicTransactionComposerSimulate(atc, algod) {
|
|
|
486
461
|
* @param algod An algod client
|
|
487
462
|
* @returns An object with transaction IDs, transactions, group transaction ID (`groupTransactionId`) if more than 1 transaction sent, and (if `skipWaiting` is `false` or unset) confirmation (`confirmation`)
|
|
488
463
|
*/
|
|
489
|
-
|
|
464
|
+
const sendGroupOfTransactions = async function (groupSend, algod) {
|
|
490
465
|
const { transactions, signer, sendParams } = groupSend;
|
|
491
466
|
const defaultTransactionSigner = signer ? getSenderTransactionSigner(signer) : undefined;
|
|
492
467
|
const transactionsWithSigner = await Promise.all(transactions.map(async (t) => {
|
|
@@ -522,7 +497,7 @@ export const sendGroupOfTransactions = async function (groupSend, algod) {
|
|
|
522
497
|
* @return Pending transaction information
|
|
523
498
|
* @throws Throws an error if the transaction is not confirmed or rejected in the next `timeout` rounds
|
|
524
499
|
*/
|
|
525
|
-
|
|
500
|
+
const waitForConfirmation = async function (transactionId, maxRoundsToWait, algod) {
|
|
526
501
|
if (maxRoundsToWait < 0) {
|
|
527
502
|
throw new Error(`Invalid timeout, received ${maxRoundsToWait}, expected > 0`);
|
|
528
503
|
}
|
|
@@ -570,7 +545,7 @@ export const waitForConfirmation = async function (transactionId, maxRoundsToWai
|
|
|
570
545
|
* @param transaction The transaction to cap or suggested params object about to be used to create a transaction
|
|
571
546
|
* @param maxAcceptableFee The maximum acceptable fee to pay
|
|
572
547
|
*/
|
|
573
|
-
|
|
548
|
+
function capTransactionFee(transaction, maxAcceptableFee) {
|
|
574
549
|
// If a flat fee hasn't already been defined
|
|
575
550
|
if (!transaction.flatFee) {
|
|
576
551
|
// Once a transaction has been constructed by algosdk, transaction.fee indicates what the total transaction fee
|
|
@@ -590,7 +565,7 @@ export function capTransactionFee(transaction, maxAcceptableFee) {
|
|
|
590
565
|
* @param transaction The transaction or suggested params
|
|
591
566
|
* @param feeControl The fee control parameters
|
|
592
567
|
*/
|
|
593
|
-
|
|
568
|
+
function controlFees(transaction, feeControl) {
|
|
594
569
|
const { fee, maxFee } = feeControl;
|
|
595
570
|
if (fee) {
|
|
596
571
|
transaction.fee = fee.microAlgos;
|
|
@@ -607,7 +582,7 @@ export function controlFees(transaction, feeControl) {
|
|
|
607
582
|
* @param algod Algod algod
|
|
608
583
|
* @returns The suggested transaction parameters
|
|
609
584
|
*/
|
|
610
|
-
|
|
585
|
+
async function getTransactionParams(params, algod) {
|
|
611
586
|
return params ? { ...params } : await algod.getTransactionParams().do();
|
|
612
587
|
}
|
|
613
588
|
/**
|
|
@@ -615,7 +590,7 @@ export async function getTransactionParams(params, algod) {
|
|
|
615
590
|
* @param atc The atomic transaction composer
|
|
616
591
|
* @returns The array of transactions with signers
|
|
617
592
|
*/
|
|
618
|
-
|
|
593
|
+
function getAtomicTransactionComposerTransactions(atc) {
|
|
619
594
|
try {
|
|
620
595
|
return atc.clone().buildGroup();
|
|
621
596
|
}
|
|
@@ -623,4 +598,6 @@ export function getAtomicTransactionComposerTransactions(atc) {
|
|
|
623
598
|
return [];
|
|
624
599
|
}
|
|
625
600
|
}
|
|
626
|
-
|
|
601
|
+
|
|
602
|
+
export { MAX_APP_CALL_ACCOUNT_REFERENCES, MAX_APP_CALL_FOREIGN_REFERENCES, MAX_TRANSACTION_GROUP_SIZE, capTransactionFee, controlFees, encodeLease, encodeTransactionNote, getAtomicTransactionComposerTransactions, getSenderAddress, getSenderTransactionSigner, getTransactionParams, getTransactionWithSigner, performAtomicTransactionComposerDryrun, populateAppCallResources, sendAtomicTransactionComposer, sendGroupOfTransactions, sendTransaction, signTransaction, waitForConfirmation };
|
|
603
|
+
//# sourceMappingURL=transaction.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.mjs","sources":["../../src/transaction/transaction.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import algosdk from 'algosdk';
|
|
2
|
+
import { SendTransactionResult } from '../types/transaction';
|
|
3
|
+
import { AlgoTransferParams } from '../types/transfer';
|
|
4
|
+
import Algodv2 = algosdk.Algodv2;
|
|
5
|
+
/**
|
|
6
|
+
* Transfer ALGOs between two accounts.
|
|
7
|
+
* @param transfer The transfer definition
|
|
8
|
+
* @param algod An algod client
|
|
9
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
10
|
+
*
|
|
11
|
+
* @example Usage example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function transferAlgos(transfer: AlgoTransferParams, algod: Algodv2): Promise<SendTransactionResult>;
|
|
17
|
+
//# sourceMappingURL=transfer-algos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-algos.d.ts","sourceRoot":"","sources":["../../src/transfer/transfer-algos.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAG7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;AAEhC;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyBhH"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var algosdk = require('algosdk');
|
|
4
|
+
var config = require('../config.js');
|
|
5
|
+
var transaction = require('../transaction/transaction.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Transfer ALGOs between two accounts.
|
|
9
|
+
* @param transfer The transfer definition
|
|
10
|
+
* @param algod An algod client
|
|
11
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
12
|
+
*
|
|
13
|
+
* @example Usage example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
async function transferAlgos(transfer, algod) {
|
|
19
|
+
const { from, to, amount, note, transactionParams, lease, ...sendParams } = transfer;
|
|
20
|
+
const transaction$1 = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
|
|
21
|
+
from: transaction.getSenderAddress(from),
|
|
22
|
+
to: transaction.getSenderAddress(to),
|
|
23
|
+
amount: amount.microAlgos,
|
|
24
|
+
note: transaction.encodeTransactionNote(note),
|
|
25
|
+
suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
|
|
26
|
+
closeRemainderTo: undefined,
|
|
27
|
+
rekeyTo: undefined,
|
|
28
|
+
});
|
|
29
|
+
const encodedLease = transaction.encodeLease(lease);
|
|
30
|
+
if (encodedLease) {
|
|
31
|
+
transaction$1.addLease(encodedLease);
|
|
32
|
+
}
|
|
33
|
+
if (!sendParams.skipSending) {
|
|
34
|
+
config.Config.getLogger(sendParams.suppressLog).debug(`Transferring ${amount.microAlgos}µALGOs from ${transaction.getSenderAddress(from)} to ${transaction.getSenderAddress(to)}`);
|
|
35
|
+
}
|
|
36
|
+
return transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.transferAlgos = transferAlgos;
|
|
40
|
+
//# sourceMappingURL=transfer-algos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-algos.js","sources":["../../src/transfer/transfer-algos.ts"],"sourcesContent":[null],"names":["transaction","getSenderAddress","encodeTransactionNote","getTransactionParams","encodeLease","Config","sendTransaction"],"mappings":";;;;;;AAOA;;;;;;;;;;AAUG;AACI,eAAe,aAAa,CAAC,QAA4B,EAAE,KAAc,EAAA;AAC9E,IAAA,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAA;AAEpF,IAAA,MAAMA,aAAW,GAAG,OAAO,CAAC,2CAA2C,CAAC;AACtE,QAAA,IAAI,EAAEC,4BAAgB,CAAC,IAAI,CAAC;AAC5B,QAAA,EAAE,EAAEA,4BAAgB,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,UAAU;AACzB,QAAA,IAAI,EAAEC,iCAAqB,CAAC,IAAI,CAAC;AACjC,QAAA,eAAe,EAAE,MAAMC,gCAAoB,CAAC,iBAAiB,EAAE,KAAK,CAAC;AACrE,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA,CAAC,CAAA;AAEF,IAAA,MAAM,YAAY,GAAGC,uBAAW,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,YAAY,EAAE;AAChB,QAAAJ,aAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;KACnC;AAED,IAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAC3BK,aAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAC5C,CAAA,aAAA,EAAgB,MAAM,CAAC,UAAU,CAAe,YAAA,EAAAJ,4BAAgB,CAAC,IAAI,CAAC,CAAA,IAAA,EAAOA,4BAAgB,CAAC,EAAE,CAAC,CAAE,CAAA,CACpG,CAAA;KACF;AAED,IAAA,OAAOK,2BAAe,CAAC,eAAEN,aAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import algosdk from 'algosdk';
|
|
2
|
+
import { Config } from '../config.mjs';
|
|
3
|
+
import { getSenderAddress, encodeTransactionNote, getTransactionParams, encodeLease, sendTransaction } from '../transaction/transaction.mjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Transfer ALGOs between two accounts.
|
|
7
|
+
* @param transfer The transfer definition
|
|
8
|
+
* @param algod An algod client
|
|
9
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
10
|
+
*
|
|
11
|
+
* @example Usage example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
async function transferAlgos(transfer, algod) {
|
|
17
|
+
const { from, to, amount, note, transactionParams, lease, ...sendParams } = transfer;
|
|
18
|
+
const transaction = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
|
|
19
|
+
from: getSenderAddress(from),
|
|
20
|
+
to: getSenderAddress(to),
|
|
21
|
+
amount: amount.microAlgos,
|
|
22
|
+
note: encodeTransactionNote(note),
|
|
23
|
+
suggestedParams: await getTransactionParams(transactionParams, algod),
|
|
24
|
+
closeRemainderTo: undefined,
|
|
25
|
+
rekeyTo: undefined,
|
|
26
|
+
});
|
|
27
|
+
const encodedLease = encodeLease(lease);
|
|
28
|
+
if (encodedLease) {
|
|
29
|
+
transaction.addLease(encodedLease);
|
|
30
|
+
}
|
|
31
|
+
if (!sendParams.skipSending) {
|
|
32
|
+
Config.getLogger(sendParams.suppressLog).debug(`Transferring ${amount.microAlgos}µALGOs from ${getSenderAddress(from)} to ${getSenderAddress(to)}`);
|
|
33
|
+
}
|
|
34
|
+
return sendTransaction({ transaction, from, sendParams }, algod);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { transferAlgos };
|
|
38
|
+
//# sourceMappingURL=transfer-algos.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-algos.mjs","sources":["../../src/transfer/transfer-algos.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAOA;;;;;;;;;;AAUG;AACI,eAAe,aAAa,CAAC,QAA4B,EAAE,KAAc,EAAA;AAC9E,IAAA,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAA;AAEpF,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,2CAA2C,CAAC;AACtE,QAAA,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;AAC5B,QAAA,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,UAAU;AACzB,QAAA,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;AACjC,QAAA,eAAe,EAAE,MAAM,oBAAoB,CAAC,iBAAiB,EAAE,KAAK,CAAC;AACrE,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA,CAAC,CAAA;AAEF,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,YAAY,EAAE;AAChB,QAAA,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;KACnC;AAED,IAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAC3B,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAC5C,CAAA,aAAA,EAAgB,MAAM,CAAC,UAAU,CAAe,YAAA,EAAA,gBAAgB,CAAC,IAAI,CAAC,CAAA,IAAA,EAAO,gBAAgB,CAAC,EAAE,CAAC,CAAE,CAAA,CACpG,CAAA;KACF;AAED,IAAA,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE;;;;"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import algosdk from 'algosdk';
|
|
2
|
-
import { SendTransactionResult } from '
|
|
3
|
-
import { AlgoRekeyParams,
|
|
2
|
+
import { SendTransactionResult } from '../types/transaction';
|
|
3
|
+
import { AlgoRekeyParams, EnsureFundedParams, EnsureFundedReturnType, TransferAssetParams } from '../types/transfer';
|
|
4
4
|
import Algodv2 = algosdk.Algodv2;
|
|
5
5
|
import Kmd = algosdk.Kmd;
|
|
6
|
-
/**
|
|
7
|
-
* Transfer ALGOs between two accounts.
|
|
8
|
-
* @param transfer The transfer definition
|
|
9
|
-
* @param algod An algod client
|
|
10
|
-
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
11
|
-
*
|
|
12
|
-
* @example Usage example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export declare function transferAlgos(transfer: AlgoTransferParams, algod: Algodv2): Promise<SendTransactionResult>;
|
|
18
6
|
/**
|
|
19
7
|
* Funds a given account using a funding source such that it has a certain amount of algos free to spend (accounting for ALGOs locked in minimum balance requirement).
|
|
20
8
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAQ7B,OAAO,EAAE,qBAAqB,EAAmB,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGpH,OAAO,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;AAChC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;AA+DxB;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,kBAAkB,EAC7D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,GAAG,GACR,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAkC7C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0BjH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuBzG"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var algosdk = require('algosdk');
|
|
4
|
+
var getDispenserAccount = require('../account/get-dispenser-account.js');
|
|
5
|
+
var amount = require('../amount.js');
|
|
6
|
+
var config = require('../config.js');
|
|
7
|
+
var networkClient = require('../network-client.js');
|
|
8
|
+
var transaction = require('../transaction/transaction.js');
|
|
9
|
+
var dispenserClient = require('../types/dispenser-client.js');
|
|
10
|
+
var util = require('../util.js');
|
|
11
|
+
var transferAlgos = require('./transfer-algos.js');
|
|
12
|
+
|
|
13
|
+
async function fundUsingDispenserApi(dispenserClient, addressToFund, fundAmount) {
|
|
14
|
+
const response = await dispenserClient.fund(addressToFund, fundAmount);
|
|
15
|
+
return { transactionId: response.txId, amount: response.amount };
|
|
16
|
+
}
|
|
17
|
+
async function fundUsingTransfer({ algod, addressToFund, funding, fundAmount, transactionParams, sendParams, note, kmd, }) {
|
|
18
|
+
if (funding.fundingSource instanceof dispenserClient.TestNetDispenserApiClient) {
|
|
19
|
+
throw new Error('Dispenser API client is not supported in this context.');
|
|
20
|
+
}
|
|
21
|
+
const from = funding.fundingSource ?? (await getDispenserAccount.getDispenserAccount(algod, kmd));
|
|
22
|
+
const amount$1 = amount.microAlgos(Math.max(fundAmount, funding.minFundingIncrement?.microAlgos ?? 0));
|
|
23
|
+
const response = await transferAlgos.transferAlgos({
|
|
24
|
+
from,
|
|
25
|
+
to: addressToFund,
|
|
26
|
+
note: note ?? 'Funding account to meet minimum requirement',
|
|
27
|
+
amount: amount$1,
|
|
28
|
+
transactionParams: transactionParams,
|
|
29
|
+
lease: funding.lease,
|
|
30
|
+
...sendParams,
|
|
31
|
+
}, algod);
|
|
32
|
+
return {
|
|
33
|
+
transactionId: response.transaction.txID(),
|
|
34
|
+
amount: Number(response.transaction.amount),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Funds a given account using a funding source such that it has a certain amount of algos free to spend (accounting for ALGOs locked in minimum balance requirement).
|
|
39
|
+
*
|
|
40
|
+
* https://developer.algorand.org/docs/get-details/accounts/#minimum-balance
|
|
41
|
+
*
|
|
42
|
+
* @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.
|
|
43
|
+
* @param algod An instance of the Algodv2 client.
|
|
44
|
+
* @param kmd An optional instance of the Kmd client.
|
|
45
|
+
* @returns
|
|
46
|
+
* - `EnsureFundedReturnType` if funds were transferred.
|
|
47
|
+
* - `undefined` if no funds were needed.
|
|
48
|
+
*/
|
|
49
|
+
async function ensureFunded(funding, algod, kmd) {
|
|
50
|
+
const { accountToFund, fundingSource, minSpendingBalance, minFundingIncrement, transactionParams, note, ...sendParams } = funding;
|
|
51
|
+
const addressToFund = typeof accountToFund === 'string' ? accountToFund : transaction.getSenderAddress(accountToFund);
|
|
52
|
+
const accountInfo = await algod.accountInformation(addressToFund).do();
|
|
53
|
+
const balance = Number(accountInfo.amount);
|
|
54
|
+
const minimumBalanceRequirement = amount.microAlgos(Number(accountInfo['min-balance']));
|
|
55
|
+
const currentSpendingBalance = amount.microAlgos(balance - minimumBalanceRequirement.microAlgos);
|
|
56
|
+
const fundAmount = util.calculateFundAmount(minSpendingBalance.microAlgos, currentSpendingBalance.microAlgos, minFundingIncrement?.microAlgos ?? 0);
|
|
57
|
+
if (fundAmount !== null) {
|
|
58
|
+
if ((await networkClient.isTestNet(algod)) && fundingSource instanceof dispenserClient.TestNetDispenserApiClient) {
|
|
59
|
+
return await fundUsingDispenserApi(fundingSource, addressToFund, fundAmount);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return await fundUsingTransfer({
|
|
63
|
+
algod,
|
|
64
|
+
addressToFund,
|
|
65
|
+
funding,
|
|
66
|
+
fundAmount,
|
|
67
|
+
transactionParams,
|
|
68
|
+
sendParams,
|
|
69
|
+
note,
|
|
70
|
+
kmd,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Transfer asset between two accounts.
|
|
78
|
+
* @param transfer The transfer definition
|
|
79
|
+
* @param algod An algod client
|
|
80
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
81
|
+
*
|
|
82
|
+
* @example Usage example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* await algokit.transferAsset({ from, to, assetId, amount }, algod)
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
async function transferAsset(transfer, algod) {
|
|
88
|
+
const { from, to, assetId, amount, transactionParams, clawbackFrom, note, lease, ...sendParams } = transfer;
|
|
89
|
+
const transaction$1 = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({
|
|
90
|
+
from: transaction.getSenderAddress(from),
|
|
91
|
+
to: transaction.getSenderAddress(to),
|
|
92
|
+
closeRemainderTo: undefined,
|
|
93
|
+
revocationTarget: clawbackFrom ? transaction.getSenderAddress(clawbackFrom) : undefined,
|
|
94
|
+
amount: amount,
|
|
95
|
+
note: transaction.encodeTransactionNote(note),
|
|
96
|
+
assetIndex: assetId,
|
|
97
|
+
suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
|
|
98
|
+
rekeyTo: undefined,
|
|
99
|
+
});
|
|
100
|
+
const encodedLease = transaction.encodeLease(lease);
|
|
101
|
+
if (encodedLease) {
|
|
102
|
+
transaction$1.addLease(encodedLease);
|
|
103
|
+
}
|
|
104
|
+
if (!sendParams.skipSending) {
|
|
105
|
+
config.Config.getLogger(sendParams.suppressLog).debug(`Transferring ASA (${assetId}) of amount ${amount} from ${transaction.getSenderAddress(from)} to ${transaction.getSenderAddress(to)}`);
|
|
106
|
+
}
|
|
107
|
+
return transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Rekey an account to a new address.
|
|
111
|
+
*
|
|
112
|
+
* **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://developer.algorand.org/docs/get-details/accounts/rekey/).
|
|
113
|
+
*
|
|
114
|
+
* @param rekey The rekey definition
|
|
115
|
+
* @param algod An algod client
|
|
116
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
117
|
+
*
|
|
118
|
+
* @example Usage example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* await algokit.rekeyAccount({ from, rekeyTo }, algod)
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
async function rekeyAccount(rekey, algod) {
|
|
124
|
+
const { from, rekeyTo, note, transactionParams, lease, ...sendParams } = rekey;
|
|
125
|
+
const transaction$1 = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
|
|
126
|
+
from: transaction.getSenderAddress(from),
|
|
127
|
+
to: transaction.getSenderAddress(from),
|
|
128
|
+
rekeyTo: transaction.getSenderAddress(rekeyTo),
|
|
129
|
+
amount: 0,
|
|
130
|
+
note: transaction.encodeTransactionNote(note),
|
|
131
|
+
suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
|
|
132
|
+
closeRemainderTo: undefined,
|
|
133
|
+
});
|
|
134
|
+
const encodedLease = transaction.encodeLease(lease);
|
|
135
|
+
if (encodedLease) {
|
|
136
|
+
transaction$1.addLease(encodedLease);
|
|
137
|
+
}
|
|
138
|
+
if (!sendParams.skipSending) {
|
|
139
|
+
config.Config.getLogger(sendParams.suppressLog).debug(`Rekeying ${transaction.getSenderAddress(from)} to ${transaction.getSenderAddress(rekeyTo)}`);
|
|
140
|
+
}
|
|
141
|
+
return transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
exports.ensureFunded = ensureFunded;
|
|
145
|
+
exports.rekeyAccount = rekeyAccount;
|
|
146
|
+
exports.transferAsset = transferAsset;
|
|
147
|
+
//# sourceMappingURL=transfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer.js","sources":["../../src/transfer/transfer.ts"],"sourcesContent":[null],"names":["TestNetDispenserApiClient","getDispenserAccount","amount","microAlgos","transferAlgos","getSenderAddress","calculateFundAmount","isTestNet","transaction","encodeTransactionNote","getTransactionParams","encodeLease","Config","sendTransaction"],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import algosdk from 'algosdk';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { getDispenserAccount } from '../account/get-dispenser-account.mjs';
|
|
3
|
+
import { microAlgos } from '../amount.mjs';
|
|
4
|
+
import { Config } from '../config.mjs';
|
|
5
|
+
import { isTestNet } from '../network-client.mjs';
|
|
6
|
+
import { getSenderAddress, encodeTransactionNote, getTransactionParams, encodeLease, sendTransaction } from '../transaction/transaction.mjs';
|
|
7
|
+
import { TestNetDispenserApiClient } from '../types/dispenser-client.mjs';
|
|
8
|
+
import { calculateFundAmount } from '../util.mjs';
|
|
9
|
+
import { transferAlgos } from './transfer-algos.mjs';
|
|
10
|
+
|
|
7
11
|
async function fundUsingDispenserApi(dispenserClient, addressToFund, fundAmount) {
|
|
8
12
|
const response = await dispenserClient.fund(addressToFund, fundAmount);
|
|
9
13
|
return { transactionId: response.txId, amount: response.amount };
|
|
@@ -28,37 +32,6 @@ async function fundUsingTransfer({ algod, addressToFund, funding, fundAmount, tr
|
|
|
28
32
|
amount: Number(response.transaction.amount),
|
|
29
33
|
};
|
|
30
34
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Transfer ALGOs between two accounts.
|
|
33
|
-
* @param transfer The transfer definition
|
|
34
|
-
* @param algod An algod client
|
|
35
|
-
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
36
|
-
*
|
|
37
|
-
* @example Usage example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export async function transferAlgos(transfer, algod) {
|
|
43
|
-
const { from, to, amount, note, transactionParams, lease, ...sendParams } = transfer;
|
|
44
|
-
const transaction = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
|
|
45
|
-
from: getSenderAddress(from),
|
|
46
|
-
to: getSenderAddress(to),
|
|
47
|
-
amount: amount.microAlgos,
|
|
48
|
-
note: encodeTransactionNote(note),
|
|
49
|
-
suggestedParams: await getTransactionParams(transactionParams, algod),
|
|
50
|
-
closeRemainderTo: undefined,
|
|
51
|
-
rekeyTo: undefined,
|
|
52
|
-
});
|
|
53
|
-
const encodedLease = encodeLease(lease);
|
|
54
|
-
if (encodedLease) {
|
|
55
|
-
transaction.addLease(encodedLease);
|
|
56
|
-
}
|
|
57
|
-
if (!sendParams.skipSending) {
|
|
58
|
-
Config.getLogger(sendParams.suppressLog).debug(`Transferring ${amount.microAlgos}µALGOs from ${getSenderAddress(from)} to ${getSenderAddress(to)}`);
|
|
59
|
-
}
|
|
60
|
-
return sendTransaction({ transaction, from, sendParams }, algod);
|
|
61
|
-
}
|
|
62
35
|
/**
|
|
63
36
|
* Funds a given account using a funding source such that it has a certain amount of algos free to spend (accounting for ALGOs locked in minimum balance requirement).
|
|
64
37
|
*
|
|
@@ -71,7 +44,7 @@ export async function transferAlgos(transfer, algod) {
|
|
|
71
44
|
* - `EnsureFundedReturnType` if funds were transferred.
|
|
72
45
|
* - `undefined` if no funds were needed.
|
|
73
46
|
*/
|
|
74
|
-
|
|
47
|
+
async function ensureFunded(funding, algod, kmd) {
|
|
75
48
|
const { accountToFund, fundingSource, minSpendingBalance, minFundingIncrement, transactionParams, note, ...sendParams } = funding;
|
|
76
49
|
const addressToFund = typeof accountToFund === 'string' ? accountToFund : getSenderAddress(accountToFund);
|
|
77
50
|
const accountInfo = await algod.accountInformation(addressToFund).do();
|
|
@@ -109,7 +82,7 @@ export async function ensureFunded(funding, algod, kmd) {
|
|
|
109
82
|
* await algokit.transferAsset({ from, to, assetId, amount }, algod)
|
|
110
83
|
* ```
|
|
111
84
|
*/
|
|
112
|
-
|
|
85
|
+
async function transferAsset(transfer, algod) {
|
|
113
86
|
const { from, to, assetId, amount, transactionParams, clawbackFrom, note, lease, ...sendParams } = transfer;
|
|
114
87
|
const transaction = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({
|
|
115
88
|
from: getSenderAddress(from),
|
|
@@ -145,7 +118,7 @@ export async function transferAsset(transfer, algod) {
|
|
|
145
118
|
* await algokit.rekeyAccount({ from, rekeyTo }, algod)
|
|
146
119
|
* ```
|
|
147
120
|
*/
|
|
148
|
-
|
|
121
|
+
async function rekeyAccount(rekey, algod) {
|
|
149
122
|
const { from, rekeyTo, note, transactionParams, lease, ...sendParams } = rekey;
|
|
150
123
|
const transaction = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
|
|
151
124
|
from: getSenderAddress(from),
|
|
@@ -165,4 +138,6 @@ export async function rekeyAccount(rekey, algod) {
|
|
|
165
138
|
}
|
|
166
139
|
return sendTransaction({ transaction, from, sendParams }, algod);
|
|
167
140
|
}
|
|
168
|
-
|
|
141
|
+
|
|
142
|
+
export { ensureFunded, rekeyAccount, transferAsset };
|
|
143
|
+
//# sourceMappingURL=transfer.mjs.map
|