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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1605) hide show
  1. package/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +2 -13
  2. package/abi/index.d.ts +2 -1
  3. package/abi/index.js +8 -5
  4. package/abi/index.mjs +2 -2
  5. package/account-manager.d.ts +447 -0
  6. package/account-manager.js +617 -0
  7. package/account-manager.js.map +1 -0
  8. package/account-manager.mjs +613 -0
  9. package/account-manager.mjs.map +1 -0
  10. package/account.d.ts +151 -0
  11. package/account.js +10 -0
  12. package/account.js.map +1 -0
  13. package/account.mjs +9 -0
  14. package/account.mjs.map +1 -0
  15. package/algo25/index.js +3 -3
  16. package/algo25/index.mjs +1 -2
  17. package/algod-client/index.d.ts +3 -4
  18. package/algod-client/index.js +10 -12
  19. package/algod-client/index.mjs +2 -3
  20. package/algorand-client-transaction-creator.d.ts +891 -0
  21. package/algorand-client-transaction-creator.js +735 -0
  22. package/algorand-client-transaction-creator.js.map +1 -0
  23. package/algorand-client-transaction-creator.mjs +734 -0
  24. package/algorand-client-transaction-creator.mjs.map +1 -0
  25. package/algorand-client-transaction-sender.d.ts +1098 -0
  26. package/algorand-client-transaction-sender.js +927 -0
  27. package/algorand-client-transaction-sender.js.map +1 -0
  28. package/algorand-client-transaction-sender.mjs +925 -0
  29. package/algorand-client-transaction-sender.mjs.map +1 -0
  30. package/algorand-client.d.ts +266 -0
  31. package/algorand-client.js +349 -0
  32. package/algorand-client.js.map +1 -0
  33. package/algorand-client.mjs +348 -0
  34. package/algorand-client.mjs.map +1 -0
  35. package/amount.d.ts +58 -3
  36. package/amount.js +110 -19
  37. package/amount.js.map +1 -1
  38. package/amount.mjs +101 -12
  39. package/amount.mjs.map +1 -1
  40. package/app-client.d.ts +1042 -0
  41. package/app-client.js +911 -0
  42. package/app-client.js.map +1 -0
  43. package/app-client.mjs +909 -0
  44. package/app-client.mjs.map +1 -0
  45. package/app-deployer.d.ts +159 -0
  46. package/app-deployer.js +353 -0
  47. package/app-deployer.js.map +1 -0
  48. package/app-deployer.mjs +352 -0
  49. package/app-deployer.mjs.map +1 -0
  50. package/app-factory.d.ts +791 -0
  51. package/app-factory.js +448 -0
  52. package/app-factory.js.map +1 -0
  53. package/app-factory.mjs +447 -0
  54. package/app-factory.mjs.map +1 -0
  55. package/app-manager.d.ts +323 -0
  56. package/app-manager.js +466 -0
  57. package/app-manager.js.map +1 -0
  58. package/app-manager.mjs +465 -0
  59. package/app-manager.mjs.map +1 -0
  60. package/app-spec.d.ts +200 -0
  61. package/app-spec.js +137 -0
  62. package/app-spec.js.map +1 -0
  63. package/app-spec.mjs +136 -0
  64. package/app-spec.mjs.map +1 -0
  65. package/app.d.ts +251 -0
  66. package/app.js +49 -0
  67. package/app.js.map +1 -0
  68. package/app.mjs +42 -0
  69. package/app.mjs.map +1 -0
  70. package/asset-manager.d.ts +215 -0
  71. package/asset-manager.js +169 -0
  72. package/asset-manager.js.map +1 -0
  73. package/asset-manager.mjs +168 -0
  74. package/asset-manager.mjs.map +1 -0
  75. package/async-event-emitter.d.ts +16 -0
  76. package/async-event-emitter.js +38 -0
  77. package/async-event-emitter.js.map +1 -0
  78. package/async-event-emitter.mjs +37 -0
  79. package/async-event-emitter.mjs.map +1 -0
  80. package/client-manager.d.ts +475 -0
  81. package/client-manager.js +616 -0
  82. package/client-manager.js.map +1 -0
  83. package/client-manager.mjs +615 -0
  84. package/client-manager.mjs.map +1 -0
  85. package/common/index.d.ts +28 -0
  86. package/common/index.js +109 -0
  87. package/common/index.mjs +25 -0
  88. package/composer.d.ts +942 -0
  89. package/composer.js +1583 -0
  90. package/composer.js.map +1 -0
  91. package/composer.mjs +1581 -0
  92. package/composer.mjs.map +1 -0
  93. package/config.d.ts +1 -1
  94. package/config.js +3 -4
  95. package/config.js.map +1 -1
  96. package/config.mjs +2 -3
  97. package/config.mjs.map +1 -1
  98. package/crypto/index.d.ts +5 -0
  99. package/crypto/index.js +13 -0
  100. package/crypto/index.mjs +5 -0
  101. package/debugging.d.ts +41 -0
  102. package/debugging.js +20 -0
  103. package/debugging.js.map +1 -0
  104. package/debugging.mjs +15 -0
  105. package/debugging.mjs.map +1 -0
  106. package/dispenser-client.d.ts +91 -0
  107. package/dispenser-client.js +128 -0
  108. package/dispenser-client.js.map +1 -0
  109. package/dispenser-client.mjs +127 -0
  110. package/dispenser-client.mjs.map +1 -0
  111. package/expand.d.ts +2 -0
  112. package/expand.js +0 -0
  113. package/expand.mjs +0 -0
  114. package/index.d.ts +28 -7
  115. package/index.js +45 -17
  116. package/index.mjs +21 -7
  117. package/indexer-client/index.d.ts +2 -2
  118. package/indexer-client/index.js +12 -12
  119. package/indexer-client/index.mjs +2 -3
  120. package/{indexer-lookup.d.ts → indexer-client/indexer-lookup.d.ts} +8 -11
  121. package/{indexer-lookup.js → indexer-client/indexer-lookup.js} +4 -16
  122. package/indexer-client/indexer-lookup.js.map +1 -0
  123. package/{indexer-lookup.mjs → indexer-client/indexer-lookup.mjs} +3 -11
  124. package/indexer-client/indexer-lookup.mjs.map +1 -0
  125. package/indexer.d.ts +40 -0
  126. package/indexer.js +38 -0
  127. package/indexer.js.map +1 -0
  128. package/indexer.mjs +35 -0
  129. package/indexer.mjs.map +1 -0
  130. package/instance-of.d.ts +8 -0
  131. package/kmd-account-manager.d.ts +74 -0
  132. package/kmd-account-manager.js +167 -0
  133. package/kmd-account-manager.js.map +1 -0
  134. package/kmd-account-manager.mjs +164 -0
  135. package/kmd-account-manager.mjs.map +1 -0
  136. package/kmd-client/index.d.ts +1 -2
  137. package/kmd-client/index.js +7 -12
  138. package/kmd-client/index.mjs +1 -3
  139. package/lifecycle-events.d.ts +14 -0
  140. package/lifecycle-events.js +11 -0
  141. package/lifecycle-events.js.map +1 -0
  142. package/lifecycle-events.mjs +10 -0
  143. package/lifecycle-events.mjs.map +1 -0
  144. package/logging.d.ts +13 -0
  145. package/logging.js +47 -0
  146. package/logging.js.map +1 -0
  147. package/logging.mjs +42 -0
  148. package/logging.mjs.map +1 -0
  149. package/logic-error.d.ts +39 -0
  150. package/logic-error.js +54 -0
  151. package/logic-error.js.map +1 -0
  152. package/logic-error.mjs +53 -0
  153. package/logic-error.mjs.map +1 -0
  154. package/network-client.d.ts +43 -0
  155. package/network-client.js +14 -0
  156. package/network-client.js.map +1 -0
  157. package/network-client.mjs +13 -0
  158. package/network-client.mjs.map +1 -0
  159. package/network-manager.d.ts +143 -0
  160. package/network-manager.js +190 -0
  161. package/network-manager.js.map +1 -0
  162. package/network-manager.mjs +189 -0
  163. package/network-manager.mjs.map +1 -0
  164. package/package.json +34 -8
  165. package/packages/abi/src/abi-method.d.ts +7 -12
  166. package/packages/abi/src/abi-method.js +20 -22
  167. package/packages/abi/src/abi-method.js.map +1 -1
  168. package/packages/abi/src/abi-method.mjs +18 -19
  169. package/packages/abi/src/abi-method.mjs.map +1 -1
  170. package/packages/abi/src/abi-type.d.ts +2 -7
  171. package/packages/abi/src/abi-type.js +28 -60
  172. package/packages/abi/src/abi-type.js.map +1 -1
  173. package/packages/abi/src/abi-type.mjs +25 -57
  174. package/packages/abi/src/abi-type.mjs.map +1 -1
  175. package/packages/abi/src/arc28-event.d.ts +4 -10
  176. package/packages/abi/src/arc56-contract.d.ts +66 -155
  177. package/packages/abi/src/arc56-contract.js +3 -3
  178. package/packages/abi/src/arc56-contract.js.map +1 -1
  179. package/packages/abi/src/arc56-contract.mjs +2 -2
  180. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  181. package/packages/abi/src/bigint.js +1 -2
  182. package/packages/abi/src/bigint.js.map +1 -1
  183. package/packages/abi/src/bigint.mjs +1 -1
  184. package/packages/abi/src/utils.d.ts +21 -0
  185. package/packages/abi/src/utils.js +56 -0
  186. package/packages/abi/src/utils.js.map +1 -0
  187. package/packages/abi/src/utils.mjs +55 -0
  188. package/packages/abi/src/utils.mjs.map +1 -0
  189. package/packages/algo25/src/english.js +2 -4
  190. package/packages/algo25/src/english.js.map +1 -1
  191. package/packages/algo25/src/english.mjs +2 -3
  192. package/packages/algo25/src/english.mjs.map +1 -1
  193. package/packages/algo25/src/index.d.ts +2 -2
  194. package/packages/algo25/src/index.js +4 -5
  195. package/packages/algo25/src/index.js.map +1 -1
  196. package/packages/algo25/src/index.mjs +6 -7
  197. package/packages/algo25/src/index.mjs.map +1 -1
  198. package/packages/algod_client/src/apis/api-service.d.ts +44 -44
  199. package/packages/algod_client/src/apis/api-service.js +186 -187
  200. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  201. package/packages/algod_client/src/apis/api-service.mjs +156 -157
  202. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  203. package/packages/algod_client/src/client.js +3 -4
  204. package/packages/algod_client/src/client.js.map +1 -1
  205. package/packages/algod_client/src/client.mjs +1 -2
  206. package/packages/algod_client/src/client.mjs.map +1 -1
  207. package/packages/algod_client/src/core/api-error.js +4 -3
  208. package/packages/algod_client/src/core/api-error.js.map +1 -1
  209. package/packages/algod_client/src/core/api-error.mjs +4 -2
  210. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  211. package/packages/algod_client/src/core/base-http-request.js +1 -2
  212. package/packages/algod_client/src/core/base-http-request.js.map +1 -1
  213. package/packages/algod_client/src/core/base-http-request.mjs +1 -1
  214. package/packages/algod_client/src/core/base-http-request.mjs.map +1 -1
  215. package/packages/algod_client/src/core/fetch-http-request.js +3 -4
  216. package/packages/algod_client/src/core/fetch-http-request.js.map +1 -1
  217. package/packages/algod_client/src/core/fetch-http-request.mjs +1 -2
  218. package/packages/algod_client/src/core/fetch-http-request.mjs.map +1 -1
  219. package/packages/algod_client/src/core/model-runtime.js +10 -11
  220. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  221. package/packages/algod_client/src/core/model-runtime.mjs +9 -10
  222. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  223. package/packages/algod_client/src/core/request.js +5 -6
  224. package/packages/algod_client/src/core/request.js.map +1 -1
  225. package/packages/algod_client/src/core/request.mjs +1 -2
  226. package/packages/algod_client/src/core/request.mjs.map +1 -1
  227. package/packages/algod_client/src/models/account-application-response.js +5 -6
  228. package/packages/algod_client/src/models/account-application-response.js.map +1 -1
  229. package/packages/algod_client/src/models/account-application-response.mjs +1 -2
  230. package/packages/algod_client/src/models/account-application-response.mjs.map +1 -1
  231. package/packages/algod_client/src/models/account-asset-response.js +5 -6
  232. package/packages/algod_client/src/models/account-asset-response.js.map +1 -1
  233. package/packages/algod_client/src/models/account-asset-response.mjs +1 -2
  234. package/packages/algod_client/src/models/account-asset-response.mjs.map +1 -1
  235. package/packages/algod_client/src/models/account-participation.js +6 -7
  236. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  237. package/packages/algod_client/src/models/account-participation.mjs +5 -6
  238. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  239. package/packages/algod_client/src/models/account-state-delta.d.ts +0 -1
  240. package/packages/algod_client/src/models/account-state-delta.js +4 -5
  241. package/packages/algod_client/src/models/account-state-delta.js.map +1 -1
  242. package/packages/algod_client/src/models/account-state-delta.mjs +1 -2
  243. package/packages/algod_client/src/models/account-state-delta.mjs.map +1 -1
  244. package/packages/algod_client/src/models/account.d.ts +0 -1
  245. package/packages/algod_client/src/models/account.js +14 -15
  246. package/packages/algod_client/src/models/account.js.map +1 -1
  247. package/packages/algod_client/src/models/account.mjs +1 -2
  248. package/packages/algod_client/src/models/account.mjs.map +1 -1
  249. package/packages/algod_client/src/models/application-initial-states.d.ts +0 -1
  250. package/packages/algod_client/src/models/application-initial-states.js +5 -6
  251. package/packages/algod_client/src/models/application-initial-states.js.map +1 -1
  252. package/packages/algod_client/src/models/application-initial-states.mjs +1 -2
  253. package/packages/algod_client/src/models/application-initial-states.mjs.map +1 -1
  254. package/packages/algod_client/src/models/application-kv-storage.d.ts +0 -1
  255. package/packages/algod_client/src/models/application-kv-storage.js +5 -6
  256. package/packages/algod_client/src/models/application-kv-storage.js.map +1 -1
  257. package/packages/algod_client/src/models/application-kv-storage.mjs +1 -2
  258. package/packages/algod_client/src/models/application-kv-storage.mjs.map +1 -1
  259. package/packages/algod_client/src/models/application-local-state.d.ts +0 -1
  260. package/packages/algod_client/src/models/application-local-state.js +6 -7
  261. package/packages/algod_client/src/models/application-local-state.js.map +1 -1
  262. package/packages/algod_client/src/models/application-local-state.mjs +1 -2
  263. package/packages/algod_client/src/models/application-local-state.mjs.map +1 -1
  264. package/packages/algod_client/src/models/application-params.d.ts +0 -1
  265. package/packages/algod_client/src/models/application-params.js +8 -9
  266. package/packages/algod_client/src/models/application-params.js.map +1 -1
  267. package/packages/algod_client/src/models/application-params.mjs +1 -2
  268. package/packages/algod_client/src/models/application-params.mjs.map +1 -1
  269. package/packages/algod_client/src/models/application-state-operation.d.ts +0 -1
  270. package/packages/algod_client/src/models/application-state-operation.js +6 -7
  271. package/packages/algod_client/src/models/application-state-operation.js.map +1 -1
  272. package/packages/algod_client/src/models/application-state-operation.mjs +1 -2
  273. package/packages/algod_client/src/models/application-state-operation.mjs.map +1 -1
  274. package/packages/algod_client/src/models/application-state-schema.js +2 -3
  275. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  276. package/packages/algod_client/src/models/application-state-schema.mjs +1 -2
  277. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  278. package/packages/algod_client/src/models/application.d.ts +0 -1
  279. package/packages/algod_client/src/models/application.js +4 -5
  280. package/packages/algod_client/src/models/application.js.map +1 -1
  281. package/packages/algod_client/src/models/application.mjs +1 -2
  282. package/packages/algod_client/src/models/application.mjs.map +1 -1
  283. package/packages/algod_client/src/models/asset-holding.js +3 -4
  284. package/packages/algod_client/src/models/asset-holding.js.map +1 -1
  285. package/packages/algod_client/src/models/asset-holding.mjs +1 -2
  286. package/packages/algod_client/src/models/asset-holding.mjs.map +1 -1
  287. package/packages/algod_client/src/models/asset-params.js +8 -8
  288. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  289. package/packages/algod_client/src/models/asset-params.mjs +3 -3
  290. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  291. package/packages/algod_client/src/models/asset.d.ts +0 -1
  292. package/packages/algod_client/src/models/asset.js +4 -5
  293. package/packages/algod_client/src/models/asset.js.map +1 -1
  294. package/packages/algod_client/src/models/asset.mjs +1 -2
  295. package/packages/algod_client/src/models/asset.mjs.map +1 -1
  296. package/packages/algod_client/src/models/avm-key-value.d.ts +0 -1
  297. package/packages/algod_client/src/models/avm-key-value.js +4 -5
  298. package/packages/algod_client/src/models/avm-key-value.js.map +1 -1
  299. package/packages/algod_client/src/models/avm-key-value.mjs +1 -2
  300. package/packages/algod_client/src/models/avm-key-value.mjs.map +1 -1
  301. package/packages/algod_client/src/models/avm-value.js +4 -6
  302. package/packages/algod_client/src/models/avm-value.js.map +1 -1
  303. package/packages/algod_client/src/models/avm-value.mjs +1 -2
  304. package/packages/algod_client/src/models/avm-value.mjs.map +1 -1
  305. package/packages/algod_client/src/models/block-hash-response.js +2 -4
  306. package/packages/algod_client/src/models/block-hash-response.js.map +1 -1
  307. package/packages/algod_client/src/models/block-hash-response.mjs +1 -2
  308. package/packages/algod_client/src/models/block-hash-response.mjs.map +1 -1
  309. package/packages/algod_client/src/models/block-response.d.ts +1 -3
  310. package/packages/algod_client/src/models/block-response.js +4 -7
  311. package/packages/algod_client/src/models/block-response.js.map +1 -1
  312. package/packages/algod_client/src/models/block-response.mjs +3 -5
  313. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  314. package/packages/algod_client/src/models/block-txids-response.js +2 -4
  315. package/packages/algod_client/src/models/block-txids-response.js.map +1 -1
  316. package/packages/algod_client/src/models/block-txids-response.mjs +1 -2
  317. package/packages/algod_client/src/models/block-txids-response.mjs.map +1 -1
  318. package/packages/algod_client/src/models/block.d.ts +60 -92
  319. package/packages/algod_client/src/models/block.js +194 -119
  320. package/packages/algod_client/src/models/block.js.map +1 -1
  321. package/packages/algod_client/src/models/block.mjs +184 -109
  322. package/packages/algod_client/src/models/block.mjs.map +1 -1
  323. package/packages/algod_client/src/models/box-descriptor.js +2 -4
  324. package/packages/algod_client/src/models/box-descriptor.js.map +1 -1
  325. package/packages/algod_client/src/models/box-descriptor.mjs +1 -2
  326. package/packages/algod_client/src/models/box-descriptor.mjs.map +1 -1
  327. package/packages/algod_client/src/models/box.js +3 -4
  328. package/packages/algod_client/src/models/box.js.map +1 -1
  329. package/packages/algod_client/src/models/box.mjs +1 -2
  330. package/packages/algod_client/src/models/box.mjs.map +1 -1
  331. package/packages/algod_client/src/models/boxes-response.js +4 -5
  332. package/packages/algod_client/src/models/boxes-response.js.map +1 -1
  333. package/packages/algod_client/src/models/boxes-response.mjs +1 -2
  334. package/packages/algod_client/src/models/boxes-response.mjs.map +1 -1
  335. package/packages/algod_client/src/models/build-version.js +3 -4
  336. package/packages/algod_client/src/models/build-version.js.map +1 -1
  337. package/packages/algod_client/src/models/build-version.mjs +1 -2
  338. package/packages/algod_client/src/models/build-version.mjs.map +1 -1
  339. package/packages/algod_client/src/models/compile-response.js +4 -5
  340. package/packages/algod_client/src/models/compile-response.js.map +1 -1
  341. package/packages/algod_client/src/models/compile-response.mjs +1 -2
  342. package/packages/algod_client/src/models/compile-response.mjs.map +1 -1
  343. package/packages/algod_client/src/models/disassemble-response.js +2 -4
  344. package/packages/algod_client/src/models/disassemble-response.js.map +1 -1
  345. package/packages/algod_client/src/models/disassemble-response.mjs +1 -2
  346. package/packages/algod_client/src/models/disassemble-response.mjs.map +1 -1
  347. package/packages/algod_client/src/models/eval-delta-key-value.d.ts +0 -1
  348. package/packages/algod_client/src/models/eval-delta-key-value.js +5 -6
  349. package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
  350. package/packages/algod_client/src/models/eval-delta-key-value.mjs +3 -4
  351. package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
  352. package/packages/algod_client/src/models/eval-delta.js +5 -7
  353. package/packages/algod_client/src/models/eval-delta.js.map +1 -1
  354. package/packages/algod_client/src/models/eval-delta.mjs +3 -4
  355. package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
  356. package/packages/algod_client/src/models/genesis-allocation.js +59 -62
  357. package/packages/algod_client/src/models/genesis-allocation.js.map +1 -1
  358. package/packages/algod_client/src/models/genesis-allocation.mjs +55 -58
  359. package/packages/algod_client/src/models/genesis-allocation.mjs.map +1 -1
  360. package/packages/algod_client/src/models/genesis.js +7 -8
  361. package/packages/algod_client/src/models/genesis.js.map +1 -1
  362. package/packages/algod_client/src/models/genesis.mjs +1 -2
  363. package/packages/algod_client/src/models/genesis.mjs.map +1 -1
  364. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js +2 -4
  365. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js.map +1 -1
  366. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs +1 -2
  367. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs.map +1 -1
  368. package/packages/algod_client/src/models/get-sync-round-response.js +2 -4
  369. package/packages/algod_client/src/models/get-sync-round-response.js.map +1 -1
  370. package/packages/algod_client/src/models/get-sync-round-response.mjs +1 -2
  371. package/packages/algod_client/src/models/get-sync-round-response.mjs.map +1 -1
  372. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.d.ts +0 -1
  373. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js +4 -5
  374. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js.map +1 -1
  375. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs +1 -2
  376. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs.map +1 -1
  377. package/packages/algod_client/src/models/ledger-state-delta.d.ts +3 -8
  378. package/packages/algod_client/src/models/ledger-state-delta.js +99 -102
  379. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  380. package/packages/algod_client/src/models/ledger-state-delta.mjs +207 -212
  381. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  382. package/packages/algod_client/src/models/light-block-header-proof.js +3 -4
  383. package/packages/algod_client/src/models/light-block-header-proof.js.map +1 -1
  384. package/packages/algod_client/src/models/light-block-header-proof.mjs +1 -2
  385. package/packages/algod_client/src/models/light-block-header-proof.mjs.map +1 -1
  386. package/packages/algod_client/src/models/node-status-response.js +5 -6
  387. package/packages/algod_client/src/models/node-status-response.js.map +1 -1
  388. package/packages/algod_client/src/models/node-status-response.mjs +1 -2
  389. package/packages/algod_client/src/models/node-status-response.mjs.map +1 -1
  390. package/packages/algod_client/src/models/pending-transaction-response.d.ts +0 -1
  391. package/packages/algod_client/src/models/pending-transaction-response.js +9 -10
  392. package/packages/algod_client/src/models/pending-transaction-response.js.map +1 -1
  393. package/packages/algod_client/src/models/pending-transaction-response.mjs +1 -2
  394. package/packages/algod_client/src/models/pending-transaction-response.mjs.map +1 -1
  395. package/packages/algod_client/src/models/pending-transactions-response.d.ts +0 -1
  396. package/packages/algod_client/src/models/pending-transactions-response.js +5 -6
  397. package/packages/algod_client/src/models/pending-transactions-response.js.map +1 -1
  398. package/packages/algod_client/src/models/pending-transactions-response.mjs +1 -2
  399. package/packages/algod_client/src/models/pending-transactions-response.mjs.map +1 -1
  400. package/packages/algod_client/src/models/post-transactions-response.js +2 -4
  401. package/packages/algod_client/src/models/post-transactions-response.js.map +1 -1
  402. package/packages/algod_client/src/models/post-transactions-response.mjs +1 -2
  403. package/packages/algod_client/src/models/post-transactions-response.mjs.map +1 -1
  404. package/packages/algod_client/src/models/scratch-change.d.ts +0 -1
  405. package/packages/algod_client/src/models/scratch-change.js +4 -5
  406. package/packages/algod_client/src/models/scratch-change.js.map +1 -1
  407. package/packages/algod_client/src/models/scratch-change.mjs +1 -2
  408. package/packages/algod_client/src/models/scratch-change.mjs.map +1 -1
  409. package/packages/algod_client/src/models/simulate-initial-states.d.ts +0 -1
  410. package/packages/algod_client/src/models/simulate-initial-states.js +4 -5
  411. package/packages/algod_client/src/models/simulate-initial-states.js.map +1 -1
  412. package/packages/algod_client/src/models/simulate-initial-states.mjs +1 -2
  413. package/packages/algod_client/src/models/simulate-initial-states.mjs.map +1 -1
  414. package/packages/algod_client/src/models/simulate-request-transaction-group.d.ts +0 -1
  415. package/packages/algod_client/src/models/simulate-request-transaction-group.js +4 -5
  416. package/packages/algod_client/src/models/simulate-request-transaction-group.js.map +1 -1
  417. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs +1 -2
  418. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs.map +1 -1
  419. package/packages/algod_client/src/models/simulate-request.d.ts +0 -1
  420. package/packages/algod_client/src/models/simulate-request.js +8 -9
  421. package/packages/algod_client/src/models/simulate-request.js.map +1 -1
  422. package/packages/algod_client/src/models/simulate-request.mjs +2 -3
  423. package/packages/algod_client/src/models/simulate-request.mjs.map +1 -1
  424. package/packages/algod_client/src/models/simulate-response.d.ts +3 -1
  425. package/packages/algod_client/src/models/simulate-response.js +18 -10
  426. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  427. package/packages/algod_client/src/models/simulate-response.mjs +10 -4
  428. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  429. package/packages/algod_client/src/models/simulate-trace-config.js +2 -3
  430. package/packages/algod_client/src/models/simulate-trace-config.js.map +1 -1
  431. package/packages/algod_client/src/models/simulate-trace-config.mjs +1 -2
  432. package/packages/algod_client/src/models/simulate-trace-config.mjs.map +1 -1
  433. package/packages/algod_client/src/models/simulate-transaction-group-result.d.ts +0 -1
  434. package/packages/algod_client/src/models/simulate-transaction-group-result.js +7 -8
  435. package/packages/algod_client/src/models/simulate-transaction-group-result.js.map +1 -1
  436. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs +1 -2
  437. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs.map +1 -1
  438. package/packages/algod_client/src/models/simulate-transaction-result.d.ts +0 -1
  439. package/packages/algod_client/src/models/simulate-transaction-result.js +7 -8
  440. package/packages/algod_client/src/models/simulate-transaction-result.js.map +1 -1
  441. package/packages/algod_client/src/models/simulate-transaction-result.mjs +1 -2
  442. package/packages/algod_client/src/models/simulate-transaction-result.mjs.map +1 -1
  443. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.d.ts +0 -1
  444. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js +5 -6
  445. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  446. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs +1 -2
  447. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  448. package/packages/algod_client/src/models/simulation-eval-overrides.js +3 -4
  449. package/packages/algod_client/src/models/simulation-eval-overrides.js.map +1 -1
  450. package/packages/algod_client/src/models/simulation-eval-overrides.mjs +1 -2
  451. package/packages/algod_client/src/models/simulation-eval-overrides.mjs.map +1 -1
  452. package/packages/algod_client/src/models/simulation-opcode-trace-unit.d.ts +0 -1
  453. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js +7 -8
  454. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js.map +1 -1
  455. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs +1 -2
  456. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs.map +1 -1
  457. package/packages/algod_client/src/models/simulation-transaction-exec-trace.d.ts +0 -1
  458. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js +7 -8
  459. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js.map +1 -1
  460. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs +1 -2
  461. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs.map +1 -1
  462. package/packages/algod_client/src/models/source-map.js +4 -5
  463. package/packages/algod_client/src/models/source-map.js.map +1 -1
  464. package/packages/algod_client/src/models/source-map.mjs +1 -2
  465. package/packages/algod_client/src/models/source-map.mjs.map +1 -1
  466. package/packages/algod_client/src/models/state-delta.d.ts +0 -1
  467. package/packages/algod_client/src/models/state-delta.js +4 -5
  468. package/packages/algod_client/src/models/state-delta.js.map +1 -1
  469. package/packages/algod_client/src/models/state-delta.mjs +1 -2
  470. package/packages/algod_client/src/models/state-delta.mjs.map +1 -1
  471. package/packages/algod_client/src/models/state-proof-message.js +3 -4
  472. package/packages/algod_client/src/models/state-proof-message.js.map +1 -1
  473. package/packages/algod_client/src/models/state-proof-message.mjs +1 -2
  474. package/packages/algod_client/src/models/state-proof-message.mjs.map +1 -1
  475. package/packages/algod_client/src/models/state-proof.d.ts +0 -1
  476. package/packages/algod_client/src/models/state-proof.js +4 -5
  477. package/packages/algod_client/src/models/state-proof.js.map +1 -1
  478. package/packages/algod_client/src/models/state-proof.mjs +1 -2
  479. package/packages/algod_client/src/models/state-proof.mjs.map +1 -1
  480. package/packages/algod_client/src/models/supply-response.js +2 -3
  481. package/packages/algod_client/src/models/supply-response.js.map +1 -1
  482. package/packages/algod_client/src/models/supply-response.mjs +1 -2
  483. package/packages/algod_client/src/models/supply-response.mjs.map +1 -1
  484. package/packages/algod_client/src/models/teal-key-value-store.d.ts +0 -1
  485. package/packages/algod_client/src/models/teal-key-value-store.js +4 -5
  486. package/packages/algod_client/src/models/teal-key-value-store.js.map +1 -1
  487. package/packages/algod_client/src/models/teal-key-value-store.mjs +1 -2
  488. package/packages/algod_client/src/models/teal-key-value-store.mjs.map +1 -1
  489. package/packages/algod_client/src/models/teal-key-value.d.ts +0 -1
  490. package/packages/algod_client/src/models/teal-key-value.js +4 -5
  491. package/packages/algod_client/src/models/teal-key-value.js.map +1 -1
  492. package/packages/algod_client/src/models/teal-key-value.mjs +1 -2
  493. package/packages/algod_client/src/models/teal-key-value.mjs.map +1 -1
  494. package/packages/algod_client/src/models/teal-value.js +4 -6
  495. package/packages/algod_client/src/models/teal-value.js.map +1 -1
  496. package/packages/algod_client/src/models/teal-value.mjs +1 -2
  497. package/packages/algod_client/src/models/teal-value.mjs.map +1 -1
  498. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js +4 -5
  499. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js.map +1 -1
  500. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs +1 -2
  501. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs.map +1 -1
  502. package/packages/algod_client/src/models/transaction-parameters-response.js +5 -6
  503. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  504. package/packages/algod_client/src/models/transaction-parameters-response.mjs +3 -4
  505. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  506. package/packages/algod_client/src/models/transaction-proof.js +4 -5
  507. package/packages/algod_client/src/models/transaction-proof.js.map +1 -1
  508. package/packages/algod_client/src/models/transaction-proof.mjs +1 -2
  509. package/packages/algod_client/src/models/transaction-proof.mjs.map +1 -1
  510. package/packages/algod_client/src/models/version.d.ts +0 -1
  511. package/packages/algod_client/src/models/version.js +6 -7
  512. package/packages/algod_client/src/models/version.js.map +1 -1
  513. package/packages/algod_client/src/models/version.mjs +1 -2
  514. package/packages/algod_client/src/models/version.mjs.map +1 -1
  515. package/packages/common/src/address.d.ts +14 -3
  516. package/packages/common/src/address.js +24 -24
  517. package/packages/common/src/address.js.map +1 -1
  518. package/packages/common/src/address.mjs +17 -21
  519. package/packages/common/src/address.mjs.map +1 -1
  520. package/packages/common/src/array.d.ts +6 -0
  521. package/packages/common/src/array.js +1 -2
  522. package/packages/common/src/array.js.map +1 -1
  523. package/packages/common/src/array.mjs +1 -1
  524. package/packages/common/src/codecs/codec.d.ts +0 -1
  525. package/packages/common/src/codecs/codec.js +1 -2
  526. package/packages/common/src/codecs/codec.js.map +1 -1
  527. package/packages/common/src/codecs/codec.mjs +1 -1
  528. package/packages/common/src/codecs/codec.mjs.map +1 -1
  529. package/packages/common/src/codecs/composite/array.d.ts +25 -0
  530. package/packages/common/src/codecs/composite/array.js +9 -9
  531. package/packages/common/src/codecs/composite/array.js.map +1 -1
  532. package/packages/common/src/codecs/composite/array.mjs +2 -3
  533. package/packages/common/src/codecs/composite/array.mjs.map +1 -1
  534. package/packages/common/src/codecs/composite/map.d.ts +26 -0
  535. package/packages/common/src/codecs/composite/map.js +9 -7
  536. package/packages/common/src/codecs/composite/map.js.map +1 -1
  537. package/packages/common/src/codecs/composite/map.mjs +8 -6
  538. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  539. package/packages/common/src/codecs/composite/record.d.ts +19 -0
  540. package/packages/common/src/codecs/composite/record.js +3 -5
  541. package/packages/common/src/codecs/composite/record.js.map +1 -1
  542. package/packages/common/src/codecs/composite/record.mjs +1 -2
  543. package/packages/common/src/codecs/composite/record.mjs.map +1 -1
  544. package/packages/common/src/codecs/models/array-model.d.ts +19 -0
  545. package/packages/common/src/codecs/models/array-model.js +2 -3
  546. package/packages/common/src/codecs/models/array-model.js.map +1 -1
  547. package/packages/common/src/codecs/models/array-model.mjs +1 -2
  548. package/packages/common/src/codecs/models/array-model.mjs.map +1 -1
  549. package/packages/common/src/codecs/models/object-model.js +6 -8
  550. package/packages/common/src/codecs/models/object-model.js.map +1 -1
  551. package/packages/common/src/codecs/models/object-model.mjs +4 -6
  552. package/packages/common/src/codecs/models/object-model.mjs.map +1 -1
  553. package/packages/common/src/codecs/models/primitive-model.d.ts +19 -0
  554. package/packages/common/src/codecs/models/primitive-model.js +2 -3
  555. package/packages/common/src/codecs/models/primitive-model.js.map +1 -1
  556. package/packages/common/src/codecs/models/primitive-model.mjs +1 -2
  557. package/packages/common/src/codecs/models/primitive-model.mjs.map +1 -1
  558. package/packages/common/src/codecs/primitives/address.d.ts +16 -0
  559. package/packages/common/src/codecs/primitives/address.js +7 -9
  560. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  561. package/packages/common/src/codecs/primitives/address.mjs +4 -5
  562. package/packages/common/src/codecs/primitives/address.mjs.map +1 -1
  563. package/packages/common/src/codecs/primitives/bigint.d.ts +13 -0
  564. package/packages/common/src/codecs/primitives/bigint.js +2 -3
  565. package/packages/common/src/codecs/primitives/bigint.js.map +1 -1
  566. package/packages/common/src/codecs/primitives/bigint.mjs +1 -2
  567. package/packages/common/src/codecs/primitives/bigint.mjs.map +1 -1
  568. package/packages/common/src/codecs/primitives/boolean.d.ts +10 -0
  569. package/packages/common/src/codecs/primitives/boolean.js +2 -3
  570. package/packages/common/src/codecs/primitives/boolean.js.map +1 -1
  571. package/packages/common/src/codecs/primitives/boolean.mjs +1 -2
  572. package/packages/common/src/codecs/primitives/boolean.mjs.map +1 -1
  573. package/packages/common/src/codecs/primitives/bytes-base64.d.ts +15 -0
  574. package/packages/common/src/codecs/primitives/bytes-base64.js +25 -0
  575. package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -0
  576. package/packages/common/src/codecs/primitives/bytes-base64.mjs +24 -0
  577. package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -0
  578. package/packages/common/src/codecs/primitives/bytes.d.ts +15 -0
  579. package/packages/common/src/codecs/primitives/bytes.js +3 -5
  580. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  581. package/packages/common/src/codecs/primitives/bytes.mjs +1 -2
  582. package/packages/common/src/codecs/primitives/bytes.mjs.map +1 -1
  583. package/packages/common/src/codecs/primitives/fixed-bytes.d.ts +19 -0
  584. package/packages/common/src/codecs/primitives/fixed-bytes.js +3 -5
  585. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  586. package/packages/common/src/codecs/primitives/fixed-bytes.mjs +1 -2
  587. package/packages/common/src/codecs/primitives/fixed-bytes.mjs.map +1 -1
  588. package/packages/common/src/codecs/primitives/number.d.ts +11 -0
  589. package/packages/common/src/codecs/primitives/number.js +2 -3
  590. package/packages/common/src/codecs/primitives/number.js.map +1 -1
  591. package/packages/common/src/codecs/primitives/number.mjs +1 -2
  592. package/packages/common/src/codecs/primitives/number.mjs.map +1 -1
  593. package/packages/common/src/codecs/primitives/string.d.ts +13 -0
  594. package/packages/common/src/codecs/primitives/string.js +3 -4
  595. package/packages/common/src/codecs/primitives/string.js.map +1 -1
  596. package/packages/common/src/codecs/primitives/string.mjs +1 -2
  597. package/packages/common/src/codecs/primitives/string.mjs.map +1 -1
  598. package/packages/common/src/codecs/primitives/unknown.d.ts +26 -0
  599. package/packages/common/src/codecs/primitives/unknown.js +10 -11
  600. package/packages/common/src/codecs/primitives/unknown.js.map +1 -1
  601. package/packages/common/src/codecs/primitives/unknown.mjs +3 -4
  602. package/packages/common/src/codecs/primitives/unknown.mjs.map +1 -1
  603. package/packages/common/src/codecs/types.d.ts +12 -2
  604. package/packages/common/src/codecs/wire.d.ts +17 -1
  605. package/packages/common/src/codecs/wire.js +2 -4
  606. package/packages/common/src/codecs/wire.js.map +1 -1
  607. package/packages/common/src/codecs/wire.mjs +1 -2
  608. package/packages/common/src/codecs/wire.mjs.map +1 -1
  609. package/packages/common/src/constants.d.ts +34 -0
  610. package/packages/common/src/constants.js +4 -3
  611. package/packages/common/src/constants.js.map +1 -1
  612. package/packages/common/src/constants.mjs +4 -3
  613. package/packages/common/src/constants.mjs.map +1 -1
  614. package/packages/common/src/encoding.d.ts +10 -0
  615. package/packages/common/src/encoding.js +30 -0
  616. package/packages/common/src/encoding.js.map +1 -0
  617. package/packages/common/src/encoding.mjs +24 -0
  618. package/packages/common/src/encoding.mjs.map +1 -0
  619. package/packages/common/src/json.d.ts +17 -0
  620. package/packages/common/src/json.js +3 -4
  621. package/packages/common/src/json.js.map +1 -1
  622. package/packages/common/src/json.mjs +3 -4
  623. package/packages/common/src/json.mjs.map +1 -1
  624. package/packages/common/src/msgpack.d.ts +11 -0
  625. package/packages/common/src/msgpack.js +2 -4
  626. package/packages/common/src/msgpack.js.map +1 -1
  627. package/packages/common/src/msgpack.mjs +1 -2
  628. package/packages/common/src/msgpack.mjs.map +1 -1
  629. package/packages/{sdk/src/logic → common/src}/sourcemap.d.ts +1 -1
  630. package/packages/{sdk/src/logic → common/src}/sourcemap.js +4 -5
  631. package/packages/common/src/sourcemap.js.map +1 -0
  632. package/packages/{sdk/src/logic → common/src}/sourcemap.mjs +2 -3
  633. package/packages/common/src/sourcemap.mjs.map +1 -0
  634. package/packages/crypto/src/ed25519.d.ts +60 -0
  635. package/packages/crypto/src/ed25519.js +58 -0
  636. package/packages/crypto/src/ed25519.js.map +1 -0
  637. package/packages/crypto/src/ed25519.mjs +53 -0
  638. package/packages/crypto/src/ed25519.mjs.map +1 -0
  639. package/packages/crypto/src/hash.d.ts +8 -0
  640. package/packages/crypto/src/hash.js +14 -0
  641. package/packages/crypto/src/hash.js.map +1 -0
  642. package/packages/crypto/src/hash.mjs +13 -0
  643. package/packages/crypto/src/hash.mjs.map +1 -0
  644. package/packages/crypto/src/hd.d.ts +36 -0
  645. package/packages/crypto/src/hd.js +36 -0
  646. package/packages/crypto/src/hd.js.map +1 -0
  647. package/packages/crypto/src/hd.mjs +35 -0
  648. package/packages/crypto/src/hd.mjs.map +1 -0
  649. package/packages/crypto/src/index.d.ts +28 -0
  650. package/packages/crypto/src/index.js +142 -0
  651. package/packages/crypto/src/index.js.map +1 -0
  652. package/packages/crypto/src/index.mjs +139 -0
  653. package/packages/crypto/src/index.mjs.map +1 -0
  654. package/packages/indexer_client/src/apis/api-service.d.ts +1 -1
  655. package/packages/indexer_client/src/apis/api-service.js +31 -32
  656. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  657. package/packages/indexer_client/src/apis/api-service.mjs +13 -14
  658. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  659. package/packages/indexer_client/src/client.js +3 -4
  660. package/packages/indexer_client/src/client.js.map +1 -1
  661. package/packages/indexer_client/src/client.mjs +1 -2
  662. package/packages/indexer_client/src/client.mjs.map +1 -1
  663. package/packages/indexer_client/src/core/api-error.js +4 -3
  664. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  665. package/packages/indexer_client/src/core/api-error.mjs +4 -2
  666. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  667. package/packages/indexer_client/src/core/base-http-request.js +1 -2
  668. package/packages/indexer_client/src/core/base-http-request.js.map +1 -1
  669. package/packages/indexer_client/src/core/base-http-request.mjs +1 -1
  670. package/packages/indexer_client/src/core/base-http-request.mjs.map +1 -1
  671. package/packages/indexer_client/src/core/fetch-http-request.js +3 -4
  672. package/packages/indexer_client/src/core/fetch-http-request.js.map +1 -1
  673. package/packages/indexer_client/src/core/fetch-http-request.mjs +1 -2
  674. package/packages/indexer_client/src/core/fetch-http-request.mjs.map +1 -1
  675. package/packages/indexer_client/src/core/model-runtime.js +2 -18
  676. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  677. package/packages/indexer_client/src/core/model-runtime.mjs +2 -15
  678. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  679. package/packages/indexer_client/src/core/request.js +5 -6
  680. package/packages/indexer_client/src/core/request.js.map +1 -1
  681. package/packages/indexer_client/src/core/request.mjs +1 -2
  682. package/packages/indexer_client/src/core/request.mjs.map +1 -1
  683. package/packages/indexer_client/src/models/account-participation.js +6 -7
  684. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  685. package/packages/indexer_client/src/models/account-participation.mjs +5 -6
  686. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  687. package/packages/indexer_client/src/models/account-response.js +4 -5
  688. package/packages/indexer_client/src/models/account-response.js.map +1 -1
  689. package/packages/indexer_client/src/models/account-response.mjs +1 -2
  690. package/packages/indexer_client/src/models/account-response.mjs.map +1 -1
  691. package/packages/indexer_client/src/models/account-state-delta.d.ts +0 -1
  692. package/packages/indexer_client/src/models/account-state-delta.js +4 -5
  693. package/packages/indexer_client/src/models/account-state-delta.js.map +1 -1
  694. package/packages/indexer_client/src/models/account-state-delta.mjs +1 -2
  695. package/packages/indexer_client/src/models/account-state-delta.mjs.map +1 -1
  696. package/packages/indexer_client/src/models/account.d.ts +0 -1
  697. package/packages/indexer_client/src/models/account.js +14 -15
  698. package/packages/indexer_client/src/models/account.js.map +1 -1
  699. package/packages/indexer_client/src/models/account.mjs +1 -2
  700. package/packages/indexer_client/src/models/account.mjs.map +1 -1
  701. package/packages/indexer_client/src/models/accounts-response.js +6 -7
  702. package/packages/indexer_client/src/models/accounts-response.js.map +1 -1
  703. package/packages/indexer_client/src/models/accounts-response.mjs +1 -2
  704. package/packages/indexer_client/src/models/accounts-response.mjs.map +1 -1
  705. package/packages/indexer_client/src/models/application-local-state.d.ts +0 -1
  706. package/packages/indexer_client/src/models/application-local-state.js +7 -8
  707. package/packages/indexer_client/src/models/application-local-state.js.map +1 -1
  708. package/packages/indexer_client/src/models/application-local-state.mjs +1 -2
  709. package/packages/indexer_client/src/models/application-local-state.mjs.map +1 -1
  710. package/packages/indexer_client/src/models/application-local-states-response.js +6 -7
  711. package/packages/indexer_client/src/models/application-local-states-response.js.map +1 -1
  712. package/packages/indexer_client/src/models/application-local-states-response.mjs +1 -2
  713. package/packages/indexer_client/src/models/application-local-states-response.mjs.map +1 -1
  714. package/packages/indexer_client/src/models/application-log-data.js +3 -4
  715. package/packages/indexer_client/src/models/application-log-data.js.map +1 -1
  716. package/packages/indexer_client/src/models/application-log-data.mjs +1 -2
  717. package/packages/indexer_client/src/models/application-log-data.mjs.map +1 -1
  718. package/packages/indexer_client/src/models/application-logs-response.js +6 -7
  719. package/packages/indexer_client/src/models/application-logs-response.js.map +1 -1
  720. package/packages/indexer_client/src/models/application-logs-response.mjs +1 -2
  721. package/packages/indexer_client/src/models/application-logs-response.mjs.map +1 -1
  722. package/packages/indexer_client/src/models/application-params.d.ts +0 -1
  723. package/packages/indexer_client/src/models/application-params.js +8 -9
  724. package/packages/indexer_client/src/models/application-params.js.map +1 -1
  725. package/packages/indexer_client/src/models/application-params.mjs +1 -2
  726. package/packages/indexer_client/src/models/application-params.mjs.map +1 -1
  727. package/packages/indexer_client/src/models/application-response.js +4 -5
  728. package/packages/indexer_client/src/models/application-response.js.map +1 -1
  729. package/packages/indexer_client/src/models/application-response.mjs +1 -2
  730. package/packages/indexer_client/src/models/application-response.mjs.map +1 -1
  731. package/packages/indexer_client/src/models/application-state-schema.js +2 -3
  732. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  733. package/packages/indexer_client/src/models/application-state-schema.mjs +1 -2
  734. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  735. package/packages/indexer_client/src/models/application.d.ts +0 -1
  736. package/packages/indexer_client/src/models/application.js +5 -6
  737. package/packages/indexer_client/src/models/application.js.map +1 -1
  738. package/packages/indexer_client/src/models/application.mjs +1 -2
  739. package/packages/indexer_client/src/models/application.mjs.map +1 -1
  740. package/packages/indexer_client/src/models/applications-response.js +6 -7
  741. package/packages/indexer_client/src/models/applications-response.js.map +1 -1
  742. package/packages/indexer_client/src/models/applications-response.mjs +1 -2
  743. package/packages/indexer_client/src/models/applications-response.mjs.map +1 -1
  744. package/packages/indexer_client/src/models/asset-balances-response.js +6 -7
  745. package/packages/indexer_client/src/models/asset-balances-response.js.map +1 -1
  746. package/packages/indexer_client/src/models/asset-balances-response.mjs +1 -2
  747. package/packages/indexer_client/src/models/asset-balances-response.mjs.map +1 -1
  748. package/packages/indexer_client/src/models/asset-holding.js +3 -4
  749. package/packages/indexer_client/src/models/asset-holding.js.map +1 -1
  750. package/packages/indexer_client/src/models/asset-holding.mjs +1 -2
  751. package/packages/indexer_client/src/models/asset-holding.mjs.map +1 -1
  752. package/packages/indexer_client/src/models/asset-holdings-response.js +6 -7
  753. package/packages/indexer_client/src/models/asset-holdings-response.js.map +1 -1
  754. package/packages/indexer_client/src/models/asset-holdings-response.mjs +1 -2
  755. package/packages/indexer_client/src/models/asset-holdings-response.mjs.map +1 -1
  756. package/packages/indexer_client/src/models/asset-params.js +8 -8
  757. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  758. package/packages/indexer_client/src/models/asset-params.mjs +3 -3
  759. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  760. package/packages/indexer_client/src/models/asset-response.js +4 -5
  761. package/packages/indexer_client/src/models/asset-response.js.map +1 -1
  762. package/packages/indexer_client/src/models/asset-response.mjs +1 -2
  763. package/packages/indexer_client/src/models/asset-response.mjs.map +1 -1
  764. package/packages/indexer_client/src/models/asset.d.ts +0 -1
  765. package/packages/indexer_client/src/models/asset.js +5 -6
  766. package/packages/indexer_client/src/models/asset.js.map +1 -1
  767. package/packages/indexer_client/src/models/asset.mjs +1 -2
  768. package/packages/indexer_client/src/models/asset.mjs.map +1 -1
  769. package/packages/indexer_client/src/models/assets-response.js +6 -7
  770. package/packages/indexer_client/src/models/assets-response.js.map +1 -1
  771. package/packages/indexer_client/src/models/assets-response.mjs +1 -2
  772. package/packages/indexer_client/src/models/assets-response.mjs.map +1 -1
  773. package/packages/indexer_client/src/models/block-headers-response.js +6 -7
  774. package/packages/indexer_client/src/models/block-headers-response.js.map +1 -1
  775. package/packages/indexer_client/src/models/block-headers-response.mjs +1 -2
  776. package/packages/indexer_client/src/models/block-headers-response.mjs.map +1 -1
  777. package/packages/indexer_client/src/models/block-rewards.js +3 -4
  778. package/packages/indexer_client/src/models/block-rewards.js.map +1 -1
  779. package/packages/indexer_client/src/models/block-rewards.mjs +1 -2
  780. package/packages/indexer_client/src/models/block-rewards.mjs.map +1 -1
  781. package/packages/indexer_client/src/models/block-upgrade-state.js +4 -5
  782. package/packages/indexer_client/src/models/block-upgrade-state.js.map +1 -1
  783. package/packages/indexer_client/src/models/block-upgrade-state.mjs +1 -2
  784. package/packages/indexer_client/src/models/block-upgrade-state.mjs.map +1 -1
  785. package/packages/indexer_client/src/models/block-upgrade-vote.js +4 -5
  786. package/packages/indexer_client/src/models/block-upgrade-vote.js.map +1 -1
  787. package/packages/indexer_client/src/models/block-upgrade-vote.mjs +1 -2
  788. package/packages/indexer_client/src/models/block-upgrade-vote.mjs.map +1 -1
  789. package/packages/indexer_client/src/models/block.d.ts +5 -6
  790. package/packages/indexer_client/src/models/block.js +26 -27
  791. package/packages/indexer_client/src/models/block.js.map +1 -1
  792. package/packages/indexer_client/src/models/block.mjs +14 -15
  793. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  794. package/packages/indexer_client/src/models/box-descriptor.js +2 -4
  795. package/packages/indexer_client/src/models/box-descriptor.js.map +1 -1
  796. package/packages/indexer_client/src/models/box-descriptor.mjs +1 -2
  797. package/packages/indexer_client/src/models/box-descriptor.mjs.map +1 -1
  798. package/packages/indexer_client/src/models/box-reference.js +3 -4
  799. package/packages/indexer_client/src/models/box-reference.js.map +1 -1
  800. package/packages/indexer_client/src/models/box-reference.mjs +1 -2
  801. package/packages/indexer_client/src/models/box-reference.mjs.map +1 -1
  802. package/packages/indexer_client/src/models/box.js +3 -4
  803. package/packages/indexer_client/src/models/box.js.map +1 -1
  804. package/packages/indexer_client/src/models/box.mjs +1 -2
  805. package/packages/indexer_client/src/models/box.mjs.map +1 -1
  806. package/packages/indexer_client/src/models/boxes-response.js +6 -7
  807. package/packages/indexer_client/src/models/boxes-response.js.map +1 -1
  808. package/packages/indexer_client/src/models/boxes-response.mjs +1 -2
  809. package/packages/indexer_client/src/models/boxes-response.mjs.map +1 -1
  810. package/packages/indexer_client/src/models/eval-delta-key-value.d.ts +1 -2
  811. package/packages/indexer_client/src/models/eval-delta-key-value.js +5 -6
  812. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  813. package/packages/indexer_client/src/models/eval-delta-key-value.mjs +3 -4
  814. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  815. package/packages/indexer_client/src/models/eval-delta.d.ts +1 -1
  816. package/packages/indexer_client/src/models/eval-delta.js +5 -7
  817. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  818. package/packages/indexer_client/src/models/eval-delta.mjs +3 -4
  819. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  820. package/packages/indexer_client/src/models/hash-factory.js +2 -4
  821. package/packages/indexer_client/src/models/hash-factory.js.map +1 -1
  822. package/packages/indexer_client/src/models/hash-factory.mjs +1 -2
  823. package/packages/indexer_client/src/models/hash-factory.mjs.map +1 -1
  824. package/packages/indexer_client/src/models/hb-proof-fields.js +7 -8
  825. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  826. package/packages/indexer_client/src/models/hb-proof-fields.mjs +7 -8
  827. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  828. package/packages/indexer_client/src/models/health-check.js +7 -8
  829. package/packages/indexer_client/src/models/health-check.js.map +1 -1
  830. package/packages/indexer_client/src/models/health-check.mjs +1 -2
  831. package/packages/indexer_client/src/models/health-check.mjs.map +1 -1
  832. package/packages/indexer_client/src/models/holding-ref.d.ts +0 -1
  833. package/packages/indexer_client/src/models/holding-ref.js +3 -4
  834. package/packages/indexer_client/src/models/holding-ref.js.map +1 -1
  835. package/packages/indexer_client/src/models/holding-ref.mjs +1 -2
  836. package/packages/indexer_client/src/models/holding-ref.mjs.map +1 -1
  837. package/packages/indexer_client/src/models/indexer-state-proof-message.js +3 -4
  838. package/packages/indexer_client/src/models/indexer-state-proof-message.js.map +1 -1
  839. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs +1 -2
  840. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs.map +1 -1
  841. package/packages/indexer_client/src/models/locals-ref.d.ts +0 -1
  842. package/packages/indexer_client/src/models/locals-ref.js +3 -4
  843. package/packages/indexer_client/src/models/locals-ref.js.map +1 -1
  844. package/packages/indexer_client/src/models/locals-ref.mjs +1 -2
  845. package/packages/indexer_client/src/models/locals-ref.mjs.map +1 -1
  846. package/packages/indexer_client/src/models/merkle-array-proof.js +5 -6
  847. package/packages/indexer_client/src/models/merkle-array-proof.js.map +1 -1
  848. package/packages/indexer_client/src/models/merkle-array-proof.mjs +1 -2
  849. package/packages/indexer_client/src/models/merkle-array-proof.mjs.map +1 -1
  850. package/packages/indexer_client/src/models/mini-asset-holding.js +4 -6
  851. package/packages/indexer_client/src/models/mini-asset-holding.js.map +1 -1
  852. package/packages/indexer_client/src/models/mini-asset-holding.mjs +1 -2
  853. package/packages/indexer_client/src/models/mini-asset-holding.mjs.map +1 -1
  854. package/packages/indexer_client/src/models/on-completion.js +2 -4
  855. package/packages/indexer_client/src/models/on-completion.js.map +1 -1
  856. package/packages/indexer_client/src/models/on-completion.mjs +1 -2
  857. package/packages/indexer_client/src/models/on-completion.mjs.map +1 -1
  858. package/packages/indexer_client/src/models/participation-updates.d.ts +2 -2
  859. package/packages/indexer_client/src/models/participation-updates.js +4 -5
  860. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  861. package/packages/indexer_client/src/models/participation-updates.mjs +3 -4
  862. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  863. package/packages/indexer_client/src/models/resource-ref.d.ts +0 -1
  864. package/packages/indexer_client/src/models/resource-ref.js +7 -8
  865. package/packages/indexer_client/src/models/resource-ref.js.map +1 -1
  866. package/packages/indexer_client/src/models/resource-ref.mjs +1 -2
  867. package/packages/indexer_client/src/models/resource-ref.mjs.map +1 -1
  868. package/packages/indexer_client/src/models/state-delta.d.ts +0 -1
  869. package/packages/indexer_client/src/models/state-delta.js +4 -5
  870. package/packages/indexer_client/src/models/state-delta.js.map +1 -1
  871. package/packages/indexer_client/src/models/state-delta.mjs +1 -2
  872. package/packages/indexer_client/src/models/state-delta.mjs.map +1 -1
  873. package/packages/indexer_client/src/models/state-proof-fields.d.ts +0 -1
  874. package/packages/indexer_client/src/models/state-proof-fields.js +8 -9
  875. package/packages/indexer_client/src/models/state-proof-fields.js.map +1 -1
  876. package/packages/indexer_client/src/models/state-proof-fields.mjs +1 -2
  877. package/packages/indexer_client/src/models/state-proof-fields.mjs.map +1 -1
  878. package/packages/indexer_client/src/models/state-proof-participant.js +4 -5
  879. package/packages/indexer_client/src/models/state-proof-participant.js.map +1 -1
  880. package/packages/indexer_client/src/models/state-proof-participant.mjs +1 -2
  881. package/packages/indexer_client/src/models/state-proof-participant.mjs.map +1 -1
  882. package/packages/indexer_client/src/models/state-proof-reveal.js +5 -6
  883. package/packages/indexer_client/src/models/state-proof-reveal.js.map +1 -1
  884. package/packages/indexer_client/src/models/state-proof-reveal.mjs +1 -2
  885. package/packages/indexer_client/src/models/state-proof-reveal.mjs.map +1 -1
  886. package/packages/indexer_client/src/models/state-proof-sig-slot.js +4 -5
  887. package/packages/indexer_client/src/models/state-proof-sig-slot.js.map +1 -1
  888. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs +1 -2
  889. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs.map +1 -1
  890. package/packages/indexer_client/src/models/state-proof-signature.js +5 -6
  891. package/packages/indexer_client/src/models/state-proof-signature.js.map +1 -1
  892. package/packages/indexer_client/src/models/state-proof-signature.mjs +1 -2
  893. package/packages/indexer_client/src/models/state-proof-signature.mjs.map +1 -1
  894. package/packages/indexer_client/src/models/state-proof-tracking.js +4 -5
  895. package/packages/indexer_client/src/models/state-proof-tracking.js.map +1 -1
  896. package/packages/indexer_client/src/models/state-proof-tracking.mjs +1 -2
  897. package/packages/indexer_client/src/models/state-proof-tracking.mjs.map +1 -1
  898. package/packages/indexer_client/src/models/state-proof-verifier.js +3 -5
  899. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  900. package/packages/indexer_client/src/models/state-proof-verifier.mjs +3 -4
  901. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  902. package/packages/indexer_client/src/models/state-schema.js +2 -3
  903. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  904. package/packages/indexer_client/src/models/state-schema.mjs +1 -2
  905. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  906. package/packages/indexer_client/src/models/teal-key-value-store.d.ts +0 -1
  907. package/packages/indexer_client/src/models/teal-key-value-store.js +4 -5
  908. package/packages/indexer_client/src/models/teal-key-value-store.js.map +1 -1
  909. package/packages/indexer_client/src/models/teal-key-value-store.mjs +1 -2
  910. package/packages/indexer_client/src/models/teal-key-value-store.mjs.map +1 -1
  911. package/packages/indexer_client/src/models/teal-key-value.d.ts +1 -2
  912. package/packages/indexer_client/src/models/teal-key-value.js +5 -6
  913. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  914. package/packages/indexer_client/src/models/teal-key-value.mjs +3 -4
  915. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  916. package/packages/indexer_client/src/models/teal-value.js +4 -6
  917. package/packages/indexer_client/src/models/teal-value.js.map +1 -1
  918. package/packages/indexer_client/src/models/teal-value.mjs +1 -2
  919. package/packages/indexer_client/src/models/teal-value.mjs.map +1 -1
  920. package/packages/indexer_client/src/models/transaction-application.d.ts +0 -1
  921. package/packages/indexer_client/src/models/transaction-application.js +11 -12
  922. package/packages/indexer_client/src/models/transaction-application.js.map +1 -1
  923. package/packages/indexer_client/src/models/transaction-application.mjs +1 -2
  924. package/packages/indexer_client/src/models/transaction-application.mjs.map +1 -1
  925. package/packages/indexer_client/src/models/transaction-asset-config.d.ts +0 -1
  926. package/packages/indexer_client/src/models/transaction-asset-config.js +4 -5
  927. package/packages/indexer_client/src/models/transaction-asset-config.js.map +1 -1
  928. package/packages/indexer_client/src/models/transaction-asset-config.mjs +1 -2
  929. package/packages/indexer_client/src/models/transaction-asset-config.mjs.map +1 -1
  930. package/packages/indexer_client/src/models/transaction-asset-freeze.js +4 -6
  931. package/packages/indexer_client/src/models/transaction-asset-freeze.js.map +1 -1
  932. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs +1 -2
  933. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs.map +1 -1
  934. package/packages/indexer_client/src/models/transaction-asset-transfer.js +3 -4
  935. package/packages/indexer_client/src/models/transaction-asset-transfer.js.map +1 -1
  936. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs +1 -2
  937. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs.map +1 -1
  938. package/packages/indexer_client/src/models/transaction-heartbeat.d.ts +0 -1
  939. package/packages/indexer_client/src/models/transaction-heartbeat.js +8 -8
  940. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  941. package/packages/indexer_client/src/models/transaction-heartbeat.mjs +3 -3
  942. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  943. package/packages/indexer_client/src/models/transaction-keyreg.js +7 -8
  944. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  945. package/packages/indexer_client/src/models/transaction-keyreg.mjs +5 -6
  946. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  947. package/packages/indexer_client/src/models/transaction-payment.js +3 -4
  948. package/packages/indexer_client/src/models/transaction-payment.js.map +1 -1
  949. package/packages/indexer_client/src/models/transaction-payment.mjs +1 -2
  950. package/packages/indexer_client/src/models/transaction-payment.mjs.map +1 -1
  951. package/packages/indexer_client/src/models/transaction-response.js +4 -5
  952. package/packages/indexer_client/src/models/transaction-response.js.map +1 -1
  953. package/packages/indexer_client/src/models/transaction-response.mjs +1 -2
  954. package/packages/indexer_client/src/models/transaction-response.mjs.map +1 -1
  955. package/packages/indexer_client/src/models/transaction-signature-logicsig.d.ts +0 -1
  956. package/packages/indexer_client/src/models/transaction-signature-logicsig.js +7 -7
  957. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  958. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs +3 -3
  959. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  960. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js +4 -5
  961. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  962. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs +4 -5
  963. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  964. package/packages/indexer_client/src/models/transaction-signature-multisig.d.ts +0 -1
  965. package/packages/indexer_client/src/models/transaction-signature-multisig.js +5 -6
  966. package/packages/indexer_client/src/models/transaction-signature-multisig.js.map +1 -1
  967. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs +1 -2
  968. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs.map +1 -1
  969. package/packages/indexer_client/src/models/transaction-signature.d.ts +0 -1
  970. package/packages/indexer_client/src/models/transaction-signature.js +5 -6
  971. package/packages/indexer_client/src/models/transaction-signature.js.map +1 -1
  972. package/packages/indexer_client/src/models/transaction-signature.mjs +1 -2
  973. package/packages/indexer_client/src/models/transaction-signature.mjs.map +1 -1
  974. package/packages/indexer_client/src/models/transaction-state-proof.d.ts +1 -2
  975. package/packages/indexer_client/src/models/transaction-state-proof.js +6 -7
  976. package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
  977. package/packages/indexer_client/src/models/transaction-state-proof.mjs +3 -4
  978. package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
  979. package/packages/indexer_client/src/models/transaction.d.ts +0 -1
  980. package/packages/indexer_client/src/models/transaction.js +24 -24
  981. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  982. package/packages/indexer_client/src/models/transaction.mjs +5 -5
  983. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  984. package/packages/indexer_client/src/models/transactions-response.js +6 -7
  985. package/packages/indexer_client/src/models/transactions-response.js.map +1 -1
  986. package/packages/indexer_client/src/models/transactions-response.mjs +1 -2
  987. package/packages/indexer_client/src/models/transactions-response.mjs.map +1 -1
  988. package/packages/kmd_client/src/apis/api-service.d.ts +5 -5
  989. package/packages/kmd_client/src/apis/api-service.js +76 -78
  990. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  991. package/packages/kmd_client/src/apis/api-service.mjs +35 -37
  992. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  993. package/packages/kmd_client/src/client.js +3 -4
  994. package/packages/kmd_client/src/client.js.map +1 -1
  995. package/packages/kmd_client/src/client.mjs +1 -2
  996. package/packages/kmd_client/src/client.mjs.map +1 -1
  997. package/packages/kmd_client/src/core/api-error.js +4 -3
  998. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  999. package/packages/kmd_client/src/core/api-error.mjs +4 -2
  1000. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  1001. package/packages/kmd_client/src/core/base-http-request.js +1 -2
  1002. package/packages/kmd_client/src/core/base-http-request.js.map +1 -1
  1003. package/packages/kmd_client/src/core/base-http-request.mjs +1 -1
  1004. package/packages/kmd_client/src/core/base-http-request.mjs.map +1 -1
  1005. package/packages/kmd_client/src/core/fetch-http-request.js +3 -4
  1006. package/packages/kmd_client/src/core/fetch-http-request.js.map +1 -1
  1007. package/packages/kmd_client/src/core/fetch-http-request.mjs +1 -2
  1008. package/packages/kmd_client/src/core/fetch-http-request.mjs.map +1 -1
  1009. package/packages/kmd_client/src/core/model-runtime.js +5 -16
  1010. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  1011. package/packages/kmd_client/src/core/model-runtime.mjs +4 -13
  1012. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  1013. package/packages/kmd_client/src/core/request.js +5 -6
  1014. package/packages/kmd_client/src/core/request.js.map +1 -1
  1015. package/packages/kmd_client/src/core/request.mjs +1 -2
  1016. package/packages/kmd_client/src/core/request.mjs.map +1 -1
  1017. package/packages/kmd_client/src/models/create-wallet-request.js +3 -4
  1018. package/packages/kmd_client/src/models/create-wallet-request.js.map +1 -1
  1019. package/packages/kmd_client/src/models/create-wallet-request.mjs +1 -2
  1020. package/packages/kmd_client/src/models/create-wallet-request.mjs.map +1 -1
  1021. package/packages/kmd_client/src/models/create-wallet-response.d.ts +0 -1
  1022. package/packages/kmd_client/src/models/create-wallet-response.js +3 -4
  1023. package/packages/kmd_client/src/models/create-wallet-response.js.map +1 -1
  1024. package/packages/kmd_client/src/models/create-wallet-response.mjs +1 -2
  1025. package/packages/kmd_client/src/models/create-wallet-response.mjs.map +1 -1
  1026. package/packages/kmd_client/src/models/delete-key-request.d.ts +0 -1
  1027. package/packages/kmd_client/src/models/delete-key-request.js +3 -4
  1028. package/packages/kmd_client/src/models/delete-key-request.js.map +1 -1
  1029. package/packages/kmd_client/src/models/delete-key-request.mjs +1 -2
  1030. package/packages/kmd_client/src/models/delete-key-request.mjs.map +1 -1
  1031. package/packages/kmd_client/src/models/delete-multisig-request.d.ts +0 -1
  1032. package/packages/kmd_client/src/models/delete-multisig-request.js +3 -4
  1033. package/packages/kmd_client/src/models/delete-multisig-request.js.map +1 -1
  1034. package/packages/kmd_client/src/models/delete-multisig-request.mjs +1 -2
  1035. package/packages/kmd_client/src/models/delete-multisig-request.mjs.map +1 -1
  1036. package/packages/kmd_client/src/models/export-key-request.d.ts +0 -1
  1037. package/packages/kmd_client/src/models/export-key-request.js +3 -4
  1038. package/packages/kmd_client/src/models/export-key-request.js.map +1 -1
  1039. package/packages/kmd_client/src/models/export-key-request.mjs +1 -2
  1040. package/packages/kmd_client/src/models/export-key-request.mjs.map +1 -1
  1041. package/packages/kmd_client/src/models/export-key-response.js +2 -4
  1042. package/packages/kmd_client/src/models/export-key-response.js.map +1 -1
  1043. package/packages/kmd_client/src/models/export-key-response.mjs +1 -2
  1044. package/packages/kmd_client/src/models/export-key-response.mjs.map +1 -1
  1045. package/packages/kmd_client/src/models/export-master-key-request.js +2 -3
  1046. package/packages/kmd_client/src/models/export-master-key-request.js.map +1 -1
  1047. package/packages/kmd_client/src/models/export-master-key-request.mjs +1 -2
  1048. package/packages/kmd_client/src/models/export-master-key-request.mjs.map +1 -1
  1049. package/packages/kmd_client/src/models/export-master-key-response.js +2 -4
  1050. package/packages/kmd_client/src/models/export-master-key-response.js.map +1 -1
  1051. package/packages/kmd_client/src/models/export-master-key-response.mjs +1 -2
  1052. package/packages/kmd_client/src/models/export-master-key-response.mjs.map +1 -1
  1053. package/packages/kmd_client/src/models/export-multisig-request.d.ts +0 -1
  1054. package/packages/kmd_client/src/models/export-multisig-request.js +3 -4
  1055. package/packages/kmd_client/src/models/export-multisig-request.js.map +1 -1
  1056. package/packages/kmd_client/src/models/export-multisig-request.mjs +1 -2
  1057. package/packages/kmd_client/src/models/export-multisig-request.mjs.map +1 -1
  1058. package/packages/kmd_client/src/models/export-multisig-response.js +3 -4
  1059. package/packages/kmd_client/src/models/export-multisig-response.js.map +1 -1
  1060. package/packages/kmd_client/src/models/export-multisig-response.mjs +1 -2
  1061. package/packages/kmd_client/src/models/export-multisig-response.mjs.map +1 -1
  1062. package/packages/kmd_client/src/models/generate-key-request.js +2 -4
  1063. package/packages/kmd_client/src/models/generate-key-request.js.map +1 -1
  1064. package/packages/kmd_client/src/models/generate-key-request.mjs +1 -2
  1065. package/packages/kmd_client/src/models/generate-key-request.mjs.map +1 -1
  1066. package/packages/kmd_client/src/models/generate-key-response.d.ts +0 -1
  1067. package/packages/kmd_client/src/models/generate-key-response.js +2 -4
  1068. package/packages/kmd_client/src/models/generate-key-response.js.map +1 -1
  1069. package/packages/kmd_client/src/models/generate-key-response.mjs +1 -2
  1070. package/packages/kmd_client/src/models/generate-key-response.mjs.map +1 -1
  1071. package/packages/kmd_client/src/models/import-key-request.js +3 -4
  1072. package/packages/kmd_client/src/models/import-key-request.js.map +1 -1
  1073. package/packages/kmd_client/src/models/import-key-request.mjs +1 -2
  1074. package/packages/kmd_client/src/models/import-key-request.mjs.map +1 -1
  1075. package/packages/kmd_client/src/models/import-key-response.d.ts +0 -1
  1076. package/packages/kmd_client/src/models/import-key-response.js +2 -4
  1077. package/packages/kmd_client/src/models/import-key-response.js.map +1 -1
  1078. package/packages/kmd_client/src/models/import-key-response.mjs +1 -2
  1079. package/packages/kmd_client/src/models/import-key-response.mjs.map +1 -1
  1080. package/packages/kmd_client/src/models/import-multisig-request.js +4 -5
  1081. package/packages/kmd_client/src/models/import-multisig-request.js.map +1 -1
  1082. package/packages/kmd_client/src/models/import-multisig-request.mjs +1 -2
  1083. package/packages/kmd_client/src/models/import-multisig-request.mjs.map +1 -1
  1084. package/packages/kmd_client/src/models/import-multisig-response.d.ts +0 -1
  1085. package/packages/kmd_client/src/models/import-multisig-response.js +2 -4
  1086. package/packages/kmd_client/src/models/import-multisig-response.js.map +1 -1
  1087. package/packages/kmd_client/src/models/import-multisig-response.mjs +1 -2
  1088. package/packages/kmd_client/src/models/import-multisig-response.mjs.map +1 -1
  1089. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js +2 -3
  1090. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js.map +1 -1
  1091. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs +1 -2
  1092. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs.map +1 -1
  1093. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js +2 -4
  1094. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js.map +1 -1
  1095. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs +1 -2
  1096. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs.map +1 -1
  1097. package/packages/kmd_client/src/models/list-keys-request.js +2 -4
  1098. package/packages/kmd_client/src/models/list-keys-request.js.map +1 -1
  1099. package/packages/kmd_client/src/models/list-keys-request.mjs +1 -2
  1100. package/packages/kmd_client/src/models/list-keys-request.mjs.map +1 -1
  1101. package/packages/kmd_client/src/models/list-keys-response.d.ts +0 -1
  1102. package/packages/kmd_client/src/models/list-keys-response.js +2 -4
  1103. package/packages/kmd_client/src/models/list-keys-response.js.map +1 -1
  1104. package/packages/kmd_client/src/models/list-keys-response.mjs +1 -2
  1105. package/packages/kmd_client/src/models/list-keys-response.mjs.map +1 -1
  1106. package/packages/kmd_client/src/models/list-multisig-request.js +2 -4
  1107. package/packages/kmd_client/src/models/list-multisig-request.js.map +1 -1
  1108. package/packages/kmd_client/src/models/list-multisig-request.mjs +1 -2
  1109. package/packages/kmd_client/src/models/list-multisig-request.mjs.map +1 -1
  1110. package/packages/kmd_client/src/models/list-multisig-response.d.ts +0 -1
  1111. package/packages/kmd_client/src/models/list-multisig-response.js +2 -4
  1112. package/packages/kmd_client/src/models/list-multisig-response.js.map +1 -1
  1113. package/packages/kmd_client/src/models/list-multisig-response.mjs +1 -2
  1114. package/packages/kmd_client/src/models/list-multisig-response.mjs.map +1 -1
  1115. package/packages/kmd_client/src/models/list-wallets-response.d.ts +0 -1
  1116. package/packages/kmd_client/src/models/list-wallets-response.js +4 -5
  1117. package/packages/kmd_client/src/models/list-wallets-response.js.map +1 -1
  1118. package/packages/kmd_client/src/models/list-wallets-response.mjs +1 -2
  1119. package/packages/kmd_client/src/models/list-wallets-response.mjs.map +1 -1
  1120. package/packages/kmd_client/src/models/multisig-sig.d.ts +0 -1
  1121. package/packages/kmd_client/src/models/multisig-sig.js +5 -6
  1122. package/packages/kmd_client/src/models/multisig-sig.js.map +1 -1
  1123. package/packages/kmd_client/src/models/multisig-sig.mjs +1 -2
  1124. package/packages/kmd_client/src/models/multisig-sig.mjs.map +1 -1
  1125. package/packages/kmd_client/src/models/multisig-subsig.js +2 -3
  1126. package/packages/kmd_client/src/models/multisig-subsig.js.map +1 -1
  1127. package/packages/kmd_client/src/models/multisig-subsig.mjs +1 -2
  1128. package/packages/kmd_client/src/models/multisig-subsig.mjs.map +1 -1
  1129. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js +2 -4
  1130. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js.map +1 -1
  1131. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs +1 -2
  1132. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs.map +1 -1
  1133. package/packages/kmd_client/src/models/rename-wallet-request.js +2 -3
  1134. package/packages/kmd_client/src/models/rename-wallet-request.js.map +1 -1
  1135. package/packages/kmd_client/src/models/rename-wallet-request.mjs +1 -2
  1136. package/packages/kmd_client/src/models/rename-wallet-request.mjs.map +1 -1
  1137. package/packages/kmd_client/src/models/rename-wallet-response.d.ts +0 -1
  1138. package/packages/kmd_client/src/models/rename-wallet-response.js +3 -4
  1139. package/packages/kmd_client/src/models/rename-wallet-response.js.map +1 -1
  1140. package/packages/kmd_client/src/models/rename-wallet-response.mjs +1 -2
  1141. package/packages/kmd_client/src/models/rename-wallet-response.mjs.map +1 -1
  1142. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js +2 -4
  1143. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js.map +1 -1
  1144. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs +1 -2
  1145. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs.map +1 -1
  1146. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.d.ts +0 -1
  1147. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js +3 -4
  1148. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js.map +1 -1
  1149. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs +1 -2
  1150. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs.map +1 -1
  1151. package/packages/kmd_client/src/models/sign-multisig-response.js +2 -4
  1152. package/packages/kmd_client/src/models/sign-multisig-response.js.map +1 -1
  1153. package/packages/kmd_client/src/models/sign-multisig-response.mjs +1 -2
  1154. package/packages/kmd_client/src/models/sign-multisig-response.mjs.map +1 -1
  1155. package/packages/kmd_client/src/models/sign-multisig-txn-request.d.ts +0 -1
  1156. package/packages/kmd_client/src/models/sign-multisig-txn-request.js +5 -6
  1157. package/packages/kmd_client/src/models/sign-multisig-txn-request.js.map +1 -1
  1158. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs +1 -2
  1159. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs.map +1 -1
  1160. package/packages/kmd_client/src/models/sign-program-multisig-request.d.ts +0 -1
  1161. package/packages/kmd_client/src/models/sign-program-multisig-request.js +7 -8
  1162. package/packages/kmd_client/src/models/sign-program-multisig-request.js.map +1 -1
  1163. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs +1 -2
  1164. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs.map +1 -1
  1165. package/packages/kmd_client/src/models/sign-program-multisig-response.js +2 -4
  1166. package/packages/kmd_client/src/models/sign-program-multisig-response.js.map +1 -1
  1167. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs +1 -2
  1168. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs.map +1 -1
  1169. package/packages/kmd_client/src/models/sign-program-request.d.ts +0 -1
  1170. package/packages/kmd_client/src/models/sign-program-request.js +4 -5
  1171. package/packages/kmd_client/src/models/sign-program-request.js.map +1 -1
  1172. package/packages/kmd_client/src/models/sign-program-request.mjs +1 -2
  1173. package/packages/kmd_client/src/models/sign-program-request.mjs.map +1 -1
  1174. package/packages/kmd_client/src/models/sign-program-response.js +2 -4
  1175. package/packages/kmd_client/src/models/sign-program-response.js.map +1 -1
  1176. package/packages/kmd_client/src/models/sign-program-response.mjs +1 -2
  1177. package/packages/kmd_client/src/models/sign-program-response.mjs.map +1 -1
  1178. package/packages/kmd_client/src/models/sign-transaction-response.js +2 -4
  1179. package/packages/kmd_client/src/models/sign-transaction-response.js.map +1 -1
  1180. package/packages/kmd_client/src/models/sign-transaction-response.mjs +1 -2
  1181. package/packages/kmd_client/src/models/sign-transaction-response.mjs.map +1 -1
  1182. package/packages/kmd_client/src/models/sign-txn-request.js +3 -4
  1183. package/packages/kmd_client/src/models/sign-txn-request.js.map +1 -1
  1184. package/packages/kmd_client/src/models/sign-txn-request.mjs +1 -2
  1185. package/packages/kmd_client/src/models/sign-txn-request.mjs.map +1 -1
  1186. package/packages/kmd_client/src/models/tx-type.js +2 -4
  1187. package/packages/kmd_client/src/models/tx-type.js.map +1 -1
  1188. package/packages/kmd_client/src/models/tx-type.mjs +1 -2
  1189. package/packages/kmd_client/src/models/tx-type.mjs.map +1 -1
  1190. package/packages/kmd_client/src/models/versions-response.js +2 -4
  1191. package/packages/kmd_client/src/models/versions-response.js.map +1 -1
  1192. package/packages/kmd_client/src/models/versions-response.mjs +1 -2
  1193. package/packages/kmd_client/src/models/versions-response.mjs.map +1 -1
  1194. package/packages/kmd_client/src/models/wallet-handle.d.ts +0 -1
  1195. package/packages/kmd_client/src/models/wallet-handle.js +4 -5
  1196. package/packages/kmd_client/src/models/wallet-handle.js.map +1 -1
  1197. package/packages/kmd_client/src/models/wallet-handle.mjs +1 -2
  1198. package/packages/kmd_client/src/models/wallet-handle.mjs.map +1 -1
  1199. package/packages/kmd_client/src/models/wallet-info-request.js +2 -4
  1200. package/packages/kmd_client/src/models/wallet-info-request.js.map +1 -1
  1201. package/packages/kmd_client/src/models/wallet-info-request.mjs +1 -2
  1202. package/packages/kmd_client/src/models/wallet-info-request.mjs.map +1 -1
  1203. package/packages/kmd_client/src/models/wallet-info-response.d.ts +0 -1
  1204. package/packages/kmd_client/src/models/wallet-info-response.js +3 -4
  1205. package/packages/kmd_client/src/models/wallet-info-response.js.map +1 -1
  1206. package/packages/kmd_client/src/models/wallet-info-response.mjs +1 -2
  1207. package/packages/kmd_client/src/models/wallet-info-response.mjs.map +1 -1
  1208. package/packages/kmd_client/src/models/wallet.d.ts +0 -1
  1209. package/packages/kmd_client/src/models/wallet.js +7 -8
  1210. package/packages/kmd_client/src/models/wallet.js.map +1 -1
  1211. package/packages/kmd_client/src/models/wallet.mjs +1 -2
  1212. package/packages/kmd_client/src/models/wallet.mjs.map +1 -1
  1213. package/packages/testing/src/globalSetup.js +39 -0
  1214. package/packages/testing/src/globalSetup.js.map +1 -0
  1215. package/packages/testing/src/globalSetup.mjs +35 -0
  1216. package/packages/testing/src/globalSetup.mjs.map +1 -0
  1217. package/packages/testing/src/mockServer.js +94 -0
  1218. package/packages/testing/src/mockServer.js.map +1 -0
  1219. package/packages/testing/src/mockServer.mjs +83 -0
  1220. package/packages/testing/src/mockServer.mjs.map +1 -0
  1221. package/packages/transact/src/logicsig.d.ts +35 -34
  1222. package/packages/transact/src/logicsig.js +81 -84
  1223. package/packages/transact/src/logicsig.js.map +1 -1
  1224. package/packages/transact/src/logicsig.mjs +79 -81
  1225. package/packages/transact/src/logicsig.mjs.map +1 -1
  1226. package/packages/transact/src/multisig.d.ts +11 -116
  1227. package/packages/transact/src/multisig.js +104 -135
  1228. package/packages/transact/src/multisig.js.map +1 -1
  1229. package/packages/transact/src/multisig.mjs +103 -114
  1230. package/packages/transact/src/multisig.mjs.map +1 -1
  1231. package/packages/transact/src/signer.d.ts +11 -3
  1232. package/packages/transact/src/signer.js +29 -8
  1233. package/packages/transact/src/signer.js.map +1 -1
  1234. package/packages/transact/src/signer.mjs +26 -6
  1235. package/packages/transact/src/signer.mjs.map +1 -1
  1236. package/packages/transact/src/transactions/app-call.d.ts +11 -27
  1237. package/packages/transact/src/transactions/app-call.js +30 -31
  1238. package/packages/transact/src/transactions/app-call.js.map +1 -1
  1239. package/packages/transact/src/transactions/app-call.mjs +29 -30
  1240. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  1241. package/packages/transact/src/transactions/asset-config.d.ts +1 -7
  1242. package/packages/transact/src/transactions/asset-config.js +11 -12
  1243. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  1244. package/packages/transact/src/transactions/asset-config.mjs +10 -11
  1245. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  1246. package/packages/transact/src/transactions/asset-freeze.d.ts +1 -7
  1247. package/packages/transact/src/transactions/asset-freeze.js +2 -3
  1248. package/packages/transact/src/transactions/asset-freeze.js.map +1 -1
  1249. package/packages/transact/src/transactions/asset-freeze.mjs +1 -2
  1250. package/packages/transact/src/transactions/asset-freeze.mjs.map +1 -1
  1251. package/packages/transact/src/transactions/asset-transfer.d.ts +1 -7
  1252. package/packages/transact/src/transactions/asset-transfer.js +2 -3
  1253. package/packages/transact/src/transactions/asset-transfer.js.map +1 -1
  1254. package/packages/transact/src/transactions/asset-transfer.mjs +1 -2
  1255. package/packages/transact/src/transactions/asset-transfer.mjs.map +1 -1
  1256. package/packages/transact/src/transactions/common.js +8 -9
  1257. package/packages/transact/src/transactions/common.js.map +1 -1
  1258. package/packages/transact/src/transactions/common.mjs +8 -8
  1259. package/packages/transact/src/transactions/common.mjs.map +1 -1
  1260. package/packages/transact/src/transactions/heartbeat.d.ts +8 -19
  1261. package/packages/transact/src/transactions/key-registration.d.ts +1 -8
  1262. package/packages/transact/src/transactions/key-registration.js +2 -3
  1263. package/packages/transact/src/transactions/key-registration.js.map +1 -1
  1264. package/packages/transact/src/transactions/key-registration.mjs +1 -2
  1265. package/packages/transact/src/transactions/key-registration.mjs.map +1 -1
  1266. package/packages/transact/src/transactions/payment.d.ts +0 -1
  1267. package/packages/transact/src/transactions/reference-types-meta.d.ts +0 -1
  1268. package/packages/transact/src/transactions/reference-types-meta.js +4 -5
  1269. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -1
  1270. package/packages/transact/src/transactions/reference-types-meta.mjs +1 -2
  1271. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -1
  1272. package/packages/transact/src/transactions/signed-transaction-meta.d.ts +0 -1
  1273. package/packages/transact/src/transactions/signed-transaction-meta.js +16 -18
  1274. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  1275. package/packages/transact/src/transactions/signed-transaction-meta.mjs +9 -10
  1276. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  1277. package/packages/transact/src/transactions/signed-transaction.d.ts +22 -7
  1278. package/packages/transact/src/transactions/signed-transaction.js +21 -6
  1279. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  1280. package/packages/transact/src/transactions/signed-transaction.mjs +17 -4
  1281. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  1282. package/packages/transact/src/transactions/state-proof.d.ts +2 -5
  1283. package/packages/transact/src/transactions/transaction-meta.d.ts +0 -1
  1284. package/packages/transact/src/transactions/transaction-meta.js +22 -17
  1285. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  1286. package/packages/transact/src/transactions/transaction-meta.mjs +8 -3
  1287. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  1288. package/packages/transact/src/transactions/transaction-type.d.ts +1 -1
  1289. package/packages/transact/src/transactions/transaction-type.js +12 -13
  1290. package/packages/transact/src/transactions/transaction-type.js.map +1 -1
  1291. package/packages/transact/src/transactions/transaction-type.mjs +12 -12
  1292. package/packages/transact/src/transactions/transaction-type.mjs.map +1 -1
  1293. package/packages/transact/src/transactions/transaction.d.ts +5 -2
  1294. package/packages/transact/src/transactions/transaction.js +30 -30
  1295. package/packages/transact/src/transactions/transaction.js.map +1 -1
  1296. package/packages/transact/src/transactions/transaction.mjs +14 -14
  1297. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  1298. package/testing/account.d.ts +2 -3
  1299. package/testing/account.js +5 -7
  1300. package/testing/account.js.map +1 -1
  1301. package/testing/account.mjs +3 -5
  1302. package/testing/account.mjs.map +1 -1
  1303. package/testing/fixtures/algokit-log-capture-fixture.d.ts +1 -2
  1304. package/testing/fixtures/algokit-log-capture-fixture.js +3 -4
  1305. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  1306. package/testing/fixtures/algokit-log-capture-fixture.mjs +1 -2
  1307. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  1308. package/testing/fixtures/algorand-fixture.d.ts +5 -6
  1309. package/testing/fixtures/algorand-fixture.js +8 -9
  1310. package/testing/fixtures/algorand-fixture.js.map +1 -1
  1311. package/testing/fixtures/algorand-fixture.mjs +3 -4
  1312. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  1313. package/testing/index.d.ts +2 -1
  1314. package/testing/index.js +26 -8
  1315. package/testing/index.mjs +3 -2
  1316. package/testing/indexer.js +1 -2
  1317. package/testing/indexer.js.map +1 -1
  1318. package/testing/indexer.mjs +1 -1
  1319. package/testing/indexer.mjs.map +1 -1
  1320. package/testing/test-logger.d.ts +1 -2
  1321. package/testing/test-logger.js +2 -3
  1322. package/testing/test-logger.js.map +1 -1
  1323. package/testing/test-logger.mjs +1 -2
  1324. package/testing/test-logger.mjs.map +1 -1
  1325. package/testing/transaction-logger.d.ts +0 -1
  1326. package/testing/transaction-logger.js +4 -5
  1327. package/testing/transaction-logger.js.map +1 -1
  1328. package/testing/transaction-logger.mjs +1 -2
  1329. package/testing/transaction-logger.mjs.map +1 -1
  1330. package/testing/types.d.ts +156 -0
  1331. package/transact/index.d.ts +12 -12
  1332. package/transact/index.js +16 -42
  1333. package/transact/index.mjs +7 -12
  1334. package/transaction/index.d.ts +4 -0
  1335. package/transaction/index.js +9 -0
  1336. package/transaction/index.mjs +3 -0
  1337. package/transaction/perform-transaction-composer-simulate.d.ts +1 -2
  1338. package/transaction/perform-transaction-composer-simulate.js +3 -5
  1339. package/transaction/perform-transaction-composer-simulate.js.map +1 -1
  1340. package/transaction/perform-transaction-composer-simulate.mjs +3 -4
  1341. package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
  1342. package/transaction/transaction.d.ts +2 -4
  1343. package/transaction/transaction.js +4 -7
  1344. package/transaction/transaction.js.map +1 -1
  1345. package/transaction/transaction.mjs +3 -6
  1346. package/transaction/transaction.mjs.map +1 -1
  1347. package/transaction/types.d.ts +133 -0
  1348. package/transactions/app-call.d.ts +18 -34
  1349. package/transactions/app-call.js +53 -54
  1350. package/transactions/app-call.js.map +1 -1
  1351. package/transactions/app-call.mjs +47 -48
  1352. package/transactions/app-call.mjs.map +1 -1
  1353. package/transactions/asset-config.d.ts +4 -10
  1354. package/transactions/asset-config.js +5 -6
  1355. package/transactions/asset-config.js.map +1 -1
  1356. package/transactions/asset-config.mjs +1 -2
  1357. package/transactions/asset-config.mjs.map +1 -1
  1358. package/transactions/asset-transfer.d.ts +4 -10
  1359. package/transactions/asset-transfer.js +5 -6
  1360. package/transactions/asset-transfer.js.map +1 -1
  1361. package/transactions/asset-transfer.mjs +1 -2
  1362. package/transactions/asset-transfer.mjs.map +1 -1
  1363. package/transactions/common.d.ts +8 -15
  1364. package/transactions/common.js +3 -4
  1365. package/transactions/common.js.map +1 -1
  1366. package/transactions/common.mjs +1 -2
  1367. package/transactions/common.mjs.map +1 -1
  1368. package/transactions/fee-coverage.js +7 -8
  1369. package/transactions/fee-coverage.js.map +1 -1
  1370. package/transactions/fee-coverage.mjs +7 -7
  1371. package/transactions/fee-coverage.mjs.map +1 -1
  1372. package/transactions/key-registration.d.ts +7 -15
  1373. package/transactions/key-registration.js +4 -5
  1374. package/transactions/key-registration.js.map +1 -1
  1375. package/transactions/key-registration.mjs +1 -2
  1376. package/transactions/key-registration.mjs.map +1 -1
  1377. package/transactions/method-call.d.ts +3 -5
  1378. package/transactions/method-call.js +84 -94
  1379. package/transactions/method-call.js.map +1 -1
  1380. package/transactions/method-call.mjs +76 -86
  1381. package/transactions/method-call.mjs.map +1 -1
  1382. package/transactions/payment.d.ts +2 -5
  1383. package/transactions/payment.js +5 -6
  1384. package/transactions/payment.js.map +1 -1
  1385. package/transactions/payment.mjs +1 -2
  1386. package/transactions/payment.mjs.map +1 -1
  1387. package/types/account-manager.d.ts +11 -444
  1388. package/types/account-manager.js +7 -608
  1389. package/types/account-manager.js.map +1 -1
  1390. package/types/account-manager.mjs +6 -606
  1391. package/types/account-manager.mjs.map +1 -1
  1392. package/types/account.d.ts +8 -150
  1393. package/types/account.js +4 -6
  1394. package/types/account.js.map +1 -1
  1395. package/types/account.mjs +4 -5
  1396. package/types/account.mjs.map +1 -1
  1397. package/types/algorand-client-transaction-creator.d.ts +5 -1084
  1398. package/types/algorand-client-transaction-creator.js +4 -723
  1399. package/types/algorand-client-transaction-creator.js.map +1 -1
  1400. package/types/algorand-client-transaction-creator.mjs +4 -722
  1401. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  1402. package/types/algorand-client-transaction-sender.d.ts +5 -1298
  1403. package/types/algorand-client-transaction-sender.js +4 -922
  1404. package/types/algorand-client-transaction-sender.js.map +1 -1
  1405. package/types/algorand-client-transaction-sender.mjs +4 -920
  1406. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  1407. package/types/algorand-client.d.ts +5 -241
  1408. package/types/algorand-client.js +4 -321
  1409. package/types/algorand-client.js.map +1 -1
  1410. package/types/algorand-client.mjs +4 -321
  1411. package/types/algorand-client.mjs.map +1 -1
  1412. package/types/amount.d.ts +6 -45
  1413. package/types/amount.js +4 -62
  1414. package/types/amount.js.map +1 -1
  1415. package/types/amount.mjs +4 -62
  1416. package/types/amount.mjs.map +1 -1
  1417. package/types/app-client.d.ts +75 -2120
  1418. package/types/app-client.js +4 -906
  1419. package/types/app-client.js.map +1 -1
  1420. package/types/app-client.mjs +4 -904
  1421. package/types/app-client.mjs.map +1 -1
  1422. package/types/app-deployer.d.ts +21 -161
  1423. package/types/app-deployer.js +4 -349
  1424. package/types/app-deployer.js.map +1 -1
  1425. package/types/app-deployer.mjs +4 -349
  1426. package/types/app-deployer.mjs.map +1 -1
  1427. package/types/app-factory.d.ts +21 -957
  1428. package/types/app-factory.js +4 -444
  1429. package/types/app-factory.js.map +1 -1
  1430. package/types/app-factory.mjs +4 -444
  1431. package/types/app-factory.mjs.map +1 -1
  1432. package/types/app-manager.d.ts +15 -316
  1433. package/types/app-manager.js +4 -463
  1434. package/types/app-manager.js.map +1 -1
  1435. package/types/app-manager.mjs +4 -463
  1436. package/types/app-manager.mjs.map +1 -1
  1437. package/types/app-spec.d.ts +39 -198
  1438. package/types/app-spec.js +4 -133
  1439. package/types/app-spec.js.map +1 -1
  1440. package/types/app-spec.mjs +4 -133
  1441. package/types/app-spec.mjs.map +1 -1
  1442. package/types/app.d.ts +63 -248
  1443. package/types/app.js +17 -39
  1444. package/types/app.js.map +1 -1
  1445. package/types/app.mjs +16 -38
  1446. package/types/app.mjs.map +1 -1
  1447. package/types/asset-manager.d.ts +9 -207
  1448. package/types/asset-manager.js +4 -162
  1449. package/types/asset-manager.js.map +1 -1
  1450. package/types/asset-manager.mjs +4 -162
  1451. package/types/asset-manager.mjs.map +1 -1
  1452. package/types/async-event-emitter.d.ts +7 -14
  1453. package/types/async-event-emitter.js +4 -34
  1454. package/types/async-event-emitter.js.map +1 -1
  1455. package/types/async-event-emitter.mjs +4 -33
  1456. package/types/async-event-emitter.mjs.map +1 -1
  1457. package/types/client-manager.d.ts +27 -470
  1458. package/types/client-manager.js +4 -612
  1459. package/types/client-manager.js.map +1 -1
  1460. package/types/client-manager.mjs +4 -612
  1461. package/types/client-manager.mjs.map +1 -1
  1462. package/types/composer.d.ts +79 -935
  1463. package/types/composer.js +4 -1568
  1464. package/types/composer.js.map +1 -1
  1465. package/types/composer.mjs +4 -1566
  1466. package/types/composer.mjs.map +1 -1
  1467. package/types/config.d.ts +7 -52
  1468. package/types/config.js +4 -76
  1469. package/types/config.js.map +1 -1
  1470. package/types/config.mjs +4 -76
  1471. package/types/config.mjs.map +1 -1
  1472. package/types/debugging.d.ts +12 -33
  1473. package/types/debugging.js +12 -11
  1474. package/types/debugging.js.map +1 -1
  1475. package/types/debugging.mjs +11 -10
  1476. package/types/debugging.mjs.map +1 -1
  1477. package/types/dispenser-client.d.ts +11 -85
  1478. package/types/dispenser-client.js +4 -123
  1479. package/types/dispenser-client.js.map +1 -1
  1480. package/types/dispenser-client.mjs +4 -123
  1481. package/types/dispenser-client.mjs.map +1 -1
  1482. package/types/expand.d.ts +4 -5
  1483. package/types/indexer.d.ts +16 -36
  1484. package/types/indexer.js +9 -32
  1485. package/types/indexer.js.map +1 -1
  1486. package/types/indexer.mjs +8 -31
  1487. package/types/indexer.mjs.map +1 -1
  1488. package/types/instance-of.d.ts +4 -4
  1489. package/types/kmd-account-manager.d.ts +5 -68
  1490. package/types/kmd-account-manager.js +4 -152
  1491. package/types/kmd-account-manager.js.map +1 -1
  1492. package/types/kmd-account-manager.mjs +4 -150
  1493. package/types/kmd-account-manager.mjs.map +1 -1
  1494. package/types/lifecycle-events.d.ts +7 -10
  1495. package/types/lifecycle-events.js +4 -7
  1496. package/types/lifecycle-events.js.map +1 -1
  1497. package/types/lifecycle-events.mjs +4 -6
  1498. package/types/lifecycle-events.mjs.map +1 -1
  1499. package/types/logging.d.ts +14 -9
  1500. package/types/logging.js +13 -39
  1501. package/types/logging.js.map +1 -1
  1502. package/types/logging.mjs +12 -38
  1503. package/types/logging.mjs.map +1 -1
  1504. package/types/logic-error.d.ts +8 -35
  1505. package/types/logic-error.js +4 -50
  1506. package/types/logic-error.js.map +1 -1
  1507. package/types/logic-error.mjs +4 -49
  1508. package/types/logic-error.mjs.map +1 -1
  1509. package/types/network-client.d.ts +10 -39
  1510. package/types/network-client.js +4 -10
  1511. package/types/network-client.js.map +1 -1
  1512. package/types/network-client.mjs +4 -9
  1513. package/types/network-client.mjs.map +1 -1
  1514. package/types/testing.d.ts +13 -151
  1515. package/types/transaction.d.ts +33 -128
  1516. package/updatable-config.d.ts +57 -0
  1517. package/updatable-config.js +79 -0
  1518. package/updatable-config.js.map +1 -0
  1519. package/updatable-config.mjs +79 -0
  1520. package/updatable-config.mjs.map +1 -0
  1521. package/util.js +2 -3
  1522. package/util.js.map +1 -1
  1523. package/util.mjs +2 -3
  1524. package/util.mjs.map +1 -1
  1525. package/_virtual/rolldown_runtime.mjs +0 -13
  1526. package/indexer-lookup.js.map +0 -1
  1527. package/indexer-lookup.mjs.map +0 -1
  1528. package/packages/algod_client/src/core/model-runtime.d.ts +0 -10
  1529. package/packages/common/src/crypto.js +0 -13
  1530. package/packages/common/src/crypto.js.map +0 -1
  1531. package/packages/common/src/crypto.mjs +0 -11
  1532. package/packages/common/src/crypto.mjs.map +0 -1
  1533. package/packages/indexer_client/src/core/model-runtime.d.ts +0 -10
  1534. package/packages/kmd_client/src/core/model-runtime.d.ts +0 -10
  1535. package/packages/sdk/src/convert.d.ts +0 -17
  1536. package/packages/sdk/src/convert.js +0 -28
  1537. package/packages/sdk/src/convert.js.map +0 -1
  1538. package/packages/sdk/src/convert.mjs +0 -25
  1539. package/packages/sdk/src/convert.mjs.map +0 -1
  1540. package/packages/sdk/src/encoding/binarydata.d.ts +0 -34
  1541. package/packages/sdk/src/encoding/binarydata.js +0 -65
  1542. package/packages/sdk/src/encoding/binarydata.js.map +0 -1
  1543. package/packages/sdk/src/encoding/binarydata.mjs +0 -60
  1544. package/packages/sdk/src/encoding/binarydata.mjs.map +0 -1
  1545. package/packages/sdk/src/encoding/encoding.d.ts +0 -237
  1546. package/packages/sdk/src/encoding/encoding.js +0 -302
  1547. package/packages/sdk/src/encoding/encoding.js.map +0 -1
  1548. package/packages/sdk/src/encoding/encoding.mjs +0 -287
  1549. package/packages/sdk/src/encoding/encoding.mjs.map +0 -1
  1550. package/packages/sdk/src/encoding/schema/array.js +0 -35
  1551. package/packages/sdk/src/encoding/schema/array.js.map +0 -1
  1552. package/packages/sdk/src/encoding/schema/array.mjs +0 -35
  1553. package/packages/sdk/src/encoding/schema/array.mjs.map +0 -1
  1554. package/packages/sdk/src/encoding/schema/bytearray.js +0 -49
  1555. package/packages/sdk/src/encoding/schema/bytearray.js.map +0 -1
  1556. package/packages/sdk/src/encoding/schema/bytearray.mjs +0 -49
  1557. package/packages/sdk/src/encoding/schema/bytearray.mjs.map +0 -1
  1558. package/packages/sdk/src/encoding/schema/map.d.ts +0 -58
  1559. package/packages/sdk/src/encoding/schema/map.js +0 -110
  1560. package/packages/sdk/src/encoding/schema/map.js.map +0 -1
  1561. package/packages/sdk/src/encoding/schema/map.mjs +0 -107
  1562. package/packages/sdk/src/encoding/schema/map.mjs.map +0 -1
  1563. package/packages/sdk/src/encoding/schema/optional.js +0 -46
  1564. package/packages/sdk/src/encoding/schema/optional.js.map +0 -1
  1565. package/packages/sdk/src/encoding/schema/optional.mjs +0 -46
  1566. package/packages/sdk/src/encoding/schema/optional.mjs.map +0 -1
  1567. package/packages/sdk/src/encoding/schema/uint64.js +0 -30
  1568. package/packages/sdk/src/encoding/schema/uint64.js.map +0 -1
  1569. package/packages/sdk/src/encoding/schema/uint64.mjs +0 -30
  1570. package/packages/sdk/src/encoding/schema/uint64.mjs.map +0 -1
  1571. package/packages/sdk/src/encoding/uint64.d.ts +0 -34
  1572. package/packages/sdk/src/encoding/uint64.js +0 -34
  1573. package/packages/sdk/src/encoding/uint64.js.map +0 -1
  1574. package/packages/sdk/src/encoding/uint64.mjs +0 -33
  1575. package/packages/sdk/src/encoding/uint64.mjs.map +0 -1
  1576. package/packages/sdk/src/index.d.ts +0 -44
  1577. package/packages/sdk/src/index.js +0 -62
  1578. package/packages/sdk/src/index.js.map +0 -1
  1579. package/packages/sdk/src/index.mjs +0 -58
  1580. package/packages/sdk/src/index.mjs.map +0 -1
  1581. package/packages/sdk/src/logic/sourcemap.js.map +0 -1
  1582. package/packages/sdk/src/logic/sourcemap.mjs.map +0 -1
  1583. package/packages/sdk/src/nacl/naclWrappers.js +0 -14
  1584. package/packages/sdk/src/nacl/naclWrappers.js.map +0 -1
  1585. package/packages/sdk/src/nacl/naclWrappers.mjs +0 -11
  1586. package/packages/sdk/src/nacl/naclWrappers.mjs.map +0 -1
  1587. package/packages/sdk/src/types/intDecoding.d.ts +0 -28
  1588. package/packages/sdk/src/types/intDecoding.js +0 -32
  1589. package/packages/sdk/src/types/intDecoding.js.map +0 -1
  1590. package/packages/sdk/src/types/intDecoding.mjs +0 -31
  1591. package/packages/sdk/src/types/intDecoding.mjs.map +0 -1
  1592. package/packages/sdk/src/types/transactions/encoded.d.ts +0 -40
  1593. package/packages/sdk/src/types/transactions/encoded.js +0 -64
  1594. package/packages/sdk/src/types/transactions/encoded.js.map +0 -1
  1595. package/packages/sdk/src/types/transactions/encoded.mjs +0 -59
  1596. package/packages/sdk/src/types/transactions/encoded.mjs.map +0 -1
  1597. package/packages/sdk/src/utils/utils.d.ts +0 -64
  1598. package/packages/sdk/src/utils/utils.js +0 -140
  1599. package/packages/sdk/src/utils/utils.js.map +0 -1
  1600. package/packages/sdk/src/utils/utils.mjs +0 -128
  1601. package/packages/sdk/src/utils/utils.mjs.map +0 -1
  1602. package/packages/transact/src/transactions/common.d.ts +0 -37
  1603. package/sdk/index.d.ts +0 -10
  1604. package/sdk/index.js +0 -59
  1605. package/sdk/index.mjs +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"method-call.js","names":["Address","argTypeIsReference","getAddress","argTypeIsTransaction","ABIUintType","encodedArgs: Uint8Array[]","ABITupleType","buildTransactionCommonData","calculateExtraProgramPages","Transaction","TransactionType","OnApplicationComplete","AppManager"],"sources":["../../src/transactions/method-call.ts"],"sourcesContent":["import {\n ABIMethod,\n ABIReferenceType,\n ABITupleType,\n ABIType,\n ABIUintType,\n ABIValue,\n argTypeIsReference,\n argTypeIsTransaction,\n} from '@algorandfoundation/algokit-abi'\nimport { SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport { Address, getAddress } from '@algorandfoundation/algokit-common'\nimport { OnApplicationComplete, Transaction, TransactionSigner, TransactionType } from '@algorandfoundation/algokit-transact'\nimport { TransactionWithSigner } from '../transaction'\nimport { AlgoAmount } from '../types/amount'\nimport { AppManager } from '../types/app-manager'\nimport { Expand } from '../types/expand'\nimport { calculateExtraProgramPages } from '../util'\nimport { AppCreateParams, AppDeleteParams, AppMethodCallParams, AppUpdateParams } from './app-call'\nimport { TransactionCommonData, buildTransactionCommonData } from './common'\n\nconst ARGS_TUPLE_PACKING_THRESHOLD = 14 // 14+ args trigger tuple packing, excluding the method selector\n\n/** Parameters to define an ABI method call create transaction. */\nexport type AppCreateMethodCall = Expand<AppMethodCall<AppCreateParams>>\n/** Parameters to define an ABI method call update transaction. */\nexport type AppUpdateMethodCall = Expand<AppMethodCall<AppUpdateParams>>\n/** Parameters to define an ABI method call delete transaction. */\nexport type AppDeleteMethodCall = Expand<AppMethodCall<AppDeleteParams>>\n/** Parameters to define an ABI method call transaction. */\nexport type AppCallMethodCall = Expand<AppMethodCall<AppMethodCallParams>>\n\nexport type ProcessedAppCreateMethodCall = Expand<\n Omit<AppCreateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppUpdateMethodCall = Expand<\n Omit<AppUpdateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppCallMethodCall = Expand<\n Omit<AppCallMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\n/** Types that can be used to define a transaction argument for an ABI call transaction. */\nexport type AppMethodCallTransactionArgument =\n // The following should match the partial `args` types from `AppMethodCall<T>` below\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n\n/** Parameters to define an ABI method call. */\nexport type AppMethodCall<T> = Expand<Omit<T, 'args'>> & {\n /** The ABI method to call */\n method: ABIMethod\n /** Arguments to the ABI method, either:\n * * An ABI value\n * * A transaction with explicit signer\n * * A transaction (where the signer will be automatically assigned)\n * * An unawaited transaction (e.g. from algorand.createTransaction.{transactionType}())\n * * Another method call (via method call params object)\n * * undefined (this represents a placeholder transaction argument that is fulfilled by another method call argument)\n */\n args?: (\n | ABIValue\n // The following should match the above `AppMethodCallTransactionArgument` type above\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n | undefined\n )[]\n}\n\ntype AppMethodCallArgs = AppMethodCall<unknown>['args']\ntype AppMethodCallArg = NonNullable<AppMethodCallArgs>[number]\n\nexport type AsyncTransactionParams = {\n txn: Promise<Transaction>\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\nexport type TransactionParams = {\n txn: Transaction\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\ntype ExtractedMethodCallTransactionArg =\n | { data: TransactionParams; type: 'txn' }\n | {\n data: AsyncTransactionParams\n type: 'asyncTxn'\n }\n | { data: ProcessedAppCallMethodCall | ProcessedAppCreateMethodCall | ProcessedAppUpdateMethodCall; type: 'methodCall' }\n\nexport function extractComposerTransactionsFromAppMethodCallParams(\n params: AppCallMethodCall | AppCreateMethodCall | AppUpdateMethodCall | AppDeleteMethodCall,\n parentSigner?: TransactionSigner,\n): ExtractedMethodCallTransactionArg[] {\n const composerTransactions = new Array<ExtractedMethodCallTransactionArg>()\n const methodCallArgs = params.args\n if (!methodCallArgs) return []\n\n // Extract signer from params, falling back to parentSigner\n const currentSigner = params.signer ? ('signer' in params.signer ? params.signer.signer : params.signer) : parentSigner\n\n for (let i = 0; i < methodCallArgs.length; i++) {\n const arg = methodCallArgs[i]\n\n if (arg === undefined) {\n // is a transaction or default value placeholder, do nothing\n continue\n }\n if (isAbiValue(arg)) {\n // if is ABI value, also ignore\n continue\n }\n\n if (isTransactionWithSignerArg(arg)) {\n composerTransactions.push({\n data: {\n txn: arg.txn,\n signer: arg.signer,\n },\n type: 'txn',\n })\n\n continue\n }\n if (isAppCallMethodCallArg(arg)) {\n // Recursively extract nested method call transactions, passing the nested call itself and current signer as parent\n const nestedComposerTransactions = extractComposerTransactionsFromAppMethodCallParams(arg, currentSigner)\n composerTransactions.push(...nestedComposerTransactions)\n composerTransactions.push({\n data: {\n ...arg,\n signer: arg.signer ?? currentSigner,\n args: processAppMethodCallArgs(arg.args),\n },\n type: 'methodCall',\n } satisfies ExtractedMethodCallTransactionArg)\n\n continue\n }\n if (arg instanceof Promise) {\n composerTransactions.push({\n data: {\n txn: arg,\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n continue\n }\n\n composerTransactions.push({\n data: {\n txn: Promise.resolve(arg),\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n }\n\n return composerTransactions\n}\n\nexport function processAppMethodCallArgs(args: AppMethodCallArg[] | undefined): (ABIValue | undefined)[] | undefined {\n if (args === undefined) return undefined\n\n return args.map((arg) => {\n if (arg === undefined) {\n // Handle explicit placeholders (either transaction or default value)\n return undefined\n } else if (!isAbiValue(arg)) {\n // If the arg is not an ABIValue, it's must be a transaction, set to undefined\n // transaction arguments should be flattened out and added into the composer during the add process\n return undefined\n }\n return arg\n })\n}\n\nfunction isTransactionWithSignerArg(arg: AppMethodCallArg): arg is TransactionWithSigner {\n return typeof arg === 'object' && arg !== undefined && 'txn' in arg && 'signer' in arg\n}\n\nfunction isAppCallMethodCallArg(\n arg: AppMethodCallArg,\n): arg is AppMethodCall<AppCreateParams> | AppMethodCall<AppUpdateParams> | AppMethodCall<AppMethodCallParams> {\n return typeof arg === 'object' && arg !== undefined && 'method' in arg\n}\n\nconst isAbiValue = (x: unknown): x is ABIValue => {\n if (Array.isArray(x)) return x.length == 0 || x.every(isAbiValue)\n\n // If x is a POJO literal\n if (Object.getPrototypeOf(x) === Object.getPrototypeOf({})) {\n return Object.values(x as object).every(isAbiValue)\n }\n\n return (\n typeof x === 'bigint' ||\n typeof x === 'boolean' ||\n typeof x === 'number' ||\n typeof x === 'string' ||\n x instanceof Uint8Array ||\n x instanceof Address\n )\n}\n\n/**\n * Populate reference arrays from processed ABI method call arguments\n */\nfunction populateMethodArgsIntoReferenceArrays(\n sender: Address,\n appId: bigint,\n method: ABIMethod,\n methodArgs: AppMethodCallArg[],\n accountReferences?: Address[],\n appReferences?: bigint[],\n assetReferences?: bigint[],\n): { accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[] } {\n const accounts = [...(accountReferences ?? [])]\n const assets = [...(assetReferences ?? [])]\n const apps = [...(appReferences ?? [])]\n\n methodArgs.forEach((arg, i) => {\n const argType = method.args[i].type\n if (argTypeIsReference(argType)) {\n switch (argType) {\n case 'account':\n if (typeof arg === 'string' && arg !== sender.toString() && !accounts.some((a) => a.toString() === arg)) {\n accounts.push(getAddress(arg))\n }\n break\n case 'asset':\n if (typeof arg === 'bigint' && !assets.includes(arg)) {\n assets.push(arg)\n }\n break\n case 'application':\n if (typeof arg === 'bigint' && arg !== appId && !apps.includes(arg)) {\n apps.push(arg)\n }\n break\n }\n }\n })\n\n return { accountReferences: accounts, appReferences: apps, assetReferences: assets }\n}\n\n/**\n * Calculate array index for ABI reference values\n */\nfunction calculateMethodArgReferenceArrayIndex(\n refValue: string | bigint,\n referenceType: ABIReferenceType,\n sender: Address,\n appId: bigint,\n accountReferences: Address[],\n appReferences: bigint[],\n assetReferences: bigint[],\n): number {\n switch (referenceType) {\n case 'account':\n if (typeof refValue === 'string') {\n // If address is the same as sender, use index 0\n if (refValue === sender.toString()) return 0\n const index = accountReferences.findIndex((a) => a.toString() === refValue)\n if (index === -1) throw new Error(`Account ${refValue} not found in reference array`)\n return index + 1\n }\n throw new Error('Account reference must be a string')\n case 'asset':\n if (typeof refValue === 'bigint') {\n const index = assetReferences.indexOf(refValue)\n if (index === -1) throw new Error(`Asset ${refValue} not found in reference array`)\n return index\n }\n throw new Error('Asset reference must be a bigint')\n case 'application':\n if (typeof refValue === 'bigint') {\n // If app ID is the same as the current app, use index 0\n if (refValue === appId) return 0\n const index = appReferences.indexOf(refValue)\n if (index === -1) throw new Error(`Application ${refValue} not found in reference array`)\n return index + 1\n }\n throw new Error('Application reference must be a bigint')\n default:\n throw new Error(`Unknown reference type: ${referenceType}`)\n }\n}\n\n/**\n * Encode ABI method arguments with tuple packing support\n * Ports the logic from the Rust encode_method_arguments function\n */\nfunction encodeMethodArguments(\n method: ABIMethod,\n args: (ABIValue | undefined)[],\n sender: Address,\n appId: bigint,\n accountReferences: Address[],\n appReferences: bigint[],\n assetReferences: bigint[],\n): Uint8Array[] {\n const encodedArgs = new Array<Uint8Array>()\n\n // Insert method selector at the front\n encodedArgs.push(method.getSelector())\n\n // Get ABI types for non-transaction arguments\n const abiTypes = new Array<ABIType>()\n const abiValues = new Array<ABIValue>()\n\n // Process each method argument\n for (let i = 0; i < method.args.length; i++) {\n const methodArg = method.args[i]\n const argValue = args[i]\n\n if (argTypeIsTransaction(methodArg.type)) {\n // Transaction arguments are not ABI encoded - they're handled separately\n } else if (argTypeIsReference(methodArg.type)) {\n // Reference types are encoded as uint8 indexes\n const referenceType = methodArg.type\n if (typeof argValue === 'string' || typeof argValue === 'bigint') {\n const foreignIndex = calculateMethodArgReferenceArrayIndex(\n argValue,\n referenceType,\n sender,\n appId,\n accountReferences,\n appReferences,\n assetReferences,\n )\n\n abiTypes.push(new ABIUintType(8))\n abiValues.push(foreignIndex)\n } else {\n throw new Error(`Invalid reference value for ${referenceType}: ${argValue}`)\n }\n } else if (argValue !== undefined) {\n // Regular ABI value\n abiTypes.push(methodArg.type)\n // it's safe to cast to ABIValue here because the abiType must be ABIValue\n abiValues.push(argValue as ABIValue)\n }\n\n // Skip undefined values (transaction placeholders)\n }\n\n if (abiValues.length !== abiTypes.length) {\n throw new Error('Mismatch in length of non-transaction arguments')\n }\n\n // Apply ARC-4 tuple packing for methods with more than 14 arguments\n // 14 instead of 15 in the ARC-4 because the first argument (method selector) is added separately\n if (abiTypes.length > ARGS_TUPLE_PACKING_THRESHOLD) {\n encodedArgs.push(...encodeArgsWithTuplePacking(abiTypes, abiValues))\n } else {\n encodedArgs.push(...encodeArgsIndividually(abiTypes, abiValues))\n }\n\n return encodedArgs\n}\n\n/**\n * Encode individual ABI values\n */\nfunction encodeArgsIndividually(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n for (let i = 0; i < abiTypes.length; i++) {\n const abiType = abiTypes[i]\n const abiValue = abiValues[i]\n const encoded = abiType.encode(abiValue)\n encodedArgs.push(encoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Encode ABI values with tuple packing for methods with many arguments\n */\nfunction encodeArgsWithTuplePacking(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n // Encode first 14 arguments individually\n const first14AbiTypes = abiTypes.slice(0, ARGS_TUPLE_PACKING_THRESHOLD)\n const first14AbiValues = abiValues.slice(0, ARGS_TUPLE_PACKING_THRESHOLD)\n encodedArgs.push(...encodeArgsIndividually(first14AbiTypes, first14AbiValues))\n\n // Pack remaining arguments into tuple at position 15\n const remainingAbiTypes = abiTypes.slice(ARGS_TUPLE_PACKING_THRESHOLD)\n const remainingAbiValues = abiValues.slice(ARGS_TUPLE_PACKING_THRESHOLD)\n\n if (remainingAbiTypes.length > 0) {\n const tupleType = new ABITupleType(remainingAbiTypes)\n const tupleValue = remainingAbiValues\n const tupleEncoded = tupleType.encode(tupleValue)\n encodedArgs.push(tupleEncoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Common method call building logic\n */\nfunction buildMethodCallCommon(\n params: {\n appId: bigint\n method: ABIMethod\n args: (ABIValue | undefined)[]\n accountReferences?: Address[]\n appReferences?: bigint[]\n assetReferences?: bigint[]\n },\n commonData: TransactionCommonData,\n): { args: Uint8Array[]; accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[] } {\n const { accountReferences, appReferences, assetReferences } = populateMethodArgsIntoReferenceArrays(\n commonData.sender,\n params.appId,\n params.method,\n params.args ?? [],\n params.accountReferences,\n params.appReferences,\n params.assetReferences,\n )\n\n const encodedArgs = encodeMethodArguments(\n params.method,\n params.args,\n commonData.sender,\n params.appId,\n accountReferences,\n appReferences,\n assetReferences,\n )\n\n return {\n args: encodedArgs,\n accountReferences,\n appReferences,\n assetReferences,\n }\n}\n\nexport const buildAppCreateMethodCall = async (\n params: ProcessedAppCreateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const globalStateSchema =\n params.schema?.globalByteSlices !== undefined || params.schema?.globalInts !== undefined\n ? {\n numByteSlices: params.schema?.globalByteSlices ?? 0,\n numUints: params.schema?.globalInts ?? 0,\n }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? {\n numByteSlices: params.schema?.localByteSlices ?? 0,\n numUints: params.schema?.localInts ?? 0,\n }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const common = buildMethodCallCommon(\n {\n appId: 0n,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n },\n commonData,\n )\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: 0n,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: common.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: common.accountReferences,\n appReferences: common.appReferences,\n assetReferences: common.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdateMethodCall = async (\n params: ProcessedAppUpdateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const common = buildMethodCallCommon(\n {\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n },\n commonData,\n )\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: OnApplicationComplete.UpdateApplication,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n args: common.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: common.accountReferences,\n appReferences: common.appReferences,\n assetReferences: common.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCallMethodCall = async (\n params: ProcessedAppCallMethodCall,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const common = buildMethodCallCommon(\n {\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n },\n commonData,\n )\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n args: common.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: common.accountReferences,\n appReferences: common.appReferences,\n assetReferences: common.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"method-call.js","names":["Address","argTypeIsReference","getAddress","argTypeIsTransaction","ABIUintType","ABITupleType","buildTransactionCommonData","calculateExtraProgramPages","Transaction","TransactionType","OnApplicationComplete","AppManager"],"sources":["../../src/transactions/method-call.ts"],"sourcesContent":["import {\n ABIMethod,\n ABITupleType,\n ABIType,\n ABIUintType,\n ABIValue,\n argTypeIsReference,\n argTypeIsTransaction,\n} from '@algorandfoundation/algokit-abi'\nimport { SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport { Address, Expand, getAddress } from '@algorandfoundation/algokit-common'\nimport { OnApplicationComplete, Transaction, TransactionSigner, TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgoAmount } from '../amount'\nimport { AppManager } from '../app-manager'\nimport { TransactionWithSigner } from '../transaction'\nimport { calculateExtraProgramPages } from '../util'\nimport { AppCreateParams, AppDeleteParams, AppMethodCallParams, AppUpdateParams } from './app-call'\nimport { buildTransactionCommonData } from './common'\n\nconst ARGS_TUPLE_PACKING_THRESHOLD = 15 // ARC-4 allows 15 ABI args (slots 1-15) before tuple packing is needed\n\n/** Parameters to define an ABI method call create transaction. */\nexport type AppCreateMethodCall = Expand<AppMethodCall<AppCreateParams>>\n/** Parameters to define an ABI method call update transaction. */\nexport type AppUpdateMethodCall = Expand<AppMethodCall<AppUpdateParams>>\n/** Parameters to define an ABI method call delete transaction. */\nexport type AppDeleteMethodCall = Expand<AppMethodCall<AppDeleteParams>>\n/** Parameters to define an ABI method call transaction. */\nexport type AppCallMethodCall = Expand<AppMethodCall<AppMethodCallParams>>\n\nexport type ProcessedAppCreateMethodCall = Expand<\n Omit<AppCreateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppUpdateMethodCall = Expand<\n Omit<AppUpdateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppCallMethodCall = Expand<\n Omit<AppCallMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\n/** Types that can be used to define a transaction argument for an ABI call transaction. */\nexport type AppMethodCallTransactionArgument =\n // The following should match the partial `args` types from `AppMethodCall<T>` below\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n\n/** Parameters to define an ABI method call. */\nexport type AppMethodCall<T> = Expand<Omit<T, 'args'>> & {\n /** The ABI method to call */\n method: ABIMethod\n /** Arguments to the ABI method, either:\n * * An ABI value\n * * A transaction with explicit signer\n * * A transaction (where the signer will be automatically assigned)\n * * An unawaited transaction (e.g. from algorand.createTransaction.{transactionType}())\n * * Another method call (via method call params object)\n * * undefined (this represents a placeholder transaction argument that is fulfilled by another method call argument)\n */\n args?: (\n | ABIValue\n // The following should match the above `AppMethodCallTransactionArgument` type above\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n | undefined\n )[]\n}\n\ntype AppMethodCallArgs = AppMethodCall<unknown>['args']\ntype AppMethodCallArg = NonNullable<AppMethodCallArgs>[number]\n\nexport type AsyncTransactionParams = {\n txn: Promise<Transaction>\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\nexport type TransactionParams = {\n txn: Transaction\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\ntype ExtractedMethodCallTransactionArg =\n | { data: TransactionParams; type: 'txn' }\n | {\n data: AsyncTransactionParams\n type: 'asyncTxn'\n }\n | { data: ProcessedAppCallMethodCall | ProcessedAppCreateMethodCall | ProcessedAppUpdateMethodCall; type: 'methodCall' }\n\nexport function extractComposerTransactionsFromAppMethodCallParams(\n params: AppCallMethodCall | AppCreateMethodCall | AppUpdateMethodCall | AppDeleteMethodCall,\n parentSigner?: TransactionSigner,\n): ExtractedMethodCallTransactionArg[] {\n const composerTransactions = new Array<ExtractedMethodCallTransactionArg>()\n const methodCallArgs = params.args\n if (!methodCallArgs) return []\n\n // Extract signer from params, falling back to parentSigner\n const currentSigner = params.signer ? ('signer' in params.signer ? params.signer.signer : params.signer) : parentSigner\n\n for (let i = 0; i < methodCallArgs.length; i++) {\n const arg = methodCallArgs[i]\n\n if (arg === undefined) {\n // is a transaction or default value placeholder, do nothing\n continue\n }\n if (isAbiValue(arg)) {\n // if is ABI value, also ignore\n continue\n }\n\n if (isTransactionWithSignerArg(arg)) {\n composerTransactions.push({\n data: {\n txn: arg.txn,\n signer: arg.signer,\n },\n type: 'txn',\n })\n\n continue\n }\n if (isAppCallMethodCallArg(arg)) {\n // Recursively extract nested method call transactions, passing the nested call itself and current signer as parent\n const nestedComposerTransactions = extractComposerTransactionsFromAppMethodCallParams(arg, currentSigner)\n composerTransactions.push(...nestedComposerTransactions)\n composerTransactions.push({\n data: {\n ...arg,\n signer: arg.signer ?? currentSigner,\n args: processAppMethodCallArgs(arg.args),\n },\n type: 'methodCall',\n } satisfies ExtractedMethodCallTransactionArg)\n\n continue\n }\n if (arg instanceof Promise) {\n composerTransactions.push({\n data: {\n txn: arg,\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n continue\n }\n\n composerTransactions.push({\n data: {\n txn: Promise.resolve(arg),\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n }\n\n return composerTransactions\n}\n\nexport function processAppMethodCallArgs(args: AppMethodCallArg[] | undefined): (ABIValue | undefined)[] | undefined {\n if (args === undefined) return undefined\n\n return args.map((arg) => {\n if (arg === undefined) {\n // Handle explicit placeholders (either transaction or default value)\n return undefined\n } else if (!isAbiValue(arg)) {\n // If the arg is not an ABIValue, it's must be a transaction, set to undefined\n // transaction arguments should be flattened out and added into the composer during the add process\n return undefined\n }\n return arg\n })\n}\n\nfunction isTransactionWithSignerArg(arg: AppMethodCallArg): arg is TransactionWithSigner {\n return typeof arg === 'object' && arg !== undefined && 'txn' in arg && 'signer' in arg\n}\n\nfunction isAppCallMethodCallArg(\n arg: AppMethodCallArg,\n): arg is AppMethodCall<AppCreateParams> | AppMethodCall<AppUpdateParams> | AppMethodCall<AppMethodCallParams> {\n return typeof arg === 'object' && arg !== undefined && 'method' in arg\n}\n\nconst isAbiValue = (x: unknown): x is ABIValue => {\n if (Array.isArray(x)) return x.length == 0 || x.every(isAbiValue)\n\n // If x is a POJO literal\n if (Object.getPrototypeOf(x) === Object.getPrototypeOf({})) {\n return Object.values(x as object).every(isAbiValue)\n }\n\n return (\n typeof x === 'bigint' ||\n typeof x === 'boolean' ||\n typeof x === 'number' ||\n typeof x === 'string' ||\n x instanceof Uint8Array ||\n x instanceof Address\n )\n}\n\n/**\n * Prepares method arguments for ABI encoding by building reference arrays and\n * replacing reference-type arguments (account, asset, application) with their indices.\n */\nfunction prepareArgsForEncoding(\n sender: Address,\n appId: bigint,\n method: ABIMethod,\n methodArgs: (ABIValue | undefined)[],\n accountReferences?: Address[],\n appReferences?: bigint[],\n assetReferences?: bigint[],\n): { accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[]; updatedArgs: (ABIValue | undefined)[] } {\n const accounts = [...(accountReferences ?? [])]\n const assets = [...(assetReferences ?? [])]\n const apps = [...(appReferences ?? [])]\n\n const updatedArgs = methodArgs.map((arg, i) => {\n const argType = method.args[i].type\n if (!argTypeIsReference(argType)) {\n return arg\n }\n switch (argType) {\n case 'account': {\n let addr: Address\n if (typeof arg === 'string') {\n addr = getAddress(arg)\n } else if (arg instanceof Uint8Array) {\n addr = new Address(arg)\n } else {\n throw new Error('Invalid value for account')\n }\n\n if (sender.equals(addr)) {\n return 0\n }\n\n const existing = accounts.findIndex((a) => a.equals(addr)) + 1\n if (existing) return existing\n\n accounts.push(addr)\n return accounts.length\n }\n case 'asset': {\n if (typeof arg !== 'bigint') {\n throw new Error('Invalid value for asset')\n }\n\n const existing = assets.findIndex((a) => a === arg)\n if (existing === -1) {\n assets.push(arg)\n return assets.length - 1\n }\n\n return existing\n }\n case 'application': {\n if (typeof arg !== 'bigint') {\n throw new Error('Invalid value for application')\n }\n\n if (arg === appId) return 0\n\n const existing = apps.findIndex((a) => a === arg) + 1\n if (existing) return existing\n\n apps.push(arg)\n return apps.length\n }\n }\n })\n\n return { accountReferences: accounts, appReferences: apps, assetReferences: assets, updatedArgs }\n}\n\n/**\n * Encode ABI method arguments with tuple packing support\n * Ports the logic from the Rust encode_method_arguments function\n */\nfunction encodeMethodArguments(method: ABIMethod, args: (ABIValue | undefined)[]): Uint8Array[] {\n const encodedArgs = new Array<Uint8Array>()\n\n // Insert method selector at the front\n encodedArgs.push(method.getSelector())\n\n // Get ABI types for non-transaction arguments\n const abiTypes = new Array<ABIType>()\n const abiValues = new Array<ABIValue>()\n\n // Process each method argument\n for (let i = 0; i < method.args.length; i++) {\n const methodArg = method.args[i]\n const argValue = args[i]\n\n if (argTypeIsTransaction(methodArg.type)) {\n // Transaction arguments are not ABI encoded - they're handled separately\n } else if (argTypeIsReference(methodArg.type)) {\n // Reference types are encoded as uint8 indexes\n const referenceType = methodArg.type\n if (typeof argValue === 'number') {\n abiTypes.push(new ABIUintType(8))\n abiValues.push(argValue)\n } else {\n throw new Error(`Invalid reference value for ${referenceType}: ${argValue}`)\n }\n } else if (argValue !== undefined) {\n // Regular ABI value\n abiTypes.push(methodArg.type)\n // it's safe to cast to ABIValue here because the abiType must be ABIValue\n abiValues.push(argValue as ABIValue)\n }\n\n // Skip undefined values (transaction placeholders)\n }\n\n if (abiValues.length !== abiTypes.length) {\n throw new Error('Mismatch in length of non-transaction arguments')\n }\n\n // Apply ARC-4 tuple packing for methods with more than 15 ABI arguments\n // Algorand allows 16 app args total; slot 0 is the method selector, leaving 15 for ABI args\n if (abiTypes.length > ARGS_TUPLE_PACKING_THRESHOLD) {\n encodedArgs.push(...encodeArgsWithTuplePacking(abiTypes, abiValues))\n } else {\n encodedArgs.push(...encodeArgsIndividually(abiTypes, abiValues))\n }\n\n return encodedArgs\n}\n\n/**\n * Encode individual ABI values\n */\nfunction encodeArgsIndividually(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n for (let i = 0; i < abiTypes.length; i++) {\n const abiType = abiTypes[i]\n const abiValue = abiValues[i]\n const encoded = abiType.encode(abiValue)\n encodedArgs.push(encoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Encode ABI values with tuple packing for methods with many arguments\n */\nfunction encodeArgsWithTuplePacking(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n // When packing is needed (> 15 args), we split at 14 to leave one slot for the packed tuple\n // This gives us: 1 (selector) + 14 (individual) + 1 (packed tuple) = 16 total app args\n const splitAt = ARGS_TUPLE_PACKING_THRESHOLD - 1\n const firstAbiTypes = abiTypes.slice(0, splitAt)\n const firstAbiValues = abiValues.slice(0, splitAt)\n encodedArgs.push(...encodeArgsIndividually(firstAbiTypes, firstAbiValues))\n\n // Pack remaining arguments into a tuple\n const remainingAbiTypes = abiTypes.slice(splitAt)\n const remainingAbiValues = abiValues.slice(splitAt)\n\n if (remainingAbiTypes.length > 0) {\n const tupleType = new ABITupleType(remainingAbiTypes)\n const tupleValue = remainingAbiValues\n const tupleEncoded = tupleType.encode(tupleValue)\n encodedArgs.push(tupleEncoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Builds encoded ABI method arguments and resolves reference arrays\n */\nfunction buildMethodCallArgsAndReferences(params: {\n sender: Address\n appId: bigint\n method: ABIMethod\n args: (ABIValue | undefined)[]\n accountReferences?: Address[]\n appReferences?: bigint[]\n assetReferences?: bigint[]\n}): { args: Uint8Array[]; accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[] } {\n const { accountReferences, appReferences, assetReferences, updatedArgs } = prepareArgsForEncoding(\n params.sender,\n params.appId,\n params.method,\n params.args ?? [],\n params.accountReferences,\n params.appReferences,\n params.assetReferences,\n )\n\n const encodedArgs = encodeMethodArguments(params.method, updatedArgs)\n\n return {\n args: encodedArgs,\n accountReferences,\n appReferences,\n assetReferences,\n }\n}\n\nexport const buildAppCreateMethodCall = async (\n params: ProcessedAppCreateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const globalStateSchema =\n params.schema?.globalByteSlices !== undefined || params.schema?.globalInts !== undefined\n ? {\n numByteSlices: params.schema?.globalByteSlices ?? 0,\n numUints: params.schema?.globalInts ?? 0,\n }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? {\n numByteSlices: params.schema?.localByteSlices ?? 0,\n numUints: params.schema?.localInts ?? 0,\n }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const argsAndReferences = buildMethodCallArgsAndReferences({\n sender: commonData.sender,\n appId: 0n,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n })\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: 0n,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: argsAndReferences.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: argsAndReferences.accountReferences,\n appReferences: argsAndReferences.appReferences,\n assetReferences: argsAndReferences.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdateMethodCall = async (\n params: ProcessedAppUpdateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const argsAndReferences = buildMethodCallArgsAndReferences({\n sender: commonData.sender,\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n })\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: OnApplicationComplete.UpdateApplication,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n args: argsAndReferences.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: argsAndReferences.accountReferences,\n appReferences: argsAndReferences.appReferences,\n assetReferences: argsAndReferences.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCallMethodCall = async (\n params: ProcessedAppCallMethodCall,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const argsAndReferences = buildMethodCallArgsAndReferences({\n sender: commonData.sender,\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n })\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n args: argsAndReferences.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: argsAndReferences.accountReferences,\n appReferences: argsAndReferences.appReferences,\n assetReferences: argsAndReferences.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n"],"mappings":"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"}
@@ -3,13 +3,12 @@ import { OnApplicationComplete } from "../packages/transact/src/transactions/app
3
3
  import { TransactionType } from "../packages/transact/src/transactions/transaction-type.mjs";
4
4
  import { Transaction } from "../packages/transact/src/transactions/transaction.mjs";
5
5
  import { calculateExtraProgramPages } from "../util.mjs";
6
- import { AppManager } from "../types/app-manager.mjs";
6
+ import { AppManager } from "../app-manager.mjs";
7
7
  import { buildTransactionCommonData } from "./common.mjs";
8
8
  import { ABITupleType, ABIUintType } from "../packages/abi/src/abi-type.mjs";
9
9
  import { argTypeIsReference, argTypeIsTransaction } from "../packages/abi/src/abi-method.mjs";
10
-
11
10
  //#region src/transactions/method-call.ts
12
- const ARGS_TUPLE_PACKING_THRESHOLD = 14;
11
+ const ARGS_TUPLE_PACKING_THRESHOLD = 15;
13
12
  function extractComposerTransactionsFromAppMethodCallParams(params, parentSigner) {
14
13
  const composerTransactions = new Array();
15
14
  const methodCallArgs = params.args;
@@ -82,68 +81,58 @@ const isAbiValue = (x) => {
82
81
  return typeof x === "bigint" || typeof x === "boolean" || typeof x === "number" || typeof x === "string" || x instanceof Uint8Array || x instanceof Address;
83
82
  };
84
83
  /**
85
- * Populate reference arrays from processed ABI method call arguments
84
+ * Prepares method arguments for ABI encoding by building reference arrays and
85
+ * replacing reference-type arguments (account, asset, application) with their indices.
86
86
  */
87
- function populateMethodArgsIntoReferenceArrays(sender, appId, method, methodArgs, accountReferences, appReferences, assetReferences) {
87
+ function prepareArgsForEncoding(sender, appId, method, methodArgs, accountReferences, appReferences, assetReferences) {
88
88
  const accounts = [...accountReferences ?? []];
89
89
  const assets = [...assetReferences ?? []];
90
90
  const apps = [...appReferences ?? []];
91
- methodArgs.forEach((arg, i) => {
92
- const argType = method.args[i].type;
93
- if (argTypeIsReference(argType)) switch (argType) {
94
- case "account":
95
- if (typeof arg === "string" && arg !== sender.toString() && !accounts.some((a) => a.toString() === arg)) accounts.push(getAddress(arg));
96
- break;
97
- case "asset":
98
- if (typeof arg === "bigint" && !assets.includes(arg)) assets.push(arg);
99
- break;
100
- case "application":
101
- if (typeof arg === "bigint" && arg !== appId && !apps.includes(arg)) apps.push(arg);
102
- break;
103
- }
104
- });
105
91
  return {
106
92
  accountReferences: accounts,
107
93
  appReferences: apps,
108
- assetReferences: assets
109
- };
110
- }
111
- /**
112
- * Calculate array index for ABI reference values
113
- */
114
- function calculateMethodArgReferenceArrayIndex(refValue, referenceType, sender, appId, accountReferences, appReferences, assetReferences) {
115
- switch (referenceType) {
116
- case "account":
117
- if (typeof refValue === "string") {
118
- if (refValue === sender.toString()) return 0;
119
- const index = accountReferences.findIndex((a) => a.toString() === refValue);
120
- if (index === -1) throw new Error(`Account ${refValue} not found in reference array`);
121
- return index + 1;
122
- }
123
- throw new Error("Account reference must be a string");
124
- case "asset":
125
- if (typeof refValue === "bigint") {
126
- const index = assetReferences.indexOf(refValue);
127
- if (index === -1) throw new Error(`Asset ${refValue} not found in reference array`);
128
- return index;
94
+ assetReferences: assets,
95
+ updatedArgs: methodArgs.map((arg, i) => {
96
+ const argType = method.args[i].type;
97
+ if (!argTypeIsReference(argType)) return arg;
98
+ switch (argType) {
99
+ case "account": {
100
+ let addr;
101
+ if (typeof arg === "string") addr = getAddress(arg);
102
+ else if (arg instanceof Uint8Array) addr = new Address(arg);
103
+ else throw new Error("Invalid value for account");
104
+ if (sender.equals(addr)) return 0;
105
+ const existing = accounts.findIndex((a) => a.equals(addr)) + 1;
106
+ if (existing) return existing;
107
+ accounts.push(addr);
108
+ return accounts.length;
109
+ }
110
+ case "asset": {
111
+ if (typeof arg !== "bigint") throw new Error("Invalid value for asset");
112
+ const existing = assets.findIndex((a) => a === arg);
113
+ if (existing === -1) {
114
+ assets.push(arg);
115
+ return assets.length - 1;
116
+ }
117
+ return existing;
118
+ }
119
+ case "application": {
120
+ if (typeof arg !== "bigint") throw new Error("Invalid value for application");
121
+ if (arg === appId) return 0;
122
+ const existing = apps.findIndex((a) => a === arg) + 1;
123
+ if (existing) return existing;
124
+ apps.push(arg);
125
+ return apps.length;
126
+ }
129
127
  }
130
- throw new Error("Asset reference must be a bigint");
131
- case "application":
132
- if (typeof refValue === "bigint") {
133
- if (refValue === appId) return 0;
134
- const index = appReferences.indexOf(refValue);
135
- if (index === -1) throw new Error(`Application ${refValue} not found in reference array`);
136
- return index + 1;
137
- }
138
- throw new Error("Application reference must be a bigint");
139
- default: throw new Error(`Unknown reference type: ${referenceType}`);
140
- }
128
+ })
129
+ };
141
130
  }
142
131
  /**
143
132
  * Encode ABI method arguments with tuple packing support
144
133
  * Ports the logic from the Rust encode_method_arguments function
145
134
  */
146
- function encodeMethodArguments(method, args, sender, appId, accountReferences, appReferences, assetReferences) {
135
+ function encodeMethodArguments(method, args) {
147
136
  const encodedArgs = new Array();
148
137
  encodedArgs.push(method.getSelector());
149
138
  const abiTypes = new Array();
@@ -153,10 +142,9 @@ function encodeMethodArguments(method, args, sender, appId, accountReferences, a
153
142
  const argValue = args[i];
154
143
  if (argTypeIsTransaction(methodArg.type)) {} else if (argTypeIsReference(methodArg.type)) {
155
144
  const referenceType = methodArg.type;
156
- if (typeof argValue === "string" || typeof argValue === "bigint") {
157
- const foreignIndex = calculateMethodArgReferenceArrayIndex(argValue, referenceType, sender, appId, accountReferences, appReferences, assetReferences);
145
+ if (typeof argValue === "number") {
158
146
  abiTypes.push(new ABIUintType(8));
159
- abiValues.push(foreignIndex);
147
+ abiValues.push(argValue);
160
148
  } else throw new Error(`Invalid reference value for ${referenceType}: ${argValue}`);
161
149
  } else if (argValue !== void 0) {
162
150
  abiTypes.push(methodArg.type);
@@ -174,9 +162,7 @@ function encodeMethodArguments(method, args, sender, appId, accountReferences, a
174
162
  function encodeArgsIndividually(abiTypes, abiValues) {
175
163
  const encodedArgs = [];
176
164
  for (let i = 0; i < abiTypes.length; i++) {
177
- const abiType = abiTypes[i];
178
- const abiValue = abiValues[i];
179
- const encoded = abiType.encode(abiValue);
165
+ const encoded = abiTypes[i].encode(abiValues[i]);
180
166
  encodedArgs.push(encoded);
181
167
  }
182
168
  return encodedArgs;
@@ -186,11 +172,12 @@ function encodeArgsIndividually(abiTypes, abiValues) {
186
172
  */
187
173
  function encodeArgsWithTuplePacking(abiTypes, abiValues) {
188
174
  const encodedArgs = [];
189
- const first14AbiTypes = abiTypes.slice(0, ARGS_TUPLE_PACKING_THRESHOLD);
190
- const first14AbiValues = abiValues.slice(0, ARGS_TUPLE_PACKING_THRESHOLD);
191
- encodedArgs.push(...encodeArgsIndividually(first14AbiTypes, first14AbiValues));
192
- const remainingAbiTypes = abiTypes.slice(ARGS_TUPLE_PACKING_THRESHOLD);
193
- const remainingAbiValues = abiValues.slice(ARGS_TUPLE_PACKING_THRESHOLD);
175
+ const splitAt = ARGS_TUPLE_PACKING_THRESHOLD - 1;
176
+ const firstAbiTypes = abiTypes.slice(0, splitAt);
177
+ const firstAbiValues = abiValues.slice(0, splitAt);
178
+ encodedArgs.push(...encodeArgsIndividually(firstAbiTypes, firstAbiValues));
179
+ const remainingAbiTypes = abiTypes.slice(splitAt);
180
+ const remainingAbiValues = abiValues.slice(splitAt);
194
181
  if (remainingAbiTypes.length > 0) {
195
182
  const tupleEncoded = new ABITupleType(remainingAbiTypes).encode(remainingAbiValues);
196
183
  encodedArgs.push(tupleEncoded);
@@ -198,12 +185,12 @@ function encodeArgsWithTuplePacking(abiTypes, abiValues) {
198
185
  return encodedArgs;
199
186
  }
200
187
  /**
201
- * Common method call building logic
188
+ * Builds encoded ABI method arguments and resolves reference arrays
202
189
  */
203
- function buildMethodCallCommon(params, commonData) {
204
- const { accountReferences, appReferences, assetReferences } = populateMethodArgsIntoReferenceArrays(commonData.sender, params.appId, params.method, params.args ?? [], params.accountReferences, params.appReferences, params.assetReferences);
190
+ function buildMethodCallArgsAndReferences(params) {
191
+ const { accountReferences, appReferences, assetReferences, updatedArgs } = prepareArgsForEncoding(params.sender, params.appId, params.method, params.args ?? [], params.accountReferences, params.appReferences, params.assetReferences);
205
192
  return {
206
- args: encodeMethodArguments(params.method, params.args, commonData.sender, params.appId, accountReferences, appReferences, assetReferences),
193
+ args: encodeMethodArguments(params.method, updatedArgs),
207
194
  accountReferences,
208
195
  appReferences,
209
196
  assetReferences
@@ -223,14 +210,15 @@ const buildAppCreateMethodCall = async (params, appManager, suggestedParams, def
223
210
  } : void 0;
224
211
  const extraProgramPages = params.extraProgramPages !== void 0 ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram, clearStateProgram);
225
212
  const accountReferences = params.accountReferences?.map((a) => getAddress(a));
226
- const common = buildMethodCallCommon({
213
+ const argsAndReferences = buildMethodCallArgsAndReferences({
214
+ sender: commonData.sender,
227
215
  appId: 0n,
228
216
  method: params.method,
229
217
  args: params.args ?? [],
230
218
  accountReferences,
231
219
  appReferences: params.appReferences,
232
220
  assetReferences: params.assetReferences
233
- }, commonData);
221
+ });
234
222
  const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0;
235
223
  return new Transaction({
236
224
  ...commonData,
@@ -243,11 +231,11 @@ const buildAppCreateMethodCall = async (params, appManager, suggestedParams, def
243
231
  globalStateSchema,
244
232
  localStateSchema,
245
233
  extraProgramPages,
246
- args: common.args,
234
+ args: argsAndReferences.args,
247
235
  ...hasAccessReferences ? { accessReferences: params.accessReferences } : {
248
- accountReferences: common.accountReferences,
249
- appReferences: common.appReferences,
250
- assetReferences: common.assetReferences,
236
+ accountReferences: argsAndReferences.accountReferences,
237
+ appReferences: argsAndReferences.appReferences,
238
+ assetReferences: argsAndReferences.assetReferences,
251
239
  boxReferences: params.boxReferences?.map(AppManager.getBoxReference)
252
240
  },
253
241
  rejectVersion: params.rejectVersion
@@ -259,14 +247,15 @@ const buildAppUpdateMethodCall = async (params, appManager, suggestedParams, def
259
247
  const approvalProgram = typeof params.approvalProgram === "string" ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes : params.approvalProgram;
260
248
  const clearStateProgram = typeof params.clearStateProgram === "string" ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes : params.clearStateProgram;
261
249
  const accountReferences = params.accountReferences?.map((a) => getAddress(a));
262
- const common = buildMethodCallCommon({
250
+ const argsAndReferences = buildMethodCallArgsAndReferences({
251
+ sender: commonData.sender,
263
252
  appId: params.appId,
264
253
  method: params.method,
265
254
  args: params.args ?? [],
266
255
  accountReferences,
267
256
  appReferences: params.appReferences,
268
257
  assetReferences: params.assetReferences
269
- }, commonData);
258
+ });
270
259
  const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0;
271
260
  return new Transaction({
272
261
  ...commonData,
@@ -276,11 +265,11 @@ const buildAppUpdateMethodCall = async (params, appManager, suggestedParams, def
276
265
  onComplete: OnApplicationComplete.UpdateApplication,
277
266
  approvalProgram,
278
267
  clearStateProgram,
279
- args: common.args,
268
+ args: argsAndReferences.args,
280
269
  ...hasAccessReferences ? { accessReferences: params.accessReferences } : {
281
- accountReferences: common.accountReferences,
282
- appReferences: common.appReferences,
283
- assetReferences: common.assetReferences,
270
+ accountReferences: argsAndReferences.accountReferences,
271
+ appReferences: argsAndReferences.appReferences,
272
+ assetReferences: argsAndReferences.assetReferences,
284
273
  boxReferences: params.boxReferences?.map(AppManager.getBoxReference)
285
274
  },
286
275
  rejectVersion: params.rejectVersion
@@ -290,14 +279,15 @@ const buildAppUpdateMethodCall = async (params, appManager, suggestedParams, def
290
279
  const buildAppCallMethodCall = async (params, suggestedParams, defaultValidityWindow) => {
291
280
  const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow);
292
281
  const accountReferences = params.accountReferences?.map((a) => getAddress(a));
293
- const common = buildMethodCallCommon({
282
+ const argsAndReferences = buildMethodCallArgsAndReferences({
283
+ sender: commonData.sender,
294
284
  appId: params.appId,
295
285
  method: params.method,
296
286
  args: params.args ?? [],
297
287
  accountReferences,
298
288
  appReferences: params.appReferences,
299
289
  assetReferences: params.assetReferences
300
- }, commonData);
290
+ });
301
291
  const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0;
302
292
  return new Transaction({
303
293
  ...commonData,
@@ -305,18 +295,18 @@ const buildAppCallMethodCall = async (params, suggestedParams, defaultValidityWi
305
295
  appCall: {
306
296
  appId: params.appId,
307
297
  onComplete: params.onComplete ?? OnApplicationComplete.NoOp,
308
- args: common.args,
298
+ args: argsAndReferences.args,
309
299
  ...hasAccessReferences ? { accessReferences: params.accessReferences } : {
310
- accountReferences: common.accountReferences,
311
- appReferences: common.appReferences,
312
- assetReferences: common.assetReferences,
300
+ accountReferences: argsAndReferences.accountReferences,
301
+ appReferences: argsAndReferences.appReferences,
302
+ assetReferences: argsAndReferences.assetReferences,
313
303
  boxReferences: params.boxReferences?.map(AppManager.getBoxReference)
314
304
  },
315
305
  rejectVersion: params.rejectVersion
316
306
  }
317
307
  });
318
308
  };
319
-
320
309
  //#endregion
321
310
  export { buildAppCallMethodCall, buildAppCreateMethodCall, buildAppUpdateMethodCall, extractComposerTransactionsFromAppMethodCallParams, processAppMethodCallArgs };
311
+
322
312
  //# sourceMappingURL=method-call.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"method-call.mjs","names":["encodedArgs: Uint8Array[]"],"sources":["../../src/transactions/method-call.ts"],"sourcesContent":["import {\n ABIMethod,\n ABIReferenceType,\n ABITupleType,\n ABIType,\n ABIUintType,\n ABIValue,\n argTypeIsReference,\n argTypeIsTransaction,\n} from '@algorandfoundation/algokit-abi'\nimport { SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport { Address, getAddress } from '@algorandfoundation/algokit-common'\nimport { OnApplicationComplete, Transaction, TransactionSigner, TransactionType } from '@algorandfoundation/algokit-transact'\nimport { TransactionWithSigner } from '../transaction'\nimport { AlgoAmount } from '../types/amount'\nimport { AppManager } from '../types/app-manager'\nimport { Expand } from '../types/expand'\nimport { calculateExtraProgramPages } from '../util'\nimport { AppCreateParams, AppDeleteParams, AppMethodCallParams, AppUpdateParams } from './app-call'\nimport { TransactionCommonData, buildTransactionCommonData } from './common'\n\nconst ARGS_TUPLE_PACKING_THRESHOLD = 14 // 14+ args trigger tuple packing, excluding the method selector\n\n/** Parameters to define an ABI method call create transaction. */\nexport type AppCreateMethodCall = Expand<AppMethodCall<AppCreateParams>>\n/** Parameters to define an ABI method call update transaction. */\nexport type AppUpdateMethodCall = Expand<AppMethodCall<AppUpdateParams>>\n/** Parameters to define an ABI method call delete transaction. */\nexport type AppDeleteMethodCall = Expand<AppMethodCall<AppDeleteParams>>\n/** Parameters to define an ABI method call transaction. */\nexport type AppCallMethodCall = Expand<AppMethodCall<AppMethodCallParams>>\n\nexport type ProcessedAppCreateMethodCall = Expand<\n Omit<AppCreateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppUpdateMethodCall = Expand<\n Omit<AppUpdateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppCallMethodCall = Expand<\n Omit<AppCallMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\n/** Types that can be used to define a transaction argument for an ABI call transaction. */\nexport type AppMethodCallTransactionArgument =\n // The following should match the partial `args` types from `AppMethodCall<T>` below\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n\n/** Parameters to define an ABI method call. */\nexport type AppMethodCall<T> = Expand<Omit<T, 'args'>> & {\n /** The ABI method to call */\n method: ABIMethod\n /** Arguments to the ABI method, either:\n * * An ABI value\n * * A transaction with explicit signer\n * * A transaction (where the signer will be automatically assigned)\n * * An unawaited transaction (e.g. from algorand.createTransaction.{transactionType}())\n * * Another method call (via method call params object)\n * * undefined (this represents a placeholder transaction argument that is fulfilled by another method call argument)\n */\n args?: (\n | ABIValue\n // The following should match the above `AppMethodCallTransactionArgument` type above\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n | undefined\n )[]\n}\n\ntype AppMethodCallArgs = AppMethodCall<unknown>['args']\ntype AppMethodCallArg = NonNullable<AppMethodCallArgs>[number]\n\nexport type AsyncTransactionParams = {\n txn: Promise<Transaction>\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\nexport type TransactionParams = {\n txn: Transaction\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\ntype ExtractedMethodCallTransactionArg =\n | { data: TransactionParams; type: 'txn' }\n | {\n data: AsyncTransactionParams\n type: 'asyncTxn'\n }\n | { data: ProcessedAppCallMethodCall | ProcessedAppCreateMethodCall | ProcessedAppUpdateMethodCall; type: 'methodCall' }\n\nexport function extractComposerTransactionsFromAppMethodCallParams(\n params: AppCallMethodCall | AppCreateMethodCall | AppUpdateMethodCall | AppDeleteMethodCall,\n parentSigner?: TransactionSigner,\n): ExtractedMethodCallTransactionArg[] {\n const composerTransactions = new Array<ExtractedMethodCallTransactionArg>()\n const methodCallArgs = params.args\n if (!methodCallArgs) return []\n\n // Extract signer from params, falling back to parentSigner\n const currentSigner = params.signer ? ('signer' in params.signer ? params.signer.signer : params.signer) : parentSigner\n\n for (let i = 0; i < methodCallArgs.length; i++) {\n const arg = methodCallArgs[i]\n\n if (arg === undefined) {\n // is a transaction or default value placeholder, do nothing\n continue\n }\n if (isAbiValue(arg)) {\n // if is ABI value, also ignore\n continue\n }\n\n if (isTransactionWithSignerArg(arg)) {\n composerTransactions.push({\n data: {\n txn: arg.txn,\n signer: arg.signer,\n },\n type: 'txn',\n })\n\n continue\n }\n if (isAppCallMethodCallArg(arg)) {\n // Recursively extract nested method call transactions, passing the nested call itself and current signer as parent\n const nestedComposerTransactions = extractComposerTransactionsFromAppMethodCallParams(arg, currentSigner)\n composerTransactions.push(...nestedComposerTransactions)\n composerTransactions.push({\n data: {\n ...arg,\n signer: arg.signer ?? currentSigner,\n args: processAppMethodCallArgs(arg.args),\n },\n type: 'methodCall',\n } satisfies ExtractedMethodCallTransactionArg)\n\n continue\n }\n if (arg instanceof Promise) {\n composerTransactions.push({\n data: {\n txn: arg,\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n continue\n }\n\n composerTransactions.push({\n data: {\n txn: Promise.resolve(arg),\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n }\n\n return composerTransactions\n}\n\nexport function processAppMethodCallArgs(args: AppMethodCallArg[] | undefined): (ABIValue | undefined)[] | undefined {\n if (args === undefined) return undefined\n\n return args.map((arg) => {\n if (arg === undefined) {\n // Handle explicit placeholders (either transaction or default value)\n return undefined\n } else if (!isAbiValue(arg)) {\n // If the arg is not an ABIValue, it's must be a transaction, set to undefined\n // transaction arguments should be flattened out and added into the composer during the add process\n return undefined\n }\n return arg\n })\n}\n\nfunction isTransactionWithSignerArg(arg: AppMethodCallArg): arg is TransactionWithSigner {\n return typeof arg === 'object' && arg !== undefined && 'txn' in arg && 'signer' in arg\n}\n\nfunction isAppCallMethodCallArg(\n arg: AppMethodCallArg,\n): arg is AppMethodCall<AppCreateParams> | AppMethodCall<AppUpdateParams> | AppMethodCall<AppMethodCallParams> {\n return typeof arg === 'object' && arg !== undefined && 'method' in arg\n}\n\nconst isAbiValue = (x: unknown): x is ABIValue => {\n if (Array.isArray(x)) return x.length == 0 || x.every(isAbiValue)\n\n // If x is a POJO literal\n if (Object.getPrototypeOf(x) === Object.getPrototypeOf({})) {\n return Object.values(x as object).every(isAbiValue)\n }\n\n return (\n typeof x === 'bigint' ||\n typeof x === 'boolean' ||\n typeof x === 'number' ||\n typeof x === 'string' ||\n x instanceof Uint8Array ||\n x instanceof Address\n )\n}\n\n/**\n * Populate reference arrays from processed ABI method call arguments\n */\nfunction populateMethodArgsIntoReferenceArrays(\n sender: Address,\n appId: bigint,\n method: ABIMethod,\n methodArgs: AppMethodCallArg[],\n accountReferences?: Address[],\n appReferences?: bigint[],\n assetReferences?: bigint[],\n): { accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[] } {\n const accounts = [...(accountReferences ?? [])]\n const assets = [...(assetReferences ?? [])]\n const apps = [...(appReferences ?? [])]\n\n methodArgs.forEach((arg, i) => {\n const argType = method.args[i].type\n if (argTypeIsReference(argType)) {\n switch (argType) {\n case 'account':\n if (typeof arg === 'string' && arg !== sender.toString() && !accounts.some((a) => a.toString() === arg)) {\n accounts.push(getAddress(arg))\n }\n break\n case 'asset':\n if (typeof arg === 'bigint' && !assets.includes(arg)) {\n assets.push(arg)\n }\n break\n case 'application':\n if (typeof arg === 'bigint' && arg !== appId && !apps.includes(arg)) {\n apps.push(arg)\n }\n break\n }\n }\n })\n\n return { accountReferences: accounts, appReferences: apps, assetReferences: assets }\n}\n\n/**\n * Calculate array index for ABI reference values\n */\nfunction calculateMethodArgReferenceArrayIndex(\n refValue: string | bigint,\n referenceType: ABIReferenceType,\n sender: Address,\n appId: bigint,\n accountReferences: Address[],\n appReferences: bigint[],\n assetReferences: bigint[],\n): number {\n switch (referenceType) {\n case 'account':\n if (typeof refValue === 'string') {\n // If address is the same as sender, use index 0\n if (refValue === sender.toString()) return 0\n const index = accountReferences.findIndex((a) => a.toString() === refValue)\n if (index === -1) throw new Error(`Account ${refValue} not found in reference array`)\n return index + 1\n }\n throw new Error('Account reference must be a string')\n case 'asset':\n if (typeof refValue === 'bigint') {\n const index = assetReferences.indexOf(refValue)\n if (index === -1) throw new Error(`Asset ${refValue} not found in reference array`)\n return index\n }\n throw new Error('Asset reference must be a bigint')\n case 'application':\n if (typeof refValue === 'bigint') {\n // If app ID is the same as the current app, use index 0\n if (refValue === appId) return 0\n const index = appReferences.indexOf(refValue)\n if (index === -1) throw new Error(`Application ${refValue} not found in reference array`)\n return index + 1\n }\n throw new Error('Application reference must be a bigint')\n default:\n throw new Error(`Unknown reference type: ${referenceType}`)\n }\n}\n\n/**\n * Encode ABI method arguments with tuple packing support\n * Ports the logic from the Rust encode_method_arguments function\n */\nfunction encodeMethodArguments(\n method: ABIMethod,\n args: (ABIValue | undefined)[],\n sender: Address,\n appId: bigint,\n accountReferences: Address[],\n appReferences: bigint[],\n assetReferences: bigint[],\n): Uint8Array[] {\n const encodedArgs = new Array<Uint8Array>()\n\n // Insert method selector at the front\n encodedArgs.push(method.getSelector())\n\n // Get ABI types for non-transaction arguments\n const abiTypes = new Array<ABIType>()\n const abiValues = new Array<ABIValue>()\n\n // Process each method argument\n for (let i = 0; i < method.args.length; i++) {\n const methodArg = method.args[i]\n const argValue = args[i]\n\n if (argTypeIsTransaction(methodArg.type)) {\n // Transaction arguments are not ABI encoded - they're handled separately\n } else if (argTypeIsReference(methodArg.type)) {\n // Reference types are encoded as uint8 indexes\n const referenceType = methodArg.type\n if (typeof argValue === 'string' || typeof argValue === 'bigint') {\n const foreignIndex = calculateMethodArgReferenceArrayIndex(\n argValue,\n referenceType,\n sender,\n appId,\n accountReferences,\n appReferences,\n assetReferences,\n )\n\n abiTypes.push(new ABIUintType(8))\n abiValues.push(foreignIndex)\n } else {\n throw new Error(`Invalid reference value for ${referenceType}: ${argValue}`)\n }\n } else if (argValue !== undefined) {\n // Regular ABI value\n abiTypes.push(methodArg.type)\n // it's safe to cast to ABIValue here because the abiType must be ABIValue\n abiValues.push(argValue as ABIValue)\n }\n\n // Skip undefined values (transaction placeholders)\n }\n\n if (abiValues.length !== abiTypes.length) {\n throw new Error('Mismatch in length of non-transaction arguments')\n }\n\n // Apply ARC-4 tuple packing for methods with more than 14 arguments\n // 14 instead of 15 in the ARC-4 because the first argument (method selector) is added separately\n if (abiTypes.length > ARGS_TUPLE_PACKING_THRESHOLD) {\n encodedArgs.push(...encodeArgsWithTuplePacking(abiTypes, abiValues))\n } else {\n encodedArgs.push(...encodeArgsIndividually(abiTypes, abiValues))\n }\n\n return encodedArgs\n}\n\n/**\n * Encode individual ABI values\n */\nfunction encodeArgsIndividually(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n for (let i = 0; i < abiTypes.length; i++) {\n const abiType = abiTypes[i]\n const abiValue = abiValues[i]\n const encoded = abiType.encode(abiValue)\n encodedArgs.push(encoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Encode ABI values with tuple packing for methods with many arguments\n */\nfunction encodeArgsWithTuplePacking(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n // Encode first 14 arguments individually\n const first14AbiTypes = abiTypes.slice(0, ARGS_TUPLE_PACKING_THRESHOLD)\n const first14AbiValues = abiValues.slice(0, ARGS_TUPLE_PACKING_THRESHOLD)\n encodedArgs.push(...encodeArgsIndividually(first14AbiTypes, first14AbiValues))\n\n // Pack remaining arguments into tuple at position 15\n const remainingAbiTypes = abiTypes.slice(ARGS_TUPLE_PACKING_THRESHOLD)\n const remainingAbiValues = abiValues.slice(ARGS_TUPLE_PACKING_THRESHOLD)\n\n if (remainingAbiTypes.length > 0) {\n const tupleType = new ABITupleType(remainingAbiTypes)\n const tupleValue = remainingAbiValues\n const tupleEncoded = tupleType.encode(tupleValue)\n encodedArgs.push(tupleEncoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Common method call building logic\n */\nfunction buildMethodCallCommon(\n params: {\n appId: bigint\n method: ABIMethod\n args: (ABIValue | undefined)[]\n accountReferences?: Address[]\n appReferences?: bigint[]\n assetReferences?: bigint[]\n },\n commonData: TransactionCommonData,\n): { args: Uint8Array[]; accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[] } {\n const { accountReferences, appReferences, assetReferences } = populateMethodArgsIntoReferenceArrays(\n commonData.sender,\n params.appId,\n params.method,\n params.args ?? [],\n params.accountReferences,\n params.appReferences,\n params.assetReferences,\n )\n\n const encodedArgs = encodeMethodArguments(\n params.method,\n params.args,\n commonData.sender,\n params.appId,\n accountReferences,\n appReferences,\n assetReferences,\n )\n\n return {\n args: encodedArgs,\n accountReferences,\n appReferences,\n assetReferences,\n }\n}\n\nexport const buildAppCreateMethodCall = async (\n params: ProcessedAppCreateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const globalStateSchema =\n params.schema?.globalByteSlices !== undefined || params.schema?.globalInts !== undefined\n ? {\n numByteSlices: params.schema?.globalByteSlices ?? 0,\n numUints: params.schema?.globalInts ?? 0,\n }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? {\n numByteSlices: params.schema?.localByteSlices ?? 0,\n numUints: params.schema?.localInts ?? 0,\n }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const common = buildMethodCallCommon(\n {\n appId: 0n,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n },\n commonData,\n )\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: 0n,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: common.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: common.accountReferences,\n appReferences: common.appReferences,\n assetReferences: common.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdateMethodCall = async (\n params: ProcessedAppUpdateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const common = buildMethodCallCommon(\n {\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n },\n commonData,\n )\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: OnApplicationComplete.UpdateApplication,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n args: common.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: common.accountReferences,\n appReferences: common.appReferences,\n assetReferences: common.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCallMethodCall = async (\n params: ProcessedAppCallMethodCall,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const common = buildMethodCallCommon(\n {\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n },\n commonData,\n )\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n args: common.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: common.accountReferences,\n appReferences: common.appReferences,\n assetReferences: common.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n"],"mappings":";;;;;;;;;;;AAqBA,MAAM,+BAA+B;AAuFrC,SAAgB,mDACd,QACA,cACqC;CACrC,MAAM,uBAAuB,IAAI,OAA0C;CAC3E,MAAM,iBAAiB,OAAO;AAC9B,KAAI,CAAC,eAAgB,QAAO,EAAE;CAG9B,MAAM,gBAAgB,OAAO,SAAU,YAAY,OAAO,SAAS,OAAO,OAAO,SAAS,OAAO,SAAU;AAE3G,MAAK,IAAI,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;EAC9C,MAAM,MAAM,eAAe;AAE3B,MAAI,QAAQ,OAEV;AAEF,MAAI,WAAW,IAAI,CAEjB;AAGF,MAAI,2BAA2B,IAAI,EAAE;AACnC,wBAAqB,KAAK;IACxB,MAAM;KACJ,KAAK,IAAI;KACT,QAAQ,IAAI;KACb;IACD,MAAM;IACP,CAAC;AAEF;;AAEF,MAAI,uBAAuB,IAAI,EAAE;GAE/B,MAAM,6BAA6B,mDAAmD,KAAK,cAAc;AACzG,wBAAqB,KAAK,GAAG,2BAA2B;AACxD,wBAAqB,KAAK;IACxB,MAAM;KACJ,GAAG;KACH,QAAQ,IAAI,UAAU;KACtB,MAAM,yBAAyB,IAAI,KAAK;KACzC;IACD,MAAM;IACP,CAA6C;AAE9C;;AAEF,MAAI,eAAe,SAAS;AAC1B,wBAAqB,KAAK;IACxB,MAAM;KACJ,KAAK;KACL,QAAQ;KACT;IACD,MAAM;IACP,CAAC;AACF;;AAGF,uBAAqB,KAAK;GACxB,MAAM;IACJ,KAAK,QAAQ,QAAQ,IAAI;IACzB,QAAQ;IACT;GACD,MAAM;GACP,CAAC;;AAGJ,QAAO;;AAGT,SAAgB,yBAAyB,MAA4E;AACnH,KAAI,SAAS,OAAW,QAAO;AAE/B,QAAO,KAAK,KAAK,QAAQ;AACvB,MAAI,QAAQ,OAEV;WACS,CAAC,WAAW,IAAI,CAGzB;AAEF,SAAO;GACP;;AAGJ,SAAS,2BAA2B,KAAqD;AACvF,QAAO,OAAO,QAAQ,YAAY,QAAQ,UAAa,SAAS,OAAO,YAAY;;AAGrF,SAAS,uBACP,KAC6G;AAC7G,QAAO,OAAO,QAAQ,YAAY,QAAQ,UAAa,YAAY;;AAGrE,MAAM,cAAc,MAA8B;AAChD,KAAI,MAAM,QAAQ,EAAE,CAAE,QAAO,EAAE,UAAU,KAAK,EAAE,MAAM,WAAW;AAGjE,KAAI,OAAO,eAAe,EAAE,KAAK,OAAO,eAAe,EAAE,CAAC,CACxD,QAAO,OAAO,OAAO,EAAY,CAAC,MAAM,WAAW;AAGrD,QACE,OAAO,MAAM,YACb,OAAO,MAAM,aACb,OAAO,MAAM,YACb,OAAO,MAAM,YACb,aAAa,cACb,aAAa;;;;;AAOjB,SAAS,sCACP,QACA,OACA,QACA,YACA,mBACA,eACA,iBACsF;CACtF,MAAM,WAAW,CAAC,GAAI,qBAAqB,EAAE,CAAE;CAC/C,MAAM,SAAS,CAAC,GAAI,mBAAmB,EAAE,CAAE;CAC3C,MAAM,OAAO,CAAC,GAAI,iBAAiB,EAAE,CAAE;AAEvC,YAAW,SAAS,KAAK,MAAM;EAC7B,MAAM,UAAU,OAAO,KAAK,GAAG;AAC/B,MAAI,mBAAmB,QAAQ,CAC7B,SAAQ,SAAR;GACE,KAAK;AACH,QAAI,OAAO,QAAQ,YAAY,QAAQ,OAAO,UAAU,IAAI,CAAC,SAAS,MAAM,MAAM,EAAE,UAAU,KAAK,IAAI,CACrG,UAAS,KAAK,WAAW,IAAI,CAAC;AAEhC;GACF,KAAK;AACH,QAAI,OAAO,QAAQ,YAAY,CAAC,OAAO,SAAS,IAAI,CAClD,QAAO,KAAK,IAAI;AAElB;GACF,KAAK;AACH,QAAI,OAAO,QAAQ,YAAY,QAAQ,SAAS,CAAC,KAAK,SAAS,IAAI,CACjE,MAAK,KAAK,IAAI;AAEhB;;GAGN;AAEF,QAAO;EAAE,mBAAmB;EAAU,eAAe;EAAM,iBAAiB;EAAQ;;;;;AAMtF,SAAS,sCACP,UACA,eACA,QACA,OACA,mBACA,eACA,iBACQ;AACR,SAAQ,eAAR;EACE,KAAK;AACH,OAAI,OAAO,aAAa,UAAU;AAEhC,QAAI,aAAa,OAAO,UAAU,CAAE,QAAO;IAC3C,MAAM,QAAQ,kBAAkB,WAAW,MAAM,EAAE,UAAU,KAAK,SAAS;AAC3E,QAAI,UAAU,GAAI,OAAM,IAAI,MAAM,WAAW,SAAS,+BAA+B;AACrF,WAAO,QAAQ;;AAEjB,SAAM,IAAI,MAAM,qCAAqC;EACvD,KAAK;AACH,OAAI,OAAO,aAAa,UAAU;IAChC,MAAM,QAAQ,gBAAgB,QAAQ,SAAS;AAC/C,QAAI,UAAU,GAAI,OAAM,IAAI,MAAM,SAAS,SAAS,+BAA+B;AACnF,WAAO;;AAET,SAAM,IAAI,MAAM,mCAAmC;EACrD,KAAK;AACH,OAAI,OAAO,aAAa,UAAU;AAEhC,QAAI,aAAa,MAAO,QAAO;IAC/B,MAAM,QAAQ,cAAc,QAAQ,SAAS;AAC7C,QAAI,UAAU,GAAI,OAAM,IAAI,MAAM,eAAe,SAAS,+BAA+B;AACzF,WAAO,QAAQ;;AAEjB,SAAM,IAAI,MAAM,yCAAyC;EAC3D,QACE,OAAM,IAAI,MAAM,2BAA2B,gBAAgB;;;;;;;AAQjE,SAAS,sBACP,QACA,MACA,QACA,OACA,mBACA,eACA,iBACc;CACd,MAAM,cAAc,IAAI,OAAmB;AAG3C,aAAY,KAAK,OAAO,aAAa,CAAC;CAGtC,MAAM,WAAW,IAAI,OAAgB;CACrC,MAAM,YAAY,IAAI,OAAiB;AAGvC,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;EAC3C,MAAM,YAAY,OAAO,KAAK;EAC9B,MAAM,WAAW,KAAK;AAEtB,MAAI,qBAAqB,UAAU,KAAK,EAAE,YAE/B,mBAAmB,UAAU,KAAK,EAAE;GAE7C,MAAM,gBAAgB,UAAU;AAChC,OAAI,OAAO,aAAa,YAAY,OAAO,aAAa,UAAU;IAChE,MAAM,eAAe,sCACnB,UACA,eACA,QACA,OACA,mBACA,eACA,gBACD;AAED,aAAS,KAAK,IAAI,YAAY,EAAE,CAAC;AACjC,cAAU,KAAK,aAAa;SAE5B,OAAM,IAAI,MAAM,+BAA+B,cAAc,IAAI,WAAW;aAErE,aAAa,QAAW;AAEjC,YAAS,KAAK,UAAU,KAAK;AAE7B,aAAU,KAAK,SAAqB;;;AAMxC,KAAI,UAAU,WAAW,SAAS,OAChC,OAAM,IAAI,MAAM,kDAAkD;AAKpE,KAAI,SAAS,SAAS,6BACpB,aAAY,KAAK,GAAG,2BAA2B,UAAU,UAAU,CAAC;KAEpE,aAAY,KAAK,GAAG,uBAAuB,UAAU,UAAU,CAAC;AAGlE,QAAO;;;;;AAMT,SAAS,uBAAuB,UAAqB,WAAqC;CACxF,MAAMA,cAA4B,EAAE;AAEpC,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,UAAU,SAAS;EACzB,MAAM,WAAW,UAAU;EAC3B,MAAM,UAAU,QAAQ,OAAO,SAAS;AACxC,cAAY,KAAK,QAAQ;;AAG3B,QAAO;;;;;AAMT,SAAS,2BAA2B,UAAqB,WAAqC;CAC5F,MAAMA,cAA4B,EAAE;CAGpC,MAAM,kBAAkB,SAAS,MAAM,GAAG,6BAA6B;CACvE,MAAM,mBAAmB,UAAU,MAAM,GAAG,6BAA6B;AACzE,aAAY,KAAK,GAAG,uBAAuB,iBAAiB,iBAAiB,CAAC;CAG9E,MAAM,oBAAoB,SAAS,MAAM,6BAA6B;CACtE,MAAM,qBAAqB,UAAU,MAAM,6BAA6B;AAExE,KAAI,kBAAkB,SAAS,GAAG;EAGhC,MAAM,eAFY,IAAI,aAAa,kBAAkB,CAEtB,OADZ,mBAC8B;AACjD,cAAY,KAAK,aAAa;;AAGhC,QAAO;;;;;AAMT,SAAS,sBACP,QAQA,YAC0G;CAC1G,MAAM,EAAE,mBAAmB,eAAe,oBAAoB,sCAC5D,WAAW,QACX,OAAO,OACP,OAAO,QACP,OAAO,QAAQ,EAAE,EACjB,OAAO,mBACP,OAAO,eACP,OAAO,gBACR;AAYD,QAAO;EACL,MAXkB,sBAClB,OAAO,QACP,OAAO,MACP,WAAW,QACX,OAAO,OACP,mBACA,eACA,gBACD;EAIC;EACA;EACA;EACD;;AAGH,MAAa,2BAA2B,OACtC,QACA,YACA,iBACA,0BACyB;CACzB,MAAM,aAAa,2BAA2B,QAAQ,iBAAiB,sBAAsB;CAC7F,MAAM,kBACJ,OAAO,OAAO,oBAAoB,YAC7B,MAAM,WAAW,YAAY,OAAO,gBAAgB,EAAE,wBACvD,OAAO;CACb,MAAM,oBACJ,OAAO,OAAO,sBAAsB,YAC/B,MAAM,WAAW,YAAY,OAAO,kBAAkB,EAAE,wBACzD,OAAO;CACb,MAAM,oBACJ,OAAO,QAAQ,qBAAqB,UAAa,OAAO,QAAQ,eAAe,SAC3E;EACE,eAAe,OAAO,QAAQ,oBAAoB;EAClD,UAAU,OAAO,QAAQ,cAAc;EACxC,GACD;CACN,MAAM,mBACJ,OAAO,QAAQ,oBAAoB,UAAa,OAAO,QAAQ,cAAc,SACzE;EACE,eAAe,OAAO,QAAQ,mBAAmB;EACjD,UAAU,OAAO,QAAQ,aAAa;EACvC,GACD;CACN,MAAM,oBACJ,OAAO,sBAAsB,SAAY,OAAO,oBAAoB,2BAA2B,iBAAkB,kBAAmB;CACtI,MAAM,oBAAoB,OAAO,mBAAmB,KAAK,MAAM,WAAW,EAAE,CAAC;CAC7E,MAAM,SAAS,sBACb;EACE,OAAO;EACP,QAAQ,OAAO;EACf,MAAM,OAAO,QAAQ,EAAE;EACJ;EACnB,eAAe,OAAO;EACtB,iBAAiB,OAAO;EACzB,EACD,WACD;CAGD,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAI,YAAY;EACrB,GAAG;EACH,MAAM,gBAAgB;EACtB,SAAS;GACP,OAAO;GACP,YAAY,OAAO,cAAc,sBAAsB;GACtC;GACE;GACA;GACD;GACC;GACnB,MAAM,OAAO;GACb,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,OAAO;IAC1B,eAAe,OAAO;IACtB,iBAAiB,OAAO;IACxB,eAAe,OAAO,eAAe,IAAI,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC;;AAGJ,MAAa,2BAA2B,OACtC,QACA,YACA,iBACA,0BACyB;CACzB,MAAM,aAAa,2BAA2B,QAAQ,iBAAiB,sBAAsB;CAC7F,MAAM,kBACJ,OAAO,OAAO,oBAAoB,YAC7B,MAAM,WAAW,YAAY,OAAO,gBAAgB,EAAE,wBACvD,OAAO;CACb,MAAM,oBACJ,OAAO,OAAO,sBAAsB,YAC/B,MAAM,WAAW,YAAY,OAAO,kBAAkB,EAAE,wBACzD,OAAO;CACb,MAAM,oBAAoB,OAAO,mBAAmB,KAAK,MAAM,WAAW,EAAE,CAAC;CAC7E,MAAM,SAAS,sBACb;EACE,OAAO,OAAO;EACd,QAAQ,OAAO;EACf,MAAM,OAAO,QAAQ,EAAE;EACJ;EACnB,eAAe,OAAO;EACtB,iBAAiB,OAAO;EACzB,EACD,WACD;CAGD,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAI,YAAY;EACrB,GAAG;EACH,MAAM,gBAAgB;EACtB,SAAS;GACP,OAAO,OAAO;GACd,YAAY,sBAAsB;GACjB;GACE;GACnB,MAAM,OAAO;GACb,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,OAAO;IAC1B,eAAe,OAAO;IACtB,iBAAiB,OAAO;IACxB,eAAe,OAAO,eAAe,IAAI,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC;;AAGJ,MAAa,yBAAyB,OACpC,QACA,iBACA,0BACyB;CACzB,MAAM,aAAa,2BAA2B,QAAQ,iBAAiB,sBAAsB;CAC7F,MAAM,oBAAoB,OAAO,mBAAmB,KAAK,MAAM,WAAW,EAAE,CAAC;CAC7E,MAAM,SAAS,sBACb;EACE,OAAO,OAAO;EACd,QAAQ,OAAO;EACf,MAAM,OAAO,QAAQ,EAAE;EACJ;EACnB,eAAe,OAAO;EACtB,iBAAiB,OAAO;EACzB,EACD,WACD;CAGD,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAI,YAAY;EACrB,GAAG;EACH,MAAM,gBAAgB;EACtB,SAAS;GACP,OAAO,OAAO;GACd,YAAY,OAAO,cAAc,sBAAsB;GACvD,MAAM,OAAO;GACb,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,OAAO;IAC1B,eAAe,OAAO;IACtB,iBAAiB,OAAO;IACxB,eAAe,OAAO,eAAe,IAAI,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC"}
1
+ {"version":3,"file":"method-call.mjs","names":[],"sources":["../../src/transactions/method-call.ts"],"sourcesContent":["import {\n ABIMethod,\n ABITupleType,\n ABIType,\n ABIUintType,\n ABIValue,\n argTypeIsReference,\n argTypeIsTransaction,\n} from '@algorandfoundation/algokit-abi'\nimport { SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport { Address, Expand, getAddress } from '@algorandfoundation/algokit-common'\nimport { OnApplicationComplete, Transaction, TransactionSigner, TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgoAmount } from '../amount'\nimport { AppManager } from '../app-manager'\nimport { TransactionWithSigner } from '../transaction'\nimport { calculateExtraProgramPages } from '../util'\nimport { AppCreateParams, AppDeleteParams, AppMethodCallParams, AppUpdateParams } from './app-call'\nimport { buildTransactionCommonData } from './common'\n\nconst ARGS_TUPLE_PACKING_THRESHOLD = 15 // ARC-4 allows 15 ABI args (slots 1-15) before tuple packing is needed\n\n/** Parameters to define an ABI method call create transaction. */\nexport type AppCreateMethodCall = Expand<AppMethodCall<AppCreateParams>>\n/** Parameters to define an ABI method call update transaction. */\nexport type AppUpdateMethodCall = Expand<AppMethodCall<AppUpdateParams>>\n/** Parameters to define an ABI method call delete transaction. */\nexport type AppDeleteMethodCall = Expand<AppMethodCall<AppDeleteParams>>\n/** Parameters to define an ABI method call transaction. */\nexport type AppCallMethodCall = Expand<AppMethodCall<AppMethodCallParams>>\n\nexport type ProcessedAppCreateMethodCall = Expand<\n Omit<AppCreateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppUpdateMethodCall = Expand<\n Omit<AppUpdateMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\nexport type ProcessedAppCallMethodCall = Expand<\n Omit<AppCallMethodCall, 'args'> & {\n args?: (ABIValue | undefined)[]\n }\n>\n\n/** Types that can be used to define a transaction argument for an ABI call transaction. */\nexport type AppMethodCallTransactionArgument =\n // The following should match the partial `args` types from `AppMethodCall<T>` below\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n\n/** Parameters to define an ABI method call. */\nexport type AppMethodCall<T> = Expand<Omit<T, 'args'>> & {\n /** The ABI method to call */\n method: ABIMethod\n /** Arguments to the ABI method, either:\n * * An ABI value\n * * A transaction with explicit signer\n * * A transaction (where the signer will be automatically assigned)\n * * An unawaited transaction (e.g. from algorand.createTransaction.{transactionType}())\n * * Another method call (via method call params object)\n * * undefined (this represents a placeholder transaction argument that is fulfilled by another method call argument)\n */\n args?: (\n | ABIValue\n // The following should match the above `AppMethodCallTransactionArgument` type above\n | TransactionWithSigner\n | Transaction\n | Promise<Transaction>\n | AppMethodCall<AppCreateParams>\n | AppMethodCall<AppUpdateParams>\n | AppMethodCall<AppMethodCallParams>\n | undefined\n )[]\n}\n\ntype AppMethodCallArgs = AppMethodCall<unknown>['args']\ntype AppMethodCallArg = NonNullable<AppMethodCallArgs>[number]\n\nexport type AsyncTransactionParams = {\n txn: Promise<Transaction>\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\nexport type TransactionParams = {\n txn: Transaction\n signer?: TransactionSigner\n maxFee?: AlgoAmount\n}\n\ntype ExtractedMethodCallTransactionArg =\n | { data: TransactionParams; type: 'txn' }\n | {\n data: AsyncTransactionParams\n type: 'asyncTxn'\n }\n | { data: ProcessedAppCallMethodCall | ProcessedAppCreateMethodCall | ProcessedAppUpdateMethodCall; type: 'methodCall' }\n\nexport function extractComposerTransactionsFromAppMethodCallParams(\n params: AppCallMethodCall | AppCreateMethodCall | AppUpdateMethodCall | AppDeleteMethodCall,\n parentSigner?: TransactionSigner,\n): ExtractedMethodCallTransactionArg[] {\n const composerTransactions = new Array<ExtractedMethodCallTransactionArg>()\n const methodCallArgs = params.args\n if (!methodCallArgs) return []\n\n // Extract signer from params, falling back to parentSigner\n const currentSigner = params.signer ? ('signer' in params.signer ? params.signer.signer : params.signer) : parentSigner\n\n for (let i = 0; i < methodCallArgs.length; i++) {\n const arg = methodCallArgs[i]\n\n if (arg === undefined) {\n // is a transaction or default value placeholder, do nothing\n continue\n }\n if (isAbiValue(arg)) {\n // if is ABI value, also ignore\n continue\n }\n\n if (isTransactionWithSignerArg(arg)) {\n composerTransactions.push({\n data: {\n txn: arg.txn,\n signer: arg.signer,\n },\n type: 'txn',\n })\n\n continue\n }\n if (isAppCallMethodCallArg(arg)) {\n // Recursively extract nested method call transactions, passing the nested call itself and current signer as parent\n const nestedComposerTransactions = extractComposerTransactionsFromAppMethodCallParams(arg, currentSigner)\n composerTransactions.push(...nestedComposerTransactions)\n composerTransactions.push({\n data: {\n ...arg,\n signer: arg.signer ?? currentSigner,\n args: processAppMethodCallArgs(arg.args),\n },\n type: 'methodCall',\n } satisfies ExtractedMethodCallTransactionArg)\n\n continue\n }\n if (arg instanceof Promise) {\n composerTransactions.push({\n data: {\n txn: arg,\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n continue\n }\n\n composerTransactions.push({\n data: {\n txn: Promise.resolve(arg),\n signer: currentSigner,\n },\n type: 'asyncTxn',\n })\n }\n\n return composerTransactions\n}\n\nexport function processAppMethodCallArgs(args: AppMethodCallArg[] | undefined): (ABIValue | undefined)[] | undefined {\n if (args === undefined) return undefined\n\n return args.map((arg) => {\n if (arg === undefined) {\n // Handle explicit placeholders (either transaction or default value)\n return undefined\n } else if (!isAbiValue(arg)) {\n // If the arg is not an ABIValue, it's must be a transaction, set to undefined\n // transaction arguments should be flattened out and added into the composer during the add process\n return undefined\n }\n return arg\n })\n}\n\nfunction isTransactionWithSignerArg(arg: AppMethodCallArg): arg is TransactionWithSigner {\n return typeof arg === 'object' && arg !== undefined && 'txn' in arg && 'signer' in arg\n}\n\nfunction isAppCallMethodCallArg(\n arg: AppMethodCallArg,\n): arg is AppMethodCall<AppCreateParams> | AppMethodCall<AppUpdateParams> | AppMethodCall<AppMethodCallParams> {\n return typeof arg === 'object' && arg !== undefined && 'method' in arg\n}\n\nconst isAbiValue = (x: unknown): x is ABIValue => {\n if (Array.isArray(x)) return x.length == 0 || x.every(isAbiValue)\n\n // If x is a POJO literal\n if (Object.getPrototypeOf(x) === Object.getPrototypeOf({})) {\n return Object.values(x as object).every(isAbiValue)\n }\n\n return (\n typeof x === 'bigint' ||\n typeof x === 'boolean' ||\n typeof x === 'number' ||\n typeof x === 'string' ||\n x instanceof Uint8Array ||\n x instanceof Address\n )\n}\n\n/**\n * Prepares method arguments for ABI encoding by building reference arrays and\n * replacing reference-type arguments (account, asset, application) with their indices.\n */\nfunction prepareArgsForEncoding(\n sender: Address,\n appId: bigint,\n method: ABIMethod,\n methodArgs: (ABIValue | undefined)[],\n accountReferences?: Address[],\n appReferences?: bigint[],\n assetReferences?: bigint[],\n): { accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[]; updatedArgs: (ABIValue | undefined)[] } {\n const accounts = [...(accountReferences ?? [])]\n const assets = [...(assetReferences ?? [])]\n const apps = [...(appReferences ?? [])]\n\n const updatedArgs = methodArgs.map((arg, i) => {\n const argType = method.args[i].type\n if (!argTypeIsReference(argType)) {\n return arg\n }\n switch (argType) {\n case 'account': {\n let addr: Address\n if (typeof arg === 'string') {\n addr = getAddress(arg)\n } else if (arg instanceof Uint8Array) {\n addr = new Address(arg)\n } else {\n throw new Error('Invalid value for account')\n }\n\n if (sender.equals(addr)) {\n return 0\n }\n\n const existing = accounts.findIndex((a) => a.equals(addr)) + 1\n if (existing) return existing\n\n accounts.push(addr)\n return accounts.length\n }\n case 'asset': {\n if (typeof arg !== 'bigint') {\n throw new Error('Invalid value for asset')\n }\n\n const existing = assets.findIndex((a) => a === arg)\n if (existing === -1) {\n assets.push(arg)\n return assets.length - 1\n }\n\n return existing\n }\n case 'application': {\n if (typeof arg !== 'bigint') {\n throw new Error('Invalid value for application')\n }\n\n if (arg === appId) return 0\n\n const existing = apps.findIndex((a) => a === arg) + 1\n if (existing) return existing\n\n apps.push(arg)\n return apps.length\n }\n }\n })\n\n return { accountReferences: accounts, appReferences: apps, assetReferences: assets, updatedArgs }\n}\n\n/**\n * Encode ABI method arguments with tuple packing support\n * Ports the logic from the Rust encode_method_arguments function\n */\nfunction encodeMethodArguments(method: ABIMethod, args: (ABIValue | undefined)[]): Uint8Array[] {\n const encodedArgs = new Array<Uint8Array>()\n\n // Insert method selector at the front\n encodedArgs.push(method.getSelector())\n\n // Get ABI types for non-transaction arguments\n const abiTypes = new Array<ABIType>()\n const abiValues = new Array<ABIValue>()\n\n // Process each method argument\n for (let i = 0; i < method.args.length; i++) {\n const methodArg = method.args[i]\n const argValue = args[i]\n\n if (argTypeIsTransaction(methodArg.type)) {\n // Transaction arguments are not ABI encoded - they're handled separately\n } else if (argTypeIsReference(methodArg.type)) {\n // Reference types are encoded as uint8 indexes\n const referenceType = methodArg.type\n if (typeof argValue === 'number') {\n abiTypes.push(new ABIUintType(8))\n abiValues.push(argValue)\n } else {\n throw new Error(`Invalid reference value for ${referenceType}: ${argValue}`)\n }\n } else if (argValue !== undefined) {\n // Regular ABI value\n abiTypes.push(methodArg.type)\n // it's safe to cast to ABIValue here because the abiType must be ABIValue\n abiValues.push(argValue as ABIValue)\n }\n\n // Skip undefined values (transaction placeholders)\n }\n\n if (abiValues.length !== abiTypes.length) {\n throw new Error('Mismatch in length of non-transaction arguments')\n }\n\n // Apply ARC-4 tuple packing for methods with more than 15 ABI arguments\n // Algorand allows 16 app args total; slot 0 is the method selector, leaving 15 for ABI args\n if (abiTypes.length > ARGS_TUPLE_PACKING_THRESHOLD) {\n encodedArgs.push(...encodeArgsWithTuplePacking(abiTypes, abiValues))\n } else {\n encodedArgs.push(...encodeArgsIndividually(abiTypes, abiValues))\n }\n\n return encodedArgs\n}\n\n/**\n * Encode individual ABI values\n */\nfunction encodeArgsIndividually(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n for (let i = 0; i < abiTypes.length; i++) {\n const abiType = abiTypes[i]\n const abiValue = abiValues[i]\n const encoded = abiType.encode(abiValue)\n encodedArgs.push(encoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Encode ABI values with tuple packing for methods with many arguments\n */\nfunction encodeArgsWithTuplePacking(abiTypes: ABIType[], abiValues: ABIValue[]): Uint8Array[] {\n const encodedArgs: Uint8Array[] = []\n\n // When packing is needed (> 15 args), we split at 14 to leave one slot for the packed tuple\n // This gives us: 1 (selector) + 14 (individual) + 1 (packed tuple) = 16 total app args\n const splitAt = ARGS_TUPLE_PACKING_THRESHOLD - 1\n const firstAbiTypes = abiTypes.slice(0, splitAt)\n const firstAbiValues = abiValues.slice(0, splitAt)\n encodedArgs.push(...encodeArgsIndividually(firstAbiTypes, firstAbiValues))\n\n // Pack remaining arguments into a tuple\n const remainingAbiTypes = abiTypes.slice(splitAt)\n const remainingAbiValues = abiValues.slice(splitAt)\n\n if (remainingAbiTypes.length > 0) {\n const tupleType = new ABITupleType(remainingAbiTypes)\n const tupleValue = remainingAbiValues\n const tupleEncoded = tupleType.encode(tupleValue)\n encodedArgs.push(tupleEncoded)\n }\n\n return encodedArgs\n}\n\n/**\n * Builds encoded ABI method arguments and resolves reference arrays\n */\nfunction buildMethodCallArgsAndReferences(params: {\n sender: Address\n appId: bigint\n method: ABIMethod\n args: (ABIValue | undefined)[]\n accountReferences?: Address[]\n appReferences?: bigint[]\n assetReferences?: bigint[]\n}): { args: Uint8Array[]; accountReferences: Address[]; appReferences: bigint[]; assetReferences: bigint[] } {\n const { accountReferences, appReferences, assetReferences, updatedArgs } = prepareArgsForEncoding(\n params.sender,\n params.appId,\n params.method,\n params.args ?? [],\n params.accountReferences,\n params.appReferences,\n params.assetReferences,\n )\n\n const encodedArgs = encodeMethodArguments(params.method, updatedArgs)\n\n return {\n args: encodedArgs,\n accountReferences,\n appReferences,\n assetReferences,\n }\n}\n\nexport const buildAppCreateMethodCall = async (\n params: ProcessedAppCreateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const globalStateSchema =\n params.schema?.globalByteSlices !== undefined || params.schema?.globalInts !== undefined\n ? {\n numByteSlices: params.schema?.globalByteSlices ?? 0,\n numUints: params.schema?.globalInts ?? 0,\n }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? {\n numByteSlices: params.schema?.localByteSlices ?? 0,\n numUints: params.schema?.localInts ?? 0,\n }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const argsAndReferences = buildMethodCallArgsAndReferences({\n sender: commonData.sender,\n appId: 0n,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n })\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: 0n,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: argsAndReferences.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: argsAndReferences.accountReferences,\n appReferences: argsAndReferences.appReferences,\n assetReferences: argsAndReferences.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdateMethodCall = async (\n params: ProcessedAppUpdateMethodCall,\n appManager: AppManager,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const approvalProgram =\n typeof params.approvalProgram === 'string'\n ? (await appManager.compileTeal(params.approvalProgram)).compiledBase64ToBytes\n : params.approvalProgram\n const clearStateProgram =\n typeof params.clearStateProgram === 'string'\n ? (await appManager.compileTeal(params.clearStateProgram)).compiledBase64ToBytes\n : params.clearStateProgram\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const argsAndReferences = buildMethodCallArgsAndReferences({\n sender: commonData.sender,\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n })\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: OnApplicationComplete.UpdateApplication,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n args: argsAndReferences.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: argsAndReferences.accountReferences,\n appReferences: argsAndReferences.appReferences,\n assetReferences: argsAndReferences.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCallMethodCall = async (\n params: ProcessedAppCallMethodCall,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Promise<Transaction> => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n const accountReferences = params.accountReferences?.map((a) => getAddress(a))\n const argsAndReferences = buildMethodCallArgsAndReferences({\n sender: commonData.sender,\n appId: params.appId,\n method: params.method,\n args: params.args ?? [],\n accountReferences: accountReferences,\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n })\n\n // If accessReferences is provided, we should not pass legacy foreign arrays\n const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0\n\n return new Transaction({\n ...commonData,\n type: TransactionType.AppCall,\n appCall: {\n appId: params.appId,\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n args: argsAndReferences.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: argsAndReferences.accountReferences,\n appReferences: argsAndReferences.appReferences,\n assetReferences: argsAndReferences.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n"],"mappings":";;;;;;;;;;AAmBA,MAAM,+BAA+B;AAuFrC,SAAgB,mDACd,QACA,cACqC;CACrC,MAAM,uBAAuB,IAAI,OAA0C;CAC3E,MAAM,iBAAiB,OAAO;AAC9B,KAAI,CAAC,eAAgB,QAAO,EAAE;CAG9B,MAAM,gBAAgB,OAAO,SAAU,YAAY,OAAO,SAAS,OAAO,OAAO,SAAS,OAAO,SAAU;AAE3G,MAAK,IAAI,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;EAC9C,MAAM,MAAM,eAAe;AAE3B,MAAI,QAAQ,KAAA,EAEV;AAEF,MAAI,WAAW,IAAI,CAEjB;AAGF,MAAI,2BAA2B,IAAI,EAAE;AACnC,wBAAqB,KAAK;IACxB,MAAM;KACJ,KAAK,IAAI;KACT,QAAQ,IAAI;KACb;IACD,MAAM;IACP,CAAC;AAEF;;AAEF,MAAI,uBAAuB,IAAI,EAAE;GAE/B,MAAM,6BAA6B,mDAAmD,KAAK,cAAc;AACzG,wBAAqB,KAAK,GAAG,2BAA2B;AACxD,wBAAqB,KAAK;IACxB,MAAM;KACJ,GAAG;KACH,QAAQ,IAAI,UAAU;KACtB,MAAM,yBAAyB,IAAI,KAAK;KACzC;IACD,MAAM;IACP,CAA6C;AAE9C;;AAEF,MAAI,eAAe,SAAS;AAC1B,wBAAqB,KAAK;IACxB,MAAM;KACJ,KAAK;KACL,QAAQ;KACT;IACD,MAAM;IACP,CAAC;AACF;;AAGF,uBAAqB,KAAK;GACxB,MAAM;IACJ,KAAK,QAAQ,QAAQ,IAAI;IACzB,QAAQ;IACT;GACD,MAAM;GACP,CAAC;;AAGJ,QAAO;;AAGT,SAAgB,yBAAyB,MAA4E;AACnH,KAAI,SAAS,KAAA,EAAW,QAAO,KAAA;AAE/B,QAAO,KAAK,KAAK,QAAQ;AACvB,MAAI,QAAQ,KAAA,EAEV;WACS,CAAC,WAAW,IAAI,CAGzB;AAEF,SAAO;GACP;;AAGJ,SAAS,2BAA2B,KAAqD;AACvF,QAAO,OAAO,QAAQ,YAAY,QAAQ,KAAA,KAAa,SAAS,OAAO,YAAY;;AAGrF,SAAS,uBACP,KAC6G;AAC7G,QAAO,OAAO,QAAQ,YAAY,QAAQ,KAAA,KAAa,YAAY;;AAGrE,MAAM,cAAc,MAA8B;AAChD,KAAI,MAAM,QAAQ,EAAE,CAAE,QAAO,EAAE,UAAU,KAAK,EAAE,MAAM,WAAW;AAGjE,KAAI,OAAO,eAAe,EAAE,KAAK,OAAO,eAAe,EAAE,CAAC,CACxD,QAAO,OAAO,OAAO,EAAY,CAAC,MAAM,WAAW;AAGrD,QACE,OAAO,MAAM,YACb,OAAO,MAAM,aACb,OAAO,MAAM,YACb,OAAO,MAAM,YACb,aAAa,cACb,aAAa;;;;;;AAQjB,SAAS,uBACP,QACA,OACA,QACA,YACA,mBACA,eACA,iBAC6H;CAC7H,MAAM,WAAW,CAAC,GAAI,qBAAqB,EAAE,CAAE;CAC/C,MAAM,SAAS,CAAC,GAAI,mBAAmB,EAAE,CAAE;CAC3C,MAAM,OAAO,CAAC,GAAI,iBAAiB,EAAE,CAAE;AAyDvC,QAAO;EAAE,mBAAmB;EAAU,eAAe;EAAM,iBAAiB;EAAQ,aAvDhE,WAAW,KAAK,KAAK,MAAM;GAC7C,MAAM,UAAU,OAAO,KAAK,GAAG;AAC/B,OAAI,CAAC,mBAAmB,QAAQ,CAC9B,QAAO;AAET,WAAQ,SAAR;IACE,KAAK,WAAW;KACd,IAAI;AACJ,SAAI,OAAO,QAAQ,SACjB,QAAO,WAAW,IAAI;cACb,eAAe,WACxB,QAAO,IAAI,QAAQ,IAAI;SAEvB,OAAM,IAAI,MAAM,4BAA4B;AAG9C,SAAI,OAAO,OAAO,KAAK,CACrB,QAAO;KAGT,MAAM,WAAW,SAAS,WAAW,MAAM,EAAE,OAAO,KAAK,CAAC,GAAG;AAC7D,SAAI,SAAU,QAAO;AAErB,cAAS,KAAK,KAAK;AACnB,YAAO,SAAS;;IAElB,KAAK,SAAS;AACZ,SAAI,OAAO,QAAQ,SACjB,OAAM,IAAI,MAAM,0BAA0B;KAG5C,MAAM,WAAW,OAAO,WAAW,MAAM,MAAM,IAAI;AACnD,SAAI,aAAa,IAAI;AACnB,aAAO,KAAK,IAAI;AAChB,aAAO,OAAO,SAAS;;AAGzB,YAAO;;IAET,KAAK,eAAe;AAClB,SAAI,OAAO,QAAQ,SACjB,OAAM,IAAI,MAAM,gCAAgC;AAGlD,SAAI,QAAQ,MAAO,QAAO;KAE1B,MAAM,WAAW,KAAK,WAAW,MAAM,MAAM,IAAI,GAAG;AACpD,SAAI,SAAU,QAAO;AAErB,UAAK,KAAK,IAAI;AACd,YAAO,KAAK;;;IAGhB;EAE+F;;;;;;AAOnG,SAAS,sBAAsB,QAAmB,MAA8C;CAC9F,MAAM,cAAc,IAAI,OAAmB;AAG3C,aAAY,KAAK,OAAO,aAAa,CAAC;CAGtC,MAAM,WAAW,IAAI,OAAgB;CACrC,MAAM,YAAY,IAAI,OAAiB;AAGvC,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;EAC3C,MAAM,YAAY,OAAO,KAAK;EAC9B,MAAM,WAAW,KAAK;AAEtB,MAAI,qBAAqB,UAAU,KAAK,EAAE,YAE/B,mBAAmB,UAAU,KAAK,EAAE;GAE7C,MAAM,gBAAgB,UAAU;AAChC,OAAI,OAAO,aAAa,UAAU;AAChC,aAAS,KAAK,IAAI,YAAY,EAAE,CAAC;AACjC,cAAU,KAAK,SAAS;SAExB,OAAM,IAAI,MAAM,+BAA+B,cAAc,IAAI,WAAW;aAErE,aAAa,KAAA,GAAW;AAEjC,YAAS,KAAK,UAAU,KAAK;AAE7B,aAAU,KAAK,SAAqB;;;AAMxC,KAAI,UAAU,WAAW,SAAS,OAChC,OAAM,IAAI,MAAM,kDAAkD;AAKpE,KAAI,SAAS,SAAS,6BACpB,aAAY,KAAK,GAAG,2BAA2B,UAAU,UAAU,CAAC;KAEpE,aAAY,KAAK,GAAG,uBAAuB,UAAU,UAAU,CAAC;AAGlE,QAAO;;;;;AAMT,SAAS,uBAAuB,UAAqB,WAAqC;CACxF,MAAM,cAA4B,EAAE;AAEpC,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EAGxC,MAAM,UAFU,SAAS,GAED,OADP,UAAU,GACa;AACxC,cAAY,KAAK,QAAQ;;AAG3B,QAAO;;;;;AAMT,SAAS,2BAA2B,UAAqB,WAAqC;CAC5F,MAAM,cAA4B,EAAE;CAIpC,MAAM,UAAU,+BAA+B;CAC/C,MAAM,gBAAgB,SAAS,MAAM,GAAG,QAAQ;CAChD,MAAM,iBAAiB,UAAU,MAAM,GAAG,QAAQ;AAClD,aAAY,KAAK,GAAG,uBAAuB,eAAe,eAAe,CAAC;CAG1E,MAAM,oBAAoB,SAAS,MAAM,QAAQ;CACjD,MAAM,qBAAqB,UAAU,MAAM,QAAQ;AAEnD,KAAI,kBAAkB,SAAS,GAAG;EAGhC,MAAM,eAFY,IAAI,aAAa,kBAAkB,CAEtB,OADZ,mBAC8B;AACjD,cAAY,KAAK,aAAa;;AAGhC,QAAO;;;;;AAMT,SAAS,iCAAiC,QAQmE;CAC3G,MAAM,EAAE,mBAAmB,eAAe,iBAAiB,gBAAgB,uBACzE,OAAO,QACP,OAAO,OACP,OAAO,QACP,OAAO,QAAQ,EAAE,EACjB,OAAO,mBACP,OAAO,eACP,OAAO,gBACR;AAID,QAAO;EACL,MAHkB,sBAAsB,OAAO,QAAQ,YAAY;EAInE;EACA;EACA;EACD;;AAGH,MAAa,2BAA2B,OACtC,QACA,YACA,iBACA,0BACyB;CACzB,MAAM,aAAa,2BAA2B,QAAQ,iBAAiB,sBAAsB;CAC7F,MAAM,kBACJ,OAAO,OAAO,oBAAoB,YAC7B,MAAM,WAAW,YAAY,OAAO,gBAAgB,EAAE,wBACvD,OAAO;CACb,MAAM,oBACJ,OAAO,OAAO,sBAAsB,YAC/B,MAAM,WAAW,YAAY,OAAO,kBAAkB,EAAE,wBACzD,OAAO;CACb,MAAM,oBACJ,OAAO,QAAQ,qBAAqB,KAAA,KAAa,OAAO,QAAQ,eAAe,KAAA,IAC3E;EACE,eAAe,OAAO,QAAQ,oBAAoB;EAClD,UAAU,OAAO,QAAQ,cAAc;EACxC,GACD,KAAA;CACN,MAAM,mBACJ,OAAO,QAAQ,oBAAoB,KAAA,KAAa,OAAO,QAAQ,cAAc,KAAA,IACzE;EACE,eAAe,OAAO,QAAQ,mBAAmB;EACjD,UAAU,OAAO,QAAQ,aAAa;EACvC,GACD,KAAA;CACN,MAAM,oBACJ,OAAO,sBAAsB,KAAA,IAAY,OAAO,oBAAoB,2BAA2B,iBAAkB,kBAAmB;CACtI,MAAM,oBAAoB,OAAO,mBAAmB,KAAK,MAAM,WAAW,EAAE,CAAC;CAC7E,MAAM,oBAAoB,iCAAiC;EACzD,QAAQ,WAAW;EACnB,OAAO;EACP,QAAQ,OAAO;EACf,MAAM,OAAO,QAAQ,EAAE;EACJ;EACnB,eAAe,OAAO;EACtB,iBAAiB,OAAO;EACzB,CAAC;CAGF,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAI,YAAY;EACrB,GAAG;EACH,MAAM,gBAAgB;EACtB,SAAS;GACP,OAAO;GACP,YAAY,OAAO,cAAc,sBAAsB;GACtC;GACE;GACA;GACD;GACC;GACnB,MAAM,kBAAkB;GACxB,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,kBAAkB;IACrC,eAAe,kBAAkB;IACjC,iBAAiB,kBAAkB;IACnC,eAAe,OAAO,eAAe,IAAI,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC;;AAGJ,MAAa,2BAA2B,OACtC,QACA,YACA,iBACA,0BACyB;CACzB,MAAM,aAAa,2BAA2B,QAAQ,iBAAiB,sBAAsB;CAC7F,MAAM,kBACJ,OAAO,OAAO,oBAAoB,YAC7B,MAAM,WAAW,YAAY,OAAO,gBAAgB,EAAE,wBACvD,OAAO;CACb,MAAM,oBACJ,OAAO,OAAO,sBAAsB,YAC/B,MAAM,WAAW,YAAY,OAAO,kBAAkB,EAAE,wBACzD,OAAO;CACb,MAAM,oBAAoB,OAAO,mBAAmB,KAAK,MAAM,WAAW,EAAE,CAAC;CAC7E,MAAM,oBAAoB,iCAAiC;EACzD,QAAQ,WAAW;EACnB,OAAO,OAAO;EACd,QAAQ,OAAO;EACf,MAAM,OAAO,QAAQ,EAAE;EACJ;EACnB,eAAe,OAAO;EACtB,iBAAiB,OAAO;EACzB,CAAC;CAGF,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAI,YAAY;EACrB,GAAG;EACH,MAAM,gBAAgB;EACtB,SAAS;GACP,OAAO,OAAO;GACd,YAAY,sBAAsB;GACjB;GACE;GACnB,MAAM,kBAAkB;GACxB,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,kBAAkB;IACrC,eAAe,kBAAkB;IACjC,iBAAiB,kBAAkB;IACnC,eAAe,OAAO,eAAe,IAAI,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC;;AAGJ,MAAa,yBAAyB,OACpC,QACA,iBACA,0BACyB;CACzB,MAAM,aAAa,2BAA2B,QAAQ,iBAAiB,sBAAsB;CAC7F,MAAM,oBAAoB,OAAO,mBAAmB,KAAK,MAAM,WAAW,EAAE,CAAC;CAC7E,MAAM,oBAAoB,iCAAiC;EACzD,QAAQ,WAAW;EACnB,OAAO,OAAO;EACd,QAAQ,OAAO;EACf,MAAM,OAAO,QAAQ,EAAE;EACJ;EACnB,eAAe,OAAO;EACtB,iBAAiB,OAAO;EACzB,CAAC;CAGF,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAI,YAAY;EACrB,GAAG;EACH,MAAM,gBAAgB;EACtB,SAAS;GACP,OAAO,OAAO;GACd,YAAY,OAAO,cAAc,sBAAsB;GACvD,MAAM,kBAAkB;GACxB,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,kBAAkB;IACrC,eAAe,kBAAkB;IACjC,iBAAiB,kBAAkB;IACnC,eAAe,OAAO,eAAe,IAAI,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC"}
@@ -1,14 +1,11 @@
1
1
  import { ReadableAddress } from "../packages/common/src/address.js";
2
- import { AlgoAmount } from "../types/amount.js";
2
+ import { AlgoAmount } from "../amount.js";
3
3
  import { CommonTransactionParams } from "./common.js";
4
4
 
5
5
  //#region src/transactions/payment.d.ts
6
-
7
6
  /** Parameters to define a payment transaction. */
8
7
  type PaymentParams = CommonTransactionParams & {
9
- /** The address of the account that will receive the Algo */
10
- receiver: ReadableAddress;
11
- /** Amount to send */
8
+ /** The address of the account that will receive the Algo */receiver: ReadableAddress; /** Amount to send */
12
9
  amount: AlgoAmount;
13
10
  /** If given, close the sender account and send the remaining balance to this address
14
11
  *
@@ -1,8 +1,7 @@
1
- const require_address = require('../packages/common/src/address.js');
2
- const require_transaction_type = require('../packages/transact/src/transactions/transaction-type.js');
3
- const require_transaction = require('../packages/transact/src/transactions/transaction.js');
4
- const require_common = require('./common.js');
5
-
1
+ const require_address = require("../packages/common/src/address.js");
2
+ const require_transaction_type = require("../packages/transact/src/transactions/transaction-type.js");
3
+ const require_transaction = require("../packages/transact/src/transactions/transaction.js");
4
+ const require_common = require("./common.js");
6
5
  //#region src/transactions/payment.ts
7
6
  const buildPayment = (params, suggestedParams, defaultValidityWindow) => {
8
7
  return new require_transaction.Transaction({
@@ -15,7 +14,7 @@ const buildPayment = (params, suggestedParams, defaultValidityWindow) => {
15
14
  }
16
15
  });
17
16
  };
18
-
19
17
  //#endregion
20
18
  exports.buildPayment = buildPayment;
19
+
21
20
  //# sourceMappingURL=payment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","names":["Transaction","buildTransactionCommonData","TransactionType","getAddress","getOptionalAddress"],"sources":["../../src/transactions/payment.ts"],"sourcesContent":["import { SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport { ReadableAddress, getAddress, getOptionalAddress } from '@algorandfoundation/algokit-common'\nimport { Transaction, TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgoAmount } from '../types/amount'\nimport { CommonTransactionParams, buildTransactionCommonData } from './common'\n\n/** Parameters to define a payment transaction. */\nexport type PaymentParams = CommonTransactionParams & {\n /** The address of the account that will receive the Algo */\n receiver: ReadableAddress\n /** Amount to send */\n amount: AlgoAmount\n /** If given, close the sender account and send the remaining balance to this address\n *\n * *Warning:* Be careful with this parameter as it can lead to loss of funds if not used correctly.\n */\n closeRemainderTo?: ReadableAddress\n}\n\nexport const buildPayment = (params: PaymentParams, suggestedParams: SuggestedParams, defaultValidityWindow: bigint): Transaction => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n return new Transaction({\n ...commonData,\n type: TransactionType.Payment,\n payment: {\n receiver: getAddress(params.receiver),\n amount: params.amount.microAlgos,\n closeRemainderTo: getOptionalAddress(params.closeRemainderTo),\n },\n })\n}\n"],"mappings":";;;;;;AAmBA,MAAa,gBAAgB,QAAuB,iBAAkC,0BAA+C;AAEnI,QAAO,IAAIA,gCAAY;EACrB,GAFiBC,0CAA2B,QAAQ,iBAAiB,sBAAsB;EAG3F,MAAMC,yCAAgB;EACtB,SAAS;GACP,UAAUC,2BAAW,OAAO,SAAS;GACrC,QAAQ,OAAO,OAAO;GACtB,kBAAkBC,mCAAmB,OAAO,iBAAiB;GAC9D;EACF,CAAC"}
1
+ {"version":3,"file":"payment.js","names":["Transaction","buildTransactionCommonData","TransactionType","getAddress","getOptionalAddress"],"sources":["../../src/transactions/payment.ts"],"sourcesContent":["import { SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport { ReadableAddress, getAddress, getOptionalAddress } from '@algorandfoundation/algokit-common'\nimport { Transaction, TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgoAmount } from '../amount'\nimport { CommonTransactionParams, buildTransactionCommonData } from './common'\n\n/** Parameters to define a payment transaction. */\nexport type PaymentParams = CommonTransactionParams & {\n /** The address of the account that will receive the Algo */\n receiver: ReadableAddress\n /** Amount to send */\n amount: AlgoAmount\n /** If given, close the sender account and send the remaining balance to this address\n *\n * *Warning:* Be careful with this parameter as it can lead to loss of funds if not used correctly.\n */\n closeRemainderTo?: ReadableAddress\n}\n\nexport const buildPayment = (params: PaymentParams, suggestedParams: SuggestedParams, defaultValidityWindow: bigint): Transaction => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\n return new Transaction({\n ...commonData,\n type: TransactionType.Payment,\n payment: {\n receiver: getAddress(params.receiver),\n amount: params.amount.microAlgos,\n closeRemainderTo: getOptionalAddress(params.closeRemainderTo),\n },\n })\n}\n"],"mappings":";;;;;AAmBA,MAAa,gBAAgB,QAAuB,iBAAkC,0BAA+C;AAEnI,QAAO,IAAIA,oBAAAA,YAAY;EACrB,GAFiBC,eAAAA,2BAA2B,QAAQ,iBAAiB,sBAAsB;EAG3F,MAAMC,yBAAAA,gBAAgB;EACtB,SAAS;GACP,UAAUC,gBAAAA,WAAW,OAAO,SAAS;GACrC,QAAQ,OAAO,OAAO;GACtB,kBAAkBC,gBAAAA,mBAAmB,OAAO,iBAAiB;GAC9D;EACF,CAAC"}