@algorandfoundation/algokit-utils 6.3.0-beta.1 → 7.0.0-alpha.1

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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -26
  3. package/account/account.d.ts +12 -10
  4. package/account/get-account-config-from-environment.d.ts +0 -1
  5. package/account/get-account.d.ts +2 -3
  6. package/account/get-dispenser-account.d.ts +2 -3
  7. package/account/index.d.ts +0 -1
  8. package/account/mnemonic-account.d.ts +1 -2
  9. package/amount.d.ts +15 -5
  10. package/app-client.d.ts +19 -5
  11. package/app-deploy.d.ts +18 -2
  12. package/app.d.ts +39 -3
  13. package/asset.d.ts +5 -6
  14. package/config.d.ts +0 -1
  15. package/debugging/debugging.d.ts +3 -5
  16. package/debugging/index.d.ts +0 -2
  17. package/dispenser-client.d.ts +0 -1
  18. package/index.d.ts +5 -4
  19. package/index.js +56 -46
  20. package/index.js.map +1 -1
  21. package/index.mjs +26 -25
  22. package/index.mjs.map +1 -1
  23. package/indexer-lookup.d.ts +10 -9
  24. package/localnet/get-kmd-wallet-account.d.ts +1 -2
  25. package/localnet/get-localnet-dispenser-account.d.ts +1 -2
  26. package/localnet/get-or-create-kmd-wallet-account.d.ts +1 -2
  27. package/localnet/index.d.ts +0 -1
  28. package/localnet/is-localnet.d.ts +1 -2
  29. package/network-client.d.ts +3 -10
  30. package/package.json +3 -4
  31. package/{account → src/account}/account.js +21 -18
  32. package/src/account/account.js.map +1 -0
  33. package/{account → src/account}/account.mjs +22 -19
  34. package/src/account/account.mjs.map +1 -0
  35. package/src/account/get-account-config-from-environment.js.map +1 -0
  36. package/src/account/get-account-config-from-environment.mjs.map +1 -0
  37. package/{account → src/account}/get-account.js +3 -3
  38. package/src/account/get-account.js.map +1 -0
  39. package/{account → src/account}/get-account.mjs +3 -3
  40. package/src/account/get-account.mjs.map +1 -0
  41. package/{account → src/account}/get-dispenser-account.js +3 -3
  42. package/src/account/get-dispenser-account.js.map +1 -0
  43. package/{account → src/account}/get-dispenser-account.mjs +3 -3
  44. package/src/account/get-dispenser-account.mjs.map +1 -0
  45. package/{account → src/account}/mnemonic-account.js +1 -1
  46. package/src/account/mnemonic-account.js.map +1 -0
  47. package/{account → src/account}/mnemonic-account.mjs +1 -1
  48. package/src/account/mnemonic-account.mjs.map +1 -0
  49. package/{amount.js → src/amount.js} +10 -3
  50. package/src/amount.js.map +1 -0
  51. package/{amount.mjs → src/amount.mjs} +10 -4
  52. package/src/amount.mjs.map +1 -0
  53. package/{app-client.js → src/app-client.js} +20 -5
  54. package/src/app-client.js.map +1 -0
  55. package/{app-client.mjs → src/app-client.mjs} +20 -5
  56. package/src/app-client.mjs.map +1 -0
  57. package/src/app-deploy.js +285 -0
  58. package/src/app-deploy.js.map +1 -0
  59. package/src/app-deploy.mjs +276 -0
  60. package/src/app-deploy.mjs.map +1 -0
  61. package/src/app.js +349 -0
  62. package/src/app.js.map +1 -0
  63. package/src/app.mjs +329 -0
  64. package/src/app.mjs.map +1 -0
  65. package/{asset.js → src/asset.js} +6 -9
  66. package/src/asset.js.map +1 -0
  67. package/{asset.mjs → src/asset.mjs} +6 -9
  68. package/src/asset.mjs.map +1 -0
  69. package/{config.js → src/config.js} +1 -1
  70. package/src/config.js.map +1 -0
  71. package/{config.mjs → src/config.mjs} +1 -1
  72. package/src/config.mjs.map +1 -0
  73. package/src/debugging/debugging.js +15 -0
  74. package/src/debugging/debugging.js.map +1 -0
  75. package/src/debugging/debugging.mjs +13 -0
  76. package/src/debugging/debugging.mjs.map +1 -0
  77. package/{dispenser-client.js → src/dispenser-client.js} +1 -1
  78. package/src/dispenser-client.js.map +1 -0
  79. package/{dispenser-client.mjs → src/dispenser-client.mjs} +1 -1
  80. package/src/dispenser-client.mjs.map +1 -0
  81. package/{indexer-lookup.js → src/indexer-lookup.js} +14 -10
  82. package/src/indexer-lookup.js.map +1 -0
  83. package/{indexer-lookup.mjs → src/indexer-lookup.mjs} +14 -10
  84. package/src/indexer-lookup.mjs.map +1 -0
  85. package/{localnet → src/localnet}/get-kmd-wallet-account.js +3 -3
  86. package/src/localnet/get-kmd-wallet-account.js.map +1 -0
  87. package/{localnet → src/localnet}/get-kmd-wallet-account.mjs +3 -3
  88. package/src/localnet/get-kmd-wallet-account.mjs.map +1 -0
  89. package/{localnet → src/localnet}/get-localnet-dispenser-account.js +3 -3
  90. package/src/localnet/get-localnet-dispenser-account.js.map +1 -0
  91. package/{localnet → src/localnet}/get-localnet-dispenser-account.mjs +3 -3
  92. package/src/localnet/get-localnet-dispenser-account.mjs.map +1 -0
  93. package/{localnet → src/localnet}/get-or-create-kmd-wallet-account.js +3 -3
  94. package/src/localnet/get-or-create-kmd-wallet-account.js.map +1 -0
  95. package/{localnet → src/localnet}/get-or-create-kmd-wallet-account.mjs +3 -3
  96. package/src/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -0
  97. package/{localnet → src/localnet}/is-localnet.js +2 -2
  98. package/src/localnet/is-localnet.js.map +1 -0
  99. package/{localnet → src/localnet}/is-localnet.mjs +2 -2
  100. package/src/localnet/is-localnet.mjs.map +1 -0
  101. package/{network-client.js → src/network-client.js} +5 -12
  102. package/src/network-client.js.map +1 -0
  103. package/{network-client.mjs → src/network-client.mjs} +5 -12
  104. package/src/network-client.mjs.map +1 -0
  105. package/{testing → src/testing}/account.js +9 -3
  106. package/src/testing/account.js.map +1 -0
  107. package/{testing → src/testing}/account.mjs +10 -4
  108. package/src/testing/account.mjs.map +1 -0
  109. package/src/testing/fixtures/algokit-log-capture-fixture.js.map +1 -0
  110. package/src/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -0
  111. package/{testing → src/testing}/fixtures/algorand-fixture.js +15 -16
  112. package/src/testing/fixtures/algorand-fixture.js.map +1 -0
  113. package/{testing → src/testing}/fixtures/algorand-fixture.mjs +15 -16
  114. package/src/testing/fixtures/algorand-fixture.mjs.map +1 -0
  115. package/src/testing/indexer.js.map +1 -0
  116. package/src/testing/indexer.mjs.map +1 -0
  117. package/{testing → src/testing}/test-logger.js +7 -3
  118. package/src/testing/test-logger.js.map +1 -0
  119. package/{testing → src/testing}/test-logger.mjs +7 -3
  120. package/src/testing/test-logger.mjs.map +1 -0
  121. package/src/testing/transaction-logger.js.map +1 -0
  122. package/src/testing/transaction-logger.mjs.map +1 -0
  123. package/src/transaction/legacy-bridge.js +129 -0
  124. package/src/transaction/legacy-bridge.js.map +1 -0
  125. package/src/transaction/legacy-bridge.mjs +124 -0
  126. package/src/transaction/legacy-bridge.mjs.map +1 -0
  127. package/{transaction → src/transaction}/perform-atomic-transaction-composer-simulate.js +14 -9
  128. package/src/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -0
  129. package/{transaction → src/transaction}/perform-atomic-transaction-composer-simulate.mjs +15 -10
  130. package/src/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -0
  131. package/{transaction → src/transaction}/transaction.js +217 -137
  132. package/src/transaction/transaction.js.map +1 -0
  133. package/{transaction → src/transaction}/transaction.mjs +218 -138
  134. package/src/transaction/transaction.mjs.map +1 -0
  135. package/{transfer → src/transfer}/transfer-algos.js +1 -1
  136. package/src/transfer/transfer-algos.js.map +1 -0
  137. package/{transfer → src/transfer}/transfer-algos.mjs +1 -1
  138. package/src/transfer/transfer-algos.mjs.map +1 -0
  139. package/{transfer → src/transfer}/transfer.js +8 -6
  140. package/src/transfer/transfer.js.map +1 -0
  141. package/{transfer → src/transfer}/transfer.mjs +8 -6
  142. package/src/transfer/transfer.mjs.map +1 -0
  143. package/{util.js → src/util.js} +11 -10
  144. package/src/util.js.map +1 -0
  145. package/{util.mjs → src/util.mjs} +11 -10
  146. package/src/util.mjs.map +1 -0
  147. package/testing/_asset.d.ts +2 -2
  148. package/testing/account.d.ts +4 -4
  149. package/testing/fixtures/algokit-log-capture-fixture.d.ts +0 -1
  150. package/testing/fixtures/algorand-fixture.d.ts +0 -1
  151. package/testing/fixtures/index.d.ts +0 -1
  152. package/testing/index.d.ts +0 -1
  153. package/testing/index.js +6 -6
  154. package/testing/index.mjs +6 -6
  155. package/testing/indexer.d.ts +0 -1
  156. package/testing/test-logger.d.ts +0 -1
  157. package/testing/transaction-logger.d.ts +0 -1
  158. package/transaction/index.d.ts +0 -1
  159. package/transaction/legacy-bridge.d.ts +31 -6
  160. package/transaction/perform-atomic-transaction-composer-simulate.d.ts +4 -2
  161. package/transaction/transaction.d.ts +38 -19
  162. package/transfer/index.d.ts +0 -1
  163. package/transfer/transfer-algos.d.ts +1 -2
  164. package/transfer/transfer.d.ts +1 -2
  165. package/types/account-manager.d.ts +33 -25
  166. package/types/account-manager.js +56 -33
  167. package/types/account-manager.js.map +1 -1
  168. package/types/account-manager.mjs +58 -35
  169. package/types/account-manager.mjs.map +1 -1
  170. package/types/account.d.ts +17 -9
  171. package/types/account.js +2 -2
  172. package/types/account.js.map +1 -1
  173. package/types/account.mjs +3 -3
  174. package/types/account.mjs.map +1 -1
  175. package/types/algo-http-client-with-retry.d.ts +1 -3
  176. package/types/algo-http-client-with-retry.js +34 -4
  177. package/types/algo-http-client-with-retry.js.map +1 -1
  178. package/types/algo-http-client-with-retry.mjs +33 -3
  179. package/types/algo-http-client-with-retry.mjs.map +1 -1
  180. package/types/algorand-client-interface.d.ts +28 -0
  181. package/types/algorand-client-interface.js +3 -0
  182. package/types/algorand-client-interface.js.map +1 -0
  183. package/types/algorand-client-interface.mjs +2 -0
  184. package/types/algorand-client-interface.mjs.map +1 -0
  185. package/types/algorand-client-transaction-creator.d.ts +452 -23
  186. package/types/algorand-client-transaction-creator.js +407 -23
  187. package/types/algorand-client-transaction-creator.js.map +1 -1
  188. package/types/algorand-client-transaction-creator.mjs +407 -23
  189. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  190. package/types/algorand-client-transaction-sender.d.ts +772 -47
  191. package/types/algorand-client-transaction-sender.js +446 -16
  192. package/types/algorand-client-transaction-sender.js.map +1 -1
  193. package/types/algorand-client-transaction-sender.mjs +446 -16
  194. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  195. package/types/algorand-client.d.ts +24 -17
  196. package/types/algorand-client.js +26 -16
  197. package/types/algorand-client.js.map +1 -1
  198. package/types/algorand-client.mjs +28 -15
  199. package/types/algorand-client.mjs.map +1 -1
  200. package/types/amount.d.ts +10 -11
  201. package/types/amount.js +7 -7
  202. package/types/amount.js.map +1 -1
  203. package/types/amount.mjs +7 -7
  204. package/types/amount.mjs.map +1 -1
  205. package/types/app-arc56.d.ts +359 -0
  206. package/types/app-arc56.js +184 -0
  207. package/types/app-arc56.js.map +1 -0
  208. package/types/app-arc56.mjs +175 -0
  209. package/types/app-arc56.mjs.map +1 -0
  210. package/types/app-client.d.ts +1508 -12
  211. package/types/app-client.js +1023 -34
  212. package/types/app-client.js.map +1 -1
  213. package/types/app-client.mjs +1024 -36
  214. package/types/app-client.mjs.map +1 -1
  215. package/types/app-deployer.d.ts +126 -0
  216. package/types/app-deployer.js +353 -0
  217. package/types/app-deployer.js.map +1 -0
  218. package/types/app-deployer.mjs +351 -0
  219. package/types/app-deployer.mjs.map +1 -0
  220. package/types/app-factory.d.ts +846 -0
  221. package/types/app-factory.js +410 -0
  222. package/types/app-factory.js.map +1 -0
  223. package/types/app-factory.mjs +408 -0
  224. package/types/app-factory.mjs.map +1 -0
  225. package/types/app-manager.d.ts +244 -0
  226. package/types/app-manager.js +423 -0
  227. package/types/app-manager.js.map +1 -0
  228. package/types/app-manager.mjs +421 -0
  229. package/types/app-manager.mjs.map +1 -0
  230. package/types/app-spec.d.ts +2 -1
  231. package/types/app-spec.js +127 -0
  232. package/types/app-spec.js.map +1 -1
  233. package/types/app-spec.mjs +126 -0
  234. package/types/app-spec.mjs.map +1 -1
  235. package/types/app.d.ts +57 -18
  236. package/types/app.js +1 -1
  237. package/types/app.js.map +1 -1
  238. package/types/app.mjs +1 -1
  239. package/types/app.mjs.map +1 -1
  240. package/types/asset-manager.d.ts +10 -10
  241. package/types/asset-manager.js +15 -19
  242. package/types/asset-manager.js.map +1 -1
  243. package/types/asset-manager.mjs +15 -19
  244. package/types/asset-manager.mjs.map +1 -1
  245. package/types/asset.d.ts +0 -1
  246. package/types/async-event-emitter.d.ts +14 -0
  247. package/types/async-event-emitter.js +50 -0
  248. package/types/async-event-emitter.js.map +1 -0
  249. package/types/async-event-emitter.mjs +48 -0
  250. package/types/async-event-emitter.mjs.map +1 -0
  251. package/types/client-manager.d.ts +135 -60
  252. package/types/client-manager.js +158 -44
  253. package/types/client-manager.js.map +1 -1
  254. package/types/client-manager.mjs +159 -45
  255. package/types/client-manager.mjs.map +1 -1
  256. package/types/composer.d.ts +271 -87
  257. package/types/composer.js +406 -126
  258. package/types/composer.js.map +1 -1
  259. package/types/composer.mjs +407 -125
  260. package/types/composer.mjs.map +1 -1
  261. package/types/config.d.ts +3 -6
  262. package/types/config.js +5 -44
  263. package/types/config.js.map +1 -1
  264. package/types/config.mjs +5 -27
  265. package/types/config.mjs.map +1 -1
  266. package/types/debugging.d.ts +29 -101
  267. package/types/debugging.js +16 -109
  268. package/types/debugging.js.map +1 -1
  269. package/types/debugging.mjs +12 -107
  270. package/types/debugging.mjs.map +1 -1
  271. package/types/dispenser-client.d.ts +2 -2
  272. package/types/dispenser-client.js +10 -5
  273. package/types/dispenser-client.js.map +1 -1
  274. package/types/dispenser-client.mjs +10 -5
  275. package/types/dispenser-client.mjs.map +1 -1
  276. package/types/expand.d.ts +7 -0
  277. package/types/expand.js +3 -0
  278. package/types/expand.js.map +1 -0
  279. package/types/expand.mjs +2 -0
  280. package/types/expand.mjs.map +1 -0
  281. package/types/indexer.d.ts +74 -756
  282. package/types/indexer.js.map +1 -1
  283. package/types/indexer.mjs.map +1 -1
  284. package/types/kmd-account-manager.d.ts +2 -3
  285. package/types/kmd-account-manager.js +4 -4
  286. package/types/kmd-account-manager.js.map +1 -1
  287. package/types/kmd-account-manager.mjs +5 -5
  288. package/types/kmd-account-manager.mjs.map +1 -1
  289. package/types/lifecycle-events.d.ts +10 -0
  290. package/types/lifecycle-events.js +8 -0
  291. package/types/lifecycle-events.js.map +1 -0
  292. package/types/lifecycle-events.mjs +8 -0
  293. package/types/lifecycle-events.mjs.map +1 -0
  294. package/types/logging.d.ts +0 -1
  295. package/types/logging.js.map +1 -1
  296. package/types/logging.mjs.map +1 -1
  297. package/types/logic-error.d.ts +2 -4
  298. package/types/logic-error.js +3 -3
  299. package/types/logic-error.js.map +1 -1
  300. package/types/logic-error.mjs +3 -3
  301. package/types/logic-error.mjs.map +1 -1
  302. package/types/network-client.d.ts +14 -2
  303. package/types/network-client.js.map +1 -1
  304. package/types/network-client.mjs.map +1 -1
  305. package/types/testing.d.ts +8 -10
  306. package/types/transaction.d.ts +17 -4
  307. package/types/transfer.d.ts +0 -1
  308. package/util.d.ts +2 -2
  309. package/account/account.d.ts.map +0 -1
  310. package/account/account.js.map +0 -1
  311. package/account/account.mjs.map +0 -1
  312. package/account/get-account-config-from-environment.d.ts.map +0 -1
  313. package/account/get-account-config-from-environment.js.map +0 -1
  314. package/account/get-account-config-from-environment.mjs.map +0 -1
  315. package/account/get-account.d.ts.map +0 -1
  316. package/account/get-account.js.map +0 -1
  317. package/account/get-account.mjs.map +0 -1
  318. package/account/get-dispenser-account.d.ts.map +0 -1
  319. package/account/get-dispenser-account.js.map +0 -1
  320. package/account/get-dispenser-account.mjs.map +0 -1
  321. package/account/index.d.ts.map +0 -1
  322. package/account/mnemonic-account.d.ts.map +0 -1
  323. package/account/mnemonic-account.js.map +0 -1
  324. package/account/mnemonic-account.mjs.map +0 -1
  325. package/amount.d.ts.map +0 -1
  326. package/amount.js.map +0 -1
  327. package/amount.mjs.map +0 -1
  328. package/app-client.d.ts.map +0 -1
  329. package/app-client.js.map +0 -1
  330. package/app-client.mjs.map +0 -1
  331. package/app-deploy.d.ts.map +0 -1
  332. package/app-deploy.js +0 -468
  333. package/app-deploy.js.map +0 -1
  334. package/app-deploy.mjs +0 -459
  335. package/app-deploy.mjs.map +0 -1
  336. package/app.d.ts.map +0 -1
  337. package/app.js +0 -599
  338. package/app.js.map +0 -1
  339. package/app.mjs +0 -579
  340. package/app.mjs.map +0 -1
  341. package/asset.d.ts.map +0 -1
  342. package/asset.js.map +0 -1
  343. package/asset.mjs.map +0 -1
  344. package/config.d.ts.map +0 -1
  345. package/config.js.map +0 -1
  346. package/config.mjs.map +0 -1
  347. package/debugging/debugging.d.ts.map +0 -1
  348. package/debugging/debugging.js +0 -139
  349. package/debugging/debugging.js.map +0 -1
  350. package/debugging/debugging.mjs +0 -118
  351. package/debugging/debugging.mjs.map +0 -1
  352. package/debugging/index.d.ts.map +0 -1
  353. package/debugging/simulate-and-persist-response.d.ts +0 -20
  354. package/debugging/simulate-and-persist-response.d.ts.map +0 -1
  355. package/debugging/simulate-and-persist-response.js +0 -108
  356. package/debugging/simulate-and-persist-response.js.map +0 -1
  357. package/debugging/simulate-and-persist-response.mjs +0 -89
  358. package/debugging/simulate-and-persist-response.mjs.map +0 -1
  359. package/dispenser-client.d.ts.map +0 -1
  360. package/dispenser-client.js.map +0 -1
  361. package/dispenser-client.mjs.map +0 -1
  362. package/index.d.ts.map +0 -1
  363. package/indexer-lookup.d.ts.map +0 -1
  364. package/indexer-lookup.js.map +0 -1
  365. package/indexer-lookup.mjs.map +0 -1
  366. package/localnet/get-kmd-wallet-account.d.ts.map +0 -1
  367. package/localnet/get-kmd-wallet-account.js.map +0 -1
  368. package/localnet/get-kmd-wallet-account.mjs.map +0 -1
  369. package/localnet/get-localnet-dispenser-account.d.ts.map +0 -1
  370. package/localnet/get-localnet-dispenser-account.js.map +0 -1
  371. package/localnet/get-localnet-dispenser-account.mjs.map +0 -1
  372. package/localnet/get-or-create-kmd-wallet-account.d.ts.map +0 -1
  373. package/localnet/get-or-create-kmd-wallet-account.js.map +0 -1
  374. package/localnet/get-or-create-kmd-wallet-account.mjs.map +0 -1
  375. package/localnet/index.d.ts.map +0 -1
  376. package/localnet/is-localnet.d.ts.map +0 -1
  377. package/localnet/is-localnet.js.map +0 -1
  378. package/localnet/is-localnet.mjs.map +0 -1
  379. package/network-client.d.ts.map +0 -1
  380. package/network-client.js.map +0 -1
  381. package/network-client.mjs.map +0 -1
  382. package/testing/_asset.d.ts.map +0 -1
  383. package/testing/account.d.ts.map +0 -1
  384. package/testing/account.js.map +0 -1
  385. package/testing/account.mjs.map +0 -1
  386. package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +0 -1
  387. package/testing/fixtures/algokit-log-capture-fixture.js.map +0 -1
  388. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +0 -1
  389. package/testing/fixtures/algorand-fixture.d.ts.map +0 -1
  390. package/testing/fixtures/algorand-fixture.js.map +0 -1
  391. package/testing/fixtures/algorand-fixture.mjs.map +0 -1
  392. package/testing/fixtures/index.d.ts.map +0 -1
  393. package/testing/index.d.ts.map +0 -1
  394. package/testing/indexer.d.ts.map +0 -1
  395. package/testing/indexer.js.map +0 -1
  396. package/testing/indexer.mjs.map +0 -1
  397. package/testing/test-logger.d.ts.map +0 -1
  398. package/testing/test-logger.js.map +0 -1
  399. package/testing/test-logger.mjs.map +0 -1
  400. package/testing/transaction-logger.d.ts.map +0 -1
  401. package/testing/transaction-logger.js.map +0 -1
  402. package/testing/transaction-logger.mjs.map +0 -1
  403. package/transaction/index.d.ts.map +0 -1
  404. package/transaction/legacy-bridge.d.ts.map +0 -1
  405. package/transaction/legacy-bridge.js +0 -35
  406. package/transaction/legacy-bridge.js.map +0 -1
  407. package/transaction/legacy-bridge.mjs +0 -33
  408. package/transaction/legacy-bridge.mjs.map +0 -1
  409. package/transaction/perform-atomic-transaction-composer-simulate.d.ts.map +0 -1
  410. package/transaction/perform-atomic-transaction-composer-simulate.js.map +0 -1
  411. package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +0 -1
  412. package/transaction/transaction.d.ts.map +0 -1
  413. package/transaction/transaction.js.map +0 -1
  414. package/transaction/transaction.mjs.map +0 -1
  415. package/transfer/index.d.ts.map +0 -1
  416. package/transfer/transfer-algos.d.ts.map +0 -1
  417. package/transfer/transfer-algos.js.map +0 -1
  418. package/transfer/transfer-algos.mjs.map +0 -1
  419. package/transfer/transfer.d.ts.map +0 -1
  420. package/transfer/transfer.js.map +0 -1
  421. package/transfer/transfer.mjs.map +0 -1
  422. package/types/account-manager.d.ts.map +0 -1
  423. package/types/account.d.ts.map +0 -1
  424. package/types/algo-http-client-with-retry.d.ts.map +0 -1
  425. package/types/algorand-client-transaction-creator.d.ts.map +0 -1
  426. package/types/algorand-client-transaction-sender.d.ts.map +0 -1
  427. package/types/algorand-client.d.ts.map +0 -1
  428. package/types/amount.d.ts.map +0 -1
  429. package/types/app-client.d.ts.map +0 -1
  430. package/types/app-spec.d.ts.map +0 -1
  431. package/types/app.d.ts.map +0 -1
  432. package/types/asset-manager.d.ts.map +0 -1
  433. package/types/asset.d.ts.map +0 -1
  434. package/types/client-manager.d.ts.map +0 -1
  435. package/types/composer.d.ts.map +0 -1
  436. package/types/config.d.ts.map +0 -1
  437. package/types/debugging.d.ts.map +0 -1
  438. package/types/dispenser-client.d.ts.map +0 -1
  439. package/types/indexer.d.ts.map +0 -1
  440. package/types/kmd-account-manager.d.ts.map +0 -1
  441. package/types/logging.d.ts.map +0 -1
  442. package/types/logic-error.d.ts.map +0 -1
  443. package/types/network-client.d.ts.map +0 -1
  444. package/types/testing.d.ts.map +0 -1
  445. package/types/transaction.d.ts.map +0 -1
  446. package/types/transfer.d.ts.map +0 -1
  447. package/types/urlTokenBaseHTTPClient.d.ts +0 -41
  448. package/types/urlTokenBaseHTTPClient.d.ts.map +0 -1
  449. package/types/urlTokenBaseHTTPClient.js +0 -153
  450. package/types/urlTokenBaseHTTPClient.js.map +0 -1
  451. package/types/urlTokenBaseHTTPClient.mjs +0 -151
  452. package/types/urlTokenBaseHTTPClient.mjs.map +0 -1
  453. package/util.d.ts.map +0 -1
  454. package/util.js.map +0 -1
  455. package/util.mjs.map +0 -1
  456. /package/{account → src/account}/get-account-config-from-environment.js +0 -0
  457. /package/{account → src/account}/get-account-config-from-environment.mjs +0 -0
  458. /package/{testing → src/testing}/fixtures/algokit-log-capture-fixture.js +0 -0
  459. /package/{testing → src/testing}/fixtures/algokit-log-capture-fixture.mjs +0 -0
  460. /package/{testing → src/testing}/indexer.js +0 -0
  461. /package/{testing → src/testing}/indexer.mjs +0 -0
  462. /package/{testing → src/testing}/transaction-logger.js +0 -0
  463. /package/{testing → src/testing}/transaction-logger.mjs +0 -0
