@algorandfoundation/algokit-utils 10.0.0-beta.2 → 10.0.0-beta.4

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 (720) hide show
  1. package/account-manager.d.ts +72 -1
  2. package/account-manager.js +63 -1
  3. package/account-manager.js.map +1 -1
  4. package/account-manager.mjs +63 -1
  5. package/account-manager.mjs.map +1 -1
  6. package/algo25/index.d.ts +1 -1
  7. package/algo25/index.js +1 -1
  8. package/algo25/index.mjs +1 -1
  9. package/algorand-client-transaction-creator.js.map +1 -1
  10. package/algorand-client-transaction-creator.mjs.map +1 -1
  11. package/algorand-client-transaction-sender.js +0 -1
  12. package/algorand-client-transaction-sender.js.map +1 -1
  13. package/algorand-client-transaction-sender.mjs.map +1 -1
  14. package/algorand-client.js +5 -1
  15. package/algorand-client.js.map +1 -1
  16. package/algorand-client.mjs +5 -1
  17. package/algorand-client.mjs.map +1 -1
  18. package/amount.js.map +1 -1
  19. package/amount.mjs.map +1 -1
  20. package/app-client.js +174 -17
  21. package/app-client.js.map +1 -1
  22. package/app-client.mjs +174 -16
  23. package/app-client.mjs.map +1 -1
  24. package/app-deployer.js +8 -8
  25. package/app-deployer.js.map +1 -1
  26. package/app-deployer.mjs +9 -9
  27. package/app-deployer.mjs.map +1 -1
  28. package/app-factory.d.ts +2 -2
  29. package/app-factory.js +49 -9
  30. package/app-factory.js.map +1 -1
  31. package/app-factory.mjs +49 -9
  32. package/app-factory.mjs.map +1 -1
  33. package/app-manager.js.map +1 -1
  34. package/app-manager.mjs.map +1 -1
  35. package/app-spec.js.map +1 -1
  36. package/app-spec.mjs.map +1 -1
  37. package/app.js.map +1 -1
  38. package/app.mjs.map +1 -1
  39. package/asset-manager.js.map +1 -1
  40. package/asset-manager.mjs.map +1 -1
  41. package/async-event-emitter.js.map +1 -1
  42. package/async-event-emitter.mjs.map +1 -1
  43. package/client-manager.js.map +1 -1
  44. package/client-manager.mjs.map +1 -1
  45. package/composer.js +17 -18
  46. package/composer.js.map +1 -1
  47. package/composer.mjs +17 -17
  48. package/composer.mjs.map +1 -1
  49. package/config.js.map +1 -1
  50. package/config.mjs.map +1 -1
  51. package/crypto/index.d.ts +3 -3
  52. package/crypto/index.js +5 -2
  53. package/crypto/index.mjs +3 -3
  54. package/dispenser-client.js +4 -8
  55. package/dispenser-client.js.map +1 -1
  56. package/dispenser-client.mjs +4 -8
  57. package/dispenser-client.mjs.map +1 -1
  58. package/indexer-client/indexer-lookup.js.map +1 -1
  59. package/indexer-client/indexer-lookup.mjs.map +1 -1
  60. package/indexer.js.map +1 -1
  61. package/indexer.mjs.map +1 -1
  62. package/kmd-account-manager.js.map +1 -1
  63. package/kmd-account-manager.mjs.map +1 -1
  64. package/lifecycle-events.js.map +1 -1
  65. package/lifecycle-events.mjs.map +1 -1
  66. package/logging.js.map +1 -1
  67. package/logging.mjs.map +1 -1
  68. package/logic-error.js.map +1 -1
  69. package/logic-error.mjs.map +1 -1
  70. package/network-client.js.map +1 -1
  71. package/network-client.mjs.map +1 -1
  72. package/network-manager.js.map +1 -1
  73. package/network-manager.mjs.map +1 -1
  74. package/package.json +3 -2
  75. package/packages/abi/src/abi-method.js +6 -6
  76. package/packages/abi/src/abi-method.js.map +1 -1
  77. package/packages/abi/src/abi-method.mjs +6 -5
  78. package/packages/abi/src/abi-method.mjs.map +1 -1
  79. package/packages/abi/src/abi-type.js +9 -0
  80. package/packages/abi/src/abi-type.js.map +1 -1
  81. package/packages/abi/src/abi-type.mjs +9 -0
  82. package/packages/abi/src/abi-type.mjs.map +1 -1
  83. package/packages/abi/src/arc56-contract.js.map +1 -1
  84. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  85. package/packages/abi/src/bigint.js.map +1 -1
  86. package/packages/abi/src/bigint.mjs.map +1 -1
  87. package/packages/abi/src/utils.js.map +1 -1
  88. package/packages/abi/src/utils.mjs.map +1 -1
  89. package/packages/algod_client/src/apis/api-service.js +3 -1
  90. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  91. package/packages/algod_client/src/apis/api-service.mjs +3 -1
  92. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  93. package/packages/algod_client/src/client.js.map +1 -1
  94. package/packages/algod_client/src/client.mjs.map +1 -1
  95. package/packages/algod_client/src/core/api-error.js.map +1 -1
  96. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  97. package/packages/algod_client/src/core/base-http-request.js +1 -0
  98. package/packages/algod_client/src/core/base-http-request.js.map +1 -1
  99. package/packages/algod_client/src/core/base-http-request.mjs +1 -0
  100. package/packages/algod_client/src/core/base-http-request.mjs.map +1 -1
  101. package/packages/algod_client/src/core/fetch-http-request.js.map +1 -1
  102. package/packages/algod_client/src/core/fetch-http-request.mjs.map +1 -1
  103. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  104. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  105. package/packages/algod_client/src/core/request.js.map +1 -1
  106. package/packages/algod_client/src/core/request.mjs.map +1 -1
  107. package/packages/algod_client/src/models/account-application-response.js.map +1 -1
  108. package/packages/algod_client/src/models/account-application-response.mjs.map +1 -1
  109. package/packages/algod_client/src/models/account-asset-response.js.map +1 -1
  110. package/packages/algod_client/src/models/account-asset-response.mjs.map +1 -1
  111. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  112. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  113. package/packages/algod_client/src/models/account-state-delta.js.map +1 -1
  114. package/packages/algod_client/src/models/account-state-delta.mjs.map +1 -1
  115. package/packages/algod_client/src/models/account.js.map +1 -1
  116. package/packages/algod_client/src/models/account.mjs.map +1 -1
  117. package/packages/algod_client/src/models/application-initial-states.js.map +1 -1
  118. package/packages/algod_client/src/models/application-initial-states.mjs.map +1 -1
  119. package/packages/algod_client/src/models/application-kv-storage.js.map +1 -1
  120. package/packages/algod_client/src/models/application-kv-storage.mjs.map +1 -1
  121. package/packages/algod_client/src/models/application-local-state.js.map +1 -1
  122. package/packages/algod_client/src/models/application-local-state.mjs.map +1 -1
  123. package/packages/algod_client/src/models/application-params.js.map +1 -1
  124. package/packages/algod_client/src/models/application-params.mjs.map +1 -1
  125. package/packages/algod_client/src/models/application-state-operation.js.map +1 -1
  126. package/packages/algod_client/src/models/application-state-operation.mjs.map +1 -1
  127. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  128. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  129. package/packages/algod_client/src/models/application.js.map +1 -1
  130. package/packages/algod_client/src/models/application.mjs.map +1 -1
  131. package/packages/algod_client/src/models/asset-holding.js.map +1 -1
  132. package/packages/algod_client/src/models/asset-holding.mjs.map +1 -1
  133. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  134. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  135. package/packages/algod_client/src/models/asset.js.map +1 -1
  136. package/packages/algod_client/src/models/asset.mjs.map +1 -1
  137. package/packages/algod_client/src/models/avm-key-value.js.map +1 -1
  138. package/packages/algod_client/src/models/avm-key-value.mjs.map +1 -1
  139. package/packages/algod_client/src/models/avm-value.js.map +1 -1
  140. package/packages/algod_client/src/models/avm-value.mjs.map +1 -1
  141. package/packages/algod_client/src/models/block-hash-response.js.map +1 -1
  142. package/packages/algod_client/src/models/block-hash-response.mjs.map +1 -1
  143. package/packages/algod_client/src/models/block-response.js.map +1 -1
  144. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  145. package/packages/algod_client/src/models/block-txids-response.js.map +1 -1
  146. package/packages/algod_client/src/models/block-txids-response.mjs.map +1 -1
  147. package/packages/algod_client/src/models/block.js.map +1 -1
  148. package/packages/algod_client/src/models/block.mjs.map +1 -1
  149. package/packages/algod_client/src/models/box-descriptor.js.map +1 -1
  150. package/packages/algod_client/src/models/box-descriptor.mjs.map +1 -1
  151. package/packages/algod_client/src/models/box.js.map +1 -1
  152. package/packages/algod_client/src/models/box.mjs.map +1 -1
  153. package/packages/algod_client/src/models/boxes-response.js.map +1 -1
  154. package/packages/algod_client/src/models/boxes-response.mjs.map +1 -1
  155. package/packages/algod_client/src/models/build-version.js.map +1 -1
  156. package/packages/algod_client/src/models/build-version.mjs.map +1 -1
  157. package/packages/algod_client/src/models/compile-response.js.map +1 -1
  158. package/packages/algod_client/src/models/compile-response.mjs.map +1 -1
  159. package/packages/algod_client/src/models/disassemble-response.js.map +1 -1
  160. package/packages/algod_client/src/models/disassemble-response.mjs.map +1 -1
  161. package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
  162. package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
  163. package/packages/algod_client/src/models/eval-delta.js.map +1 -1
  164. package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
  165. package/packages/algod_client/src/models/genesis-allocation.js.map +1 -1
  166. package/packages/algod_client/src/models/genesis-allocation.mjs.map +1 -1
  167. package/packages/algod_client/src/models/genesis.js.map +1 -1
  168. package/packages/algod_client/src/models/genesis.mjs.map +1 -1
  169. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js.map +1 -1
  170. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs.map +1 -1
  171. package/packages/algod_client/src/models/get-sync-round-response.js.map +1 -1
  172. package/packages/algod_client/src/models/get-sync-round-response.mjs.map +1 -1
  173. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js.map +1 -1
  174. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs.map +1 -1
  175. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  176. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  177. package/packages/algod_client/src/models/light-block-header-proof.js.map +1 -1
  178. package/packages/algod_client/src/models/light-block-header-proof.mjs.map +1 -1
  179. package/packages/algod_client/src/models/node-status-response.js.map +1 -1
  180. package/packages/algod_client/src/models/node-status-response.mjs.map +1 -1
  181. package/packages/algod_client/src/models/pending-transaction-response.js.map +1 -1
  182. package/packages/algod_client/src/models/pending-transaction-response.mjs.map +1 -1
  183. package/packages/algod_client/src/models/pending-transactions-response.js.map +1 -1
  184. package/packages/algod_client/src/models/pending-transactions-response.mjs.map +1 -1
  185. package/packages/algod_client/src/models/post-transactions-response.js.map +1 -1
  186. package/packages/algod_client/src/models/post-transactions-response.mjs.map +1 -1
  187. package/packages/algod_client/src/models/scratch-change.js.map +1 -1
  188. package/packages/algod_client/src/models/scratch-change.mjs.map +1 -1
  189. package/packages/algod_client/src/models/simulate-initial-states.js.map +1 -1
  190. package/packages/algod_client/src/models/simulate-initial-states.mjs.map +1 -1
  191. package/packages/algod_client/src/models/simulate-request-transaction-group.js.map +1 -1
  192. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs.map +1 -1
  193. package/packages/algod_client/src/models/simulate-request.js.map +1 -1
  194. package/packages/algod_client/src/models/simulate-request.mjs.map +1 -1
  195. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  196. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  197. package/packages/algod_client/src/models/simulate-trace-config.js.map +1 -1
  198. package/packages/algod_client/src/models/simulate-trace-config.mjs.map +1 -1
  199. package/packages/algod_client/src/models/simulate-transaction-group-result.js.map +1 -1
  200. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs.map +1 -1
  201. package/packages/algod_client/src/models/simulate-transaction-result.js.map +1 -1
  202. package/packages/algod_client/src/models/simulate-transaction-result.mjs.map +1 -1
  203. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  204. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  205. package/packages/algod_client/src/models/simulation-eval-overrides.js.map +1 -1
  206. package/packages/algod_client/src/models/simulation-eval-overrides.mjs.map +1 -1
  207. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js.map +1 -1
  208. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs.map +1 -1
  209. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js.map +1 -1
  210. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs.map +1 -1
  211. package/packages/algod_client/src/models/source-map.js.map +1 -1
  212. package/packages/algod_client/src/models/source-map.mjs.map +1 -1
  213. package/packages/algod_client/src/models/state-delta.js.map +1 -1
  214. package/packages/algod_client/src/models/state-delta.mjs.map +1 -1
  215. package/packages/algod_client/src/models/state-proof-message.js.map +1 -1
  216. package/packages/algod_client/src/models/state-proof-message.mjs.map +1 -1
  217. package/packages/algod_client/src/models/state-proof.js.map +1 -1
  218. package/packages/algod_client/src/models/state-proof.mjs.map +1 -1
  219. package/packages/algod_client/src/models/supply-response.js.map +1 -1
  220. package/packages/algod_client/src/models/supply-response.mjs.map +1 -1
  221. package/packages/algod_client/src/models/teal-key-value-store.js.map +1 -1
  222. package/packages/algod_client/src/models/teal-key-value-store.mjs.map +1 -1
  223. package/packages/algod_client/src/models/teal-key-value.js.map +1 -1
  224. package/packages/algod_client/src/models/teal-key-value.mjs.map +1 -1
  225. package/packages/algod_client/src/models/teal-value.js.map +1 -1
  226. package/packages/algod_client/src/models/teal-value.mjs.map +1 -1
  227. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js.map +1 -1
  228. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs.map +1 -1
  229. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  230. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  231. package/packages/algod_client/src/models/transaction-proof.js.map +1 -1
  232. package/packages/algod_client/src/models/transaction-proof.mjs.map +1 -1
  233. package/packages/algod_client/src/models/version.js.map +1 -1
  234. package/packages/algod_client/src/models/version.mjs.map +1 -1
  235. package/packages/common/src/address.js.map +1 -1
  236. package/packages/common/src/address.mjs.map +1 -1
  237. package/packages/common/src/array.js.map +1 -1
  238. package/packages/common/src/array.mjs.map +1 -1
  239. package/packages/common/src/codecs/codec.js.map +1 -1
  240. package/packages/common/src/codecs/codec.mjs.map +1 -1
  241. package/packages/common/src/codecs/composite/array.js +1 -0
  242. package/packages/common/src/codecs/composite/array.js.map +1 -1
  243. package/packages/common/src/codecs/composite/array.mjs +1 -0
  244. package/packages/common/src/codecs/composite/array.mjs.map +1 -1
  245. package/packages/common/src/codecs/composite/map.js +2 -0
  246. package/packages/common/src/codecs/composite/map.js.map +1 -1
  247. package/packages/common/src/codecs/composite/map.mjs +2 -0
  248. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  249. package/packages/common/src/codecs/composite/record.js +1 -1
  250. package/packages/common/src/codecs/composite/record.js.map +1 -1
  251. package/packages/common/src/codecs/composite/record.mjs +1 -0
  252. package/packages/common/src/codecs/composite/record.mjs.map +1 -1
  253. package/packages/common/src/codecs/models/array-model.js +1 -0
  254. package/packages/common/src/codecs/models/array-model.js.map +1 -1
  255. package/packages/common/src/codecs/models/array-model.mjs +1 -0
  256. package/packages/common/src/codecs/models/array-model.mjs.map +1 -1
  257. package/packages/common/src/codecs/models/object-model.js +3 -1
  258. package/packages/common/src/codecs/models/object-model.js.map +1 -1
  259. package/packages/common/src/codecs/models/object-model.mjs +3 -1
  260. package/packages/common/src/codecs/models/object-model.mjs.map +1 -1
  261. package/packages/common/src/codecs/models/primitive-model.js +1 -0
  262. package/packages/common/src/codecs/models/primitive-model.js.map +1 -1
  263. package/packages/common/src/codecs/models/primitive-model.mjs +1 -0
  264. package/packages/common/src/codecs/models/primitive-model.mjs.map +1 -1
  265. package/packages/common/src/codecs/primitives/address.js +0 -1
  266. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  267. package/packages/common/src/codecs/primitives/address.mjs.map +1 -1
  268. package/packages/common/src/codecs/primitives/bigint.js.map +1 -1
  269. package/packages/common/src/codecs/primitives/bigint.mjs.map +1 -1
  270. package/packages/common/src/codecs/primitives/boolean.js.map +1 -1
  271. package/packages/common/src/codecs/primitives/boolean.mjs.map +1 -1
  272. package/packages/common/src/codecs/primitives/bytes-base64.js +0 -1
  273. package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -1
  274. package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -1
  275. package/packages/common/src/codecs/primitives/bytes.js +0 -1
  276. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  277. package/packages/common/src/codecs/primitives/bytes.mjs.map +1 -1
  278. package/packages/common/src/codecs/primitives/fixed-bytes.js +1 -1
  279. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  280. package/packages/common/src/codecs/primitives/fixed-bytes.mjs +1 -0
  281. package/packages/common/src/codecs/primitives/fixed-bytes.mjs.map +1 -1
  282. package/packages/common/src/codecs/primitives/number.js.map +1 -1
  283. package/packages/common/src/codecs/primitives/number.mjs.map +1 -1
  284. package/packages/common/src/codecs/primitives/string.js.map +1 -1
  285. package/packages/common/src/codecs/primitives/string.mjs.map +1 -1
  286. package/packages/common/src/codecs/primitives/unknown.js.map +1 -1
  287. package/packages/common/src/codecs/primitives/unknown.mjs.map +1 -1
  288. package/packages/common/src/codecs/wire.js +0 -1
  289. package/packages/common/src/codecs/wire.js.map +1 -1
  290. package/packages/common/src/codecs/wire.mjs.map +1 -1
  291. package/packages/common/src/constants.js.map +1 -1
  292. package/packages/common/src/constants.mjs.map +1 -1
  293. package/packages/common/src/encoding.js +0 -1
  294. package/packages/common/src/encoding.js.map +1 -1
  295. package/packages/common/src/encoding.mjs.map +1 -1
  296. package/packages/common/src/json.js.map +1 -1
  297. package/packages/common/src/json.mjs.map +1 -1
  298. package/packages/common/src/msgpack.js +0 -1
  299. package/packages/common/src/msgpack.js.map +1 -1
  300. package/packages/common/src/msgpack.mjs.map +1 -1
  301. package/packages/common/src/sourcemap.js.map +1 -1
  302. package/packages/common/src/sourcemap.mjs.map +1 -1
  303. package/packages/{algo25/src → crypto/src/algo25}/english.js +1 -1
  304. package/packages/crypto/src/algo25/english.js.map +1 -0
  305. package/packages/{algo25/src → crypto/src/algo25}/english.mjs +1 -1
  306. package/packages/crypto/src/algo25/english.mjs.map +1 -0
  307. package/packages/{algo25/src → crypto/src/algo25}/index.d.ts +1 -1
  308. package/packages/{algo25/src → crypto/src/algo25}/index.js +2 -2
  309. package/packages/crypto/src/algo25/index.js.map +1 -0
  310. package/packages/{algo25/src → crypto/src/algo25}/index.mjs +2 -2
  311. package/packages/crypto/src/algo25/index.mjs.map +1 -0
  312. package/packages/crypto/src/ed25519.d.ts +13 -3
  313. package/packages/crypto/src/ed25519.js.map +1 -1
  314. package/packages/crypto/src/ed25519.mjs.map +1 -1
  315. package/packages/crypto/src/hash.js +0 -1
  316. package/packages/crypto/src/hash.js.map +1 -1
  317. package/packages/crypto/src/hash.mjs.map +1 -1
  318. package/packages/crypto/src/hd.d.ts +17 -4
  319. package/packages/crypto/src/hd.js +13 -1
  320. package/packages/crypto/src/hd.js.map +1 -1
  321. package/packages/crypto/src/hd.mjs +11 -1
  322. package/packages/crypto/src/hd.mjs.map +1 -1
  323. package/packages/crypto/src/index.d.ts +12 -6
  324. package/packages/crypto/src/index.js +27 -18
  325. package/packages/crypto/src/index.js.map +1 -1
  326. package/packages/crypto/src/index.mjs +27 -18
  327. package/packages/crypto/src/index.mjs.map +1 -1
  328. package/packages/indexer_client/src/apis/api-service.js +1 -0
  329. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  330. package/packages/indexer_client/src/apis/api-service.mjs +1 -0
  331. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  332. package/packages/indexer_client/src/client.js.map +1 -1
  333. package/packages/indexer_client/src/client.mjs.map +1 -1
  334. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  335. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  336. package/packages/indexer_client/src/core/base-http-request.js +1 -0
  337. package/packages/indexer_client/src/core/base-http-request.js.map +1 -1
  338. package/packages/indexer_client/src/core/base-http-request.mjs +1 -0
  339. package/packages/indexer_client/src/core/base-http-request.mjs.map +1 -1
  340. package/packages/indexer_client/src/core/fetch-http-request.js.map +1 -1
  341. package/packages/indexer_client/src/core/fetch-http-request.mjs.map +1 -1
  342. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  343. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  344. package/packages/indexer_client/src/core/request.js.map +1 -1
  345. package/packages/indexer_client/src/core/request.mjs.map +1 -1
  346. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  347. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  348. package/packages/indexer_client/src/models/account-response.js.map +1 -1
  349. package/packages/indexer_client/src/models/account-response.mjs.map +1 -1
  350. package/packages/indexer_client/src/models/account-state-delta.js.map +1 -1
  351. package/packages/indexer_client/src/models/account-state-delta.mjs.map +1 -1
  352. package/packages/indexer_client/src/models/account.js.map +1 -1
  353. package/packages/indexer_client/src/models/account.mjs.map +1 -1
  354. package/packages/indexer_client/src/models/accounts-response.js.map +1 -1
  355. package/packages/indexer_client/src/models/accounts-response.mjs.map +1 -1
  356. package/packages/indexer_client/src/models/application-local-state.js.map +1 -1
  357. package/packages/indexer_client/src/models/application-local-state.mjs.map +1 -1
  358. package/packages/indexer_client/src/models/application-local-states-response.js.map +1 -1
  359. package/packages/indexer_client/src/models/application-local-states-response.mjs.map +1 -1
  360. package/packages/indexer_client/src/models/application-log-data.js.map +1 -1
  361. package/packages/indexer_client/src/models/application-log-data.mjs.map +1 -1
  362. package/packages/indexer_client/src/models/application-logs-response.js.map +1 -1
  363. package/packages/indexer_client/src/models/application-logs-response.mjs.map +1 -1
  364. package/packages/indexer_client/src/models/application-params.js.map +1 -1
  365. package/packages/indexer_client/src/models/application-params.mjs.map +1 -1
  366. package/packages/indexer_client/src/models/application-response.js.map +1 -1
  367. package/packages/indexer_client/src/models/application-response.mjs.map +1 -1
  368. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  369. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  370. package/packages/indexer_client/src/models/application.js.map +1 -1
  371. package/packages/indexer_client/src/models/application.mjs.map +1 -1
  372. package/packages/indexer_client/src/models/applications-response.js.map +1 -1
  373. package/packages/indexer_client/src/models/applications-response.mjs.map +1 -1
  374. package/packages/indexer_client/src/models/asset-balances-response.js.map +1 -1
  375. package/packages/indexer_client/src/models/asset-balances-response.mjs.map +1 -1
  376. package/packages/indexer_client/src/models/asset-holding.js.map +1 -1
  377. package/packages/indexer_client/src/models/asset-holding.mjs.map +1 -1
  378. package/packages/indexer_client/src/models/asset-holdings-response.js.map +1 -1
  379. package/packages/indexer_client/src/models/asset-holdings-response.mjs.map +1 -1
  380. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  381. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  382. package/packages/indexer_client/src/models/asset-response.js.map +1 -1
  383. package/packages/indexer_client/src/models/asset-response.mjs.map +1 -1
  384. package/packages/indexer_client/src/models/asset.js.map +1 -1
  385. package/packages/indexer_client/src/models/asset.mjs.map +1 -1
  386. package/packages/indexer_client/src/models/assets-response.js.map +1 -1
  387. package/packages/indexer_client/src/models/assets-response.mjs.map +1 -1
  388. package/packages/indexer_client/src/models/block-headers-response.js.map +1 -1
  389. package/packages/indexer_client/src/models/block-headers-response.mjs.map +1 -1
  390. package/packages/indexer_client/src/models/block-rewards.js.map +1 -1
  391. package/packages/indexer_client/src/models/block-rewards.mjs.map +1 -1
  392. package/packages/indexer_client/src/models/block-upgrade-state.js.map +1 -1
  393. package/packages/indexer_client/src/models/block-upgrade-state.mjs.map +1 -1
  394. package/packages/indexer_client/src/models/block-upgrade-vote.js.map +1 -1
  395. package/packages/indexer_client/src/models/block-upgrade-vote.mjs.map +1 -1
  396. package/packages/indexer_client/src/models/block.js.map +1 -1
  397. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  398. package/packages/indexer_client/src/models/box-descriptor.js.map +1 -1
  399. package/packages/indexer_client/src/models/box-descriptor.mjs.map +1 -1
  400. package/packages/indexer_client/src/models/box-reference.js.map +1 -1
  401. package/packages/indexer_client/src/models/box-reference.mjs.map +1 -1
  402. package/packages/indexer_client/src/models/box.js.map +1 -1
  403. package/packages/indexer_client/src/models/box.mjs.map +1 -1
  404. package/packages/indexer_client/src/models/boxes-response.js.map +1 -1
  405. package/packages/indexer_client/src/models/boxes-response.mjs.map +1 -1
  406. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  407. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  408. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  409. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  410. package/packages/indexer_client/src/models/hash-factory.js.map +1 -1
  411. package/packages/indexer_client/src/models/hash-factory.mjs.map +1 -1
  412. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  413. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  414. package/packages/indexer_client/src/models/health-check.js.map +1 -1
  415. package/packages/indexer_client/src/models/health-check.mjs.map +1 -1
  416. package/packages/indexer_client/src/models/holding-ref.js.map +1 -1
  417. package/packages/indexer_client/src/models/holding-ref.mjs.map +1 -1
  418. package/packages/indexer_client/src/models/indexer-state-proof-message.js.map +1 -1
  419. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs.map +1 -1
  420. package/packages/indexer_client/src/models/locals-ref.js.map +1 -1
  421. package/packages/indexer_client/src/models/locals-ref.mjs.map +1 -1
  422. package/packages/indexer_client/src/models/merkle-array-proof.js.map +1 -1
  423. package/packages/indexer_client/src/models/merkle-array-proof.mjs.map +1 -1
  424. package/packages/indexer_client/src/models/mini-asset-holding.js.map +1 -1
  425. package/packages/indexer_client/src/models/mini-asset-holding.mjs.map +1 -1
  426. package/packages/indexer_client/src/models/on-completion.js.map +1 -1
  427. package/packages/indexer_client/src/models/on-completion.mjs.map +1 -1
  428. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  429. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  430. package/packages/indexer_client/src/models/resource-ref.js.map +1 -1
  431. package/packages/indexer_client/src/models/resource-ref.mjs.map +1 -1
  432. package/packages/indexer_client/src/models/state-delta.js.map +1 -1
  433. package/packages/indexer_client/src/models/state-delta.mjs.map +1 -1
  434. package/packages/indexer_client/src/models/state-proof-fields.js.map +1 -1
  435. package/packages/indexer_client/src/models/state-proof-fields.mjs.map +1 -1
  436. package/packages/indexer_client/src/models/state-proof-participant.js.map +1 -1
  437. package/packages/indexer_client/src/models/state-proof-participant.mjs.map +1 -1
  438. package/packages/indexer_client/src/models/state-proof-reveal.js.map +1 -1
  439. package/packages/indexer_client/src/models/state-proof-reveal.mjs.map +1 -1
  440. package/packages/indexer_client/src/models/state-proof-sig-slot.js.map +1 -1
  441. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs.map +1 -1
  442. package/packages/indexer_client/src/models/state-proof-signature.js.map +1 -1
  443. package/packages/indexer_client/src/models/state-proof-signature.mjs.map +1 -1
  444. package/packages/indexer_client/src/models/state-proof-tracking.js.map +1 -1
  445. package/packages/indexer_client/src/models/state-proof-tracking.mjs.map +1 -1
  446. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  447. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  448. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  449. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  450. package/packages/indexer_client/src/models/teal-key-value-store.js.map +1 -1
  451. package/packages/indexer_client/src/models/teal-key-value-store.mjs.map +1 -1
  452. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  453. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  454. package/packages/indexer_client/src/models/teal-value.js.map +1 -1
  455. package/packages/indexer_client/src/models/teal-value.mjs.map +1 -1
  456. package/packages/indexer_client/src/models/transaction-application.js.map +1 -1
  457. package/packages/indexer_client/src/models/transaction-application.mjs.map +1 -1
  458. package/packages/indexer_client/src/models/transaction-asset-config.js.map +1 -1
  459. package/packages/indexer_client/src/models/transaction-asset-config.mjs.map +1 -1
  460. package/packages/indexer_client/src/models/transaction-asset-freeze.js.map +1 -1
  461. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs.map +1 -1
  462. package/packages/indexer_client/src/models/transaction-asset-transfer.js.map +1 -1
  463. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs.map +1 -1
  464. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  465. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  466. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  467. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  468. package/packages/indexer_client/src/models/transaction-payment.js.map +1 -1
  469. package/packages/indexer_client/src/models/transaction-payment.mjs.map +1 -1
  470. package/packages/indexer_client/src/models/transaction-response.js.map +1 -1
  471. package/packages/indexer_client/src/models/transaction-response.mjs.map +1 -1
  472. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  473. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  474. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  475. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  476. package/packages/indexer_client/src/models/transaction-signature-multisig.js.map +1 -1
  477. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs.map +1 -1
  478. package/packages/indexer_client/src/models/transaction-signature.js.map +1 -1
  479. package/packages/indexer_client/src/models/transaction-signature.mjs.map +1 -1
  480. package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
  481. package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
  482. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  483. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  484. package/packages/indexer_client/src/models/transactions-response.js.map +1 -1
  485. package/packages/indexer_client/src/models/transactions-response.mjs.map +1 -1
  486. package/packages/kmd_client/src/apis/api-service.js +4 -2
  487. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  488. package/packages/kmd_client/src/apis/api-service.mjs +4 -2
  489. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  490. package/packages/kmd_client/src/client.js.map +1 -1
  491. package/packages/kmd_client/src/client.mjs.map +1 -1
  492. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  493. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  494. package/packages/kmd_client/src/core/base-http-request.js +1 -0
  495. package/packages/kmd_client/src/core/base-http-request.js.map +1 -1
  496. package/packages/kmd_client/src/core/base-http-request.mjs +1 -0
  497. package/packages/kmd_client/src/core/base-http-request.mjs.map +1 -1
  498. package/packages/kmd_client/src/core/fetch-http-request.js.map +1 -1
  499. package/packages/kmd_client/src/core/fetch-http-request.mjs.map +1 -1
  500. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  501. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  502. package/packages/kmd_client/src/core/request.js.map +1 -1
  503. package/packages/kmd_client/src/core/request.mjs.map +1 -1
  504. package/packages/kmd_client/src/models/create-wallet-request.js.map +1 -1
  505. package/packages/kmd_client/src/models/create-wallet-request.mjs.map +1 -1
  506. package/packages/kmd_client/src/models/create-wallet-response.js.map +1 -1
  507. package/packages/kmd_client/src/models/create-wallet-response.mjs.map +1 -1
  508. package/packages/kmd_client/src/models/delete-key-request.js.map +1 -1
  509. package/packages/kmd_client/src/models/delete-key-request.mjs.map +1 -1
  510. package/packages/kmd_client/src/models/delete-multisig-request.js.map +1 -1
  511. package/packages/kmd_client/src/models/delete-multisig-request.mjs.map +1 -1
  512. package/packages/kmd_client/src/models/export-key-request.js.map +1 -1
  513. package/packages/kmd_client/src/models/export-key-request.mjs.map +1 -1
  514. package/packages/kmd_client/src/models/export-key-response.js.map +1 -1
  515. package/packages/kmd_client/src/models/export-key-response.mjs.map +1 -1
  516. package/packages/kmd_client/src/models/export-master-key-request.js.map +1 -1
  517. package/packages/kmd_client/src/models/export-master-key-request.mjs.map +1 -1
  518. package/packages/kmd_client/src/models/export-master-key-response.js.map +1 -1
  519. package/packages/kmd_client/src/models/export-master-key-response.mjs.map +1 -1
  520. package/packages/kmd_client/src/models/export-multisig-request.js.map +1 -1
  521. package/packages/kmd_client/src/models/export-multisig-request.mjs.map +1 -1
  522. package/packages/kmd_client/src/models/export-multisig-response.js.map +1 -1
  523. package/packages/kmd_client/src/models/export-multisig-response.mjs.map +1 -1
  524. package/packages/kmd_client/src/models/generate-key-request.js.map +1 -1
  525. package/packages/kmd_client/src/models/generate-key-request.mjs.map +1 -1
  526. package/packages/kmd_client/src/models/generate-key-response.js.map +1 -1
  527. package/packages/kmd_client/src/models/generate-key-response.mjs.map +1 -1
  528. package/packages/kmd_client/src/models/import-key-request.js.map +1 -1
  529. package/packages/kmd_client/src/models/import-key-request.mjs.map +1 -1
  530. package/packages/kmd_client/src/models/import-key-response.js.map +1 -1
  531. package/packages/kmd_client/src/models/import-key-response.mjs.map +1 -1
  532. package/packages/kmd_client/src/models/import-multisig-request.js.map +1 -1
  533. package/packages/kmd_client/src/models/import-multisig-request.mjs.map +1 -1
  534. package/packages/kmd_client/src/models/import-multisig-response.js.map +1 -1
  535. package/packages/kmd_client/src/models/import-multisig-response.mjs.map +1 -1
  536. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js.map +1 -1
  537. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs.map +1 -1
  538. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js.map +1 -1
  539. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs.map +1 -1
  540. package/packages/kmd_client/src/models/list-keys-request.js.map +1 -1
  541. package/packages/kmd_client/src/models/list-keys-request.mjs.map +1 -1
  542. package/packages/kmd_client/src/models/list-keys-response.js.map +1 -1
  543. package/packages/kmd_client/src/models/list-keys-response.mjs.map +1 -1
  544. package/packages/kmd_client/src/models/list-multisig-request.js.map +1 -1
  545. package/packages/kmd_client/src/models/list-multisig-request.mjs.map +1 -1
  546. package/packages/kmd_client/src/models/list-multisig-response.js.map +1 -1
  547. package/packages/kmd_client/src/models/list-multisig-response.mjs.map +1 -1
  548. package/packages/kmd_client/src/models/list-wallets-response.js.map +1 -1
  549. package/packages/kmd_client/src/models/list-wallets-response.mjs.map +1 -1
  550. package/packages/kmd_client/src/models/multisig-sig.js.map +1 -1
  551. package/packages/kmd_client/src/models/multisig-sig.mjs.map +1 -1
  552. package/packages/kmd_client/src/models/multisig-subsig.js.map +1 -1
  553. package/packages/kmd_client/src/models/multisig-subsig.mjs.map +1 -1
  554. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js.map +1 -1
  555. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs.map +1 -1
  556. package/packages/kmd_client/src/models/rename-wallet-request.js.map +1 -1
  557. package/packages/kmd_client/src/models/rename-wallet-request.mjs.map +1 -1
  558. package/packages/kmd_client/src/models/rename-wallet-response.js.map +1 -1
  559. package/packages/kmd_client/src/models/rename-wallet-response.mjs.map +1 -1
  560. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js.map +1 -1
  561. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs.map +1 -1
  562. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js.map +1 -1
  563. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs.map +1 -1
  564. package/packages/kmd_client/src/models/sign-multisig-response.js.map +1 -1
  565. package/packages/kmd_client/src/models/sign-multisig-response.mjs.map +1 -1
  566. package/packages/kmd_client/src/models/sign-multisig-txn-request.js.map +1 -1
  567. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs.map +1 -1
  568. package/packages/kmd_client/src/models/sign-program-multisig-request.js.map +1 -1
  569. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs.map +1 -1
  570. package/packages/kmd_client/src/models/sign-program-multisig-response.js.map +1 -1
  571. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs.map +1 -1
  572. package/packages/kmd_client/src/models/sign-program-request.js.map +1 -1
  573. package/packages/kmd_client/src/models/sign-program-request.mjs.map +1 -1
  574. package/packages/kmd_client/src/models/sign-program-response.js.map +1 -1
  575. package/packages/kmd_client/src/models/sign-program-response.mjs.map +1 -1
  576. package/packages/kmd_client/src/models/sign-transaction-response.js.map +1 -1
  577. package/packages/kmd_client/src/models/sign-transaction-response.mjs.map +1 -1
  578. package/packages/kmd_client/src/models/sign-txn-request.js.map +1 -1
  579. package/packages/kmd_client/src/models/sign-txn-request.mjs.map +1 -1
  580. package/packages/kmd_client/src/models/tx-type.js.map +1 -1
  581. package/packages/kmd_client/src/models/tx-type.mjs.map +1 -1
  582. package/packages/kmd_client/src/models/versions-response.js.map +1 -1
  583. package/packages/kmd_client/src/models/versions-response.mjs.map +1 -1
  584. package/packages/kmd_client/src/models/wallet-handle.js.map +1 -1
  585. package/packages/kmd_client/src/models/wallet-handle.mjs.map +1 -1
  586. package/packages/kmd_client/src/models/wallet-info-request.js.map +1 -1
  587. package/packages/kmd_client/src/models/wallet-info-request.mjs.map +1 -1
  588. package/packages/kmd_client/src/models/wallet-info-response.js.map +1 -1
  589. package/packages/kmd_client/src/models/wallet-info-response.mjs.map +1 -1
  590. package/packages/kmd_client/src/models/wallet.js.map +1 -1
  591. package/packages/kmd_client/src/models/wallet.mjs.map +1 -1
  592. package/packages/testing/src/globalSetup.js +0 -1
  593. package/packages/testing/src/globalSetup.js.map +1 -1
  594. package/packages/testing/src/globalSetup.mjs.map +1 -1
  595. package/packages/testing/src/mockServer.js.map +1 -1
  596. package/packages/testing/src/mockServer.mjs.map +1 -1
  597. package/packages/transact/src/logicsig.js +2 -1
  598. package/packages/transact/src/logicsig.js.map +1 -1
  599. package/packages/transact/src/logicsig.mjs +2 -1
  600. package/packages/transact/src/logicsig.mjs.map +1 -1
  601. package/packages/transact/src/multisig.js +0 -2
  602. package/packages/transact/src/multisig.js.map +1 -1
  603. package/packages/transact/src/multisig.mjs +0 -2
  604. package/packages/transact/src/multisig.mjs.map +1 -1
  605. package/packages/transact/src/signer.js.map +1 -1
  606. package/packages/transact/src/signer.mjs.map +1 -1
  607. package/packages/transact/src/transactions/app-call.js +22 -23
  608. package/packages/transact/src/transactions/app-call.js.map +1 -1
  609. package/packages/transact/src/transactions/app-call.mjs +22 -23
  610. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  611. package/packages/transact/src/transactions/asset-config.js +12 -13
  612. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  613. package/packages/transact/src/transactions/asset-config.mjs +12 -13
  614. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  615. package/packages/transact/src/transactions/asset-freeze.js +1 -2
  616. package/packages/transact/src/transactions/asset-freeze.js.map +1 -1
  617. package/packages/transact/src/transactions/asset-freeze.mjs +1 -2
  618. package/packages/transact/src/transactions/asset-freeze.mjs.map +1 -1
  619. package/packages/transact/src/transactions/asset-transfer.js +1 -2
  620. package/packages/transact/src/transactions/asset-transfer.js.map +1 -1
  621. package/packages/transact/src/transactions/asset-transfer.mjs +1 -2
  622. package/packages/transact/src/transactions/asset-transfer.mjs.map +1 -1
  623. package/packages/transact/src/transactions/common.js +5 -14
  624. package/packages/transact/src/transactions/common.js.map +1 -1
  625. package/packages/transact/src/transactions/common.mjs +6 -14
  626. package/packages/transact/src/transactions/common.mjs.map +1 -1
  627. package/packages/transact/src/transactions/key-registration.js +8 -9
  628. package/packages/transact/src/transactions/key-registration.js.map +1 -1
  629. package/packages/transact/src/transactions/key-registration.mjs +8 -9
  630. package/packages/transact/src/transactions/key-registration.mjs.map +1 -1
  631. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -1
  632. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -1
  633. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  634. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  635. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  636. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  637. package/packages/transact/src/transactions/transaction-meta.js +27 -26
  638. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  639. package/packages/transact/src/transactions/transaction-meta.mjs +27 -26
  640. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  641. package/packages/transact/src/transactions/transaction-type.js.map +1 -1
  642. package/packages/transact/src/transactions/transaction-type.mjs.map +1 -1
  643. package/packages/transact/src/transactions/transaction.js +2 -2
  644. package/packages/transact/src/transactions/transaction.js.map +1 -1
  645. package/packages/transact/src/transactions/transaction.mjs +2 -2
  646. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  647. package/testing/account.js.map +1 -1
  648. package/testing/account.mjs.map +1 -1
  649. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  650. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  651. package/testing/fixtures/algorand-fixture.js.map +1 -1
  652. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  653. package/testing/indexer.js.map +1 -1
  654. package/testing/indexer.mjs.map +1 -1
  655. package/testing/test-logger.js.map +1 -1
  656. package/testing/test-logger.mjs.map +1 -1
  657. package/testing/transaction-logger.js.map +1 -1
  658. package/testing/transaction-logger.mjs.map +1 -1
  659. package/transaction/perform-transaction-composer-simulate.js.map +1 -1
  660. package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
  661. package/transaction/transaction.js.map +1 -1
  662. package/transaction/transaction.mjs.map +1 -1
  663. package/transactions/app-call.js +33 -43
  664. package/transactions/app-call.js.map +1 -1
  665. package/transactions/app-call.mjs +33 -43
  666. package/transactions/app-call.mjs.map +1 -1
  667. package/transactions/asset-config.js +5 -5
  668. package/transactions/asset-config.js.map +1 -1
  669. package/transactions/asset-config.mjs +5 -5
  670. package/transactions/asset-config.mjs.map +1 -1
  671. package/transactions/asset-transfer.js +4 -4
  672. package/transactions/asset-transfer.js.map +1 -1
  673. package/transactions/asset-transfer.mjs +4 -4
  674. package/transactions/asset-transfer.mjs.map +1 -1
  675. package/transactions/common.js.map +1 -1
  676. package/transactions/common.mjs.map +1 -1
  677. package/transactions/fee-coverage.js +7 -10
  678. package/transactions/fee-coverage.js.map +1 -1
  679. package/transactions/fee-coverage.mjs +7 -10
  680. package/transactions/fee-coverage.mjs.map +1 -1
  681. package/transactions/key-registration.js +3 -3
  682. package/transactions/key-registration.js.map +1 -1
  683. package/transactions/key-registration.mjs +3 -3
  684. package/transactions/key-registration.mjs.map +1 -1
  685. package/transactions/method-call.js +8 -8
  686. package/transactions/method-call.js.map +1 -1
  687. package/transactions/method-call.mjs +8 -8
  688. package/transactions/method-call.mjs.map +1 -1
  689. package/transactions/payment.js +2 -2
  690. package/transactions/payment.js.map +1 -1
  691. package/transactions/payment.mjs +2 -2
  692. package/transactions/payment.mjs.map +1 -1
  693. package/types/account.js.map +1 -1
  694. package/types/algorand-client-transaction-creator.js.map +1 -1
  695. package/types/algorand-client-transaction-sender.js.map +1 -1
  696. package/types/algorand-client.js.map +1 -1
  697. package/types/amount.js.map +1 -1
  698. package/types/app-client.js.map +1 -1
  699. package/types/app-deployer.js.map +1 -1
  700. package/types/app-factory.js.map +1 -1
  701. package/types/app-manager.js.map +1 -1
  702. package/types/app-spec.js.map +1 -1
  703. package/types/asset-manager.js.map +1 -1
  704. package/types/async-event-emitter.js.map +1 -1
  705. package/types/client-manager.js.map +1 -1
  706. package/types/composer.js.map +1 -1
  707. package/types/config.js.map +1 -1
  708. package/types/dispenser-client.js.map +1 -1
  709. package/types/kmd-account-manager.js.map +1 -1
  710. package/types/lifecycle-events.js.map +1 -1
  711. package/types/logic-error.js.map +1 -1
  712. package/types/network-client.js.map +1 -1
  713. package/updatable-config.js.map +1 -1
  714. package/updatable-config.mjs.map +1 -1
  715. package/util.js.map +1 -1
  716. package/util.mjs.map +1 -1
  717. package/packages/algo25/src/english.js.map +0 -1
  718. package/packages/algo25/src/english.mjs.map +0 -1
  719. package/packages/algo25/src/index.js.map +0 -1
  720. package/packages/algo25/src/index.mjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  require("../packages/common/src/constants.js");
