@algorandfoundation/algokit-utils 9.2.0 → 9.2.1-beta.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.
Files changed (340) hide show
  1. package/_virtual/_rolldown/runtime.js +33 -0
  2. package/_virtual/_rolldown/runtime.mjs +13 -0
  3. package/account/account.d.ts +25 -30
  4. package/account/account.js +151 -146
  5. package/account/account.js.map +1 -1
  6. package/account/account.mjs +149 -144
  7. package/account/account.mjs.map +1 -1
  8. package/account/get-account-config-from-environment.d.ts +7 -2
  9. package/account/get-account-config-from-environment.js +19 -21
  10. package/account/get-account-config-from-environment.js.map +1 -1
  11. package/account/get-account-config-from-environment.mjs +19 -19
  12. package/account/get-account-config-from-environment.mjs.map +1 -1
  13. package/account/get-account.d.ts +14 -12
  14. package/account/get-account.js +56 -59
  15. package/account/get-account.js.map +1 -1
  16. package/account/get-account.mjs +56 -57
  17. package/account/get-account.mjs.map +1 -1
  18. package/account/get-dispenser-account.d.ts +9 -5
  19. package/account/get-dispenser-account.js +20 -18
  20. package/account/get-dispenser-account.js.map +1 -1
  21. package/account/get-dispenser-account.mjs +20 -16
  22. package/account/get-dispenser-account.mjs.map +1 -1
  23. package/account/mnemonic-account.d.ts +7 -3
  24. package/account/mnemonic-account.js +17 -17
  25. package/account/mnemonic-account.js.map +1 -1
  26. package/account/mnemonic-account.mjs +15 -15
  27. package/account/mnemonic-account.mjs.map +1 -1
  28. package/amount.d.ts +40 -35
  29. package/amount.js +33 -34
  30. package/amount.js.map +1 -1
  31. package/amount.mjs +33 -32
  32. package/amount.mjs.map +1 -1
  33. package/app-client.d.ts +10 -6
  34. package/app-client.js +91 -86
  35. package/app-client.js.map +1 -1
  36. package/app-client.mjs +91 -84
  37. package/app-client.mjs.map +1 -1
  38. package/app-deploy.d.ts +26 -24
  39. package/app-deploy.js +235 -253
  40. package/app-deploy.js.map +1 -1
  41. package/app-deploy.mjs +233 -251
  42. package/app-deploy.mjs.map +1 -1
  43. package/app.d.ts +45 -46
  44. package/app.js +253 -271
  45. package/app.js.map +1 -1
  46. package/app.mjs +249 -267
  47. package/app.mjs.map +1 -1
  48. package/asset.d.ts +16 -12
  49. package/asset.js +116 -122
  50. package/asset.js.map +1 -1
  51. package/asset.mjs +116 -120
  52. package/asset.mjs.map +1 -1
  53. package/config.d.ts +7 -2
  54. package/config.js +5 -7
  55. package/config.js.map +1 -1
  56. package/config.mjs +5 -4
  57. package/config.mjs.map +1 -1
  58. package/debugging/debugging.d.ts +5 -1
  59. package/debugging/debugging.js +11 -11
  60. package/debugging/debugging.js.map +1 -1
  61. package/debugging/debugging.mjs +11 -9
  62. package/debugging/debugging.mjs.map +1 -1
  63. package/dispenser-client.d.ts +7 -2
  64. package/dispenser-client.js +23 -24
  65. package/dispenser-client.js.map +1 -1
  66. package/dispenser-client.mjs +23 -22
  67. package/dispenser-client.mjs.map +1 -1
  68. package/index.d.ts +27 -18
  69. package/index.js +140 -143
  70. package/index.mjs +27 -29
  71. package/indexer-lookup.d.ts +18 -11
  72. package/indexer-lookup.js +112 -120
  73. package/indexer-lookup.js.map +1 -1
  74. package/indexer-lookup.mjs +105 -118
  75. package/indexer-lookup.mjs.map +1 -1
  76. package/localnet/get-kmd-wallet-account.d.ts +9 -7
  77. package/localnet/get-kmd-wallet-account.js +28 -26
  78. package/localnet/get-kmd-wallet-account.js.map +1 -1
  79. package/localnet/get-kmd-wallet-account.mjs +28 -24
  80. package/localnet/get-kmd-wallet-account.mjs.map +1 -1
  81. package/localnet/get-localnet-dispenser-account.d.ts +7 -5
  82. package/localnet/get-localnet-dispenser-account.js +17 -15
  83. package/localnet/get-localnet-dispenser-account.js.map +1 -1
  84. package/localnet/get-localnet-dispenser-account.mjs +17 -13
  85. package/localnet/get-localnet-dispenser-account.mjs.map +1 -1
  86. package/localnet/get-or-create-kmd-wallet-account.d.ts +10 -8
  87. package/localnet/get-or-create-kmd-wallet-account.js +28 -26
  88. package/localnet/get-or-create-kmd-wallet-account.js.map +1 -1
  89. package/localnet/get-or-create-kmd-wallet-account.mjs +28 -24
  90. package/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -1
  91. package/localnet/is-localnet.d.ts +7 -3
  92. package/localnet/is-localnet.js +9 -10
  93. package/localnet/is-localnet.js.map +1 -1
  94. package/localnet/is-localnet.mjs +9 -8
  95. package/localnet/is-localnet.mjs.map +1 -1
  96. package/network-client.d.ts +17 -15
  97. package/network-client.js +115 -116
  98. package/network-client.js.map +1 -1
  99. package/network-client.mjs +115 -114
  100. package/network-client.mjs.map +1 -1
  101. package/package.json +12 -3
  102. package/testing/account.d.ts +11 -9
  103. package/testing/account.js +31 -33
  104. package/testing/account.js.map +1 -1
  105. package/testing/account.mjs +29 -31
  106. package/testing/account.mjs.map +1 -1
  107. package/testing/fixtures/algokit-log-capture-fixture.d.ts +7 -2
  108. package/testing/fixtures/algokit-log-capture-fixture.js +36 -41
  109. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  110. package/testing/fixtures/algokit-log-capture-fixture.mjs +36 -39
  111. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  112. package/testing/fixtures/algorand-fixture.d.ts +9 -4
  113. package/testing/fixtures/algorand-fixture.js +67 -62
  114. package/testing/fixtures/algorand-fixture.js.map +1 -1
  115. package/testing/fixtures/algorand-fixture.mjs +66 -59
  116. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  117. package/testing/index.d.ts +7 -5
  118. package/testing/index.js +13 -18
  119. package/testing/index.mjs +7 -7
  120. package/testing/indexer.d.ts +5 -1
  121. package/testing/indexer.js +28 -37
  122. package/testing/indexer.js.map +1 -1
  123. package/testing/indexer.mjs +28 -35
  124. package/testing/indexer.mjs.map +1 -1
  125. package/testing/test-logger.d.ts +41 -36
  126. package/testing/test-logger.js +71 -76
  127. package/testing/test-logger.js.map +1 -1
  128. package/testing/test-logger.mjs +71 -74
  129. package/testing/test-logger.mjs.map +1 -1
  130. package/testing/transaction-logger.d.ts +30 -27
  131. package/testing/transaction-logger.js +77 -93
  132. package/testing/transaction-logger.js.map +1 -1
  133. package/testing/transaction-logger.mjs +74 -90
  134. package/testing/transaction-logger.mjs.map +1 -1
  135. package/transaction/legacy-bridge.js +100 -111
  136. package/transaction/legacy-bridge.js.map +1 -1
  137. package/transaction/legacy-bridge.mjs +97 -108
  138. package/transaction/legacy-bridge.mjs.map +1 -1
  139. package/transaction/perform-atomic-transaction-composer-simulate.d.ts +7 -5
  140. package/transaction/perform-atomic-transaction-composer-simulate.js +31 -36
  141. package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -1
  142. package/transaction/perform-atomic-transaction-composer-simulate.mjs +28 -33
  143. package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -1
  144. package/transaction/transaction.d.ts +34 -35
  145. package/transaction/transaction.js +716 -914
  146. package/transaction/transaction.js.map +1 -1
  147. package/transaction/transaction.mjs +713 -911
  148. package/transaction/transaction.mjs.map +1 -1
  149. package/transfer/transfer-algos.d.ts +9 -5
  150. package/transfer/transfer-algos.js +26 -27
  151. package/transfer/transfer-algos.js.map +1 -1
  152. package/transfer/transfer-algos.mjs +26 -25
  153. package/transfer/transfer-algos.mjs.map +1 -1
  154. package/transfer/transfer.d.ts +11 -8
  155. package/transfer/transfer.js +94 -100
  156. package/transfer/transfer.js.map +1 -1
  157. package/transfer/transfer.mjs +94 -98
  158. package/transfer/transfer.mjs.map +1 -1
  159. package/types/account-manager.d.ts +432 -429
  160. package/types/account-manager.js +591 -602
  161. package/types/account-manager.js.map +1 -1
  162. package/types/account-manager.mjs +587 -599
  163. package/types/account-manager.mjs.map +1 -1
  164. package/types/account.d.ts +192 -202
  165. package/types/account.js +91 -88
  166. package/types/account.js.map +1 -1
  167. package/types/account.mjs +88 -86
  168. package/types/account.mjs.map +1 -1
  169. package/types/algo-http-client-with-retry.d.ts +15 -10
  170. package/types/algo-http-client-with-retry.js +70 -92
  171. package/types/algo-http-client-with-retry.js.map +1 -1
  172. package/types/algo-http-client-with-retry.mjs +69 -90
  173. package/types/algo-http-client-with-retry.mjs.map +1 -1
  174. package/types/algorand-client-transaction-creator.d.ts +778 -771
  175. package/types/algorand-client-transaction-creator.js +733 -732
  176. package/types/algorand-client-transaction-creator.js.map +1 -1
  177. package/types/algorand-client-transaction-creator.mjs +732 -730
  178. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  179. package/types/algorand-client-transaction-sender.d.ts +1090 -1360
  180. package/types/algorand-client-transaction-sender.js +930 -961
  181. package/types/algorand-client-transaction-sender.js.map +1 -1
  182. package/types/algorand-client-transaction-sender.mjs +927 -959
  183. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  184. package/types/algorand-client.d.ts +239 -236
  185. package/types/algorand-client.js +322 -320
  186. package/types/algorand-client.js.map +1 -1
  187. package/types/algorand-client.mjs +321 -318
  188. package/types/algorand-client.mjs.map +1 -1
  189. package/types/amount.d.ts +47 -43
  190. package/types/amount.js +66 -70
  191. package/types/amount.js.map +1 -1
  192. package/types/amount.mjs +63 -68
  193. package/types/amount.mjs.map +1 -1
  194. package/types/app-arc56.d.ts +235 -272
  195. package/types/app-arc56.js +124 -170
  196. package/types/app-arc56.js.map +1 -1
  197. package/types/app-arc56.mjs +121 -168
  198. package/types/app-arc56.mjs.map +1 -1
  199. package/types/app-client.d.ts +1128 -2009
  200. package/types/app-client.js +1633 -1791
  201. package/types/app-client.js.map +1 -1
  202. package/types/app-client.mjs +1624 -1783
  203. package/types/app-client.mjs.map +1 -1
  204. package/types/app-deployer.d.ts +139 -141
  205. package/types/app-deployer.js +344 -384
  206. package/types/app-deployer.js.map +1 -1
  207. package/types/app-deployer.mjs +341 -382
  208. package/types/app-deployer.mjs.map +1 -1
  209. package/types/app-factory.d.ts +762 -932
  210. package/types/app-factory.js +496 -488
  211. package/types/app-factory.js.map +1 -1
  212. package/types/app-factory.mjs +491 -484
  213. package/types/app-factory.mjs.map +1 -1
  214. package/types/app-manager.d.ts +304 -310
  215. package/types/app-manager.js +422 -475
  216. package/types/app-manager.js.map +1 -1
  217. package/types/app-manager.mjs +419 -473
  218. package/types/app-manager.mjs.map +1 -1
  219. package/types/app-spec.d.ts +118 -117
  220. package/types/app-spec.js +125 -135
  221. package/types/app-spec.js.map +1 -1
  222. package/types/app-spec.mjs +121 -132
  223. package/types/app-spec.mjs.map +1 -1
  224. package/types/app.d.ts +229 -241
  225. package/types/app.js +36 -28
  226. package/types/app.js.map +1 -1
  227. package/types/app.mjs +33 -26
  228. package/types/app.mjs.map +1 -1
  229. package/types/asset-manager.d.ts +204 -199
  230. package/types/asset-manager.js +165 -174
  231. package/types/asset-manager.js.map +1 -1
  232. package/types/asset-manager.mjs +164 -172
  233. package/types/asset-manager.mjs.map +1 -1
  234. package/types/asset.d.ts +95 -91
  235. package/types/asset.js +0 -3
  236. package/types/asset.mjs +0 -2
  237. package/types/async-event-emitter.d.ts +18 -13
  238. package/types/async-event-emitter.js +37 -49
  239. package/types/async-event-emitter.js.map +1 -1
  240. package/types/async-event-emitter.mjs +36 -47
  241. package/types/async-event-emitter.mjs.map +1 -1
  242. package/types/client-manager.d.ts +453 -451
  243. package/types/client-manager.js +602 -598
  244. package/types/client-manager.js.map +1 -1
  245. package/types/client-manager.mjs +597 -594
  246. package/types/client-manager.mjs.map +1 -1
  247. package/types/composer.d.ts +1211 -1258
  248. package/types/composer.js +1436 -1498
  249. package/types/composer.js.map +1 -1
  250. package/types/composer.mjs +1430 -1493
  251. package/types/composer.mjs.map +1 -1
  252. package/types/config.d.ts +53 -48
  253. package/types/config.js +78 -77
  254. package/types/config.js.map +1 -1
  255. package/types/config.mjs +77 -75
  256. package/types/config.mjs.map +1 -1
  257. package/types/debugging.d.ts +25 -23
  258. package/types/debugging.js +9 -11
  259. package/types/debugging.js.map +1 -1
  260. package/types/debugging.mjs +8 -9
  261. package/types/debugging.mjs.map +1 -1
  262. package/types/dispenser-client.d.ts +57 -52
  263. package/types/dispenser-client.js +120 -141
  264. package/types/dispenser-client.js.map +1 -1
  265. package/types/dispenser-client.mjs +119 -139
  266. package/types/dispenser-client.mjs.map +1 -1
  267. package/types/expand.d.ts +5 -3
  268. package/types/expand.js +0 -3
  269. package/types/expand.mjs +0 -2
  270. package/types/indexer.d.ts +104 -100
  271. package/types/indexer.js +36 -31
  272. package/types/indexer.js.map +1 -1
  273. package/types/indexer.mjs +32 -30
  274. package/types/indexer.mjs.map +1 -1
  275. package/types/instance-of.d.ts +5 -3
  276. package/types/instance-of.js +0 -3
  277. package/types/instance-of.mjs +0 -2
  278. package/types/kmd-account-manager.d.ts +75 -70
  279. package/types/kmd-account-manager.js +150 -184
  280. package/types/kmd-account-manager.js.map +1 -1
  281. package/types/kmd-account-manager.mjs +147 -182
  282. package/types/kmd-account-manager.mjs.map +1 -1
  283. package/types/lifecycle-events.d.ts +13 -8
  284. package/types/lifecycle-events.js +10 -7
  285. package/types/lifecycle-events.js.map +1 -1
  286. package/types/lifecycle-events.mjs +9 -7
  287. package/types/lifecycle-events.mjs.map +1 -1
  288. package/types/logging.d.ts +15 -11
  289. package/types/logging.js +30 -31
  290. package/types/logging.js.map +1 -1
  291. package/types/logging.mjs +29 -29
  292. package/types/logging.mjs.map +1 -1
  293. package/types/logic-error.d.ts +33 -29
  294. package/types/logic-error.js +50 -49
  295. package/types/logic-error.js.map +1 -1
  296. package/types/logic-error.mjs +49 -47
  297. package/types/logic-error.mjs.map +1 -1
  298. package/types/network-client.d.ts +32 -27
  299. package/types/network-client.js +10 -9
  300. package/types/network-client.js.map +1 -1
  301. package/types/network-client.mjs +9 -7
  302. package/types/network-client.mjs.map +1 -1
  303. package/types/testing.d.ts +131 -132
  304. package/types/testing.js +0 -3
  305. package/types/testing.mjs +0 -2
  306. package/types/transaction.d.ts +110 -110
  307. package/types/transaction.js +0 -3
  308. package/types/transaction.mjs +0 -2
  309. package/types/transfer.d.ts +70 -66
  310. package/types/transfer.js +0 -3
  311. package/types/transfer.mjs +0 -2
  312. package/util.js +73 -118
  313. package/util.js.map +1 -1
  314. package/util.mjs +73 -116
  315. package/util.mjs.map +1 -1
  316. package/account/index.d.ts +0 -5
  317. package/debugging/index.d.ts +0 -1
  318. package/index.js.map +0 -1
  319. package/index.mjs.map +0 -1
  320. package/localnet/index.d.ts +0 -4
  321. package/testing/_asset.d.ts +0 -3
  322. package/testing/fixtures/index.d.ts +0 -2
  323. package/testing/index.js.map +0 -1
  324. package/testing/index.mjs.map +0 -1
  325. package/transaction/index.d.ts +0 -2
  326. package/transaction/legacy-bridge.d.ts +0 -35
  327. package/transfer/index.d.ts +0 -2
  328. package/types/asset.js.map +0 -1
  329. package/types/asset.mjs.map +0 -1
  330. package/types/expand.js.map +0 -1
  331. package/types/expand.mjs.map +0 -1
  332. package/types/instance-of.js.map +0 -1
  333. package/types/instance-of.mjs.map +0 -1
  334. package/types/testing.js.map +0 -1
  335. package/types/testing.mjs.map +0 -1
  336. package/types/transaction.js.map +0 -1
  337. package/types/transaction.mjs.map +0 -1
  338. package/types/transfer.js.map +0 -1
  339. package/types/transfer.mjs.map +0 -1
  340. package/util.d.ts +0 -48