@@ -1,115 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  /**
4
- * AVM debugger source map entry class.
4
+ * An asynchronous event listener
5
5
  */
6
- class AVMDebuggerSourceMapEntry {
7
- /**
8
- * Create an AVM debugger source map entry.
9
- * @param location The location of the file the source map is for.
10
- * @param programHash The hash of the TEAL binary.
11
- */
12
- constructor(location, programHash) {
13
- this.location = location;
14
- this.programHash = programHash;
15
- }
16
- equals(other) {
17
- return this.location === other.location && this.programHash === other.programHash;
18
- }
19
- toString() {
20
- return JSON.stringify({ 'sourcemap-location': this.location, hash: this.programHash });
21
- }
22
- }
23
- /**
24
- * AVM debugger source map class.
25
- */
26
- class AVMDebuggerSourceMap {
27
- /**
28
- *
29
- * @param txnGroupSources
30
- */
31
- constructor(txnGroupSources) {
32
- this.txnGroupSources = txnGroupSources;
33
- }
34
- /**
35
- * Creates a source map from a dictionary of source map data.
36
- * @param data The data
37
- * @returns The source map
38
- */
39
- static fromDict(data) {
40
- return new AVMDebuggerSourceMap(data['txn-group-sources'].map((item) => new AVMDebuggerSourceMapEntry(item['sourcemap-location'], item['hash'])));
41
- }
42
- /**
43
- * Converts the source map to a dictionary that can be passed around and then parsed back using `AVMDebuggerSourceMap.fromDict`.
44
- * @returns The dictionary
45
- */
46
- toDict() {
47
- return { 'txn-group-sources': this.txnGroupSources.map((item) => JSON.parse(item.toString())) };
48
- }
49
- }
50
- /**
51
- * Class representing a debugger source maps input for persistence.
52
- *
53
- * Note: rawTeal and compiledTeal are mutually exclusive. Only one of them should be provided.
54
- */
55
- class PersistSourceMapInput {
56
- constructor(appName, fileName, rawTeal, compiledTeal) {
57
- this.compiledTeal = compiledTeal;
58
- this.appName = appName;
59
- this._rawTeal = rawTeal;
60
- this._fileName = this.stripTealExtension(fileName);
61
- }
62
- /**
63
- * Returns debugger source maps input from raw TEAL code.
64
- * @param rawTeal The raw TEAL code
65
- * @param appName The name of the app
66
- * @param fileName The name of the file to persist to
67
- * @returns The persist source map input
68
- */
69
- static fromRawTeal(rawTeal, appName, fileName) {
70
- return new PersistSourceMapInput(appName, fileName, rawTeal);
71
- }
72
- /**
73
- * Returns debugger source maps input from compiled TEAL code.
74
- * @param compiledTeal The compiled TEAL code
75
- * @param appName The name of the app
76
- * @param fileName The name of the file to persist to
77
- * @returns The persist source map input
78
- */
79
- static fromCompiledTeal(compiledTeal, appName, fileName) {
80
- return new PersistSourceMapInput(appName, fileName, undefined, compiledTeal);
81
- }
82
- /** Get the underlying raw teal */
83
- get rawTeal() {
84
- if (this._rawTeal) {
85
- return this._rawTeal;
86
- }
87
- else if (this.compiledTeal) {
88
- return this.compiledTeal.teal;
89
- }
90
- else {
91
- throw new Error('No teal content found');
92
- }
93
- }
94
- /** Get the file name */
95
- get fileName() {
96
- return this._fileName;
97
- }
98
- /**
99
- * Strips the '.teal' extension from a filename, if present.
100
- *
101
- * @param fileName - The filename to strip the extension from.
102
- * @returns The filename without the '.teal' extension.
103
- */
104
- stripTealExtension(fileName) {
105
- if (fileName.endsWith('.teal')) {
106
- return fileName.slice(0, -5);
107
- }
108
- return fileName;
109
- }
110
- }
6
+ /** The directory name for AlgoKit project related files */
7
+ const ALGOKIT_DIR = '.algokit';
8
+ /** The directory name for debug source files */
9
+ const SOURCES_DIR = 'sources';
10
+ /** The file extension for TEAL files */
11
+ const TEAL_FILE_EXT = '.teal';
12
+ /** The file extension for TEAL source map files */
13
+ const TEAL_SOURCEMAP_EXT = '.teal.map';
14
+ /** The default maximum search depth for file operations */
15
+ const DEFAULT_MAX_SEARCH_DEPTH = 10;
111
16
 
