@algorandfoundation/algokit-utils 6.3.0-beta.1 → 7.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +22 -26
- package/account/account.d.ts +12 -10
- package/account/account.js +17 -14
- package/account/account.js.map +1 -1
- package/account/account.mjs +18 -15
- 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 +2 -3
- 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 +15 -5
- package/amount.js +9 -2
- package/amount.js.map +1 -1
- package/amount.mjs +9 -3
- package/amount.mjs.map +1 -1
- package/app-client.d.ts +19 -5
- package/app-client.js +19 -4
- package/app-client.js.map +1 -1
- package/app-client.mjs +19 -4
- package/app-client.mjs.map +1 -1
- package/app-deploy.d.ts +18 -2
- package/app-deploy.js +159 -342
- package/app-deploy.js.map +1 -1
- package/app-deploy.mjs +163 -346
- package/app-deploy.mjs.map +1 -1
- package/app.d.ts +39 -3
- package/app.js +121 -371
- package/app.js.map +1 -1
- package/app.mjs +122 -372
- 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 +5 -4
- package/index.js +36 -26
- package/index.js.map +1 -1
- package/index.mjs +6 -5
- package/index.mjs.map +1 -1
- package/indexer-lookup.d.ts +10 -9
- package/indexer-lookup.js +14 -10
- package/indexer-lookup.js.map +1 -1
- package/indexer-lookup.mjs +14 -10
- 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 +3 -10
- package/network-client.js +4 -11
- package/network-client.js.map +1 -1
- package/network-client.mjs +4 -11
- package/network-client.mjs.map +1 -1
- package/package.json +3 -4
- package/testing/_asset.d.ts +2 -2
- package/testing/account.d.ts +4 -4
- package/testing/account.js +8 -2
- package/testing/account.js.map +1 -1
- package/testing/account.mjs +9 -3
- 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 +13 -14
- package/testing/fixtures/algorand-fixture.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs +13 -14
- 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 +7 -3
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs +7 -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 +101 -7
- package/transaction/legacy-bridge.js.map +1 -1
- package/transaction/legacy-bridge.mjs +101 -10
- package/transaction/legacy-bridge.mjs.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.d.ts +4 -2
- package/transaction/perform-atomic-transaction-composer-simulate.js +14 -9
- package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -1
- package/transaction/perform-atomic-transaction-composer-simulate.mjs +15 -10
- package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -1
- package/transaction/transaction.d.ts +38 -19
- package/transaction/transaction.js +217 -137
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +218 -138
- 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 +6 -4
- package/transfer/transfer.js.map +1 -1
- package/transfer/transfer.mjs +6 -4
- package/transfer/transfer.mjs.map +1 -1
- package/types/account-manager.d.ts +33 -25
- package/types/account-manager.js +54 -31
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +56 -33
- package/types/account-manager.mjs.map +1 -1
- package/types/account.d.ts +17 -9
- package/types/account.js +2 -2
- package/types/account.js.map +1 -1
- package/types/account.mjs +3 -3
- package/types/account.mjs.map +1 -1
- package/types/algo-http-client-with-retry.d.ts +1 -3
- package/types/algo-http-client-with-retry.js +33 -3
- package/types/algo-http-client-with-retry.js.map +1 -1
- package/types/algo-http-client-with-retry.mjs +32 -2
- 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 +452 -23
- package/types/algorand-client-transaction-creator.js +407 -23
- package/types/algorand-client-transaction-creator.js.map +1 -1
- package/types/algorand-client-transaction-creator.mjs +407 -23
- package/types/algorand-client-transaction-creator.mjs.map +1 -1
- package/types/algorand-client-transaction-sender.d.ts +772 -47
- package/types/algorand-client-transaction-sender.js +445 -15
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +445 -15
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +24 -17
- package/types/algorand-client.js +26 -16
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +28 -15
- 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 +359 -0
- package/types/app-arc56.js +184 -0
- package/types/app-arc56.js.map +1 -0
- package/types/app-arc56.mjs +175 -0
- package/types/app-arc56.mjs.map +1 -0
- package/types/app-client.d.ts +1508 -12
- package/types/app-client.js +1018 -29
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +1020 -32
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +126 -0
- package/types/app-deployer.js +353 -0
- package/types/app-deployer.js.map +1 -0
- package/types/app-deployer.mjs +351 -0
- package/types/app-deployer.mjs.map +1 -0
- package/types/app-factory.d.ts +846 -0
- package/types/app-factory.js +410 -0
- package/types/app-factory.js.map +1 -0
- package/types/app-factory.mjs +408 -0
- package/types/app-factory.mjs.map +1 -0
- package/types/app-manager.d.ts +244 -0
- package/types/app-manager.js +423 -0
- package/types/app-manager.js.map +1 -0
- package/types/app-manager.mjs +421 -0
- package/types/app-manager.mjs.map +1 -0
- package/types/app-spec.d.ts +2 -1
- package/types/app-spec.js +127 -0
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +126 -0
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +57 -18
- package/types/app.js +1 -1
- package/types/app.js.map +1 -1
- package/types/app.mjs +1 -1
- package/types/app.mjs.map +1 -1
- package/types/asset-manager.d.ts +10 -10
- package/types/asset-manager.js +13 -17
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +13 -17
- package/types/asset-manager.mjs.map +1 -1
- package/types/asset.d.ts +0 -1
- package/types/async-event-emitter.d.ts +14 -0
- package/types/async-event-emitter.js +50 -0
- package/types/async-event-emitter.js.map +1 -0
- package/types/async-event-emitter.mjs +48 -0
- package/types/async-event-emitter.mjs.map +1 -0
- package/types/client-manager.d.ts +135 -60
- package/types/client-manager.js +158 -44
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +159 -45
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +271 -87
- package/types/composer.js +405 -125
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +407 -125
- 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 +2 -2
- package/types/dispenser-client.js +10 -5
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +10 -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 +74 -756
- package/types/indexer.js.map +1 -1
- package/types/indexer.mjs.map +1 -1
- package/types/kmd-account-manager.d.ts +2 -3
- package/types/kmd-account-manager.js +3 -3
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +4 -4
- package/types/kmd-account-manager.mjs.map +1 -1
- package/types/lifecycle-events.d.ts +10 -0
- package/types/lifecycle-events.js +8 -0
- package/types/lifecycle-events.js.map +1 -0
- package/types/lifecycle-events.mjs +8 -0
- package/types/lifecycle-events.mjs.map +1 -0
- package/types/logging.d.ts +0 -1
- package/types/logging.js.map +1 -1
- package/types/logging.mjs.map +1 -1
- package/types/logic-error.d.ts +2 -4
- package/types/logic-error.js +3 -3
- package/types/logic-error.js.map +1 -1
- package/types/logic-error.mjs +3 -3
- package/types/logic-error.mjs.map +1 -1
- package/types/network-client.d.ts +14 -2
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +8 -10
- package/types/transaction.d.ts +17 -4
- package/types/transfer.d.ts +0 -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 +0 -41
- package/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/types/urlTokenBaseHTTPClient.js +0 -153
- package/types/urlTokenBaseHTTPClient.js.map +0 -1
- package/types/urlTokenBaseHTTPClient.mjs +0 -151
- package/types/urlTokenBaseHTTPClient.mjs.map +0 -1
- package/util.d.ts.map +0 -1
package/debugging/debugging.mjs
CHANGED
|
@@ -1,117 +1,12 @@
|
|
|
1
|
-
import * as crypto from 'crypto';
|
|
2
|
-
import { compileTeal } from '../app.mjs';
|
|
3
|
-
import { Config } from '../config.mjs';
|
|
4
|
-
import { AVMDebuggerSourceMapEntry, AVMDebuggerSourceMap } from '../types/debugging.mjs';
|
|
5
|
-
import { isNode } from '../util.mjs';
|
|
6
|
-
|
|
7
|
-
const ALGOKIT_DIR = '.algokit';
|
|
8
|
-
const SOURCES_DIR = 'sources';
|
|
9
|
-
const SOURCES_FILE = 'sources.avm.json';
|
|
10
|
-
const TEAL_FILE_EXT = '.teal';
|
|
11
|
-
const TEAL_SOURCEMAP_EXT = '.teal.tok.map';
|
|
12
|
-
// === Internal methods ===
|
|
13
|
-
async function loadOrCreateSources(sourcesPath) {
|
|
14
|
-
try {
|
|
15
|
-
const fs = await import('fs');
|
|
16
|
-
const data = JSON.parse(await fs.promises.readFile(sourcesPath, 'utf8'));
|
|
17
|
-
return AVMDebuggerSourceMap.fromDict(data);
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
const err = error;
|
|
21
|
-
if (err.code === 'ENOENT') {
|
|
22
|
-
return new AVMDebuggerSourceMap([]);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
throw error;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
async function upsertDebugSourcemaps(sourceMaps, projectRoot) {
|
|
30
|
-
const path = await import('path');
|
|
31
|
-
const fs = await import('fs');
|
|
32
|
-
const sourcesPath = path.join(projectRoot, ALGOKIT_DIR, SOURCES_DIR, SOURCES_FILE);
|
|
33
|
-
const sources = await loadOrCreateSources(sourcesPath);
|
|
34
|
-
for (const sourcemap of sourceMaps) {
|
|
35
|
-
const sourceFilePath = path.resolve(sourcemap.location);
|
|
36
|
-
try {
|
|
37
|
-
await fs.promises.access(sourceFilePath);
|
|
38
|
-
const index = sources.txnGroupSources.findIndex((item) => item.equals(sourcemap));
|
|
39
|
-
if (index === -1) {
|
|
40
|
-
sources.txnGroupSources.push(sourcemap);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
sources.txnGroupSources[index] = sourcemap;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
const err = error;
|
|
48
|
-
if (err.code === 'ENOENT') {
|
|
49
|
-
const index = sources.txnGroupSources.findIndex((item) => item.equals(sourcemap));
|
|
50
|
-
if (index !== -1) {
|
|
51
|
-
sources.txnGroupSources.splice(index, 1);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
throw error;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
await fs.promises.writeFile(sourcesPath, JSON.stringify(sources.toDict()), 'utf8');
|
|
60
|
-
}
|
|
61
|
-
async function writeToFile(filePath, content) {
|
|
62
|
-
const path = await import('path');
|
|
63
|
-
const fs = await import('fs');
|
|
64
|
-
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
|
65
|
-
await fs.promises.writeFile(filePath, content, 'utf8');
|
|
66
|
-
}
|
|
67
|
-
async function buildAVMSourcemap({ rawTeal, compiledTeal, appName, fileName, outputPath, client, withSources = true, }) {
|
|
68
|
-
if (!rawTeal && !compiledTeal) {
|
|
69
|
-
throw new Error('Either rawTeal or compiledTeal must be provided.');
|
|
70
|
-
}
|
|
71
|
-
const path = await import('path');
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
73
|
-
const result = rawTeal ? await compileTeal(rawTeal, client) : compiledTeal;
|
|
74
|
-
const programHash = crypto.createHash('SHA-512/256').update(Buffer.from(result.compiled, 'base64')).digest('base64');
|
|
75
|
-
const sourceMap = result.sourceMap;
|
|
76
|
-
sourceMap.sources = withSources ? [`${fileName}${TEAL_FILE_EXT}`] : [];
|
|
77
|
-
const outputDirPath = path.join(outputPath, ALGOKIT_DIR, SOURCES_DIR, appName);
|
|
78
|
-
const sourceMapOutputPath = path.join(outputDirPath, `${fileName}${TEAL_SOURCEMAP_EXT}`);
|
|
79
|
-
const tealOutputPath = path.join(outputDirPath, `${fileName}${TEAL_FILE_EXT}`);
|
|
80
|
-
await writeToFile(sourceMapOutputPath, JSON.stringify(sourceMap));
|
|
81
|
-
if (withSources && result) {
|
|
82
|
-
await writeToFile(tealOutputPath, result.teal);
|
|
83
|
-
}
|
|
84
|
-
return new AVMDebuggerSourceMapEntry(sourceMapOutputPath, programHash);
|
|
85
|
-
}
|
|
86
|
-
// === Public facing methods ===
|
|
87
1
|
/**
|
|
88
|
-
*
|
|
2
|
+
* @deprecated Use latest version of `AlgoKit AVM Debugger` VSCode extension instead. It will automatically manage your sourcemaps.
|
|
89
3
|
*
|
|
90
|
-
*
|
|
4
|
+
* This function persists the source maps for the given sources.
|
|
91
5
|
*
|
|
92
6
|
* @returns A promise that resolves when the source maps have been persisted.
|
|
93
7
|
*/
|
|
94
|
-
async function persistSourceMaps(
|
|
95
|
-
|
|
96
|
-
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
97
|
-
}
|
|
98
|
-
try {
|
|
99
|
-
const sourceMaps = await Promise.all(sources.map((source) => buildAVMSourcemap({
|
|
100
|
-
rawTeal: source.rawTeal,
|
|
101
|
-
compiledTeal: source.compiledTeal,
|
|
102
|
-
appName: source.appName,
|
|
103
|
-
fileName: source.fileName,
|
|
104
|
-
outputPath: projectRoot,
|
|
105
|
-
client: client,
|
|
106
|
-
withSources: withSources,
|
|
107
|
-
})));
|
|
108
|
-
await upsertDebugSourcemaps(sourceMaps, projectRoot);
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
112
|
-
Config.getLogger().error(`Failed to persist avm sourceMaps: ${err.stack ?? err.message ?? err}.`);
|
|
113
|
-
throw err;
|
|
114
|
-
}
|
|
8
|
+
async function persistSourceMaps(_params) {
|
|
9
|
+
throw new Error('Deprecated. Use latest version of `AlgoKit AVM Debugger` VSCode extension instead.');
|
|
115
10
|
}
|
|
116
11
|
|
|
117
12
|
export { persistSourceMaps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging.mjs","sources":["../../src/debugging/debugging.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"debugging.mjs","sources":["../../src/debugging/debugging.ts"],"sourcesContent":["/**\n * @deprecated Use latest version of `AlgoKit AVM Debugger` VSCode extension instead. It will automatically manage your sourcemaps.\n *\n * This function persists the source maps for the given sources.\n *\n * @returns A promise that resolves when the source maps have been persisted.\n */\nexport async function persistSourceMaps(_params: unknown): Promise<void> {\n throw new Error('Deprecated. Use latest version of `AlgoKit AVM Debugger` VSCode extension instead.')\n}\n"],"names":[],"mappings":"AAAA;;;;;;AAMG;AACI,eAAe,iBAAiB,CAAC,OAAgB,EAAA;AACtD,IAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;AACvG;;;;"}
|
package/debugging/index.d.ts
CHANGED
package/dispenser-client.d.ts
CHANGED
|
@@ -18,4 +18,3 @@ import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './ty
|
|
|
18
18
|
* @returns An instance of the TestNetDispenserApiClient class.
|
|
19
19
|
*/
|
|
20
20
|
export declare function getTestNetDispenserApiClient(params?: TestNetDispenserApiClientParams | null): TestNetDispenserApiClient;
|
|
21
|
-
//# sourceMappingURL=dispenser-client.d.ts.map
|
package/dispenser-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispenser-client.js","sources":["../src/dispenser-client.ts"],"sourcesContent":[null],"names":["TestNetDispenserApiClient"],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAIA,+CAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;AAC5E;;;;"}
|
|
1
|
+
{"version":3,"file":"dispenser-client.js","sources":["../src/dispenser-client.ts"],"sourcesContent":["import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './types/dispenser-client'\n\n/**\n * @deprecated Use `clientManager.getTestNetDispenser` or `clientManager.getTestNetDispenserFromEnvironment` instead\n *\n * Create a new TestNetDispenserApiClient instance.\n * Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.\n *\n * @param params An object containing parameters for the TestNetDispenserApiClient class.\n * Or null if you want the client to load the access token from the environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`.\n * @example\n * const client = algokit.getTestNetDispenserApiClient(\n * {\n * authToken: 'your_auth_token',\n * requestTimeout: 15,\n * }\n * )\n *\n * @returns An instance of the TestNetDispenserApiClient class.\n */\nexport function getTestNetDispenserApiClient(params: TestNetDispenserApiClientParams | null = null) {\n return new TestNetDispenserApiClient(params === null ? undefined : params)\n}\n"],"names":["TestNetDispenserApiClient"],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAIA,+CAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;AAC5E;;;;"}
|
package/dispenser-client.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispenser-client.mjs","sources":["../src/dispenser-client.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAI,yBAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;AAC5E;;;;"}
|
|
1
|
+
{"version":3,"file":"dispenser-client.mjs","sources":["../src/dispenser-client.ts"],"sourcesContent":["import { TestNetDispenserApiClient, TestNetDispenserApiClientParams } from './types/dispenser-client'\n\n/**\n * @deprecated Use `clientManager.getTestNetDispenser` or `clientManager.getTestNetDispenserFromEnvironment` instead\n *\n * Create a new TestNetDispenserApiClient instance.\n * Refer to [docs](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md) on guidance to obtain an access token.\n *\n * @param params An object containing parameters for the TestNetDispenserApiClient class.\n * Or null if you want the client to load the access token from the environment variable `ALGOKIT_DISPENSER_ACCESS_TOKEN`.\n * @example\n * const client = algokit.getTestNetDispenserApiClient(\n * {\n * authToken: 'your_auth_token',\n * requestTimeout: 15,\n * }\n * )\n *\n * @returns An instance of the TestNetDispenserApiClient class.\n */\nexport function getTestNetDispenserApiClient(params: TestNetDispenserApiClientParams | null = null) {\n return new TestNetDispenserApiClient(params === null ? undefined : params)\n}\n"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACa,SAAA,4BAA4B,CAAC,MAAA,GAAiD,IAAI,EAAA;AAChG,IAAA,OAAO,IAAI,yBAAyB,CAAC,MAAM,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;AAC5E;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
+
export * from './account';
|
|
1
2
|
export * from './app';
|
|
2
3
|
export * from './app-client';
|
|
3
4
|
export * from './app-deploy';
|
|
4
|
-
export * from './debugging';
|
|
5
|
-
export * from './transaction';
|
|
6
|
-
export * from './account';
|
|
7
5
|
export * from './asset';
|
|
8
6
|
export * from './dispenser-client';
|
|
9
7
|
export * from './indexer-lookup';
|
|
@@ -12,6 +10,9 @@ export * from './network-client';
|
|
|
12
10
|
export * from './transfer';
|
|
13
11
|
export * from './amount';
|
|
14
12
|
export * from './config';
|
|
13
|
+
export * from './debugging';
|
|
15
14
|
export * as indexer from './indexer-lookup';
|
|
15
|
+
export * from './transaction';
|
|
16
16
|
export { AlgorandClient } from './types/algorand-client';
|
|
17
|
-
|
|
17
|
+
export * from './types/debugging';
|
|
18
|
+
export * from './types/lifecycle-events';
|
package/index.js
CHANGED
|
@@ -10,10 +10,8 @@ var networkClient = require('./network-client.js');
|
|
|
10
10
|
var amount = require('./amount.js');
|
|
11
11
|
var config = require('./config.js');
|
|
12
12
|
var types_algorandClient = require('./types/algorand-client.js');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var performAtomicTransactionComposerSimulate = require('./transaction/perform-atomic-transaction-composer-simulate.js');
|
|
16
|
-
var transaction = require('./transaction/transaction.js');
|
|
13
|
+
var types_debugging = require('./types/debugging.js');
|
|
14
|
+
var types_lifecycleEvents = require('./types/lifecycle-events.js');
|
|
17
15
|
var account = require('./account/account.js');
|
|
18
16
|
var getAccount = require('./account/get-account.js');
|
|
19
17
|
var getAccountConfigFromEnvironment = require('./account/get-account-config-from-environment.js');
|
|
@@ -25,6 +23,9 @@ var getOrCreateKmdWalletAccount = require('./localnet/get-or-create-kmd-wallet-a
|
|
|
25
23
|
var isLocalnet = require('./localnet/is-localnet.js');
|
|
26
24
|
var transfer = require('./transfer/transfer.js');
|
|
27
25
|
var transferAlgos = require('./transfer/transfer-algos.js');
|
|
26
|
+
var debugging = require('./debugging/debugging.js');
|
|
27
|
+
var performAtomicTransactionComposerSimulate = require('./transaction/perform-atomic-transaction-composer-simulate.js');
|
|
28
|
+
var transaction = require('./transaction/transaction.js');
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
|
|
@@ -81,6 +82,7 @@ exports.getDefaultLocalNetConfig = networkClient.getDefaultLocalNetConfig;
|
|
|
81
82
|
exports.getIndexerConfigFromEnvironment = networkClient.getIndexerConfigFromEnvironment;
|
|
82
83
|
exports.isMainNet = networkClient.isMainNet;
|
|
83
84
|
exports.isTestNet = networkClient.isTestNet;
|
|
85
|
+
exports.ALGORAND_MIN_TX_FEE = amount.ALGORAND_MIN_TX_FEE;
|
|
84
86
|
exports.algo = amount.algo;
|
|
85
87
|
exports.algos = amount.algos;
|
|
86
88
|
exports.microAlgo = amount.microAlgo;
|
|
@@ -88,28 +90,15 @@ exports.microAlgos = amount.microAlgos;
|
|
|
88
90
|
exports.transactionFees = amount.transactionFees;
|
|
89
91
|
exports.Config = config.Config;
|
|
90
92
|
exports.AlgorandClient = types_algorandClient.AlgorandClient;
|
|
91
|
-
exports.
|
|
92
|
-
exports.
|
|
93
|
-
exports.
|
|
94
|
-
exports.
|
|
95
|
-
exports.
|
|
96
|
-
exports
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
exports.encodeTransactionNote = transaction.encodeTransactionNote;
|
|
101
|
-
exports.getAtomicTransactionComposerTransactions = transaction.getAtomicTransactionComposerTransactions;
|
|
102
|
-
exports.getSenderAddress = transaction.getSenderAddress;
|
|
103
|
-
exports.getSenderTransactionSigner = transaction.getSenderTransactionSigner;
|
|
104
|
-
exports.getTransactionParams = transaction.getTransactionParams;
|
|
105
|
-
exports.getTransactionWithSigner = transaction.getTransactionWithSigner;
|
|
106
|
-
exports.performAtomicTransactionComposerDryrun = transaction.performAtomicTransactionComposerDryrun;
|
|
107
|
-
exports.populateAppCallResources = transaction.populateAppCallResources;
|
|
108
|
-
exports.sendAtomicTransactionComposer = transaction.sendAtomicTransactionComposer;
|
|
109
|
-
exports.sendGroupOfTransactions = transaction.sendGroupOfTransactions;
|
|
110
|
-
exports.sendTransaction = transaction.sendTransaction;
|
|
111
|
-
exports.signTransaction = transaction.signTransaction;
|
|
112
|
-
exports.waitForConfirmation = transaction.waitForConfirmation;
|
|
93
|
+
exports.ALGOKIT_DIR = types_debugging.ALGOKIT_DIR;
|
|
94
|
+
exports.DEFAULT_MAX_SEARCH_DEPTH = types_debugging.DEFAULT_MAX_SEARCH_DEPTH;
|
|
95
|
+
exports.SOURCES_DIR = types_debugging.SOURCES_DIR;
|
|
96
|
+
exports.TEAL_FILE_EXT = types_debugging.TEAL_FILE_EXT;
|
|
97
|
+
exports.TEAL_SOURCEMAP_EXT = types_debugging.TEAL_SOURCEMAP_EXT;
|
|
98
|
+
Object.defineProperty(exports, "EventType", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function () { return types_lifecycleEvents.EventType; }
|
|
101
|
+
});
|
|
113
102
|
exports.getAccountAddressAsString = account.getAccountAddressAsString;
|
|
114
103
|
exports.getAccountAddressAsUint8Array = account.getAccountAddressAsUint8Array;
|
|
115
104
|
exports.getAccountAssetInformation = account.getAccountAssetInformation;
|
|
@@ -131,4 +120,25 @@ exports.ensureFunded = transfer.ensureFunded;
|
|
|
131
120
|
exports.rekeyAccount = transfer.rekeyAccount;
|
|
132
121
|
exports.transferAsset = transfer.transferAsset;
|
|
133
122
|
exports.transferAlgos = transferAlgos.transferAlgos;
|
|
123
|
+
exports.persistSourceMaps = debugging.persistSourceMaps;
|
|
124
|
+
exports.performAtomicTransactionComposerSimulate = performAtomicTransactionComposerSimulate.performAtomicTransactionComposerSimulate;
|
|
125
|
+
exports.MAX_APP_CALL_ACCOUNT_REFERENCES = transaction.MAX_APP_CALL_ACCOUNT_REFERENCES;
|
|
126
|
+
exports.MAX_APP_CALL_FOREIGN_REFERENCES = transaction.MAX_APP_CALL_FOREIGN_REFERENCES;
|
|
127
|
+
exports.MAX_TRANSACTION_GROUP_SIZE = transaction.MAX_TRANSACTION_GROUP_SIZE;
|
|
128
|
+
exports.capTransactionFee = transaction.capTransactionFee;
|
|
129
|
+
exports.controlFees = transaction.controlFees;
|
|
130
|
+
exports.encodeLease = transaction.encodeLease;
|
|
131
|
+
exports.encodeTransactionNote = transaction.encodeTransactionNote;
|
|
132
|
+
exports.getABIReturnValue = transaction.getABIReturnValue;
|
|
133
|
+
exports.getAtomicTransactionComposerTransactions = transaction.getAtomicTransactionComposerTransactions;
|
|
134
|
+
exports.getSenderAddress = transaction.getSenderAddress;
|
|
135
|
+
exports.getSenderTransactionSigner = transaction.getSenderTransactionSigner;
|
|
136
|
+
exports.getTransactionParams = transaction.getTransactionParams;
|
|
137
|
+
exports.getTransactionWithSigner = transaction.getTransactionWithSigner;
|
|
138
|
+
exports.populateAppCallResources = transaction.populateAppCallResources;
|
|
139
|
+
exports.sendAtomicTransactionComposer = transaction.sendAtomicTransactionComposer;
|
|
140
|
+
exports.sendGroupOfTransactions = transaction.sendGroupOfTransactions;
|
|
141
|
+
exports.sendTransaction = transaction.sendTransaction;
|
|
142
|
+
exports.signTransaction = transaction.signTransaction;
|
|
143
|
+
exports.waitForConfirmation = transaction.waitForConfirmation;
|
|
134
144
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/index.mjs
CHANGED
|
@@ -7,13 +7,11 @@ import * as indexerLookup from './indexer-lookup.mjs';
|
|
|
7
7
|
export { indexerLookup as indexer };
|
|
8
8
|
export { executePaginatedRequest, lookupAccountByAddress, lookupAccountCreatedApplicationByAddress, lookupAssetHoldings, lookupTransactionById, searchTransactions } from './indexer-lookup.mjs';
|
|
9
9
|
export { getAlgoClient, getAlgoIndexerClient, getAlgoKmdClient, getAlgoNodeConfig, getAlgodConfigFromEnvironment, getConfigFromEnvOrDefaults, getDefaultLocalNetConfig, getIndexerConfigFromEnvironment, isMainNet, isTestNet } from './network-client.mjs';
|
|
10
|
-
export { algo, algos, microAlgo, microAlgos, transactionFees } from './amount.mjs';
|
|
10
|
+
export { ALGORAND_MIN_TX_FEE, algo, algos, microAlgo, microAlgos, transactionFees } from './amount.mjs';
|
|
11
11
|
export { Config } from './config.mjs';
|
|
12
12
|
export { AlgorandClient } from './types/algorand-client.mjs';
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export { performAtomicTransactionComposerSimulate } from './transaction/perform-atomic-transaction-composer-simulate.mjs';
|
|
16
|
-
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 } from './transaction/transaction.mjs';
|
|
13
|
+
export { ALGOKIT_DIR, DEFAULT_MAX_SEARCH_DEPTH, SOURCES_DIR, TEAL_FILE_EXT, TEAL_SOURCEMAP_EXT } from './types/debugging.mjs';
|
|
14
|
+
export { EventType } from './types/lifecycle-events.mjs';
|
|
17
15
|
export { getAccountAddressAsString, getAccountAddressAsUint8Array, getAccountAssetInformation, getAccountInformation, mnemonicAccountFromEnvironment, multisigAccount, randomAccount, rekeyedAccount, transactionSignerAccount } from './account/account.mjs';
|
|
18
16
|
export { getAccount } from './account/get-account.mjs';
|
|
19
17
|
export { getAccountConfigFromEnvironment } from './account/get-account-config-from-environment.mjs';
|
|
@@ -25,4 +23,7 @@ export { getOrCreateKmdWalletAccount } from './localnet/get-or-create-kmd-wallet
|
|
|
25
23
|
export { isLocalNet } from './localnet/is-localnet.mjs';
|
|
26
24
|
export { ensureFunded, rekeyAccount, transferAsset } from './transfer/transfer.mjs';
|
|
27
25
|
export { transferAlgos } from './transfer/transfer-algos.mjs';
|
|
26
|
+
export { persistSourceMaps } from './debugging/debugging.mjs';
|
|
27
|
+
export { performAtomicTransactionComposerSimulate } from './transaction/perform-atomic-transaction-composer-simulate.mjs';
|
|
28
|
+
export { MAX_APP_CALL_ACCOUNT_REFERENCES, MAX_APP_CALL_FOREIGN_REFERENCES, MAX_TRANSACTION_GROUP_SIZE, capTransactionFee, controlFees, encodeLease, encodeTransactionNote, getABIReturnValue, getAtomicTransactionComposerTransactions, getSenderAddress, getSenderTransactionSigner, getTransactionParams, getTransactionWithSigner, populateAppCallResources, sendAtomicTransactionComposer, sendGroupOfTransactions, sendTransaction, signTransaction, waitForConfirmation } from './transaction/transaction.mjs';
|
|
28
29
|
//# sourceMappingURL=index.mjs.map
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/indexer-lookup.d.ts
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import algosdk from 'algosdk';
|
|
2
|
-
import
|
|
3
|
-
import { AccountLookupResult, ApplicationResult, LookupAssetHoldingsOptions, MiniAssetHolding, TransactionLookupResult, TransactionSearchResults } from './types/indexer';
|
|
1
|
+
import algosdk, { Address } from 'algosdk';
|
|
2
|
+
import { LookupAssetHoldingsOptions } from './types/indexer';
|
|
4
3
|
import Indexer = algosdk.Indexer;
|
|
4
|
+
export type SearchForTransactions = ReturnType<Indexer['searchForTransactions']>;
|
|
5
5
|
/**
|
|
6
|
+
* @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.
|
|
6
7
|
* Looks up a transaction by ID using Indexer.
|
|
7
8
|
* @param transactionId The ID of the transaction to look up
|
|
8
9
|
* @param indexer An indexer client
|
|
9
10
|
* @returns The result of the look-up
|
|
10
11
|
*/
|
|
11
|
-
export declare function lookupTransactionById(transactionId: string, indexer: Indexer): Promise<
|
|
12
|
+
export declare function lookupTransactionById(transactionId: string, indexer: Indexer): Promise<algosdk.indexerModels.TransactionResponse>;
|
|
12
13
|
/**
|
|
14
|
+
* @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.
|
|
13
15
|
* Looks up an account by address using Indexer.
|
|
14
16
|
* @param accountAddress The address of the account to look up
|
|
15
17
|
* @param indexer An indexer client
|
|
16
18
|
* @returns The result of the look-up
|
|
17
19
|
*/
|
|
18
|
-
export declare function lookupAccountByAddress(accountAddress: string, indexer: Indexer): Promise<
|
|
20
|
+
export declare function lookupAccountByAddress(accountAddress: string | Address, indexer: Indexer): Promise<algosdk.indexerModels.AccountResponse>;
|
|
19
21
|
/**
|
|
20
22
|
* Looks up applications that were created by the given address; will automatically paginate through all data.
|
|
21
23
|
* @param indexer An indexer instance
|
|
@@ -24,7 +26,7 @@ export declare function lookupAccountByAddress(accountAddress: string, indexer:
|
|
|
24
26
|
* @param paginationLimit The number of records to return per paginated request, default 1000
|
|
25
27
|
* @returns The list of application results
|
|
26
28
|
*/
|
|
27
|
-
export declare function lookupAccountCreatedApplicationByAddress(indexer: Indexer, address: string, getAll?: boolean | undefined, paginationLimit?: number): Promise<
|
|
29
|
+
export declare function lookupAccountCreatedApplicationByAddress(indexer: Indexer, address: string | Address, getAll?: boolean | undefined, paginationLimit?: number): Promise<algosdk.indexerModels.Application[]>;
|
|
28
30
|
/**
|
|
29
31
|
* Looks up asset holdings for the given asset; will automatically paginate through all data.
|
|
30
32
|
* @param indexer An indexer instance
|
|
@@ -33,7 +35,7 @@ export declare function lookupAccountCreatedApplicationByAddress(indexer: Indexe
|
|
|
33
35
|
* @param paginationLimit The number of records to return per paginated request, default 1000
|
|
34
36
|
* @returns The list of application results
|
|
35
37
|
*/
|
|
36
|
-
export declare function lookupAssetHoldings(indexer: Indexer, assetId: number | bigint, options?: LookupAssetHoldingsOptions, paginationLimit?: number): Promise<MiniAssetHolding[]>;
|
|
38
|
+
export declare function lookupAssetHoldings(indexer: Indexer, assetId: number | bigint, options?: LookupAssetHoldingsOptions, paginationLimit?: number): Promise<algosdk.indexerModels.MiniAssetHolding[]>;
|
|
37
39
|
/**
|
|
38
40
|
* Allows transactions to be searched for the given criteria.
|
|
39
41
|
* @param indexer An indexer client
|
|
@@ -41,8 +43,7 @@ export declare function lookupAssetHoldings(indexer: Indexer, assetId: number |
|
|
|
41
43
|
* @param paginationLimit The number of records to return per paginated request, default 1000
|
|
42
44
|
* @returns The search results
|
|
43
45
|
*/
|
|
44
|
-
export declare function searchTransactions(indexer: Indexer, searchCriteria: (s: SearchForTransactions) => SearchForTransactions, paginationLimit?: number): Promise<
|
|
46
|
+
export declare function searchTransactions(indexer: Indexer, searchCriteria: (s: SearchForTransactions) => SearchForTransactions, paginationLimit?: number): Promise<algosdk.indexerModels.TransactionsResponse>;
|
|
45
47
|
export declare function executePaginatedRequest<TResult, TRequest extends {
|
|
46
48
|
do: () => Promise<any>;
|
|
47
49
|
}>(extractItems: (response: any) => TResult[], buildRequest: (nextToken?: string) => TRequest): Promise<TResult[]>;
|
|
48
|
-
//# sourceMappingURL=indexer-lookup.d.ts.map
|
package/indexer-lookup.js
CHANGED
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var algosdk = require('algosdk');
|
|
4
|
+
|
|
3
5
|
const DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000; //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific
|
|
4
6
|
/**
|
|
7
|
+
* @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.
|
|
5
8
|
* Looks up a transaction by ID using Indexer.
|
|
6
9
|
* @param transactionId The ID of the transaction to look up
|
|
7
10
|
* @param indexer An indexer client
|
|
8
11
|
* @returns The result of the look-up
|
|
9
12
|
*/
|
|
10
13
|
async function lookupTransactionById(transactionId, indexer) {
|
|
11
|
-
return
|
|
14
|
+
return await indexer.lookupTransactionByID(transactionId).do();
|
|
12
15
|
}
|
|
13
16
|
/**
|
|
17
|
+
* @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.
|
|
14
18
|
* Looks up an account by address using Indexer.
|
|
15
19
|
* @param accountAddress The address of the account to look up
|
|
16
20
|
* @param indexer An indexer client
|
|
17
21
|
* @returns The result of the look-up
|
|
18
22
|
*/
|
|
19
23
|
async function lookupAccountByAddress(accountAddress, indexer) {
|
|
20
|
-
return
|
|
24
|
+
return await indexer.lookupAccountByID(accountAddress).do();
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* Looks up applications that were created by the given address; will automatically paginate through all data.
|
|
@@ -83,13 +87,13 @@ async function lookupAssetHoldings(indexer, assetId, options, paginationLimit) {
|
|
|
83
87
|
* @returns The search results
|
|
84
88
|
*/
|
|
85
89
|
async function searchTransactions(indexer, searchCriteria, paginationLimit) {
|
|
86
|
-
let currentRound =
|
|
90
|
+
let currentRound = 0n;
|
|
87
91
|
const transactions = await executePaginatedRequest((response) => {
|
|
88
92
|
if ('message' in response) {
|
|
89
93
|
throw { status: 404, ...response };
|
|
90
94
|
}
|
|
91
|
-
if (response
|
|
92
|
-
currentRound = response
|
|
95
|
+
if (response.currentRound > currentRound) {
|
|
96
|
+
currentRound = response.currentRound;
|
|
93
97
|
}
|
|
94
98
|
return response.transactions;
|
|
95
99
|
}, (nextToken) => {
|
|
@@ -99,11 +103,11 @@ async function searchTransactions(indexer, searchCriteria, paginationLimit) {
|
|
|
99
103
|
}
|
|
100
104
|
return s;
|
|
101
105
|
});
|
|
102
|
-
return {
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
return new algosdk.indexerModels.TransactionsResponse({
|
|
107
|
+
currentRound,
|
|
108
|
+
nextToken: undefined,
|
|
105
109
|
transactions: transactions,
|
|
106
|
-
};
|
|
110
|
+
});
|
|
107
111
|
}
|
|
108
112
|
// https://developer.algorand.org/docs/get-details/indexer/#paginated-results
|
|
109
113
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -121,7 +125,7 @@ extractItems, buildRequest) {
|
|
|
121
125
|
break;
|
|
122
126
|
}
|
|
123
127
|
results.push(...items);
|
|
124
|
-
nextToken = response['
|
|
128
|
+
nextToken = response['nextToken'];
|
|
125
129
|
if (!nextToken) {
|
|
126
130
|
break;
|
|
127
131
|
}
|
package/indexer-lookup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer-lookup.js","sources":["../src/indexer-lookup.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indexer-lookup.js","sources":["../src/indexer-lookup.ts"],"sourcesContent":["import algosdk, { Address } from 'algosdk'\nimport { LookupAssetHoldingsOptions } from './types/indexer'\nimport Indexer = algosdk.Indexer\nexport type SearchForTransactions = ReturnType<Indexer['searchForTransactions']>\n\nconst DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000 //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific\n\n/**\n * @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.\n * Looks up a transaction by ID using Indexer.\n * @param transactionId The ID of the transaction to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupTransactionById(transactionId: string, indexer: Indexer) {\n return await indexer.lookupTransactionByID(transactionId).do()\n}\n\n/**\n * @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.\n * Looks up an account by address using Indexer.\n * @param accountAddress The address of the account to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupAccountByAddress(accountAddress: string | Address, indexer: Indexer) {\n return await indexer.lookupAccountByID(accountAddress).do()\n}\n\n/**\n * Looks up applications that were created by the given address; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param address The address of the creator to look up\n * @param getAll Whether or not to include deleted applications\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAccountCreatedApplicationByAddress(\n indexer: Indexer,\n address: string | Address,\n getAll: boolean | undefined = undefined,\n paginationLimit?: number,\n): Promise<algosdk.indexerModels.Application[]> {\n return await executePaginatedRequest(\n (response: algosdk.indexerModels.ApplicationsResponse | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.applications\n },\n (nextToken) => {\n let s = indexer\n .lookupAccountCreatedApplications(address)\n .includeAll(getAll)\n .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Looks up asset holdings for the given asset; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param assetId The ID of the asset to look up holdings for\n * @param options Optional options to control the lookup\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAssetHoldings(\n indexer: Indexer,\n assetId: number | bigint,\n options?: LookupAssetHoldingsOptions,\n paginationLimit?: number,\n): Promise<algosdk.indexerModels.MiniAssetHolding[]> {\n return await executePaginatedRequest(\n (response: algosdk.indexerModels.AssetBalancesResponse | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.balances\n },\n (nextToken) => {\n let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (options?.currencyGreaterThan !== undefined) {\n s = s.currencyGreaterThan(options.currencyGreaterThan)\n }\n if (options?.currencyLessThan !== undefined) {\n s = s.currencyLessThan(options.currencyLessThan)\n }\n if (options?.includeAll !== undefined) {\n s = s.includeAll(options.includeAll)\n }\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Allows transactions to be searched for the given criteria.\n * @param indexer An indexer client\n * @param searchCriteria The criteria to search for\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The search results\n */\nexport async function searchTransactions(\n indexer: Indexer,\n searchCriteria: (s: SearchForTransactions) => SearchForTransactions,\n paginationLimit?: number,\n): Promise<algosdk.indexerModels.TransactionsResponse> {\n let currentRound = 0n\n const transactions = await executePaginatedRequest(\n (response: algosdk.indexerModels.TransactionsResponse | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n if (response.currentRound > currentRound) {\n currentRound = response.currentRound\n }\n return response.transactions\n },\n (nextToken) => {\n let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n\n return new algosdk.indexerModels.TransactionsResponse({\n currentRound,\n nextToken: undefined,\n transactions: transactions,\n })\n}\n\n// https://developer.algorand.org/docs/get-details/indexer/#paginated-results\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function executePaginatedRequest<TResult, TRequest extends { do: () => Promise<any> }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractItems: (response: any) => TResult[],\n buildRequest: (nextToken?: string) => TRequest,\n): Promise<TResult[]> {\n const results = []\n\n let nextToken: string | undefined = undefined\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const request = buildRequest(nextToken)\n const response = await request.do()\n const items = extractItems(response)\n if (items == null || items.length === 0) {\n break\n }\n results.push(...items)\n nextToken = response['nextToken']\n if (!nextToken) {\n break\n }\n }\n\n return results\n}\n"],"names":[],"mappings":"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"}
|
package/indexer-lookup.mjs
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
|
+
import algosdk from 'algosdk';
|
|
2
|
+
|
|
1
3
|
const DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000; //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific
|
|
2
4
|
/**
|
|
5
|
+
* @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.
|
|
3
6
|
* Looks up a transaction by ID using Indexer.
|
|
4
7
|
* @param transactionId The ID of the transaction to look up
|
|
5
8
|
* @param indexer An indexer client
|
|
6
9
|
* @returns The result of the look-up
|
|
7
10
|
*/
|
|
8
11
|
async function lookupTransactionById(transactionId, indexer) {
|
|
9
|
-
return
|
|
12
|
+
return await indexer.lookupTransactionByID(transactionId).do();
|
|
10
13
|
}
|
|
11
14
|
/**
|
|
15
|
+
* @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.
|
|
12
16
|
* Looks up an account by address using Indexer.
|
|
13
17
|
* @param accountAddress The address of the account to look up
|
|
14
18
|
* @param indexer An indexer client
|
|
15
19
|
* @returns The result of the look-up
|
|
16
20
|
*/
|
|
17
21
|
async function lookupAccountByAddress(accountAddress, indexer) {
|
|
18
|
-
return
|
|
22
|
+
return await indexer.lookupAccountByID(accountAddress).do();
|
|
19
23
|
}
|
|
20
24
|
/**
|
|
21
25
|
* Looks up applications that were created by the given address; will automatically paginate through all data.
|
|
@@ -81,13 +85,13 @@ async function lookupAssetHoldings(indexer, assetId, options, paginationLimit) {
|
|
|
81
85
|
* @returns The search results
|
|
82
86
|
*/
|
|
83
87
|
async function searchTransactions(indexer, searchCriteria, paginationLimit) {
|
|
84
|
-
let currentRound =
|
|
88
|
+
let currentRound = 0n;
|
|
85
89
|
const transactions = await executePaginatedRequest((response) => {
|
|
86
90
|
if ('message' in response) {
|
|
87
91
|
throw { status: 404, ...response };
|
|
88
92
|
}
|
|
89
|
-
if (response
|
|
90
|
-
currentRound = response
|
|
93
|
+
if (response.currentRound > currentRound) {
|
|
94
|
+
currentRound = response.currentRound;
|
|
91
95
|
}
|
|
92
96
|
return response.transactions;
|
|
93
97
|
}, (nextToken) => {
|
|
@@ -97,11 +101,11 @@ async function searchTransactions(indexer, searchCriteria, paginationLimit) {
|
|
|
97
101
|
}
|
|
98
102
|
return s;
|
|
99
103
|
});
|
|
100
|
-
return {
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
return new algosdk.indexerModels.TransactionsResponse({
|
|
105
|
+
currentRound,
|
|
106
|
+
nextToken: undefined,
|
|
103
107
|
transactions: transactions,
|
|
104
|
-
};
|
|
108
|
+
});
|
|
105
109
|
}
|
|
106
110
|
// https://developer.algorand.org/docs/get-details/indexer/#paginated-results
|
|
107
111
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -119,7 +123,7 @@ extractItems, buildRequest) {
|
|
|
119
123
|
break;
|
|
120
124
|
}
|
|
121
125
|
results.push(...items);
|
|
122
|
-
nextToken = response['
|
|
126
|
+
nextToken = response['nextToken'];
|
|
123
127
|
if (!nextToken) {
|
|
124
128
|
break;
|
|
125
129
|
}
|
package/indexer-lookup.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer-lookup.mjs","sources":["../src/indexer-lookup.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indexer-lookup.mjs","sources":["../src/indexer-lookup.ts"],"sourcesContent":["import algosdk, { Address } from 'algosdk'\nimport { LookupAssetHoldingsOptions } from './types/indexer'\nimport Indexer = algosdk.Indexer\nexport type SearchForTransactions = ReturnType<Indexer['searchForTransactions']>\n\nconst DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000 //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific\n\n/**\n * @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.\n * Looks up a transaction by ID using Indexer.\n * @param transactionId The ID of the transaction to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupTransactionById(transactionId: string, indexer: Indexer) {\n return await indexer.lookupTransactionByID(transactionId).do()\n}\n\n/**\n * @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.\n * Looks up an account by address using Indexer.\n * @param accountAddress The address of the account to look up\n * @param indexer An indexer client\n * @returns The result of the look-up\n */\nexport async function lookupAccountByAddress(accountAddress: string | Address, indexer: Indexer) {\n return await indexer.lookupAccountByID(accountAddress).do()\n}\n\n/**\n * Looks up applications that were created by the given address; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param address The address of the creator to look up\n * @param getAll Whether or not to include deleted applications\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAccountCreatedApplicationByAddress(\n indexer: Indexer,\n address: string | Address,\n getAll: boolean | undefined = undefined,\n paginationLimit?: number,\n): Promise<algosdk.indexerModels.Application[]> {\n return await executePaginatedRequest(\n (response: algosdk.indexerModels.ApplicationsResponse | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.applications\n },\n (nextToken) => {\n let s = indexer\n .lookupAccountCreatedApplications(address)\n .includeAll(getAll)\n .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Looks up asset holdings for the given asset; will automatically paginate through all data.\n * @param indexer An indexer instance\n * @param assetId The ID of the asset to look up holdings for\n * @param options Optional options to control the lookup\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The list of application results\n */\nexport async function lookupAssetHoldings(\n indexer: Indexer,\n assetId: number | bigint,\n options?: LookupAssetHoldingsOptions,\n paginationLimit?: number,\n): Promise<algosdk.indexerModels.MiniAssetHolding[]> {\n return await executePaginatedRequest(\n (response: algosdk.indexerModels.AssetBalancesResponse | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n return response.balances\n },\n (nextToken) => {\n let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (options?.currencyGreaterThan !== undefined) {\n s = s.currencyGreaterThan(options.currencyGreaterThan)\n }\n if (options?.currencyLessThan !== undefined) {\n s = s.currencyLessThan(options.currencyLessThan)\n }\n if (options?.includeAll !== undefined) {\n s = s.includeAll(options.includeAll)\n }\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n}\n\n/**\n * Allows transactions to be searched for the given criteria.\n * @param indexer An indexer client\n * @param searchCriteria The criteria to search for\n * @param paginationLimit The number of records to return per paginated request, default 1000\n * @returns The search results\n */\nexport async function searchTransactions(\n indexer: Indexer,\n searchCriteria: (s: SearchForTransactions) => SearchForTransactions,\n paginationLimit?: number,\n): Promise<algosdk.indexerModels.TransactionsResponse> {\n let currentRound = 0n\n const transactions = await executePaginatedRequest(\n (response: algosdk.indexerModels.TransactionsResponse | { message: string }) => {\n if ('message' in response) {\n throw { status: 404, ...response }\n }\n if (response.currentRound > currentRound) {\n currentRound = response.currentRound\n }\n return response.transactions\n },\n (nextToken) => {\n let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT)\n if (nextToken) {\n s = s.nextToken(nextToken)\n }\n return s\n },\n )\n\n return new algosdk.indexerModels.TransactionsResponse({\n currentRound,\n nextToken: undefined,\n transactions: transactions,\n })\n}\n\n// https://developer.algorand.org/docs/get-details/indexer/#paginated-results\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function executePaginatedRequest<TResult, TRequest extends { do: () => Promise<any> }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extractItems: (response: any) => TResult[],\n buildRequest: (nextToken?: string) => TRequest,\n): Promise<TResult[]> {\n const results = []\n\n let nextToken: string | undefined = undefined\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const request = buildRequest(nextToken)\n const response = await request.do()\n const items = extractItems(response)\n if (items == null || items.length === 0) {\n break\n }\n results.push(...items)\n nextToken = response['nextToken']\n if (!nextToken) {\n break\n }\n }\n\n return results\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import Account = algosdk.Account;
|
|
|
3
3
|
import Algodv2 = algosdk.Algodv2;
|
|
4
4
|
import Kmd = algosdk.Kmd;
|
|
5
5
|
/**
|
|
6
|
-
* @deprecated use `
|
|
6
|
+
* @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.
|
|
7
7
|
*
|
|
8
8
|
* Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).
|
|
9
9
|
*
|
|
@@ -25,4 +25,3 @@ export declare function getKmdWalletAccount(walletAccount: {
|
|
|
25
25
|
name: string;
|
|
26
26
|
predicate?: (account: Record<string, any>) => boolean;
|
|
27
27
|
}, algod: Algodv2, kmdClient?: Kmd): Promise<Account | undefined>;
|
|
28
|
-
//# sourceMappingURL=get-kmd-wallet-account.d.ts.map
|
|
@@ -4,7 +4,7 @@ var types_clientManager = require('../types/client-manager.js');
|
|
|
4
4
|
var types_kmdAccountManager = require('../types/kmd-account-manager.js');
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* @deprecated use `
|
|
7
|
+
* @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.
|
|
8
8
|
*
|
|
9
9
|
* Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).
|
|
10
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-kmd-wallet-account.js","sources":["../../src/localnet/get-kmd-wallet-account.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"get-kmd-wallet-account.js","sources":["../../src/localnet/get-kmd-wallet-account.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { ClientManager } from '../types/client-manager'\nimport { KmdAccountManager } from '../types/kmd-account-manager'\nimport Account = algosdk.Account\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.\n *\n * Returns an Algorand account with private key loaded from the given KMD wallet (identified by name).\n *\n * @param walletAccount The details of the wallet, with:\n * * `name`: The name of the wallet to retrieve an account from\n * * `predicate`: An optional filter to use to find the account (otherwise it will return a random account from the wallet)\n * @param algod An algod client\n * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables\n * @example Get default funded account in a LocalNet\n *\n * ```typescript\n * const defaultDispenserAccount = await getKmdWalletAccount(algod,\n * 'unencrypted-default-wallet',\n * a => a.status !== 'Offline' && a.amount > 1_000_000_000\n * )\n * ```\n */\nexport async function getKmdWalletAccount(\n walletAccount: {\n name: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n predicate?: (account: Record<string, any>) => boolean\n },\n algod: Algodv2,\n kmdClient?: Kmd,\n): Promise<Account | undefined> {\n return (\n await new KmdAccountManager(new ClientManager({ algod, kmd: kmdClient })).getWalletAccount(walletAccount.name, walletAccount.predicate)\n )?.account\n}\n"],"names":["KmdAccountManager","ClientManager"],"mappings":";;;;;AAOA;;;;;;;;;;;;;;;;;;AAkBG;AACI,eAAe,mBAAmB,CACvC,aAIC,EACD,KAAc,EACd,SAAe,EAAA;AAEf,IAAA,OAAO,CACL,MAAM,IAAIA,yCAAiB,CAAC,IAAIC,iCAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,GACtI,OAAO,CAAA;AACZ;;;;"}
|