package/indexer-lookup.js CHANGED
@@ -1,141 +1,133 @@
1
- 'use strict';
2
-
3
- var algosdk = require('algosdk');
4
-
5
- const DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000; //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.js");
2
+ let algosdk = require("algosdk");
3
+ algosdk = require_runtime.__toESM(algosdk);
4
+ //#region src/indexer-lookup.ts
5
+ var indexer_lookup_exports = /* @__PURE__ */ require_runtime.__exportAll({
6
+ executePaginatedRequest: () => executePaginatedRequest,
7
+ lookupAccountByAddress: () => lookupAccountByAddress,
8
+ lookupAccountCreatedApplicationByAddress: () => lookupAccountCreatedApplicationByAddress,
9
+ lookupAssetHoldings: () => lookupAssetHoldings,
10
+ lookupTransactionById: () => lookupTransactionById,
11
+ searchTransactions: () => searchTransactions
12
+ });
13
+ const DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1e3;
6
14
  /**
7
- * @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.
8
- * Looks up a transaction by ID using Indexer.
9
- * @param transactionId The ID of the transaction to look up
10
- * @param indexer An indexer client
11
- * @returns The result of the look-up
12
- */
15
+ * @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.
16
+ * Looks up a transaction by ID using Indexer.
17
+ * @param transactionId The ID of the transaction to look up
18
+ * @param indexer An indexer client
19
+ * @returns The result of the look-up
20
+ */
13
21
  async function lookupTransactionById(transactionId, indexer) {
14
- return await indexer.lookupTransactionByID(transactionId).do();
22
+ return await indexer.lookupTransactionByID(transactionId).do();
15
23
  }