112
- exports.AVMDebuggerSourceMap = AVMDebuggerSourceMap;
113
- exports.AVMDebuggerSourceMapEntry = AVMDebuggerSourceMapEntry;
114
- exports.PersistSourceMapInput = PersistSourceMapInput;
17
+ exports.ALGOKIT_DIR = ALGOKIT_DIR;
18
+ exports.DEFAULT_MAX_SEARCH_DEPTH = DEFAULT_MAX_SEARCH_DEPTH;
19
+ exports.SOURCES_DIR = SOURCES_DIR;
20
+ exports.TEAL_FILE_EXT = TEAL_FILE_EXT;
21
+ exports.TEAL_SOURCEMAP_EXT = TEAL_SOURCEMAP_EXT;
115
22
  //# sourceMappingURL=debugging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugging.js","sources":["../../src/types/debugging.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debugging.js","sources":["../../src/types/debugging.ts"],"sourcesContent":["/**\n * An asynchronous event listener\n */\n\nimport algosdk from 'algosdk'\nimport { CompiledTeal } from './app'\n\n/** The directory name for AlgoKit project related files */\nexport const ALGOKIT_DIR = '.algokit'\n\n/** The directory name for debug source files */\nexport const SOURCES_DIR = 'sources'\n\n/** The file extension for TEAL files */\nexport const TEAL_FILE_EXT = '.teal'\n\n/** The file extension for TEAL source map files */\nexport const TEAL_SOURCEMAP_EXT = '.teal.map'\n\n/** The default maximum search depth for file operations */\nexport const DEFAULT_MAX_SEARCH_DEPTH = 10\n\n/**\n * Represents the data for a single TEAL source\n */\nexport interface TealSourceDebugEventData {\n /** The name of the application */\n appName: string\n /** The name of the file */\n fileName: string\n /** The compiled TEAL code */\n compiledTeal: CompiledTeal\n}\n\n/**\n * Represents the data for multiple TEAL sources debug events emitted whenever an app is compiled as part of a deploy in debug mode\n */\nexport interface TealSourcesDebugEventData {\n /** An array of TEAL source debug event data */\n sources: TealSourceDebugEventData[]\n}\n\n/**\n * Represents the data for AVM traces debug events emitted whenever a transaction is simulated in debug mode\n */\nexport interface AVMTracesEventData {\n /** The simulation response from Algod */\n simulateResponse: algosdk.modelsv2.SimulateResponse\n}\n"],"names":[],"mappings":";;AAAA;;AAEG;AAKH;AACO,MAAM,WAAW,GAAG,WAAU;AAErC;AACO,MAAM,WAAW,GAAG,UAAS;AAEpC;AACO,MAAM,aAAa,GAAG,QAAO;AAEpC;AACO,MAAM,kBAAkB,GAAG,YAAW;AAE7C;AACO,MAAM,wBAAwB,GAAG;;;;;;;;"}