2
2
  const require_address = require("../packages/common/src/address.js");
3
- const require_app_call = require("../packages/transact/src/transactions/app-call.js");
4
- const require_transaction_type = require("../packages/transact/src/transactions/transaction-type.js");
3
+ require("../packages/transact/src/transactions/app-call.js");
4
+ require("../packages/transact/src/transactions/transaction-type.js");
5
5
  const require_transaction = require("../packages/transact/src/transactions/transaction.js");
6
6
  const require_util = require("../util.js");
7
7
  const require_app_manager = require("../app-manager.js");
@@ -23,10 +23,10 @@ const buildAppCreate = async (params, appManager, suggestedParams, defaultValidi
23
23
  const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0;
24
24
  return new require_transaction.Transaction({
25
25
  ...commonData,
26
- type: require_transaction_type.TransactionType.AppCall,
26
+ type: "appl",
27
27
  appCall: {
28
28
  appId: 0n,
29
- onComplete: params.onComplete ?? require_app_call.OnApplicationComplete.NoOp,
29
+ onComplete: params.onComplete ?? 0,
30
30
  approvalProgram,
31
31
  clearStateProgram,
32
32
  globalStateSchema,
@@ -50,10 +50,10 @@ const buildAppUpdate = async (params, appManager, suggestedParams, defaultValidi
50
50
  const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0;
51
51
  return new require_transaction.Transaction({
52
52
  ...commonData,
53
- type: require_transaction_type.TransactionType.AppCall,
53
+ type: "appl",
54
54
  appCall: {
55
55
  appId: params.appId,
56
- onComplete: require_app_call.OnApplicationComplete.UpdateApplication,
56
+ onComplete: 4,
57
57
  approvalProgram,
58
58
  clearStateProgram,
59
59
  args: params.args,
@@ -72,10 +72,10 @@ const buildAppCall = (params, suggestedParams, defaultValidityWindow) => {
72
72
  const hasAccessReferences = params.accessReferences && params.accessReferences.length > 0;
73
73
  return new require_transaction.Transaction({
74
74
  ...commonData,
75
- type: require_transaction_type.TransactionType.AppCall,
75
+ type: "appl",
76
76
  appCall: {
77
77
  appId: params.appId,
78
- onComplete: params.onComplete ?? require_app_call.OnApplicationComplete.NoOp,
78
+ onComplete: params.onComplete ?? 0,
79
79
  args: params.args,
80
80
  ...hasAccessReferences ? { accessReferences: params.accessReferences } : {
81
81
  accountReferences: params.accountReferences?.map((a) => require_address.getAddress(a)),
@@ -91,7 +91,7 @@ const buildAppCall = (params, suggestedParams, defaultValidityWindow) => {
91
91
  * Populate transaction-level resources for app call transactions
92
92
  */
93
93
  function populateTransactionResources(transaction, resourcesAccessed, groupIndex) {
94
- if (transaction.type !== require_transaction_type.TransactionType.AppCall || transaction.appCall === void 0) return;
94
+ if (transaction.type !== "appl" || transaction.appCall === void 0) return;
95
95
  if (resourcesAccessed.boxes || resourcesAccessed.extraBoxRefs) throw new Error("Unexpected boxes at the transaction level");
96
96
  if (resourcesAccessed.appLocals) throw new Error("Unexpected app locals at the transaction level");
97
97
  if (resourcesAccessed.assetHoldings) throw new Error("Unexpected asset holdings at the transaction level");
@@ -119,16 +119,6 @@ function populateTransactionResources(transaction, resourcesAccessed, groupIndex
119
119
  }
120
120
  if (accountsCount + assetsCount + appsCount + boxesCount > 8) throw new Error(`Resource reference limit of 8 exceeded in transaction ${groupIndex}`);
121
121
  }
122
- var GroupResourceType = /* @__PURE__ */ function(GroupResourceType) {
123
- GroupResourceType[GroupResourceType["Account"] = 0] = "Account";
124
- GroupResourceType[GroupResourceType["App"] = 1] = "App";
125
- GroupResourceType[GroupResourceType["Asset"] = 2] = "Asset";
126
- GroupResourceType[GroupResourceType["Box"] = 3] = "Box";
127
- GroupResourceType[GroupResourceType["ExtraBoxRef"] = 4] = "ExtraBoxRef";
128
- GroupResourceType[GroupResourceType["AssetHolding"] = 5] = "AssetHolding";
129
- GroupResourceType[GroupResourceType["AppLocal"] = 6] = "AppLocal";
130
- return GroupResourceType;
131
- }(GroupResourceType || {});
132
122
  /**
133
123
  * Populate group-level resources for app call transactions
134
124
  */
@@ -139,7 +129,7 @@ function populateGroupResources(transactions, groupResources) {
139
129
  const remainingBoxes = [...groupResources.boxes ?? []];
140
130
  if (groupResources.appLocals) groupResources.appLocals.forEach((appLocal) => {
141
131
  populateGroupResource(transactions, {
142
- type: GroupResourceType.AppLocal,
132
+ type: 6,
143
133
  data: appLocal
144
134
  });
145
135
  remainingAccounts = remainingAccounts.filter((acc) => acc !== appLocal.address);
@@ -147,7 +137,7 @@ function populateGroupResources(transactions, groupResources) {
147
137
  });
148
138
  if (groupResources.assetHoldings) groupResources.assetHoldings.forEach((assetHolding) => {
149
139
  populateGroupResource(transactions, {
150
- type: GroupResourceType.AssetHolding,
140
+ type: 5,
151
141
  data: assetHolding
152
142
  });
153
143
  remainingAccounts = remainingAccounts.filter((acc) => acc !== assetHolding.address);
@@ -155,13 +145,13 @@ function populateGroupResources(transactions, groupResources) {
155
145
  });
156
146
  remainingAccounts.forEach((account) => {
157
147
  populateGroupResource(transactions, {
158
- type: GroupResourceType.Account,
148
+ type: 0,
159
149
  data: account
160
150
  });
161
151
  });
162
152
  remainingBoxes.forEach((boxRef) => {
163
153
  populateGroupResource(transactions, {
164
- type: GroupResourceType.Box,
154
+ type: 3,
165
155
  data: {
166
156
  appId: boxRef.appId,
167
157
  name: boxRef.name
@@ -171,23 +161,23 @@ function populateGroupResources(transactions, groupResources) {
171
161
  });
172
162
  remainingAssets.forEach((asset) => {
173
163
  populateGroupResource(transactions, {
174
- type: GroupResourceType.Asset,
164
+ type: 2,
175
165
  data: asset
176
166
  });
177
167
  });
178
168
  remainingApps.forEach((app) => {
179
169
  populateGroupResource(transactions, {
180
- type: GroupResourceType.App,
170
+ type: 1,
181
171
  data: app
182
172
  });
183
173
  });
184
- if (groupResources.extraBoxRefs) for (let i = 0; i < groupResources.extraBoxRefs; i++) populateGroupResource(transactions, { type: GroupResourceType.ExtraBoxRef });
174
+ if (groupResources.extraBoxRefs) for (let i = 0; i < groupResources.extraBoxRefs; i++) populateGroupResource(transactions, { type: 4 });
185
175
  }
186
176
  /**
187
177
  * Helper function to check if an app call transaction is below resource limit
188
178
  */
189
179
  function isAppCallBelowResourceLimit(txn) {
190
- if (txn.type !== require_transaction_type.TransactionType.AppCall) return false;
180
+ if (txn.type !== "appl") return false;
191
181
  if (txn.appCall?.accessReferences?.length) return false;
192
182
  const accountsCount = txn.appCall?.accountReferences?.length || 0;
193
183
  const assetsCount = txn.appCall?.assetReferences?.length || 0;
@@ -199,7 +189,7 @@ function isAppCallBelowResourceLimit(txn) {
199
189
  * Helper function to populate a specific resource into a transaction group
200
190
  */
201
191
  function populateGroupResource(transactions, resource) {
202
- if (resource.type === GroupResourceType.AssetHolding || resource.type === GroupResourceType.AppLocal) {
192
+ if (resource.type === 5 || resource.type === 6) {
203
193
  const address = resource.data.address;
204
194
  const groupIndex1 = transactions.findIndex((txn) => {
205
195
  if (!isAppCallBelowResourceLimit(txn)) return false;
@@ -213,7 +203,7 @@ function populateGroupResource(transactions, resource) {
213
203
  });
214
204
  if (groupIndex1 !== -1) {
215
205
  const appCall = transactions[groupIndex1].appCall;
216
- if (resource.type === GroupResourceType.AssetHolding) {
206
+ if (resource.type === 5) {
217
207
  appCall.assetReferences = appCall.assetReferences ?? [];
218
208
  if (!appCall.assetReferences.includes(resource.data.assetId)) appCall.assetReferences.push(resource.data.assetId);
219
209
  } else {
@@ -226,7 +216,7 @@ function populateGroupResource(transactions, resource) {
226
216
  if (!isAppCallBelowResourceLimit(txn)) return false;
227
217
  const appCall = txn.appCall;
228
218
  if ((appCall.accountReferences?.length ?? 0) >= 8) return false;
229
- if (resource.type === GroupResourceType.AssetHolding) return appCall.assetReferences?.includes(resource.data.assetId) || false;
219
+ if (resource.type === 5) return appCall.assetReferences?.includes(resource.data.assetId) || false;
230
220
  else return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId;
231
221
  });
232
222
  if (groupIndex2 !== -1) {
@@ -236,7 +226,7 @@ function populateGroupResource(transactions, resource) {
236
226
  return;
237
227
  }
238
228
  }
239
- if (resource.type === GroupResourceType.Box) {
229
+ if (resource.type === 3) {
240
230
  const groupIndex = transactions.findIndex((txn) => {
241
231
  if (!isAppCallBelowResourceLimit(txn)) return false;
242
232
  const appCall = txn.appCall;
@@ -253,7 +243,7 @@ function populateGroupResource(transactions, resource) {
253
243
  }
254
244
  }
255
245
  const groupIndex = transactions.findIndex((txn) => {
256
- if (txn.type !== require_transaction_type.TransactionType.AppCall) return false;
246
+ if (txn.type !== "appl") return false;
257
247
  if (txn.appCall?.accessReferences?.length) return false;
258
248
  const appCall = txn.appCall;
259
249
  const accountsCount = appCall.accountReferences?.length ?? 0;
@@ -261,10 +251,10 @@ function populateGroupResource(transactions, resource) {
261
251
  const appsCount = appCall.appReferences?.length ?? 0;
262
252
  const boxesCount = appCall.boxReferences?.length ?? 0;
263
253
  switch (resource.type) {
264
- case GroupResourceType.Account: return accountsCount + assetsCount + appsCount + boxesCount < 8;
265
- case GroupResourceType.AssetHolding:
266
- case GroupResourceType.AppLocal: return accountsCount + assetsCount + appsCount + boxesCount < 7;
267
- case GroupResourceType.Box: if (resource.data.appId !== 0n) return accountsCount + assetsCount + appsCount + boxesCount < 7;
254
+ case 0: return accountsCount + assetsCount + appsCount + boxesCount < 8;
255
+ case 5:
256
+ case 6: return accountsCount + assetsCount + appsCount + boxesCount < 7;
257
+ case 3: if (resource.data.appId !== 0n) return accountsCount + assetsCount + appsCount + boxesCount < 7;
268
258
  else return accountsCount + assetsCount + appsCount + boxesCount < 8;
269
259
  default: return accountsCount + assetsCount + appsCount + boxesCount < 8;
270
260
  }
@@ -272,17 +262,17 @@ function populateGroupResource(transactions, resource) {
272
262
  if (groupIndex === -1) throw new Error("No more transactions below reference limit. Add another app call to the group.");
273
263
  const appCall = transactions[groupIndex].appCall;
274
264
  switch (resource.type) {
275
- case GroupResourceType.Account: {
265
+ case 0: {
276
266
  appCall.accountReferences = appCall.accountReferences ?? [];
277
267
  const address = resource.data;
278
268
  if (!appCall.accountReferences.some((a) => a.equals(address))) appCall.accountReferences.push(address);
279
269
  break;
280
270
  }
281
- case GroupResourceType.App:
271
+ case 1:
282
272
  appCall.appReferences = appCall.appReferences ?? [];
283
273
  if (!appCall.appReferences.includes(resource.data)) appCall.appReferences.push(resource.data);
284
274
  break;
285
- case GroupResourceType.Box:
275
+ case 3:
286
276
  appCall.boxReferences = appCall.boxReferences ?? [];
287
277
  if (!appCall.boxReferences.some((b) => b.appId === resource.data.appId && b.name.length === resource.data.name.length && b.name.every((byte, i) => byte === resource.data.name[i]))) appCall.boxReferences.push({
288
278
  appId: resource.data.appId,
@@ -293,14 +283,14 @@ function populateGroupResource(transactions, resource) {
293
283
  if (!appCall.appReferences.includes(resource.data.appId)) appCall.appReferences.push(resource.data.appId);
294
284
  }
295
285
  break;
296
- case GroupResourceType.ExtraBoxRef:
286
+ case 4:
297
287
  appCall.boxReferences = appCall.boxReferences ?? [];
298
288
  appCall.boxReferences.push({
299
289
  appId: 0n,
300
290
  name: new Uint8Array(0)
301
291
  });
302
292
  break;
303
- case GroupResourceType.AssetHolding: {
293
+ case 5: {
304
294
  appCall.assetReferences = appCall.assetReferences ?? [];
305
295
  if (!appCall.assetReferences.includes(resource.data.assetId)) appCall.assetReferences.push(resource.data.assetId);
306
296
  const address = resource.data.address;
@@ -308,7 +298,7 @@ function populateGroupResource(transactions, resource) {
308
298
  if (!appCall.accountReferences.some((a) => a.equals(address))) appCall.accountReferences.push(address);
309
299
  break;
310
300
  }
311
- case GroupResourceType.AppLocal: {
301
+ case 6: {
312
302
  appCall.appReferences = appCall.appReferences ?? [];
313
303
  if (!appCall.appReferences.includes(resource.data.appId)) appCall.appReferences.push(resource.data.appId);
314
304
  const address = resource.data.address;
@@ -316,7 +306,7 @@ function populateGroupResource(transactions, resource) {
316
306
  if (!appCall.accountReferences.some((a) => a.equals(address))) appCall.accountReferences.push(address);
317
307
  break;
318
308
  }
319
- case GroupResourceType.Asset:
309
+ case 2:
320
310
  appCall.assetReferences = appCall.assetReferences ?? [];
321
311
  if (!appCall.assetReferences.includes(resource.data)) appCall.assetReferences.push(resource.data);
322
312
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"app-call.js","names":["buildTransactionCommonData","calculateExtraProgramPages","Transaction","TransactionType","OnApplicationComplete","getAddress","AppManager","getApplicationAddress"],"sources":["../../src/transactions/app-call.ts"],"sourcesContent":["import { SimulateUnnamedResourcesAccessed, SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport {\n Address,\n Expand,\n MAX_ACCOUNT_REFERENCES,\n MAX_OVERALL_REFERENCES,\n ReadableAddress,\n getAddress,\n getApplicationAddress,\n} from '@algorandfoundation/algokit-common'\nimport {\n HoldingReference,\n LocalsReference,\n OnApplicationComplete,\n ResourceReference,\n BoxReference as TransactBoxReference,\n Transaction,\n TransactionType,\n} from '@algorandfoundation/algokit-transact'\nimport { AppManager, BoxIdentifier, BoxReference as UtilsBoxReference } from '../app-manager'\nimport { calculateExtraProgramPages } from '../util'\nimport { CommonTransactionParams, buildTransactionCommonData } from './common'\n\n/** Common parameters for defining an application call transaction. */\nexport type CommonAppCallParams = CommonTransactionParams & {\n /** ID of the application; 0 if the application is being created. */\n appId: bigint\n /** The [on-complete](https://dev.algorand.co/concepts/smart-contracts/avm#oncomplete) action of the call; defaults to no-op. */\n onComplete?: OnApplicationComplete\n /** Any [arguments to pass to the smart contract call](/concepts/smart-contracts/languages/teal/#argument-passing). */\n args?: Uint8Array[]\n /** Any account addresses to add to the [accounts array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n accountReferences?: ReadableAddress[]\n /** The ID of any apps to load to the [foreign apps array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n appReferences?: bigint[]\n /** The ID of any assets to load to the [foreign assets array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n assetReferences?: bigint[]\n /** Any boxes to load to the [boxes array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays).\n *\n * Either the name identifier (which will be set against app ID of `0` i.e.\n * the current app), or a box identifier with the name identifier and app ID.\n */\n boxReferences?: (UtilsBoxReference | BoxIdentifier)[]\n /** Access references unifies `accountReferences`, `appReferences`, `assetReferences`, and `boxReferences` under a single list. If non-empty, these other reference lists must be empty. If access is empty, those other reference lists may be non-empty. */\n accessReferences?: ResourceReference[]\n /** If set, the transaction will be rejected when the app's version is greater than or equal to this value. This can be used to prevent calling an app after it has been updated. Set to 0 or leave undefined to skip the version check. */\n rejectVersion?: number\n}\n\n/** Parameters to define an app create transaction */\nexport type AppCreateParams = Expand<\n Omit<CommonAppCallParams, 'appId'> & {\n appId?: 0\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.ClearState>\n /** The program to execute for all OnCompletes other than ClearState as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n clearStateProgram: string | Uint8Array\n /** The state schema for the app. This is immutable once the app is created. */\n schema?: {\n /** The number of integers saved in global state. */\n globalInts: number\n /** The number of byte slices saved in global state. */\n globalByteSlices: number\n /** The number of integers saved in local state. */\n localInts: number\n /** The number of byte slices saved in local state. */\n localByteSlices: number\n }\n /** Number of extra pages required for the programs.\n * Defaults to the number needed for the programs in this call if not specified.\n * This is immutable once the app is created. */\n extraProgramPages?: number\n }\n>\n\n/** Parameters to define an app update transaction */\nexport type AppUpdateParams = Expand<\n CommonAppCallParams & {\n onComplete?: OnApplicationComplete.UpdateApplication\n /** The program to execute for all OnCompletes other than ClearState as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n clearStateProgram: string | Uint8Array\n }\n>\n\n/** Parameters to define an application call transaction. */\nexport type AppCallParams = CommonAppCallParams & { onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication> }\n\n/** Common parameters to define an ABI method call transaction. */\nexport type AppMethodCallParams = CommonAppCallParams & {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication | OnApplicationComplete.ClearState>\n}\n\n/** Parameters to define an application delete call transaction. */\nexport type AppDeleteParams = CommonAppCallParams & { onComplete?: OnApplicationComplete.DeleteApplication }\n\nexport const buildAppCreate = async (\n params: AppCreateParams,\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 ? { numByteSlices: params.schema?.globalByteSlices ?? 0, numUints: params.schema?.globalInts ?? 0 }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? { numByteSlices: params.schema?.localByteSlices ?? 0, numUints: params.schema?.localInts ?? 0 }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\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, // App creation always uses ID 0\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdate = async (\n params: AppUpdateParams,\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\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: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCall = (\n params: AppCallParams | AppDeleteParams,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Transaction => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\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: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\n/**\n * Populate transaction-level resources for app call transactions\n */\nexport function populateTransactionResources(\n transaction: Transaction, // NOTE: transaction is mutated in place\n resourcesAccessed: SimulateUnnamedResourcesAccessed,\n groupIndex: number,\n): void {\n if (transaction.type !== TransactionType.AppCall || transaction.appCall === undefined) {\n return\n }\n\n // Check for unexpected resources at transaction level\n if (resourcesAccessed.boxes || resourcesAccessed.extraBoxRefs) {\n throw new Error('Unexpected boxes at the transaction level')\n }\n if (resourcesAccessed.appLocals) {\n throw new Error('Unexpected app locals at the transaction level')\n }\n if (resourcesAccessed.assetHoldings) {\n throw new Error('Unexpected asset holdings at the transaction level')\n }\n\n let accountsCount = 0\n let appsCount = 0\n let assetsCount = 0\n const boxesCount = transaction.appCall.boxReferences?.length ?? 0\n\n // Populate accounts\n if (resourcesAccessed.accounts) {\n transaction.appCall.accountReferences = transaction.appCall.accountReferences ?? []\n for (const account of resourcesAccessed.accounts) {\n const address = account\n if (!transaction.appCall.accountReferences.some((a) => a.equals(address))) {\n transaction.appCall.accountReferences.push(address)\n }\n }\n accountsCount = transaction.appCall.accountReferences.length\n }\n\n // Populate apps\n if (resourcesAccessed.apps) {\n transaction.appCall.appReferences = transaction.appCall.appReferences ?? []\n for (const appId of resourcesAccessed.apps) {\n if (!transaction.appCall.appReferences.includes(appId)) {\n transaction.appCall.appReferences.push(appId)\n }\n }\n appsCount = transaction.appCall.appReferences.length\n }\n\n // Populate assets\n if (resourcesAccessed.assets) {\n transaction.appCall.assetReferences = transaction.appCall.assetReferences ?? []\n for (const assetId of resourcesAccessed.assets) {\n if (!transaction.appCall.assetReferences.includes(assetId)) {\n transaction.appCall.assetReferences.push(assetId)\n }\n }\n assetsCount = transaction.appCall.assetReferences.length\n }\n\n if (accountsCount + assetsCount + appsCount + boxesCount > MAX_OVERALL_REFERENCES) {\n throw new Error(`Resource reference limit of ${MAX_OVERALL_REFERENCES} exceeded in transaction ${groupIndex}`)\n }\n}\n\nenum GroupResourceType {\n Account,\n App,\n Asset,\n Box,\n ExtraBoxRef,\n AssetHolding,\n AppLocal,\n}\n\n/**\n * Populate group-level resources for app call transactions\n */\nexport function populateGroupResources(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n groupResources: SimulateUnnamedResourcesAccessed,\n): void {\n let remainingAccounts = [...(groupResources.accounts ?? [])]\n let remainingApps = [...(groupResources.apps ?? [])]\n let remainingAssets = [...(groupResources.assets ?? [])]\n const remainingBoxes = [...(groupResources.boxes ?? [])]\n\n // Process cross-reference resources first (app locals and asset holdings) as they are most restrictive\n if (groupResources.appLocals) {\n groupResources.appLocals.forEach((appLocal) => {\n populateGroupResource(transactions, { type: GroupResourceType.AppLocal, data: appLocal })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== appLocal.address)\n remainingApps = remainingApps.filter((app) => app !== appLocal.appId)\n })\n }\n\n if (groupResources.assetHoldings) {\n groupResources.assetHoldings.forEach((assetHolding) => {\n populateGroupResource(transactions, { type: GroupResourceType.AssetHolding, data: assetHolding })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== assetHolding.address)\n remainingAssets = remainingAssets.filter((asset) => asset !== assetHolding.assetId)\n })\n }\n\n // Process accounts next because account limit is 4\n remainingAccounts.forEach((account) => {\n populateGroupResource(transactions, { type: GroupResourceType.Account, data: account })\n })\n\n // Process boxes\n remainingBoxes.forEach((boxRef) => {\n populateGroupResource(transactions, { type: GroupResourceType.Box, data: { appId: boxRef.appId, name: boxRef.name } })\n // Remove apps as resource if we're adding it here\n remainingApps = remainingApps.filter((app) => app !== boxRef.appId)\n })\n\n // Process assets\n remainingAssets.forEach((asset) => {\n populateGroupResource(transactions, { type: GroupResourceType.Asset, data: asset })\n })\n\n // Process remaining apps\n remainingApps.forEach((app) => {\n populateGroupResource(transactions, { type: GroupResourceType.App, data: app })\n })\n\n // Handle extra box refs\n if (groupResources.extraBoxRefs) {\n for (let i = 0; i < groupResources.extraBoxRefs; i++) {\n populateGroupResource(transactions, { type: GroupResourceType.ExtraBoxRef })\n }\n }\n}\n\n/**\n * Helper function to check if an app call transaction is below resource limit\n */\nfunction isAppCallBelowResourceLimit(txn: Transaction): boolean {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const accountsCount = txn.appCall?.accountReferences?.length || 0\n const assetsCount = txn.appCall?.assetReferences?.length || 0\n const appsCount = txn.appCall?.appReferences?.length || 0\n const boxesCount = txn.appCall?.boxReferences?.length || 0\n\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n}\n\ntype GroupResourceToPopulate =\n | { type: GroupResourceType.Account; data: Address }\n | { type: GroupResourceType.App; data: bigint }\n | { type: GroupResourceType.Asset; data: bigint }\n | { type: GroupResourceType.Box; data: TransactBoxReference }\n | { type: GroupResourceType.ExtraBoxRef }\n | { type: GroupResourceType.AssetHolding; data: HoldingReference }\n | { type: GroupResourceType.AppLocal; data: LocalsReference }\n\n/**\n * Helper function to populate a specific resource into a transaction group\n */\nfunction populateGroupResource(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n resource: GroupResourceToPopulate,\n): void {\n // For asset holdings and app locals, first try to find a transaction that already has the account available\n if (resource.type === GroupResourceType.AssetHolding || resource.type === GroupResourceType.AppLocal) {\n const address = resource.data.address\n\n // Try to find a transaction that already has the account available\n const groupIndex1 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n\n // Check if account is in foreign accounts array\n if (appCall.accountReferences?.some((a) => a.equals(address))) {\n return true\n }\n\n // Check if account is available as an app account\n if (appCall.appReferences) {\n for (const appId of appCall.appReferences) {\n if (address === getApplicationAddress(appId)) {\n return true\n }\n }\n }\n\n // Check if account appears in any app call transaction fields\n if (txn.sender.equals(address)) {\n return true\n }\n\n return false\n })\n\n if (groupIndex1 !== -1) {\n const appCall = transactions[groupIndex1].appCall!\n if (resource.type === GroupResourceType.AssetHolding) {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.assetId)) {\n appCall.assetReferences.push(resource.data.assetId)\n }\n } else {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n }\n return\n }\n\n // Try to find a transaction that has the asset/app available and space for account\n const groupIndex2 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n if ((appCall.accountReferences?.length ?? 0) >= MAX_ACCOUNT_REFERENCES) {\n return false\n }\n\n if (resource.type === GroupResourceType.AssetHolding) {\n return appCall.assetReferences?.includes(resource.data.assetId) || false\n } else {\n return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId\n }\n })\n\n if (groupIndex2 !== -1) {\n const appCall = transactions[groupIndex2].appCall!\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.includes(address)) {\n appCall.accountReferences.push(address)\n }\n return\n }\n }\n\n // For boxes, first try to find a transaction that already has the app available\n if (resource.type === GroupResourceType.Box) {\n const groupIndex = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId\n })\n\n if (groupIndex !== -1) {\n const appCall = transactions[groupIndex].appCall!\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n return\n }\n }\n\n // Find the first transaction that can accommodate the resource\n const groupIndex = transactions.findIndex((txn) => {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const appCall = txn.appCall!\n const accountsCount = appCall.accountReferences?.length ?? 0\n const assetsCount = appCall.assetReferences?.length ?? 0\n const appsCount = appCall.appReferences?.length ?? 0\n const boxesCount = appCall.boxReferences?.length ?? 0\n\n switch (resource.type) {\n case GroupResourceType.Account:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n case GroupResourceType.AssetHolding:\n case GroupResourceType.AppLocal:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n case GroupResourceType.Box:\n if (resource.data.appId !== 0n) {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n } else {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n default:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n })\n\n if (groupIndex === -1) {\n throw new Error('No more transactions below reference limit. Add another app call to the group.')\n }\n\n const appCall = transactions[groupIndex].appCall!\n\n switch (resource.type) {\n case GroupResourceType.Account: {\n appCall.accountReferences = appCall.accountReferences ?? []\n const address = resource.data\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.App:\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data)) {\n appCall.appReferences.push(resource.data)\n }\n break\n case GroupResourceType.Box: {\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n if (resource.data.appId !== 0n) {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n }\n break\n }\n case GroupResourceType.ExtraBoxRef:\n appCall.boxReferences = appCall.boxReferences ?? []\n appCall.boxReferences.push({ appId: 0n, name: new Uint8Array(0) })\n break\n case GroupResourceType.AssetHolding: {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.assetId)) {\n appCall.assetReferences.push(resource.data.assetId)\n }\n const address = resource.data.address\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.AppLocal: {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n const address = resource.data.address\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.Asset:\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data)) {\n appCall.assetReferences.push(resource.data)\n }\n break\n }\n}\n"],"mappings":";;;;;;;;;AAkGA,MAAa,iBAAiB,OAC5B,QACA,YACA,iBACA,0BACyB;CACzB,MAAM,aAAaA,eAAAA,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;EAAE,eAAe,OAAO,QAAQ,oBAAoB;EAAG,UAAU,OAAO,QAAQ,cAAc;EAAG,GACjG,KAAA;CACN,MAAM,mBACJ,OAAO,QAAQ,oBAAoB,KAAA,KAAa,OAAO,QAAQ,cAAc,KAAA,IACzE;EAAE,eAAe,OAAO,QAAQ,mBAAmB;EAAG,UAAU,OAAO,QAAQ,aAAa;EAAG,GAC/F,KAAA;CACN,MAAM,oBACJ,OAAO,sBAAsB,KAAA,IAAY,OAAO,oBAAoBC,aAAAA,2BAA2B,iBAAkB,kBAAmB;CAGtI,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAIC,oBAAAA,YAAY;EACrB,GAAG;EACH,MAAMC,yBAAAA,gBAAgB;EACtB,SAAS;GACP,OAAO;GACP,YAAY,OAAO,cAAcC,iBAAAA,sBAAsB;GACtC;GACE;GACA;GACD;GACC;GACnB,MAAM,OAAO;GACb,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,OAAO,mBAAmB,KAAK,MAAMC,gBAAAA,WAAW,EAAE,CAAC;IACtE,eAAe,OAAO;IACtB,iBAAiB,OAAO;IACxB,eAAe,OAAO,eAAe,IAAIC,oBAAAA,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC;;AAGJ,MAAa,iBAAiB,OAC5B,QACA,YACA,iBACA,0BACyB;CACzB,MAAM,aAAaN,eAAAA,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;CAGb,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAIE,oBAAAA,YAAY;EACrB,GAAG;EACH,MAAMC,yBAAAA,gBAAgB;EACtB,SAAS;GACP,OAAO,OAAO;GACd,YAAYC,iBAAAA,sBAAsB;GACjB;GACE;GACnB,MAAM,OAAO;GACb,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,OAAO,mBAAmB,KAAK,MAAMC,gBAAAA,WAAW,EAAE,CAAC;IACtE,eAAe,OAAO;IACtB,iBAAiB,OAAO;IACxB,eAAe,OAAO,eAAe,IAAIC,oBAAAA,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC;;AAGJ,MAAa,gBACX,QACA,iBACA,0BACgB;CAChB,MAAM,aAAaN,eAAAA,2BAA2B,QAAQ,iBAAiB,sBAAsB;CAE7F,MAAM,sBAAsB,OAAO,oBAAoB,OAAO,iBAAiB,SAAS;AAExF,QAAO,IAAIE,oBAAAA,YAAY;EACrB,GAAG;EACH,MAAMC,yBAAAA,gBAAgB;EACtB,SAAS;GACP,OAAO,OAAO;GACd,YAAY,OAAO,cAAcC,iBAAAA,sBAAsB;GACvD,MAAM,OAAO;GACb,GAAI,sBACA,EAAE,kBAAkB,OAAO,kBAAkB,GAC7C;IACE,mBAAmB,OAAO,mBAAmB,KAAK,MAAMC,gBAAAA,WAAW,EAAE,CAAC;IACtE,eAAe,OAAO;IACtB,iBAAiB,OAAO;IACxB,eAAe,OAAO,eAAe,IAAIC,oBAAAA,WAAW,gBAAgB;IACrE;GACL,eAAe,OAAO;GACvB;EACF,CAAC;;;;;AAMJ,SAAgB,6BACd,aACA,mBACA,YACM;AACN,KAAI,YAAY,SAASH,yBAAAA,gBAAgB,WAAW,YAAY,YAAY,KAAA,EAC1E;AAIF,KAAI,kBAAkB,SAAS,kBAAkB,aAC/C,OAAM,IAAI,MAAM,4CAA4C;AAE9D,KAAI,kBAAkB,UACpB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,KAAI,kBAAkB,cACpB,OAAM,IAAI,MAAM,qDAAqD;CAGvE,IAAI,gBAAgB;CACpB,IAAI,YAAY;CAChB,IAAI,cAAc;CAClB,MAAM,aAAa,YAAY,QAAQ,eAAe,UAAU;AAGhE,KAAI,kBAAkB,UAAU;AAC9B,cAAY,QAAQ,oBAAoB,YAAY,QAAQ,qBAAqB,EAAE;AACnF,OAAK,MAAM,WAAW,kBAAkB,UAAU;GAChD,MAAM,UAAU;AAChB,OAAI,CAAC,YAAY,QAAQ,kBAAkB,MAAM,MAAM,EAAE,OAAO,QAAQ,CAAC,CACvE,aAAY,QAAQ,kBAAkB,KAAK,QAAQ;;AAGvD,kBAAgB,YAAY,QAAQ,kBAAkB;;AAIxD,KAAI,kBAAkB,MAAM;AAC1B,cAAY,QAAQ,gBAAgB,YAAY,QAAQ,iBAAiB,EAAE;AAC3E,OAAK,MAAM,SAAS,kBAAkB,KACpC,KAAI,CAAC,YAAY,QAAQ,cAAc,SAAS,MAAM,CACpD,aAAY,QAAQ,cAAc,KAAK,MAAM;AAGjD,cAAY,YAAY,QAAQ,cAAc;;AAIhD,KAAI,kBAAkB,QAAQ;AAC5B,cAAY,QAAQ,kBAAkB,YAAY,QAAQ,mBAAmB,EAAE;AAC/E,OAAK,MAAM,WAAW,kBAAkB,OACtC,KAAI,CAAC,YAAY,QAAQ,gBAAgB,SAAS,QAAQ,CACxD,aAAY,QAAQ,gBAAgB,KAAK,QAAQ;AAGrD,gBAAc,YAAY,QAAQ,gBAAgB;;AAGpD,KAAI,gBAAgB,cAAc,YAAY,aAAA,EAC5C,OAAM,IAAI,MAAM,yDAAiF,aAAa;;AAIlH,IAAK,oBAAL,yBAAA,mBAAA;AACE,mBAAA,kBAAA,aAAA,KAAA;AACA,mBAAA,kBAAA,SAAA,KAAA;AACA,mBAAA,kBAAA,WAAA,KAAA;AACA,mBAAA,kBAAA,SAAA,KAAA;AACA,mBAAA,kBAAA,iBAAA,KAAA;AACA,mBAAA,kBAAA,kBAAA,KAAA;AACA,mBAAA,kBAAA,cAAA,KAAA;;EAPG,qBAAA,EAAA,CAQJ;;;;AAKD,SAAgB,uBACd,cACA,gBACM;CACN,IAAI,oBAAoB,CAAC,GAAI,eAAe,YAAY,EAAE,CAAE;CAC5D,IAAI,gBAAgB,CAAC,GAAI,eAAe,QAAQ,EAAE,CAAE;CACpD,IAAI,kBAAkB,CAAC,GAAI,eAAe,UAAU,EAAE,CAAE;CACxD,MAAM,iBAAiB,CAAC,GAAI,eAAe,SAAS,EAAE,CAAE;AAGxD,KAAI,eAAe,UACjB,gBAAe,UAAU,SAAS,aAAa;AAC7C,wBAAsB,cAAc;GAAE,MAAM,kBAAkB;GAAU,MAAM;GAAU,CAAC;AAEzF,sBAAoB,kBAAkB,QAAQ,QAAQ,QAAQ,SAAS,QAAQ;AAC/E,kBAAgB,cAAc,QAAQ,QAAQ,QAAQ,SAAS,MAAM;GACrE;AAGJ,KAAI,eAAe,cACjB,gBAAe,cAAc,SAAS,iBAAiB;AACrD,wBAAsB,cAAc;GAAE,MAAM,kBAAkB;GAAc,MAAM;GAAc,CAAC;AAEjG,sBAAoB,kBAAkB,QAAQ,QAAQ,QAAQ,aAAa,QAAQ;AACnF,oBAAkB,gBAAgB,QAAQ,UAAU,UAAU,aAAa,QAAQ;GACnF;AAIJ,mBAAkB,SAAS,YAAY;AACrC,wBAAsB,cAAc;GAAE,MAAM,kBAAkB;GAAS,MAAM;GAAS,CAAC;GACvF;AAGF,gBAAe,SAAS,WAAW;AACjC,wBAAsB,cAAc;GAAE,MAAM,kBAAkB;GAAK,MAAM;IAAE,OAAO,OAAO;IAAO,MAAM,OAAO;IAAM;GAAE,CAAC;AAEtH,kBAAgB,cAAc,QAAQ,QAAQ,QAAQ,OAAO,MAAM;GACnE;AAGF,iBAAgB,SAAS,UAAU;AACjC,wBAAsB,cAAc;GAAE,MAAM,kBAAkB;GAAO,MAAM;GAAO,CAAC;GACnF;AAGF,eAAc,SAAS,QAAQ;AAC7B,wBAAsB,cAAc;GAAE,MAAM,kBAAkB;GAAK,MAAM;GAAK,CAAC;GAC/E;AAGF,KAAI,eAAe,aACjB,MAAK,IAAI,IAAI,GAAG,IAAI,eAAe,cAAc,IAC/C,uBAAsB,cAAc,EAAE,MAAM,kBAAkB,aAAa,CAAC;;;;;AAQlF,SAAS,4BAA4B,KAA2B;AAC9D,KAAI,IAAI,SAASA,yBAAAA,gBAAgB,QAC/B,QAAO;AAET,KAAI,IAAI,SAAS,kBAAkB,OACjC,QAAO;CAGT,MAAM,gBAAgB,IAAI,SAAS,mBAAmB,UAAU;CAChE,MAAM,cAAc,IAAI,SAAS,iBAAiB,UAAU;CAC5D,MAAM,YAAY,IAAI,SAAS,eAAe,UAAU;CACxD,MAAM,aAAa,IAAI,SAAS,eAAe,UAAU;AAEzD,QAAO,gBAAgB,cAAc,YAAY,aAAA;;;;;AAenD,SAAS,sBACP,cACA,UACM;AAEN,KAAI,SAAS,SAAS,kBAAkB,gBAAgB,SAAS,SAAS,kBAAkB,UAAU;EACpG,MAAM,UAAU,SAAS,KAAK;EAG9B,MAAM,cAAc,aAAa,WAAW,QAAQ;AAClD,OAAI,CAAC,4BAA4B,IAAI,CACnC,QAAO;GAGT,MAAM,UAAU,IAAI;AAGpB,OAAI,QAAQ,mBAAmB,MAAM,MAAM,EAAE,OAAO,QAAQ,CAAC,CAC3D,QAAO;AAIT,OAAI,QAAQ;SACL,MAAM,SAAS,QAAQ,cAC1B,KAAI,YAAYI,gBAAAA,sBAAsB,MAAM,CAC1C,QAAO;;AAMb,OAAI,IAAI,OAAO,OAAO,QAAQ,CAC5B,QAAO;AAGT,UAAO;IACP;AAEF,MAAI,gBAAgB,IAAI;GACtB,MAAM,UAAU,aAAa,aAAa;AAC1C,OAAI,SAAS,SAAS,kBAAkB,cAAc;AACpD,YAAQ,kBAAkB,QAAQ,mBAAmB,EAAE;AACvD,QAAI,CAAC,QAAQ,gBAAgB,SAAS,SAAS,KAAK,QAAQ,CAC1D,SAAQ,gBAAgB,KAAK,SAAS,KAAK,QAAQ;UAEhD;AACL,YAAQ,gBAAgB,QAAQ,iBAAiB,EAAE;AACnD,QAAI,CAAC,QAAQ,cAAc,SAAS,SAAS,KAAK,MAAM,CACtD,SAAQ,cAAc,KAAK,SAAS,KAAK,MAAM;;AAGnD;;EAIF,MAAM,cAAc,aAAa,WAAW,QAAQ;AAClD,OAAI,CAAC,4BAA4B,IAAI,CACnC,QAAO;GAGT,MAAM,UAAU,IAAI;AACpB,QAAK,QAAQ,mBAAmB,UAAU,MAAA,EACxC,QAAO;AAGT,OAAI,SAAS,SAAS,kBAAkB,aACtC,QAAO,QAAQ,iBAAiB,SAAS,SAAS,KAAK,QAAQ,IAAI;OAEnE,QAAO,QAAQ,eAAe,SAAS,SAAS,KAAK,MAAM,IAAI,QAAQ,UAAU,SAAS,KAAK;IAEjG;AAEF,MAAI,gBAAgB,IAAI;GACtB,MAAM,UAAU,aAAa,aAAa;AAC1C,WAAQ,oBAAoB,QAAQ,qBAAqB,EAAE;AAC3D,OAAI,CAAC,QAAQ,kBAAkB,SAAS,QAAQ,CAC9C,SAAQ,kBAAkB,KAAK,QAAQ;AAEzC;;;AAKJ,KAAI,SAAS,SAAS,kBAAkB,KAAK;EAC3C,MAAM,aAAa,aAAa,WAAW,QAAQ;AACjD,OAAI,CAAC,4BAA4B,IAAI,CACnC,QAAO;GAGT,MAAM,UAAU,IAAI;AACpB,UAAO,QAAQ,eAAe,SAAS,SAAS,KAAK,MAAM,IAAI,QAAQ,UAAU,SAAS,KAAK;IAC/F;AAEF,MAAI,eAAe,IAAI;GACrB,MAAM,UAAU,aAAa,YAAY;AACzC,WAAQ,gBAAgB,QAAQ,iBAAiB,EAAE;AAOnD,OAAI,CANW,QAAQ,cAAc,MAClC,MACC,EAAE,UAAU,SAAS,KAAK,SAC1B,EAAE,KAAK,WAAW,SAAS,KAAK,KAAK,UACrC,EAAE,KAAK,OAAO,MAAM,MAAM,SAAS,SAAS,KAAK,KAAK,GAAG,CAC5D,CAEC,SAAQ,cAAc,KAAK;IAAE,OAAO,SAAS,KAAK;IAAO,MAAM,SAAS,KAAK;IAAM,CAAC;AAEtF;;;CAKJ,MAAM,aAAa,aAAa,WAAW,QAAQ;AACjD,MAAI,IAAI,SAASJ,yBAAAA,gBAAgB,QAC/B,QAAO;AAET,MAAI,IAAI,SAAS,kBAAkB,OACjC,QAAO;EAGT,MAAM,UAAU,IAAI;EACpB,MAAM,gBAAgB,QAAQ,mBAAmB,UAAU;EAC3D,MAAM,cAAc,QAAQ,iBAAiB,UAAU;EACvD,MAAM,YAAY,QAAQ,eAAe,UAAU;EACnD,MAAM,aAAa,QAAQ,eAAe,UAAU;AAEpD,UAAQ,SAAS,MAAjB;GACE,KAAK,kBAAkB,QACrB,QAAO,gBAAgB,cAAc,YAAY,aAAA;GACnD,KAAK,kBAAkB;GACvB,KAAK,kBAAkB,SACrB,QAAO,gBAAgB,cAAc,YAAY,aAAA;GACnD,KAAK,kBAAkB,IACrB,KAAI,SAAS,KAAK,UAAU,GAC1B,QAAO,gBAAgB,cAAc,YAAY,aAAA;OAEjD,QAAO,gBAAgB,cAAc,YAAY,aAAA;GAErD,QACE,QAAO,gBAAgB,cAAc,YAAY,aAAA;;GAErD;AAEF,KAAI,eAAe,GACjB,OAAM,IAAI,MAAM,iFAAiF;CAGnG,MAAM,UAAU,aAAa,YAAY;AAEzC,SAAQ,SAAS,MAAjB;EACE,KAAK,kBAAkB,SAAS;AAC9B,WAAQ,oBAAoB,QAAQ,qBAAqB,EAAE;GAC3D,MAAM,UAAU,SAAS;AACzB,OAAI,CAAC,QAAQ,kBAAkB,MAAM,MAAM,EAAE,OAAO,QAAQ,CAAC,CAC3D,SAAQ,kBAAkB,KAAK,QAAQ;AAEzC;;EAEF,KAAK,kBAAkB;AACrB,WAAQ,gBAAgB,QAAQ,iBAAiB,EAAE;AACnD,OAAI,CAAC,QAAQ,cAAc,SAAS,SAAS,KAAK,CAChD,SAAQ,cAAc,KAAK,SAAS,KAAK;AAE3C;EACF,KAAK,kBAAkB;AACrB,WAAQ,gBAAgB,QAAQ,iBAAiB,EAAE;AAOnD,OAAI,CANW,QAAQ,cAAc,MAClC,MACC,EAAE,UAAU,SAAS,KAAK,SAC1B,EAAE,KAAK,WAAW,SAAS,KAAK,KAAK,UACrC,EAAE,KAAK,OAAO,MAAM,MAAM,SAAS,SAAS,KAAK,KAAK,GAAG,CAC5D,CAEC,SAAQ,cAAc,KAAK;IAAE,OAAO,SAAS,KAAK;IAAO,MAAM,SAAS,KAAK;IAAM,CAAC;AAEtF,OAAI,SAAS,KAAK,UAAU,IAAI;AAC9B,YAAQ,gBAAgB,QAAQ,iBAAiB,EAAE;AACnD,QAAI,CAAC,QAAQ,cAAc,SAAS,SAAS,KAAK,MAAM,CACtD,SAAQ,cAAc,KAAK,SAAS,KAAK,MAAM;;AAGnD;EAEF,KAAK,kBAAkB;AACrB,WAAQ,gBAAgB,QAAQ,iBAAiB,EAAE;AACnD,WAAQ,cAAc,KAAK;IAAE,OAAO;IAAI,MAAM,IAAI,WAAW,EAAE;IAAE,CAAC;AAClE;EACF,KAAK,kBAAkB,cAAc;AACnC,WAAQ,kBAAkB,QAAQ,mBAAmB,EAAE;AACvD,OAAI,CAAC,QAAQ,gBAAgB,SAAS,SAAS,KAAK,QAAQ,CAC1D,SAAQ,gBAAgB,KAAK,SAAS,KAAK,QAAQ;GAErD,MAAM,UAAU,SAAS,KAAK;AAC9B,WAAQ,oBAAoB,QAAQ,qBAAqB,EAAE;AAC3D,OAAI,CAAC,QAAQ,kBAAkB,MAAM,MAAM,EAAE,OAAO,QAAQ,CAAC,CAC3D,SAAQ,kBAAkB,KAAK,QAAQ;AAEzC;;EAEF,KAAK,kBAAkB,UAAU;AAC/B,WAAQ,gBAAgB,QAAQ,iBAAiB,EAAE;AACnD,OAAI,CAAC,QAAQ,cAAc,SAAS,SAAS,KAAK,MAAM,CACtD,SAAQ,cAAc,KAAK,SAAS,KAAK,MAAM;GAEjD,MAAM,UAAU,SAAS,KAAK;AAC9B,WAAQ,oBAAoB,QAAQ,qBAAqB,EAAE;AAC3D,OAAI,CAAC,QAAQ,kBAAkB,MAAM,MAAM,EAAE,OAAO,QAAQ,CAAC,CAC3D,SAAQ,kBAAkB,KAAK,QAAQ;AAEzC;;EAEF,KAAK,kBAAkB;AACrB,WAAQ,kBAAkB,QAAQ,mBAAmB,EAAE;AACvD,OAAI,CAAC,QAAQ,gBAAgB,SAAS,SAAS,KAAK,CAClD,SAAQ,gBAAgB,KAAK,SAAS,KAAK;AAE7C"}
1
+ {"version":3,"file":"app-call.js","names":["buildTransactionCommonData","calculateExtraProgramPages","Transaction","getAddress","AppManager","getApplicationAddress"],"sources":["../../src/transactions/app-call.ts"],"sourcesContent":["import { SimulateUnnamedResourcesAccessed, SuggestedParams } from '@algorandfoundation/algokit-algod-client'\nimport {\n Address,\n Expand,\n MAX_ACCOUNT_REFERENCES,\n MAX_OVERALL_REFERENCES,\n ReadableAddress,\n getAddress,\n getApplicationAddress,\n} from '@algorandfoundation/algokit-common'\nimport {\n HoldingReference,\n LocalsReference,\n OnApplicationComplete,\n ResourceReference,\n BoxReference as TransactBoxReference,\n Transaction,\n TransactionType,\n} from '@algorandfoundation/algokit-transact'\nimport { AppManager, BoxIdentifier, BoxReference as UtilsBoxReference } from '../app-manager'\nimport { calculateExtraProgramPages } from '../util'\nimport { CommonTransactionParams, buildTransactionCommonData } from './common'\n\n/** Common parameters for defining an application call transaction. */\nexport type CommonAppCallParams = CommonTransactionParams & {\n /** ID of the application; 0 if the application is being created. */\n appId: bigint\n /** The [on-complete](https://dev.algorand.co/concepts/smart-contracts/avm#oncomplete) action of the call; defaults to no-op. */\n onComplete?: OnApplicationComplete\n /** Any [arguments to pass to the smart contract call](/concepts/smart-contracts/languages/teal/#argument-passing). */\n args?: Uint8Array[]\n /** Any account addresses to add to the [accounts array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n accountReferences?: ReadableAddress[]\n /** The ID of any apps to load to the [foreign apps array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n appReferences?: bigint[]\n /** The ID of any assets to load to the [foreign assets array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays). */\n assetReferences?: bigint[]\n /** Any boxes to load to the [boxes array](https://dev.algorand.co/concepts/smart-contracts/resource-usage#what-are-reference-arrays).\n *\n * Either the name identifier (which will be set against app ID of `0` i.e.\n * the current app), or a box identifier with the name identifier and app ID.\n */\n boxReferences?: (UtilsBoxReference | BoxIdentifier)[]\n /** Access references unifies `accountReferences`, `appReferences`, `assetReferences`, and `boxReferences` under a single list. If non-empty, these other reference lists must be empty. If access is empty, those other reference lists may be non-empty. */\n accessReferences?: ResourceReference[]\n /** If set, the transaction will be rejected when the app's version is greater than or equal to this value. This can be used to prevent calling an app after it has been updated. Set to 0 or leave undefined to skip the version check. */\n rejectVersion?: number\n}\n\n/** Parameters to define an app create transaction */\nexport type AppCreateParams = Expand<\n Omit<CommonAppCallParams, 'appId'> & {\n appId?: 0\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.ClearState>\n /** The program to execute for all OnCompletes other than ClearState as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal that will be compiled (string) or compiled teal (encoded as a byte array (Uint8Array)). */\n clearStateProgram: string | Uint8Array\n /** The state schema for the app. This is immutable once the app is created. */\n schema?: {\n /** The number of integers saved in global state. */\n globalInts: number\n /** The number of byte slices saved in global state. */\n globalByteSlices: number\n /** The number of integers saved in local state. */\n localInts: number\n /** The number of byte slices saved in local state. */\n localByteSlices: number\n }\n /** Number of extra pages required for the programs.\n * Defaults to the number needed for the programs in this call if not specified.\n * This is immutable once the app is created. */\n extraProgramPages?: number\n }\n>\n\n/** Parameters to define an app update transaction */\nexport type AppUpdateParams = Expand<\n CommonAppCallParams & {\n onComplete?: OnApplicationComplete.UpdateApplication\n /** The program to execute for all OnCompletes other than ClearState as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n approvalProgram: string | Uint8Array\n /** The program to execute for ClearState OnComplete as raw teal (string) or compiled teal (base 64 encoded as a byte array (Uint8Array)) */\n clearStateProgram: string | Uint8Array\n }\n>\n\n/** Parameters to define an application call transaction. */\nexport type AppCallParams = CommonAppCallParams & { onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication> }\n\n/** Common parameters to define an ABI method call transaction. */\nexport type AppMethodCallParams = CommonAppCallParams & {\n onComplete?: Exclude<OnApplicationComplete, OnApplicationComplete.UpdateApplication | OnApplicationComplete.ClearState>\n}\n\n/** Parameters to define an application delete call transaction. */\nexport type AppDeleteParams = CommonAppCallParams & { onComplete?: OnApplicationComplete.DeleteApplication }\n\nexport const buildAppCreate = async (\n params: AppCreateParams,\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 ? { numByteSlices: params.schema?.globalByteSlices ?? 0, numUints: params.schema?.globalInts ?? 0 }\n : undefined\n const localStateSchema =\n params.schema?.localByteSlices !== undefined || params.schema?.localInts !== undefined\n ? { numByteSlices: params.schema?.localByteSlices ?? 0, numUints: params.schema?.localInts ?? 0 }\n : undefined\n const extraProgramPages =\n params.extraProgramPages !== undefined ? params.extraProgramPages : calculateExtraProgramPages(approvalProgram!, clearStateProgram!)\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, // App creation always uses ID 0\n onComplete: params.onComplete ?? OnApplicationComplete.NoOp,\n approvalProgram: approvalProgram,\n clearStateProgram: clearStateProgram,\n globalStateSchema: globalStateSchema,\n localStateSchema: localStateSchema,\n extraProgramPages: extraProgramPages,\n args: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppUpdate = async (\n params: AppUpdateParams,\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\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: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\nexport const buildAppCall = (\n params: AppCallParams | AppDeleteParams,\n suggestedParams: SuggestedParams,\n defaultValidityWindow: bigint,\n): Transaction => {\n const commonData = buildTransactionCommonData(params, suggestedParams, defaultValidityWindow)\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: params.args,\n ...(hasAccessReferences\n ? { accessReferences: params.accessReferences }\n : {\n accountReferences: params.accountReferences?.map((a) => getAddress(a)),\n appReferences: params.appReferences,\n assetReferences: params.assetReferences,\n boxReferences: params.boxReferences?.map(AppManager.getBoxReference),\n }),\n rejectVersion: params.rejectVersion,\n },\n })\n}\n\n/**\n * Populate transaction-level resources for app call transactions\n */\nexport function populateTransactionResources(\n transaction: Transaction, // NOTE: transaction is mutated in place\n resourcesAccessed: SimulateUnnamedResourcesAccessed,\n groupIndex: number,\n): void {\n if (transaction.type !== TransactionType.AppCall || transaction.appCall === undefined) {\n return\n }\n\n // Check for unexpected resources at transaction level\n if (resourcesAccessed.boxes || resourcesAccessed.extraBoxRefs) {\n throw new Error('Unexpected boxes at the transaction level')\n }\n if (resourcesAccessed.appLocals) {\n throw new Error('Unexpected app locals at the transaction level')\n }\n if (resourcesAccessed.assetHoldings) {\n throw new Error('Unexpected asset holdings at the transaction level')\n }\n\n let accountsCount = 0\n let appsCount = 0\n let assetsCount = 0\n const boxesCount = transaction.appCall.boxReferences?.length ?? 0\n\n // Populate accounts\n if (resourcesAccessed.accounts) {\n transaction.appCall.accountReferences = transaction.appCall.accountReferences ?? []\n for (const account of resourcesAccessed.accounts) {\n const address = account\n if (!transaction.appCall.accountReferences.some((a) => a.equals(address))) {\n transaction.appCall.accountReferences.push(address)\n }\n }\n accountsCount = transaction.appCall.accountReferences.length\n }\n\n // Populate apps\n if (resourcesAccessed.apps) {\n transaction.appCall.appReferences = transaction.appCall.appReferences ?? []\n for (const appId of resourcesAccessed.apps) {\n if (!transaction.appCall.appReferences.includes(appId)) {\n transaction.appCall.appReferences.push(appId)\n }\n }\n appsCount = transaction.appCall.appReferences.length\n }\n\n // Populate assets\n if (resourcesAccessed.assets) {\n transaction.appCall.assetReferences = transaction.appCall.assetReferences ?? []\n for (const assetId of resourcesAccessed.assets) {\n if (!transaction.appCall.assetReferences.includes(assetId)) {\n transaction.appCall.assetReferences.push(assetId)\n }\n }\n assetsCount = transaction.appCall.assetReferences.length\n }\n\n if (accountsCount + assetsCount + appsCount + boxesCount > MAX_OVERALL_REFERENCES) {\n throw new Error(`Resource reference limit of ${MAX_OVERALL_REFERENCES} exceeded in transaction ${groupIndex}`)\n }\n}\n\nenum GroupResourceType {\n Account,\n App,\n Asset,\n Box,\n ExtraBoxRef,\n AssetHolding,\n AppLocal,\n}\n\n/**\n * Populate group-level resources for app call transactions\n */\nexport function populateGroupResources(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n groupResources: SimulateUnnamedResourcesAccessed,\n): void {\n let remainingAccounts = [...(groupResources.accounts ?? [])]\n let remainingApps = [...(groupResources.apps ?? [])]\n let remainingAssets = [...(groupResources.assets ?? [])]\n const remainingBoxes = [...(groupResources.boxes ?? [])]\n\n // Process cross-reference resources first (app locals and asset holdings) as they are most restrictive\n if (groupResources.appLocals) {\n groupResources.appLocals.forEach((appLocal) => {\n populateGroupResource(transactions, { type: GroupResourceType.AppLocal, data: appLocal })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== appLocal.address)\n remainingApps = remainingApps.filter((app) => app !== appLocal.appId)\n })\n }\n\n if (groupResources.assetHoldings) {\n groupResources.assetHoldings.forEach((assetHolding) => {\n populateGroupResource(transactions, { type: GroupResourceType.AssetHolding, data: assetHolding })\n // Remove resources from remaining if we're adding them here\n remainingAccounts = remainingAccounts.filter((acc) => acc !== assetHolding.address)\n remainingAssets = remainingAssets.filter((asset) => asset !== assetHolding.assetId)\n })\n }\n\n // Process accounts next because account limit is 4\n remainingAccounts.forEach((account) => {\n populateGroupResource(transactions, { type: GroupResourceType.Account, data: account })\n })\n\n // Process boxes\n remainingBoxes.forEach((boxRef) => {\n populateGroupResource(transactions, { type: GroupResourceType.Box, data: { appId: boxRef.appId, name: boxRef.name } })\n // Remove apps as resource if we're adding it here\n remainingApps = remainingApps.filter((app) => app !== boxRef.appId)\n })\n\n // Process assets\n remainingAssets.forEach((asset) => {\n populateGroupResource(transactions, { type: GroupResourceType.Asset, data: asset })\n })\n\n // Process remaining apps\n remainingApps.forEach((app) => {\n populateGroupResource(transactions, { type: GroupResourceType.App, data: app })\n })\n\n // Handle extra box refs\n if (groupResources.extraBoxRefs) {\n for (let i = 0; i < groupResources.extraBoxRefs; i++) {\n populateGroupResource(transactions, { type: GroupResourceType.ExtraBoxRef })\n }\n }\n}\n\n/**\n * Helper function to check if an app call transaction is below resource limit\n */\nfunction isAppCallBelowResourceLimit(txn: Transaction): boolean {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const accountsCount = txn.appCall?.accountReferences?.length || 0\n const assetsCount = txn.appCall?.assetReferences?.length || 0\n const appsCount = txn.appCall?.appReferences?.length || 0\n const boxesCount = txn.appCall?.boxReferences?.length || 0\n\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n}\n\ntype GroupResourceToPopulate =\n | { type: GroupResourceType.Account; data: Address }\n | { type: GroupResourceType.App; data: bigint }\n | { type: GroupResourceType.Asset; data: bigint }\n | { type: GroupResourceType.Box; data: TransactBoxReference }\n | { type: GroupResourceType.ExtraBoxRef }\n | { type: GroupResourceType.AssetHolding; data: HoldingReference }\n | { type: GroupResourceType.AppLocal; data: LocalsReference }\n\n/**\n * Helper function to populate a specific resource into a transaction group\n */\nfunction populateGroupResource(\n transactions: Transaction[], // NOTE: transactions are mutated in place\n resource: GroupResourceToPopulate,\n): void {\n // For asset holdings and app locals, first try to find a transaction that already has the account available\n if (resource.type === GroupResourceType.AssetHolding || resource.type === GroupResourceType.AppLocal) {\n const address = resource.data.address\n\n // Try to find a transaction that already has the account available\n const groupIndex1 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n\n // Check if account is in foreign accounts array\n if (appCall.accountReferences?.some((a) => a.equals(address))) {\n return true\n }\n\n // Check if account is available as an app account\n if (appCall.appReferences) {\n for (const appId of appCall.appReferences) {\n if (address === getApplicationAddress(appId)) {\n return true\n }\n }\n }\n\n // Check if account appears in any app call transaction fields\n if (txn.sender.equals(address)) {\n return true\n }\n\n return false\n })\n\n if (groupIndex1 !== -1) {\n const appCall = transactions[groupIndex1].appCall!\n if (resource.type === GroupResourceType.AssetHolding) {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.assetId)) {\n appCall.assetReferences.push(resource.data.assetId)\n }\n } else {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n }\n return\n }\n\n // Try to find a transaction that has the asset/app available and space for account\n const groupIndex2 = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n if ((appCall.accountReferences?.length ?? 0) >= MAX_ACCOUNT_REFERENCES) {\n return false\n }\n\n if (resource.type === GroupResourceType.AssetHolding) {\n return appCall.assetReferences?.includes(resource.data.assetId) || false\n } else {\n return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId\n }\n })\n\n if (groupIndex2 !== -1) {\n const appCall = transactions[groupIndex2].appCall!\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.includes(address)) {\n appCall.accountReferences.push(address)\n }\n return\n }\n }\n\n // For boxes, first try to find a transaction that already has the app available\n if (resource.type === GroupResourceType.Box) {\n const groupIndex = transactions.findIndex((txn) => {\n if (!isAppCallBelowResourceLimit(txn)) {\n return false\n }\n\n const appCall = txn.appCall!\n return appCall.appReferences?.includes(resource.data.appId) || appCall.appId === resource.data.appId\n })\n\n if (groupIndex !== -1) {\n const appCall = transactions[groupIndex].appCall!\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n return\n }\n }\n\n // Find the first transaction that can accommodate the resource\n const groupIndex = transactions.findIndex((txn) => {\n if (txn.type !== TransactionType.AppCall) {\n return false\n }\n if (txn.appCall?.accessReferences?.length) {\n return false\n }\n\n const appCall = txn.appCall!\n const accountsCount = appCall.accountReferences?.length ?? 0\n const assetsCount = appCall.assetReferences?.length ?? 0\n const appsCount = appCall.appReferences?.length ?? 0\n const boxesCount = appCall.boxReferences?.length ?? 0\n\n switch (resource.type) {\n case GroupResourceType.Account:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n case GroupResourceType.AssetHolding:\n case GroupResourceType.AppLocal:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n case GroupResourceType.Box:\n if (resource.data.appId !== 0n) {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES - 1\n } else {\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n default:\n return accountsCount + assetsCount + appsCount + boxesCount < MAX_OVERALL_REFERENCES\n }\n })\n\n if (groupIndex === -1) {\n throw new Error('No more transactions below reference limit. Add another app call to the group.')\n }\n\n const appCall = transactions[groupIndex].appCall!\n\n switch (resource.type) {\n case GroupResourceType.Account: {\n appCall.accountReferences = appCall.accountReferences ?? []\n const address = resource.data\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.App:\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data)) {\n appCall.appReferences.push(resource.data)\n }\n break\n case GroupResourceType.Box: {\n appCall.boxReferences = appCall.boxReferences ?? []\n const exists = appCall.boxReferences.some(\n (b) =>\n b.appId === resource.data.appId &&\n b.name.length === resource.data.name.length &&\n b.name.every((byte, i) => byte === resource.data.name[i]),\n )\n if (!exists) {\n appCall.boxReferences.push({ appId: resource.data.appId, name: resource.data.name })\n }\n if (resource.data.appId !== 0n) {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n }\n break\n }\n case GroupResourceType.ExtraBoxRef:\n appCall.boxReferences = appCall.boxReferences ?? []\n appCall.boxReferences.push({ appId: 0n, name: new Uint8Array(0) })\n break\n case GroupResourceType.AssetHolding: {\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data.assetId)) {\n appCall.assetReferences.push(resource.data.assetId)\n }\n const address = resource.data.address\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.AppLocal: {\n appCall.appReferences = appCall.appReferences ?? []\n if (!appCall.appReferences.includes(resource.data.appId)) {\n appCall.appReferences.push(resource.data.appId)\n }\n const address = resource.data.address\n appCall.accountReferences = appCall.accountReferences ?? []\n if (!appCall.accountReferences.some((a) => a.equals(address))) {\n appCall.accountReferences.push(address)\n }\n break\n }\n case GroupResourceType.Asset:\n appCall.assetReferences = appCall.assetReferences ?? []\n if (!appCall.assetReferences.includes(resource.data)) {\n appCall.assetReferences.push(resource.data)\n }\n break\n }\n}\n"],"mappings":"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"}