16
24
  /**
17
- * @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.
18
- * Looks up an account by address using Indexer.
19
- * @param accountAddress The address of the account to look up
20
- * @param indexer An indexer client
21
- * @returns The result of the look-up
22
- */
25
+ * @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.
26
+ * Looks up an account by address using Indexer.
27
+ * @param accountAddress The address of the account to look up
28
+ * @param indexer An indexer client
29
+ * @returns The result of the look-up
30
+ */
23
31
  async function lookupAccountByAddress(accountAddress, indexer) {
24
- return await indexer.lookupAccountByID(accountAddress).do();
32
+ return await indexer.lookupAccountByID(accountAddress).do();
25
33
  }
26
34
  /**
27
- * Looks up applications that were created by the given address; will automatically paginate through all data.
28
- * @param indexer An indexer instance
29
- * @param address The address of the creator to look up
30
- * @param getAll Whether or not to include deleted applications
31
- * @param paginationLimit The number of records to return per paginated request, default 1000
32
- * @returns The list of application results
33
- */
34
- async function lookupAccountCreatedApplicationByAddress(indexer, address, getAll = undefined, paginationLimit) {
35
- return await executePaginatedRequest((response) => {
36
- if ('message' in response) {
37
- throw { status: 404, ...response };
38
- }
39
- return response.applications;
40
- }, (nextToken) => {
41
- let s = indexer
42
- .lookupAccountCreatedApplications(address)
43
- .includeAll(getAll)
44
- .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
45
- if (nextToken) {
46
- s = s.nextToken(nextToken);
47
- }
48
- return s;
49
- });
35
+ * Looks up applications that were created by the given address; will automatically paginate through all data.
36
+ * @param indexer An indexer instance
37
+ * @param address The address of the creator to look up
38
+ * @param getAll Whether or not to include deleted applications
39
+ * @param paginationLimit The number of records to return per paginated request, default 1000
40
+ * @returns The list of application results
41
+ */
42
+ async function lookupAccountCreatedApplicationByAddress(indexer, address, getAll = void 0, paginationLimit) {
43
+ return await executePaginatedRequest((response) => {
44
+ if ("message" in response) throw {
45
+ status: 404,
46
+ ...response
47
+ };
48
+ return response.applications;
49
+ }, (nextToken) => {
50
+ let s = indexer.lookupAccountCreatedApplications(address).includeAll(getAll).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
51
+ if (nextToken) s = s.nextToken(nextToken);
52
+ return s;
53
+ });
50
54
  }
51
55
  /**
52
- * Looks up asset holdings for the given asset; will automatically paginate through all data.
53
- * @param indexer An indexer instance
54
- * @param assetId The ID of the asset to look up holdings for
55
- * @param options Optional options to control the lookup
56
- * @param paginationLimit The number of records to return per paginated request, default 1000
57
- * @returns The list of application results
58
- */
56
+ * Looks up asset holdings for the given asset; will automatically paginate through all data.
57
+ * @param indexer An indexer instance
58
+ * @param assetId The ID of the asset to look up holdings for
59
+ * @param options Optional options to control the lookup
60
+ * @param paginationLimit The number of records to return per paginated request, default 1000
61
+ * @returns The list of application results
62
+ */
59
63
  async function lookupAssetHoldings(indexer, assetId, options, paginationLimit) {
60
- return await executePaginatedRequest((response) => {
61
- if ('message' in response) {
62
- throw { status: 404, ...response };
63
- }
64
- return response.balances;
65
- }, (nextToken) => {
66
- let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
67
- if (options?.currencyGreaterThan !== undefined) {
68
- s = s.currencyGreaterThan(options.currencyGreaterThan);
69
- }
70
- if (options?.currencyLessThan !== undefined) {
71
- s = s.currencyLessThan(options.currencyLessThan);
72
- }
73
- if (options?.includeAll !== undefined) {
74
- s = s.includeAll(options.includeAll);
75
- }
76
- if (nextToken) {
77
- s = s.nextToken(nextToken);
78
- }
79
- return s;
80
- });
64
+ return await executePaginatedRequest((response) => {
65
+ if ("message" in response) throw {
66
+ status: 404,
67
+ ...response
68
+ };
69
+ return response.balances;
70
+ }, (nextToken) => {
71
+ let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
72
+ if (options?.currencyGreaterThan !== void 0) s = s.currencyGreaterThan(options.currencyGreaterThan);
73
+ if (options?.currencyLessThan !== void 0) s = s.currencyLessThan(options.currencyLessThan);
74
+ if (options?.includeAll !== void 0) s = s.includeAll(options.includeAll);
75
+ if (nextToken) s = s.nextToken(nextToken);
76
+ return s;
77
+ });
81
78
  }
82
79
  /**
83
- * Allows transactions to be searched for the given criteria.
84
- * @param indexer An indexer client
85
- * @param searchCriteria The criteria to search for
86
- * @param paginationLimit The number of records to return per paginated request, default 1000
87
- * @returns The search results
88
- */
80
+ * Allows transactions to be searched for the given criteria.
81
+ * @param indexer An indexer client
82
+ * @param searchCriteria The criteria to search for
83
+ * @param paginationLimit The number of records to return per paginated request, default 1000
84
+ * @returns The search results
85
+ */
89
86
  async function searchTransactions(indexer, searchCriteria, paginationLimit) {
90
- let currentRound = 0n;
91
- const transactions = await executePaginatedRequest((response) => {
92
- if ('message' in response) {
93
- throw { status: 404, ...response };
94
- }
95
- if (response.currentRound > currentRound) {
96
- currentRound = response.currentRound;
97
- }
98
- return response.transactions;
99
- }, (nextToken) => {
100
- let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
101
- if (nextToken) {
102
- s = s.nextToken(nextToken);
103
- }
104
- return s;
105
- });
106
- return new algosdk.indexerModels.TransactionsResponse({
107
- currentRound,
108
- nextToken: undefined,
109
- transactions: transactions,
110
- });
87
+ let currentRound = 0n;
88
+ const transactions = await executePaginatedRequest((response) => {
89
+ if ("message" in response) throw {
90
+ status: 404,
91
+ ...response
92
+ };
93
+ if (response.currentRound > currentRound) currentRound = response.currentRound;
94
+ return response.transactions;
95
+ }, (nextToken) => {
96
+ let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
97
+ if (nextToken) s = s.nextToken(nextToken);
98
+ return s;
99
+ });
100
+ return new algosdk.default.indexerModels.TransactionsResponse({
101
+ currentRound,
102
+ nextToken: void 0,
103
+ transactions
104
+ });
111
105
  }
112
- // https://dev.algorand.co/reference/rest-apis/indexer
113
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
- async function executePaginatedRequest(
115
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
- extractItems, buildRequest) {
117
- const results = [];
118
- let nextToken = undefined;
119
- while (true) {
120
- const request = buildRequest(nextToken);
121
- const response = await request.do();
122
- const items = extractItems(response);
123
- if (items == null || items.length === 0) {
124
- break;
125
- }
126
- results.push(...items);
127
- nextToken = response['nextToken'];
128
- if (!nextToken) {
129
- break;
130
- }
131
- }
132
- return results;
106
+ async function executePaginatedRequest(extractItems, buildRequest) {
107
+ const results = [];
108
+ let nextToken = void 0;
109
+ while (true) {
110
+ const response = await buildRequest(nextToken).do();
111
+ const items = extractItems(response);
112
+ if (items == null || items.length === 0) break;
113
+ results.push(...items);
114
+ nextToken = response["nextToken"];
115
+ if (!nextToken) break;
116
+ }
117
+ return results;
133
118
  }
134
-
119
+ //#endregion
135
120
  exports.executePaginatedRequest = executePaginatedRequest;
121
+ Object.defineProperty(exports, "indexer_lookup_exports", {
122
+ enumerable: true,
123
+ get: function() {
124
+ return indexer_lookup_exports;
125
+ }
126
+ });
136
127
  exports.lookupAccountByAddress = lookupAccountByAddress;
137
128
  exports.lookupAccountCreatedApplicationByAddress = lookupAccountCreatedApplicationByAddress;
138
129
  exports.lookupAssetHoldings = lookupAssetHoldings;
139
130
  exports.lookupTransactionById = lookupTransactionById;
140
131
  exports.searchTransactions = searchTransactions;
141
- //# sourceMappingURL=indexer-lookup.js.map
132
+
133
+ //# sourceMappingURL=indexer-lookup.js.map
@@ -1 +1 @@
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://dev.algorand.co/reference/rest-apis/indexer\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 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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"}
1
+ {"version":3,"file":"indexer-lookup.js","names":[],"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://dev.algorand.co/reference/rest-api/indexer\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 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"],"mappings":";;;;;;;;;;;;AAKA,MAAM,gDAAgD;;;;;;;;AAStD,eAAsB,sBAAsB,eAAuB,SAAkB;CACnF,OAAO,MAAM,QAAQ,sBAAsB,aAAa,CAAC,CAAC,GAAG;AAC/D;;;;;;;;AASA,eAAsB,uBAAuB,gBAAkC,SAAkB;CAC/F,OAAO,MAAM,QAAQ,kBAAkB,cAAc,CAAC,CAAC,GAAG;AAC5D;;;;;;;;;AAUA,eAAsB,yCACpB,SACA,SACA,SAA8B,KAAA,GAC9B,iBAC8C;CAC9C,OAAO,MAAM,yBACV,aAA+E;EAC9E,IAAI,aAAa,UACf,MAAM;GAAE,QAAQ;GAAK,GAAG;EAAS;EAEnC,OAAO,SAAS;CAClB,IACC,cAAc;EACb,IAAI,IAAI,QACL,iCAAiC,OAAO,CAAC,CACzC,WAAW,MAAM,CAAC,CAClB,MAAM,mBAAmB,6CAA6C;EACzE,IAAI,WACF,IAAI,EAAE,UAAU,SAAS;EAE3B,OAAO;CACT,CACF;AACF;;;;;;;;;AAUA,eAAsB,oBACpB,SACA,SACA,SACA,iBACmD;CACnD,OAAO,MAAM,yBACV,aAAgF;EAC/E,IAAI,aAAa,UACf,MAAM;GAAE,QAAQ;GAAK,GAAG;EAAS;EAEnC,OAAO,SAAS;CAClB,IACC,cAAc;EACb,IAAI,IAAI,QAAQ,oBAAoB,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,mBAAmB,6CAA6C;EAC3H,IAAI,SAAS,wBAAwB,KAAA,GACnC,IAAI,EAAE,oBAAoB,QAAQ,mBAAmB;EAEvD,IAAI,SAAS,qBAAqB,KAAA,GAChC,IAAI,EAAE,iBAAiB,QAAQ,gBAAgB;EAEjD,IAAI,SAAS,eAAe,KAAA,GAC1B,IAAI,EAAE,WAAW,QAAQ,UAAU;EAErC,IAAI,WACF,IAAI,EAAE,UAAU,SAAS;EAE3B,OAAO;CACT,CACF;AACF;;;;;;;;AASA,eAAsB,mBACpB,SACA,gBACA,iBACqD;CACrD,IAAI,eAAe;CACnB,MAAM,eAAe,MAAM,yBACxB,aAA+E;EAC9E,IAAI,aAAa,UACf,MAAM;GAAE,QAAQ;GAAK,GAAG;EAAS;EAEnC,IAAI,SAAS,eAAe,cAC1B,eAAe,SAAS;EAE1B,OAAO,SAAS;CAClB,IACC,cAAc;EACb,IAAI,IAAI,eAAe,QAAQ,sBAAsB,CAAC,CAAC,CAAC,MAAM,mBAAmB,6CAA6C;EAC9H,IAAI,WACF,IAAI,EAAE,UAAU,SAAS;EAE3B,OAAO;CACT,CACF;CAEA,OAAO,IAAI,QAAA,QAAQ,cAAc,qBAAqB;EACpD;EACA,WAAW,KAAA;EACG;CAChB,CAAC;AACH;AAIA,eAAsB,wBAEpB,cACA,cACoB;CACpB,MAAM,UAAU,CAAC;CAEjB,IAAI,YAAgC,KAAA;CACpC,OAAO,MAAM;EAEX,MAAM,WAAW,MADD,aAAa,SACA,CAAC,CAAC,GAAG;EAClC,MAAM,QAAQ,aAAa,QAAQ;EACnC,IAAI,SAAS,QAAQ,MAAM,WAAW,GACpC;EAEF,QAAQ,KAAK,GAAG,KAAK;EACrB,YAAY,SAAS;EACrB,IAAI,CAAC,WACH;CAEJ;CAEA,OAAO;AACT"}
@@ -1,134 +1,121 @@
1
- import algosdk from 'algosdk';
2
-
3
- const DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1000; //MaxAPIResourcesPerAccount: This is the default maximum, though may be provider specific
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.mjs";
2
+ import algosdk from "algosdk";
3
+ //#region src/indexer-lookup.ts
4
+ var indexer_lookup_exports = /* @__PURE__ */ __exportAll({
5
+ executePaginatedRequest: () => executePaginatedRequest,
6
+ lookupAccountByAddress: () => lookupAccountByAddress,
7
+ lookupAccountCreatedApplicationByAddress: () => lookupAccountCreatedApplicationByAddress,
8
+ lookupAssetHoldings: () => lookupAssetHoldings,
9
+ lookupTransactionById: () => lookupTransactionById,
10
+ searchTransactions: () => searchTransactions
11
+ });
12
+ const DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT = 1e3;
4
13
  /**
5
- * @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.
6
- * Looks up a transaction by ID using Indexer.
7
- * @param transactionId The ID of the transaction to look up
8
- * @param indexer An indexer client
9
- * @returns The result of the look-up
10
- */
14
+ * @deprecated Use `indexer.lookupTransactionByID(transactionId).do()`.
15
+ * Looks up a transaction by ID using Indexer.
16
+ * @param transactionId The ID of the transaction to look up
17
+ * @param indexer An indexer client
18
+ * @returns The result of the look-up
19
+ */
11
20
  async function lookupTransactionById(transactionId, indexer) {
12
- return await indexer.lookupTransactionByID(transactionId).do();
21
+ return await indexer.lookupTransactionByID(transactionId).do();
13
22
  }
14
23
  /**
15
- * @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.
16
- * Looks up an account by address using Indexer.
17
- * @param accountAddress The address of the account to look up
18
- * @param indexer An indexer client
19
- * @returns The result of the look-up
20
- */
24
+ * @deprecated Use `indexer.lookupAccountByID(accountAddress).do()`.
25
+ * Looks up an account by address using Indexer.
26
+ * @param accountAddress The address of the account to look up
27
+ * @param indexer An indexer client
28
+ * @returns The result of the look-up
29
+ */
21
30
  async function lookupAccountByAddress(accountAddress, indexer) {
22
- return await indexer.lookupAccountByID(accountAddress).do();
31
+ return await indexer.lookupAccountByID(accountAddress).do();
23
32
  }
24
33
  /**
25
- * Looks up applications that were created by the given address; will automatically paginate through all data.
26
- * @param indexer An indexer instance
27
- * @param address The address of the creator to look up
28
- * @param getAll Whether or not to include deleted applications
29
- * @param paginationLimit The number of records to return per paginated request, default 1000
30
- * @returns The list of application results
31
- */
32
- async function lookupAccountCreatedApplicationByAddress(indexer, address, getAll = undefined, paginationLimit) {
33
- return await executePaginatedRequest((response) => {
34
- if ('message' in response) {
35
- throw { status: 404, ...response };
36
- }
37
- return response.applications;
38
- }, (nextToken) => {
39
- let s = indexer
40
- .lookupAccountCreatedApplications(address)
41
- .includeAll(getAll)
42
- .limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
43
- if (nextToken) {
44
- s = s.nextToken(nextToken);
45
- }
46
- return s;
47
- });
34
+ * Looks up applications that were created by the given address; will automatically paginate through all data.
35
+ * @param indexer An indexer instance
36
+ * @param address The address of the creator to look up
37
+ * @param getAll Whether or not to include deleted applications
38
+ * @param paginationLimit The number of records to return per paginated request, default 1000
39
+ * @returns The list of application results
40
+ */
41
+ async function lookupAccountCreatedApplicationByAddress(indexer, address, getAll = void 0, paginationLimit) {
42
+ return await executePaginatedRequest((response) => {
43
+ if ("message" in response) throw {
44
+ status: 404,
45
+ ...response
46
+ };
47
+ return response.applications;
48
+ }, (nextToken) => {
49
+ let s = indexer.lookupAccountCreatedApplications(address).includeAll(getAll).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
50
+ if (nextToken) s = s.nextToken(nextToken);
51
+ return s;
52
+ });
48
53
  }
49
54
  /**
50
- * Looks up asset holdings for the given asset; will automatically paginate through all data.
51
- * @param indexer An indexer instance
52
- * @param assetId The ID of the asset to look up holdings for
53
- * @param options Optional options to control the lookup
54
- * @param paginationLimit The number of records to return per paginated request, default 1000
55
- * @returns The list of application results
56
- */
55
+ * Looks up asset holdings for the given asset; will automatically paginate through all data.
56
+ * @param indexer An indexer instance
57
+ * @param assetId The ID of the asset to look up holdings for
58
+ * @param options Optional options to control the lookup
59
+ * @param paginationLimit The number of records to return per paginated request, default 1000
60
+ * @returns The list of application results
61
+ */
57
62
  async function lookupAssetHoldings(indexer, assetId, options, paginationLimit) {
58
- return await executePaginatedRequest((response) => {
59
- if ('message' in response) {
60
- throw { status: 404, ...response };
61
- }
62
- return response.balances;
63
- }, (nextToken) => {
64
- let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
65
- if (options?.currencyGreaterThan !== undefined) {
66
- s = s.currencyGreaterThan(options.currencyGreaterThan);
67
- }
68
- if (options?.currencyLessThan !== undefined) {
69
- s = s.currencyLessThan(options.currencyLessThan);
70
- }
71
- if (options?.includeAll !== undefined) {
72
- s = s.includeAll(options.includeAll);
73
- }
74
- if (nextToken) {
75
- s = s.nextToken(nextToken);
76
- }
77
- return s;
78
- });
63
+ return await executePaginatedRequest((response) => {
64
+ if ("message" in response) throw {
65
+ status: 404,
66
+ ...response
67
+ };
68
+ return response.balances;
69
+ }, (nextToken) => {
70
+ let s = indexer.lookupAssetBalances(Number(assetId)).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
71
+ if (options?.currencyGreaterThan !== void 0) s = s.currencyGreaterThan(options.currencyGreaterThan);
72
+ if (options?.currencyLessThan !== void 0) s = s.currencyLessThan(options.currencyLessThan);
73
+ if (options?.includeAll !== void 0) s = s.includeAll(options.includeAll);
74
+ if (nextToken) s = s.nextToken(nextToken);
75
+ return s;
76
+ });
79
77
  }
80
78
  /**
81
- * Allows transactions to be searched for the given criteria.
82
- * @param indexer An indexer client
83
- * @param searchCriteria The criteria to search for
84
- * @param paginationLimit The number of records to return per paginated request, default 1000
85
- * @returns The search results
86
- */
79
+ * Allows transactions to be searched for the given criteria.
80
+ * @param indexer An indexer client
81
+ * @param searchCriteria The criteria to search for
82
+ * @param paginationLimit The number of records to return per paginated request, default 1000
83
+ * @returns The search results
84
+ */
87
85
  async function searchTransactions(indexer, searchCriteria, paginationLimit) {
88
- let currentRound = 0n;
89
- const transactions = await executePaginatedRequest((response) => {
90
- if ('message' in response) {
91
- throw { status: 404, ...response };
92
- }
93
- if (response.currentRound > currentRound) {
94
- currentRound = response.currentRound;
95
- }
96
- return response.transactions;
97
- }, (nextToken) => {
98
- let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
99
- if (nextToken) {
100
- s = s.nextToken(nextToken);
101
- }
102
- return s;
103
- });
104
- return new algosdk.indexerModels.TransactionsResponse({
105
- currentRound,
106
- nextToken: undefined,
107
- transactions: transactions,
108
- });
86
+ let currentRound = 0n;
87
+ const transactions = await executePaginatedRequest((response) => {
88
+ if ("message" in response) throw {
89
+ status: 404,
90
+ ...response
91
+ };
92
+ if (response.currentRound > currentRound) currentRound = response.currentRound;
93
+ return response.transactions;
94
+ }, (nextToken) => {
95
+ let s = searchCriteria(indexer.searchForTransactions()).limit(paginationLimit ?? DEFAULT_INDEXER_MAX_API_RESOURCES_PER_ACCOUNT);
96
+ if (nextToken) s = s.nextToken(nextToken);
97
+ return s;
98
+ });
99
+ return new algosdk.indexerModels.TransactionsResponse({
100
+ currentRound,
101
+ nextToken: void 0,
102
+ transactions
103
+ });
109
104
  }
110
- // https://dev.algorand.co/reference/rest-apis/indexer
111
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
112
- async function executePaginatedRequest(
113
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
- extractItems, buildRequest) {
115
- const results = [];
116
- let nextToken = undefined;
117
- while (true) {
118
- const request = buildRequest(nextToken);
119
- const response = await request.do();
120
- const items = extractItems(response);
121
- if (items == null || items.length === 0) {
122
- break;
123
- }
124
- results.push(...items);
125
- nextToken = response['nextToken'];
126
- if (!nextToken) {
127
- break;
128
- }
129
- }
130
- return results;
105
+ async function executePaginatedRequest(extractItems, buildRequest) {
106
+ const results = [];
107
+ let nextToken = void 0;
108
+ while (true) {
109
+ const response = await buildRequest(nextToken).do();
110
+ const items = extractItems(response);
111
+ if (items == null || items.length === 0) break;
112
+ results.push(...items);
113
+ nextToken = response["nextToken"];
114
+ if (!nextToken) break;
115
+ }
116
+ return results;
131
117
  }
118
+ //#endregion
119
+ export { executePaginatedRequest, indexer_lookup_exports, lookupAccountByAddress, lookupAccountCreatedApplicationByAddress, lookupAssetHoldings, lookupTransactionById, searchTransactions };
132
120
 
133
- export { executePaginatedRequest, lookupAccountByAddress, lookupAccountCreatedApplicationByAddress, lookupAssetHoldings, lookupTransactionById, searchTransactions };
134
- //# sourceMappingURL=indexer-lookup.mjs.map
121
+ //# sourceMappingURL=indexer-lookup.mjs.map
@@ -1 +1 @@
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://dev.algorand.co/reference/rest-apis/indexer\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 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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"}
1
+ {"version":3,"file":"indexer-lookup.mjs","names":[],"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://dev.algorand.co/reference/rest-api/indexer\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 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"],"mappings":";;;;;;;;;;;AAKA,MAAM,gDAAgD;;;;;;;;AAStD,eAAsB,sBAAsB,eAAuB,SAAkB;CACnF,OAAO,MAAM,QAAQ,sBAAsB,aAAa,CAAC,CAAC,GAAG;AAC/D;;;;;;;;AASA,eAAsB,uBAAuB,gBAAkC,SAAkB;CAC/F,OAAO,MAAM,QAAQ,kBAAkB,cAAc,CAAC,CAAC,GAAG;AAC5D;;;;;;;;;AAUA,eAAsB,yCACpB,SACA,SACA,SAA8B,KAAA,GAC9B,iBAC8C;CAC9C,OAAO,MAAM,yBACV,aAA+E;EAC9E,IAAI,aAAa,UACf,MAAM;GAAE,QAAQ;GAAK,GAAG;EAAS;EAEnC,OAAO,SAAS;CAClB,IACC,cAAc;EACb,IAAI,IAAI,QACL,iCAAiC,OAAO,CAAC,CACzC,WAAW,MAAM,CAAC,CAClB,MAAM,mBAAmB,6CAA6C;EACzE,IAAI,WACF,IAAI,EAAE,UAAU,SAAS;EAE3B,OAAO;CACT,CACF;AACF;;;;;;;;;AAUA,eAAsB,oBACpB,SACA,SACA,SACA,iBACmD;CACnD,OAAO,MAAM,yBACV,aAAgF;EAC/E,IAAI,aAAa,UACf,MAAM;GAAE,QAAQ;GAAK,GAAG;EAAS;EAEnC,OAAO,SAAS;CAClB,IACC,cAAc;EACb,IAAI,IAAI,QAAQ,oBAAoB,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,mBAAmB,6CAA6C;EAC3H,IAAI,SAAS,wBAAwB,KAAA,GACnC,IAAI,EAAE,oBAAoB,QAAQ,mBAAmB;EAEvD,IAAI,SAAS,qBAAqB,KAAA,GAChC,IAAI,EAAE,iBAAiB,QAAQ,gBAAgB;EAEjD,IAAI,SAAS,eAAe,KAAA,GAC1B,IAAI,EAAE,WAAW,QAAQ,UAAU;EAErC,IAAI,WACF,IAAI,EAAE,UAAU,SAAS;EAE3B,OAAO;CACT,CACF;AACF;;;;;;;;AASA,eAAsB,mBACpB,SACA,gBACA,iBACqD;CACrD,IAAI,eAAe;CACnB,MAAM,eAAe,MAAM,yBACxB,aAA+E;EAC9E,IAAI,aAAa,UACf,MAAM;GAAE,QAAQ;GAAK,GAAG;EAAS;EAEnC,IAAI,SAAS,eAAe,cAC1B,eAAe,SAAS;EAE1B,OAAO,SAAS;CAClB,IACC,cAAc;EACb,IAAI,IAAI,eAAe,QAAQ,sBAAsB,CAAC,CAAC,CAAC,MAAM,mBAAmB,6CAA6C;EAC9H,IAAI,WACF,IAAI,EAAE,UAAU,SAAS;EAE3B,OAAO;CACT,CACF;CAEA,OAAO,IAAI,QAAQ,cAAc,qBAAqB;EACpD;EACA,WAAW,KAAA;EACG;CAChB,CAAC;AACH;AAIA,eAAsB,wBAEpB,cACA,cACoB;CACpB,MAAM,UAAU,CAAC;CAEjB,IAAI,YAAgC,KAAA;CACpC,OAAO,MAAM;EAEX,MAAM,WAAW,MADD,aAAa,SACA,CAAC,CAAC,GAAG;EAClC,MAAM,QAAQ,aAAa,QAAQ;EACnC,IAAI,SAAS,QAAQ,MAAM,WAAW,GACpC;EAEF,QAAQ,KAAK,GAAG,KAAK;EACrB,YAAY,SAAS;EACrB,IAAI,CAAC,WACH;CAEJ;CAEA,OAAO;AACT"}
@@ -1,7 +1,6 @@
1
- import algosdk from 'algosdk';
2
- import Account = algosdk.Account;
3
- import Algodv2 = algosdk.Algodv2;
4
- import Kmd = algosdk.Kmd;
1
+ import algosdk from "algosdk";
2
+
3
+ //#region src/localnet/get-kmd-wallet-account.d.ts
5
4
  /**
6
5
  * @deprecated use `algorand.account.kmd.getWalletAccount(name, predicate)` or `new KMDAccountManager(clientManager).getWalletAccount(name, predicate)` instead.
7
6
  *
@@ -21,7 +20,10 @@ import Kmd = algosdk.Kmd;
21
20
  * )
22
21
  * ```
23
22
  */
24
- export declare function getKmdWalletAccount(walletAccount: {
25
- name: string;
26
- predicate?: (account: Record<string, any>) => boolean;
23
+ declare function getKmdWalletAccount(walletAccount: {
24
+ name: string;
25
+ predicate?: (account: Record<string, any>) => boolean;
27
26
  }, algod: Algodv2, kmdClient?: Kmd): Promise<Account | undefined>;
27
+ //#endregion
28
+ export { getKmdWalletAccount };
29
+ //# sourceMappingURL=get-kmd-wallet-account.d.ts.map