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