@algorandfoundation/algokit-utils 9.2.0 → 10.0.0-alpha.10

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