@@ -1,111 +1,16 @@
1
1
  /**
2
- * AVM debugger source map entry class.
2
+ * An asynchronous event listener
3
3
  */
4
- class AVMDebuggerSourceMapEntry {
5
- /**
6
- * Create an AVM debugger source map entry.
7
- * @param location The location of the file the source map is for.
8
- * @param programHash The hash of the TEAL binary.
9
- */
10
- constructor(location, programHash) {
11
- this.location = location;
12
- this.programHash = programHash;
13
- }
14
- equals(other) {
15
- return this.location === other.location && this.programHash === other.programHash;
16
- }
17
- toString() {
18
- return JSON.stringify({ 'sourcemap-location': this.location, hash: this.programHash });
19
- }
20
- }
21
- /**
22
- * AVM debugger source map class.
23
- */
24
- class AVMDebuggerSourceMap {
25
- /**
26
- *
27
- * @param txnGroupSources
28
- */
29
- constructor(txnGroupSources) {
30
- this.txnGroupSources = txnGroupSources;
31
- }
32
- /**
33
- * Creates a source map from a dictionary of source map data.
34
- * @param data The data
35
- * @returns The source map
36
- */
37
- static fromDict(data) {
38
- return new AVMDebuggerSourceMap(data['txn-group-sources'].map((item) => new AVMDebuggerSourceMapEntry(item['sourcemap-location'], item['hash'])));
39
- }
40
- /**
41
- * Converts the source map to a dictionary that can be passed around and then parsed back using `AVMDebuggerSourceMap.fromDict`.
42
- * @returns The dictionary
43
- */
44
- toDict() {
45
- return { 'txn-group-sources': this.txnGroupSources.map((item) => JSON.parse(item.toString())) };
46
- }
47
- }
48
- /**
49
- * Class representing a debugger source maps input for persistence.
50
- *
51
- * Note: rawTeal and compiledTeal are mutually exclusive. Only one of them should be provided.
52
- */
53
- class PersistSourceMapInput {
54
- constructor(appName, fileName, rawTeal, compiledTeal) {
55
- this.compiledTeal = compiledTeal;
56
- this.appName = appName;
57
- this._rawTeal = rawTeal;
58
- this._fileName = this.stripTealExtension(fileName);
59
- }
60
- /**
61
- * Returns debugger source maps input from raw TEAL code.
62
- * @param rawTeal The raw TEAL code
63
- * @param appName The name of the app
64
- * @param fileName The name of the file to persist to
65
- * @returns The persist source map input
66
- */
67
- static fromRawTeal(rawTeal, appName, fileName) {
68
- return new PersistSourceMapInput(appName, fileName, rawTeal);
69
- }
70
- /**
71
- * Returns debugger source maps input from compiled TEAL code.
72
- * @param compiledTeal The compiled TEAL code
73
- * @param appName The name of the app
74
- * @param fileName The name of the file to persist to
75
- * @returns The persist source map input
76
- */
77
- static fromCompiledTeal(compiledTeal, appName, fileName) {
78
- return new PersistSourceMapInput(appName, fileName, undefined, compiledTeal);
79
- }
80
- /** Get the underlying raw teal */
81
- get rawTeal() {
82
- if (this._rawTeal) {
83
- return this._rawTeal;
84
- }
85
- else if (this.compiledTeal) {
86
- return this.compiledTeal.teal;
87
- }
88
- else {
89
- throw new Error('No teal content found');
90
- }
91
- }
92
- /** Get the file name */
93
- get fileName() {
94
- return this._fileName;
95
- }
96
- /**
97
- * Strips the '.teal' extension from a filename, if present.
98
- *
99
- * @param fileName - The filename to strip the extension from.
100
- * @returns The filename without the '.teal' extension.
101
- */
102
- stripTealExtension(fileName) {
103
- if (fileName.endsWith('.teal')) {
104
- return fileName.slice(0, -5);
105
- }
106
- return fileName;
107
- }
108
- }
4
+ /** The directory name for AlgoKit project related files */
5
+ const ALGOKIT_DIR = '.algokit';
6
+ /** The directory name for debug source files */
7
+ const SOURCES_DIR = 'sources';
8
+ /** The file extension for TEAL files */
9
+ const TEAL_FILE_EXT = '.teal';
10
+ /** The file extension for TEAL source map files */
11
+ const TEAL_SOURCEMAP_EXT = '.teal.map';
12
+ /** The default maximum search depth for file operations */
13
+ const DEFAULT_MAX_SEARCH_DEPTH = 10;
109
14
 
