@algorandfoundation/algokit-utils 10.0.0-alpha.4 → 10.0.0-alpha.41

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 (1132) hide show
  1. package/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +11 -16
  2. package/abi/index.d.ts +2 -1
  3. package/abi/index.js +4 -0
  4. package/abi/index.mjs +2 -1
  5. package/account-manager.d.ts +447 -0
  6. package/account-manager.js +618 -0
  7. package/account-manager.js.map +1 -0
  8. package/account-manager.mjs +614 -0
  9. package/account-manager.mjs.map +1 -0
  10. package/account.d.ts +156 -0
  11. package/account.js +11 -0
  12. package/account.js.map +1 -0
  13. package/account.mjs +9 -0
  14. package/account.mjs.map +1 -0
  15. package/algo25/index.js +1 -0
  16. package/algod-client/index.d.ts +3 -7
  17. package/algod-client/index.js +4 -5
  18. package/algod-client/index.mjs +2 -2
  19. package/algorand-client-transaction-creator.d.ts +891 -0
  20. package/algorand-client-transaction-creator.js +736 -0
  21. package/algorand-client-transaction-creator.js.map +1 -0
  22. package/algorand-client-transaction-creator.mjs +734 -0
  23. package/algorand-client-transaction-creator.mjs.map +1 -0
  24. package/algorand-client-transaction-sender.d.ts +1099 -0
  25. package/algorand-client-transaction-sender.js +928 -0
  26. package/algorand-client-transaction-sender.js.map +1 -0
  27. package/algorand-client-transaction-sender.mjs +926 -0
  28. package/algorand-client-transaction-sender.mjs.map +1 -0
  29. package/algorand-client.d.ts +266 -0
  30. package/algorand-client.js +350 -0
  31. package/algorand-client.js.map +1 -0
  32. package/algorand-client.mjs +349 -0
  33. package/algorand-client.mjs.map +1 -0
  34. package/amount.d.ts +58 -3
  35. package/amount.js +109 -17
  36. package/amount.js.map +1 -1
  37. package/amount.mjs +100 -11
  38. package/amount.mjs.map +1 -1
  39. package/app-client.d.ts +1064 -0
  40. package/app-client.js +912 -0
  41. package/app-client.js.map +1 -0
  42. package/app-client.mjs +910 -0
  43. package/app-client.mjs.map +1 -0
  44. package/app-deployer.d.ts +166 -0
  45. package/app-deployer.js +354 -0
  46. package/app-deployer.js.map +1 -0
  47. package/app-deployer.mjs +353 -0
  48. package/app-deployer.mjs.map +1 -0
  49. package/app-factory.d.ts +816 -0
  50. package/app-factory.js +449 -0
  51. package/app-factory.js.map +1 -0
  52. package/app-factory.mjs +448 -0
  53. package/app-factory.mjs.map +1 -0
  54. package/app-manager.d.ts +323 -0
  55. package/app-manager.js +469 -0
  56. package/app-manager.js.map +1 -0
  57. package/app-manager.mjs +468 -0
  58. package/app-manager.mjs.map +1 -0
  59. package/app-spec.d.ts +203 -0
  60. package/app-spec.js +138 -0
  61. package/app-spec.js.map +1 -0
  62. package/app-spec.mjs +137 -0
  63. package/app-spec.mjs.map +1 -0
  64. package/app.d.ts +257 -0
  65. package/app.js +50 -0
  66. package/app.js.map +1 -0
  67. package/app.mjs +42 -0
  68. package/app.mjs.map +1 -0
  69. package/asset-manager.d.ts +215 -0
  70. package/asset-manager.js +170 -0
  71. package/asset-manager.js.map +1 -0
  72. package/asset-manager.mjs +169 -0
  73. package/asset-manager.mjs.map +1 -0
  74. package/async-event-emitter.d.ts +16 -0
  75. package/async-event-emitter.js +39 -0
  76. package/async-event-emitter.js.map +1 -0
  77. package/async-event-emitter.mjs +37 -0
  78. package/async-event-emitter.mjs.map +1 -0
  79. package/client-manager.d.ts +475 -0
  80. package/client-manager.js +617 -0
  81. package/client-manager.js.map +1 -0
  82. package/client-manager.mjs +616 -0
  83. package/client-manager.mjs.map +1 -0
  84. package/common/index.d.ts +28 -0
  85. package/common/index.js +110 -0
  86. package/common/index.mjs +26 -0
  87. package/composer.d.ts +947 -0
  88. package/composer.js +1585 -0
  89. package/composer.js.map +1 -0
  90. package/composer.mjs +1583 -0
  91. package/composer.mjs.map +1 -0
  92. package/config.d.ts +1 -1
  93. package/config.js +3 -2
  94. package/config.js.map +1 -1
  95. package/config.mjs +1 -1
  96. package/config.mjs.map +1 -1
  97. package/crypto/index.d.ts +5 -0
  98. package/crypto/index.js +14 -0
  99. package/crypto/index.mjs +6 -0
  100. package/debugging.d.ts +47 -0
  101. package/debugging.js +21 -0
  102. package/debugging.js.map +1 -0
  103. package/debugging.mjs +15 -0
  104. package/debugging.mjs.map +1 -0
  105. package/dispenser-client.d.ts +91 -0
  106. package/dispenser-client.js +129 -0
  107. package/dispenser-client.js.map +1 -0
  108. package/dispenser-client.mjs +128 -0
  109. package/dispenser-client.mjs.map +1 -0
  110. package/expand.d.ts +2 -0
  111. package/expand.js +0 -0
  112. package/expand.mjs +0 -0
  113. package/index.d.ts +28 -7
  114. package/index.js +39 -10
  115. package/index.mjs +21 -6
  116. package/indexer-client/index.d.ts +2 -2
  117. package/indexer-client/index.js +7 -6
  118. package/indexer-client/index.mjs +2 -2
  119. package/{indexer-lookup.d.ts → indexer-client/indexer-lookup.d.ts} +8 -11
  120. package/{indexer-lookup.mjs → indexer-client/indexer-lookup.js} +6 -10
  121. package/indexer-client/indexer-lookup.js.map +1 -0
  122. package/{indexer-lookup.js → indexer-client/indexer-lookup.mjs} +3 -18
  123. package/indexer-client/indexer-lookup.mjs.map +1 -0
  124. package/indexer.d.ts +40 -0
  125. package/indexer.js +39 -0
  126. package/indexer.js.map +1 -0
  127. package/indexer.mjs +35 -0
  128. package/indexer.mjs.map +1 -0
  129. package/instance-of.d.ts +8 -0
  130. package/kmd-account-manager.d.ts +74 -0
  131. package/kmd-account-manager.js +168 -0
  132. package/kmd-account-manager.js.map +1 -0
  133. package/kmd-account-manager.mjs +165 -0
  134. package/kmd-account-manager.mjs.map +1 -0
  135. package/kmd-client/index.d.ts +1 -2
  136. package/kmd-client/index.js +1 -5
  137. package/kmd-client/index.mjs +1 -2
  138. package/lifecycle-events.d.ts +14 -0
  139. package/lifecycle-events.js +12 -0
  140. package/lifecycle-events.js.map +1 -0
  141. package/lifecycle-events.mjs +10 -0
  142. package/lifecycle-events.mjs.map +1 -0
  143. package/logging.d.ts +13 -0
  144. package/logging.js +48 -0
  145. package/logging.js.map +1 -0
  146. package/logging.mjs +42 -0
  147. package/logging.mjs.map +1 -0
  148. package/logic-error.d.ts +39 -0
  149. package/logic-error.js +55 -0
  150. package/logic-error.js.map +1 -0
  151. package/logic-error.mjs +53 -0
  152. package/logic-error.mjs.map +1 -0
  153. package/network-client.d.ts +43 -0
  154. package/network-client.js +15 -0
  155. package/network-client.js.map +1 -0
  156. package/network-client.mjs +13 -0
  157. package/network-client.mjs.map +1 -0
  158. package/network-manager.d.ts +143 -0
  159. package/network-manager.js +191 -0
  160. package/network-manager.js.map +1 -0
  161. package/network-manager.mjs +190 -0
  162. package/network-manager.mjs.map +1 -0
  163. package/package.json +28 -6
  164. package/packages/abi/src/abi-method.js +18 -19
  165. package/packages/abi/src/abi-method.js.map +1 -1
  166. package/packages/abi/src/abi-method.mjs +17 -17
  167. package/packages/abi/src/abi-method.mjs.map +1 -1
  168. package/packages/abi/src/abi-type.d.ts +1 -3
  169. package/packages/abi/src/abi-type.js +7 -36
  170. package/packages/abi/src/abi-type.js.map +1 -1
  171. package/packages/abi/src/abi-type.mjs +7 -36
  172. package/packages/abi/src/abi-type.mjs.map +1 -1
  173. package/packages/abi/src/arc56-contract.js +1 -0
  174. package/packages/abi/src/arc56-contract.js.map +1 -1
  175. package/packages/abi/src/arc56-contract.mjs +1 -0
  176. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  177. package/packages/abi/src/utils.d.ts +22 -0
  178. package/packages/abi/src/utils.js +57 -0
  179. package/packages/abi/src/utils.js.map +1 -0
  180. package/packages/abi/src/utils.mjs +55 -0
  181. package/packages/abi/src/utils.mjs.map +1 -0
  182. package/packages/algo25/src/index.d.ts +2 -2
  183. package/packages/algo25/src/index.js +2 -2
  184. package/packages/algo25/src/index.js.map +1 -1
  185. package/packages/algo25/src/index.mjs +1 -1
  186. package/packages/algo25/src/index.mjs.map +1 -1
  187. package/packages/algod_client/src/apis/api-service.d.ts +44 -44
  188. package/packages/algod_client/src/apis/api-service.js +155 -155
  189. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  190. package/packages/algod_client/src/apis/api-service.mjs +155 -155
  191. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  192. package/packages/algod_client/src/core/api-error.js +3 -1
  193. package/packages/algod_client/src/core/api-error.js.map +1 -1
  194. package/packages/algod_client/src/core/api-error.mjs +3 -1
  195. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  196. package/packages/algod_client/src/core/base-http-request.js.map +1 -1
  197. package/packages/algod_client/src/core/base-http-request.mjs.map +1 -1
  198. package/packages/algod_client/src/core/fetch-http-request.js.map +1 -1
  199. package/packages/algod_client/src/core/fetch-http-request.mjs.map +1 -1
  200. package/packages/algod_client/src/core/model-runtime.js +6 -6
  201. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  202. package/packages/algod_client/src/core/model-runtime.mjs +8 -8
  203. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  204. package/packages/algod_client/src/core/request.js.map +1 -1
  205. package/packages/algod_client/src/core/request.mjs.map +1 -1
  206. package/packages/algod_client/src/models/account-application-response.js.map +1 -1
  207. package/packages/algod_client/src/models/account-application-response.mjs.map +1 -1
  208. package/packages/algod_client/src/models/account-asset-response.js.map +1 -1
  209. package/packages/algod_client/src/models/account-asset-response.mjs.map +1 -1
  210. package/packages/algod_client/src/models/account-participation.js +4 -4
  211. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  212. package/packages/algod_client/src/models/account-participation.mjs +4 -4
  213. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  214. package/packages/algod_client/src/models/account-state-delta.js.map +1 -1
  215. package/packages/algod_client/src/models/account-state-delta.mjs.map +1 -1
  216. package/packages/algod_client/src/models/account.js.map +1 -1
  217. package/packages/algod_client/src/models/account.mjs.map +1 -1
  218. package/packages/algod_client/src/models/application-initial-states.js.map +1 -1
  219. package/packages/algod_client/src/models/application-initial-states.mjs.map +1 -1
  220. package/packages/algod_client/src/models/application-kv-storage.js.map +1 -1
  221. package/packages/algod_client/src/models/application-kv-storage.mjs.map +1 -1
  222. package/packages/algod_client/src/models/application-local-state.js.map +1 -1
  223. package/packages/algod_client/src/models/application-local-state.mjs.map +1 -1
  224. package/packages/algod_client/src/models/application-params.js.map +1 -1
  225. package/packages/algod_client/src/models/application-params.mjs.map +1 -1
  226. package/packages/algod_client/src/models/application-state-operation.js.map +1 -1
  227. package/packages/algod_client/src/models/application-state-operation.mjs.map +1 -1
  228. package/packages/algod_client/src/models/application-state-schema.d.ts +2 -2
  229. package/packages/algod_client/src/models/application-state-schema.js +2 -2
  230. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  231. package/packages/algod_client/src/models/application-state-schema.mjs +2 -2
  232. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  233. package/packages/algod_client/src/models/application.js.map +1 -1
  234. package/packages/algod_client/src/models/application.mjs.map +1 -1
  235. package/packages/algod_client/src/models/asset-holding.js.map +1 -1
  236. package/packages/algod_client/src/models/asset-holding.mjs.map +1 -1
  237. package/packages/algod_client/src/models/asset-params.js +2 -1
  238. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  239. package/packages/algod_client/src/models/asset-params.mjs +2 -1
  240. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  241. package/packages/algod_client/src/models/asset.js.map +1 -1
  242. package/packages/algod_client/src/models/asset.mjs.map +1 -1
  243. package/packages/algod_client/src/models/avm-key-value.js.map +1 -1
  244. package/packages/algod_client/src/models/avm-key-value.mjs.map +1 -1
  245. package/packages/algod_client/src/models/avm-value.js.map +1 -1
  246. package/packages/algod_client/src/models/avm-value.mjs.map +1 -1
  247. package/packages/algod_client/src/models/block-hash-response.js.map +1 -1
  248. package/packages/algod_client/src/models/block-hash-response.mjs.map +1 -1
  249. package/packages/algod_client/src/models/block-response.js +1 -2
  250. package/packages/algod_client/src/models/block-response.js.map +1 -1
  251. package/packages/algod_client/src/models/block-response.mjs +2 -3
  252. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  253. package/packages/algod_client/src/models/block-txids-response.js.map +1 -1
  254. package/packages/algod_client/src/models/block-txids-response.mjs.map +1 -1
  255. package/packages/algod_client/src/models/block.d.ts +60 -40
  256. package/packages/algod_client/src/models/block.js +184 -108
  257. package/packages/algod_client/src/models/block.js.map +1 -1
  258. package/packages/algod_client/src/models/block.mjs +184 -108
  259. package/packages/algod_client/src/models/block.mjs.map +1 -1
  260. package/packages/algod_client/src/models/box-descriptor.js.map +1 -1
  261. package/packages/algod_client/src/models/box-descriptor.mjs.map +1 -1
  262. package/packages/algod_client/src/models/box.js.map +1 -1
  263. package/packages/algod_client/src/models/box.mjs.map +1 -1
  264. package/packages/algod_client/src/models/boxes-response.js.map +1 -1
  265. package/packages/algod_client/src/models/boxes-response.mjs.map +1 -1
  266. package/packages/algod_client/src/models/build-version.js.map +1 -1
  267. package/packages/algod_client/src/models/build-version.mjs.map +1 -1
  268. package/packages/algod_client/src/models/compile-response.js.map +1 -1
  269. package/packages/algod_client/src/models/compile-response.mjs.map +1 -1
  270. package/packages/algod_client/src/models/disassemble-response.js.map +1 -1
  271. package/packages/algod_client/src/models/disassemble-response.mjs.map +1 -1
  272. package/packages/algod_client/src/models/eval-delta-key-value.js +2 -2
  273. package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
  274. package/packages/algod_client/src/models/eval-delta-key-value.mjs +2 -2
  275. package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
  276. package/packages/algod_client/src/models/eval-delta.js +2 -2
  277. package/packages/algod_client/src/models/eval-delta.js.map +1 -1
  278. package/packages/algod_client/src/models/eval-delta.mjs +2 -2
  279. package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
  280. package/packages/algod_client/src/models/genesis-allocation.js.map +1 -1
  281. package/packages/algod_client/src/models/genesis-allocation.mjs.map +1 -1
  282. package/packages/algod_client/src/models/genesis.js.map +1 -1
  283. package/packages/algod_client/src/models/genesis.mjs.map +1 -1
  284. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js.map +1 -1
  285. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs.map +1 -1
  286. package/packages/algod_client/src/models/get-sync-round-response.js.map +1 -1
  287. package/packages/algod_client/src/models/get-sync-round-response.mjs.map +1 -1
  288. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js.map +1 -1
  289. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs.map +1 -1
  290. package/packages/algod_client/src/models/ledger-state-delta.js +1 -1
  291. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  292. package/packages/algod_client/src/models/ledger-state-delta.mjs +2 -2
  293. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  294. package/packages/algod_client/src/models/light-block-header-proof.js.map +1 -1
  295. package/packages/algod_client/src/models/light-block-header-proof.mjs.map +1 -1
  296. package/packages/algod_client/src/models/node-status-response.js.map +1 -1
  297. package/packages/algod_client/src/models/node-status-response.mjs.map +1 -1
  298. package/packages/algod_client/src/models/pending-transaction-response.js.map +1 -1
  299. package/packages/algod_client/src/models/pending-transaction-response.mjs.map +1 -1
  300. package/packages/algod_client/src/models/pending-transactions-response.js.map +1 -1
  301. package/packages/algod_client/src/models/pending-transactions-response.mjs.map +1 -1
  302. package/packages/algod_client/src/models/post-transactions-response.js.map +1 -1
  303. package/packages/algod_client/src/models/post-transactions-response.mjs.map +1 -1
  304. package/packages/algod_client/src/models/scratch-change.js.map +1 -1
  305. package/packages/algod_client/src/models/scratch-change.mjs.map +1 -1
  306. package/packages/algod_client/src/models/simulate-initial-states.js.map +1 -1
  307. package/packages/algod_client/src/models/simulate-initial-states.mjs.map +1 -1
  308. package/packages/algod_client/src/models/simulate-request-transaction-group.js.map +1 -1
  309. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs.map +1 -1
  310. package/packages/algod_client/src/models/simulate-request.js +1 -1
  311. package/packages/algod_client/src/models/simulate-request.js.map +1 -1
  312. package/packages/algod_client/src/models/simulate-request.mjs +1 -1
  313. package/packages/algod_client/src/models/simulate-request.mjs.map +1 -1
  314. package/packages/algod_client/src/models/simulate-response.d.ts +3 -1
  315. package/packages/algod_client/src/models/simulate-response.js +10 -1
  316. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  317. package/packages/algod_client/src/models/simulate-response.mjs +9 -2
  318. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  319. package/packages/algod_client/src/models/simulate-trace-config.js.map +1 -1
  320. package/packages/algod_client/src/models/simulate-trace-config.mjs.map +1 -1
  321. package/packages/algod_client/src/models/simulate-transaction-group-result.js.map +1 -1
  322. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs.map +1 -1
  323. package/packages/algod_client/src/models/simulate-transaction-result.js.map +1 -1
  324. package/packages/algod_client/src/models/simulate-transaction-result.mjs.map +1 -1
  325. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.d.ts +3 -5
  326. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js +4 -6
  327. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  328. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs +3 -5
  329. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  330. package/packages/algod_client/src/models/simulation-eval-overrides.js.map +1 -1
  331. package/packages/algod_client/src/models/simulation-eval-overrides.mjs.map +1 -1
  332. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js.map +1 -1
  333. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs.map +1 -1
  334. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js.map +1 -1
  335. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs.map +1 -1
  336. package/packages/algod_client/src/models/source-map.js.map +1 -1
  337. package/packages/algod_client/src/models/source-map.mjs.map +1 -1
  338. package/packages/algod_client/src/models/state-delta.js.map +1 -1
  339. package/packages/algod_client/src/models/state-delta.mjs.map +1 -1
  340. package/packages/algod_client/src/models/state-proof-message.js.map +1 -1
  341. package/packages/algod_client/src/models/state-proof-message.mjs.map +1 -1
  342. package/packages/algod_client/src/models/state-proof.js.map +1 -1
  343. package/packages/algod_client/src/models/state-proof.mjs.map +1 -1
  344. package/packages/algod_client/src/models/supply-response.js.map +1 -1
  345. package/packages/algod_client/src/models/supply-response.mjs.map +1 -1
  346. package/packages/algod_client/src/models/teal-key-value-store.js.map +1 -1
  347. package/packages/algod_client/src/models/teal-key-value-store.mjs.map +1 -1
  348. package/packages/algod_client/src/models/teal-key-value.js.map +1 -1
  349. package/packages/algod_client/src/models/teal-key-value.mjs.map +1 -1
  350. package/packages/algod_client/src/models/teal-value.js.map +1 -1
  351. package/packages/algod_client/src/models/teal-value.mjs.map +1 -1
  352. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js.map +1 -1
  353. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs.map +1 -1
  354. package/packages/algod_client/src/models/transaction-parameters-response.js +2 -2
  355. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  356. package/packages/algod_client/src/models/transaction-parameters-response.mjs +2 -2
  357. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  358. package/packages/algod_client/src/models/transaction-proof.js.map +1 -1
  359. package/packages/algod_client/src/models/transaction-proof.mjs.map +1 -1
  360. package/packages/algod_client/src/models/version.js.map +1 -1
  361. package/packages/algod_client/src/models/version.mjs.map +1 -1
  362. package/packages/common/src/address.d.ts +14 -3
  363. package/packages/common/src/address.js +14 -13
  364. package/packages/common/src/address.js.map +1 -1
  365. package/packages/common/src/address.mjs +8 -11
  366. package/packages/common/src/address.mjs.map +1 -1
  367. package/packages/common/src/array.d.ts +6 -0
  368. package/packages/common/src/codecs/composite/array.d.ts +25 -0
  369. package/packages/common/src/codecs/composite/array.js +1 -0
  370. package/packages/common/src/codecs/composite/array.js.map +1 -1
  371. package/packages/common/src/codecs/composite/array.mjs +1 -1
  372. package/packages/common/src/codecs/composite/array.mjs.map +1 -1
  373. package/packages/common/src/codecs/composite/map.d.ts +27 -0
  374. package/packages/common/src/codecs/composite/map.js +7 -4
  375. package/packages/common/src/codecs/composite/map.js.map +1 -1
  376. package/packages/common/src/codecs/composite/map.mjs +7 -4
  377. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  378. package/packages/common/src/codecs/composite/record.d.ts +20 -0
  379. package/packages/common/src/codecs/composite/record.js +1 -2
  380. package/packages/common/src/codecs/composite/record.js.map +1 -1
  381. package/packages/common/src/codecs/composite/record.mjs.map +1 -1
  382. package/packages/common/src/codecs/models/array-model.d.ts +19 -0
  383. package/packages/common/src/codecs/models/array-model.js.map +1 -1
  384. package/packages/common/src/codecs/models/array-model.mjs.map +1 -1
  385. package/packages/common/src/codecs/models/object-model.js +2 -2
  386. package/packages/common/src/codecs/models/object-model.js.map +1 -1
  387. package/packages/common/src/codecs/models/object-model.mjs +2 -2
  388. package/packages/common/src/codecs/models/object-model.mjs.map +1 -1
  389. package/packages/common/src/codecs/models/primitive-model.d.ts +19 -0
  390. package/packages/common/src/codecs/models/primitive-model.js.map +1 -1
  391. package/packages/common/src/codecs/models/primitive-model.mjs.map +1 -1
  392. package/packages/common/src/codecs/primitives/address.d.ts +16 -0
  393. package/packages/common/src/codecs/primitives/address.js +1 -2
  394. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  395. package/packages/common/src/codecs/primitives/bigint.d.ts +13 -0
  396. package/packages/common/src/codecs/primitives/boolean.d.ts +10 -0
  397. package/packages/common/src/codecs/primitives/bytes-base64.d.ts +15 -0
  398. package/packages/common/src/codecs/primitives/bytes-base64.js +26 -0
  399. package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -0
  400. package/packages/common/src/codecs/primitives/bytes-base64.mjs +25 -0
  401. package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -0
  402. package/packages/common/src/codecs/primitives/bytes.d.ts +15 -0
  403. package/packages/common/src/codecs/primitives/bytes.js +1 -2
  404. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  405. package/packages/common/src/codecs/primitives/fixed-bytes.d.ts +19 -0
  406. package/packages/common/src/codecs/primitives/fixed-bytes.js +1 -2
  407. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  408. package/packages/common/src/codecs/primitives/fixed-bytes.mjs.map +1 -1
  409. package/packages/common/src/codecs/primitives/number.d.ts +11 -0
  410. package/packages/common/src/codecs/primitives/string.d.ts +13 -0
  411. package/packages/common/src/codecs/primitives/unknown.d.ts +27 -0
  412. package/packages/common/src/codecs/types.d.ts +12 -1
  413. package/packages/common/src/codecs/wire.d.ts +17 -1
  414. package/packages/common/src/codecs/wire.js +1 -2
  415. package/packages/common/src/codecs/wire.js.map +1 -1
  416. package/packages/common/src/codecs/wire.mjs.map +1 -1
  417. package/packages/common/src/constants.d.ts +34 -0
  418. package/packages/common/src/constants.js +2 -0
  419. package/packages/common/src/constants.js.map +1 -1
  420. package/packages/common/src/constants.mjs +2 -1
  421. package/packages/common/src/constants.mjs.map +1 -1
  422. package/packages/common/src/encoding.d.ts +10 -0
  423. package/packages/common/src/encoding.js +31 -0
  424. package/packages/common/src/encoding.js.map +1 -0
  425. package/packages/common/src/encoding.mjs +25 -0
  426. package/packages/common/src/encoding.mjs.map +1 -0
  427. package/packages/common/src/json.d.ts +17 -0
  428. package/packages/common/src/json.js +2 -2
  429. package/packages/common/src/json.mjs +2 -2
  430. package/packages/common/src/json.mjs.map +1 -1
  431. package/packages/common/src/msgpack.d.ts +11 -0
  432. package/packages/common/src/msgpack.js +1 -2
  433. package/packages/common/src/msgpack.js.map +1 -1
  434. package/packages/{sdk/src/logic → common/src}/sourcemap.d.ts +1 -1
  435. package/packages/{sdk/src/logic → common/src}/sourcemap.js +3 -3
  436. package/packages/common/src/sourcemap.js.map +1 -0
  437. package/packages/{sdk/src/logic → common/src}/sourcemap.mjs +1 -1
  438. package/packages/common/src/sourcemap.mjs.map +1 -0
  439. package/packages/crypto/src/ed25519.d.ts +60 -0
  440. package/packages/crypto/src/ed25519.js +59 -0
  441. package/packages/crypto/src/ed25519.js.map +1 -0
  442. package/packages/crypto/src/ed25519.mjs +54 -0
  443. package/packages/crypto/src/ed25519.mjs.map +1 -0
  444. package/packages/crypto/src/hash.d.ts +8 -0
  445. package/packages/crypto/src/hash.js +15 -0
  446. package/packages/crypto/src/hash.js.map +1 -0
  447. package/packages/crypto/src/hash.mjs +14 -0
  448. package/packages/crypto/src/hash.mjs.map +1 -0
  449. package/packages/crypto/src/hd.d.ts +40 -0
  450. package/packages/crypto/src/hd.js +37 -0
  451. package/packages/crypto/src/hd.js.map +1 -0
  452. package/packages/crypto/src/hd.mjs +36 -0
  453. package/packages/crypto/src/hd.mjs.map +1 -0
  454. package/packages/crypto/src/index.d.ts +28 -0
  455. package/packages/crypto/src/index.js +141 -0
  456. package/packages/crypto/src/index.js.map +1 -0
  457. package/packages/crypto/src/index.mjs +138 -0
  458. package/packages/crypto/src/index.mjs.map +1 -0
  459. package/packages/indexer_client/src/apis/api-service.d.ts +1 -1
  460. package/packages/indexer_client/src/apis/api-service.js +12 -12
  461. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  462. package/packages/indexer_client/src/apis/api-service.mjs +12 -12
  463. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  464. package/packages/indexer_client/src/core/api-error.js +3 -1
  465. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  466. package/packages/indexer_client/src/core/api-error.mjs +3 -1
  467. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  468. package/packages/indexer_client/src/core/base-http-request.js.map +1 -1
  469. package/packages/indexer_client/src/core/base-http-request.mjs.map +1 -1
  470. package/packages/indexer_client/src/core/fetch-http-request.js.map +1 -1
  471. package/packages/indexer_client/src/core/fetch-http-request.mjs.map +1 -1
  472. package/packages/indexer_client/src/core/model-runtime.js +0 -15
  473. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  474. package/packages/indexer_client/src/core/model-runtime.mjs +1 -13
  475. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  476. package/packages/indexer_client/src/core/request.js.map +1 -1
  477. package/packages/indexer_client/src/core/request.mjs.map +1 -1
  478. package/packages/indexer_client/src/models/account-participation.js +4 -4
  479. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  480. package/packages/indexer_client/src/models/account-participation.mjs +4 -4
  481. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  482. package/packages/indexer_client/src/models/account-response.js.map +1 -1
  483. package/packages/indexer_client/src/models/account-response.mjs.map +1 -1
  484. package/packages/indexer_client/src/models/account-state-delta.js.map +1 -1
  485. package/packages/indexer_client/src/models/account-state-delta.mjs.map +1 -1
  486. package/packages/indexer_client/src/models/account.js.map +1 -1
  487. package/packages/indexer_client/src/models/account.mjs.map +1 -1
  488. package/packages/indexer_client/src/models/accounts-response.js.map +1 -1
  489. package/packages/indexer_client/src/models/accounts-response.mjs.map +1 -1
  490. package/packages/indexer_client/src/models/application-local-state.js.map +1 -1
  491. package/packages/indexer_client/src/models/application-local-state.mjs.map +1 -1
  492. package/packages/indexer_client/src/models/application-local-states-response.js.map +1 -1
  493. package/packages/indexer_client/src/models/application-local-states-response.mjs.map +1 -1
  494. package/packages/indexer_client/src/models/application-log-data.js.map +1 -1
  495. package/packages/indexer_client/src/models/application-log-data.mjs.map +1 -1
  496. package/packages/indexer_client/src/models/application-logs-response.js.map +1 -1
  497. package/packages/indexer_client/src/models/application-logs-response.mjs.map +1 -1
  498. package/packages/indexer_client/src/models/application-params.js.map +1 -1
  499. package/packages/indexer_client/src/models/application-params.mjs.map +1 -1
  500. package/packages/indexer_client/src/models/application-response.js.map +1 -1
  501. package/packages/indexer_client/src/models/application-response.mjs.map +1 -1
  502. package/packages/indexer_client/src/models/application-state-schema.d.ts +2 -2
  503. package/packages/indexer_client/src/models/application-state-schema.js +2 -2
  504. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  505. package/packages/indexer_client/src/models/application-state-schema.mjs +2 -2
  506. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  507. package/packages/indexer_client/src/models/application.js.map +1 -1
  508. package/packages/indexer_client/src/models/application.mjs.map +1 -1
  509. package/packages/indexer_client/src/models/applications-response.js.map +1 -1
  510. package/packages/indexer_client/src/models/applications-response.mjs.map +1 -1
  511. package/packages/indexer_client/src/models/asset-balances-response.js.map +1 -1
  512. package/packages/indexer_client/src/models/asset-balances-response.mjs.map +1 -1
  513. package/packages/indexer_client/src/models/asset-holding.js.map +1 -1
  514. package/packages/indexer_client/src/models/asset-holding.mjs.map +1 -1
  515. package/packages/indexer_client/src/models/asset-holdings-response.js.map +1 -1
  516. package/packages/indexer_client/src/models/asset-holdings-response.mjs.map +1 -1
  517. package/packages/indexer_client/src/models/asset-params.js +2 -1
  518. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  519. package/packages/indexer_client/src/models/asset-params.mjs +2 -1
  520. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  521. package/packages/indexer_client/src/models/asset-response.js.map +1 -1
  522. package/packages/indexer_client/src/models/asset-response.mjs.map +1 -1
  523. package/packages/indexer_client/src/models/asset.js.map +1 -1
  524. package/packages/indexer_client/src/models/asset.mjs.map +1 -1
  525. package/packages/indexer_client/src/models/assets-response.js.map +1 -1
  526. package/packages/indexer_client/src/models/assets-response.mjs.map +1 -1
  527. package/packages/indexer_client/src/models/block-headers-response.js.map +1 -1
  528. package/packages/indexer_client/src/models/block-headers-response.mjs.map +1 -1
  529. package/packages/indexer_client/src/models/block-rewards.js.map +1 -1
  530. package/packages/indexer_client/src/models/block-rewards.mjs.map +1 -1
  531. package/packages/indexer_client/src/models/block-upgrade-state.js.map +1 -1
  532. package/packages/indexer_client/src/models/block-upgrade-state.mjs.map +1 -1
  533. package/packages/indexer_client/src/models/block-upgrade-vote.js.map +1 -1
  534. package/packages/indexer_client/src/models/block-upgrade-vote.mjs.map +1 -1
  535. package/packages/indexer_client/src/models/block.d.ts +5 -5
  536. package/packages/indexer_client/src/models/block.js +13 -13
  537. package/packages/indexer_client/src/models/block.js.map +1 -1
  538. package/packages/indexer_client/src/models/block.mjs +13 -13
  539. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  540. package/packages/indexer_client/src/models/box-descriptor.js.map +1 -1
  541. package/packages/indexer_client/src/models/box-descriptor.mjs.map +1 -1
  542. package/packages/indexer_client/src/models/box-reference.js.map +1 -1
  543. package/packages/indexer_client/src/models/box-reference.mjs.map +1 -1
  544. package/packages/indexer_client/src/models/box.js.map +1 -1
  545. package/packages/indexer_client/src/models/box.mjs.map +1 -1
  546. package/packages/indexer_client/src/models/boxes-response.js.map +1 -1
  547. package/packages/indexer_client/src/models/boxes-response.mjs.map +1 -1
  548. package/packages/indexer_client/src/models/eval-delta-key-value.d.ts +1 -1
  549. package/packages/indexer_client/src/models/eval-delta-key-value.js +2 -2
  550. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  551. package/packages/indexer_client/src/models/eval-delta-key-value.mjs +2 -2
  552. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  553. package/packages/indexer_client/src/models/eval-delta.d.ts +1 -1
  554. package/packages/indexer_client/src/models/eval-delta.js +2 -2
  555. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  556. package/packages/indexer_client/src/models/eval-delta.mjs +2 -2
  557. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  558. package/packages/indexer_client/src/models/hash-factory.js.map +1 -1
  559. package/packages/indexer_client/src/models/hash-factory.mjs.map +1 -1
  560. package/packages/indexer_client/src/models/hb-proof-fields.js +6 -6
  561. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  562. package/packages/indexer_client/src/models/hb-proof-fields.mjs +6 -6
  563. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  564. package/packages/indexer_client/src/models/health-check.js.map +1 -1
  565. package/packages/indexer_client/src/models/health-check.mjs.map +1 -1
  566. package/packages/indexer_client/src/models/holding-ref.js.map +1 -1
  567. package/packages/indexer_client/src/models/holding-ref.mjs.map +1 -1
  568. package/packages/indexer_client/src/models/indexer-state-proof-message.js.map +1 -1
  569. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs.map +1 -1
  570. package/packages/indexer_client/src/models/locals-ref.js.map +1 -1
  571. package/packages/indexer_client/src/models/locals-ref.mjs.map +1 -1
  572. package/packages/indexer_client/src/models/merkle-array-proof.js.map +1 -1
  573. package/packages/indexer_client/src/models/merkle-array-proof.mjs.map +1 -1
  574. package/packages/indexer_client/src/models/mini-asset-holding.js.map +1 -1
  575. package/packages/indexer_client/src/models/mini-asset-holding.mjs.map +1 -1
  576. package/packages/indexer_client/src/models/on-completion.js.map +1 -1
  577. package/packages/indexer_client/src/models/on-completion.mjs.map +1 -1
  578. package/packages/indexer_client/src/models/participation-updates.d.ts +2 -2
  579. package/packages/indexer_client/src/models/participation-updates.js +2 -2
  580. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  581. package/packages/indexer_client/src/models/participation-updates.mjs +2 -2
  582. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  583. package/packages/indexer_client/src/models/resource-ref.js.map +1 -1
  584. package/packages/indexer_client/src/models/resource-ref.mjs.map +1 -1
  585. package/packages/indexer_client/src/models/state-delta.js.map +1 -1
  586. package/packages/indexer_client/src/models/state-delta.mjs.map +1 -1
  587. package/packages/indexer_client/src/models/state-proof-fields.js.map +1 -1
  588. package/packages/indexer_client/src/models/state-proof-fields.mjs.map +1 -1
  589. package/packages/indexer_client/src/models/state-proof-participant.js.map +1 -1
  590. package/packages/indexer_client/src/models/state-proof-participant.mjs.map +1 -1
  591. package/packages/indexer_client/src/models/state-proof-reveal.js.map +1 -1
  592. package/packages/indexer_client/src/models/state-proof-reveal.mjs.map +1 -1
  593. package/packages/indexer_client/src/models/state-proof-sig-slot.js.map +1 -1
  594. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs.map +1 -1
  595. package/packages/indexer_client/src/models/state-proof-signature.js.map +1 -1
  596. package/packages/indexer_client/src/models/state-proof-signature.mjs.map +1 -1
  597. package/packages/indexer_client/src/models/state-proof-tracking.js.map +1 -1
  598. package/packages/indexer_client/src/models/state-proof-tracking.mjs.map +1 -1
  599. package/packages/indexer_client/src/models/state-proof-verifier.js +2 -2
  600. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  601. package/packages/indexer_client/src/models/state-proof-verifier.mjs +2 -2
  602. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  603. package/packages/indexer_client/src/models/state-schema.d.ts +2 -2
  604. package/packages/indexer_client/src/models/state-schema.js +2 -2
  605. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  606. package/packages/indexer_client/src/models/state-schema.mjs +2 -2
  607. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  608. package/packages/indexer_client/src/models/teal-key-value-store.js.map +1 -1
  609. package/packages/indexer_client/src/models/teal-key-value-store.mjs.map +1 -1
  610. package/packages/indexer_client/src/models/teal-key-value.d.ts +1 -1
  611. package/packages/indexer_client/src/models/teal-key-value.js +2 -2
  612. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  613. package/packages/indexer_client/src/models/teal-key-value.mjs +2 -2
  614. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  615. package/packages/indexer_client/src/models/teal-value.js.map +1 -1
  616. package/packages/indexer_client/src/models/teal-value.mjs.map +1 -1
  617. package/packages/indexer_client/src/models/transaction-application.js.map +1 -1
  618. package/packages/indexer_client/src/models/transaction-application.mjs.map +1 -1
  619. package/packages/indexer_client/src/models/transaction-asset-config.js.map +1 -1
  620. package/packages/indexer_client/src/models/transaction-asset-config.mjs.map +1 -1
  621. package/packages/indexer_client/src/models/transaction-asset-freeze.js.map +1 -1
  622. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs.map +1 -1
  623. package/packages/indexer_client/src/models/transaction-asset-transfer.js.map +1 -1
  624. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs.map +1 -1
  625. package/packages/indexer_client/src/models/transaction-heartbeat.js +2 -1
  626. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  627. package/packages/indexer_client/src/models/transaction-heartbeat.mjs +2 -1
  628. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  629. package/packages/indexer_client/src/models/transaction-keyreg.js +4 -4
  630. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  631. package/packages/indexer_client/src/models/transaction-keyreg.mjs +4 -4
  632. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  633. package/packages/indexer_client/src/models/transaction-payment.js.map +1 -1
  634. package/packages/indexer_client/src/models/transaction-payment.mjs.map +1 -1
  635. package/packages/indexer_client/src/models/transaction-response.js.map +1 -1
  636. package/packages/indexer_client/src/models/transaction-response.mjs.map +1 -1
  637. package/packages/indexer_client/src/models/transaction-signature-logicsig.js +2 -1
  638. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  639. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs +2 -1
  640. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  641. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js +3 -3
  642. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  643. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs +3 -3
  644. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  645. package/packages/indexer_client/src/models/transaction-signature-multisig.js.map +1 -1
  646. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs.map +1 -1
  647. package/packages/indexer_client/src/models/transaction-signature.js.map +1 -1
  648. package/packages/indexer_client/src/models/transaction-signature.mjs.map +1 -1
  649. package/packages/indexer_client/src/models/transaction-state-proof.d.ts +1 -1
  650. package/packages/indexer_client/src/models/transaction-state-proof.js +2 -2
  651. package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
  652. package/packages/indexer_client/src/models/transaction-state-proof.mjs +2 -2
  653. package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
  654. package/packages/indexer_client/src/models/transaction.d.ts +2 -2
  655. package/packages/indexer_client/src/models/transaction.js +6 -5
  656. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  657. package/packages/indexer_client/src/models/transaction.mjs +6 -5
  658. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  659. package/packages/indexer_client/src/models/transactions-response.js.map +1 -1
  660. package/packages/indexer_client/src/models/transactions-response.mjs.map +1 -1
  661. package/packages/kmd_client/src/apis/api-service.d.ts +5 -5
  662. package/packages/kmd_client/src/apis/api-service.js +32 -32
  663. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  664. package/packages/kmd_client/src/apis/api-service.mjs +32 -32
  665. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  666. package/packages/kmd_client/src/core/api-error.js +3 -1
  667. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  668. package/packages/kmd_client/src/core/api-error.mjs +3 -1
  669. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  670. package/packages/kmd_client/src/core/base-http-request.js.map +1 -1
  671. package/packages/kmd_client/src/core/base-http-request.mjs.map +1 -1
  672. package/packages/kmd_client/src/core/fetch-http-request.js.map +1 -1
  673. package/packages/kmd_client/src/core/fetch-http-request.mjs.map +1 -1
  674. package/packages/kmd_client/src/core/model-runtime.js +2 -12
  675. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  676. package/packages/kmd_client/src/core/model-runtime.mjs +3 -11
  677. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  678. package/packages/kmd_client/src/core/request.js.map +1 -1
  679. package/packages/kmd_client/src/core/request.mjs.map +1 -1
  680. package/packages/kmd_client/src/models/create-wallet-request.js.map +1 -1
  681. package/packages/kmd_client/src/models/create-wallet-request.mjs.map +1 -1
  682. package/packages/kmd_client/src/models/create-wallet-response.js.map +1 -1
  683. package/packages/kmd_client/src/models/create-wallet-response.mjs.map +1 -1
  684. package/packages/kmd_client/src/models/delete-key-request.js.map +1 -1
  685. package/packages/kmd_client/src/models/delete-key-request.mjs.map +1 -1
  686. package/packages/kmd_client/src/models/delete-multisig-request.js.map +1 -1
  687. package/packages/kmd_client/src/models/delete-multisig-request.mjs.map +1 -1
  688. package/packages/kmd_client/src/models/export-key-request.js.map +1 -1
  689. package/packages/kmd_client/src/models/export-key-request.mjs.map +1 -1
  690. package/packages/kmd_client/src/models/export-key-response.js.map +1 -1
  691. package/packages/kmd_client/src/models/export-key-response.mjs.map +1 -1
  692. package/packages/kmd_client/src/models/export-master-key-request.js.map +1 -1
  693. package/packages/kmd_client/src/models/export-master-key-request.mjs.map +1 -1
  694. package/packages/kmd_client/src/models/export-master-key-response.js.map +1 -1
  695. package/packages/kmd_client/src/models/export-master-key-response.mjs.map +1 -1
  696. package/packages/kmd_client/src/models/export-multisig-request.js.map +1 -1
  697. package/packages/kmd_client/src/models/export-multisig-request.mjs.map +1 -1
  698. package/packages/kmd_client/src/models/export-multisig-response.js.map +1 -1
  699. package/packages/kmd_client/src/models/export-multisig-response.mjs.map +1 -1
  700. package/packages/kmd_client/src/models/generate-key-request.js.map +1 -1
  701. package/packages/kmd_client/src/models/generate-key-request.mjs.map +1 -1
  702. package/packages/kmd_client/src/models/generate-key-response.js.map +1 -1
  703. package/packages/kmd_client/src/models/generate-key-response.mjs.map +1 -1
  704. package/packages/kmd_client/src/models/import-key-request.js.map +1 -1
  705. package/packages/kmd_client/src/models/import-key-request.mjs.map +1 -1
  706. package/packages/kmd_client/src/models/import-key-response.js.map +1 -1
  707. package/packages/kmd_client/src/models/import-key-response.mjs.map +1 -1
  708. package/packages/kmd_client/src/models/import-multisig-request.js.map +1 -1
  709. package/packages/kmd_client/src/models/import-multisig-request.mjs.map +1 -1
  710. package/packages/kmd_client/src/models/import-multisig-response.js.map +1 -1
  711. package/packages/kmd_client/src/models/import-multisig-response.mjs.map +1 -1
  712. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js.map +1 -1
  713. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs.map +1 -1
  714. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js.map +1 -1
  715. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs.map +1 -1
  716. package/packages/kmd_client/src/models/list-keys-request.js.map +1 -1
  717. package/packages/kmd_client/src/models/list-keys-request.mjs.map +1 -1
  718. package/packages/kmd_client/src/models/list-keys-response.js.map +1 -1
  719. package/packages/kmd_client/src/models/list-keys-response.mjs.map +1 -1
  720. package/packages/kmd_client/src/models/list-multisig-request.js.map +1 -1
  721. package/packages/kmd_client/src/models/list-multisig-request.mjs.map +1 -1
  722. package/packages/kmd_client/src/models/list-multisig-response.js.map +1 -1
  723. package/packages/kmd_client/src/models/list-multisig-response.mjs.map +1 -1
  724. package/packages/kmd_client/src/models/list-wallets-response.js.map +1 -1
  725. package/packages/kmd_client/src/models/list-wallets-response.mjs.map +1 -1
  726. package/packages/kmd_client/src/models/multisig-sig.js.map +1 -1
  727. package/packages/kmd_client/src/models/multisig-sig.mjs.map +1 -1
  728. package/packages/kmd_client/src/models/multisig-subsig.js.map +1 -1
  729. package/packages/kmd_client/src/models/multisig-subsig.mjs.map +1 -1
  730. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js.map +1 -1
  731. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs.map +1 -1
  732. package/packages/kmd_client/src/models/rename-wallet-request.js.map +1 -1
  733. package/packages/kmd_client/src/models/rename-wallet-request.mjs.map +1 -1
  734. package/packages/kmd_client/src/models/rename-wallet-response.js.map +1 -1
  735. package/packages/kmd_client/src/models/rename-wallet-response.mjs.map +1 -1
  736. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js.map +1 -1
  737. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs.map +1 -1
  738. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js.map +1 -1
  739. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs.map +1 -1
  740. package/packages/kmd_client/src/models/sign-multisig-response.js.map +1 -1
  741. package/packages/kmd_client/src/models/sign-multisig-response.mjs.map +1 -1
  742. package/packages/kmd_client/src/models/sign-multisig-txn-request.js.map +1 -1
  743. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs.map +1 -1
  744. package/packages/kmd_client/src/models/sign-program-multisig-request.js.map +1 -1
  745. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs.map +1 -1
  746. package/packages/kmd_client/src/models/sign-program-multisig-response.js.map +1 -1
  747. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs.map +1 -1
  748. package/packages/kmd_client/src/models/sign-program-request.js.map +1 -1
  749. package/packages/kmd_client/src/models/sign-program-request.mjs.map +1 -1
  750. package/packages/kmd_client/src/models/sign-program-response.js.map +1 -1
  751. package/packages/kmd_client/src/models/sign-program-response.mjs.map +1 -1
  752. package/packages/kmd_client/src/models/sign-transaction-response.js.map +1 -1
  753. package/packages/kmd_client/src/models/sign-transaction-response.mjs.map +1 -1
  754. package/packages/kmd_client/src/models/sign-txn-request.js.map +1 -1
  755. package/packages/kmd_client/src/models/sign-txn-request.mjs.map +1 -1
  756. package/packages/kmd_client/src/models/tx-type.js.map +1 -1
  757. package/packages/kmd_client/src/models/tx-type.mjs.map +1 -1
  758. package/packages/kmd_client/src/models/versions-response.js.map +1 -1
  759. package/packages/kmd_client/src/models/versions-response.mjs.map +1 -1
  760. package/packages/kmd_client/src/models/wallet-handle.js.map +1 -1
  761. package/packages/kmd_client/src/models/wallet-handle.mjs.map +1 -1
  762. package/packages/kmd_client/src/models/wallet-info-request.js.map +1 -1
  763. package/packages/kmd_client/src/models/wallet-info-request.mjs.map +1 -1
  764. package/packages/kmd_client/src/models/wallet-info-response.js.map +1 -1
  765. package/packages/kmd_client/src/models/wallet-info-response.mjs.map +1 -1
  766. package/packages/kmd_client/src/models/wallet.js.map +1 -1
  767. package/packages/kmd_client/src/models/wallet.mjs.map +1 -1
  768. package/packages/testing/src/globalSetup.js +40 -0
  769. package/packages/testing/src/globalSetup.js.map +1 -0
  770. package/packages/testing/src/globalSetup.mjs +36 -0
  771. package/packages/testing/src/globalSetup.mjs.map +1 -0
  772. package/packages/testing/src/mockServer.js +95 -0
  773. package/packages/testing/src/mockServer.js.map +1 -0
  774. package/packages/testing/src/mockServer.mjs +83 -0
  775. package/packages/testing/src/mockServer.mjs.map +1 -0
  776. package/packages/transact/src/logicsig.d.ts +35 -33
  777. package/packages/transact/src/logicsig.js +75 -77
  778. package/packages/transact/src/logicsig.js.map +1 -1
  779. package/packages/transact/src/logicsig.mjs +78 -79
  780. package/packages/transact/src/logicsig.mjs.map +1 -1
  781. package/packages/transact/src/multisig.d.ts +11 -116
  782. package/packages/transact/src/multisig.js +108 -138
  783. package/packages/transact/src/multisig.js.map +1 -1
  784. package/packages/transact/src/multisig.mjs +109 -119
  785. package/packages/transact/src/multisig.mjs.map +1 -1
  786. package/packages/transact/src/signer.d.ts +11 -3
  787. package/packages/transact/src/signer.js +24 -2
  788. package/packages/transact/src/signer.js.map +1 -1
  789. package/packages/transact/src/signer.mjs +25 -4
  790. package/packages/transact/src/signer.mjs.map +1 -1
  791. package/packages/transact/src/transactions/app-call.d.ts +10 -15
  792. package/packages/transact/src/transactions/app-call.js +8 -8
  793. package/packages/transact/src/transactions/app-call.js.map +1 -1
  794. package/packages/transact/src/transactions/app-call.mjs +8 -8
  795. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  796. package/packages/transact/src/transactions/asset-config.d.ts +1 -6
  797. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  798. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  799. package/packages/transact/src/transactions/asset-freeze.d.ts +1 -6
  800. package/packages/transact/src/transactions/asset-transfer.d.ts +1 -6
  801. package/packages/transact/src/transactions/common.js +7 -7
  802. package/packages/transact/src/transactions/common.js.map +1 -1
  803. package/packages/transact/src/transactions/common.mjs +7 -7
  804. package/packages/transact/src/transactions/common.mjs.map +1 -1
  805. package/packages/transact/src/transactions/key-registration.d.ts +1 -8
  806. package/packages/transact/src/transactions/reference-types-meta.d.ts +26 -0
  807. package/packages/transact/src/transactions/reference-types-meta.js +71 -0
  808. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -0
  809. package/packages/transact/src/transactions/reference-types-meta.mjs +69 -0
  810. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -0
  811. package/packages/transact/src/transactions/signed-transaction-meta.js +8 -9
  812. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  813. package/packages/transact/src/transactions/signed-transaction-meta.mjs +8 -8
  814. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  815. package/packages/transact/src/transactions/signed-transaction.d.ts +22 -6
  816. package/packages/transact/src/transactions/signed-transaction.js +17 -1
  817. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  818. package/packages/transact/src/transactions/signed-transaction.mjs +16 -2
  819. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  820. package/packages/transact/src/transactions/state-proof.d.ts +1 -1
  821. package/packages/transact/src/transactions/transaction-meta.js +29 -23
  822. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  823. package/packages/transact/src/transactions/transaction-meta.mjs +29 -23
  824. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  825. package/packages/transact/src/transactions/transaction-type.js +11 -11
  826. package/packages/transact/src/transactions/transaction-type.js.map +1 -1
  827. package/packages/transact/src/transactions/transaction-type.mjs +11 -11
  828. package/packages/transact/src/transactions/transaction-type.mjs.map +1 -1
  829. package/packages/transact/src/transactions/transaction.d.ts +5 -2
  830. package/packages/transact/src/transactions/transaction.js +11 -10
  831. package/packages/transact/src/transactions/transaction.js.map +1 -1
  832. package/packages/transact/src/transactions/transaction.mjs +6 -5
  833. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  834. package/testing/account.d.ts +2 -2
  835. package/testing/account.js +2 -3
  836. package/testing/account.js.map +1 -1
  837. package/testing/account.mjs +2 -3
  838. package/testing/account.mjs.map +1 -1
  839. package/testing/fixtures/algokit-log-capture-fixture.d.ts +1 -1
  840. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  841. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  842. package/testing/fixtures/algorand-fixture.d.ts +5 -5
  843. package/testing/fixtures/algorand-fixture.js +2 -2
  844. package/testing/fixtures/algorand-fixture.js.map +1 -1
  845. package/testing/fixtures/algorand-fixture.mjs +2 -2
  846. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  847. package/testing/index.d.ts +2 -1
  848. package/testing/index.js +19 -0
  849. package/testing/index.mjs +3 -1
  850. package/testing/indexer.js.map +1 -1
  851. package/testing/indexer.mjs.map +1 -1
  852. package/testing/test-logger.d.ts +1 -1
  853. package/testing/test-logger.js.map +1 -1
  854. package/testing/test-logger.mjs.map +1 -1
  855. package/testing/types.d.ts +156 -0
  856. package/transact/index.d.ts +12 -11
  857. package/transact/index.js +10 -31
  858. package/transact/index.mjs +8 -11
  859. package/transaction/index.d.ts +4 -0
  860. package/transaction/index.js +10 -0
  861. package/transaction/index.mjs +4 -0
  862. package/transaction/perform-transaction-composer-simulate.d.ts +1 -1
  863. package/transaction/perform-transaction-composer-simulate.js.map +1 -1
  864. package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
  865. package/transaction/transaction.d.ts +2 -4
  866. package/transaction/transaction.js +2 -4
  867. package/transaction/transaction.js.map +1 -1
  868. package/transaction/transaction.mjs +2 -4
  869. package/transaction/transaction.mjs.map +1 -1
  870. package/transaction/types.d.ts +133 -0
  871. package/transactions/app-call.d.ts +6 -5
  872. package/transactions/app-call.js +49 -49
  873. package/transactions/app-call.js.map +1 -1
  874. package/transactions/app-call.mjs +49 -49
  875. package/transactions/app-call.mjs.map +1 -1
  876. package/transactions/asset-config.d.ts +1 -1
  877. package/transactions/asset-config.js +1 -1
  878. package/transactions/asset-config.js.map +1 -1
  879. package/transactions/asset-config.mjs +1 -1
  880. package/transactions/asset-config.mjs.map +1 -1
  881. package/transactions/common.d.ts +1 -1
  882. package/transactions/common.js.map +1 -1
  883. package/transactions/common.mjs.map +1 -1
  884. package/transactions/fee-coverage.js +6 -6
  885. package/transactions/fee-coverage.js.map +1 -1
  886. package/transactions/fee-coverage.mjs +6 -6
  887. package/transactions/fee-coverage.mjs.map +1 -1
  888. package/transactions/key-registration.d.ts +1 -1
  889. package/transactions/key-registration.js.map +1 -1
  890. package/transactions/key-registration.mjs.map +1 -1
  891. package/transactions/method-call.d.ts +2 -2
  892. package/transactions/method-call.js +74 -81
  893. package/transactions/method-call.js.map +1 -1
  894. package/transactions/method-call.mjs +74 -81
  895. package/transactions/method-call.mjs.map +1 -1
  896. package/transactions/payment.d.ts +1 -1
  897. package/transactions/payment.js.map +1 -1
  898. package/transactions/payment.mjs.map +1 -1
  899. package/types/account-manager.d.ts +11 -444
  900. package/types/account-manager.js +6 -606
  901. package/types/account-manager.js.map +1 -1
  902. package/types/account-manager.mjs +5 -604
  903. package/types/account-manager.mjs.map +1 -1
  904. package/types/account.d.ts +8 -150
  905. package/types/account.js +4 -4
  906. package/types/account.js.map +1 -1
  907. package/types/account.mjs +4 -4
  908. package/types/account.mjs.map +1 -1
  909. package/types/algorand-client-transaction-creator.d.ts +5 -1084
  910. package/types/algorand-client-transaction-creator.js +4 -721
  911. package/types/algorand-client-transaction-creator.js.map +1 -1
  912. package/types/algorand-client-transaction-creator.mjs +4 -721
  913. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  914. package/types/algorand-client-transaction-sender.d.ts +5 -1298
  915. package/types/algorand-client-transaction-sender.js +4 -920
  916. package/types/algorand-client-transaction-sender.js.map +1 -1
  917. package/types/algorand-client-transaction-sender.mjs +3 -918
  918. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  919. package/types/algorand-client.d.ts +5 -241
  920. package/types/algorand-client.js +4 -319
  921. package/types/algorand-client.js.map +1 -1
  922. package/types/algorand-client.mjs +3 -319
  923. package/types/algorand-client.mjs.map +1 -1
  924. package/types/amount.d.ts +6 -45
  925. package/types/amount.js +4 -60
  926. package/types/amount.js.map +1 -1
  927. package/types/amount.mjs +3 -60
  928. package/types/amount.mjs.map +1 -1
  929. package/types/app-client.d.ts +75 -2120
  930. package/types/app-client.js +4 -904
  931. package/types/app-client.js.map +1 -1
  932. package/types/app-client.mjs +3 -902
  933. package/types/app-client.mjs.map +1 -1
  934. package/types/app-deployer.d.ts +21 -161
  935. package/types/app-deployer.js +4 -347
  936. package/types/app-deployer.js.map +1 -1
  937. package/types/app-deployer.mjs +3 -347
  938. package/types/app-deployer.mjs.map +1 -1
  939. package/types/app-factory.d.ts +21 -957
  940. package/types/app-factory.js +4 -442
  941. package/types/app-factory.js.map +1 -1
  942. package/types/app-factory.mjs +3 -442
  943. package/types/app-factory.mjs.map +1 -1
  944. package/types/app-manager.d.ts +15 -316
  945. package/types/app-manager.js +4 -461
  946. package/types/app-manager.js.map +1 -1
  947. package/types/app-manager.mjs +3 -461
  948. package/types/app-manager.mjs.map +1 -1
  949. package/types/app-spec.d.ts +39 -198
  950. package/types/app-spec.js +4 -124
  951. package/types/app-spec.js.map +1 -1
  952. package/types/app-spec.mjs +3 -124
  953. package/types/app-spec.mjs.map +1 -1
  954. package/types/app.d.ts +63 -248
  955. package/types/app.js +16 -37
  956. package/types/app.js.map +1 -1
  957. package/types/app.mjs +16 -37
  958. package/types/app.mjs.map +1 -1
  959. package/types/asset-manager.d.ts +9 -207
  960. package/types/asset-manager.js +4 -160
  961. package/types/asset-manager.js.map +1 -1
  962. package/types/asset-manager.mjs +3 -160
  963. package/types/asset-manager.mjs.map +1 -1
  964. package/types/async-event-emitter.d.ts +7 -14
  965. package/types/async-event-emitter.js +4 -32
  966. package/types/async-event-emitter.js.map +1 -1
  967. package/types/async-event-emitter.mjs +4 -32
  968. package/types/async-event-emitter.mjs.map +1 -1
  969. package/types/client-manager.d.ts +27 -470
  970. package/types/client-manager.js +4 -610
  971. package/types/client-manager.js.map +1 -1
  972. package/types/client-manager.mjs +3 -610
  973. package/types/client-manager.mjs.map +1 -1
  974. package/types/composer.d.ts +79 -935
  975. package/types/composer.js +4 -1566
  976. package/types/composer.js.map +1 -1
  977. package/types/composer.mjs +3 -1564
  978. package/types/composer.mjs.map +1 -1
  979. package/types/config.d.ts +7 -52
  980. package/types/config.js +4 -74
  981. package/types/config.js.map +1 -1
  982. package/types/config.mjs +3 -74
  983. package/types/config.mjs.map +1 -1
  984. package/types/debugging.d.ts +12 -33
  985. package/types/debugging.js +12 -10
  986. package/types/debugging.js.map +1 -1
  987. package/types/debugging.mjs +12 -10
  988. package/types/debugging.mjs.map +1 -1
  989. package/types/dispenser-client.d.ts +11 -85
  990. package/types/dispenser-client.js +4 -121
  991. package/types/dispenser-client.js.map +1 -1
  992. package/types/dispenser-client.mjs +3 -121
  993. package/types/dispenser-client.mjs.map +1 -1
  994. package/types/expand.d.ts +4 -5
  995. package/types/indexer.d.ts +16 -36
  996. package/types/indexer.js +8 -30
  997. package/types/indexer.js.map +1 -1
  998. package/types/indexer.mjs +8 -30
  999. package/types/indexer.mjs.map +1 -1
  1000. package/types/instance-of.d.ts +4 -4
  1001. package/types/kmd-account-manager.d.ts +5 -68
  1002. package/types/kmd-account-manager.js +4 -150
  1003. package/types/kmd-account-manager.js.map +1 -1
  1004. package/types/kmd-account-manager.mjs +3 -148
  1005. package/types/kmd-account-manager.mjs.map +1 -1
  1006. package/types/lifecycle-events.d.ts +7 -10
  1007. package/types/lifecycle-events.js +4 -5
  1008. package/types/lifecycle-events.js.map +1 -1
  1009. package/types/lifecycle-events.mjs +4 -5
  1010. package/types/lifecycle-events.mjs.map +1 -1
  1011. package/types/logging.d.ts +14 -9
  1012. package/types/logging.js +12 -37
  1013. package/types/logging.js.map +1 -1
  1014. package/types/logging.mjs +12 -37
  1015. package/types/logging.mjs.map +1 -1
  1016. package/types/logic-error.d.ts +8 -35
  1017. package/types/logic-error.js +4 -48
  1018. package/types/logic-error.js.map +1 -1
  1019. package/types/logic-error.mjs +4 -48
  1020. package/types/logic-error.mjs.map +1 -1
  1021. package/types/network-client.d.ts +10 -39
  1022. package/types/network-client.js +4 -8
  1023. package/types/network-client.js.map +1 -1
  1024. package/types/network-client.mjs +4 -8
  1025. package/types/network-client.mjs.map +1 -1
  1026. package/types/testing.d.ts +13 -151
  1027. package/types/transaction.d.ts +33 -128
  1028. package/updatable-config.d.ts +57 -0
  1029. package/updatable-config.js +80 -0
  1030. package/updatable-config.js.map +1 -0
  1031. package/updatable-config.mjs +80 -0
  1032. package/updatable-config.mjs.map +1 -0
  1033. package/util.js +1 -1
  1034. package/util.js.map +1 -1
  1035. package/util.mjs +1 -1
  1036. package/util.mjs.map +1 -1
  1037. package/_virtual/rolldown_runtime.mjs +0 -13
  1038. package/indexer-lookup.js.map +0 -1
  1039. package/indexer-lookup.mjs.map +0 -1
  1040. package/packages/algod_client/src/core/model-runtime.d.ts +0 -10
  1041. package/packages/algod_client/src/models/application-local-reference.d.ts +0 -20
  1042. package/packages/algod_client/src/models/application-local-reference.js +0 -23
  1043. package/packages/algod_client/src/models/application-local-reference.js.map +0 -1
  1044. package/packages/algod_client/src/models/application-local-reference.mjs +0 -23
  1045. package/packages/algod_client/src/models/application-local-reference.mjs.map +0 -1
  1046. package/packages/algod_client/src/models/asset-holding-reference.d.ts +0 -20
  1047. package/packages/algod_client/src/models/asset-holding-reference.js +0 -23
  1048. package/packages/algod_client/src/models/asset-holding-reference.js.map +0 -1
  1049. package/packages/algod_client/src/models/asset-holding-reference.mjs +0 -23
  1050. package/packages/algod_client/src/models/asset-holding-reference.mjs.map +0 -1
  1051. package/packages/algod_client/src/models/box-reference.d.ts +0 -17
  1052. package/packages/algod_client/src/models/box-reference.js +0 -23
  1053. package/packages/algod_client/src/models/box-reference.js.map +0 -1
  1054. package/packages/algod_client/src/models/box-reference.mjs +0 -23
  1055. package/packages/algod_client/src/models/box-reference.mjs.map +0 -1
  1056. package/packages/common/src/crypto.js +0 -13
  1057. package/packages/common/src/crypto.js.map +0 -1
  1058. package/packages/common/src/crypto.mjs +0 -11
  1059. package/packages/common/src/crypto.mjs.map +0 -1
  1060. package/packages/indexer_client/src/core/model-runtime.d.ts +0 -10
  1061. package/packages/kmd_client/src/core/model-runtime.d.ts +0 -10
  1062. package/packages/sdk/src/convert.d.ts +0 -17
  1063. package/packages/sdk/src/convert.js +0 -28
  1064. package/packages/sdk/src/convert.js.map +0 -1
  1065. package/packages/sdk/src/convert.mjs +0 -25
  1066. package/packages/sdk/src/convert.mjs.map +0 -1
  1067. package/packages/sdk/src/encoding/binarydata.d.ts +0 -34
  1068. package/packages/sdk/src/encoding/binarydata.js +0 -65
  1069. package/packages/sdk/src/encoding/binarydata.js.map +0 -1
  1070. package/packages/sdk/src/encoding/binarydata.mjs +0 -60
  1071. package/packages/sdk/src/encoding/binarydata.mjs.map +0 -1
  1072. package/packages/sdk/src/encoding/encoding.d.ts +0 -237
  1073. package/packages/sdk/src/encoding/encoding.js +0 -302
  1074. package/packages/sdk/src/encoding/encoding.js.map +0 -1
  1075. package/packages/sdk/src/encoding/encoding.mjs +0 -287
  1076. package/packages/sdk/src/encoding/encoding.mjs.map +0 -1
  1077. package/packages/sdk/src/encoding/schema/array.js +0 -35
  1078. package/packages/sdk/src/encoding/schema/array.js.map +0 -1
  1079. package/packages/sdk/src/encoding/schema/array.mjs +0 -35
  1080. package/packages/sdk/src/encoding/schema/array.mjs.map +0 -1
  1081. package/packages/sdk/src/encoding/schema/bytearray.js +0 -49
  1082. package/packages/sdk/src/encoding/schema/bytearray.js.map +0 -1
  1083. package/packages/sdk/src/encoding/schema/bytearray.mjs +0 -49
  1084. package/packages/sdk/src/encoding/schema/bytearray.mjs.map +0 -1
  1085. package/packages/sdk/src/encoding/schema/map.d.ts +0 -58
  1086. package/packages/sdk/src/encoding/schema/map.js +0 -110
  1087. package/packages/sdk/src/encoding/schema/map.js.map +0 -1
  1088. package/packages/sdk/src/encoding/schema/map.mjs +0 -107
  1089. package/packages/sdk/src/encoding/schema/map.mjs.map +0 -1
  1090. package/packages/sdk/src/encoding/schema/optional.js +0 -46
  1091. package/packages/sdk/src/encoding/schema/optional.js.map +0 -1
  1092. package/packages/sdk/src/encoding/schema/optional.mjs +0 -46
  1093. package/packages/sdk/src/encoding/schema/optional.mjs.map +0 -1
  1094. package/packages/sdk/src/encoding/schema/uint64.js +0 -30
  1095. package/packages/sdk/src/encoding/schema/uint64.js.map +0 -1
  1096. package/packages/sdk/src/encoding/schema/uint64.mjs +0 -30
  1097. package/packages/sdk/src/encoding/schema/uint64.mjs.map +0 -1
  1098. package/packages/sdk/src/encoding/uint64.d.ts +0 -34
  1099. package/packages/sdk/src/encoding/uint64.js +0 -34
  1100. package/packages/sdk/src/encoding/uint64.js.map +0 -1
  1101. package/packages/sdk/src/encoding/uint64.mjs +0 -33
  1102. package/packages/sdk/src/encoding/uint64.mjs.map +0 -1
  1103. package/packages/sdk/src/index.d.ts +0 -44
  1104. package/packages/sdk/src/index.js +0 -62
  1105. package/packages/sdk/src/index.js.map +0 -1
  1106. package/packages/sdk/src/index.mjs +0 -58
  1107. package/packages/sdk/src/index.mjs.map +0 -1
  1108. package/packages/sdk/src/logic/sourcemap.js.map +0 -1
  1109. package/packages/sdk/src/logic/sourcemap.mjs.map +0 -1
  1110. package/packages/sdk/src/nacl/naclWrappers.js +0 -14
  1111. package/packages/sdk/src/nacl/naclWrappers.js.map +0 -1
  1112. package/packages/sdk/src/nacl/naclWrappers.mjs +0 -11
  1113. package/packages/sdk/src/nacl/naclWrappers.mjs.map +0 -1
  1114. package/packages/sdk/src/types/intDecoding.d.ts +0 -28
  1115. package/packages/sdk/src/types/intDecoding.js +0 -32
  1116. package/packages/sdk/src/types/intDecoding.js.map +0 -1
  1117. package/packages/sdk/src/types/intDecoding.mjs +0 -31
  1118. package/packages/sdk/src/types/intDecoding.mjs.map +0 -1
  1119. package/packages/sdk/src/types/transactions/encoded.d.ts +0 -40
  1120. package/packages/sdk/src/types/transactions/encoded.js +0 -64
  1121. package/packages/sdk/src/types/transactions/encoded.js.map +0 -1
  1122. package/packages/sdk/src/types/transactions/encoded.mjs +0 -59
  1123. package/packages/sdk/src/types/transactions/encoded.mjs.map +0 -1
  1124. package/packages/sdk/src/utils/utils.d.ts +0 -64
  1125. package/packages/sdk/src/utils/utils.js +0 -140
  1126. package/packages/sdk/src/utils/utils.js.map +0 -1
  1127. package/packages/sdk/src/utils/utils.mjs +0 -128
  1128. package/packages/sdk/src/utils/utils.mjs.map +0 -1
  1129. package/packages/transact/src/transactions/common.d.ts +0 -37
  1130. package/sdk/index.d.ts +0 -10
  1131. package/sdk/index.js +0 -59
  1132. package/sdk/index.mjs +0 -11
