@algorandfoundation/algokit-utils 9.2.0-beta.7 → 10.0.0-alpha.1

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