110
- export { AVMDebuggerSourceMap, AVMDebuggerSourceMapEntry, PersistSourceMapInput };
15
+ export { ALGOKIT_DIR, DEFAULT_MAX_SEARCH_DEPTH, SOURCES_DIR, TEAL_FILE_EXT, TEAL_SOURCEMAP_EXT };
111
16
  //# sourceMappingURL=debugging.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugging.mjs","sources":["../../src/types/debugging.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debugging.mjs","sources":["../../src/types/debugging.ts"],"sourcesContent":["/**\n * An asynchronous event listener\n */\n\nimport algosdk from 'algosdk'\nimport { CompiledTeal } from './app'\n\n/** The directory name for AlgoKit project related files */\nexport const ALGOKIT_DIR = '.algokit'\n\n/** The directory name for debug source files */\nexport const SOURCES_DIR = 'sources'\n\n/** The file extension for TEAL files */\nexport const TEAL_FILE_EXT = '.teal'\n\n/** The file extension for TEAL source map files */\nexport const TEAL_SOURCEMAP_EXT = '.teal.map'\n\n/** The default maximum search depth for file operations */\nexport const DEFAULT_MAX_SEARCH_DEPTH = 10\n\n/**\n * Represents the data for a single TEAL source\n */\nexport interface TealSourceDebugEventData {\n /** The name of the application */\n appName: string\n /** The name of the file */\n fileName: string\n /** The compiled TEAL code */\n compiledTeal: CompiledTeal\n}\n\n/**\n * Represents the data for multiple TEAL sources debug events emitted whenever an app is compiled as part of a deploy in debug mode\n */\nexport interface TealSourcesDebugEventData {\n /** An array of TEAL source debug event data */\n sources: TealSourceDebugEventData[]\n}\n\n/**\n * Represents the data for AVM traces debug events emitted whenever a transaction is simulated in debug mode\n */\nexport interface AVMTracesEventData {\n /** The simulation response from Algod */\n simulateResponse: algosdk.modelsv2.SimulateResponse\n}\n"],"names":[],"mappings":"AAAA;;AAEG;AAKH;AACO,MAAM,WAAW,GAAG,WAAU;AAErC;AACO,MAAM,WAAW,GAAG,UAAS;AAEpC;AACO,MAAM,aAAa,GAAG,QAAO;AAEpC;AACO,MAAM,kBAAkB,GAAG,YAAW;AAE7C;AACO,MAAM,wBAAwB,GAAG;;;;"}