package/app-manager.js ADDED
@@ -0,0 +1,469 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_address = require('./packages/common/src/address.js');
3
+ const require_sourcemap = require('./packages/common/src/sourcemap.js');
4
+ const require_app = require('./app.js');
5
+
6
+ //#region src/app-manager.ts
7
+ /** Allows management of application information. */
8
+ var AppManager = class AppManager {
9
+ _algod;
10
+ _compilationResults = {};
11
+ /**
12
+ * Creates an `AppManager`
13
+ * @param algod An algod instance
14
+ */
15
+ constructor(algod) {
16
+ this._algod = algod;
17
+ }
18
+ /**
19
+ * Compiles the given TEAL using algod and returns the result, including source map.
20
+ *
21
+ * The result of this compilation is also cached keyed by the TEAL
22
+ * code so it can be retrieved via `getCompilationResult`.
23
+ *
24
+ * This function is re-entrant; it will only compile the same code once.
25
+ *
26
+ * @param tealCode The TEAL code
27
+ * @returns The information about the compiled file
28
+ * @example
29
+ * ```typescript
30
+ * const compiled = await appManager.compileTeal(tealProgram)
31
+ * ```
32
+ */
33
+ async compileTeal(tealCode) {
34
+ if (this._compilationResults[tealCode]) return this._compilationResults[tealCode];
35
+ const compiled = await this._algod.tealCompile(tealCode, { sourcemap: true });
36
+ const result = {
37
+ teal: tealCode,
38
+ compiled: compiled.result,
39
+ compiledHash: compiled.hash,
40
+ compiledBase64ToBytes: new Uint8Array(Buffer.from(compiled.result, "base64")),
41
+ sourceMap: new require_sourcemap.ProgramSourceMap(compiled.sourcemap)
42
+ };
43
+ this._compilationResults[tealCode] = result;
44
+ return result;
45
+ }
46
+ /**
47
+ * Performs template substitution of a teal template and compiles it, returning the compiled result.
48
+ *
49
+ * Looks for `TMPL_{parameter}` for template replacements and replaces AlgoKit deploy-time control parameters
50
+ * if deployment metadata is specified.
51
+ *
52
+ * * `TMPL_UPDATABLE` for updatability / immutability control
53
+ * * `TMPL_DELETABLE` for deletability / permanence control
54
+ *
55
+ * @param tealTemplateCode The TEAL logic to compile
56
+ * @param templateParams Any parameters to replace in the .teal file before compiling
57
+ * @param deploymentMetadata The deployment metadata the app will be deployed with
58
+ * @returns The information about the compiled code
59
+ * @example
60
+ * ```typescript
61
+ * const compiled = await appManager.compileTealTemplate(tealTemplate, { TMPL_APP_ID: 12345n }, { updatable: true, deletable: false })
62
+ * ```
63
+ */
64
+ async compileTealTemplate(tealTemplateCode, templateParams, deploymentMetadata) {
65
+ let tealCode = AppManager.stripTealComments(tealTemplateCode);
66
+ tealCode = AppManager.replaceTealTemplateParams(tealCode, templateParams);
67
+ if (deploymentMetadata) tealCode = AppManager.replaceTealTemplateDeployTimeControlParams(tealCode, deploymentMetadata);
68
+ return await this.compileTeal(tealCode);
69
+ }
70
+ /**
71
+ * Returns a previous compilation result.
72
+ * @param tealCode The TEAL code
73
+ * @returns The information about the previously compiled file
74
+ * or `undefined` if that TEAL code wasn't previously compiled
75
+ * @example
76
+ * ```typescript
77
+ * const compiled = appManager.getCompilationResult(tealProgram)
78
+ * ```
79
+ */
80
+ getCompilationResult(tealCode) {
81
+ return this._compilationResults[tealCode];
82
+ }
83
+ /**
84
+ * Returns the current app information for the app with the given ID.
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const appInfo = await appManager.getById(12353n);
89
+ * ```
90
+ *
91
+ * @param appId The ID of the app
92
+ * @returns The app information
93
+ */
94
+ async getById(appId) {
95
+ const app = await this._algod.applicationById(appId);
96
+ const convertedGlobalState = (app.params.globalState ?? []).map((kv) => ({
97
+ key: kv.key,
98
+ value: kv.value
99
+ }));
100
+ return {
101
+ appId: BigInt(app.id),
102
+ appAddress: require_address.getApplicationAddress(app.id),
103
+ approvalProgram: app.params.approvalProgram,
104
+ clearStateProgram: app.params.clearStateProgram,
105
+ creator: app.params.creator,
106
+ localInts: app.params.localStateSchema?.numUints ?? 0,
107
+ localByteSlices: app.params.localStateSchema?.numByteSlices ?? 0,
108
+ globalInts: app.params.globalStateSchema?.numUints ?? 0,
109
+ globalByteSlices: app.params.globalStateSchema?.numByteSlices ?? 0,
110
+ extraProgramPages: app.params.extraProgramPages ?? 0,
111
+ globalState: AppManager.decodeAppState(convertedGlobalState),
112
+ version: app.params.version
113
+ };
114
+ }
115
+ /**
116
+ * Returns the current global state values for the given app ID and account address
117
+ *
118
+ * @param appId The ID of the app to return global state for
119
+ * @returns The current global state for the given app
120
+ * @example
121
+ * ```typescript
122
+ * const globalState = await appManager.getGlobalState(12353n);
123
+ * ```
124
+ */
125
+ async getGlobalState(appId) {
126
+ return (await this.getById(appId)).globalState;
127
+ }
128
+ /**
129
+ * Returns the current local state values for the given app ID and account address
130
+ *
131
+ * @param appId The ID of the app to return local state for
132
+ * @param address The string address of the account to get local state for the given app
133
+ * @returns The current local state for the given (app, account) combination
134
+ * @example
135
+ * ```typescript
136
+ * const localState = await appManager.getLocalState(12353n, 'ACCOUNTADDRESS');
137
+ * ```
138
+ */
139
+ async getLocalState(appId, address) {
140
+ const appInfo = await this._algod.accountApplicationInformation(require_address.getAddress(address).toString(), Number(appId));
141
+ if (!appInfo.appLocalState) throw new Error("Couldn't find local state");
142
+ if (!appInfo.appLocalState.keyValue || appInfo.appLocalState.keyValue.length === 0) return {};
143
+ const convertedState = appInfo.appLocalState.keyValue.map((kv) => ({
144
+ key: kv.key,
145
+ value: kv.value
146
+ }));
147
+ return AppManager.decodeAppState(convertedState);
148
+ }
149
+ /**
150
+ * Returns the names of the current boxes for the given app.
151
+ * @param appId The ID of the app return box names for
152
+ * @returns The current box names
153
+ * @example
154
+ * ```typescript
155
+ * const boxNames = await appManager.getBoxNames(12353n);
156
+ * ```
157
+ */
158
+ async getBoxNames(appId) {
159
+ return (await this._algod.applicationBoxes(appId)).boxes.map((b) => {
160
+ return {
161
+ nameRaw: b.name,
162
+ nameBase64: Buffer.from(b.name).toString("base64"),
163
+ name: Buffer.from(b.name).toString("utf-8")
164
+ };
165
+ });
166
+ }
167
+ /**
168
+ * Returns the value of the given box name for the given app.
169
+ * @param appId The ID of the app return box names for
170
+ * @param boxName The name of the box to return either as a string, binary array or `BoxName`
171
+ * @returns The current box value as a byte array
172
+ * @example
173
+ * ```typescript
174
+ * const boxValue = await appManager.getBoxValue(12353n, 'boxName');
175
+ * ```
176
+ */
177
+ async getBoxValue(appId, boxName) {
178
+ const boxId = typeof boxName === "object" && "nameRaw" in boxName ? boxName.nameRaw : boxName;
179
+ const name = AppManager.getBoxReference(boxId).name;
180
+ return (await this._algod.applicationBoxByName(Number(appId), name)).value;
181
+ }
182
+ /**
183
+ * Returns the value of the given box names for the given app.
184
+ * @param appId The ID of the app return box names for
185
+ * @param boxNames The names of the boxes to return either as a string, binary array or `BoxName`
186
+ * @returns The current box values as a byte array in the same order as the passed in box names
187
+ * @example
188
+ * ```typescript
189
+ * const boxValues = await appManager.getBoxValues(12353n, ['boxName1', 'boxName2']);
190
+ * ```
191
+ */
192
+ async getBoxValues(appId, boxNames) {
193
+ return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValue(appId, boxName)));
194
+ }
195
+ /**
196
+ * Returns the value of the given box name for the given app decoded based on the given ABI type.
197
+ * @param request The parameters for the box value request
198
+ * @returns The current box value as an ABI value
199
+ * @example
200
+ * ```typescript
201
+ * const boxValue = await appManager.getBoxValueFromABIType({ appId: 12353n, boxName: 'boxName', type: new ABIUintType(32) });
202
+ * ```
203
+ */
204
+ async getBoxValueFromABIType(request) {
205
+ const { appId, boxName, type } = request;
206
+ const value = await this.getBoxValue(appId, boxName);
207
+ return type.decode(value);
208
+ }
209
+ /**
210
+ * Returns the value of the given box names for the given app decoded based on the given ABI type.
211
+ * @param request The parameters for the box value request
212
+ * @returns The current box values as an ABI value in the same order as the passed in box names
213
+ * @example
214
+ * ```typescript
215
+ * const boxValues = await appManager.getBoxValuesFromABIType({ appId: 12353n, boxNames: ['boxName1', 'boxName2'], type: new ABIUintType(32) });
216
+ * ```
217
+ */
218
+ async getBoxValuesFromABIType(request) {
219
+ const { appId, boxNames, type } = request;
220
+ return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValueFromABIType({
221
+ appId,
222
+ boxName,
223
+ type
224
+ })));
225
+ }
226
+ /**
227
+ * Returns a `algosdk.BoxReference` given a `BoxIdentifier` or `BoxReference`.
228
+ * @param boxId The box to return a reference for
229
+ * @returns The box reference ready to pass into a `algosdk.Transaction`
230
+ * @example
231
+ * ```typescript
232
+ * const boxRef = AppManager.getBoxReference('boxName');
233
+ * ```
234
+ */
235
+ static getBoxReference(boxId) {
236
+ const ref = typeof boxId === "object" && "appId" in boxId ? boxId : {
237
+ appId: 0n,
238
+ name: boxId
239
+ };
240
+ return {
241
+ appId: ref.appId,
242
+ name: typeof ref.name === "string" ? new TextEncoder().encode(ref.name) : "length" in ref.name ? ref.name : ref.name.addr.publicKey
243
+ };
244
+ }
245
+ /**
246
+ * Converts an array of global/local state values from the algod api to a more friendly
247
+ * generic object keyed by the UTF-8 value of the key.
248
+ * @param state A `global-state`, `local-state`, `global-state-deltas` or `local-state-deltas`
249
+ * @returns An object keyeed by the UTF-8 representation of the key with various parsings of the values
250
+ * @example
251
+ * ```typescript
252
+ * const stateValues = AppManager.decodeAppState(state);
253
+ * ```
254
+ */
255
+ static decodeAppState(state) {
256
+ const stateValues = {};
257
+ for (const stateVal of state) {
258
+ const keyBase64 = Buffer.from(stateVal.key).toString("base64");
259
+ const keyRaw = stateVal.key;
260
+ const key = Buffer.from(stateVal.key).toString("utf-8");
261
+ const tealValue = stateVal.value;
262
+ const dataTypeFlag = Number("action" in tealValue ? tealValue.action : tealValue.type);
263
+ let valueBase64;
264
+ let valueRaw;
265
+ switch (dataTypeFlag) {
266
+ case 1:
267
+ valueBase64 = typeof tealValue.bytes === "string" ? tealValue.bytes : tealValue.bytes ? Buffer.from(tealValue.bytes).toString("base64") : "";
268
+ valueRaw = Buffer.from(valueBase64, "base64");
269
+ stateValues[key] = {
270
+ keyRaw,
271
+ keyBase64,
272
+ valueRaw: new Uint8Array(valueRaw),
273
+ valueBase64,
274
+ value: valueRaw.toString("utf-8")
275
+ };
276
+ break;
277
+ case 2: {
278
+ const value = tealValue.uint ?? 0;
279
+ stateValues[key] = {
280
+ keyRaw,
281
+ keyBase64,
282
+ value: BigInt(value)
283
+ };
284
+ break;
285
+ }
286
+ default: throw new Error(`Received unknown state data type of ${dataTypeFlag}`);
287
+ }
288
+ }
289
+ return stateValues;
290
+ }
291
+ /**
292
+ * Returns any ABI return values for the given app call arguments and transaction confirmation.
293
+ * @param confirmation The transaction confirmation from algod
294
+ * @param method The ABI method
295
+ * @returns The return value for the method call
296
+ * @example
297
+ * ```typescript
298
+ * const returnValue = AppManager.getABIReturn(confirmation, ABIMethod.fromSignature('hello(string)void'));
299
+ * ```
300
+ */
301
+ static getABIReturn(confirmation, method) {
302
+ if (!method || !confirmation) return;
303
+ if (method.returns.type === "void") return {
304
+ method,
305
+ rawReturnValue: void 0,
306
+ returnValue: void 0
307
+ };
308
+ try {
309
+ const logs = confirmation.logs || [];
310
+ if (logs.length === 0) throw new Error(`App call transaction did not log a return value`);
311
+ const lastLog = logs[logs.length - 1];
312
+ if (!AppManager.hasAbiReturnPrefix(lastLog)) throw new Error(`App call transaction did not log an ABI return value`);
313
+ const rawReturnValue = new Uint8Array(lastLog.slice(4));
314
+ return {
315
+ method,
316
+ rawReturnValue,
317
+ decodeError: void 0,
318
+ returnValue: method.returns.type.decode(rawReturnValue)
319
+ };
320
+ } catch (err) {
321
+ return {
322
+ method,
323
+ rawReturnValue: void 0,
324
+ decodeError: err,
325
+ returnValue: void 0
326
+ };
327
+ }
328
+ }
329
+ static hasAbiReturnPrefix(log) {
330
+ if (log.length < require_app.ABI_RETURN_PREFIX.length) return false;
331
+ for (let i = 0; i < require_app.ABI_RETURN_PREFIX.length; i++) if (log[i] !== require_app.ABI_RETURN_PREFIX[i]) return false;
332
+ return true;
333
+ }
334
+ /**
335
+ * Replaces AlgoKit deploy-time deployment control parameters within the given TEAL template code.
336
+ *
337
+ * * `TMPL_UPDATABLE` for updatability / immutability control
338
+ * * `TMPL_DELETABLE` for deletability / permanence control
339
+ *
340
+ * Note: If these values are defined, but the corresponding `TMPL_*` value
341
+ * isn't in the teal code it will throw an exception.
342
+ *
343
+ * @param tealTemplateCode The TEAL template code to substitute
344
+ * @param params The deploy-time deployment control parameter value to replace
345
+ * @returns The replaced TEAL code
346
+ * @example
347
+ * ```typescript
348
+ * const tealCode = AppManager.replaceTealTemplateDeployTimeControlParams(tealTemplate, { updatable: true, deletable: false });
349
+ * ```
350
+ */
351
+ static replaceTealTemplateDeployTimeControlParams(tealTemplateCode, params) {
352
+ if (params.updatable !== void 0) {
353
+ if (!tealTemplateCode.includes(require_app.UPDATABLE_TEMPLATE_NAME)) throw new Error(`Deploy-time updatability control requested for app deployment, but ${require_app.UPDATABLE_TEMPLATE_NAME} not present in TEAL code`);
354
+ tealTemplateCode = replaceTemplateVariable(tealTemplateCode, require_app.UPDATABLE_TEMPLATE_NAME, (params.updatable ? 1 : 0).toString());
355
+ }
356
+ if (params.deletable !== void 0) {
357
+ if (!tealTemplateCode.includes(require_app.DELETABLE_TEMPLATE_NAME)) throw new Error(`Deploy-time deletability control requested for app deployment, but ${require_app.DELETABLE_TEMPLATE_NAME} not present in TEAL code`);
358
+ tealTemplateCode = replaceTemplateVariable(tealTemplateCode, require_app.DELETABLE_TEMPLATE_NAME, (params.deletable ? 1 : 0).toString());
359
+ }
360
+ return tealTemplateCode;
361
+ }
362
+ /**
363
+ * Performs template substitution of a teal file.
364
+ *
365
+ * Looks for `TMPL_{parameter}` for template replacements.
366
+ *
367
+ * @param tealTemplateCode The TEAL template code to make parameter replacements in
368
+ * @param templateParams Any parameters to replace in the teal code
369
+ * @returns The TEAL code with replacements
370
+ * @example
371
+ * ```typescript
372
+ * const tealCode = AppManager.replaceTealTemplateParams(tealTemplate, { TMPL_APP_ID: 12345n });
373
+ * ```
374
+ */
375
+ static replaceTealTemplateParams(tealTemplateCode, templateParams) {
376
+ if (templateParams !== void 0) for (const key in templateParams) {
377
+ const value = templateParams[key];
378
+ const token = `TMPL_${key.replace(/^TMPL_/, "")}`;
379
+ if (typeof value === "number" || typeof value === "bigint") tealTemplateCode = tealTemplateCode.replace(new RegExp(`(?<=bytes )${token}`, "g"), `0x${value.toString(16).padStart(16, "0")}`);
380
+ tealTemplateCode = replaceTemplateVariable(tealTemplateCode, token, typeof value === "string" ? `0x${Buffer.from(value, "utf-8").toString("hex")}` : ArrayBuffer.isView(value) ? `0x${Buffer.from(value).toString("hex")}` : value.toString());
381
+ }
382
+ return tealTemplateCode;
383
+ }
384
+ /**
385
+ * Remove comments from TEAL code (useful to reduce code size before compilation).
386
+ *
387
+ * @param tealCode The TEAL logic to strip
388
+ * @returns The TEAL without comments
389
+ * @example
390
+ * ```typescript
391
+ * const stripped = AppManager.stripTealComments(tealProgram);
392
+ * ```
393
+ */
394
+ static stripTealComments(tealCode) {
395
+ const stripCommentFromLine = (line) => {
396
+ const commentIndex = findUnquotedString(line, "//");
397
+ if (commentIndex === void 0) return line;
398
+ return line.slice(0, commentIndex).trimEnd();
399
+ };
400
+ return tealCode.split("\n").map((line) => stripCommentFromLine(line)).join("\n");
401
+ }
402
+ };
403
+ /**
404
+ * Find the first string within a line of TEAL. Only matches outside of quotes and base64 are returned.
405
+ * Returns undefined if not found
406
+ */
407
+ const findUnquotedString = (line, token, startIndex = 0, _endIndex) => {
408
+ const endIndex = _endIndex === void 0 ? line.length : _endIndex;
409
+ let index = startIndex;
410
+ let inQuotes = false;
411
+ let inBase64 = false;
412
+ while (index < endIndex) {
413
+ const currentChar = line[index];
414
+ if ((currentChar === " " || currentChar === "(") && !inQuotes && lastTokenBase64(line, index)) inBase64 = true;
415
+ else if ((currentChar === " " || currentChar === ")") && !inQuotes && inBase64) inBase64 = false;
416
+ else if (currentChar === "\\" && inQuotes) index += 1;
417
+ else if (currentChar === "\"") inQuotes = !inQuotes;
418
+ else if (!inQuotes && !inBase64 && line.startsWith(token, index)) return index;
419
+ index += 1;
420
+ }
421
+ };
422
+ const lastTokenBase64 = (line, index) => {
423
+ try {
424
+ const tokens = line.slice(0, index).split(/\s+/);
425
+ const last = tokens[tokens.length - 1];
426
+ return ["base64", "b64"].includes(last);
427
+ } catch {
428
+ return false;
429
+ }
430
+ };
431
+ function replaceTemplateVariable(program, token, replacement) {
432
+ const result = [];
433
+ const tokenIndexOffset = replacement.length - token.length;
434
+ const programLines = program.split("\n");
435
+ for (const line of programLines) {
436
+ const _commentIndex = findUnquotedString(line, "//");
437
+ const commentIndex = _commentIndex === void 0 ? line.length : _commentIndex;
438
+ let code = line.substring(0, commentIndex);
439
+ const comment = line.substring(commentIndex);
440
+ let trailingIndex = 0;
441
+ while (true) {
442
+ const tokenIndex = findTemplateToken(code, token, trailingIndex);
443
+ if (tokenIndex === void 0) break;
444
+ trailingIndex = tokenIndex + token.length;
445
+ code = `${code.substring(0, tokenIndex)}${replacement}${code.substring(trailingIndex)}`;
446
+ trailingIndex += tokenIndexOffset;
447
+ }
448
+ result.push(code + comment);
449
+ }
450
+ return result.join("\n");
451
+ }
452
+ const findTemplateToken = (line, token, startIndex = 0, _endIndex) => {
453
+ const endIndex = _endIndex === void 0 ? line.length : _endIndex;
454
+ let index = startIndex;
455
+ while (index < endIndex) {
456
+ const tokenIndex = findUnquotedString(line, token, index, endIndex);
457
+ if (tokenIndex === void 0) break;
458
+ const trailingIndex = tokenIndex + token.length;
459
+ if ((tokenIndex === 0 || !isValidTokenCharacter(line[tokenIndex - 1])) && (trailingIndex >= line.length || !isValidTokenCharacter(line[trailingIndex]))) return tokenIndex;
460
+ index = trailingIndex;
461
+ }
462
+ };
463
+ function isValidTokenCharacter(char) {
464
+ return char.length === 1 && (/\w/.test(char) || char === "_");
465
+ }
466
+
467
+ //#endregion
468
+ exports.AppManager = AppManager;
469
+ //# sourceMappingURL=app-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-manager.js","names":["ProgramSourceMap","getApplicationAddress","getAddress","ABI_RETURN_PREFIX","UPDATABLE_TEMPLATE_NAME","DELETABLE_TEMPLATE_NAME"],"sources":["../src/app-manager.ts"],"sourcesContent":["import { ABIMethod, ABIReturn, ABIType, ABIValue } from '@algorandfoundation/algokit-abi'\nimport { AlgodClient, EvalDelta, PendingTransactionResponse, TealValue } from '@algorandfoundation/algokit-algod-client'\nimport { Address, ProgramSourceMap, ReadableAddress, getAddress, getApplicationAddress } from '@algorandfoundation/algokit-common'\nimport { AddressWithTransactionSigner, BoxReference as TransactionBoxReference } from '@algorandfoundation/algokit-transact'\nimport {\n ABI_RETURN_PREFIX,\n BoxName,\n DELETABLE_TEMPLATE_NAME,\n UPDATABLE_TEMPLATE_NAME,\n type AppState,\n type CompiledTeal,\n type TealTemplateParams,\n} from './app'\n\n/** Information about an app. */\nexport interface AppInformation {\n /** The ID of the app. */\n appId: bigint\n /** The escrow address that the app operates with. */\n appAddress: Address\n /**\n * Approval program.\n */\n approvalProgram: Uint8Array\n /**\n * Clear state program.\n */\n clearStateProgram: Uint8Array\n /**\n * The address that created this application. This is the address where the\n * parameters and global state for this application can be found.\n */\n creator: Address\n /**\n * Current global state values.\n */\n globalState: AppState\n /** The number of allocated ints in per-user local state. */\n localInts: number\n /** The number of allocated byte slices in per-user local state. */\n localByteSlices: number\n /** The number of allocated ints in global state. */\n globalInts: number\n /** The number of allocated byte slices in global state. */\n globalByteSlices: number\n /** Any extra pages that are needed for the smart contract. */\n extraProgramPages?: number\n /** The number of updates to the application programs */\n version?: number\n}\n\n/**\n * Something that identifies an app box name - either a:\n * * `Uint8Array` (the actual binary of the box name)\n * * `string` (that will be encoded to a `Uint8Array`)\n * * `AddressWithSigner` (that will be encoded into the\n * public key address of the corresponding account)\n */\nexport type BoxIdentifier = string | Uint8Array | AddressWithTransactionSigner\n\n/**\n * A grouping of the app ID and name identifier to reference an app box.\n */\nexport interface BoxReference {\n /**\n * A unique application id\n */\n appId: bigint\n /**\n * Identifier for a box name\n */\n name: BoxIdentifier\n}\n\n/**\n * Parameters to get and decode a box value as an ABI type.\n */\nexport interface BoxValueRequestParams {\n /** The ID of the app return box names for */\n appId: bigint\n /** The name of the box to return either as a string, binary array or `BoxName` */\n boxName: BoxIdentifier\n /** The ABI type to decode the value using */\n type: ABIType\n}\n\n/**\n * Parameters to get and decode a box value as an ABI type.\n */\nexport interface BoxValuesRequestParams {\n /** The ID of the app return box names for */\n appId: bigint\n /** The names of the boxes to return either as a string, binary array or BoxName` */\n boxNames: BoxIdentifier[]\n /** The ABI type to decode the value using */\n type: ABIType\n}\n\n/** Allows management of application information. */\nexport class AppManager {\n private _algod: AlgodClient\n private _compilationResults: Record<string, CompiledTeal> = {}\n\n /**\n * Creates an `AppManager`\n * @param algod An algod instance\n */\n constructor(algod: AlgodClient) {\n this._algod = algod\n }\n\n /**\n * Compiles the given TEAL using algod and returns the result, including source map.\n *\n * The result of this compilation is also cached keyed by the TEAL\n * code so it can be retrieved via `getCompilationResult`.\n *\n * This function is re-entrant; it will only compile the same code once.\n *\n * @param tealCode The TEAL code\n * @returns The information about the compiled file\n * @example\n * ```typescript\n * const compiled = await appManager.compileTeal(tealProgram)\n * ```\n */\n async compileTeal(tealCode: string): Promise<CompiledTeal> {\n if (this._compilationResults[tealCode]) {\n return this._compilationResults[tealCode]\n }\n\n const compiled = await this._algod.tealCompile(tealCode, { sourcemap: true })\n const result = {\n teal: tealCode,\n compiled: compiled.result,\n compiledHash: compiled.hash,\n compiledBase64ToBytes: new Uint8Array(Buffer.from(compiled.result, 'base64')),\n sourceMap: new ProgramSourceMap(compiled.sourcemap as { version: number; sources: string[]; names: string[]; mappings: string }),\n }\n this._compilationResults[tealCode] = result\n\n return result\n }\n\n /**\n * Performs template substitution of a teal template and compiles it, returning the compiled result.\n *\n * Looks for `TMPL_{parameter}` for template replacements and replaces AlgoKit deploy-time control parameters\n * if deployment metadata is specified.\n *\n * * `TMPL_UPDATABLE` for updatability / immutability control\n * * `TMPL_DELETABLE` for deletability / permanence control\n *\n * @param tealTemplateCode The TEAL logic to compile\n * @param templateParams Any parameters to replace in the .teal file before compiling\n * @param deploymentMetadata The deployment metadata the app will be deployed with\n * @returns The information about the compiled code\n * @example\n * ```typescript\n * const compiled = await appManager.compileTealTemplate(tealTemplate, { TMPL_APP_ID: 12345n }, { updatable: true, deletable: false })\n * ```\n */\n async compileTealTemplate(\n tealTemplateCode: string,\n templateParams?: TealTemplateParams,\n deploymentMetadata?: { updatable?: boolean; deletable?: boolean },\n ): Promise<CompiledTeal> {\n let tealCode = AppManager.stripTealComments(tealTemplateCode)\n\n tealCode = AppManager.replaceTealTemplateParams(tealCode, templateParams)\n\n if (deploymentMetadata) {\n tealCode = AppManager.replaceTealTemplateDeployTimeControlParams(tealCode, deploymentMetadata)\n }\n\n return await this.compileTeal(tealCode)\n }\n\n /**\n * Returns a previous compilation result.\n * @param tealCode The TEAL code\n * @returns The information about the previously compiled file\n * or `undefined` if that TEAL code wasn't previously compiled\n * @example\n * ```typescript\n * const compiled = appManager.getCompilationResult(tealProgram)\n * ```\n */\n getCompilationResult(tealCode: string): CompiledTeal | undefined {\n return this._compilationResults[tealCode]\n }\n\n /**\n * Returns the current app information for the app with the given ID.\n *\n * @example\n * ```typescript\n * const appInfo = await appManager.getById(12353n);\n * ```\n *\n * @param appId The ID of the app\n * @returns The app information\n */\n public async getById(appId: bigint): Promise<AppInformation> {\n const app = await this._algod.applicationById(appId)\n const convertedGlobalState = (app.params.globalState ?? []).map((kv) => ({ key: kv.key, value: kv.value }))\n\n return {\n appId: BigInt(app.id),\n appAddress: getApplicationAddress(app.id),\n approvalProgram: app.params.approvalProgram,\n clearStateProgram: app.params.clearStateProgram,\n creator: app.params.creator,\n localInts: app.params.localStateSchema?.numUints ?? 0,\n localByteSlices: app.params.localStateSchema?.numByteSlices ?? 0,\n globalInts: app.params.globalStateSchema?.numUints ?? 0,\n globalByteSlices: app.params.globalStateSchema?.numByteSlices ?? 0,\n extraProgramPages: app.params.extraProgramPages ?? 0,\n globalState: AppManager.decodeAppState(convertedGlobalState),\n version: app.params.version,\n }\n }\n\n /**\n * Returns the current global state values for the given app ID and account address\n *\n * @param appId The ID of the app to return global state for\n * @returns The current global state for the given app\n * @example\n * ```typescript\n * const globalState = await appManager.getGlobalState(12353n);\n * ```\n */\n public async getGlobalState(appId: bigint) {\n return (await this.getById(appId)).globalState\n }\n\n /**\n * Returns the current local state values for the given app ID and account address\n *\n * @param appId The ID of the app to return local state for\n * @param address The string address of the account to get local state for the given app\n * @returns The current local state for the given (app, account) combination\n * @example\n * ```typescript\n * const localState = await appManager.getLocalState(12353n, 'ACCOUNTADDRESS');\n * ```\n */\n public async getLocalState(appId: bigint, address: ReadableAddress) {\n const appInfo = await this._algod.accountApplicationInformation(getAddress(address).toString(), Number(appId))\n\n if (!appInfo.appLocalState) {\n throw new Error(\"Couldn't find local state\")\n }\n\n // If keyValue is undefined or empty, return empty state\n if (!appInfo.appLocalState.keyValue || appInfo.appLocalState.keyValue.length === 0) {\n return {}\n }\n\n const convertedState = appInfo.appLocalState.keyValue.map((kv) => ({ key: kv.key, value: kv.value }))\n\n return AppManager.decodeAppState(convertedState)\n }\n\n /**\n * Returns the names of the current boxes for the given app.\n * @param appId The ID of the app return box names for\n * @returns The current box names\n * @example\n * ```typescript\n * const boxNames = await appManager.getBoxNames(12353n);\n * ```\n */\n public async getBoxNames(appId: bigint): Promise<BoxName[]> {\n const boxResult = await this._algod.applicationBoxes(appId)\n return boxResult.boxes.map((b: { name: Uint8Array }) => {\n return { nameRaw: b.name, nameBase64: Buffer.from(b.name).toString('base64'), name: Buffer.from(b.name).toString('utf-8') }\n })\n }\n\n /**\n * Returns the value of the given box name for the given app.\n * @param appId The ID of the app return box names for\n * @param boxName The name of the box to return either as a string, binary array or `BoxName`\n * @returns The current box value as a byte array\n * @example\n * ```typescript\n * const boxValue = await appManager.getBoxValue(12353n, 'boxName');\n * ```\n */\n public async getBoxValue(appId: bigint, boxName: BoxIdentifier | BoxName): Promise<Uint8Array> {\n const boxId = typeof boxName === 'object' && 'nameRaw' in boxName ? boxName.nameRaw : boxName\n const name = AppManager.getBoxReference(boxId).name\n const boxResult = await this._algod.applicationBoxByName(Number(appId), name)\n return boxResult.value\n }\n\n /**\n * Returns the value of the given box names for the given app.\n * @param appId The ID of the app return box names for\n * @param boxNames The names of the boxes to return either as a string, binary array or `BoxName`\n * @returns The current box values as a byte array in the same order as the passed in box names\n * @example\n * ```typescript\n * const boxValues = await appManager.getBoxValues(12353n, ['boxName1', 'boxName2']);\n * ```\n */\n public async getBoxValues(appId: bigint, boxNames: (BoxIdentifier | BoxName)[]): Promise<Uint8Array[]> {\n return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValue(appId, boxName)))\n }\n\n /**\n * Returns the value of the given box name for the given app decoded based on the given ABI type.\n * @param request The parameters for the box value request\n * @returns The current box value as an ABI value\n * @example\n * ```typescript\n * const boxValue = await appManager.getBoxValueFromABIType({ appId: 12353n, boxName: 'boxName', type: new ABIUintType(32) });\n * ```\n */\n public async getBoxValueFromABIType(request: BoxValueRequestParams): Promise<ABIValue> {\n const { appId, boxName, type } = request\n const value = await this.getBoxValue(appId, boxName)\n return type.decode(value)\n }\n\n /**\n * Returns the value of the given box names for the given app decoded based on the given ABI type.\n * @param request The parameters for the box value request\n * @returns The current box values as an ABI value in the same order as the passed in box names\n * @example\n * ```typescript\n * const boxValues = await appManager.getBoxValuesFromABIType({ appId: 12353n, boxNames: ['boxName1', 'boxName2'], type: new ABIUintType(32) });\n * ```\n */\n public async getBoxValuesFromABIType(request: BoxValuesRequestParams): Promise<ABIValue[]> {\n const { appId, boxNames, type } = request\n return await Promise.all(boxNames.map(async (boxName) => await this.getBoxValueFromABIType({ appId, boxName, type })))\n }\n\n /**\n * Returns a `algosdk.BoxReference` given a `BoxIdentifier` or `BoxReference`.\n * @param boxId The box to return a reference for\n * @returns The box reference ready to pass into a `algosdk.Transaction`\n * @example\n * ```typescript\n * const boxRef = AppManager.getBoxReference('boxName');\n * ```\n */\n public static getBoxReference(boxId: BoxIdentifier | BoxReference): TransactionBoxReference {\n const ref = typeof boxId === 'object' && 'appId' in boxId ? boxId : { appId: 0n, name: boxId }\n return {\n appId: ref.appId,\n name: typeof ref.name === 'string' ? new TextEncoder().encode(ref.name) : 'length' in ref.name ? ref.name : ref.name.addr.publicKey,\n } as TransactionBoxReference\n }\n\n /**\n * Converts an array of global/local state values from the algod api to a more friendly\n * generic object keyed by the UTF-8 value of the key.\n * @param state A `global-state`, `local-state`, `global-state-deltas` or `local-state-deltas`\n * @returns An object keyeed by the UTF-8 representation of the key with various parsings of the values\n * @example\n * ```typescript\n * const stateValues = AppManager.decodeAppState(state);\n * ```\n */\n public static decodeAppState(state: { key: Uint8Array; value: TealValue | EvalDelta }[]): AppState {\n const stateValues = {} as AppState\n\n // Start with empty set\n for (const stateVal of state) {\n const keyBase64 = Buffer.from(stateVal.key).toString('base64')\n const keyRaw = stateVal.key\n const key = Buffer.from(stateVal.key).toString('utf-8')\n const tealValue = stateVal.value\n\n const dataTypeFlag = Number('action' in tealValue ? tealValue.action : tealValue.type)\n let valueBase64: string\n let valueRaw: Buffer\n switch (dataTypeFlag) {\n case 1:\n valueBase64 =\n typeof tealValue.bytes === 'string' ? tealValue.bytes : tealValue.bytes ? Buffer.from(tealValue.bytes).toString('base64') : ''\n valueRaw = Buffer.from(valueBase64, 'base64')\n stateValues[key] = {\n keyRaw,\n keyBase64,\n valueRaw: new Uint8Array(valueRaw),\n valueBase64: valueBase64,\n value: valueRaw.toString('utf-8'),\n }\n break\n case 2: {\n const value = tealValue.uint ?? 0\n stateValues[key] = { keyRaw, keyBase64, value: BigInt(value) }\n break\n }\n default:\n throw new Error(`Received unknown state data type of ${dataTypeFlag}`)\n }\n }\n\n return stateValues\n }\n\n /**\n * Returns any ABI return values for the given app call arguments and transaction confirmation.\n * @param confirmation The transaction confirmation from algod\n * @param method The ABI method\n * @returns The return value for the method call\n * @example\n * ```typescript\n * const returnValue = AppManager.getABIReturn(confirmation, ABIMethod.fromSignature('hello(string)void'));\n * ```\n */\n public static getABIReturn(confirmation: PendingTransactionResponse | undefined, method: ABIMethod | undefined): ABIReturn | undefined {\n if (!method || !confirmation) {\n return undefined\n }\n\n if (method.returns.type === 'void') {\n return { method, rawReturnValue: undefined, returnValue: undefined }\n }\n\n try {\n const logs = confirmation.logs || []\n if (logs.length === 0) {\n throw new Error(`App call transaction did not log a return value`)\n }\n const lastLog = logs[logs.length - 1]\n if (!AppManager.hasAbiReturnPrefix(lastLog)) {\n throw new Error(`App call transaction did not log an ABI return value`)\n }\n\n const rawReturnValue = new Uint8Array(lastLog.slice(4))\n return { method: method, rawReturnValue, decodeError: undefined, returnValue: method.returns.type.decode(rawReturnValue) }\n } catch (err) {\n return { method: method, rawReturnValue: undefined, decodeError: err as Error, returnValue: undefined }\n }\n }\n\n private static hasAbiReturnPrefix(log: Uint8Array): boolean {\n if (log.length < ABI_RETURN_PREFIX.length) {\n return false\n }\n for (let i = 0; i < ABI_RETURN_PREFIX.length; i++) {\n if (log[i] !== ABI_RETURN_PREFIX[i]) {\n return false\n }\n }\n return true\n }\n\n /**\n * Replaces AlgoKit deploy-time deployment control parameters within the given TEAL template code.\n *\n * * `TMPL_UPDATABLE` for updatability / immutability control\n * * `TMPL_DELETABLE` for deletability / permanence control\n *\n * Note: If these values are defined, but the corresponding `TMPL_*` value\n * isn't in the teal code it will throw an exception.\n *\n * @param tealTemplateCode The TEAL template code to substitute\n * @param params The deploy-time deployment control parameter value to replace\n * @returns The replaced TEAL code\n * @example\n * ```typescript\n * const tealCode = AppManager.replaceTealTemplateDeployTimeControlParams(tealTemplate, { updatable: true, deletable: false });\n * ```\n */\n static replaceTealTemplateDeployTimeControlParams(tealTemplateCode: string, params: { updatable?: boolean; deletable?: boolean }) {\n if (params.updatable !== undefined) {\n if (!tealTemplateCode.includes(UPDATABLE_TEMPLATE_NAME)) {\n throw new Error(\n `Deploy-time updatability control requested for app deployment, but ${UPDATABLE_TEMPLATE_NAME} not present in TEAL code`,\n )\n }\n tealTemplateCode = replaceTemplateVariable(tealTemplateCode, UPDATABLE_TEMPLATE_NAME, (params.updatable ? 1 : 0).toString())\n }\n\n if (params.deletable !== undefined) {\n if (!tealTemplateCode.includes(DELETABLE_TEMPLATE_NAME)) {\n throw new Error(\n `Deploy-time deletability control requested for app deployment, but ${DELETABLE_TEMPLATE_NAME} not present in TEAL code`,\n )\n }\n tealTemplateCode = replaceTemplateVariable(tealTemplateCode, DELETABLE_TEMPLATE_NAME, (params.deletable ? 1 : 0).toString())\n }\n\n return tealTemplateCode\n }\n\n /**\n * Performs template substitution of a teal file.\n *\n * Looks for `TMPL_{parameter}` for template replacements.\n *\n * @param tealTemplateCode The TEAL template code to make parameter replacements in\n * @param templateParams Any parameters to replace in the teal code\n * @returns The TEAL code with replacements\n * @example\n * ```typescript\n * const tealCode = AppManager.replaceTealTemplateParams(tealTemplate, { TMPL_APP_ID: 12345n });\n * ```\n */\n static replaceTealTemplateParams(tealTemplateCode: string, templateParams?: TealTemplateParams) {\n if (templateParams !== undefined) {\n for (const key in templateParams) {\n const value = templateParams[key]\n const token = `TMPL_${key.replace(/^TMPL_/, '')}`\n\n // If this is a number, first replace any byte representations of the number\n // These may appear in the TEAL in order to circumvent int compression and preserve PC values\n if (typeof value === 'number' || typeof value === 'bigint') {\n tealTemplateCode = tealTemplateCode.replace(new RegExp(`(?<=bytes )${token}`, 'g'), `0x${value.toString(16).padStart(16, '0')}`)\n\n // We could probably return here since mixing pushint and pushbytes is likely not going to happen, but might as well do both\n }\n\n tealTemplateCode = replaceTemplateVariable(\n tealTemplateCode,\n token,\n typeof value === 'string'\n ? `0x${Buffer.from(value, 'utf-8').toString('hex')}`\n : ArrayBuffer.isView(value)\n ? `0x${Buffer.from(value).toString('hex')}`\n : value.toString(),\n )\n }\n }\n\n return tealTemplateCode\n }\n\n /**\n * Remove comments from TEAL code (useful to reduce code size before compilation).\n *\n * @param tealCode The TEAL logic to strip\n * @returns The TEAL without comments\n * @example\n * ```typescript\n * const stripped = AppManager.stripTealComments(tealProgram);\n * ```\n */\n static stripTealComments(tealCode: string) {\n const stripCommentFromLine = (line: string) => {\n const commentIndex = findUnquotedString(line, '//')\n if (commentIndex === undefined) {\n return line\n }\n return line.slice(0, commentIndex).trimEnd()\n }\n\n return tealCode\n .split('\\n')\n .map((line) => stripCommentFromLine(line))\n .join('\\n')\n }\n}\n\n/**\n * Find the first string within a line of TEAL. Only matches outside of quotes and base64 are returned.\n * Returns undefined if not found\n */\nconst findUnquotedString = (line: string, token: string, startIndex: number = 0, _endIndex?: number): number | undefined => {\n const endIndex = _endIndex === undefined ? line.length : _endIndex\n let index = startIndex\n let inQuotes = false\n let inBase64 = false\n\n while (index < endIndex) {\n const currentChar = line[index]\n if ((currentChar === ' ' || currentChar === '(') && !inQuotes && lastTokenBase64(line, index)) {\n // enter base64\n inBase64 = true\n } else if ((currentChar === ' ' || currentChar === ')') && !inQuotes && inBase64) {\n // exit base64\n inBase64 = false\n } else if (currentChar === '\\\\' && inQuotes) {\n // escaped char, skip next character\n index += 1\n } else if (currentChar === '\"') {\n // quote boundary\n inQuotes = !inQuotes\n } else if (!inQuotes && !inBase64 && line.startsWith(token, index)) {\n // can test for match\n return index\n }\n index += 1\n }\n return undefined\n}\n\nconst lastTokenBase64 = (line: string, index: number): boolean => {\n try {\n const tokens = line.slice(0, index).split(/\\s+/)\n const last = tokens[tokens.length - 1]\n return ['base64', 'b64'].includes(last)\n } catch {\n return false\n }\n}\n\nfunction replaceTemplateVariable(program: string, token: string, replacement: string): string {\n const result: string[] = []\n const tokenIndexOffset = replacement.length - token.length\n\n const programLines = program.split('\\n')\n\n for (const line of programLines) {\n const _commentIndex = findUnquotedString(line, '//')\n const commentIndex = _commentIndex === undefined ? line.length : _commentIndex\n let code = line.substring(0, commentIndex)\n const comment = line.substring(commentIndex)\n let trailingIndex = 0\n\n while (true) {\n const tokenIndex = findTemplateToken(code, token, trailingIndex)\n if (tokenIndex === undefined) {\n break\n }\n trailingIndex = tokenIndex + token.length\n const prefix = code.substring(0, tokenIndex)\n const suffix = code.substring(trailingIndex)\n code = `${prefix}${replacement}${suffix}`\n trailingIndex += tokenIndexOffset\n }\n result.push(code + comment)\n }\n\n return result.join('\\n')\n}\n\nconst findTemplateToken = (line: string, token: string, startIndex: number = 0, _endIndex?: number): number | undefined => {\n const endIndex = _endIndex === undefined ? line.length : _endIndex\n\n let index = startIndex\n while (index < endIndex) {\n const tokenIndex = findUnquotedString(line, token, index, endIndex)\n if (tokenIndex === undefined) {\n break\n }\n const trailingIndex = tokenIndex + token.length\n if (\n (tokenIndex === 0 || !isValidTokenCharacter(line[tokenIndex - 1])) &&\n (trailingIndex >= line.length || !isValidTokenCharacter(line[trailingIndex]))\n ) {\n return tokenIndex\n }\n index = trailingIndex\n }\n return undefined\n}\n\nfunction isValidTokenCharacter(char: string): boolean {\n return char.length === 1 && (/\\w/.test(char) || char === '_')\n}\n"],"mappings":"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"}