@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
@@ -1,322 +1,324 @@
1
- 'use strict';
2
-
3
- var types_accountManager = require('./account-manager.js');
4
- var types_algorandClientTransactionCreator = require('./algorand-client-transaction-creator.js');
5
- var types_algorandClientTransactionSender = require('./algorand-client-transaction-sender.js');
6
- var types_appDeployer = require('./app-deployer.js');
7
- var types_appManager = require('./app-manager.js');
8
- var types_assetManager = require('./asset-manager.js');
9
- var types_clientManager = require('./client-manager.js');
10
- var types_composer = require('./composer.js');
11
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_app_manager = require("./app-manager.js");
3
+ const require_composer = require("./composer.js");
4
+ const require_algorand_client_transaction_creator = require("./algorand-client-transaction-creator.js");
5
+ const require_algorand_client_transaction_sender = require("./algorand-client-transaction-sender.js");
6
+ const require_asset_manager = require("./asset-manager.js");
7
+ const require_app_deployer = require("./app-deployer.js");
8
+ const require_client_manager = require("./client-manager.js");
9
+ const require_account_manager = require("./account-manager.js");
10
+ //#region src/types/algorand-client.ts
12
11
  /**
13
- * A client that brokers easy access to Algorand functionality.
14
- */
15
- class AlgorandClient {
16
- constructor(config) {
17
- this._cachedSuggestedParamsTimeout = 3000; // three seconds
18
- this._defaultValidityWindow = undefined;
19
- /**
20
- * A set of error transformers to use when an error is caught in simulate or execute
21
- * `registerErrorTransformer` and `unregisterErrorTransformer` can be used to add and remove
22
- * error transformers from the set.
23
- */
24
- this._errorTransformers = new Set();
25
- this._clientManager = new types_clientManager.ClientManager(config, this);
26
- this._accountManager = new types_accountManager.AccountManager(this._clientManager);
27
- this._appManager = new types_appManager.AppManager(this._clientManager.algod);
28
- this._assetManager = new types_assetManager.AssetManager(this._clientManager.algod, () => this.newGroup());
29
- this._transactionSender = new types_algorandClientTransactionSender.AlgorandClientTransactionSender(() => this.newGroup(), this._assetManager, this._appManager);
30
- this._transactionCreator = new types_algorandClientTransactionCreator.AlgorandClientTransactionCreator(() => this.newGroup());
31
- this._appDeployer = new types_appDeployer.AppDeployer(this._appManager, this._transactionSender, this._clientManager.indexerIfPresent);
32
- }
33
- /**
34
- * Sets the default validity window for transactions.
35
- * @param validityWindow The number of rounds between the first and last valid rounds
36
- * @returns The `AlgorandClient` so method calls can be chained
37
- * @example
38
- * ```typescript
39
- * const algorand = AlgorandClient.mainNet().setDefaultValidityWindow(1000);
40
- * ```
41
- */
42
- setDefaultValidityWindow(validityWindow) {
43
- this._defaultValidityWindow = BigInt(validityWindow);
44
- return this;
45
- }
46
- /**
47
- * Sets the default signer to use if no other signer is specified.
48
- * @param signer The signer to use, either a `TransactionSigner` or a `TransactionSignerAccount`
49
- * @returns The `AlgorandClient` so method calls can be chained
50
- * @example
51
- * ```typescript
52
- * const signer = new SigningAccount(account, account.addr)
53
- * const algorand = AlgorandClient.mainNet().setDefaultSigner(signer)
54
- * ```
55
- */
56
- setDefaultSigner(signer) {
57
- this._accountManager.setDefaultSigner(signer);
58
- return this;
59
- }
60
- /**
61
- * Tracks the given account (object that encapsulates an address and a signer) for later signing.
62
- * @param account The account to register, which can be a `TransactionSignerAccount` or
63
- * a `algosdk.Account`, `algosdk.LogicSigAccount`, `SigningAccount` or `MultisigAccount`
64
- * @example
65
- * ```typescript
66
- * const accountManager = AlgorandClient.mainNet()
67
- * .setSignerFromAccount(algosdk.generateAccount())
68
- * .setSignerFromAccount(new algosdk.LogicSigAccount(program, args))
69
- * .setSignerFromAccount(new SigningAccount(account, sender))
70
- * .setSignerFromAccount(new MultisigAccount({version: 1, threshold: 1, addrs: ["ADDRESS1...", "ADDRESS2..."]}, [account1, account2]))
71
- * .setSignerFromAccount({addr: "SENDERADDRESS", signer: transactionSigner})
72
- * ```
73
- * @returns The `AlgorandClient` so method calls can be chained
74
- */
75
- setSignerFromAccount(account) {
76
- this._accountManager.setSignerFromAccount(account);
77
- return this;
78
- }
79
- /**
80
- * Tracks the given signer against the given sender for later signing.
81
- * @param sender The sender address to use this signer for
82
- * @param signer The signer to sign transactions with for the given sender
83
- * @returns The `AlgorandClient` so method calls can be chained
84
- * @example
85
- * ```typescript
86
- * const signer = new SigningAccount(account, account.addr)
87
- * const algorand = AlgorandClient.mainNet().setSigner(signer.addr, signer.signer)
88
- * ```
89
- */
90
- setSigner(sender, signer) {
91
- this._accountManager.setSigner(sender, signer);
92
- return this;
93
- }
94
- /**
95
- * Sets a cache value to use for suggested transaction params.
96
- * @param suggestedParams The suggested params to use
97
- * @param until A date until which to cache, or if not specified then the timeout is used
98
- * @returns The `AlgorandClient` so method calls can be chained
99
- * @example
100
- * ```typescript
101
- * const algorand = AlgorandClient.mainNet().setSuggestedParamsCache(suggestedParams, new Date(+new Date() + 3_600_000))
102
- * ```
103
- */
104
- setSuggestedParamsCache(suggestedParams, until) {
105
- this._cachedSuggestedParams = suggestedParams;
106
- this._cachedSuggestedParamsExpiry = until ?? new Date(+new Date() + this._cachedSuggestedParamsTimeout);
107
- return this;
108
- }
109
- /**
110
- * Sets the timeout for caching suggested params.
111
- * @param timeout The timeout in milliseconds
112
- * @returns The `AlgorandClient` so method calls can be chained
113
- * @example
114
- * ```typescript
115
- * const algorand = AlgorandClient.mainNet().setSuggestedParamsCacheTimeout(10_000)
116
- * ```
117
- */
118
- setSuggestedParamsCacheTimeout(timeout) {
119
- this._cachedSuggestedParamsTimeout = timeout;
120
- return this;
121
- }
122
- /**
123
- * Get suggested params for a transaction (either cached or from algod if the cache is stale or empty)
124
- * @returns The suggested transaction parameters.
125
- * @example
126
- * const params = await AlgorandClient.mainNet().getSuggestedParams();
127
- */
128
- async getSuggestedParams() {
129
- if (this._cachedSuggestedParams && (!this._cachedSuggestedParamsExpiry || this._cachedSuggestedParamsExpiry > new Date())) {
130
- return {
131
- ...this._cachedSuggestedParams,
132
- };
133
- }
134
- this._cachedSuggestedParams = await this._clientManager.algod.getTransactionParams().do();
135
- this._cachedSuggestedParamsExpiry = new Date(new Date().getTime() + this._cachedSuggestedParamsTimeout);
136
- return {
137
- ...this._cachedSuggestedParams,
138
- };
139
- }
140
- /**
141
- * Get clients, including algosdk clients and app clients.
142
- * @returns The `ClientManager` instance.
143
- * @example
144
- * const clientManager = AlgorandClient.mainNet().client;
145
- */
146
- get client() {
147
- return this._clientManager;
148
- }
149
- /**
150
- * Get or create accounts that can sign transactions.
151
- * @returns The `AccountManager` instance.
152
- * @example
153
- * const accountManager = AlgorandClient.mainNet().account;
154
- */
155
- get account() {
156
- return this._accountManager;
157
- }
158
- /**
159
- * Methods for interacting with assets.
160
- * @returns The `AssetManager` instance.
161
- * @example
162
- * const assetManager = AlgorandClient.mainNet().asset;
163
- */
164
- get asset() {
165
- return this._assetManager;
166
- }
167
- /**
168
- * Methods for interacting with apps.
169
- * @returns The `AppManager` instance.
170
- * @example
171
- * const appManager = AlgorandClient.mainNet().app;
172
- */
173
- get app() {
174
- return this._appManager;
175
- }
176
- /**
177
- * Methods for deploying apps and managing app deployment metadata.
178
- * @returns The `AppDeployer` instance.
179
- * @example
180
- * const deployer = AlgorandClient.mainNet().appDeployer;
181
- */
182
- get appDeployer() {
183
- return this._appDeployer;
184
- }
185
- /**
186
- * Register a function that will be used to transform an error caught when simulating or executing
187
- * composed transaction groups made from `newGroup`
188
- */
189
- registerErrorTransformer(transformer) {
190
- this._errorTransformers.add(transformer);
191
- }
192
- unregisterErrorTransformer(transformer) {
193
- this._errorTransformers.delete(transformer);
194
- }
195
- /** Start a new `TransactionComposer` transaction group
196
- * @returns A new instance of `TransactionComposer`.
197
- * @example
198
- * const composer = AlgorandClient.mainNet().newGroup();
199
- * const result = await composer.addTransaction(payment).send()
200
- */
201
- newGroup() {
202
- return new types_composer.TransactionComposer({
203
- algod: this.client.algod,
204
- getSigner: (addr) => this.account.getSigner(addr),
205
- getSuggestedParams: () => this.getSuggestedParams(),
206
- defaultValidityWindow: this._defaultValidityWindow,
207
- appManager: this._appManager,
208
- errorTransformers: [...this._errorTransformers],
209
- });
210
- }
211
- /**
212
- * Methods for sending a transaction.
213
- * @returns The `AlgorandClientTransactionSender` instance.
214
- * @example
215
- * const result = await AlgorandClient.mainNet().send.payment({
216
- * sender: "SENDERADDRESS",
217
- * receiver: "RECEIVERADDRESS",
218
- * amount: algo(1)
219
- * })
220
- */
221
- get send() {
222
- return this._transactionSender;
223
- }
224
- /**
225
- * Methods for creating a transaction.
226
- * @returns The `AlgorandClientTransactionCreator` instance.
227
- * @example
228
- * const payment = await AlgorandClient.mainNet().createTransaction.payment({
229
- * sender: "SENDERADDRESS",
230
- * receiver: "RECEIVERADDRESS",
231
- * amount: algo(1)
232
- * })
233
- */
234
- get createTransaction() {
235
- return this._transactionCreator;
236
- }
237
- // Static methods to create an `AlgorandClient`
238
- /**
239
- * Creates an `AlgorandClient` pointing at default LocalNet ports and API token.
240
- * @returns An instance of the `AlgorandClient`.
241
- * @example
242
- * const algorand = AlgorandClient.defaultLocalNet();
243
- */
244
- static defaultLocalNet() {
245
- return new AlgorandClient({
246
- algodConfig: types_clientManager.ClientManager.getDefaultLocalNetConfig('algod'),
247
- indexerConfig: types_clientManager.ClientManager.getDefaultLocalNetConfig('indexer'),
248
- kmdConfig: types_clientManager.ClientManager.getDefaultLocalNetConfig('kmd'),
249
- });
250
- }
251
- /**
252
- * Creates an `AlgorandClient` pointing at TestNet using AlgoNode.
253
- * @returns An instance of the `AlgorandClient`.
254
- * @example
255
- * const algorand = AlgorandClient.testNet();
256
- */
257
- static testNet() {
258
- return new AlgorandClient({
259
- algodConfig: types_clientManager.ClientManager.getAlgoNodeConfig('testnet', 'algod'),
260
- indexerConfig: types_clientManager.ClientManager.getAlgoNodeConfig('testnet', 'indexer'),
261
- kmdConfig: undefined,
262
- });
263
- }
264
- /**
265
- * Creates an `AlgorandClient` pointing at MainNet using AlgoNode.
266
- * @returns An instance of the `AlgorandClient`.
267
- * @example
268
- * const algorand = AlgorandClient.mainNet();
269
- */
270
- static mainNet() {
271
- return new AlgorandClient({
272
- algodConfig: types_clientManager.ClientManager.getAlgoNodeConfig('mainnet', 'algod'),
273
- indexerConfig: types_clientManager.ClientManager.getAlgoNodeConfig('mainnet', 'indexer'),
274
- kmdConfig: undefined,
275
- });
276
- }
277
- /**
278
- * Creates an `AlgorandClient` pointing to the given client(s).
279
- * @param clients The clients to use.
280
- * @returns An instance of the `AlgorandClient`.
281
- * @example
282
- * const algorand = AlgorandClient.fromClients({ algod, indexer, kmd });
283
- */
284
- static fromClients(clients) {
285
- return new AlgorandClient(clients);
286
- }
287
- /**
288
- * Creates an `AlgorandClient` loading the configuration from environment variables.
289
- *
290
- * Retrieve configurations from environment variables when defined or get default LocalNet configuration if they aren't defined.
291
- *
292
- * Expects to be called from a Node.js environment.
293
- *
294
- * If `process.env.ALGOD_SERVER` is defined it will use that along with optional `process.env.ALGOD_PORT` and `process.env.ALGOD_TOKEN`.
295
- *
296
- * If `process.env.INDEXER_SERVER` is defined it will use that along with optional `process.env.INDEXER_PORT` and `process.env.INDEXER_TOKEN`.
297
- *
298
- * If either aren't defined it will use the default LocalNet config.
299
- *
300
- * It will return a KMD configuration that uses `process.env.KMD_PORT` (or port 4002) if `process.env.ALGOD_SERVER` is defined,
301
- * otherwise it will use the default LocalNet config unless it detects testnet or mainnet.
302
- * @returns An instance of the `AlgorandClient`.
303
- * @example
304
- * const client = AlgorandClient.fromEnvironment();
305
- */
306
- static fromEnvironment() {
307
- return new AlgorandClient(types_clientManager.ClientManager.getConfigFromEnvironmentOrLocalNet());
308
- }
309
- /**
310
- * Creates an `AlgorandClient` from the given config.
311
- * @param config The config to use.
312
- * @returns An instance of the `AlgorandClient`.
313
- * @example
314
- * const client = AlgorandClient.fromConfig({ algodConfig, indexerConfig, kmdConfig });
315
- */
316
- static fromConfig(config) {
317
- return new AlgorandClient(config);
318
- }
319
- }
320
-
12
+ * A client that brokers easy access to Algorand functionality.
13
+ */
14
+ var AlgorandClient = class AlgorandClient {
15
+ _clientManager;
16
+ _accountManager;
17
+ _appManager;
18
+ _appDeployer;
19
+ _assetManager;
20
+ _transactionSender;
21
+ _transactionCreator;
22
+ _cachedSuggestedParams;
23
+ _cachedSuggestedParamsExpiry;
24
+ _cachedSuggestedParamsTimeout = 3e3;
25
+ _defaultValidityWindow = void 0;
26
+ /**
27
+ * A set of error transformers to use when an error is caught in simulate or execute
28
+ * `registerErrorTransformer` and `unregisterErrorTransformer` can be used to add and remove
29
+ * error transformers from the set.
30
+ */
31
+ _errorTransformers = /* @__PURE__ */ new Set();
32
+ constructor(config) {
33
+ this._clientManager = new require_client_manager.ClientManager(config, this);
34
+ this._accountManager = new require_account_manager.AccountManager(this._clientManager);
35
+ this._appManager = new require_app_manager.AppManager(this._clientManager.algod);
36
+ this._assetManager = new require_asset_manager.AssetManager(this._clientManager.algod, () => this.newGroup());
37
+ this._transactionSender = new require_algorand_client_transaction_sender.AlgorandClientTransactionSender(() => this.newGroup(), this._assetManager, this._appManager);
38
+ this._transactionCreator = new require_algorand_client_transaction_creator.AlgorandClientTransactionCreator(() => this.newGroup());
39
+ this._appDeployer = new require_app_deployer.AppDeployer(this._appManager, this._transactionSender, this._clientManager.indexerIfPresent);
40
+ }
41
+ /**
42
+ * Sets the default validity window for transactions.
43
+ * @param validityWindow The number of rounds between the first and last valid rounds
44
+ * @returns The `AlgorandClient` so method calls can be chained
45
+ * @example
46
+ * ```typescript
47
+ * const algorand = AlgorandClient.mainNet().setDefaultValidityWindow(1000);
48
+ * ```
49
+ */
50
+ setDefaultValidityWindow(validityWindow) {
51
+ this._defaultValidityWindow = BigInt(validityWindow);
52
+ return this;
53
+ }
54
+ /**
55
+ * Sets the default signer to use if no other signer is specified.
56
+ * @param signer The signer to use, either a `TransactionSigner` or a `TransactionSignerAccount`
57
+ * @returns The `AlgorandClient` so method calls can be chained
58
+ * @example
59
+ * ```typescript
60
+ * const signer = new SigningAccount(account, account.addr)
61
+ * const algorand = AlgorandClient.mainNet().setDefaultSigner(signer)
62
+ * ```
63
+ */
64
+ setDefaultSigner(signer) {
65
+ this._accountManager.setDefaultSigner(signer);
66
+ return this;
67
+ }
68
+ /**
69
+ * Tracks the given account (object that encapsulates an address and a signer) for later signing.
70
+ * @param account The account to register, which can be a `TransactionSignerAccount` or
71
+ * a `algosdk.Account`, `algosdk.LogicSigAccount`, `SigningAccount` or `MultisigAccount`
72
+ * @example
73
+ * ```typescript
74
+ * const accountManager = AlgorandClient.mainNet()
75
+ * .setSignerFromAccount(algosdk.generateAccount())
76
+ * .setSignerFromAccount(new algosdk.LogicSigAccount(program, args))
77
+ * .setSignerFromAccount(new SigningAccount(account, sender))
78
+ * .setSignerFromAccount(new MultisigAccount({version: 1, threshold: 1, addrs: ["ADDRESS1...", "ADDRESS2..."]}, [account1, account2]))
79
+ * .setSignerFromAccount({addr: "SENDERADDRESS", signer: transactionSigner})
80
+ * ```
81
+ * @returns The `AlgorandClient` so method calls can be chained
82
+ */
83
+ setSignerFromAccount(account) {
84
+ this._accountManager.setSignerFromAccount(account);
85
+ return this;
86
+ }
87
+ /**
88
+ * Tracks the given signer against the given sender for later signing.
89
+ * @param sender The sender address to use this signer for
90
+ * @param signer The signer to sign transactions with for the given sender
91
+ * @returns The `AlgorandClient` so method calls can be chained
92
+ * @example
93
+ * ```typescript
94
+ * const signer = new SigningAccount(account, account.addr)
95
+ * const algorand = AlgorandClient.mainNet().setSigner(signer.addr, signer.signer)
96
+ * ```
97
+ */
98
+ setSigner(sender, signer) {
99
+ this._accountManager.setSigner(sender, signer);
100
+ return this;
101
+ }
102
+ /**
103
+ * Sets a cache value to use for suggested transaction params.
104
+ * @param suggestedParams The suggested params to use
105
+ * @param until A date until which to cache, or if not specified then the timeout is used
106
+ * @returns The `AlgorandClient` so method calls can be chained
107
+ * @example
108
+ * ```typescript
109
+ * const algorand = AlgorandClient.mainNet().setSuggestedParamsCache(suggestedParams, new Date(+new Date() + 3_600_000))
110
+ * ```
111
+ */
112
+ setSuggestedParamsCache(suggestedParams, until) {
113
+ this._cachedSuggestedParams = suggestedParams;
114
+ this._cachedSuggestedParamsExpiry = until ?? new Date(+/* @__PURE__ */ new Date() + this._cachedSuggestedParamsTimeout);
115
+ return this;
116
+ }
117
+ /**
118
+ * Sets the timeout for caching suggested params.
119
+ * @param timeout The timeout in milliseconds
120
+ * @returns The `AlgorandClient` so method calls can be chained
121
+ * @example
122
+ * ```typescript
123
+ * const algorand = AlgorandClient.mainNet().setSuggestedParamsCacheTimeout(10_000)
124
+ * ```
125
+ */
126
+ setSuggestedParamsCacheTimeout(timeout) {
127
+ this._cachedSuggestedParamsTimeout = timeout;
128
+ return this;
129
+ }
130
+ /**
131
+ * Get suggested params for a transaction (either cached or from algod if the cache is stale or empty)
132
+ * @returns The suggested transaction parameters.
133
+ * @example
134
+ * const params = await AlgorandClient.mainNet().getSuggestedParams();
135
+ */
136
+ async getSuggestedParams() {
137
+ if (this._cachedSuggestedParams && (!this._cachedSuggestedParamsExpiry || this._cachedSuggestedParamsExpiry > /* @__PURE__ */ new Date())) return { ...this._cachedSuggestedParams };
138
+ this._cachedSuggestedParams = await this._clientManager.algod.getTransactionParams().do();
139
+ this._cachedSuggestedParamsExpiry = new Date((/* @__PURE__ */ new Date()).getTime() + this._cachedSuggestedParamsTimeout);
140
+ return { ...this._cachedSuggestedParams };
141
+ }
142
+ /**
143
+ * Get clients, including algosdk clients and app clients.
144
+ * @returns The `ClientManager` instance.
145
+ * @example
146
+ * const clientManager = AlgorandClient.mainNet().client;
147
+ */
148
+ get client() {
149
+ return this._clientManager;
150
+ }
151
+ /**
152
+ * Get or create accounts that can sign transactions.
153
+ * @returns The `AccountManager` instance.
154
+ * @example
155
+ * const accountManager = AlgorandClient.mainNet().account;
156
+ */
157
+ get account() {
158
+ return this._accountManager;
159
+ }
160
+ /**
161
+ * Methods for interacting with assets.
162
+ * @returns The `AssetManager` instance.
163
+ * @example
164
+ * const assetManager = AlgorandClient.mainNet().asset;
165
+ */
166
+ get asset() {
167
+ return this._assetManager;
168
+ }
169
+ /**
170
+ * Methods for interacting with apps.
171
+ * @returns The `AppManager` instance.
172
+ * @example
173
+ * const appManager = AlgorandClient.mainNet().app;
174
+ */
175
+ get app() {
176
+ return this._appManager;
177
+ }
178
+ /**
179
+ * Methods for deploying apps and managing app deployment metadata.
180
+ * @returns The `AppDeployer` instance.
181
+ * @example
182
+ * const deployer = AlgorandClient.mainNet().appDeployer;
183
+ */
184
+ get appDeployer() {
185
+ return this._appDeployer;
186
+ }
187
+ /**
188
+ * Register a function that will be used to transform an error caught when simulating or executing
189
+ * composed transaction groups made from `newGroup`
190
+ */
191
+ registerErrorTransformer(transformer) {
192
+ this._errorTransformers.add(transformer);
193
+ }
194
+ unregisterErrorTransformer(transformer) {
195
+ this._errorTransformers.delete(transformer);
196
+ }
197
+ /** Start a new `TransactionComposer` transaction group
198
+ * @returns A new instance of `TransactionComposer`.
199
+ * @example
200
+ * const composer = AlgorandClient.mainNet().newGroup();
201
+ * const result = await composer.addTransaction(payment).send()
202
+ */
203
+ newGroup() {
204
+ return new require_composer.TransactionComposer({
205
+ algod: this.client.algod,
206
+ getSigner: (addr) => this.account.getSigner(addr),
207
+ getSuggestedParams: () => this.getSuggestedParams(),
208
+ defaultValidityWindow: this._defaultValidityWindow,
209
+ appManager: this._appManager,
210
+ errorTransformers: [...this._errorTransformers]
211
+ });
212
+ }
213
+ /**
214
+ * Methods for sending a transaction.
215
+ * @returns The `AlgorandClientTransactionSender` instance.
216
+ * @example
217
+ * const result = await AlgorandClient.mainNet().send.payment({
218
+ * sender: "SENDERADDRESS",
219
+ * receiver: "RECEIVERADDRESS",
220
+ * amount: algo(1)
221
+ * })
222
+ */
223
+ get send() {
224
+ return this._transactionSender;
225
+ }
226
+ /**
227
+ * Methods for creating a transaction.
228
+ * @returns The `AlgorandClientTransactionCreator` instance.
229
+ * @example
230
+ * const payment = await AlgorandClient.mainNet().createTransaction.payment({
231
+ * sender: "SENDERADDRESS",
232
+ * receiver: "RECEIVERADDRESS",
233
+ * amount: algo(1)
234
+ * })
235
+ */
236
+ get createTransaction() {
237
+ return this._transactionCreator;
238
+ }
239
+ /**
240
+ * Creates an `AlgorandClient` pointing at default LocalNet ports and API token.
241
+ * @returns An instance of the `AlgorandClient`.
242
+ * @example
243
+ * const algorand = AlgorandClient.defaultLocalNet();
244
+ */
245
+ static defaultLocalNet() {
246
+ return new AlgorandClient({
247
+ algodConfig: require_client_manager.ClientManager.getDefaultLocalNetConfig("algod"),
248
+ indexerConfig: require_client_manager.ClientManager.getDefaultLocalNetConfig("indexer"),
249
+ kmdConfig: require_client_manager.ClientManager.getDefaultLocalNetConfig("kmd")
250
+ });
251
+ }
252
+ /**
253
+ * Creates an `AlgorandClient` pointing at TestNet using AlgoNode.
254
+ * @returns An instance of the `AlgorandClient`.
255
+ * @example
256
+ * const algorand = AlgorandClient.testNet();
257
+ */
258
+ static testNet() {
259
+ return new AlgorandClient({
260
+ algodConfig: require_client_manager.ClientManager.getAlgoNodeConfig("testnet", "algod"),
261
+ indexerConfig: require_client_manager.ClientManager.getAlgoNodeConfig("testnet", "indexer"),
262
+ kmdConfig: void 0
263
+ });
264
+ }
265
+ /**
266
+ * Creates an `AlgorandClient` pointing at MainNet using AlgoNode.
267
+ * @returns An instance of the `AlgorandClient`.
268
+ * @example
269
+ * const algorand = AlgorandClient.mainNet();
270
+ */
271
+ static mainNet() {
272
+ return new AlgorandClient({
273
+ algodConfig: require_client_manager.ClientManager.getAlgoNodeConfig("mainnet", "algod"),
274
+ indexerConfig: require_client_manager.ClientManager.getAlgoNodeConfig("mainnet", "indexer"),
275
+ kmdConfig: void 0
276
+ });
277
+ }
278
+ /**
279
+ * Creates an `AlgorandClient` pointing to the given client(s).
280
+ * @param clients The clients to use.
281
+ * @returns An instance of the `AlgorandClient`.
282
+ * @example
283
+ * const algorand = AlgorandClient.fromClients({ algod, indexer, kmd });
284
+ */
285
+ static fromClients(clients) {
286
+ return new AlgorandClient(clients);
287
+ }
288
+ /**
289
+ * Creates an `AlgorandClient` loading the configuration from environment variables.
290
+ *
291
+ * Retrieve configurations from environment variables when defined or get default LocalNet configuration if they aren't defined.
292
+ *
293
+ * Expects to be called from a Node.js environment.
294
+ *
295
+ * If `process.env.ALGOD_SERVER` is defined it will use that along with optional `process.env.ALGOD_PORT` and `process.env.ALGOD_TOKEN`.
296
+ *
297
+ * If `process.env.INDEXER_SERVER` is defined it will use that along with optional `process.env.INDEXER_PORT` and `process.env.INDEXER_TOKEN`.
298
+ *
299
+ * If either aren't defined it will use the default LocalNet config.
300
+ *
301
+ * It will return a KMD configuration that uses `process.env.KMD_PORT` (or port 4002) if `process.env.ALGOD_SERVER` is defined,
302
+ * otherwise it will use the default LocalNet config unless it detects testnet or mainnet.
303
+ * @returns An instance of the `AlgorandClient`.
304
+ * @example
305
+ * const client = AlgorandClient.fromEnvironment();
306
+ */
307
+ static fromEnvironment() {
308
+ return new AlgorandClient(require_client_manager.ClientManager.getConfigFromEnvironmentOrLocalNet());
309
+ }
310
+ /**
311
+ * Creates an `AlgorandClient` from the given config.
312
+ * @param config The config to use.
313
+ * @returns An instance of the `AlgorandClient`.
314
+ * @example
315
+ * const client = AlgorandClient.fromConfig({ algodConfig, indexerConfig, kmdConfig });
316
+ */
317
+ static fromConfig(config) {
318
+ return new AlgorandClient(config);
319
+ }
320
+ };
321
+ //#endregion
321
322
  exports.AlgorandClient = AlgorandClient;
322
- //# sourceMappingURL=algorand-client.js.map
323
+
324
+ //# sourceMappingURL=algorand-client.js.map