@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/composer.js ADDED
@@ -0,0 +1,1585 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_runtime = require('./_virtual/_rolldown/runtime.js');
3
+ const require_constants = require('./packages/common/src/constants.js');
4
+ const require_app_call = require('./packages/transact/src/transactions/app-call.js');
5
+ const require_transaction_type = require('./packages/transact/src/transactions/transaction-type.js');
6
+ const require_transaction = require('./packages/transact/src/transactions/transaction.js');
7
+ const require_signed_transaction = require('./packages/transact/src/transactions/signed-transaction.js');
8
+ const require_signer = require('./packages/transact/src/signer.js');
9
+ const require_amount = require('./amount.js');
10
+ const require_config = require('./config.js');
11
+ const require_util = require('./util.js');
12
+ const require_transaction$1 = require('./transaction/transaction.js');
13
+ const require_app_manager = require('./app-manager.js');
14
+ const require_app_call$1 = require('./transactions/app-call.js');
15
+ const require_asset_transfer = require('./transactions/asset-transfer.js');
16
+ const require_lifecycle_events = require('./lifecycle-events.js');
17
+ const require_network_client = require('./network-client.js');
18
+ const require_asset_config = require('./transactions/asset-config.js');
19
+ const require_fee_coverage = require('./transactions/fee-coverage.js');
20
+ const require_key_registration = require('./transactions/key-registration.js');
21
+ const require_method_call = require('./transactions/method-call.js');
22
+ const require_payment = require('./transactions/payment.js');
23
+ let buffer = require("buffer");
24
+
25
+ //#region src/composer.ts
26
+ var InvalidErrorTransformerValue = class extends Error {
27
+ constructor(originalError, value) {
28
+ super(`An error transformer returned a non-error value: ${value}. The original error before any transformation: ${originalError}`);
29
+ }
30
+ };
31
+ var ErrorTransformerError = class extends Error {
32
+ constructor(originalError, cause) {
33
+ super(`An error transformer threw an error: ${cause}. The original error before any transformation: ${originalError} `, { cause });
34
+ }
35
+ };
36
+ /** TransactionComposer helps you compose and execute transactions as a transaction group. */
37
+ var TransactionComposer = class TransactionComposer {
38
+ /** Transactions that have not yet been composed */
39
+ txns = [];
40
+ /** The algod client used by the composer. */
41
+ algod;
42
+ /** An async function that will return suggested params for the transaction. */
43
+ getSuggestedParams;
44
+ /** A function that takes in an address and return a signer function for that address. */
45
+ getSigner;
46
+ /** The default transaction validity window */
47
+ defaultValidityWindow = 10n;
48
+ /** Whether the validity window was explicitly set on construction */
49
+ defaultValidityWindowIsExplicit = false;
50
+ appManager;
51
+ errorTransformers;
52
+ composerConfig;
53
+ transactionsWithSigners;
54
+ signedTransactions;
55
+ rawBuildTransactions;
56
+ async transformError(originalError) {
57
+ if (!(originalError instanceof Error)) return originalError;
58
+ let transformedError = originalError;
59
+ for (const transformer of this.errorTransformers) try {
60
+ transformedError = await transformer(transformedError);
61
+ if (!(transformedError instanceof Error)) return new InvalidErrorTransformerValue(originalError, transformedError);
62
+ } catch (errorFromTransformer) {
63
+ return new ErrorTransformerError(originalError, errorFromTransformer);
64
+ }
65
+ return transformedError;
66
+ }
67
+ validateReferenceParams(params) {
68
+ if (params.accessReferences && params.accessReferences.length > 0 && (params.appReferences && params.appReferences.length > 0 || params.assetReferences && params.assetReferences.length > 0 || params.boxReferences && params.boxReferences.length > 0)) throw new Error("Cannot specify both `accessReferences` and reference arrays (`appReferences`, `assetReferences`, `boxReferences`).");
69
+ }
70
+ /**
71
+ * Create a `TransactionComposer`.
72
+ * @param params The configuration for this composer
73
+ * @returns The `TransactionComposer` instance
74
+ */
75
+ constructor(params) {
76
+ this.algod = params.algod;
77
+ const defaultGetSuggestedParams = () => params.algod.suggestedParams();
78
+ this.getSuggestedParams = params.getSuggestedParams ?? defaultGetSuggestedParams;
79
+ this.getSigner = params.getSigner;
80
+ this.defaultValidityWindow = params.defaultValidityWindow ?? this.defaultValidityWindow;
81
+ this.defaultValidityWindowIsExplicit = params.defaultValidityWindow !== void 0;
82
+ this.appManager = params.appManager ?? new require_app_manager.AppManager(params.algod);
83
+ this.errorTransformers = params.errorTransformers ?? [];
84
+ this.composerConfig = params.composerConfig ?? {
85
+ coverAppCallInnerTransactionFees: false,
86
+ populateAppCallResources: true
87
+ };
88
+ }
89
+ cloneTransaction(txn) {
90
+ switch (txn.type) {
91
+ case "pay": return {
92
+ type: "pay",
93
+ data: { ...txn.data }
94
+ };
95
+ case "assetCreate": return {
96
+ type: "assetCreate",
97
+ data: { ...txn.data }
98
+ };
99
+ case "assetConfig": return {
100
+ type: "assetConfig",
101
+ data: { ...txn.data }
102
+ };
103
+ case "assetFreeze": return {
104
+ type: "assetFreeze",
105
+ data: { ...txn.data }
106
+ };
107
+ case "assetDestroy": return {
108
+ type: "assetDestroy",
109
+ data: { ...txn.data }
110
+ };
111
+ case "assetTransfer": return {
112
+ type: "assetTransfer",
113
+ data: { ...txn.data }
114
+ };
115
+ case "assetOptIn": return {
116
+ type: "assetOptIn",
117
+ data: { ...txn.data }
118
+ };
119
+ case "assetOptOut": return {
120
+ type: "assetOptOut",
121
+ data: { ...txn.data }
122
+ };
123
+ case "appCall": return {
124
+ type: "appCall",
125
+ data: { ...txn.data }
126
+ };
127
+ case "keyReg": return {
128
+ type: "keyReg",
129
+ data: { ...txn.data }
130
+ };
131
+ case "txn": {
132
+ const { txn: transaction, signer, maxFee } = txn.data;
133
+ const clonedTxn = require_transaction.decodeTransaction(require_transaction.encodeTransactionRaw(transaction));
134
+ delete clonedTxn.group;
135
+ return {
136
+ type: "txn",
137
+ data: {
138
+ txn: clonedTxn,
139
+ signer,
140
+ maxFee
141
+ }
142
+ };
143
+ }
144
+ case "asyncTxn": {
145
+ const { txn: txnPromise, signer, maxFee } = txn.data;
146
+ return {
147
+ type: "asyncTxn",
148
+ data: {
149
+ txn: txnPromise.then((resolvedTxn) => {
150
+ const clonedTxn = require_transaction.decodeTransaction(require_transaction.encodeTransactionRaw(resolvedTxn));
151
+ delete clonedTxn.group;
152
+ return clonedTxn;
153
+ }),
154
+ signer,
155
+ maxFee
156
+ }
157
+ };
158
+ }
159
+ case "methodCall": return {
160
+ type: "methodCall",
161
+ data: { ...txn.data }
162
+ };
163
+ }
164
+ }
165
+ push(...txns) {
166
+ if (this.transactionsWithSigners) throw new Error("Cannot add new transactions after building");
167
+ if (this.txns.length + txns.length > require_constants.MAX_TRANSACTION_GROUP_SIZE) throw new Error(`Adding ${txns.length} transaction(s) would exceed the maximum group size. Current: ${this.txns.length}, Maximum: ${require_constants.MAX_TRANSACTION_GROUP_SIZE}`);
168
+ this.txns.push(...txns);
169
+ }
170
+ clone(composerConfig) {
171
+ const newComposer = new TransactionComposer({
172
+ algod: this.algod,
173
+ getSuggestedParams: this.getSuggestedParams,
174
+ getSigner: this.getSigner,
175
+ defaultValidityWindow: this.defaultValidityWindow,
176
+ appManager: this.appManager,
177
+ errorTransformers: this.errorTransformers,
178
+ composerConfig: {
179
+ ...this.composerConfig,
180
+ ...composerConfig
181
+ }
182
+ });
183
+ this.txns.forEach((txn) => {
184
+ newComposer.txns.push(this.cloneTransaction(txn));
185
+ });
186
+ newComposer.defaultValidityWindowIsExplicit = this.defaultValidityWindowIsExplicit;
187
+ return newComposer;
188
+ }
189
+ /**
190
+ * Register a function that will be used to transform an error caught when simulating or executing
191
+ *
192
+ * @returns The composer so you can chain method calls
193
+ */
194
+ registerErrorTransformer(transformer) {
195
+ this.errorTransformers.push(transformer);
196
+ return this;
197
+ }
198
+ /**
199
+ * Add a pre-built transaction to the transaction group.
200
+ * @param transaction The pre-built transaction
201
+ * @param signer Optional signer override for the transaction
202
+ * @returns The composer so you can chain method calls
203
+ * @example
204
+ * ```typescript
205
+ * composer.addTransaction(txn)
206
+ * ```
207
+ */
208
+ addTransaction(transaction, signer) {
209
+ if (transaction.group) throw new Error("Cannot add a transaction to the composer because it is already in a group");
210
+ require_transaction.validateTransaction(transaction);
211
+ this.push({
212
+ data: {
213
+ txn: transaction,
214
+ signer: signer ?? this.getSigner(transaction.sender)
215
+ },
216
+ type: "txn"
217
+ });
218
+ return this;
219
+ }
220
+ /**
221
+ * Add another transaction composer to the current transaction composer.
222
+ * The transaction params of the input transaction composer will be added.
223
+ * If the input transaction composer is updated, it won't affect the current transaction composer.
224
+ * @param composer The transaction composer to add
225
+ * @returns The composer so you can chain method calls
226
+ * @example
227
+ * ```typescript
228
+ * const innerComposer = algorand.newGroup()
229
+ * .addPayment({ sender: 'SENDER', receiver: 'RECEIVER', amount: (1).algo() })
230
+ * .addPayment({ sender: 'SENDER', receiver: 'RECEIVER', amount: (2).algo() })
231
+ *
232
+ * composer.addTransactionComposer(innerComposer)
233
+ * ```
234
+ */
235
+ addTransactionComposer(composer) {
236
+ const clonedTxns = composer.txns.map((txn) => this.cloneTransaction(txn));
237
+ this.push(...clonedTxns);
238
+ return this;
239
+ }
240
+ /**
241
+ * Add a payment transaction to the transaction group.
242
+ * @param params The payment transaction parameters
243
+ * @returns The composer so you can chain method calls
244
+ * @example Basic example
245
+ * ```typescript
246
+ * composer.addPayment({
247
+ * sender: 'SENDERADDRESS',
248
+ * receiver: 'RECEIVERADDRESS',
249
+ * amount: (4).algo(),
250
+ * })
251
+ * ```
252
+ * @example Advanced example
253
+ * ```typescript
254
+ * composer.addPayment({
255
+ * amount: (4).algo(),
256
+ * receiver: 'RECEIVERADDRESS',
257
+ * sender: 'SENDERADDRESS',
258
+ * closeRemainderTo: 'CLOSEREMAINDERTOADDRESS',
259
+ * lease: 'lease',
260
+ * note: 'note',
261
+ * // Use this with caution, it's generally better to use algorand.account.rekeyAccount
262
+ * rekeyTo: 'REKEYTOADDRESS',
263
+ * // You wouldn't normally set this field
264
+ * firstValidRound: 1000n,
265
+ * validityWindow: 10,
266
+ * extraFee: (1000).microAlgo(),
267
+ * staticFee: (1000).microAlgo(),
268
+ * // Max fee doesn't make sense with extraFee AND staticFee
269
+ * // already specified, but here for completeness
270
+ * maxFee: (3000).microAlgo(),
271
+ * })
272
+ */
273
+ addPayment(params) {
274
+ this.push({
275
+ data: params,
276
+ type: "pay"
277
+ });
278
+ return this;
279
+ }
280
+ /**
281
+ * Add an asset create transaction to the transaction group.
282
+ * @param params The asset create transaction parameters
283
+ * @returns The composer so you can chain method calls
284
+ * @example Basic example
285
+ * ```typescript
286
+ * composer.addAssetCreate({ sender: "CREATORADDRESS", total: 100n})
287
+ * ```
288
+ * @example Advanced example
289
+ * ```typescript
290
+ * composer.addAssetCreate({
291
+ * sender: 'CREATORADDRESS',
292
+ * total: 100n,
293
+ * decimals: 2,
294
+ * assetName: 'asset',
295
+ * unitName: 'unit',
296
+ * url: 'url',
297
+ * metadataHash: 'metadataHash',
298
+ * defaultFrozen: false,
299
+ * manager: 'MANAGERADDRESS',
300
+ * reserve: 'RESERVEADDRESS',
301
+ * freeze: 'FREEZEADDRESS',
302
+ * clawback: 'CLAWBACKADDRESS',
303
+ * lease: 'lease',
304
+ * note: 'note',
305
+ * // You wouldn't normally set this field
306
+ * firstValidRound: 1000n,
307
+ * validityWindow: 10,
308
+ * extraFee: (1000).microAlgo(),
309
+ * staticFee: (1000).microAlgo(),
310
+ * // Max fee doesn't make sense with extraFee AND staticFee
311
+ * // already specified, but here for completeness
312
+ * maxFee: (3000).microAlgo(),
313
+ * })
314
+ */
315
+ addAssetCreate(params) {
316
+ this.push({
317
+ data: params,
318
+ type: "assetCreate"
319
+ });
320
+ return this;
321
+ }
322
+ /**
323
+ * Add an asset config transaction to the transaction group.
324
+ * @param params The asset config transaction parameters
325
+ * @returns The composer so you can chain method calls
326
+ * @example Basic example
327
+ * ```typescript
328
+ * composer.addAssetConfig({ sender: "MANAGERADDRESS", assetId: 123456n, manager: "MANAGERADDRESS" })
329
+ * ```
330
+ * @example Advanced example
331
+ * ```typescript
332
+ * composer.addAssetConfig({
333
+ * sender: 'MANAGERADDRESS',
334
+ * assetId: 123456n,
335
+ * manager: 'MANAGERADDRESS',
336
+ * reserve: 'RESERVEADDRESS',
337
+ * freeze: 'FREEZEADDRESS',
338
+ * clawback: 'CLAWBACKADDRESS',
339
+ * lease: 'lease',
340
+ * note: 'note',
341
+ * // You wouldn't normally set this field
342
+ * firstValidRound: 1000n,
343
+ * validityWindow: 10,
344
+ * extraFee: (1000).microAlgo(),
345
+ * staticFee: (1000).microAlgo(),
346
+ * // Max fee doesn't make sense with extraFee AND staticFee
347
+ * // already specified, but here for completeness
348
+ * maxFee: (3000).microAlgo(),
349
+ * })
350
+ */
351
+ addAssetConfig(params) {
352
+ this.push({
353
+ data: params,
354
+ type: "assetConfig"
355
+ });
356
+ return this;
357
+ }
358
+ /**
359
+ * Add an asset freeze transaction to the transaction group.
360
+ * @param params The asset freeze transaction parameters
361
+ * @returns The composer so you can chain method calls
362
+ * @example Basic example
363
+ * ```typescript
364
+ * composer.addAssetFreeze({ sender: "MANAGERADDRESS", assetId: 123456n, account: "ACCOUNTADDRESS", frozen: true })
365
+ * ```
366
+ * @example Advanced example
367
+ * ```typescript
368
+ * composer.addAssetFreeze({
369
+ * sender: 'MANAGERADDRESS',
370
+ * assetId: 123456n,
371
+ * account: 'ACCOUNTADDRESS',
372
+ * frozen: true,
373
+ * lease: 'lease',
374
+ * note: 'note',
375
+ * // You wouldn't normally set this field
376
+ * firstValidRound: 1000n,
377
+ * validityWindow: 10,
378
+ * extraFee: (1000).microAlgo(),
379
+ * staticFee: (1000).microAlgo(),
380
+ * // Max fee doesn't make sense with extraFee AND staticFee
381
+ * // already specified, but here for completeness
382
+ * maxFee: (3000).microAlgo(),
383
+ * })
384
+ * ```
385
+ */
386
+ addAssetFreeze(params) {
387
+ this.push({
388
+ data: params,
389
+ type: "assetFreeze"
390
+ });
391
+ return this;
392
+ }
393
+ /**
394
+ * Add an asset destroy transaction to the transaction group.
395
+ * @param params The asset destroy transaction parameters
396
+ * @returns The composer so you can chain method calls
397
+ * @example Basic example
398
+ * ```typescript
399
+ * composer.addAssetDestroy({ sender: "MANAGERADDRESS", assetId: 123456n })
400
+ * ```
401
+ * @example Advanced example
402
+ * ```typescript
403
+ * composer.addAssetDestroy({
404
+ * sender: 'MANAGERADDRESS',
405
+ * assetId: 123456n,
406
+ * lease: 'lease',
407
+ * note: 'note',
408
+ * // You wouldn't normally set this field
409
+ * firstValidRound: 1000n,
410
+ * validityWindow: 10,
411
+ * extraFee: (1000).microAlgo(),
412
+ * staticFee: (1000).microAlgo(),
413
+ * // Max fee doesn't make sense with extraFee AND staticFee
414
+ * // already specified, but here for completeness
415
+ * maxFee: (3000).microAlgo(),
416
+ * })
417
+ * ```
418
+ */
419
+ addAssetDestroy(params) {
420
+ this.push({
421
+ data: params,
422
+ type: "assetDestroy"
423
+ });
424
+ return this;
425
+ }
426
+ /**
427
+ * Add an asset transfer transaction to the transaction group.
428
+ * @param params The asset transfer transaction parameters
429
+ * @returns The composer so you can chain method calls
430
+ * @example Basic example
431
+ * ```typescript
432
+ * composer.addAssetTransfer({ sender: "HOLDERADDRESS", assetId: 123456n, amount: 1n, receiver: "RECEIVERADDRESS" })
433
+ * ```
434
+ * @example Advanced example (with clawback)
435
+ * ```typescript
436
+ * composer.addAssetTransfer({
437
+ * sender: 'CLAWBACKADDRESS',
438
+ * assetId: 123456n,
439
+ * amount: 1n,
440
+ * receiver: 'RECEIVERADDRESS',
441
+ * clawbackTarget: 'HOLDERADDRESS',
442
+ * // This field needs to be used with caution
443
+ * closeAssetTo: 'ADDRESSTOCLOSETO'
444
+ * lease: 'lease',
445
+ * note: 'note',
446
+ * // You wouldn't normally set this field
447
+ * firstValidRound: 1000n,
448
+ * validityWindow: 10,
449
+ * extraFee: (1000).microAlgo(),
450
+ * staticFee: (1000).microAlgo(),
451
+ * // Max fee doesn't make sense with extraFee AND staticFee
452
+ * // already specified, but here for completeness
453
+ * maxFee: (3000).microAlgo(),
454
+ * })
455
+ * ```
456
+ */
457
+ addAssetTransfer(params) {
458
+ this.push({
459
+ data: params,
460
+ type: "assetTransfer"
461
+ });
462
+ return this;
463
+ }
464
+ /**
465
+ * Add an asset opt-in transaction to the transaction group.
466
+ * @param params The asset opt-in transaction parameters
467
+ * @returns The composer so you can chain method calls
468
+ * @example Basic example
469
+ * ```typescript
470
+ * composer.addAssetOptIn({ sender: "SENDERADDRESS", assetId: 123456n })
471
+ * ```
472
+ * @example Advanced example
473
+ * ```typescript
474
+ * composer.addAssetOptIn({
475
+ * sender: 'SENDERADDRESS',
476
+ * assetId: 123456n,
477
+ * lease: 'lease',
478
+ * note: 'note',
479
+ * // You wouldn't normally set this field
480
+ * firstValidRound: 1000n,
481
+ * validityWindow: 10,
482
+ * extraFee: (1000).microAlgo(),
483
+ * staticFee: (1000).microAlgo(),
484
+ * // Max fee doesn't make sense with extraFee AND staticFee
485
+ * // already specified, but here for completeness
486
+ * maxFee: (3000).microAlgo(),
487
+ * })
488
+ * ```
489
+ */
490
+ addAssetOptIn(params) {
491
+ this.push({
492
+ data: params,
493
+ type: "assetOptIn"
494
+ });
495
+ return this;
496
+ }
497
+ /**
498
+ * Add an asset opt-out transaction to the transaction group.
499
+ * @param params The asset opt-out transaction parameters
500
+ * @returns The composer so you can chain method calls
501
+ * @example Basic example (without creator, will be retrieved from algod)
502
+ * ```typescript
503
+ * composer.addAssetOptOut({ sender: "SENDERADDRESS", assetId: 123456n, ensureZeroBalance: true })
504
+ * ```
505
+ * @example Basic example (with creator)
506
+ * ```typescript
507
+ * composer.addAssetOptOut({ sender: "SENDERADDRESS", creator: "CREATORADDRESS", assetId: 123456n, ensureZeroBalance: true })
508
+ * ```
509
+ * @example Advanced example
510
+ * ```typescript
511
+ * composer.addAssetOptOut({
512
+ * sender: 'SENDERADDRESS',
513
+ * assetId: 123456n,
514
+ * creator: 'CREATORADDRESS',
515
+ * ensureZeroBalance: true,
516
+ * lease: 'lease',
517
+ * note: 'note',
518
+ * // You wouldn't normally set this field
519
+ * firstValidRound: 1000n,
520
+ * validityWindow: 10,
521
+ * extraFee: (1000).microAlgo(),
522
+ * staticFee: (1000).microAlgo(),
523
+ * // Max fee doesn't make sense with extraFee AND staticFee
524
+ * // already specified, but here for completeness
525
+ * maxFee: (3000).microAlgo(),
526
+ * })
527
+ * ```
528
+ */
529
+ addAssetOptOut(params) {
530
+ this.push({
531
+ data: params,
532
+ type: "assetOptOut"
533
+ });
534
+ return this;
535
+ }
536
+ /**
537
+ * Add an application create transaction to the transaction group.
538
+ *
539
+ * Note: we recommend using app clients to make it easier to make app calls.
540
+ * @param params The application create transaction parameters
541
+ * @returns The composer so you can chain method calls
542
+ * @example Basic example
543
+ * ```typescript
544
+ * composer.addAppCreate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })
545
+ * ```
546
+ * @example Advanced example
547
+ * ```typescript
548
+ * composer.addAppCreate({
549
+ * sender: 'CREATORADDRESS',
550
+ * approvalProgram: "TEALCODE",
551
+ * clearStateProgram: "TEALCODE",
552
+ * schema: {
553
+ * globalInts: 1,
554
+ * globalByteSlices: 2,
555
+ * localInts: 3,
556
+ * localByteSlices: 4
557
+ * },
558
+ * extraProgramPages: 1,
559
+ * onComplete: OnApplicationComplete.OptIn,
560
+ * args: [new Uint8Array(1, 2, 3, 4)]
561
+ * accountReferences: ["ACCOUNT_1"]
562
+ * appReferences: [123n, 1234n]
563
+ * assetReferences: [12345n]
564
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
565
+ * accessReferences: [{ appId: 1234n }]
566
+ * lease: 'lease',
567
+ * note: 'note',
568
+ * // You wouldn't normally set this field
569
+ * firstValidRound: 1000n,
570
+ * validityWindow: 10,
571
+ * extraFee: (1000).microAlgo(),
572
+ * staticFee: (1000).microAlgo(),
573
+ * // Max fee doesn't make sense with extraFee AND staticFee
574
+ * // already specified, but here for completeness
575
+ * maxFee: (3000).microAlgo(),
576
+ * rejectVersion: 1,
577
+ * // Signer only needed if you want to provide one,
578
+ * // generally you'd register it with AlgorandClient
579
+ * // against the sender and not need to pass it in
580
+ * signer: transactionSigner,
581
+ * maxRoundsToWaitForConfirmation: 5,
582
+ * suppressLog: true,
583
+ *})
584
+ * ```
585
+ */
586
+ addAppCreate(params) {
587
+ this.validateReferenceParams(params);
588
+ this.push({
589
+ data: params,
590
+ type: "appCall"
591
+ });
592
+ return this;
593
+ }
594
+ /**
595
+ * Add an application update transaction to the transaction group.
596
+ *
597
+ * Note: we recommend using app clients to make it easier to make app calls.
598
+ * @param params The application update transaction parameters
599
+ * @returns The composer so you can chain method calls
600
+ * @example Basic example
601
+ * ```typescript
602
+ * composer.addAppUpdate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })
603
+ * ```
604
+ * @example Advanced example
605
+ * ```typescript
606
+ * composer.addAppUpdate({
607
+ * sender: 'CREATORADDRESS',
608
+ * approvalProgram: "TEALCODE",
609
+ * clearStateProgram: "TEALCODE",
610
+ * onComplete: OnApplicationComplete.UpdateApplication,
611
+ * args: [new Uint8Array(1, 2, 3, 4)]
612
+ * accountReferences: ["ACCOUNT_1"]
613
+ * appReferences: [123n, 1234n]
614
+ * assetReferences: [12345n]
615
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
616
+ * accessReferences: [{ appId: 1234n }]
617
+ * lease: 'lease',
618
+ * note: 'note',
619
+ * // You wouldn't normally set this field
620
+ * firstValidRound: 1000n,
621
+ * validityWindow: 10,
622
+ * extraFee: (1000).microAlgo(),
623
+ * staticFee: (1000).microAlgo(),
624
+ * // Max fee doesn't make sense with extraFee AND staticFee
625
+ * // already specified, but here for completeness
626
+ * maxFee: (3000).microAlgo(),
627
+ * rejectVersion: 1,
628
+ *})
629
+ * ```
630
+ */
631
+ addAppUpdate(params) {
632
+ this.validateReferenceParams(params);
633
+ this.push({
634
+ data: {
635
+ ...params,
636
+ onComplete: require_app_call.OnApplicationComplete.UpdateApplication
637
+ },
638
+ type: "appCall"
639
+ });
640
+ return this;
641
+ }
642
+ /**
643
+ * Add an application delete transaction to the transaction group.
644
+ *
645
+ * Note: we recommend using app clients to make it easier to make app calls.
646
+ * @param params The application delete transaction parameters
647
+ * @returns The composer so you can chain method calls
648
+ * @example Basic example
649
+ * ```typescript
650
+ * composer.addAppDelete({ sender: 'CREATORADDRESS' })
651
+ * ```
652
+ * @example Advanced example
653
+ * ```typescript
654
+ * composer.addAppDelete({
655
+ * sender: 'CREATORADDRESS',
656
+ * onComplete: OnApplicationComplete.DeleteApplication,
657
+ * args: [new Uint8Array(1, 2, 3, 4)]
658
+ * accountReferences: ["ACCOUNT_1"]
659
+ * appReferences: [123n, 1234n]
660
+ * assetReferences: [12345n]
661
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
662
+ * accessReferences: [{ appId: 1234n }]
663
+ * lease: 'lease',
664
+ * note: 'note',
665
+ * // You wouldn't normally set this field
666
+ * firstValidRound: 1000n,
667
+ * validityWindow: 10,
668
+ * extraFee: (1000).microAlgo(),
669
+ * staticFee: (1000).microAlgo(),
670
+ * // Max fee doesn't make sense with extraFee AND staticFee
671
+ * // already specified, but here for completeness
672
+ * maxFee: (3000).microAlgo(),
673
+ * rejectVersion: 1,
674
+ *})
675
+ * ```
676
+ */
677
+ addAppDelete(params) {
678
+ this.validateReferenceParams(params);
679
+ this.push({
680
+ data: {
681
+ ...params,
682
+ onComplete: require_app_call.OnApplicationComplete.DeleteApplication
683
+ },
684
+ type: "appCall"
685
+ });
686
+ return this;
687
+ }
688
+ /**
689
+ * Add an application call transaction to the transaction group.
690
+ *
691
+ * If you want to create or update an app use `addAppCreate` or `addAppUpdate`.
692
+ *
693
+ * Note: we recommend using app clients to make it easier to make app calls.
694
+ * @param params The application call transaction parameters
695
+ * @returns The composer so you can chain method calls
696
+ * @example Basic example
697
+ * ```typescript
698
+ * composer.addAppCall({ sender: 'CREATORADDRESS' })
699
+ * ```
700
+ * @example Advanced example
701
+ * ```typescript
702
+ * composer.addAppCall({
703
+ * sender: 'CREATORADDRESS',
704
+ * onComplete: OnApplicationComplete.OptIn,
705
+ * args: [new Uint8Array(1, 2, 3, 4)]
706
+ * accountReferences: ["ACCOUNT_1"]
707
+ * appReferences: [123n, 1234n]
708
+ * assetReferences: [12345n]
709
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
710
+ * accessReferences: [{ appId: 1234n }]
711
+ * lease: 'lease',
712
+ * note: 'note',
713
+ * // You wouldn't normally set this field
714
+ * firstValidRound: 1000n,
715
+ * validityWindow: 10,
716
+ * extraFee: (1000).microAlgo(),
717
+ * staticFee: (1000).microAlgo(),
718
+ * // Max fee doesn't make sense with extraFee AND staticFee
719
+ * // already specified, but here for completeness
720
+ * maxFee: (3000).microAlgo(),
721
+ * rejectVersion: 1,
722
+ *})
723
+ * ```
724
+ */
725
+ addAppCall(params) {
726
+ this.validateReferenceParams(params);
727
+ this.push({
728
+ data: params,
729
+ type: "appCall"
730
+ });
731
+ return this;
732
+ }
733
+ /**
734
+ * Add an ABI method create application call transaction to the transaction group.
735
+ *
736
+ * Note: we recommend using app clients to make it easier to make app calls.
737
+ * @param params The ABI create method application call transaction parameters
738
+ * @returns The composer so you can chain method calls
739
+ * @example Basic example
740
+ * ```typescript
741
+ * const method = new ABIMethod({
742
+ * name: 'method',
743
+ * args: [{ name: 'arg1', type: 'string' }],
744
+ * returns: { type: 'string' },
745
+ * })
746
+ * composer.addAppCreateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: ["arg1_value"] })
747
+ * ```
748
+ * @example Advanced example
749
+ * ```typescript
750
+ * const method = new ABIMethod({
751
+ * name: 'method',
752
+ * args: [{ name: 'arg1', type: 'string' }],
753
+ * returns: { type: 'string' },
754
+ * })
755
+ * composer.addAppCreateMethodCall({
756
+ * sender: 'CREATORADDRESS',
757
+ * method: method,
758
+ * args: ["arg1_value"],
759
+ * approvalProgram: "TEALCODE",
760
+ * clearStateProgram: "TEALCODE",
761
+ * schema: {
762
+ * globalInts: 1,
763
+ * globalByteSlices: 2,
764
+ * localInts: 3,
765
+ * localByteSlices: 4
766
+ * },
767
+ * extraProgramPages: 1,
768
+ * onComplete: OnApplicationComplete.OptIn,
769
+ * args: [new Uint8Array(1, 2, 3, 4)]
770
+ * accountReferences: ["ACCOUNT_1"]
771
+ * appReferences: [123n, 1234n]
772
+ * assetReferences: [12345n]
773
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
774
+ * accessReferences: [{ appId: 1234n }]
775
+ * lease: 'lease',
776
+ * note: 'note',
777
+ * // You wouldn't normally set this field
778
+ * firstValidRound: 1000n,
779
+ * validityWindow: 10,
780
+ * extraFee: (1000).microAlgo(),
781
+ * staticFee: (1000).microAlgo(),
782
+ * // Max fee doesn't make sense with extraFee AND staticFee
783
+ * // already specified, but here for completeness
784
+ * maxFee: (3000).microAlgo(),
785
+ * rejectVersion: 1,
786
+ *})
787
+ * ```
788
+ */
789
+ addAppCreateMethodCall(params) {
790
+ this.validateReferenceParams(params);
791
+ const txnArgs = require_method_call.extractComposerTransactionsFromAppMethodCallParams(params);
792
+ this.push(...txnArgs, {
793
+ data: {
794
+ ...params,
795
+ args: require_method_call.processAppMethodCallArgs(params.args)
796
+ },
797
+ type: "methodCall"
798
+ });
799
+ return this;
800
+ }
801
+ /**
802
+ * Add an ABI method update application call transaction to the transaction group.
803
+ *
804
+ * Note: we recommend using app clients to make it easier to make app calls.
805
+ * @param params The ABI update method application call transaction parameters
806
+ * @returns The composer so you can chain method calls
807
+ * @example Basic example
808
+ * ```typescript
809
+ * const method = new ABIMethod({
810
+ * name: 'method',
811
+ * args: [{ name: 'arg1', type: 'string' }],
812
+ * returns: { type: 'string' },
813
+ * })
814
+ * composer.addAppUpdateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: ["arg1_value"] })
815
+ * ```
816
+ * @example Advanced example
817
+ * ```typescript
818
+ * const method = new ABIMethod({
819
+ * name: 'method',
820
+ * args: [{ name: 'arg1', type: 'string' }],
821
+ * returns: { type: 'string' },
822
+ * })
823
+ * composer.addAppUpdateMethodCall({
824
+ * sender: 'CREATORADDRESS',
825
+ * method: method,
826
+ * args: ["arg1_value"],
827
+ * approvalProgram: "TEALCODE",
828
+ * clearStateProgram: "TEALCODE",
829
+ * onComplete: OnApplicationComplete.UpdateApplication,
830
+ * args: [new Uint8Array(1, 2, 3, 4)]
831
+ * accountReferences: ["ACCOUNT_1"]
832
+ * appReferences: [123n, 1234n]
833
+ * assetReferences: [12345n]
834
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
835
+ * accessReferences: [{ appId: 1234n }]
836
+ * lease: 'lease',
837
+ * note: 'note',
838
+ * // You wouldn't normally set this field
839
+ * firstValidRound: 1000n,
840
+ * validityWindow: 10,
841
+ * extraFee: (1000).microAlgo(),
842
+ * staticFee: (1000).microAlgo(),
843
+ * // Max fee doesn't make sense with extraFee AND staticFee
844
+ * // already specified, but here for completeness
845
+ * maxFee: (3000).microAlgo(),
846
+ * rejectVersion: 1,
847
+ *})
848
+ * ```
849
+ */
850
+ addAppUpdateMethodCall(params) {
851
+ this.validateReferenceParams(params);
852
+ const txnArgs = require_method_call.extractComposerTransactionsFromAppMethodCallParams(params);
853
+ this.push(...txnArgs, {
854
+ data: {
855
+ ...params,
856
+ args: require_method_call.processAppMethodCallArgs(params.args),
857
+ onComplete: require_app_call.OnApplicationComplete.UpdateApplication
858
+ },
859
+ type: "methodCall"
860
+ });
861
+ return this;
862
+ }
863
+ /**
864
+ * Add an ABI method delete application call transaction to the transaction group.
865
+ *
866
+ * Note: we recommend using app clients to make it easier to make app calls.
867
+ * @param params The ABI delete method application call transaction parameters
868
+ * @returns The composer so you can chain method calls
869
+ * @example Basic example
870
+ * ```typescript
871
+ * const method = new ABIMethod({
872
+ * name: 'method',
873
+ * args: [{ name: 'arg1', type: 'string' }],
874
+ * returns: { type: 'string' },
875
+ * })
876
+ * composer.addAppDeleteMethodCall({ sender: 'CREATORADDRESS', method: method, args: ["arg1_value"] })
877
+ * ```
878
+ * @example Advanced example
879
+ * ```typescript
880
+ * const method = new ABIMethod({
881
+ * name: 'method',
882
+ * args: [{ name: 'arg1', type: 'string' }],
883
+ * returns: { type: 'string' },
884
+ * })
885
+ * composer.addAppDeleteMethodCall({
886
+ * sender: 'CREATORADDRESS',
887
+ * method: method,
888
+ * args: ["arg1_value"],
889
+ * onComplete: OnApplicationComplete.DeleteApplication,
890
+ * args: [new Uint8Array(1, 2, 3, 4)]
891
+ * accountReferences: ["ACCOUNT_1"]
892
+ * appReferences: [123n, 1234n]
893
+ * assetReferences: [12345n]
894
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
895
+ * accessReferences: [{ appId: 1234n }]
896
+ * lease: 'lease',
897
+ * note: 'note',
898
+ * // You wouldn't normally set this field
899
+ * firstValidRound: 1000n,
900
+ * validityWindow: 10,
901
+ * extraFee: (1000).microAlgo(),
902
+ * staticFee: (1000).microAlgo(),
903
+ * // Max fee doesn't make sense with extraFee AND staticFee
904
+ * // already specified, but here for completeness
905
+ * maxFee: (3000).microAlgo(),
906
+ * rejectVersion: 1,
907
+ *})
908
+ * ```
909
+ */
910
+ addAppDeleteMethodCall(params) {
911
+ this.validateReferenceParams(params);
912
+ const txnArgs = require_method_call.extractComposerTransactionsFromAppMethodCallParams(params);
913
+ this.push(...txnArgs, {
914
+ data: {
915
+ ...params,
916
+ args: require_method_call.processAppMethodCallArgs(params.args),
917
+ onComplete: require_app_call.OnApplicationComplete.DeleteApplication
918
+ },
919
+ type: "methodCall"
920
+ });
921
+ return this;
922
+ }
923
+ /**
924
+ * Add a non-create/non-update ABI method application call transaction to the transaction group.
925
+ *
926
+ * Note: we recommend using app clients to make it easier to make app calls.
927
+ * @param params The ABI method application call transaction parameters
928
+ * @returns The composer so you can chain method calls
929
+ * @example Basic example
930
+ * ```typescript
931
+ * const method = new ABIMethod({
932
+ * name: 'method',
933
+ * args: [{ name: 'arg1', type: 'string' }],
934
+ * returns: { type: 'string' },
935
+ * })
936
+ * composer.addAppCallMethodCall({ sender: 'CREATORADDRESS', method: method, args: ["arg1_value"] })
937
+ * ```
938
+ * @example Advanced example
939
+ * ```typescript
940
+ * const method = new ABIMethod({
941
+ * name: 'method',
942
+ * args: [{ name: 'arg1', type: 'string' }],
943
+ * returns: { type: 'string' },
944
+ * })
945
+ * composer.addAppCallMethodCall({
946
+ * sender: 'CREATORADDRESS',
947
+ * method: method,
948
+ * args: ["arg1_value"],
949
+ * onComplete: OnApplicationComplete.OptIn,
950
+ * args: [new Uint8Array(1, 2, 3, 4)]
951
+ * accountReferences: ["ACCOUNT_1"]
952
+ * appReferences: [123n, 1234n]
953
+ * assetReferences: [12345n]
954
+ * boxReferences: ["box1", {appId: 1234n, name: "box2"}]
955
+ * accessReferences: [{ appId: 1234n }]
956
+ * lease: 'lease',
957
+ * note: 'note',
958
+ * // You wouldn't normally set this field
959
+ * firstValidRound: 1000n,
960
+ * validityWindow: 10,
961
+ * extraFee: (1000).microAlgo(),
962
+ * staticFee: (1000).microAlgo(),
963
+ * // Max fee doesn't make sense with extraFee AND staticFee
964
+ * // already specified, but here for completeness
965
+ * maxFee: (3000).microAlgo(),
966
+ * rejectVersion: 1,
967
+ *})
968
+ * ```
969
+ */
970
+ addAppCallMethodCall(params) {
971
+ this.validateReferenceParams(params);
972
+ const txnArgs = require_method_call.extractComposerTransactionsFromAppMethodCallParams(params);
973
+ this.push(...txnArgs, {
974
+ data: {
975
+ ...params,
976
+ args: require_method_call.processAppMethodCallArgs(params.args)
977
+ },
978
+ type: "methodCall"
979
+ });
980
+ return this;
981
+ }
982
+ /**
983
+ * Add an online key registration transaction to the transaction group.
984
+ * @param params The online key registration transaction parameters
985
+ * @returns The composer so you can chain method calls
986
+ * @example Basic example
987
+ * ```typescript
988
+ * composer.addOnlineKeyRegistration({
989
+ * sender: 'SENDERADDRESS',
990
+ * voteKey: Uint8Array.from(Buffer.from("voteKeyBase64", 'base64')),
991
+ * selectionKey: Uint8Array.from(Buffer.from("selectionKeyBase64", 'base64')),
992
+ * stateProofKey: Uint8Array.from(Buffer.from("stateProofKeyBase64", 'base64')),
993
+ * voteFirst: 1n,
994
+ * voteLast: 1000n,
995
+ * voteKeyDilution: 1n,
996
+ * })
997
+ * ```
998
+ * @example Advanced example
999
+ * ```typescript
1000
+ * composer.addOnlineKeyRegistration({
1001
+ * sender: 'SENDERADDRESS',
1002
+ * voteKey: Uint8Array.from(Buffer.from("voteKeyBase64", 'base64')),
1003
+ * selectionKey: Uint8Array.from(Buffer.from("selectionKeyBase64", 'base64')),
1004
+ * stateProofKey: Uint8Array.from(Buffer.from("stateProofKeyBase64", 'base64')),
1005
+ * voteFirst: 1n,
1006
+ * voteLast: 1000n,
1007
+ * voteKeyDilution: 1n,
1008
+ * lease: 'lease',
1009
+ * note: 'note',
1010
+ * // Use this with caution, it's generally better to use algorand.account.rekeyAccount
1011
+ * rekeyTo: 'REKEYTOADDRESS',
1012
+ * // You wouldn't normally set this field
1013
+ * firstValidRound: 1000n,
1014
+ * validityWindow: 10,
1015
+ * extraFee: (1000).microAlgo(),
1016
+ * staticFee: (1000).microAlgo(),
1017
+ * // Max fee doesn't make sense with extraFee AND staticFee
1018
+ * // already specified, but here for completeness
1019
+ * maxFee: (3000).microAlgo(),
1020
+ * })
1021
+ * ```
1022
+ */
1023
+ addOnlineKeyRegistration(params) {
1024
+ this.push({
1025
+ data: params,
1026
+ type: "keyReg"
1027
+ });
1028
+ return this;
1029
+ }
1030
+ /**
1031
+ * Add an offline key registration transaction to the transaction group.
1032
+ * @param params The offline key registration transaction parameters
1033
+ * @returns The composer so you can chain method calls
1034
+ * @example Basic example
1035
+ * ```typescript
1036
+ * composer.addOfflineKeyRegistration({
1037
+ * sender: 'SENDERADDRESS',
1038
+ * })
1039
+ * ```
1040
+ * @example Advanced example
1041
+ * ```typescript
1042
+ * composer.addOfflineKeyRegistration({
1043
+ * sender: 'SENDERADDRESS',
1044
+ * lease: 'lease',
1045
+ * note: 'note',
1046
+ * // Use this with caution, it's generally better to use algorand.account.rekeyAccount
1047
+ * rekeyTo: 'REKEYTOADDRESS',
1048
+ * // You wouldn't normally set this field
1049
+ * firstValidRound: 1000n,
1050
+ * validityWindow: 10,
1051
+ * extraFee: (1000).microAlgo(),
1052
+ * staticFee: (1000).microAlgo(),
1053
+ * // Max fee doesn't make sense with extraFee AND staticFee
1054
+ * // already specified, but here for completeness
1055
+ * maxFee: (3000).microAlgo(),
1056
+ * })
1057
+ * ```
1058
+ */
1059
+ addOfflineKeyRegistration(params) {
1060
+ this.push({
1061
+ data: params,
1062
+ type: "keyReg"
1063
+ });
1064
+ return this;
1065
+ }
1066
+ /**
1067
+ * Get the number of transactions currently added to this composer.
1068
+ * @returns The number of transactions currently added to this composer
1069
+ */
1070
+ count() {
1071
+ return this.txns.length;
1072
+ }
1073
+ /**
1074
+ * Build the transaction composer.
1075
+ *
1076
+ * This method performs resource population and inner transaction fee coverage if these options are set in the composer.
1077
+ *
1078
+ * Once this method is called, no further transactions will be able to be added.
1079
+ * You can safely call this method multiple times to get the same result.
1080
+ * @returns The built transaction composer, the transactions and any corresponding method calls
1081
+ * @example
1082
+ * ```typescript
1083
+ * const { transactions, methodCalls } = await composer.build()
1084
+ * ```
1085
+ */
1086
+ async build() {
1087
+ if (!this.transactionsWithSigners) {
1088
+ const suggestedParams = await this.getSuggestedParams();
1089
+ const builtTransactions = await this._buildTransactions(suggestedParams);
1090
+ this.rawBuildTransactions = builtTransactions.transactions.map((txn) => new require_transaction.Transaction({ ...txn }));
1091
+ const groupAnalysis = (this.composerConfig.coverAppCallInnerTransactionFees || this.composerConfig.populateAppCallResources) && builtTransactions.transactions.some((txn) => txn.type === require_transaction_type.TransactionType.AppCall) ? await this.analyzeGroupRequirements(builtTransactions.transactions, suggestedParams, this.composerConfig) : void 0;
1092
+ this.populateTransactionAndGroupResources(builtTransactions.transactions, groupAnalysis);
1093
+ this.transactionsWithSigners = builtTransactions.transactions.map((txn, index) => {
1094
+ return {
1095
+ txn,
1096
+ signer: builtTransactions.signers.get(index) ?? this.getSigner(txn.sender)
1097
+ };
1098
+ });
1099
+ }
1100
+ const methodCalls = /* @__PURE__ */ new Map();
1101
+ this.txns.forEach((txn, index) => {
1102
+ if (txn.type === "methodCall") methodCalls.set(index, txn.data.method);
1103
+ });
1104
+ return {
1105
+ transactions: this.transactionsWithSigners,
1106
+ methodCalls
1107
+ };
1108
+ }
1109
+ async _buildTransactions(suggestedParams) {
1110
+ const defaultValidityWindow = !this.defaultValidityWindowIsExplicit && require_network_client.genesisIdIsLocalNet(suggestedParams.genesisId ?? "unknown") ? 1000n : this.defaultValidityWindow;
1111
+ const signers = /* @__PURE__ */ new Map();
1112
+ const transactions = new Array();
1113
+ let transactionIndex = 0;
1114
+ for (const ctxn of this.txns) if (ctxn.type === "txn") {
1115
+ require_transaction.validateTransaction(ctxn.data.txn);
1116
+ transactions.push(ctxn.data.txn);
1117
+ if (ctxn.data.signer) signers.set(transactionIndex, ctxn.data.signer);
1118
+ transactionIndex++;
1119
+ } else if (ctxn.type === "asyncTxn") {
1120
+ const transaction = await ctxn.data.txn;
1121
+ require_transaction.validateTransaction(transaction);
1122
+ transactions.push(transaction);
1123
+ if (ctxn.data.signer) signers.set(transactionIndex, ctxn.data.signer);
1124
+ transactionIndex++;
1125
+ } else {
1126
+ let transaction;
1127
+ switch (ctxn.type) {
1128
+ case "pay":
1129
+ transaction = require_payment.buildPayment(ctxn.data, suggestedParams, defaultValidityWindow);
1130
+ break;
1131
+ case "assetCreate":
1132
+ transaction = require_asset_config.buildAssetCreate(ctxn.data, suggestedParams, defaultValidityWindow);
1133
+ break;
1134
+ case "assetConfig":
1135
+ transaction = require_asset_config.buildAssetConfig(ctxn.data, suggestedParams, defaultValidityWindow);
1136
+ break;
1137
+ case "assetFreeze":
1138
+ transaction = require_asset_config.buildAssetFreeze(ctxn.data, suggestedParams, defaultValidityWindow);
1139
+ break;
1140
+ case "assetDestroy":
1141
+ transaction = require_asset_config.buildAssetDestroy(ctxn.data, suggestedParams, defaultValidityWindow);
1142
+ break;
1143
+ case "assetTransfer":
1144
+ transaction = require_asset_transfer.buildAssetTransfer(ctxn.data, suggestedParams, defaultValidityWindow);
1145
+ break;
1146
+ case "assetOptIn":
1147
+ transaction = require_asset_transfer.buildAssetOptIn(ctxn.data, suggestedParams, defaultValidityWindow);
1148
+ break;
1149
+ case "assetOptOut":
1150
+ transaction = require_asset_transfer.buildAssetOptOut(ctxn.data, suggestedParams, defaultValidityWindow);
1151
+ break;
1152
+ case "appCall":
1153
+ if (ctxn.data.appId === void 0 || ctxn.data.appId === 0) transaction = await require_app_call$1.buildAppCreate(ctxn.data, this.appManager, suggestedParams, defaultValidityWindow);
1154
+ else if ("approvalProgram" in ctxn.data && "clearStateProgram" in ctxn.data) transaction = await require_app_call$1.buildAppUpdate(ctxn.data, this.appManager, suggestedParams, defaultValidityWindow);
1155
+ else transaction = require_app_call$1.buildAppCall(ctxn.data, suggestedParams, defaultValidityWindow);
1156
+ break;
1157
+ case "keyReg":
1158
+ transaction = require_key_registration.buildKeyReg(ctxn.data, suggestedParams, defaultValidityWindow);
1159
+ break;
1160
+ case "methodCall":
1161
+ if (ctxn.data.appId === void 0 || ctxn.data.appId === 0) transaction = await require_method_call.buildAppCreateMethodCall(ctxn.data, this.appManager, suggestedParams, defaultValidityWindow);
1162
+ else if ("approvalProgram" in ctxn.data && "clearStateProgram" in ctxn.data) transaction = await require_method_call.buildAppUpdateMethodCall(ctxn.data, this.appManager, suggestedParams, defaultValidityWindow);
1163
+ else transaction = await require_method_call.buildAppCallMethodCall(ctxn.data, suggestedParams, defaultValidityWindow);
1164
+ break;
1165
+ default: throw new Error(`Unsupported transaction type: ${ctxn.type}`);
1166
+ }
1167
+ if (transaction.fee === void 0) transaction = require_transaction.assignFee(transaction, {
1168
+ feePerByte: suggestedParams.fee,
1169
+ minFee: suggestedParams.minFee,
1170
+ extraFee: ctxn.data.extraFee?.microAlgos,
1171
+ maxFee: ctxn.data.maxFee?.microAlgos
1172
+ });
1173
+ require_transaction.validateTransaction(transaction);
1174
+ transactions.push(transaction);
1175
+ if (ctxn.data.signer) {
1176
+ const signer = "signer" in ctxn.data.signer ? ctxn.data.signer.signer : ctxn.data.signer;
1177
+ signers.set(transactionIndex, signer);
1178
+ }
1179
+ transactionIndex++;
1180
+ }
1181
+ if (transactions.length > require_constants.MAX_TRANSACTION_GROUP_SIZE) throw new Error(`Transaction group size ${transactions.length} exceeds the maximum limit of ${require_constants.MAX_TRANSACTION_GROUP_SIZE}`);
1182
+ const methodCalls = /* @__PURE__ */ new Map();
1183
+ this.txns.forEach((txn, index) => {
1184
+ if (txn.type === "methodCall") methodCalls.set(index, txn.data.method);
1185
+ });
1186
+ return {
1187
+ transactions,
1188
+ methodCalls,
1189
+ signers
1190
+ };
1191
+ }
1192
+ /**
1193
+ * Builds all transactions in the composer and returns them along with method calls and signers.
1194
+ *
1195
+ * Note: This method only builds the transactions as-is without resource population or automatic grouping.
1196
+ * Use this when you need the raw transactions.
1197
+ * @returns An object containing the array of built transactions, method calls, and signers
1198
+ * @example
1199
+ * ```typescript
1200
+ * const { transactions, methodCalls, signers } = await composer.buildTransactions()
1201
+ * ```
1202
+ */
1203
+ async buildTransactions() {
1204
+ const suggestedParams = await this.getSuggestedParams();
1205
+ const buildResult = await this._buildTransactions(suggestedParams);
1206
+ return {
1207
+ ...buildResult,
1208
+ transactions: buildResult.transactions
1209
+ };
1210
+ }
1211
+ populateTransactionAndGroupResources(transactions, groupAnalysis) {
1212
+ if (groupAnalysis) {
1213
+ let surplusGroupFees = 0n;
1214
+ const transactionAnalysis = [];
1215
+ groupAnalysis.transactions.forEach((txnAnalysis, groupIndex) => {
1216
+ if (txnAnalysis.requiredFeeDelta && require_fee_coverage.FeeDelta.isSurplus(txnAnalysis.requiredFeeDelta)) surplusGroupFees += require_fee_coverage.FeeDelta.amount(txnAnalysis.requiredFeeDelta);
1217
+ const ctxn = this.txns[groupIndex];
1218
+ const txn = transactions[groupIndex];
1219
+ const logicalMaxFee = getLogicalMaxFee(ctxn);
1220
+ const isImmutableFee = logicalMaxFee !== void 0 && logicalMaxFee === (txn.fee || 0n);
1221
+ let priority = require_fee_coverage.FeePriority.Covered;
1222
+ if (txnAnalysis.requiredFeeDelta && require_fee_coverage.FeeDelta.isDeficit(txnAnalysis.requiredFeeDelta)) {
1223
+ const deficitAmount = require_fee_coverage.FeeDelta.amount(txnAnalysis.requiredFeeDelta);
1224
+ if (isImmutableFee || txn.type !== require_transaction_type.TransactionType.AppCall) priority = require_fee_coverage.FeePriority.ImmutableDeficit(deficitAmount);
1225
+ else priority = require_fee_coverage.FeePriority.ModifiableDeficit(deficitAmount);
1226
+ }
1227
+ transactionAnalysis.push({
1228
+ groupIndex,
1229
+ requiredFeeDelta: txnAnalysis.requiredFeeDelta,
1230
+ priority,
1231
+ unnamedResourcesAccessed: txnAnalysis.unnamedResourcesAccessed
1232
+ });
1233
+ });
1234
+ transactionAnalysis.sort((a, b) => b.priority.compare(a.priority));
1235
+ const indexesWithAccessReferences = [];
1236
+ for (const { groupIndex, requiredFeeDelta, unnamedResourcesAccessed } of transactionAnalysis) {
1237
+ if (requiredFeeDelta && require_fee_coverage.FeeDelta.isDeficit(requiredFeeDelta)) {
1238
+ const deficitAmount = require_fee_coverage.FeeDelta.amount(requiredFeeDelta);
1239
+ let additionalFeeDelta;
1240
+ if (surplusGroupFees === 0n) additionalFeeDelta = requiredFeeDelta;
1241
+ else if (surplusGroupFees >= deficitAmount) surplusGroupFees -= deficitAmount;
1242
+ else {
1243
+ additionalFeeDelta = require_fee_coverage.FeeDelta.fromBigInt(deficitAmount - surplusGroupFees);
1244
+ surplusGroupFees = 0n;
1245
+ }
1246
+ if (additionalFeeDelta && require_fee_coverage.FeeDelta.isDeficit(additionalFeeDelta)) {
1247
+ const additionalDeficitAmount = require_fee_coverage.FeeDelta.amount(additionalFeeDelta);
1248
+ if (transactions[groupIndex].type === require_transaction_type.TransactionType.AppCall) {
1249
+ const transactionFee = (transactions[groupIndex].fee || 0n) + additionalDeficitAmount;
1250
+ const logicalMaxFee = getLogicalMaxFee(this.txns[groupIndex]);
1251
+ if (!logicalMaxFee || transactionFee > logicalMaxFee) throw new Error(`Calculated transaction fee ${transactionFee} µALGO is greater than max of ${logicalMaxFee ?? 0n} for transaction ${groupIndex}`);
1252
+ transactions[groupIndex].fee = transactionFee;
1253
+ } else throw new Error(`An additional fee of ${additionalDeficitAmount} µALGO is required for non app call transaction ${groupIndex}`);
1254
+ }
1255
+ }
1256
+ if (unnamedResourcesAccessed && transactions[groupIndex].type === require_transaction_type.TransactionType.AppCall) if (!(transactions[groupIndex].appCall?.accessReferences && transactions[groupIndex].appCall?.accessReferences?.length)) require_app_call$1.populateTransactionResources(transactions[groupIndex], unnamedResourcesAccessed, groupIndex);
1257
+ else indexesWithAccessReferences.push(groupIndex);
1258
+ }
1259
+ if (indexesWithAccessReferences.length > 0) require_config.Config.logger.warn(`Resource population will be skipped for transaction indexes ${indexesWithAccessReferences.join(", ")} as they use access references.`);
1260
+ if (groupAnalysis.unnamedResourcesAccessed) require_app_call$1.populateGroupResources(transactions, groupAnalysis.unnamedResourcesAccessed);
1261
+ }
1262
+ if (transactions.length > 1) {
1263
+ const groupedTransactions = require_transaction.groupTransactions(transactions);
1264
+ transactions.forEach((t) => t.group = groupedTransactions[0].group);
1265
+ return transactions;
1266
+ } else return transactions;
1267
+ }
1268
+ async analyzeGroupRequirements(transactions, suggestedParams, analysisParams) {
1269
+ const appCallIndexesWithoutMaxFees = [];
1270
+ let transactionsToSimulate = transactions.map((txn, groupIndex) => {
1271
+ const ctxn = this.txns[groupIndex];
1272
+ const params = { ...txn };
1273
+ delete params.group;
1274
+ if (analysisParams.coverAppCallInnerTransactionFees && txn.type === require_transaction_type.TransactionType.AppCall) {
1275
+ const logicalMaxFee = getLogicalMaxFee(ctxn);
1276
+ if (logicalMaxFee !== void 0) params.fee = logicalMaxFee;
1277
+ else appCallIndexesWithoutMaxFees.push(groupIndex);
1278
+ }
1279
+ return new require_transaction.Transaction(params);
1280
+ });
1281
+ if (transactionsToSimulate.length > 1) transactionsToSimulate = require_transaction.groupTransactions(transactionsToSimulate);
1282
+ if (analysisParams.coverAppCallInnerTransactionFees && appCallIndexesWithoutMaxFees.length > 0) throw new Error(`Please provide a maxFee for each app call transaction when coverAppCallInnerTransactionFees is enabled. Required for transaction ${appCallIndexesWithoutMaxFees.join(", ")}`);
1283
+ const simulateRequest = {
1284
+ txnGroups: [{ txns: transactionsToSimulate.map((txn) => ({
1285
+ txn,
1286
+ sig: require_constants.EMPTY_SIGNATURE
1287
+ })) }],
1288
+ allowUnnamedResources: true,
1289
+ allowEmptySignatures: true,
1290
+ fixSigners: true,
1291
+ allowMoreLogging: true,
1292
+ execTraceConfig: {
1293
+ enable: true,
1294
+ scratchChange: true,
1295
+ stackChange: true,
1296
+ stateChange: true
1297
+ }
1298
+ };
1299
+ const groupResponse = (await this.algod.simulateTransactions(simulateRequest)).txnGroups[0];
1300
+ if (groupResponse.failureMessage) {
1301
+ if (analysisParams.coverAppCallInnerTransactionFees && groupResponse.failureMessage.includes("fee too small")) throw new Error("Fees were too small to resolve execution info via simulate. You may need to increase an app call transaction maxFee.");
1302
+ throw new Error(`Error resolving execution info via simulate in transaction ${groupResponse.failedAt?.join(", ")}: ${groupResponse.failureMessage}`);
1303
+ }
1304
+ const txnAnalysisResults = groupResponse.txnResults.map((simulateTxnResult, groupIndex) => {
1305
+ const btxn = transactions[groupIndex];
1306
+ let requiredFeeDelta;
1307
+ if (analysisParams.coverAppCallInnerTransactionFees) {
1308
+ const minTxnFee = require_transaction.calculateFee(btxn, {
1309
+ feePerByte: suggestedParams.fee,
1310
+ minFee: suggestedParams.minFee
1311
+ });
1312
+ const txnFeeDelta = require_fee_coverage.FeeDelta.fromBigInt(minTxnFee - (btxn.fee ?? 0n));
1313
+ if (btxn.type === require_transaction_type.TransactionType.AppCall) {
1314
+ const innerTxnsFeeDelta = require_fee_coverage.calculateInnerFeeDelta(simulateTxnResult.txnResult.innerTxns, suggestedParams.minFee);
1315
+ requiredFeeDelta = require_fee_coverage.FeeDelta.fromBigInt((innerTxnsFeeDelta ? require_fee_coverage.FeeDelta.toBigInt(innerTxnsFeeDelta) : 0n) + (txnFeeDelta ? require_fee_coverage.FeeDelta.toBigInt(txnFeeDelta) : 0n));
1316
+ } else requiredFeeDelta = txnFeeDelta;
1317
+ }
1318
+ return {
1319
+ requiredFeeDelta,
1320
+ unnamedResourcesAccessed: analysisParams.populateAppCallResources ? simulateTxnResult.unnamedResourcesAccessed : void 0
1321
+ };
1322
+ });
1323
+ const sortedResources = groupResponse.unnamedResourcesAccessed;
1324
+ const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
1325
+ if (sortedResources) {
1326
+ sortedResources.accounts?.sort((a, b) => compare(a.toString(), b.toString()));
1327
+ sortedResources.assets?.sort(compare);
1328
+ sortedResources.apps?.sort(compare);
1329
+ sortedResources.boxes?.sort((a, b) => {
1330
+ return compare(`${a.appId}-${a.name}`, `${b.appId}-${b.name}`);
1331
+ });
1332
+ sortedResources.appLocals?.sort((a, b) => {
1333
+ return compare(`${a.appId}-${a.address}`, `${b.appId}-${b.address}`);
1334
+ });
1335
+ sortedResources.assetHoldings?.sort((a, b) => {
1336
+ return compare(`${a.assetId}-${a.address}`, `${b.assetId}-${b.address}`);
1337
+ });
1338
+ }
1339
+ return {
1340
+ transactions: txnAnalysisResults,
1341
+ unnamedResourcesAccessed: analysisParams.populateAppCallResources ? sortedResources : void 0
1342
+ };
1343
+ }
1344
+ /**
1345
+ * Rebuild the group, discarding any previously built transactions.
1346
+ * This will potentially cause new signers and suggested params to be used if the callbacks return a new value compared to the first build.
1347
+ * @returns The newly built transaction composer and the transactions
1348
+ * @example
1349
+ * ```typescript
1350
+ * const { atc, transactions, methodCalls } = await composer.rebuild()
1351
+ * ```
1352
+ */
1353
+ async rebuild() {
1354
+ this.reset();
1355
+ return await this.build();
1356
+ }
1357
+ reset() {
1358
+ this.signedTransactions = void 0;
1359
+ this.transactionsWithSigners = void 0;
1360
+ }
1361
+ /**
1362
+ * Compose the transaction group and send it to the network.
1363
+ * @param params The parameters to control execution with
1364
+ * @returns The execution result
1365
+ * @example
1366
+ * ```typescript
1367
+ * const result = await composer.send()
1368
+ * ```
1369
+ */
1370
+ async send(params) {
1371
+ const effectiveConfig = {
1372
+ coverAppCallInnerTransactionFees: params?.coverAppCallInnerTransactionFees ?? this.composerConfig.coverAppCallInnerTransactionFees,
1373
+ populateAppCallResources: params?.populateAppCallResources ?? this.composerConfig.populateAppCallResources
1374
+ };
1375
+ if (this.composerConfig.coverAppCallInnerTransactionFees !== effectiveConfig.coverAppCallInnerTransactionFees || this.composerConfig.populateAppCallResources !== effectiveConfig.populateAppCallResources) {
1376
+ this.composerConfig = effectiveConfig;
1377
+ this.reset();
1378
+ }
1379
+ try {
1380
+ await this.gatherSignatures();
1381
+ if (!this.transactionsWithSigners || this.transactionsWithSigners.length === 0 || !this.signedTransactions || this.signedTransactions.length === 0) throw new Error("No transactions available");
1382
+ const transactionsToSend = this.transactionsWithSigners.map((stxn) => stxn.txn);
1383
+ const transactionIds = transactionsToSend.map((txn) => txn.txId());
1384
+ if (transactionsToSend.length > 1) {
1385
+ const groupId = transactionsToSend[0].group ? buffer.Buffer.from(transactionsToSend[0].group).toString("base64") : "";
1386
+ require_config.Config.getLogger(params?.suppressLog).verbose(`Sending group of ${transactionsToSend.length} transactions (${groupId})`, { transactionsToSend });
1387
+ require_config.Config.getLogger(params?.suppressLog).debug(`Transaction IDs (${groupId})`, transactionIds);
1388
+ }
1389
+ if (require_config.Config.debug && require_config.Config.traceAll) await this.simulate({
1390
+ allowEmptySignatures: true,
1391
+ fixSigners: true,
1392
+ allowMoreLogging: true,
1393
+ execTraceConfig: {
1394
+ enable: true,
1395
+ scratchChange: true,
1396
+ stackChange: true,
1397
+ stateChange: true
1398
+ },
1399
+ resultOnFailure: true
1400
+ });
1401
+ const group = this.transactionsWithSigners[0].txn.group;
1402
+ let waitRounds = params?.maxRoundsToWaitForConfirmation;
1403
+ if (waitRounds === void 0) {
1404
+ const firstRound = (await this.getSuggestedParams()).firstValid;
1405
+ const lastRound = this.transactionsWithSigners.reduce((max, txn) => txn.txn.lastValid > max ? txn.txn.lastValid : max, 0n);
1406
+ waitRounds = Number(lastRound - firstRound) + 1;
1407
+ }
1408
+ await this.algod.sendRawTransaction(this.signedTransactions);
1409
+ if (transactionsToSend.length > 1 && group) require_config.Config.getLogger(params?.suppressLog).verbose(`Group transaction (${buffer.Buffer.from(group).toString("base64")}) sent with ${transactionsToSend.length} transactions`);
1410
+ else require_config.Config.getLogger(params?.suppressLog).verbose(`Sent transaction ID ${transactionsToSend[0].txId()} ${transactionsToSend[0].type} from ${transactionsToSend[0].sender}`);
1411
+ let confirmations = new Array();
1412
+ if (params?.maxRoundsToWaitForConfirmation !== 0) confirmations = await Promise.all(transactionIds.map(async (id) => await require_transaction$1.waitForConfirmation(id, waitRounds, this.algod)));
1413
+ const abiReturns = this.parseAbiReturnValues(confirmations);
1414
+ return {
1415
+ groupId: group ? buffer.Buffer.from(group).toString("base64") : void 0,
1416
+ transactions: transactionsToSend,
1417
+ txIds: transactionIds,
1418
+ returns: abiReturns,
1419
+ confirmations
1420
+ };
1421
+ } catch (originalError) {
1422
+ const errorMessage = originalError.body?.message ?? originalError.message ?? "Received error executing Transaction Composer";
1423
+ const err = new Error(errorMessage);
1424
+ err.cause = originalError;
1425
+ if (typeof originalError === "object") err.name = originalError.name;
1426
+ let sentTransactions;
1427
+ if (this.transactionsWithSigners) sentTransactions = this.transactionsWithSigners.map((t) => t.txn);
1428
+ else if (this.rawBuildTransactions) sentTransactions = this.rawBuildTransactions.length > 1 ? require_transaction.groupTransactions(this.rawBuildTransactions) : this.rawBuildTransactions;
1429
+ if (require_config.Config.debug && typeof originalError === "object" && sentTransactions) {
1430
+ err.traces = [];
1431
+ require_config.Config.getLogger(params?.suppressLog).error("Received error executing Transaction Composer and debug flag enabled; attempting simulation to get more information", err);
1432
+ const transactionsWithEmptySigners = sentTransactions.map((txn) => ({
1433
+ txn,
1434
+ signer: require_signer.makeEmptyTransactionSigner()
1435
+ }));
1436
+ const signedTransactions = require_signed_transaction.decodeSignedTransactions(await this.signTransactions(transactionsWithEmptySigners));
1437
+ const simulateResponse = await this.algod.simulateTransactions({
1438
+ txnGroups: [{ txns: signedTransactions }],
1439
+ allowEmptySignatures: true,
1440
+ fixSigners: true,
1441
+ allowMoreLogging: true,
1442
+ execTraceConfig: {
1443
+ enable: true,
1444
+ scratchChange: true,
1445
+ stackChange: true,
1446
+ stateChange: true
1447
+ }
1448
+ });
1449
+ if (require_config.Config.debug && !require_config.Config.traceAll) await require_config.Config.events.emitAsync(require_lifecycle_events.EventType.TxnGroupSimulated, { simulateResponse });
1450
+ if (simulateResponse && simulateResponse.txnGroups[0].failedAt) for (const txn of simulateResponse.txnGroups[0].txnResults) err.traces.push({
1451
+ trace: txn.execTrace,
1452
+ appBudget: txn.appBudgetConsumed,
1453
+ logicSigBudget: txn.logicSigBudgetConsumed,
1454
+ logs: txn.txnResult.logs,
1455
+ message: simulateResponse.txnGroups[0].failureMessage
1456
+ });
1457
+ } else require_config.Config.getLogger(params?.suppressLog).error("Received error executing Transaction Composer, for more information enable the debug flag", err);
1458
+ err.sentTransactions = sentTransactions ?? [];
1459
+ throw await this.transformError(err);
1460
+ }
1461
+ }
1462
+ async simulate(options) {
1463
+ const { skipSignatures = false, resultOnFailure = false, ...rawOptions } = options ?? {};
1464
+ if (skipSignatures) {
1465
+ rawOptions.allowEmptySignatures = true;
1466
+ rawOptions.fixSigners = true;
1467
+ }
1468
+ let transactionsWithSigner;
1469
+ if (!this.transactionsWithSigners) {
1470
+ const builtTransactions = await this.buildTransactions();
1471
+ transactionsWithSigner = (builtTransactions.transactions.length > 1 ? require_transaction.groupTransactions(builtTransactions.transactions) : builtTransactions.transactions).map((txn, index) => ({
1472
+ txn,
1473
+ signer: skipSignatures ? require_signer.makeEmptyTransactionSigner() : builtTransactions.signers.get(index) ?? require_signer.makeEmptyTransactionSigner()
1474
+ }));
1475
+ } else transactionsWithSigner = this.transactionsWithSigners.map((e) => ({
1476
+ txn: e.txn,
1477
+ signer: skipSignatures ? require_signer.makeEmptyTransactionSigner() : e.signer
1478
+ }));
1479
+ const transactions = transactionsWithSigner.map((e) => e.txn);
1480
+ const simulateRequest = {
1481
+ txnGroups: [{ txns: require_signed_transaction.decodeSignedTransactions(await this.signTransactions(transactionsWithSigner)) }],
1482
+ ...rawOptions,
1483
+ ...require_config.Config.debug ? {
1484
+ allowEmptySignatures: true,
1485
+ fixSigners: true,
1486
+ allowMoreLogging: true,
1487
+ execTraceConfig: {
1488
+ enable: true,
1489
+ scratchChange: true,
1490
+ stackChange: true,
1491
+ stateChange: true
1492
+ }
1493
+ } : void 0
1494
+ };
1495
+ const simulateResponse = await this.algod.simulateTransactions(simulateRequest);
1496
+ const simulateResult = simulateResponse.txnGroups[0];
1497
+ if (simulateResult?.failureMessage && !resultOnFailure) {
1498
+ const errorMessage = `Transaction failed at transaction(s) ${simulateResult.failedAt?.join(", ") || "unknown"} in the group. ${simulateResult.failureMessage}`;
1499
+ const error = new Error(errorMessage);
1500
+ if (require_config.Config.debug) await require_config.Config.events.emitAsync(require_lifecycle_events.EventType.TxnGroupSimulated, { simulateResponse });
1501
+ throw await this.transformError(error);
1502
+ }
1503
+ if (require_config.Config.debug && require_config.Config.traceAll) await require_config.Config.events.emitAsync(require_lifecycle_events.EventType.TxnGroupSimulated, { simulateResponse });
1504
+ const abiReturns = this.parseAbiReturnValues(simulateResult.txnResults.map((t) => t.txnResult));
1505
+ return {
1506
+ confirmations: simulateResult.txnResults.map((t) => t.txnResult),
1507
+ transactions,
1508
+ txIds: transactions.map((t) => t.txId()),
1509
+ groupId: buffer.Buffer.from(transactions[0].group ?? new Uint8Array()).toString("base64"),
1510
+ simulateResponse,
1511
+ returns: abiReturns
1512
+ };
1513
+ }
1514
+ /**
1515
+ * Create an encoded transaction note that follows the ARC-2 spec.
1516
+ *
1517
+ * https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md
1518
+ * @param note The ARC-2 transaction note data
1519
+ * @returns The binary encoded transaction note
1520
+ */
1521
+ static arc2Note(note) {
1522
+ const arc2Payload = `${note.dAppName}:${note.format}${typeof note.data === "string" ? note.data : require_util.asJson(note.data)}`;
1523
+ return new TextEncoder().encode(arc2Payload);
1524
+ }
1525
+ async gatherSignatures() {
1526
+ if (this.signedTransactions) return this.signedTransactions;
1527
+ await this.build();
1528
+ if (!this.transactionsWithSigners || this.transactionsWithSigners.length === 0) throw new Error("No transactions available to sign");
1529
+ this.signedTransactions = await this.signTransactions(this.transactionsWithSigners);
1530
+ return this.signedTransactions;
1531
+ }
1532
+ async signTransactions(transactionsWithSigners) {
1533
+ if (transactionsWithSigners.length === 0) throw new Error("No transactions available to sign");
1534
+ const transactions = transactionsWithSigners.map((txnWithSigner) => txnWithSigner.txn);
1535
+ const signerGroups = /* @__PURE__ */ new Map();
1536
+ transactionsWithSigners.forEach(({ signer }, index) => {
1537
+ const indexes = signerGroups.get(signer) ?? [];
1538
+ indexes.push(index);
1539
+ signerGroups.set(signer, indexes);
1540
+ });
1541
+ const signerEntries = Array.from(signerGroups);
1542
+ const signedGroups = await Promise.all(signerEntries.map(([signer, indexes]) => signer(transactions, indexes)));
1543
+ const encodedSignedTransactions = new Array(transactionsWithSigners.length).fill(null);
1544
+ signerEntries.forEach(([, indexes], signerIndex) => {
1545
+ const stxs = signedGroups[signerIndex];
1546
+ indexes.forEach((txIndex, stxIndex) => {
1547
+ encodedSignedTransactions[txIndex] = stxs[stxIndex] ?? null;
1548
+ });
1549
+ });
1550
+ const unsignedIndexes = encodedSignedTransactions.map((stxn, index) => stxn == null ? index : null).filter((index) => index !== null);
1551
+ if (unsignedIndexes.length > 0) throw new Error(`Transactions at indexes [${unsignedIndexes.join(", ")}] were not signed`);
1552
+ return encodedSignedTransactions;
1553
+ }
1554
+ parseAbiReturnValues(confirmations) {
1555
+ const abiReturns = new Array();
1556
+ for (let i = 0; i < confirmations.length; i++) {
1557
+ const confirmation = confirmations[i];
1558
+ const txn = this.txns[i];
1559
+ if (txn?.type !== "methodCall") continue;
1560
+ const abiReturn = require_app_manager.AppManager.getABIReturn(confirmation, txn.data.method);
1561
+ if (abiReturn !== void 0) abiReturns.push(abiReturn);
1562
+ }
1563
+ return abiReturns;
1564
+ }
1565
+ setMaxFees(maxFees) {
1566
+ maxFees.forEach((_, index) => {
1567
+ if (index > this.txns.length - 1) throw new Error(`Index ${index} is out of range. The composer only contains ${this.txns.length} transactions`);
1568
+ });
1569
+ maxFees.forEach((maxFee, index) => {
1570
+ this.txns[index].data.maxFee = new require_amount.AlgoAmount({ microAlgos: maxFee.microAlgos });
1571
+ });
1572
+ }
1573
+ };
1574
+ /** Get the logical maximum fee based on staticFee and maxFee */
1575
+ function getLogicalMaxFee(ctxn) {
1576
+ if (ctxn.type === "txn" || ctxn.type === "asyncTxn") return;
1577
+ const maxFee = ctxn.data.maxFee;
1578
+ const staticFee = ctxn.data.staticFee;
1579
+ if (maxFee !== void 0 && (staticFee === void 0 || maxFee.microAlgos > staticFee.microAlgos)) return maxFee.microAlgos;
1580
+ return staticFee?.microAlgos;
1581
+ }
1582
+
1583
+ //#endregion
1584
+ exports.TransactionComposer = TransactionComposer;
1585
+ //# sourceMappingURL=composer.js.map