@algorandfoundation/algokit-utils 7.0.0-beta.1 → 7.0.0-beta.11
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/README.md +3 -25
- package/account/account.d.ts +8 -9
- package/account/account.js +7 -7
- package/account/account.js.map +1 -1
- package/account/account.mjs +7 -7
- package/account/account.mjs.map +1 -1
- package/account/get-account-config-from-environment.d.ts +0 -1
- package/account/get-account-config-from-environment.js.map +1 -1
- package/account/get-account-config-from-environment.mjs.map +1 -1
- package/account/get-account.d.ts +2 -3
- package/account/get-account.js +1 -1
- package/account/get-account.js.map +1 -1
- package/account/get-account.mjs +1 -1
- package/account/get-account.mjs.map +1 -1
- package/account/get-dispenser-account.d.ts +1 -2
- package/account/get-dispenser-account.js +1 -1
- package/account/get-dispenser-account.js.map +1 -1
- package/account/get-dispenser-account.mjs +1 -1
- package/account/get-dispenser-account.mjs.map +1 -1
- package/account/index.d.ts +0 -1
- package/account/mnemonic-account.d.ts +1 -2
- package/account/mnemonic-account.js +1 -1
- package/account/mnemonic-account.js.map +1 -1
- package/account/mnemonic-account.mjs +1 -1
- package/account/mnemonic-account.mjs.map +1 -1
- package/amount.d.ts +14 -5
- package/amount.js +6 -0
- package/amount.js.map +1 -1
- package/amount.mjs +6 -0
- package/amount.mjs.map +1 -1
- package/app-client.d.ts +15 -1
- package/app-client.js +15 -0
- package/app-client.js.map +1 -1
- package/app-client.mjs +15 -0
- package/app-client.mjs.map +1 -1
- package/app-deploy.d.ts +18 -2
- package/app-deploy.js +140 -333
- package/app-deploy.js.map +1 -1
- package/app-deploy.mjs +143 -336
- package/app-deploy.mjs.map +1 -1
- package/app.d.ts +39 -3
- package/app.js +116 -369
- package/app.js.map +1 -1
- package/app.mjs +117 -370
- package/app.mjs.map +1 -1
- package/asset.d.ts +5 -6
- package/asset.js +5 -8
- package/asset.js.map +1 -1
- package/asset.mjs +5 -8
- package/asset.mjs.map +1 -1
- package/config.d.ts +0 -1
- package/config.js.map +1 -1
- package/config.mjs.map +1 -1
- package/debugging/debugging.d.ts +3 -5
- package/debugging/debugging.js +4 -128
- package/debugging/debugging.js.map +1 -1
- package/debugging/debugging.mjs +4 -109
- package/debugging/debugging.mjs.map +1 -1
- package/debugging/index.d.ts +0 -2
- package/dispenser-client.d.ts +0 -1
- package/dispenser-client.js.map +1 -1
- package/dispenser-client.mjs.map +1 -1
- package/index.d.ts +4 -4
- package/index.js +31 -26
- package/index.js.map +1 -1
- package/index.mjs +4 -4
- package/indexer-lookup.d.ts +0 -1
- package/indexer-lookup.js.map +1 -1
- package/indexer-lookup.mjs.map +1 -1
- package/localnet/get-kmd-wallet-account.d.ts +1 -2
- package/localnet/get-kmd-wallet-account.js +1 -1
- package/localnet/get-kmd-wallet-account.js.map +1 -1
- package/localnet/get-kmd-wallet-account.mjs +1 -1
- package/localnet/get-kmd-wallet-account.mjs.map +1 -1
- package/localnet/get-localnet-dispenser-account.d.ts +1 -2
- package/localnet/get-localnet-dispenser-account.js +1 -1
- package/localnet/get-localnet-dispenser-account.js.map +1 -1
- package/localnet/get-localnet-dispenser-account.mjs +1 -1
- package/localnet/get-localnet-dispenser-account.mjs.map +1 -1
- package/localnet/get-or-create-kmd-wallet-account.d.ts +1 -2
- package/localnet/get-or-create-kmd-wallet-account.js +1 -1
- package/localnet/get-or-create-kmd-wallet-account.js.map +1 -1
- package/localnet/get-or-create-kmd-wallet-account.mjs +1 -1
- package/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -1
- package/localnet/index.d.ts +0 -1
- package/localnet/is-localnet.d.ts +1 -2
- package/localnet/is-localnet.js +1 -1
- package/localnet/is-localnet.js.map +1 -1
- package/localnet/is-localnet.mjs +1 -1
- package/localnet/is-localnet.mjs.map +1 -1
- package/network-client.d.ts +2 -3
- package/network-client.js +2 -2
- package/network-client.js.map +1 -1
- package/network-client.mjs +2 -2
- package/network-client.mjs.map +1 -1
- package/package.json +1 -1
- package/testing/_asset.d.ts +0 -1
- package/testing/account.d.ts +0 -1
- package/testing/account.js.map +1 -1
- package/testing/account.mjs.map +1 -1
- package/testing/fixtures/algokit-log-capture-fixture.d.ts +0 -1
- package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
- package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
- package/testing/fixtures/algorand-fixture.d.ts +0 -1
- package/testing/fixtures/algorand-fixture.js +12 -12
- package/testing/fixtures/algorand-fixture.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs +12 -12
- package/testing/fixtures/algorand-fixture.mjs.map +1 -1
- package/testing/fixtures/index.d.ts +0 -1
- package/testing/index.d.ts +0 -1
- package/testing/indexer.d.ts +0 -1
- package/testing/indexer.js.map +1 -1
- package/testing/indexer.mjs.map +1 -1
- package/testing/test-logger.d.ts +0 -1
- package/testing/test-logger.js +1 -3
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs +1 -3
- package/testing/test-logger.mjs.map +1 -1
- package/testing/transaction-logger.d.ts +0 -1
- package/testing/transaction-logger.js.map +1 -1
- package/testing/transaction-logger.mjs.map +1 -1
- package/transaction/index.d.ts +0 -1
- package/transaction/legacy-bridge.d.ts +31 -6
- package/transaction/legacy-bridge.js +100 -6
- package/transaction/legacy-bridge.js.map +1 -1
- package/transaction/legacy-bridge.mjs +99 -8
- package/transaction/legacy-bridge.mjs.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts +0 -1
- package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -1
- package/transaction/transaction.d.ts +41 -6
- package/transaction/transaction.js +108 -45
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +108 -46
- package/transaction/transaction.mjs.map +1 -1
- package/transfer/index.d.ts +0 -1
- package/transfer/transfer-algos.d.ts +1 -2
- package/transfer/transfer-algos.js +1 -1
- package/transfer/transfer-algos.js.map +1 -1
- package/transfer/transfer-algos.mjs +1 -1
- package/transfer/transfer-algos.mjs.map +1 -1
- package/transfer/transfer.d.ts +1 -2
- package/transfer/transfer.js +3 -3
- package/transfer/transfer.js.map +1 -1
- package/transfer/transfer.mjs +3 -3
- package/transfer/transfer.mjs.map +1 -1
- package/types/account-manager.d.ts +14 -6
- package/types/account-manager.js +18 -4
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +18 -4
- package/types/account-manager.mjs.map +1 -1
- package/types/account.d.ts +0 -1
- package/types/account.js.map +1 -1
- package/types/account.mjs.map +1 -1
- package/types/algo-http-client-with-retry.d.ts +0 -1
- package/types/algo-http-client-with-retry.js.map +1 -1
- 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 +450 -21
- package/types/algorand-client-transaction-creator.js +406 -22
- package/types/algorand-client-transaction-creator.js.map +1 -1
- package/types/algorand-client-transaction-creator.mjs +406 -22
- package/types/algorand-client-transaction-creator.mjs.map +1 -1
- package/types/algorand-client-transaction-sender.d.ts +758 -33
- package/types/algorand-client-transaction-sender.js +444 -14
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +444 -14
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +18 -10
- package/types/algorand-client.js +23 -10
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +23 -10
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.d.ts +10 -11
- package/types/amount.js +7 -7
- package/types/amount.js.map +1 -1
- package/types/amount.mjs +7 -7
- package/types/amount.mjs.map +1 -1
- package/types/app-arc56.d.ts +348 -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 +1496 -9
- package/types/app-client.js +903 -21
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +904 -23
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +126 -0
- package/types/app-deployer.js +354 -0
- package/types/app-deployer.js.map +1 -0
- package/types/app-deployer.mjs +352 -0
- package/types/app-deployer.mjs.map +1 -0
- package/types/app-factory.d.ts +846 -0
- package/types/app-factory.js +411 -0
- package/types/app-factory.js.map +1 -0
- package/types/app-factory.mjs +409 -0
- package/types/app-factory.mjs.map +1 -0
- package/types/app-manager.d.ts +244 -0
- package/types/app-manager.js +334 -0
- package/types/app-manager.js.map +1 -0
- package/types/app-manager.mjs +332 -0
- package/types/app-manager.mjs.map +1 -0
- package/types/app-spec.d.ts +2 -1
- package/types/app-spec.js +121 -0
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +120 -0
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +53 -13
- 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 +4 -4
- package/types/asset-manager.js +3 -4
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +3 -4
- package/types/asset-manager.mjs.map +1 -1
- package/types/asset.d.ts +0 -1
- package/types/async-event-emitter.d.ts +23 -0
- package/types/async-event-emitter.js +55 -0
- package/types/async-event-emitter.js.map +1 -0
- package/types/async-event-emitter.mjs +53 -0
- package/types/async-event-emitter.mjs.map +1 -0
- package/types/client-manager.d.ts +133 -51
- package/types/client-manager.js +147 -23
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +148 -24
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +232 -49
- package/types/composer.js +320 -65
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +321 -66
- 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 +1 -2
- package/types/dispenser-client.js +6 -5
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +6 -5
- 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 +0 -1
- package/types/indexer.js.map +1 -1
- package/types/indexer.mjs.map +1 -1
- package/types/kmd-account-manager.d.ts +0 -1
- package/types/kmd-account-manager.js +2 -2
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +2 -2
- package/types/kmd-account-manager.mjs.map +1 -1
- 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 +0 -1
- package/types/logic-error.js.map +1 -1
- package/types/logic-error.mjs.map +1 -1
- package/types/network-client.d.ts +13 -1
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +3 -4
- package/types/transaction.d.ts +17 -4
- package/types/transfer.d.ts +0 -1
- package/types/urlTokenBaseHTTPClient.d.ts +0 -1
- package/types/urlTokenBaseHTTPClient.js +1 -1
- package/types/urlTokenBaseHTTPClient.js.map +1 -1
- package/types/urlTokenBaseHTTPClient.mjs +1 -1
- package/types/urlTokenBaseHTTPClient.mjs.map +1 -1
- package/util.d.ts +2 -2
- package/util.js +11 -10
- package/util.js.map +1 -1
- package/util.mjs +11 -10
- package/util.mjs.map +1 -1
- package/account/account.d.ts.map +0 -1
- package/account/get-account-config-from-environment.d.ts.map +0 -1
- package/account/get-account.d.ts.map +0 -1
- package/account/get-dispenser-account.d.ts.map +0 -1
- package/account/index.d.ts.map +0 -1
- package/account/mnemonic-account.d.ts.map +0 -1
- package/amount.d.ts.map +0 -1
- package/app-client.d.ts.map +0 -1
- package/app-deploy.d.ts.map +0 -1
- package/app.d.ts.map +0 -1
- package/asset.d.ts.map +0 -1
- package/config.d.ts.map +0 -1
- package/debugging/debugging.d.ts.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/index.d.ts.map +0 -1
- package/indexer-lookup.d.ts.map +0 -1
- package/localnet/get-kmd-wallet-account.d.ts.map +0 -1
- package/localnet/get-localnet-dispenser-account.d.ts.map +0 -1
- package/localnet/get-or-create-kmd-wallet-account.d.ts.map +0 -1
- package/localnet/index.d.ts.map +0 -1
- package/localnet/is-localnet.d.ts.map +0 -1
- package/network-client.d.ts.map +0 -1
- package/testing/_asset.d.ts.map +0 -1
- package/testing/account.d.ts.map +0 -1
- package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
- package/testing/fixtures/algorand-fixture.d.ts.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/test-logger.d.ts.map +0 -1
- package/testing/transaction-logger.d.ts.map +0 -1
- package/transaction/index.d.ts.map +0 -1
- package/transaction/legacy-bridge.d.ts.map +0 -1
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts.map +0 -1
- package/transaction/transaction.d.ts.map +0 -1
- package/transfer/index.d.ts.map +0 -1
- package/transfer/transfer-algos.d.ts.map +0 -1
- package/transfer/transfer.d.ts.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-transaction-creator.d.ts.map +0 -1
- package/types/algorand-client-transaction-sender.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-manager.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.map +0 -1
- package/util.d.ts.map +0 -1
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var algosdk = require('algosdk');
|
|
3
4
|
var types_algorandClientTransactionCreator = require('../types/algorand-client-transaction-creator.js');
|
|
4
5
|
var types_algorandClientTransactionSender = require('../types/algorand-client-transaction-sender.js');
|
|
6
|
+
var types_appManager = require('../types/app-manager.js');
|
|
5
7
|
var types_assetManager = require('../types/asset-manager.js');
|
|
6
8
|
var types_composer = require('../types/composer.js');
|
|
7
9
|
var transaction = require('./transaction.js');
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
var ABIMethod = algosdk.ABIMethod;
|
|
12
|
+
/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */
|
|
10
13
|
async function legacySendTransactionBridge(algod, from, sendParams, params, txn, send, suggestedParams) {
|
|
14
|
+
const appManager = new types_appManager.AppManager(algod);
|
|
11
15
|
const newGroup = () => new types_composer.default({
|
|
12
16
|
algod,
|
|
13
17
|
getSigner: () => transaction.getSenderTransactionSigner(from),
|
|
14
|
-
getSuggestedParams: async () => await
|
|
18
|
+
getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),
|
|
19
|
+
appManager,
|
|
15
20
|
});
|
|
16
|
-
const transactionSender = new types_algorandClientTransactionSender.AlgorandClientTransactionSender(newGroup, new types_assetManager.AssetManager(algod, newGroup));
|
|
21
|
+
const transactionSender = new types_algorandClientTransactionSender.AlgorandClientTransactionSender(newGroup, new types_assetManager.AssetManager(algod, newGroup), appManager);
|
|
17
22
|
const transactionCreator = new types_algorandClientTransactionCreator.AlgorandClientTransactionCreator(newGroup);
|
|
18
23
|
if (sendParams.fee) {
|
|
19
24
|
params.staticFee = sendParams.fee;
|
|
@@ -23,13 +28,102 @@ async function legacySendTransactionBridge(algod, from, sendParams, params, txn,
|
|
|
23
28
|
}
|
|
24
29
|
if (sendParams.atc || sendParams.skipSending) {
|
|
25
30
|
const transaction$1 = await txn(transactionCreator)(params);
|
|
31
|
+
const txns = 'transactions' in transaction$1 ? transaction$1.transactions : [transaction$1];
|
|
26
32
|
if (sendParams.atc) {
|
|
27
|
-
sendParams.atc.
|
|
33
|
+
const baseIndex = sendParams.atc.count();
|
|
34
|
+
txns
|
|
35
|
+
.map((txn, i) => ({
|
|
36
|
+
txn,
|
|
37
|
+
signer: 'signers' in transaction$1 ? transaction$1.signers.get(i) ?? transaction.getSenderTransactionSigner(from) : transaction.getSenderTransactionSigner(from),
|
|
38
|
+
}))
|
|
39
|
+
.forEach((t) => sendParams.atc.addTransaction(t));
|
|
40
|
+
// Populate ATC with method calls
|
|
41
|
+
if ('transactions' in transaction$1) {
|
|
42
|
+
transaction$1.methodCalls.forEach((m, i) => sendParams.atc['methodCalls'].set(i + baseIndex, m));
|
|
43
|
+
}
|
|
28
44
|
}
|
|
29
|
-
return { transaction:
|
|
45
|
+
return { transaction: txns.at(-1), transactions: txns };
|
|
30
46
|
}
|
|
31
|
-
return await send(transactionSender)({ ...sendParams, ...params });
|
|
47
|
+
return { ...(await send(transactionSender)({ ...sendParams, ...params })) };
|
|
48
|
+
}
|
|
49
|
+
/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */
|
|
50
|
+
async function legacySendAppTransactionBridge(algod, from, appArgs, sendParams, params, txn, send, suggestedParams) {
|
|
51
|
+
const encoder = new TextEncoder();
|
|
52
|
+
const paramsWithAppArgs = {
|
|
53
|
+
...params,
|
|
54
|
+
accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),
|
|
55
|
+
appReferences: appArgs?.apps?.map((a) => BigInt(a)),
|
|
56
|
+
assetReferences: appArgs?.assets?.map((a) => BigInt(a)),
|
|
57
|
+
boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name })),
|
|
58
|
+
lease: appArgs?.lease,
|
|
59
|
+
rekeyTo: appArgs?.rekeyTo ? transaction.getSenderAddress(appArgs?.rekeyTo) : undefined,
|
|
60
|
+
args: appArgs
|
|
61
|
+
? 'methodArgs' in appArgs
|
|
62
|
+
? (await _getAppArgsForABICall(appArgs, from)).methodArgs
|
|
63
|
+
: appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))
|
|
64
|
+
: undefined,
|
|
65
|
+
note: transaction.encodeTransactionNote(sendParams?.note),
|
|
66
|
+
};
|
|
67
|
+
return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @deprecated
|
|
71
|
+
*/
|
|
72
|
+
async function _getAppArgsForABICall(args, from) {
|
|
73
|
+
const signer = transaction.getSenderTransactionSigner(from);
|
|
74
|
+
const methodArgs = await Promise.all(('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {
|
|
75
|
+
if (a === undefined) {
|
|
76
|
+
throw new Error(`Argument at position ${index} does not have a value`);
|
|
77
|
+
}
|
|
78
|
+
if (typeof a !== 'object') {
|
|
79
|
+
return a;
|
|
80
|
+
}
|
|
81
|
+
// Handle the various forms of transactions to wrangle them for ATC
|
|
82
|
+
return 'txn' in a
|
|
83
|
+
? a
|
|
84
|
+
: a instanceof Promise
|
|
85
|
+
? { txn: (await a).transaction, signer }
|
|
86
|
+
: 'transaction' in a
|
|
87
|
+
? { txn: a.transaction, signer: 'signer' in a ? transaction.getSenderTransactionSigner(a.signer) : signer }
|
|
88
|
+
: 'txID' in a
|
|
89
|
+
? { txn: a, signer }
|
|
90
|
+
: a;
|
|
91
|
+
}));
|
|
92
|
+
return {
|
|
93
|
+
method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),
|
|
94
|
+
sender: transaction.getSenderAddress(from),
|
|
95
|
+
signer: signer,
|
|
96
|
+
boxes: args.boxes?.map(_getBoxReference),
|
|
97
|
+
lease: transaction.encodeLease(args.lease),
|
|
98
|
+
appForeignApps: args.apps,
|
|
99
|
+
appForeignAssets: args.assets,
|
|
100
|
+
appAccounts: args.accounts?.map(_getAccountAddress),
|
|
101
|
+
methodArgs: methodArgs,
|
|
102
|
+
rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : transaction.getSenderAddress(args.rekeyTo)) : undefined,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function _getAccountAddress(account) {
|
|
106
|
+
return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey);
|
|
107
|
+
}
|
|
108
|
+
/** @deprecated */
|
|
109
|
+
function _getBoxReference(box) {
|
|
110
|
+
const encoder = new TextEncoder();
|
|
111
|
+
if (typeof box === 'object' && 'appIndex' in box) {
|
|
112
|
+
return box;
|
|
113
|
+
}
|
|
114
|
+
const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box };
|
|
115
|
+
return {
|
|
116
|
+
appIndex: ref.appId,
|
|
117
|
+
name: typeof ref.name === 'string'
|
|
118
|
+
? encoder.encode(ref.name)
|
|
119
|
+
: 'length' in ref.name
|
|
120
|
+
? ref.name
|
|
121
|
+
: algosdk.decodeAddress(transaction.getSenderAddress(ref.name)).publicKey,
|
|
122
|
+
};
|
|
32
123
|
}
|
|
33
124
|
|
|
125
|
+
exports._getAppArgsForABICall = _getAppArgsForABICall;
|
|
126
|
+
exports._getBoxReference = _getBoxReference;
|
|
127
|
+
exports.legacySendAppTransactionBridge = legacySendAppTransactionBridge;
|
|
34
128
|
exports.legacySendTransactionBridge = legacySendTransactionBridge;
|
|
35
129
|
//# sourceMappingURL=legacy-bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-bridge.js","sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":[null],"names":["AlgoKitComposer","getSenderTransactionSigner","getTransactionParams","AlgorandClientTransactionSender","AssetManager","AlgorandClientTransactionCreator","transaction"],"mappings":";;;;;;;;AAUA;AACO,eAAe,2BAA2B,CAC/C,KAAc,EACd,IAAyB,EACzB,UAAiC,EACjC,MAAS,EACT,GAAiF,EACjF,IAAiH,EACjH,eAAyC,EAAA;AAEzC,IAAA,MAAM,QAAQ,GAAG,MACf,IAAIA,sBAAe,CAAC;QAClB,KAAK;AACL,QAAA,SAAS,EAAE,MAAMC,sCAA0B,CAAC,IAAI,CAAC;QACjD,kBAAkB,EAAE,YAAY,MAAMC,gCAAoB,CAAC,eAAe,EAAE,KAAK,CAAC;AACnF,KAAA,CAAC,CAAA;AACJ,IAAA,MAAM,iBAAiB,GAAG,IAAIC,qEAA+B,CAAC,QAAQ,EAAE,IAAIC,+BAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC1G,IAAA,MAAM,kBAAkB,GAAG,IAAIC,uEAAgC,CAAC,QAAQ,CAAC,CAAA;AAEzE,IAAA,IAAI,UAAU,CAAC,GAAG,EAAE;AAClB,QAAA,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAA;KAClC;AACD,IAAA,IAAI,UAAU,CAAC,MAAM,EAAE;AACrB,QAAA,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;KAClC;IAED,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE;QAC5C,MAAMC,aAAW,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AACzD,QAAA,IAAI,UAAU,CAAC,GAAG,EAAE;AAClB,YAAA,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,EAAEA,aAAW,EAAE,MAAM,EAAEL,sCAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAC9F;QACD,OAAO,eAAEK,aAAW,EAAE,CAAA;KACvB;AAED,IAAA,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;AACpE;;;;"}
|
|
1
|
+
{"version":3,"file":"legacy-bridge.js","sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator'\nimport { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender'\nimport { ABIAppCallArgs, BoxIdentifier as LegacyBoxIdentifier, BoxReference as LegacyBoxReference, RawAppCallArgs } from '../types/app'\nimport { AppManager, BoxReference } from '../types/app-manager'\nimport { AssetManager } from '../types/asset-manager'\nimport AlgoKitComposer, {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n BuiltTransactions,\n CommonTransactionParams,\n} from '../types/composer'\nimport {\n SendParams,\n SendSingleTransactionResult,\n SendTransactionFrom,\n SendTransactionParams,\n SendTransactionResult,\n TransactionNote,\n} from '../types/transaction'\nimport { encodeLease, encodeTransactionNote, getSenderAddress, getSenderTransactionSigner } from './transaction'\nimport Algodv2 = algosdk.Algodv2\nimport Transaction = algosdk.Transaction\nimport ABIMethod = algosdk.ABIMethod\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */\nexport async function legacySendTransactionBridge<T extends CommonTransactionParams, TResult extends SendSingleTransactionResult>(\n algod: Algodv2,\n from: SendTransactionFrom,\n sendParams: SendTransactionParams,\n params: T,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const appManager = new AppManager(algod)\n const newGroup = () =>\n new AlgoKitComposer({\n algod,\n getSigner: () => getSenderTransactionSigner(from),\n getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),\n appManager,\n })\n const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager)\n const transactionCreator = new AlgorandClientTransactionCreator(newGroup)\n\n if (sendParams.fee) {\n params.staticFee = sendParams.fee\n }\n\n if (sendParams.maxFee) {\n params.maxFee = sendParams.maxFee\n }\n\n if (sendParams.atc || sendParams.skipSending) {\n const transaction = await txn(transactionCreator)(params)\n const txns = 'transactions' in transaction ? transaction.transactions : [transaction]\n if (sendParams.atc) {\n const baseIndex = sendParams.atc.count()\n txns\n .map((txn, i) => ({\n txn,\n signer:\n 'signers' in transaction ? transaction.signers.get(i) ?? getSenderTransactionSigner(from) : getSenderTransactionSigner(from),\n }))\n .forEach((t) => sendParams.atc!.addTransaction(t))\n // Populate ATC with method calls\n if ('transactions' in transaction) {\n transaction.methodCalls.forEach((m, i) => sendParams.atc!['methodCalls'].set(i + baseIndex, m))\n }\n }\n return { transaction: txns.at(-1)!, transactions: txns }\n }\n\n return { ...(await send(transactionSender)({ ...sendParams, ...params })) }\n}\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */\nexport async function legacySendAppTransactionBridge<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppDeleteParams\n | AppCallParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppDeleteMethodCall\n | AppCallMethodCall,\n TResult extends SendSingleTransactionResult,\n>(\n algod: Algodv2,\n from: SendTransactionFrom,\n appArgs: RawAppCallArgs | ABIAppCallArgs | undefined,\n sendParams: SendTransactionParams & { note?: TransactionNote },\n params: Omit<T, 'accountReferences' | 'appReferences' | 'assetReferences' | 'boxReferences' | 'args' | 'lease' | 'rekeyTo' | 'note'>,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const encoder = new TextEncoder()\n\n const paramsWithAppArgs = {\n ...params,\n accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),\n appReferences: appArgs?.apps?.map((a) => BigInt(a)),\n assetReferences: appArgs?.assets?.map((a) => BigInt(a)),\n boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name }) satisfies BoxReference),\n lease: appArgs?.lease,\n rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,\n args: appArgs\n ? 'methodArgs' in appArgs\n ? (await _getAppArgsForABICall(appArgs, from)).methodArgs\n : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))\n : undefined,\n note: encodeTransactionNote(sendParams?.note),\n } as T\n\n return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams)\n}\n\n/**\n * @deprecated\n */\nexport async function _getAppArgsForABICall(args: ABIAppCallArgs, from: SendTransactionFrom) {\n const signer = getSenderTransactionSigner(from)\n const methodArgs = await Promise.all(\n ('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {\n if (a === undefined) {\n throw new Error(`Argument at position ${index} does not have a value`)\n }\n if (typeof a !== 'object') {\n return a\n }\n // Handle the various forms of transactions to wrangle them for ATC\n return 'txn' in a\n ? a\n : a instanceof Promise\n ? { txn: (await a).transaction, signer }\n : 'transaction' in a\n ? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }\n : 'txID' in a\n ? { txn: a, signer }\n : a\n }),\n )\n return {\n method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),\n sender: getSenderAddress(from),\n signer: signer,\n boxes: args.boxes?.map(_getBoxReference),\n lease: encodeLease(args.lease),\n appForeignApps: args.apps,\n appForeignAssets: args.assets,\n appAccounts: args.accounts?.map(_getAccountAddress),\n methodArgs: methodArgs,\n rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,\n }\n}\n\nfunction _getAccountAddress(account: string | algosdk.Address) {\n return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey)\n}\n\n/** @deprecated */\nexport function _getBoxReference(box: LegacyBoxIdentifier | LegacyBoxReference | algosdk.BoxReference): algosdk.BoxReference {\n const encoder = new TextEncoder()\n\n if (typeof box === 'object' && 'appIndex' in box) {\n return box\n }\n\n const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box }\n return {\n appIndex: ref.appId,\n name:\n typeof ref.name === 'string'\n ? encoder.encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,\n } as algosdk.BoxReference\n}\n"],"names":["AppManager","AlgoKitComposer","getSenderTransactionSigner","AlgorandClientTransactionSender","AssetManager","AlgorandClientTransactionCreator","transaction","getSenderAddress","encodeTransactionNote","encodeLease"],"mappings":"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"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
+
import algosdk from 'algosdk';
|
|
1
2
|
import { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator.mjs';
|
|
2
3
|
import { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender.mjs';
|
|
4
|
+
import { AppManager } from '../types/app-manager.mjs';
|
|
3
5
|
import { AssetManager } from '../types/asset-manager.mjs';
|
|
4
6
|
import AlgoKitComposer from '../types/composer.mjs';
|
|
5
|
-
import { getSenderTransactionSigner,
|
|
7
|
+
import { getSenderTransactionSigner, getSenderAddress, encodeTransactionNote, encodeLease } from './transaction.mjs';
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
var ABIMethod = algosdk.ABIMethod;
|
|
10
|
+
/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */
|
|
8
11
|
async function legacySendTransactionBridge(algod, from, sendParams, params, txn, send, suggestedParams) {
|
|
12
|
+
const appManager = new AppManager(algod);
|
|
9
13
|
const newGroup = () => new AlgoKitComposer({
|
|
10
14
|
algod,
|
|
11
15
|
getSigner: () => getSenderTransactionSigner(from),
|
|
12
|
-
getSuggestedParams: async () => await getTransactionParams(
|
|
16
|
+
getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),
|
|
17
|
+
appManager,
|
|
13
18
|
});
|
|
14
|
-
const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup));
|
|
19
|
+
const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager);
|
|
15
20
|
const transactionCreator = new AlgorandClientTransactionCreator(newGroup);
|
|
16
21
|
if (sendParams.fee) {
|
|
17
22
|
params.staticFee = sendParams.fee;
|
|
@@ -21,13 +26,99 @@ async function legacySendTransactionBridge(algod, from, sendParams, params, txn,
|
|
|
21
26
|
}
|
|
22
27
|
if (sendParams.atc || sendParams.skipSending) {
|
|
23
28
|
const transaction = await txn(transactionCreator)(params);
|
|
29
|
+
const txns = 'transactions' in transaction ? transaction.transactions : [transaction];
|
|
24
30
|
if (sendParams.atc) {
|
|
25
|
-
sendParams.atc.
|
|
31
|
+
const baseIndex = sendParams.atc.count();
|
|
32
|
+
txns
|
|
33
|
+
.map((txn, i) => ({
|
|
34
|
+
txn,
|
|
35
|
+
signer: 'signers' in transaction ? transaction.signers.get(i) ?? getSenderTransactionSigner(from) : getSenderTransactionSigner(from),
|
|
36
|
+
}))
|
|
37
|
+
.forEach((t) => sendParams.atc.addTransaction(t));
|
|
38
|
+
// Populate ATC with method calls
|
|
39
|
+
if ('transactions' in transaction) {
|
|
40
|
+
transaction.methodCalls.forEach((m, i) => sendParams.atc['methodCalls'].set(i + baseIndex, m));
|
|
41
|
+
}
|
|
26
42
|
}
|
|
27
|
-
return { transaction };
|
|
43
|
+
return { transaction: txns.at(-1), transactions: txns };
|
|
28
44
|
}
|
|
29
|
-
return await send(transactionSender)({ ...sendParams, ...params });
|
|
45
|
+
return { ...(await send(transactionSender)({ ...sendParams, ...params })) };
|
|
46
|
+
}
|
|
47
|
+
/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */
|
|
48
|
+
async function legacySendAppTransactionBridge(algod, from, appArgs, sendParams, params, txn, send, suggestedParams) {
|
|
49
|
+
const encoder = new TextEncoder();
|
|
50
|
+
const paramsWithAppArgs = {
|
|
51
|
+
...params,
|
|
52
|
+
accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),
|
|
53
|
+
appReferences: appArgs?.apps?.map((a) => BigInt(a)),
|
|
54
|
+
assetReferences: appArgs?.assets?.map((a) => BigInt(a)),
|
|
55
|
+
boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name })),
|
|
56
|
+
lease: appArgs?.lease,
|
|
57
|
+
rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,
|
|
58
|
+
args: appArgs
|
|
59
|
+
? 'methodArgs' in appArgs
|
|
60
|
+
? (await _getAppArgsForABICall(appArgs, from)).methodArgs
|
|
61
|
+
: appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))
|
|
62
|
+
: undefined,
|
|
63
|
+
note: encodeTransactionNote(sendParams?.note),
|
|
64
|
+
};
|
|
65
|
+
return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @deprecated
|
|
69
|
+
*/
|
|
70
|
+
async function _getAppArgsForABICall(args, from) {
|
|
71
|
+
const signer = getSenderTransactionSigner(from);
|
|
72
|
+
const methodArgs = await Promise.all(('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {
|
|
73
|
+
if (a === undefined) {
|
|
74
|
+
throw new Error(`Argument at position ${index} does not have a value`);
|
|
75
|
+
}
|
|
76
|
+
if (typeof a !== 'object') {
|
|
77
|
+
return a;
|
|
78
|
+
}
|
|
79
|
+
// Handle the various forms of transactions to wrangle them for ATC
|
|
80
|
+
return 'txn' in a
|
|
81
|
+
? a
|
|
82
|
+
: a instanceof Promise
|
|
83
|
+
? { txn: (await a).transaction, signer }
|
|
84
|
+
: 'transaction' in a
|
|
85
|
+
? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }
|
|
86
|
+
: 'txID' in a
|
|
87
|
+
? { txn: a, signer }
|
|
88
|
+
: a;
|
|
89
|
+
}));
|
|
90
|
+
return {
|
|
91
|
+
method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),
|
|
92
|
+
sender: getSenderAddress(from),
|
|
93
|
+
signer: signer,
|
|
94
|
+
boxes: args.boxes?.map(_getBoxReference),
|
|
95
|
+
lease: encodeLease(args.lease),
|
|
96
|
+
appForeignApps: args.apps,
|
|
97
|
+
appForeignAssets: args.assets,
|
|
98
|
+
appAccounts: args.accounts?.map(_getAccountAddress),
|
|
99
|
+
methodArgs: methodArgs,
|
|
100
|
+
rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function _getAccountAddress(account) {
|
|
104
|
+
return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey);
|
|
105
|
+
}
|
|
106
|
+
/** @deprecated */
|
|
107
|
+
function _getBoxReference(box) {
|
|
108
|
+
const encoder = new TextEncoder();
|
|
109
|
+
if (typeof box === 'object' && 'appIndex' in box) {
|
|
110
|
+
return box;
|
|
111
|
+
}
|
|
112
|
+
const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box };
|
|
113
|
+
return {
|
|
114
|
+
appIndex: ref.appId,
|
|
115
|
+
name: typeof ref.name === 'string'
|
|
116
|
+
? encoder.encode(ref.name)
|
|
117
|
+
: 'length' in ref.name
|
|
118
|
+
? ref.name
|
|
119
|
+
: algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,
|
|
120
|
+
};
|
|
30
121
|
}
|
|
31
122
|
|
|
32
|
-
export { legacySendTransactionBridge };
|
|
123
|
+
export { _getAppArgsForABICall, _getBoxReference, legacySendAppTransactionBridge, legacySendTransactionBridge };
|
|
33
124
|
//# sourceMappingURL=legacy-bridge.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-bridge.mjs","sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAUA;AACO,eAAe,2BAA2B,CAC/C,KAAc,EACd,IAAyB,EACzB,UAAiC,EACjC,MAAS,EACT,GAAiF,EACjF,IAAiH,EACjH,eAAyC,EAAA;AAEzC,IAAA,MAAM,QAAQ,GAAG,MACf,IAAI,eAAe,CAAC;QAClB,KAAK;AACL,QAAA,SAAS,EAAE,MAAM,0BAA0B,CAAC,IAAI,CAAC;QACjD,kBAAkB,EAAE,YAAY,MAAM,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC;AACnF,KAAA,CAAC,CAAA;AACJ,IAAA,MAAM,iBAAiB,GAAG,IAAI,+BAA+B,CAAC,QAAQ,EAAE,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC1G,IAAA,MAAM,kBAAkB,GAAG,IAAI,gCAAgC,CAAC,QAAQ,CAAC,CAAA;AAEzE,IAAA,IAAI,UAAU,CAAC,GAAG,EAAE;AAClB,QAAA,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAA;KAClC;AACD,IAAA,IAAI,UAAU,CAAC,MAAM,EAAE;AACrB,QAAA,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;KAClC;IAED,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE;QAC5C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AACzD,QAAA,IAAI,UAAU,CAAC,GAAG,EAAE;AAClB,YAAA,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAC9F;QACD,OAAO,EAAE,WAAW,EAAE,CAAA;KACvB;AAED,IAAA,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;AACpE;;;;"}
|
|
1
|
+
{"version":3,"file":"legacy-bridge.mjs","sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator'\nimport { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender'\nimport { ABIAppCallArgs, BoxIdentifier as LegacyBoxIdentifier, BoxReference as LegacyBoxReference, RawAppCallArgs } from '../types/app'\nimport { AppManager, BoxReference } from '../types/app-manager'\nimport { AssetManager } from '../types/asset-manager'\nimport AlgoKitComposer, {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n BuiltTransactions,\n CommonTransactionParams,\n} from '../types/composer'\nimport {\n SendParams,\n SendSingleTransactionResult,\n SendTransactionFrom,\n SendTransactionParams,\n SendTransactionResult,\n TransactionNote,\n} from '../types/transaction'\nimport { encodeLease, encodeTransactionNote, getSenderAddress, getSenderTransactionSigner } from './transaction'\nimport Algodv2 = algosdk.Algodv2\nimport Transaction = algosdk.Transaction\nimport ABIMethod = algosdk.ABIMethod\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */\nexport async function legacySendTransactionBridge<T extends CommonTransactionParams, TResult extends SendSingleTransactionResult>(\n algod: Algodv2,\n from: SendTransactionFrom,\n sendParams: SendTransactionParams,\n params: T,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const appManager = new AppManager(algod)\n const newGroup = () =>\n new AlgoKitComposer({\n algod,\n getSigner: () => getSenderTransactionSigner(from),\n getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),\n appManager,\n })\n const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager)\n const transactionCreator = new AlgorandClientTransactionCreator(newGroup)\n\n if (sendParams.fee) {\n params.staticFee = sendParams.fee\n }\n\n if (sendParams.maxFee) {\n params.maxFee = sendParams.maxFee\n }\n\n if (sendParams.atc || sendParams.skipSending) {\n const transaction = await txn(transactionCreator)(params)\n const txns = 'transactions' in transaction ? transaction.transactions : [transaction]\n if (sendParams.atc) {\n const baseIndex = sendParams.atc.count()\n txns\n .map((txn, i) => ({\n txn,\n signer:\n 'signers' in transaction ? transaction.signers.get(i) ?? getSenderTransactionSigner(from) : getSenderTransactionSigner(from),\n }))\n .forEach((t) => sendParams.atc!.addTransaction(t))\n // Populate ATC with method calls\n if ('transactions' in transaction) {\n transaction.methodCalls.forEach((m, i) => sendParams.atc!['methodCalls'].set(i + baseIndex, m))\n }\n }\n return { transaction: txns.at(-1)!, transactions: txns }\n }\n\n return { ...(await send(transactionSender)({ ...sendParams, ...params })) }\n}\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */\nexport async function legacySendAppTransactionBridge<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppDeleteParams\n | AppCallParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppDeleteMethodCall\n | AppCallMethodCall,\n TResult extends SendSingleTransactionResult,\n>(\n algod: Algodv2,\n from: SendTransactionFrom,\n appArgs: RawAppCallArgs | ABIAppCallArgs | undefined,\n sendParams: SendTransactionParams & { note?: TransactionNote },\n params: Omit<T, 'accountReferences' | 'appReferences' | 'assetReferences' | 'boxReferences' | 'args' | 'lease' | 'rekeyTo' | 'note'>,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const encoder = new TextEncoder()\n\n const paramsWithAppArgs = {\n ...params,\n accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),\n appReferences: appArgs?.apps?.map((a) => BigInt(a)),\n assetReferences: appArgs?.assets?.map((a) => BigInt(a)),\n boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name }) satisfies BoxReference),\n lease: appArgs?.lease,\n rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,\n args: appArgs\n ? 'methodArgs' in appArgs\n ? (await _getAppArgsForABICall(appArgs, from)).methodArgs\n : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))\n : undefined,\n note: encodeTransactionNote(sendParams?.note),\n } as T\n\n return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams)\n}\n\n/**\n * @deprecated\n */\nexport async function _getAppArgsForABICall(args: ABIAppCallArgs, from: SendTransactionFrom) {\n const signer = getSenderTransactionSigner(from)\n const methodArgs = await Promise.all(\n ('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {\n if (a === undefined) {\n throw new Error(`Argument at position ${index} does not have a value`)\n }\n if (typeof a !== 'object') {\n return a\n }\n // Handle the various forms of transactions to wrangle them for ATC\n return 'txn' in a\n ? a\n : a instanceof Promise\n ? { txn: (await a).transaction, signer }\n : 'transaction' in a\n ? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }\n : 'txID' in a\n ? { txn: a, signer }\n : a\n }),\n )\n return {\n method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),\n sender: getSenderAddress(from),\n signer: signer,\n boxes: args.boxes?.map(_getBoxReference),\n lease: encodeLease(args.lease),\n appForeignApps: args.apps,\n appForeignAssets: args.assets,\n appAccounts: args.accounts?.map(_getAccountAddress),\n methodArgs: methodArgs,\n rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,\n }\n}\n\nfunction _getAccountAddress(account: string | algosdk.Address) {\n return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey)\n}\n\n/** @deprecated */\nexport function _getBoxReference(box: LegacyBoxIdentifier | LegacyBoxReference | algosdk.BoxReference): algosdk.BoxReference {\n const encoder = new TextEncoder()\n\n if (typeof box === 'object' && 'appIndex' in box) {\n return box\n }\n\n const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box }\n return {\n appIndex: ref.appId,\n name:\n typeof ref.name === 'string'\n ? encoder.encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,\n } as algosdk.BoxReference\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,3 @@ import AtomicTransactionComposer = algosdk.AtomicTransactionComposer;
|
|
|
8
8
|
* @returns The simulation result, which includes various details about how the transactions would be processed.
|
|
9
9
|
*/
|
|
10
10
|
export declare function performAtomicTransactionComposerSimulate(atc: AtomicTransactionComposer, algod: Algodv2): Promise<algosdk.modelsv2.SimulateResponse>;
|
|
11
|
-
//# sourceMappingURL=perform-atomic-transaction-composer-simulate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perform-atomic-transaction-composer-simulate.js","sources":["../../src/transaction/perform-atomic-transaction-composer-simulate.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"perform-atomic-transaction-composer-simulate.js","sources":["../../src/transaction/perform-atomic-transaction-composer-simulate.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport Algodv2 = algosdk.Algodv2\nimport AtomicTransactionComposer = algosdk.AtomicTransactionComposer\nimport EncodedSignedTransaction = algosdk.EncodedSignedTransaction\nimport modelsv2 = algosdk.modelsv2\n\n/**\n * Performs a simulation of the transactions loaded into the given AtomicTransactionComposer.\n * @param atc The AtomicTransactionComposer with transaction(s) loaded.\n * @param algod An Algod client to perform the simulation.\n * @returns The simulation result, which includes various details about how the transactions would be processed.\n */\nexport async function performAtomicTransactionComposerSimulate(atc: AtomicTransactionComposer, algod: Algodv2) {\n const unsignedTransactionsSigners = atc.buildGroup()\n const decodedSignedTransactions = unsignedTransactionsSigners.map((ts) => algosdk.encodeUnsignedSimulateTransaction(ts.txn))\n\n const simulateRequest = new modelsv2.SimulateRequest({\n allowEmptySignatures: true,\n allowMoreLogging: true,\n execTraceConfig: new modelsv2.SimulateTraceConfig({\n enable: true,\n scratchChange: true,\n stackChange: true,\n stateChange: true,\n }),\n txnGroups: [\n new modelsv2.SimulateRequestTransactionGroup({\n txns: decodedSignedTransactions.map((txn) => algosdk.decodeObj(txn)) as EncodedSignedTransaction[],\n }),\n ],\n })\n const simulateResult = await algod.simulateTransactions(simulateRequest).do()\n return simulateResult\n}\n"],"names":[],"mappings":";;;;AAIA,IAAO,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;AAElC;;;;;AAKG;AACI,eAAe,wCAAwC,CAAC,GAA8B,EAAE,KAAc,EAAA;AAC3G,IAAA,MAAM,2BAA2B,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;IACpD,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,iCAAiC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;AAE5H,IAAA,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC;AACnD,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,eAAe,EAAE,IAAI,QAAQ,CAAC,mBAAmB,CAAC;AAChD,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;SAClB,CAAC;AACF,QAAA,SAAS,EAAE;YACT,IAAI,QAAQ,CAAC,+BAA+B,CAAC;AAC3C,gBAAA,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAA+B;aACnG,CAAC;AACH,SAAA;AACF,KAAA,CAAC,CAAA;AACF,IAAA,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAA;AAC7E,IAAA,OAAO,cAAc,CAAA;AACvB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perform-atomic-transaction-composer-simulate.mjs","sources":["../../src/transaction/perform-atomic-transaction-composer-simulate.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"perform-atomic-transaction-composer-simulate.mjs","sources":["../../src/transaction/perform-atomic-transaction-composer-simulate.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport Algodv2 = algosdk.Algodv2\nimport AtomicTransactionComposer = algosdk.AtomicTransactionComposer\nimport EncodedSignedTransaction = algosdk.EncodedSignedTransaction\nimport modelsv2 = algosdk.modelsv2\n\n/**\n * Performs a simulation of the transactions loaded into the given AtomicTransactionComposer.\n * @param atc The AtomicTransactionComposer with transaction(s) loaded.\n * @param algod An Algod client to perform the simulation.\n * @returns The simulation result, which includes various details about how the transactions would be processed.\n */\nexport async function performAtomicTransactionComposerSimulate(atc: AtomicTransactionComposer, algod: Algodv2) {\n const unsignedTransactionsSigners = atc.buildGroup()\n const decodedSignedTransactions = unsignedTransactionsSigners.map((ts) => algosdk.encodeUnsignedSimulateTransaction(ts.txn))\n\n const simulateRequest = new modelsv2.SimulateRequest({\n allowEmptySignatures: true,\n allowMoreLogging: true,\n execTraceConfig: new modelsv2.SimulateTraceConfig({\n enable: true,\n scratchChange: true,\n stackChange: true,\n stateChange: true,\n }),\n txnGroups: [\n new modelsv2.SimulateRequestTransactionGroup({\n txns: decodedSignedTransactions.map((txn) => algosdk.decodeObj(txn)) as EncodedSignedTransaction[],\n }),\n ],\n })\n const simulateResult = await algod.simulateTransactions(simulateRequest).do()\n return simulateResult\n}\n"],"names":[],"mappings":";;AAIA,IAAO,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;AAElC;;;;;AAKG;AACI,eAAe,wCAAwC,CAAC,GAA8B,EAAE,KAAc,EAAA;AAC3G,IAAA,MAAM,2BAA2B,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;IACpD,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,iCAAiC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;AAE5H,IAAA,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC;AACnD,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,eAAe,EAAE,IAAI,QAAQ,CAAC,mBAAmB,CAAC;AAChD,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;SAClB,CAAC;AACF,QAAA,SAAS,EAAE;YACT,IAAI,QAAQ,CAAC,+BAA+B,CAAC;AAC3C,gBAAA,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAA+B;aACnG,CAAC;AACH,SAAA;AACF,KAAA,CAAC,CAAA;AACF,IAAA,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAA;AAC7E,IAAA,OAAO,cAAc,CAAA;AACvB;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import algosdk from 'algosdk';
|
|
2
2
|
import { AlgoAmount } from '../types/amount';
|
|
3
|
+
import { ABIReturn } from '../types/app';
|
|
3
4
|
import { AtomicTransactionComposerToSend, SendAtomicTransactionComposerResults, SendTransactionFrom, SendTransactionParams, SendTransactionResult, TransactionGroupToSend, TransactionNote, TransactionToSign } from '../types/transaction';
|
|
4
5
|
import Algodv2 = algosdk.Algodv2;
|
|
5
6
|
import AtomicTransactionComposer = algosdk.AtomicTransactionComposer;
|
|
@@ -10,7 +11,10 @@ import TransactionWithSigner = algosdk.TransactionWithSigner;
|
|
|
10
11
|
export declare const MAX_TRANSACTION_GROUP_SIZE = 16;
|
|
11
12
|
export declare const MAX_APP_CALL_FOREIGN_REFERENCES = 8;
|
|
12
13
|
export declare const MAX_APP_CALL_ACCOUNT_REFERENCES = 4;
|
|
13
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Convert your data to a `string` or `Uint8Array`, if using ARC-2 use `AlgoKitComposer.arc2Note`.
|
|
16
|
+
*
|
|
17
|
+
* Encodes a transaction note into a byte array ready to be included in an Algorand transaction.
|
|
14
18
|
*
|
|
15
19
|
* @param note The transaction note
|
|
16
20
|
* @returns the transaction note ready for inclusion in a transaction
|
|
@@ -33,12 +37,18 @@ export declare function encodeTransactionNote(note?: TransactionNote): Uint8Arra
|
|
|
33
37
|
*/
|
|
34
38
|
export declare function encodeLease(lease?: string | Uint8Array): Uint8Array | undefined;
|
|
35
39
|
/**
|
|
40
|
+
* @deprecated Use `algorand.client` to interact with accounts, and use `.addr` to get the address
|
|
41
|
+
* and/or move from using `SendTransactionFrom` to `TransactionSignerAccount` and use `.addr` instead.
|
|
42
|
+
*
|
|
36
43
|
* Returns the public address of the given transaction sender.
|
|
37
44
|
* @param sender A transaction sender
|
|
38
45
|
* @returns The public address
|
|
39
46
|
*/
|
|
40
47
|
export declare const getSenderAddress: (sender: string | SendTransactionFrom) => string;
|
|
41
48
|
/**
|
|
49
|
+
* @deprecated Use `AlgorandClient` / `AlgoKitComposer` to construct transactions instead or
|
|
50
|
+
* construct an `algosdk.TransactionWithSigner` manually instead.
|
|
51
|
+
*
|
|
42
52
|
* Given a transaction in a variety of supported formats, returns a TransactionWithSigner object ready to be passed to an
|
|
43
53
|
* AtomicTransactionComposer's addTransaction method.
|
|
44
54
|
* @param transaction One of: A TransactionWithSigner object (returned as is), a TransactionToSign object (signer is obtained from the
|
|
@@ -50,6 +60,9 @@ export declare const getSenderAddress: (sender: string | SendTransactionFrom) =>
|
|
|
50
60
|
*/
|
|
51
61
|
export declare const getTransactionWithSigner: (transaction: TransactionWithSigner | TransactionToSign | Transaction | Promise<SendTransactionResult>, defaultSender?: SendTransactionFrom) => Promise<TransactionWithSigner>;
|
|
52
62
|
/**
|
|
63
|
+
* @deprecated Use `TransactionSignerAccount` instead of `SendTransactionFrom` or use
|
|
64
|
+
* `algosdk.makeBasicAccountTransactionSigner` / `algosdk.makeLogicSigAccountTransactionSigner`.
|
|
65
|
+
*
|
|
53
66
|
* Returns a `TransactionSigner` for the given transaction sender.
|
|
54
67
|
* This function has memoization, so will return the same transaction signer for a given sender.
|
|
55
68
|
* @param sender A transaction sender
|
|
@@ -57,13 +70,20 @@ export declare const getTransactionWithSigner: (transaction: TransactionWithSign
|
|
|
57
70
|
*/
|
|
58
71
|
export declare const getSenderTransactionSigner: (val: SendTransactionFrom) => algosdk.TransactionSigner;
|
|
59
72
|
/**
|
|
73
|
+
* @deprecated Use `AlgorandClient` / `AlgoKitComposer` to sign transactions
|
|
74
|
+
* or use the relevant underlying `account.signTxn` / `algosdk.signLogicSigTransactionObject`
|
|
75
|
+
* / `multiSigAccount.sign` / `TransactionSigner` methods directly.
|
|
76
|
+
*
|
|
60
77
|
* Signs a single transaction by the given signer.
|
|
61
78
|
* @param transaction The transaction to sign
|
|
62
79
|
* @param signer The signer to sign
|
|
63
80
|
* @returns The signed transaction as a `Uint8Array`
|
|
64
81
|
*/
|
|
65
82
|
export declare const signTransaction: (transaction: Transaction, signer: SendTransactionFrom) => Promise<Uint8Array>;
|
|
66
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* @deprecated Use `AlgorandClient` / `AlgoKitComposer` to send transactions.
|
|
85
|
+
*
|
|
86
|
+
* Prepares a transaction for sending and then (if instructed) signs and sends the given transaction to the chain.
|
|
67
87
|
*
|
|
68
88
|
* @param send The details for the transaction to prepare/send, including:
|
|
69
89
|
* * `transaction`: The unsigned transaction
|
|
@@ -98,14 +118,20 @@ export declare const sendTransaction: (send: {
|
|
|
98
118
|
export declare function populateAppCallResources(atc: algosdk.AtomicTransactionComposer, algod: algosdk.Algodv2): Promise<algosdk.AtomicTransactionComposer>;
|
|
99
119
|
/**
|
|
100
120
|
* Signs and sends transactions that have been collected by an `AtomicTransactionComposer`.
|
|
101
|
-
* @param atcSend The parameters controlling the send, including
|
|
102
|
-
* * `atc` The `AtomicTransactionComposer`
|
|
103
|
-
* * `sendParams` The parameters to control the send behaviour
|
|
121
|
+
* @param atcSend The parameters controlling the send, including `atc` The `AtomicTransactionComposer` and params to control send behaviour
|
|
104
122
|
* @param algod An algod client
|
|
105
123
|
* @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`)
|
|
106
124
|
*/
|
|
107
125
|
export declare const sendAtomicTransactionComposer: (atcSend: AtomicTransactionComposerToSend, algod: Algodv2) => Promise<SendAtomicTransactionComposerResults>;
|
|
108
126
|
/**
|
|
127
|
+
* Takes an algosdk `ABIResult` and converts it to an `ABIReturn`.
|
|
128
|
+
* Converts `bigint`'s for Uint's < 64 to `number` for easier use.
|
|
129
|
+
* @param result The `ABIReturn`
|
|
130
|
+
*/
|
|
131
|
+
export declare function getABIReturnValue(result: algosdk.ABIResult): ABIReturn;
|
|
132
|
+
/**
|
|
133
|
+
* @deprecated Use `performAtomicTransactionComposerSimulate`, dry-run is a deprecated Algorand feature.
|
|
134
|
+
*
|
|
109
135
|
* Performs a dry run of the transactions loaded into the given AtomicTransactionComposer`
|
|
110
136
|
* @param atc The AtomicTransactionComposer` with transaction(s) loaded
|
|
111
137
|
* @param algod An Algod client
|
|
@@ -113,6 +139,8 @@ export declare const sendAtomicTransactionComposer: (atcSend: AtomicTransactionC
|
|
|
113
139
|
*/
|
|
114
140
|
export declare function performAtomicTransactionComposerDryrun(atc: AtomicTransactionComposer, algod: Algodv2): Promise<algosdk.DryrunResult>;
|
|
115
141
|
/**
|
|
142
|
+
* @deprecated Use `AlgoKitComposer` (`algorand.newGroup()`) or `AtomicTransactionComposer` to construct and send group transactions instead.
|
|
143
|
+
*
|
|
116
144
|
* Signs and sends a group of [up to 16](https://developer.algorand.org/docs/get-details/atomic_transfers/#create-transactions) transactions to the chain
|
|
117
145
|
*
|
|
118
146
|
* @param groupSend The group details to send, with:
|
|
@@ -135,6 +163,8 @@ export declare const sendGroupOfTransactions: (groupSend: TransactionGroupToSend
|
|
|
135
163
|
*/
|
|
136
164
|
export declare const waitForConfirmation: (transactionId: string, maxRoundsToWait: number | bigint, algod: Algodv2) => Promise<modelsv2.PendingTransactionResponse>;
|
|
137
165
|
/**
|
|
166
|
+
* @deprecated Use `AlgoKitComposer` and the `maxFee` field in the transaction params instead.
|
|
167
|
+
*
|
|
138
168
|
* Limit the acceptable fee to a defined amount of µAlgo.
|
|
139
169
|
* This also sets the transaction to be flatFee to ensure the transaction only succeeds at
|
|
140
170
|
* the estimated rate.
|
|
@@ -143,6 +173,8 @@ export declare const waitForConfirmation: (transactionId: string, maxRoundsToWai
|
|
|
143
173
|
*/
|
|
144
174
|
export declare function capTransactionFee(transaction: algosdk.Transaction | SuggestedParams, maxAcceptableFee: AlgoAmount): void;
|
|
145
175
|
/**
|
|
176
|
+
* @deprecated Use `AlgoKitComposer` and the `maxFee` and `staticFee` fields in the transaction params instead.
|
|
177
|
+
*
|
|
146
178
|
* Allows for control of fees on a `Transaction` or `SuggestedParams` object
|
|
147
179
|
* @param transaction The transaction or suggested params
|
|
148
180
|
* @param feeControl The fee control parameters
|
|
@@ -152,6 +184,8 @@ export declare function controlFees<T extends SuggestedParams | Transaction>(tra
|
|
|
152
184
|
maxFee?: AlgoAmount;
|
|
153
185
|
}): T;
|
|
154
186
|
/**
|
|
187
|
+
* @deprecated Use `suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()` instead
|
|
188
|
+
*
|
|
155
189
|
* Returns suggested transaction parameters from algod unless some are already provided.
|
|
156
190
|
* @param params Optionally provide parameters to use
|
|
157
191
|
* @param algod Algod algod
|
|
@@ -166,9 +200,10 @@ export declare function getTransactionParams(params: SuggestedParams | undefined
|
|
|
166
200
|
genesisHash: string;
|
|
167
201
|
}>;
|
|
168
202
|
/**
|
|
203
|
+
* @deprecated Use `atc.clone().buildGroup()` instead.
|
|
204
|
+
*
|
|
169
205
|
* Returns the array of transactions currently present in the given `AtomicTransactionComposer`
|
|
170
206
|
* @param atc The atomic transaction composer
|
|
171
207
|
* @returns The array of transactions with signers
|
|
172
208
|
*/
|
|
173
209
|
export declare function getAtomicTransactionComposerTransactions(atc: AtomicTransactionComposer): algosdk.TransactionWithSigner[];
|
|
174
|
-
//# sourceMappingURL=transaction.d.ts.map
|