@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,112 +1,106 @@
1
- 'use strict';
2
-
3
- var legacyBridge = require('../transaction/legacy-bridge.js');
4
- var transaction = require('../transaction/transaction.js');
5
- var types_algorandClient = require('../types/algorand-client.js');
6
- var types_dispenserClient = require('../types/dispenser-client.js');
7
-
1
+ const require_transaction = require("../transaction/transaction.js");
2
+ const require_legacy_bridge = require("../transaction/legacy-bridge.js");
3
+ const require_dispenser_client = require("../types/dispenser-client.js");
4
+ const require_algorand_client = require("../types/algorand-client.js");
5
+ //#region src/transfer/transfer.ts
8
6
  /**
9
- * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`
10
- * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead
11
- *
12
- * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).
13
- *
14
- * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr
15
- *
16
- * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.
17
- * @param algod An instance of the Algodv2 client.
18
- * @param kmd An optional instance of the Kmd client.
19
- * @returns
20
- * - `EnsureFundedReturnType` if funds were transferred.
21
- * - `undefined` if no funds were needed.
22
- */
7
+ * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`
8
+ * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead
9
+ *
10
+ * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).
11
+ *
12
+ * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr
13
+ *
14
+ * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.
15
+ * @param algod An instance of the Algodv2 client.
16
+ * @param kmd An optional instance of the Kmd client.
17
+ * @returns
18
+ * - `EnsureFundedReturnType` if funds were transferred.
19
+ * - `undefined` if no funds were needed.
20
+ */
23
21
  async function ensureFunded(funding, algod, kmd) {
24
- const algorand = types_algorandClient.AlgorandClient.fromClients({ algod, kmd });
25
- if (funding.fundingSource instanceof types_dispenserClient.TestNetDispenserApiClient) {
26
- const result = await algorand.account.ensureFundedFromTestNetDispenserApi(transaction.getSenderAddress(funding.accountToFund), funding.fundingSource, funding.minSpendingBalance, {
27
- minFundingIncrement: funding.minFundingIncrement,
28
- });
29
- if (!result)
30
- return undefined;
31
- return {
32
- amount: Number(result.amountFunded.microAlgo),
33
- transactionId: result.transactionId,
34
- };
35
- }
36
- else {
37
- const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment());
38
- if (funding.fundingSource) {
39
- algorand.setSignerFromAccount(funding.fundingSource);
40
- }
41
- const result = await algorand.account.ensureFunded(transaction.getSenderAddress(funding.accountToFund), transaction.getSenderAddress(sender), funding.minSpendingBalance, {
42
- minFundingIncrement: funding.minFundingIncrement,
43
- note: transaction.encodeTransactionNote(funding.note),
44
- staticFee: funding.fee,
45
- lease: funding.lease,
46
- maxFee: funding.maxFee,
47
- maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,
48
- suppressLog: funding.suppressLog,
49
- });
50
- return result
51
- ? {
52
- amount: Number(result.amountFunded.microAlgo),
53
- transactionId: result.txIds[0],
54
- }
55
- : undefined;
56
- }
22
+ const algorand = require_algorand_client.AlgorandClient.fromClients({
23
+ algod,
24
+ kmd
25
+ });
26
+ if (funding.fundingSource instanceof require_dispenser_client.TestNetDispenserApiClient) {
27
+ const result = await algorand.account.ensureFundedFromTestNetDispenserApi(require_transaction.getSenderAddress(funding.accountToFund), funding.fundingSource, funding.minSpendingBalance, { minFundingIncrement: funding.minFundingIncrement });
28
+ if (!result) return void 0;
29
+ return {
30
+ amount: Number(result.amountFunded.microAlgo),
31
+ transactionId: result.transactionId
32
+ };
33
+ } else {
34
+ const sender = funding.fundingSource ?? await algorand.account.dispenserFromEnvironment();
35
+ if (funding.fundingSource) algorand.setSignerFromAccount(funding.fundingSource);
36
+ const result = await algorand.account.ensureFunded(require_transaction.getSenderAddress(funding.accountToFund), require_transaction.getSenderAddress(sender), funding.minSpendingBalance, {
37
+ minFundingIncrement: funding.minFundingIncrement,
38
+ note: require_transaction.encodeTransactionNote(funding.note),
39
+ staticFee: funding.fee,
40
+ lease: funding.lease,
41
+ maxFee: funding.maxFee,
42
+ maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,
43
+ suppressLog: funding.suppressLog
44
+ });
45
+ return result ? {
46
+ amount: Number(result.amountFunded.microAlgo),
47
+ transactionId: result.txIds[0]
48
+ } : void 0;
49
+ }
57
50
  }
58
51
  /**
59
- * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead
60
- *
61
- * Transfer asset between two accounts.
62
- * @param transfer The transfer definition
63
- * @param algod An algod client
64
- * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
65
- *
66
- * @example Usage example
67
- * ```typescript
68
- * await algokit.transferAsset({ from, to, assetId, amount }, algod)
69
- * ```
70
- */
52
+ * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead
53
+ *
54
+ * Transfer asset between two accounts.
55
+ * @param transfer The transfer definition
56
+ * @param algod An algod client
57
+ * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
58
+ *
59
+ * @example Usage example
60
+ * ```typescript
61
+ * await algokit.transferAsset({ from, to, assetId, amount }, algod)
62
+ * ```
63
+ */
71
64
  async function transferAsset(transfer, algod) {
72
- return legacyBridge.legacySendTransactionBridge(algod, transfer.from, transfer, {
73
- assetId: BigInt(transfer.assetId),
74
- sender: transaction.getSenderAddress(transfer.from),
75
- receiver: transaction.getSenderAddress(transfer.to),
76
- clawbackTarget: transfer.clawbackFrom ? transaction.getSenderAddress(transfer.clawbackFrom) : undefined,
77
- amount: BigInt(transfer.amount),
78
- note: transaction.encodeTransactionNote(transfer.note),
79
- lease: transfer.lease,
80
- }, (c) => c.assetTransfer, (c) => c.assetTransfer);
65
+ return require_legacy_bridge.legacySendTransactionBridge(algod, transfer.from, transfer, {
66
+ assetId: BigInt(transfer.assetId),
67
+ sender: require_transaction.getSenderAddress(transfer.from),
68
+ receiver: require_transaction.getSenderAddress(transfer.to),
69
+ clawbackTarget: transfer.clawbackFrom ? require_transaction.getSenderAddress(transfer.clawbackFrom) : void 0,
70
+ amount: BigInt(transfer.amount),
71
+ note: require_transaction.encodeTransactionNote(transfer.note),
72
+ lease: transfer.lease
73
+ }, (c) => c.assetTransfer, (c) => c.assetTransfer);
81
74
  }
82
75
  /**
83
- * @deprecated Use `algorand.account.rekeyAccount()` instead
84
- *
85
- * Rekey an account to a new address.
86
- *
87
- * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).
88
- *
89
- * @param rekey The rekey definition
90
- * @param algod An algod client
91
- * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
92
- *
93
- * @example Usage example
94
- * ```typescript
95
- * await algokit.rekeyAccount({ from, rekeyTo }, algod)
96
- * ```
97
- */
76
+ * @deprecated Use `algorand.account.rekeyAccount()` instead
77
+ *
78
+ * Rekey an account to a new address.
79
+ *
80
+ * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).
81
+ *
82
+ * @param rekey The rekey definition
83
+ * @param algod An algod client
84
+ * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
85
+ *
86
+ * @example Usage example
87
+ * ```typescript
88
+ * await algokit.rekeyAccount({ from, rekeyTo }, algod)
89
+ * ```
90
+ */
98
91
  async function rekeyAccount(rekey, algod) {
99
- return legacyBridge.legacySendTransactionBridge(algod, rekey.from, rekey, {
100
- sender: transaction.getSenderAddress(rekey.from),
101
- receiver: transaction.getSenderAddress(rekey.from),
102
- amount: (0).microAlgo(),
103
- rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : transaction.getSenderAddress(rekey.rekeyTo),
104
- note: transaction.encodeTransactionNote(rekey.note),
105
- lease: rekey.lease,
106
- }, (c) => c.payment, (c) => c.payment);
92
+ return require_legacy_bridge.legacySendTransactionBridge(algod, rekey.from, rekey, {
93
+ sender: require_transaction.getSenderAddress(rekey.from),
94
+ receiver: require_transaction.getSenderAddress(rekey.from),
95
+ amount: 0 .microAlgo(),
96
+ rekeyTo: typeof rekey.rekeyTo === "string" ? rekey.rekeyTo : require_transaction.getSenderAddress(rekey.rekeyTo),
97
+ note: require_transaction.encodeTransactionNote(rekey.note),
98
+ lease: rekey.lease
99
+ }, (c) => c.payment, (c) => c.payment);
107
100
  }
108
-
101
+ //#endregion
109
102
  exports.ensureFunded = ensureFunded;
110
103
  exports.rekeyAccount = rekeyAccount;
111
104
  exports.transferAsset = transferAsset;
112
- //# sourceMappingURL=transfer.js.map
105
+
106
+ //# sourceMappingURL=transfer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sources":["../../src/transfer/transfer.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { legacySendTransactionBridge } from '../transaction/legacy-bridge'\nimport { encodeTransactionNote, getSenderAddress } from '../transaction/transaction'\nimport { AlgorandClient } from '../types/algorand-client'\nimport { TestNetDispenserApiClient } from '../types/dispenser-client'\nimport { SendTransactionResult } from '../types/transaction'\nimport { AlgoRekeyParams, EnsureFundedParams, EnsureFundedReturnType, TransferAssetParams } from '../types/transfer'\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`\n * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead\n *\n * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).\n *\n * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr\n *\n * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.\n * @param algod An instance of the Algodv2 client.\n * @param kmd An optional instance of the Kmd client.\n * @returns\n * - `EnsureFundedReturnType` if funds were transferred.\n * - `undefined` if no funds were needed.\n */\nexport async function ensureFunded<T extends EnsureFundedParams>(\n funding: T,\n algod: Algodv2,\n kmd?: Kmd,\n): Promise<EnsureFundedReturnType | undefined> {\n const algorand = AlgorandClient.fromClients({ algod, kmd })\n\n if (funding.fundingSource instanceof TestNetDispenserApiClient) {\n const result = await algorand.account.ensureFundedFromTestNetDispenserApi(\n getSenderAddress(funding.accountToFund),\n funding.fundingSource,\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n },\n )\n if (!result) return undefined\n return {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.transactionId,\n }\n } else {\n const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment())\n if (funding.fundingSource) {\n algorand.setSignerFromAccount(funding.fundingSource)\n }\n\n const result = await algorand.account.ensureFunded(\n getSenderAddress(funding.accountToFund),\n getSenderAddress(sender),\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n note: encodeTransactionNote(funding.note),\n staticFee: funding.fee,\n lease: funding.lease,\n maxFee: funding.maxFee,\n maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,\n suppressLog: funding.suppressLog,\n },\n )\n\n return result\n ? {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.txIds[0],\n }\n : undefined\n }\n}\n\n/**\n * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead\n *\n * Transfer asset between two accounts.\n * @param transfer The transfer definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.transferAsset({ from, to, assetId, amount }, algod)\n * ```\n */\nexport async function transferAsset(transfer: TransferAssetParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n transfer.from,\n transfer,\n {\n assetId: BigInt(transfer.assetId),\n sender: getSenderAddress(transfer.from),\n receiver: getSenderAddress(transfer.to),\n clawbackTarget: transfer.clawbackFrom ? getSenderAddress(transfer.clawbackFrom) : undefined,\n amount: BigInt(transfer.amount),\n note: encodeTransactionNote(transfer.note),\n lease: transfer.lease,\n },\n (c) => c.assetTransfer,\n (c) => c.assetTransfer,\n )\n}\n\n/**\n * @deprecated Use `algorand.account.rekeyAccount()` instead\n *\n * Rekey an account to a new address.\n *\n * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).\n *\n * @param rekey The rekey definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.rekeyAccount({ from, rekeyTo }, algod)\n * ```\n */\nexport async function rekeyAccount(rekey: AlgoRekeyParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n rekey.from,\n rekey,\n {\n sender: getSenderAddress(rekey.from),\n receiver: getSenderAddress(rekey.from),\n amount: (0).microAlgo(),\n rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : getSenderAddress(rekey.rekeyTo),\n note: encodeTransactionNote(rekey.note),\n lease: rekey.lease,\n },\n (c) => c.payment,\n (c) => c.payment,\n )\n}\n"],"names":["AlgorandClient","TestNetDispenserApiClient","getSenderAddress","encodeTransactionNote","legacySendTransactionBridge"],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","names":["AlgorandClient","TestNetDispenserApiClient","getSenderAddress","encodeTransactionNote","legacySendTransactionBridge"],"sources":["../../src/transfer/transfer.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { legacySendTransactionBridge } from '../transaction/legacy-bridge'\nimport { encodeTransactionNote, getSenderAddress } from '../transaction/transaction'\nimport { AlgorandClient } from '../types/algorand-client'\nimport { TestNetDispenserApiClient } from '../types/dispenser-client'\nimport { SendTransactionResult } from '../types/transaction'\nimport { AlgoRekeyParams, EnsureFundedParams, EnsureFundedReturnType, TransferAssetParams } from '../types/transfer'\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`\n * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead\n *\n * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).\n *\n * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr\n *\n * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.\n * @param algod An instance of the Algodv2 client.\n * @param kmd An optional instance of the Kmd client.\n * @returns\n * - `EnsureFundedReturnType` if funds were transferred.\n * - `undefined` if no funds were needed.\n */\nexport async function ensureFunded<T extends EnsureFundedParams>(\n funding: T,\n algod: Algodv2,\n kmd?: Kmd,\n): Promise<EnsureFundedReturnType | undefined> {\n const algorand = AlgorandClient.fromClients({ algod, kmd })\n\n if (funding.fundingSource instanceof TestNetDispenserApiClient) {\n const result = await algorand.account.ensureFundedFromTestNetDispenserApi(\n getSenderAddress(funding.accountToFund),\n funding.fundingSource,\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n },\n )\n if (!result) return undefined\n return {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.transactionId,\n }\n } else {\n const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment())\n if (funding.fundingSource) {\n algorand.setSignerFromAccount(funding.fundingSource)\n }\n\n const result = await algorand.account.ensureFunded(\n getSenderAddress(funding.accountToFund),\n getSenderAddress(sender),\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n note: encodeTransactionNote(funding.note),\n staticFee: funding.fee,\n lease: funding.lease,\n maxFee: funding.maxFee,\n maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,\n suppressLog: funding.suppressLog,\n },\n )\n\n return result\n ? {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.txIds[0],\n }\n : undefined\n }\n}\n\n/**\n * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead\n *\n * Transfer asset between two accounts.\n * @param transfer The transfer definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.transferAsset({ from, to, assetId, amount }, algod)\n * ```\n */\nexport async function transferAsset(transfer: TransferAssetParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n transfer.from,\n transfer,\n {\n assetId: BigInt(transfer.assetId),\n sender: getSenderAddress(transfer.from),\n receiver: getSenderAddress(transfer.to),\n clawbackTarget: transfer.clawbackFrom ? getSenderAddress(transfer.clawbackFrom) : undefined,\n amount: BigInt(transfer.amount),\n note: encodeTransactionNote(transfer.note),\n lease: transfer.lease,\n },\n (c) => c.assetTransfer,\n (c) => c.assetTransfer,\n )\n}\n\n/**\n * @deprecated Use `algorand.account.rekeyAccount()` instead\n *\n * Rekey an account to a new address.\n *\n * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).\n *\n * @param rekey The rekey definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.rekeyAccount({ from, rekeyTo }, algod)\n * ```\n */\nexport async function rekeyAccount(rekey: AlgoRekeyParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n rekey.from,\n rekey,\n {\n sender: getSenderAddress(rekey.from),\n receiver: getSenderAddress(rekey.from),\n amount: (0).microAlgo(),\n rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : getSenderAddress(rekey.rekeyTo),\n note: encodeTransactionNote(rekey.note),\n lease: rekey.lease,\n },\n (c) => c.payment,\n (c) => c.payment,\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAyBA,eAAsB,aACpB,SACA,OACA,KAC6C;CAC7C,MAAM,WAAWA,wBAAAA,eAAe,YAAY;EAAE;EAAO;CAAI,CAAC;CAE1D,IAAI,QAAQ,yBAAyBC,yBAAAA,2BAA2B;EAC9D,MAAM,SAAS,MAAM,SAAS,QAAQ,oCACpCC,oBAAAA,iBAAiB,QAAQ,aAAa,GACtC,QAAQ,eACR,QAAQ,oBACR,EACE,qBAAqB,QAAQ,oBAC/B,CACF;EACA,IAAI,CAAC,QAAQ,OAAO,KAAA;EACpB,OAAO;GACL,QAAQ,OAAO,OAAO,aAAa,SAAS;GAC5C,eAAe,OAAO;EACxB;CACF,OAAO;EACL,MAAM,SAAS,QAAQ,iBAAkB,MAAM,SAAS,QAAQ,yBAAyB;EACzF,IAAI,QAAQ,eACV,SAAS,qBAAqB,QAAQ,aAAa;EAGrD,MAAM,SAAS,MAAM,SAAS,QAAQ,aACpCA,oBAAAA,iBAAiB,QAAQ,aAAa,GACtCA,oBAAAA,iBAAiB,MAAM,GACvB,QAAQ,oBACR;GACE,qBAAqB,QAAQ;GAC7B,MAAMC,oBAAAA,sBAAsB,QAAQ,IAAI;GACxC,WAAW,QAAQ;GACnB,OAAO,QAAQ;GACf,QAAQ,QAAQ;GAChB,gCAAgC,QAAQ;GACxC,aAAa,QAAQ;EACvB,CACF;EAEA,OAAO,SACH;GACE,QAAQ,OAAO,OAAO,aAAa,SAAS;GAC5C,eAAe,OAAO,MAAM;EAC9B,IACA,KAAA;CACN;AACF;;;;;;;;;;;;;;AAeA,eAAsB,cAAc,UAA+B,OAAgD;CACjH,OAAOC,sBAAAA,4BACL,OACA,SAAS,MACT,UACA;EACE,SAAS,OAAO,SAAS,OAAO;EAChC,QAAQF,oBAAAA,iBAAiB,SAAS,IAAI;EACtC,UAAUA,oBAAAA,iBAAiB,SAAS,EAAE;EACtC,gBAAgB,SAAS,eAAeA,oBAAAA,iBAAiB,SAAS,YAAY,IAAI,KAAA;EAClF,QAAQ,OAAO,SAAS,MAAM;EAC9B,MAAMC,oBAAAA,sBAAsB,SAAS,IAAI;EACzC,OAAO,SAAS;CAClB,IACC,MAAM,EAAE,gBACR,MAAM,EAAE,aACX;AACF;;;;;;;;;;;;;;;;;AAkBA,eAAsB,aAAa,OAAwB,OAAgD;CACzG,OAAOC,sBAAAA,4BACL,OACA,MAAM,MACN,OACA;EACE,QAAQF,oBAAAA,iBAAiB,MAAM,IAAI;EACnC,UAAUA,oBAAAA,iBAAiB,MAAM,IAAI;EACrC,QAAS,GAAG,UAAU;EACtB,SAAS,OAAO,MAAM,YAAY,WAAW,MAAM,UAAUA,oBAAAA,iBAAiB,MAAM,OAAO;EAC3F,MAAMC,oBAAAA,sBAAsB,MAAM,IAAI;EACtC,OAAO,MAAM;CACf,IACC,MAAM,EAAE,UACR,MAAM,EAAE,OACX;AACF"}
@@ -1,108 +1,104 @@
1
- import { legacySendTransactionBridge } from '../transaction/legacy-bridge.mjs';
2
- import { getSenderAddress, encodeTransactionNote } from '../transaction/transaction.mjs';
3
- import { AlgorandClient } from '../types/algorand-client.mjs';
4
- import { TestNetDispenserApiClient } from '../types/dispenser-client.mjs';
5
-
1
+ import { encodeTransactionNote, getSenderAddress } from "../transaction/transaction.mjs";
2
+ import { legacySendTransactionBridge } from "../transaction/legacy-bridge.mjs";
3
+ import { TestNetDispenserApiClient } from "../types/dispenser-client.mjs";
4
+ import { AlgorandClient } from "../types/algorand-client.mjs";
5
+ //#region src/transfer/transfer.ts
6
6
  /**
7
- * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`
8
- * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead
9
- *
10
- * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).
11
- *
12
- * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr
13
- *
14
- * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.
15
- * @param algod An instance of the Algodv2 client.
16
- * @param kmd An optional instance of the Kmd client.
17
- * @returns
18
- * - `EnsureFundedReturnType` if funds were transferred.
19
- * - `undefined` if no funds were needed.
20
- */
7
+ * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`
8
+ * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead
9
+ *
10
+ * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).
11
+ *
12
+ * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr
13
+ *
14
+ * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.
15
+ * @param algod An instance of the Algodv2 client.
16
+ * @param kmd An optional instance of the Kmd client.
17
+ * @returns
18
+ * - `EnsureFundedReturnType` if funds were transferred.
19
+ * - `undefined` if no funds were needed.
20
+ */
21
21
  async function ensureFunded(funding, algod, kmd) {
22
- const algorand = AlgorandClient.fromClients({ algod, kmd });
23
- if (funding.fundingSource instanceof TestNetDispenserApiClient) {
24
- const result = await algorand.account.ensureFundedFromTestNetDispenserApi(getSenderAddress(funding.accountToFund), funding.fundingSource, funding.minSpendingBalance, {
25
- minFundingIncrement: funding.minFundingIncrement,
26
- });
27
- if (!result)
28
- return undefined;
29
- return {
30
- amount: Number(result.amountFunded.microAlgo),
31
- transactionId: result.transactionId,
32
- };
33
- }
34
- else {
35
- const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment());
36
- if (funding.fundingSource) {
37
- algorand.setSignerFromAccount(funding.fundingSource);
38
- }
39
- const result = await algorand.account.ensureFunded(getSenderAddress(funding.accountToFund), getSenderAddress(sender), funding.minSpendingBalance, {
40
- minFundingIncrement: funding.minFundingIncrement,
41
- note: encodeTransactionNote(funding.note),
42
- staticFee: funding.fee,
43
- lease: funding.lease,
44
- maxFee: funding.maxFee,
45
- maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,
46
- suppressLog: funding.suppressLog,
47
- });
48
- return result
49
- ? {
50
- amount: Number(result.amountFunded.microAlgo),
51
- transactionId: result.txIds[0],
52
- }
53
- : undefined;
54
- }
22
+ const algorand = AlgorandClient.fromClients({
23
+ algod,
24
+ kmd
25
+ });
26
+ if (funding.fundingSource instanceof TestNetDispenserApiClient) {
27
+ const result = await algorand.account.ensureFundedFromTestNetDispenserApi(getSenderAddress(funding.accountToFund), funding.fundingSource, funding.minSpendingBalance, { minFundingIncrement: funding.minFundingIncrement });
28
+ if (!result) return void 0;
29
+ return {
30
+ amount: Number(result.amountFunded.microAlgo),
31
+ transactionId: result.transactionId
32
+ };
33
+ } else {
34
+ const sender = funding.fundingSource ?? await algorand.account.dispenserFromEnvironment();
35
+ if (funding.fundingSource) algorand.setSignerFromAccount(funding.fundingSource);
36
+ const result = await algorand.account.ensureFunded(getSenderAddress(funding.accountToFund), getSenderAddress(sender), funding.minSpendingBalance, {
37
+ minFundingIncrement: funding.minFundingIncrement,
38
+ note: encodeTransactionNote(funding.note),
39
+ staticFee: funding.fee,
40
+ lease: funding.lease,
41
+ maxFee: funding.maxFee,
42
+ maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,
43
+ suppressLog: funding.suppressLog
44
+ });
45
+ return result ? {
46
+ amount: Number(result.amountFunded.microAlgo),
47
+ transactionId: result.txIds[0]
48
+ } : void 0;
49
+ }
55
50
  }
56
51
  /**
57
- * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead
58
- *
59
- * Transfer asset between two accounts.
60
- * @param transfer The transfer definition
61
- * @param algod An algod client
62
- * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
63
- *
64
- * @example Usage example
65
- * ```typescript
66
- * await algokit.transferAsset({ from, to, assetId, amount }, algod)
67
- * ```
68
- */
52
+ * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead
53
+ *
54
+ * Transfer asset between two accounts.
55
+ * @param transfer The transfer definition
56
+ * @param algod An algod client
57
+ * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
58
+ *
59
+ * @example Usage example
60
+ * ```typescript
61
+ * await algokit.transferAsset({ from, to, assetId, amount }, algod)
62
+ * ```
63
+ */
69
64
  async function transferAsset(transfer, algod) {
70
- return legacySendTransactionBridge(algod, transfer.from, transfer, {
71
- assetId: BigInt(transfer.assetId),
72
- sender: getSenderAddress(transfer.from),
73
- receiver: getSenderAddress(transfer.to),
74
- clawbackTarget: transfer.clawbackFrom ? getSenderAddress(transfer.clawbackFrom) : undefined,
75
- amount: BigInt(transfer.amount),
76
- note: encodeTransactionNote(transfer.note),
77
- lease: transfer.lease,
78
- }, (c) => c.assetTransfer, (c) => c.assetTransfer);
65
+ return legacySendTransactionBridge(algod, transfer.from, transfer, {
66
+ assetId: BigInt(transfer.assetId),
67
+ sender: getSenderAddress(transfer.from),
68
+ receiver: getSenderAddress(transfer.to),
69
+ clawbackTarget: transfer.clawbackFrom ? getSenderAddress(transfer.clawbackFrom) : void 0,
70
+ amount: BigInt(transfer.amount),
71
+ note: encodeTransactionNote(transfer.note),
72
+ lease: transfer.lease
73
+ }, (c) => c.assetTransfer, (c) => c.assetTransfer);
79
74
  }
80
75
  /**
81
- * @deprecated Use `algorand.account.rekeyAccount()` instead
82
- *
83
- * Rekey an account to a new address.
84
- *
85
- * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).
86
- *
87
- * @param rekey The rekey definition
88
- * @param algod An algod client
89
- * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
90
- *
91
- * @example Usage example
92
- * ```typescript
93
- * await algokit.rekeyAccount({ from, rekeyTo }, algod)
94
- * ```
95
- */
76
+ * @deprecated Use `algorand.account.rekeyAccount()` instead
77
+ *
78
+ * Rekey an account to a new address.
79
+ *
80
+ * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).
81
+ *
82
+ * @param rekey The rekey definition
83
+ * @param algod An algod client
84
+ * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
85
+ *
86
+ * @example Usage example
87
+ * ```typescript
88
+ * await algokit.rekeyAccount({ from, rekeyTo }, algod)
89
+ * ```
90
+ */
96
91
  async function rekeyAccount(rekey, algod) {
97
- return legacySendTransactionBridge(algod, rekey.from, rekey, {
98
- sender: getSenderAddress(rekey.from),
99
- receiver: getSenderAddress(rekey.from),
100
- amount: (0).microAlgo(),
101
- rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : getSenderAddress(rekey.rekeyTo),
102
- note: encodeTransactionNote(rekey.note),
103
- lease: rekey.lease,
104
- }, (c) => c.payment, (c) => c.payment);
92
+ return legacySendTransactionBridge(algod, rekey.from, rekey, {
93
+ sender: getSenderAddress(rekey.from),
94
+ receiver: getSenderAddress(rekey.from),
95
+ amount: 0 .microAlgo(),
96
+ rekeyTo: typeof rekey.rekeyTo === "string" ? rekey.rekeyTo : getSenderAddress(rekey.rekeyTo),
97
+ note: encodeTransactionNote(rekey.note),
98
+ lease: rekey.lease
99
+ }, (c) => c.payment, (c) => c.payment);
105
100
  }
106
-
101
+ //#endregion
107
102
  export { ensureFunded, rekeyAccount, transferAsset };
108
- //# sourceMappingURL=transfer.mjs.map
103
+
104
+ //# sourceMappingURL=transfer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.mjs","sources":["../../src/transfer/transfer.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { legacySendTransactionBridge } from '../transaction/legacy-bridge'\nimport { encodeTransactionNote, getSenderAddress } from '../transaction/transaction'\nimport { AlgorandClient } from '../types/algorand-client'\nimport { TestNetDispenserApiClient } from '../types/dispenser-client'\nimport { SendTransactionResult } from '../types/transaction'\nimport { AlgoRekeyParams, EnsureFundedParams, EnsureFundedReturnType, TransferAssetParams } from '../types/transfer'\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`\n * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead\n *\n * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).\n *\n * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr\n *\n * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.\n * @param algod An instance of the Algodv2 client.\n * @param kmd An optional instance of the Kmd client.\n * @returns\n * - `EnsureFundedReturnType` if funds were transferred.\n * - `undefined` if no funds were needed.\n */\nexport async function ensureFunded<T extends EnsureFundedParams>(\n funding: T,\n algod: Algodv2,\n kmd?: Kmd,\n): Promise<EnsureFundedReturnType | undefined> {\n const algorand = AlgorandClient.fromClients({ algod, kmd })\n\n if (funding.fundingSource instanceof TestNetDispenserApiClient) {\n const result = await algorand.account.ensureFundedFromTestNetDispenserApi(\n getSenderAddress(funding.accountToFund),\n funding.fundingSource,\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n },\n )\n if (!result) return undefined\n return {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.transactionId,\n }\n } else {\n const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment())\n if (funding.fundingSource) {\n algorand.setSignerFromAccount(funding.fundingSource)\n }\n\n const result = await algorand.account.ensureFunded(\n getSenderAddress(funding.accountToFund),\n getSenderAddress(sender),\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n note: encodeTransactionNote(funding.note),\n staticFee: funding.fee,\n lease: funding.lease,\n maxFee: funding.maxFee,\n maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,\n suppressLog: funding.suppressLog,\n },\n )\n\n return result\n ? {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.txIds[0],\n }\n : undefined\n }\n}\n\n/**\n * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead\n *\n * Transfer asset between two accounts.\n * @param transfer The transfer definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.transferAsset({ from, to, assetId, amount }, algod)\n * ```\n */\nexport async function transferAsset(transfer: TransferAssetParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n transfer.from,\n transfer,\n {\n assetId: BigInt(transfer.assetId),\n sender: getSenderAddress(transfer.from),\n receiver: getSenderAddress(transfer.to),\n clawbackTarget: transfer.clawbackFrom ? getSenderAddress(transfer.clawbackFrom) : undefined,\n amount: BigInt(transfer.amount),\n note: encodeTransactionNote(transfer.note),\n lease: transfer.lease,\n },\n (c) => c.assetTransfer,\n (c) => c.assetTransfer,\n )\n}\n\n/**\n * @deprecated Use `algorand.account.rekeyAccount()` instead\n *\n * Rekey an account to a new address.\n *\n * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).\n *\n * @param rekey The rekey definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.rekeyAccount({ from, rekeyTo }, algod)\n * ```\n */\nexport async function rekeyAccount(rekey: AlgoRekeyParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n rekey.from,\n rekey,\n {\n sender: getSenderAddress(rekey.from),\n receiver: getSenderAddress(rekey.from),\n amount: (0).microAlgo(),\n rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : getSenderAddress(rekey.rekeyTo),\n note: encodeTransactionNote(rekey.note),\n lease: rekey.lease,\n },\n (c) => c.payment,\n (c) => c.payment,\n )\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.mjs","names":[],"sources":["../../src/transfer/transfer.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { legacySendTransactionBridge } from '../transaction/legacy-bridge'\nimport { encodeTransactionNote, getSenderAddress } from '../transaction/transaction'\nimport { AlgorandClient } from '../types/algorand-client'\nimport { TestNetDispenserApiClient } from '../types/dispenser-client'\nimport { SendTransactionResult } from '../types/transaction'\nimport { AlgoRekeyParams, EnsureFundedParams, EnsureFundedReturnType, TransferAssetParams } from '../types/transfer'\nimport Algodv2 = algosdk.Algodv2\nimport Kmd = algosdk.Kmd\n\n/**\n * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`\n * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead\n *\n * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).\n *\n * https://dev.algorand.co/concepts/smart-contracts/costs-constraints#mbr\n *\n * @param funding The funding configuration of type `EnsureFundedParams`, including the account to fund, minimum spending balance, and optional parameters. If you set `useDispenserApi` to true, you must also set `ALGOKIT_DISPENSER_ACCESS_TOKEN` in your environment variables.\n * @param algod An instance of the Algodv2 client.\n * @param kmd An optional instance of the Kmd client.\n * @returns\n * - `EnsureFundedReturnType` if funds were transferred.\n * - `undefined` if no funds were needed.\n */\nexport async function ensureFunded<T extends EnsureFundedParams>(\n funding: T,\n algod: Algodv2,\n kmd?: Kmd,\n): Promise<EnsureFundedReturnType | undefined> {\n const algorand = AlgorandClient.fromClients({ algod, kmd })\n\n if (funding.fundingSource instanceof TestNetDispenserApiClient) {\n const result = await algorand.account.ensureFundedFromTestNetDispenserApi(\n getSenderAddress(funding.accountToFund),\n funding.fundingSource,\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n },\n )\n if (!result) return undefined\n return {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.transactionId,\n }\n } else {\n const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment())\n if (funding.fundingSource) {\n algorand.setSignerFromAccount(funding.fundingSource)\n }\n\n const result = await algorand.account.ensureFunded(\n getSenderAddress(funding.accountToFund),\n getSenderAddress(sender),\n funding.minSpendingBalance,\n {\n minFundingIncrement: funding.minFundingIncrement,\n note: encodeTransactionNote(funding.note),\n staticFee: funding.fee,\n lease: funding.lease,\n maxFee: funding.maxFee,\n maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,\n suppressLog: funding.suppressLog,\n },\n )\n\n return result\n ? {\n amount: Number(result.amountFunded.microAlgo),\n transactionId: result.txIds[0],\n }\n : undefined\n }\n}\n\n/**\n * @deprecated Use `algorand.send.assetTransfer()` / `algorand.createTransaction.assetTransfer()` instead\n *\n * Transfer asset between two accounts.\n * @param transfer The transfer definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.transferAsset({ from, to, assetId, amount }, algod)\n * ```\n */\nexport async function transferAsset(transfer: TransferAssetParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n transfer.from,\n transfer,\n {\n assetId: BigInt(transfer.assetId),\n sender: getSenderAddress(transfer.from),\n receiver: getSenderAddress(transfer.to),\n clawbackTarget: transfer.clawbackFrom ? getSenderAddress(transfer.clawbackFrom) : undefined,\n amount: BigInt(transfer.amount),\n note: encodeTransactionNote(transfer.note),\n lease: transfer.lease,\n },\n (c) => c.assetTransfer,\n (c) => c.assetTransfer,\n )\n}\n\n/**\n * @deprecated Use `algorand.account.rekeyAccount()` instead\n *\n * Rekey an account to a new address.\n *\n * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://dev.algorand.co/concepts/accounts/rekeying).\n *\n * @param rekey The rekey definition\n * @param algod An algod client\n * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)\n *\n * @example Usage example\n * ```typescript\n * await algokit.rekeyAccount({ from, rekeyTo }, algod)\n * ```\n */\nexport async function rekeyAccount(rekey: AlgoRekeyParams, algod: Algodv2): Promise<SendTransactionResult> {\n return legacySendTransactionBridge(\n algod,\n rekey.from,\n rekey,\n {\n sender: getSenderAddress(rekey.from),\n receiver: getSenderAddress(rekey.from),\n amount: (0).microAlgo(),\n rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : getSenderAddress(rekey.rekeyTo),\n note: encodeTransactionNote(rekey.note),\n lease: rekey.lease,\n },\n (c) => c.payment,\n (c) => c.payment,\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAyBA,eAAsB,aACpB,SACA,OACA,KAC6C;CAC7C,MAAM,WAAW,eAAe,YAAY;EAAE;EAAO;CAAI,CAAC;CAE1D,IAAI,QAAQ,yBAAyB,2BAA2B;EAC9D,MAAM,SAAS,MAAM,SAAS,QAAQ,oCACpC,iBAAiB,QAAQ,aAAa,GACtC,QAAQ,eACR,QAAQ,oBACR,EACE,qBAAqB,QAAQ,oBAC/B,CACF;EACA,IAAI,CAAC,QAAQ,OAAO,KAAA;EACpB,OAAO;GACL,QAAQ,OAAO,OAAO,aAAa,SAAS;GAC5C,eAAe,OAAO;EACxB;CACF,OAAO;EACL,MAAM,SAAS,QAAQ,iBAAkB,MAAM,SAAS,QAAQ,yBAAyB;EACzF,IAAI,QAAQ,eACV,SAAS,qBAAqB,QAAQ,aAAa;EAGrD,MAAM,SAAS,MAAM,SAAS,QAAQ,aACpC,iBAAiB,QAAQ,aAAa,GACtC,iBAAiB,MAAM,GACvB,QAAQ,oBACR;GACE,qBAAqB,QAAQ;GAC7B,MAAM,sBAAsB,QAAQ,IAAI;GACxC,WAAW,QAAQ;GACnB,OAAO,QAAQ;GACf,QAAQ,QAAQ;GAChB,gCAAgC,QAAQ;GACxC,aAAa,QAAQ;EACvB,CACF;EAEA,OAAO,SACH;GACE,QAAQ,OAAO,OAAO,aAAa,SAAS;GAC5C,eAAe,OAAO,MAAM;EAC9B,IACA,KAAA;CACN;AACF;;;;;;;;;;;;;;AAeA,eAAsB,cAAc,UAA+B,OAAgD;CACjH,OAAO,4BACL,OACA,SAAS,MACT,UACA;EACE,SAAS,OAAO,SAAS,OAAO;EAChC,QAAQ,iBAAiB,SAAS,IAAI;EACtC,UAAU,iBAAiB,SAAS,EAAE;EACtC,gBAAgB,SAAS,eAAe,iBAAiB,SAAS,YAAY,IAAI,KAAA;EAClF,QAAQ,OAAO,SAAS,MAAM;EAC9B,MAAM,sBAAsB,SAAS,IAAI;EACzC,OAAO,SAAS;CAClB,IACC,MAAM,EAAE,gBACR,MAAM,EAAE,aACX;AACF;;;;;;;;;;;;;;;;;AAkBA,eAAsB,aAAa,OAAwB,OAAgD;CACzG,OAAO,4BACL,OACA,MAAM,MACN,OACA;EACE,QAAQ,iBAAiB,MAAM,IAAI;EACnC,UAAU,iBAAiB,MAAM,IAAI;EACrC,QAAS,GAAG,UAAU;EACtB,SAAS,OAAO,MAAM,YAAY,WAAW,MAAM,UAAU,iBAAiB,MAAM,OAAO;EAC3F,MAAM,sBAAsB,MAAM,IAAI;EACtC,OAAO,MAAM;CACf,IACC,MAAM,EAAE,UACR,MAAM,EAAE,OACX;AACF"}