@@ -1,3 +1,4 @@
1
+ import { Address } from 'algosdk';
1
2
  /** The TestNet Dispenser API response when funding. */
2
3
  export interface DispenserFundResponse {
3
4
  /** The ID of the transaction that was issued to fund the account. */
@@ -68,7 +69,7 @@ export declare class TestNetDispenserApiClient {
68
69
  *
69
70
  * @returns DispenserFundResponse: An object containing the transaction ID and funded amount.
70
71
  */
71
- fund(address: string, amount: number): Promise<DispenserFundResponse>;
72
+ fund(address: string | Address, amount: number | bigint): Promise<DispenserFundResponse>;
72
73
  /**
73
74
  * Sends a refund request to the dispenser API for the specified refundTxnId.
74
75
  *
@@ -82,4 +83,3 @@ export declare class TestNetDispenserApiClient {
82
83
  */
83
84
  getLimit(): Promise<DispenserLimitResponse>;
84
85
  }
85
- //# sourceMappingURL=dispenser-client.d.ts.map
@@ -87,14 +87,15 @@ class TestNetDispenserApiClient {
87
87
  try {
88
88
  error_response = await response.json();
89
89
  }
90
- catch (err) {
90
+ catch {
91
91
  // suppress exception
92
92
  }
93
93
  if (error_response && error_response.code) {
94
94
  error_message = error_response.code;
95
95
  }
96
96
  else if (response.status === 400) {
97
- error_message = (await response.json()).message;
97
+ const errorResponse = (await response.json());
98
+ error_message = errorResponse.message;
98
99
  }
99
100
  throw new Error(error_message);
100
101
  }
@@ -109,8 +110,12 @@ class TestNetDispenserApiClient {
109
110
  * @returns DispenserFundResponse: An object containing the transaction ID and funded amount.
110
111
  */
111
112
  async fund(address, amount) {
112
- const response = await this.processDispenserRequest(this.authToken, `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}`, { receiver: address, amount: amount, assetID: dispenserAssets[DispenserAssetName.Algo].assetId }, 'POST');
113
- const content = await response.json();
113
+ const response = await this.processDispenserRequest(this.authToken, `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}`, {
114
+ receiver: typeof address === 'string' ? address : address.toString(),
115
+ amount: Number(amount),
116
+ assetID: dispenserAssets[DispenserAssetName.Algo].assetId,
117
+ }, 'POST');
118
+ const content = (await response.json());
114
119
  return { txId: content.txID, amount: content.amount };
115
120
  }
116
121
  /**
@@ -128,7 +133,7 @@ class TestNetDispenserApiClient {
128
133
  */
129
134
  async getLimit() {
130
135
  const response = await this.processDispenserRequest(this.authToken, `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}/limit`, null, 'GET');
131
- const content = await response.json();
136
+ const content = (await response.json());
132
137
  return { amount: content.amount };
133
138
  }
134
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dispenser-client.js","sources":["../../src/types/dispenser-client.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispenser-client.js","sources":["../../src/types/dispenser-client.ts"],"sourcesContent":["import { Address } from 'algosdk'\n\nconst DISPENSER_BASE_URL = 'https://api.dispenser.algorandfoundation.tools'\nconst DEFAULT_DISPENSER_REQUEST_TIMEOUT = 15\nconst DISPENSER_ACCESS_TOKEN_KEY = 'ALGOKIT_DISPENSER_ACCESS_TOKEN'\n\ninterface ErrorResponse {\n code?: string\n}\n\nenum DispenserAssetName {\n Algo = 0,\n}\n\nconst dispenserAssets = {\n [DispenserAssetName.Algo]: {\n assetId: 0,\n decimals: 6,\n description: 'Algo',\n },\n}\n\n/** The TestNet Dispenser API response when funding. */\nexport interface DispenserFundResponse {\n /** The ID of the transaction that was issued to fund the account. */\n txId: string\n /** The number of µAlgo that was funded. */\n amount: number\n}\n\n/** The TestNet Dispenser API response when getting the current limit. */\nexport interface DispenserLimitResponse {\n /** The limit, in µAlgo, that you can currently fund. */\n amount: number\n}\n\n/** The parameters to construct a TestNet Dispenser API client. */\nexport interface TestNetDispenserApiClientParams {\n /** The API auth token */\n authToken: string\n /** The request timeout in seconds */\n requestTimeout?: number\n}\n\n/**\n * `TestNetDispenserApiClient` is a class that provides methods to interact with the [Algorand TestNet Dispenser API](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md).\n * It allows you to fund an address with Algo, refund a transaction, and get the funding limit for the Algo asset.\n *\n * The class requires an authentication token and a request timeout to be initialized. The authentication token can be provided\n * either directly as a parameter or through an `ALGOKIT_DISPENSER_ACCESS_TOKEN` environment variable. If neither is provided, an error is thrown.\n *\n * The request timeout can be provided as a parameter. If not provided, a default value is used.\n *\n * @property {string} authToken - The authentication token used for API requests.\n * @property {number} requestTimeout - The timeout for API requests, in seconds.\n *\n * @method fund - Sends a funding request to the dispenser API to fund the specified address with the given amount of Algo.\n * @method refund - Sends a refund request to the dispenser API for the specified refundTxnId.\n * @method limit - Sends a request to the dispenser API to get the funding limit for the Algo asset.\n *\n * @example\n * ```typescript\n * const client = new TestNetDispenserApiClient({ authToken: 'your_auth_token', requestTimeout: 30 });\n * const fundResponse = await client.fund('your_address', 100);\n * const limitResponse = await client.getLimit();\n * await client.refund('your_transaction_id');\n * ```\n *\n * @throws {Error} If neither the environment variable 'ALGOKIT_DISPENSER_ACCESS_TOKEN' nor the authToken parameter were provided.\n */\nexport class TestNetDispenserApiClient {\n private _authToken: string\n private _requestTimeout: number\n\n constructor(params?: TestNetDispenserApiClientParams) {\n const authTokenFromEnv = process?.env?.[DISPENSER_ACCESS_TOKEN_KEY]\n\n if (params?.authToken) {\n this._authToken = params.authToken\n } else if (authTokenFromEnv) {\n this._authToken = authTokenFromEnv\n } else {\n throw new Error(\n `Can't init AlgoKit TestNet Dispenser API client because neither environment variable ${DISPENSER_ACCESS_TOKEN_KEY} or the authToken were provided.`,\n )\n }\n\n this._requestTimeout = params?.requestTimeout || DEFAULT_DISPENSER_REQUEST_TIMEOUT\n }\n\n get authToken(): string {\n return this._authToken\n }\n\n get requestTimeout(): number {\n return this._requestTimeout\n }\n\n /**\n * Processes a dispenser API request.\n *\n * @param authToken - The authentication token.\n * @param urlSuffix - The URL suffix for the API request.\n * @param body - The request body.\n * @param method - The HTTP method.\n *\n * @returns The API response.\n */\n private async processDispenserRequest(\n authToken: string,\n urlSuffix: string,\n body: Record<string, string | number> | null = null,\n method = 'POST',\n ): Promise<Response> {\n const headers = { Authorization: `Bearer ${authToken}` }\n\n const requestArgs: RequestInit = {\n method: method,\n headers: headers,\n signal: AbortSignal.timeout(this.requestTimeout * 1000),\n }\n\n if (body) {\n requestArgs.body = JSON.stringify(body)\n }\n\n const response = await fetch(`${DISPENSER_BASE_URL}/${urlSuffix}`, requestArgs)\n if (!response.ok) {\n let error_message = `Error processing dispenser API request: ${response.status}`\n let error_response = null\n try {\n error_response = await response.json()\n } catch {\n // suppress exception\n }\n\n if (error_response && (error_response as ErrorResponse).code) {\n error_message = (error_response as ErrorResponse).code!\n } else if (response.status === 400) {\n const errorResponse = (await response.json()) as { message: string }\n error_message = errorResponse.message\n }\n\n throw new Error(error_message)\n }\n return response\n }\n\n /**\n * Sends a funding request to the dispenser API to fund the specified address with the given amount of Algo.\n *\n * @param address - The address to fund.\n * @param amount - The amount of µAlgo to fund.\n *\n * @returns DispenserFundResponse: An object containing the transaction ID and funded amount.\n */\n async fund(address: string | Address, amount: number | bigint): Promise<DispenserFundResponse> {\n const response = await this.processDispenserRequest(\n this.authToken,\n `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}`,\n {\n receiver: typeof address === 'string' ? address : address.toString(),\n amount: Number(amount),\n assetID: dispenserAssets[DispenserAssetName.Algo].assetId,\n },\n 'POST',\n )\n\n const content = (await response.json()) as { txID: string; amount: number }\n return { txId: content.txID, amount: content.amount }\n }\n\n /**\n * Sends a refund request to the dispenser API for the specified refundTxnId.\n *\n * @param refundTxnId - The transaction ID to refund.\n */\n async refund(refundTxnId: string): Promise<void> {\n await this.processDispenserRequest(this.authToken, 'refund', { refundTransactionID: refundTxnId }, 'POST')\n }\n\n /**\n * Sends a request to the dispenser API to get the funding limit for the Algo asset.\n *\n * @returns DispenserLimitResponse: An object containing the funding limit amount.\n */\n async getLimit(): Promise<DispenserLimitResponse> {\n const response = await this.processDispenserRequest(\n this.authToken,\n `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}/limit`,\n null,\n 'GET',\n )\n const content = (await response.json()) as { amount: number }\n\n return { amount: content.amount }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -85,14 +85,15 @@ class TestNetDispenserApiClient {
85
85
  try {
86
86
  error_response = await response.json();
87
87
  }
88
- catch (err) {
88
+ catch {
89
89
  // suppress exception
90
90
  }
91
91
  if (error_response && error_response.code) {
92
92
  error_message = error_response.code;
93
93
  }
94
94
  else if (response.status === 400) {
95
- error_message = (await response.json()).message;
95
+ const errorResponse = (await response.json());
96
+ error_message = errorResponse.message;
96
97
  }
97
98
  throw new Error(error_message);
98
99
  }
@@ -107,8 +108,12 @@ class TestNetDispenserApiClient {
107
108
  * @returns DispenserFundResponse: An object containing the transaction ID and funded amount.
108
109
  */
109
110
  async fund(address, amount) {
110
- const response = await this.processDispenserRequest(this.authToken, `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}`, { receiver: address, amount: amount, assetID: dispenserAssets[DispenserAssetName.Algo].assetId }, 'POST');
111
- const content = await response.json();
111
+ const response = await this.processDispenserRequest(this.authToken, `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}`, {
112
+ receiver: typeof address === 'string' ? address : address.toString(),
113
+ amount: Number(amount),
114
+ assetID: dispenserAssets[DispenserAssetName.Algo].assetId,
115
+ }, 'POST');
116
+ const content = (await response.json());
112
117
  return { txId: content.txID, amount: content.amount };
113
118
  }
114
119
  /**
@@ -126,7 +131,7 @@ class TestNetDispenserApiClient {
126
131
  */
127
132
  async getLimit() {
128
133
  const response = await this.processDispenserRequest(this.authToken, `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}/limit`, null, 'GET');
129
- const content = await response.json();
134
+ const content = (await response.json());
130
135
  return { amount: content.amount };
131
136
  }
132
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dispenser-client.mjs","sources":["../../src/types/dispenser-client.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispenser-client.mjs","sources":["../../src/types/dispenser-client.ts"],"sourcesContent":["import { Address } from 'algosdk'\n\nconst DISPENSER_BASE_URL = 'https://api.dispenser.algorandfoundation.tools'\nconst DEFAULT_DISPENSER_REQUEST_TIMEOUT = 15\nconst DISPENSER_ACCESS_TOKEN_KEY = 'ALGOKIT_DISPENSER_ACCESS_TOKEN'\n\ninterface ErrorResponse {\n code?: string\n}\n\nenum DispenserAssetName {\n Algo = 0,\n}\n\nconst dispenserAssets = {\n [DispenserAssetName.Algo]: {\n assetId: 0,\n decimals: 6,\n description: 'Algo',\n },\n}\n\n/** The TestNet Dispenser API response when funding. */\nexport interface DispenserFundResponse {\n /** The ID of the transaction that was issued to fund the account. */\n txId: string\n /** The number of µAlgo that was funded. */\n amount: number\n}\n\n/** The TestNet Dispenser API response when getting the current limit. */\nexport interface DispenserLimitResponse {\n /** The limit, in µAlgo, that you can currently fund. */\n amount: number\n}\n\n/** The parameters to construct a TestNet Dispenser API client. */\nexport interface TestNetDispenserApiClientParams {\n /** The API auth token */\n authToken: string\n /** The request timeout in seconds */\n requestTimeout?: number\n}\n\n/**\n * `TestNetDispenserApiClient` is a class that provides methods to interact with the [Algorand TestNet Dispenser API](https://github.com/algorandfoundation/algokit/blob/main/docs/testnet_api.md).\n * It allows you to fund an address with Algo, refund a transaction, and get the funding limit for the Algo asset.\n *\n * The class requires an authentication token and a request timeout to be initialized. The authentication token can be provided\n * either directly as a parameter or through an `ALGOKIT_DISPENSER_ACCESS_TOKEN` environment variable. If neither is provided, an error is thrown.\n *\n * The request timeout can be provided as a parameter. If not provided, a default value is used.\n *\n * @property {string} authToken - The authentication token used for API requests.\n * @property {number} requestTimeout - The timeout for API requests, in seconds.\n *\n * @method fund - Sends a funding request to the dispenser API to fund the specified address with the given amount of Algo.\n * @method refund - Sends a refund request to the dispenser API for the specified refundTxnId.\n * @method limit - Sends a request to the dispenser API to get the funding limit for the Algo asset.\n *\n * @example\n * ```typescript\n * const client = new TestNetDispenserApiClient({ authToken: 'your_auth_token', requestTimeout: 30 });\n * const fundResponse = await client.fund('your_address', 100);\n * const limitResponse = await client.getLimit();\n * await client.refund('your_transaction_id');\n * ```\n *\n * @throws {Error} If neither the environment variable 'ALGOKIT_DISPENSER_ACCESS_TOKEN' nor the authToken parameter were provided.\n */\nexport class TestNetDispenserApiClient {\n private _authToken: string\n private _requestTimeout: number\n\n constructor(params?: TestNetDispenserApiClientParams) {\n const authTokenFromEnv = process?.env?.[DISPENSER_ACCESS_TOKEN_KEY]\n\n if (params?.authToken) {\n this._authToken = params.authToken\n } else if (authTokenFromEnv) {\n this._authToken = authTokenFromEnv\n } else {\n throw new Error(\n `Can't init AlgoKit TestNet Dispenser API client because neither environment variable ${DISPENSER_ACCESS_TOKEN_KEY} or the authToken were provided.`,\n )\n }\n\n this._requestTimeout = params?.requestTimeout || DEFAULT_DISPENSER_REQUEST_TIMEOUT\n }\n\n get authToken(): string {\n return this._authToken\n }\n\n get requestTimeout(): number {\n return this._requestTimeout\n }\n\n /**\n * Processes a dispenser API request.\n *\n * @param authToken - The authentication token.\n * @param urlSuffix - The URL suffix for the API request.\n * @param body - The request body.\n * @param method - The HTTP method.\n *\n * @returns The API response.\n */\n private async processDispenserRequest(\n authToken: string,\n urlSuffix: string,\n body: Record<string, string | number> | null = null,\n method = 'POST',\n ): Promise<Response> {\n const headers = { Authorization: `Bearer ${authToken}` }\n\n const requestArgs: RequestInit = {\n method: method,\n headers: headers,\n signal: AbortSignal.timeout(this.requestTimeout * 1000),\n }\n\n if (body) {\n requestArgs.body = JSON.stringify(body)\n }\n\n const response = await fetch(`${DISPENSER_BASE_URL}/${urlSuffix}`, requestArgs)\n if (!response.ok) {\n let error_message = `Error processing dispenser API request: ${response.status}`\n let error_response = null\n try {\n error_response = await response.json()\n } catch {\n // suppress exception\n }\n\n if (error_response && (error_response as ErrorResponse).code) {\n error_message = (error_response as ErrorResponse).code!\n } else if (response.status === 400) {\n const errorResponse = (await response.json()) as { message: string }\n error_message = errorResponse.message\n }\n\n throw new Error(error_message)\n }\n return response\n }\n\n /**\n * Sends a funding request to the dispenser API to fund the specified address with the given amount of Algo.\n *\n * @param address - The address to fund.\n * @param amount - The amount of µAlgo to fund.\n *\n * @returns DispenserFundResponse: An object containing the transaction ID and funded amount.\n */\n async fund(address: string | Address, amount: number | bigint): Promise<DispenserFundResponse> {\n const response = await this.processDispenserRequest(\n this.authToken,\n `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}`,\n {\n receiver: typeof address === 'string' ? address : address.toString(),\n amount: Number(amount),\n assetID: dispenserAssets[DispenserAssetName.Algo].assetId,\n },\n 'POST',\n )\n\n const content = (await response.json()) as { txID: string; amount: number }\n return { txId: content.txID, amount: content.amount }\n }\n\n /**\n * Sends a refund request to the dispenser API for the specified refundTxnId.\n *\n * @param refundTxnId - The transaction ID to refund.\n */\n async refund(refundTxnId: string): Promise<void> {\n await this.processDispenserRequest(this.authToken, 'refund', { refundTransactionID: refundTxnId }, 'POST')\n }\n\n /**\n * Sends a request to the dispenser API to get the funding limit for the Algo asset.\n *\n * @returns DispenserLimitResponse: An object containing the funding limit amount.\n */\n async getLimit(): Promise<DispenserLimitResponse> {\n const response = await this.processDispenserRequest(\n this.authToken,\n `fund/${dispenserAssets[DispenserAssetName.Algo].assetId}/limit`,\n null,\n 'GET',\n )\n const content = (await response.json()) as { amount: number }\n\n return { amount: content.amount }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Expands types for IntelliSense so they are more human readable
3
+ * See https://stackoverflow.com/a/69288824
4
+ */
5
+ export type Expand<T> = T extends (...args: infer A) => infer R ? (...args: Expand<A>) => Expand<R> : T extends infer O ? {
6
+ [K in keyof O]: O[K];
7
+ } : never;
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=expand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=expand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}