@algorandfoundation/algokit-utils 10.0.0-alpha.3 → 10.0.0-alpha.32

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 (704) hide show
  1. package/_virtual/rolldown_runtime.js +10 -15
  2. package/abi/index.d.ts +2 -1
  3. package/abi/index.js +3 -0
  4. package/abi/index.mjs +2 -1
  5. package/account-manager.d.ts +448 -0
  6. package/account-manager.js +623 -0
  7. package/account-manager.js.map +1 -0
  8. package/account-manager.mjs +620 -0
  9. package/account-manager.mjs.map +1 -0
  10. package/account.d.ts +156 -0
  11. package/account.js +10 -0
  12. package/account.js.map +1 -0
  13. package/account.mjs +9 -0
  14. package/account.mjs.map +1 -0
  15. package/algod-client/index.d.ts +3 -7
  16. package/algod-client/index.js +2 -5
  17. package/algod-client/index.mjs +2 -2
  18. package/algorand-client-transaction-creator.d.ts +1103 -0
  19. package/algorand-client-transaction-creator.js +735 -0
  20. package/algorand-client-transaction-creator.js.map +1 -0
  21. package/algorand-client-transaction-creator.mjs +734 -0
  22. package/algorand-client-transaction-creator.mjs.map +1 -0
  23. package/algorand-client-transaction-sender.d.ts +1317 -0
  24. package/algorand-client-transaction-sender.js +933 -0
  25. package/algorand-client-transaction-sender.js.map +1 -0
  26. package/algorand-client-transaction-sender.mjs +932 -0
  27. package/algorand-client-transaction-sender.mjs.map +1 -0
  28. package/algorand-client.d.ts +246 -0
  29. package/algorand-client.js +325 -0
  30. package/algorand-client.js.map +1 -0
  31. package/algorand-client.mjs +325 -0
  32. package/algorand-client.mjs.map +1 -0
  33. package/amount.d.ts +46 -3
  34. package/amount.js +92 -13
  35. package/amount.js.map +1 -1
  36. package/amount.mjs +80 -3
  37. package/amount.mjs.map +1 -1
  38. package/app-client.d.ts +2130 -0
  39. package/app-client.js +909 -0
  40. package/app-client.js.map +1 -0
  41. package/app-client.mjs +908 -0
  42. package/app-client.mjs.map +1 -0
  43. package/app-deployer.d.ts +166 -0
  44. package/app-deployer.js +353 -0
  45. package/app-deployer.js.map +1 -0
  46. package/app-deployer.mjs +353 -0
  47. package/app-deployer.mjs.map +1 -0
  48. package/app-factory.d.ts +965 -0
  49. package/app-factory.js +448 -0
  50. package/app-factory.js.map +1 -0
  51. package/app-factory.mjs +448 -0
  52. package/app-factory.mjs.map +1 -0
  53. package/app-manager.d.ts +323 -0
  54. package/app-manager.js +468 -0
  55. package/app-manager.js.map +1 -0
  56. package/app-manager.mjs +468 -0
  57. package/app-manager.mjs.map +1 -0
  58. package/app-spec.d.ts +203 -0
  59. package/app-spec.js +137 -0
  60. package/app-spec.js.map +1 -0
  61. package/app-spec.mjs +137 -0
  62. package/app-spec.mjs.map +1 -0
  63. package/app.d.ts +257 -0
  64. package/app.js +49 -0
  65. package/app.js.map +1 -0
  66. package/app.mjs +42 -0
  67. package/app.mjs.map +1 -0
  68. package/asset-manager.d.ts +212 -0
  69. package/asset-manager.js +166 -0
  70. package/asset-manager.js.map +1 -0
  71. package/asset-manager.mjs +166 -0
  72. package/asset-manager.mjs.map +1 -0
  73. package/async-event-emitter.d.ts +16 -0
  74. package/async-event-emitter.js +38 -0
  75. package/async-event-emitter.js.map +1 -0
  76. package/async-event-emitter.mjs +37 -0
  77. package/async-event-emitter.mjs.map +1 -0
  78. package/client-manager.d.ts +475 -0
  79. package/client-manager.js +616 -0
  80. package/client-manager.js.map +1 -0
  81. package/client-manager.mjs +616 -0
  82. package/client-manager.mjs.map +1 -0
  83. package/composer.d.ts +947 -0
  84. package/composer.js +1584 -0
  85. package/composer.js.map +1 -0
  86. package/composer.mjs +1583 -0
  87. package/composer.mjs.map +1 -0
  88. package/config.d.ts +1 -1
  89. package/config.js +2 -2
  90. package/config.js.map +1 -1
  91. package/config.mjs +1 -1
  92. package/config.mjs.map +1 -1
  93. package/debugging.d.ts +47 -0
  94. package/debugging.js +20 -0
  95. package/debugging.js.map +1 -0
  96. package/debugging.mjs +15 -0
  97. package/debugging.mjs.map +1 -0
  98. package/dispenser-client.d.ts +90 -0
  99. package/dispenser-client.js +127 -0
  100. package/dispenser-client.js.map +1 -0
  101. package/dispenser-client.mjs +127 -0
  102. package/dispenser-client.mjs.map +1 -0
  103. package/expand.d.ts +2 -0
  104. package/expand.js +0 -0
  105. package/expand.mjs +0 -0
  106. package/index.d.ts +6 -6
  107. package/index.js +4 -10
  108. package/index.mjs +5 -6
  109. package/indexer-client/index.d.ts +2 -2
  110. package/indexer-client/index.js +6 -6
  111. package/indexer-client/index.mjs +2 -2
  112. package/{indexer-lookup.d.ts → indexer-client/indexer-lookup.d.ts} +8 -11
  113. package/{indexer-lookup.mjs → indexer-client/indexer-lookup.js} +6 -10
  114. package/indexer-client/indexer-lookup.js.map +1 -0
  115. package/{indexer-lookup.js → indexer-client/indexer-lookup.mjs} +3 -18
  116. package/indexer-client/indexer-lookup.mjs.map +1 -0
  117. package/indexer.d.ts +40 -0
  118. package/indexer.js +38 -0
  119. package/indexer.js.map +1 -0
  120. package/indexer.mjs +35 -0
  121. package/indexer.mjs.map +1 -0
  122. package/instance-of.d.ts +8 -0
  123. package/kmd-account-manager.d.ts +74 -0
  124. package/kmd-account-manager.js +167 -0
  125. package/kmd-account-manager.js.map +1 -0
  126. package/kmd-account-manager.mjs +165 -0
  127. package/kmd-account-manager.mjs.map +1 -0
  128. package/kmd-client/index.d.ts +1 -2
  129. package/kmd-client/index.js +0 -5
  130. package/kmd-client/index.mjs +1 -2
  131. package/lifecycle-events.d.ts +14 -0
  132. package/lifecycle-events.js +11 -0
  133. package/lifecycle-events.js.map +1 -0
  134. package/lifecycle-events.mjs +10 -0
  135. package/lifecycle-events.mjs.map +1 -0
  136. package/logging.d.ts +13 -0
  137. package/logging.js +47 -0
  138. package/logging.js.map +1 -0
  139. package/logging.mjs +42 -0
  140. package/logging.mjs.map +1 -0
  141. package/logic-error.d.ts +39 -0
  142. package/logic-error.js +54 -0
  143. package/logic-error.js.map +1 -0
  144. package/logic-error.mjs +53 -0
  145. package/logic-error.mjs.map +1 -0
  146. package/network-client.d.ts +43 -0
  147. package/network-client.js +14 -0
  148. package/network-client.js.map +1 -0
  149. package/network-client.mjs +13 -0
  150. package/network-client.mjs.map +1 -0
  151. package/package.json +14 -5
  152. package/packages/abi/src/abi-method.d.ts +1 -1
  153. package/packages/abi/src/abi-method.js +1 -1
  154. package/packages/abi/src/abi-method.js.map +1 -1
  155. package/packages/abi/src/abi-method.mjs +1 -1
  156. package/packages/abi/src/abi-method.mjs.map +1 -1
  157. package/packages/abi/src/abi-type.d.ts +1 -3
  158. package/packages/abi/src/abi-type.js +7 -36
  159. package/packages/abi/src/abi-type.js.map +1 -1
  160. package/packages/abi/src/abi-type.mjs +7 -36
  161. package/packages/abi/src/abi-type.mjs.map +1 -1
  162. package/packages/abi/src/arc56-contract.js +1 -0
  163. package/packages/abi/src/arc56-contract.js.map +1 -1
  164. package/packages/abi/src/arc56-contract.mjs +1 -0
  165. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  166. package/packages/abi/src/utils.d.ts +22 -0
  167. package/packages/abi/src/utils.js +57 -0
  168. package/packages/abi/src/utils.js.map +1 -0
  169. package/packages/abi/src/utils.mjs +55 -0
  170. package/packages/abi/src/utils.mjs.map +1 -0
  171. package/packages/algo25/src/index.js +1 -1
  172. package/packages/algo25/src/index.mjs +1 -1
  173. package/packages/algod_client/src/apis/api-service.d.ts +44 -44
  174. package/packages/algod_client/src/apis/api-service.js +155 -155
  175. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  176. package/packages/algod_client/src/apis/api-service.mjs +155 -155
  177. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  178. package/packages/algod_client/src/core/api-error.js +3 -1
  179. package/packages/algod_client/src/core/api-error.js.map +1 -1
  180. package/packages/algod_client/src/core/api-error.mjs +3 -1
  181. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  182. package/packages/algod_client/src/core/model-runtime.js +6 -6
  183. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  184. package/packages/algod_client/src/core/model-runtime.mjs +8 -8
  185. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  186. package/packages/algod_client/src/models/account-participation.js +4 -4
  187. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  188. package/packages/algod_client/src/models/account-participation.mjs +4 -4
  189. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  190. package/packages/algod_client/src/models/application-state-schema.d.ts +2 -2
  191. package/packages/algod_client/src/models/application-state-schema.js +2 -2
  192. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  193. package/packages/algod_client/src/models/application-state-schema.mjs +2 -2
  194. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  195. package/packages/algod_client/src/models/asset-params.js +2 -1
  196. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  197. package/packages/algod_client/src/models/asset-params.mjs +2 -1
  198. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  199. package/packages/algod_client/src/models/block-response.js +1 -2
  200. package/packages/algod_client/src/models/block-response.js.map +1 -1
  201. package/packages/algod_client/src/models/block-response.mjs +2 -3
  202. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  203. package/packages/algod_client/src/models/block.d.ts +60 -40
  204. package/packages/algod_client/src/models/block.js +184 -108
  205. package/packages/algod_client/src/models/block.js.map +1 -1
  206. package/packages/algod_client/src/models/block.mjs +184 -108
  207. package/packages/algod_client/src/models/block.mjs.map +1 -1
  208. package/packages/algod_client/src/models/eval-delta-key-value.js +2 -2
  209. package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
  210. package/packages/algod_client/src/models/eval-delta-key-value.mjs +2 -2
  211. package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
  212. package/packages/algod_client/src/models/eval-delta.js +2 -2
  213. package/packages/algod_client/src/models/eval-delta.js.map +1 -1
  214. package/packages/algod_client/src/models/eval-delta.mjs +2 -2
  215. package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
  216. package/packages/algod_client/src/models/ledger-state-delta.js +1 -1
  217. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  218. package/packages/algod_client/src/models/ledger-state-delta.mjs +2 -2
  219. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  220. package/packages/algod_client/src/models/simulate-request.js +1 -1
  221. package/packages/algod_client/src/models/simulate-request.mjs +1 -1
  222. package/packages/algod_client/src/models/simulate-response.d.ts +2 -1
  223. package/packages/algod_client/src/models/simulate-response.js +6 -1
  224. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  225. package/packages/algod_client/src/models/simulate-response.mjs +6 -2
  226. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  227. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.d.ts +3 -5
  228. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js +4 -6
  229. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  230. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs +3 -5
  231. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  232. package/packages/algod_client/src/models/transaction-parameters-response.js +2 -2
  233. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  234. package/packages/algod_client/src/models/transaction-parameters-response.mjs +2 -2
  235. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  236. package/packages/common/src/address.d.ts +0 -1
  237. package/packages/common/src/address.js +4 -17
  238. package/packages/common/src/address.js.map +1 -1
  239. package/packages/common/src/address.mjs +5 -17
  240. package/packages/common/src/address.mjs.map +1 -1
  241. package/packages/common/src/codecs/composite/map.js +7 -4
  242. package/packages/common/src/codecs/composite/map.js.map +1 -1
  243. package/packages/common/src/codecs/composite/map.mjs +7 -4
  244. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  245. package/packages/common/src/codecs/composite/record.js +0 -1
  246. package/packages/common/src/codecs/composite/record.js.map +1 -1
  247. package/packages/common/src/codecs/primitives/address.js +0 -1
  248. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  249. package/packages/common/src/codecs/primitives/bytes-base64.js +26 -0
  250. package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -0
  251. package/packages/common/src/codecs/primitives/bytes-base64.mjs +25 -0
  252. package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -0
  253. package/packages/common/src/codecs/primitives/bytes.js +0 -1
  254. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  255. package/packages/common/src/codecs/primitives/fixed-bytes.js +0 -1
  256. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  257. package/packages/common/src/codecs/wire.js +0 -1
  258. package/packages/common/src/codecs/wire.js.map +1 -1
  259. package/packages/common/src/json.mjs +2 -2
  260. package/packages/common/src/json.mjs.map +1 -1
  261. package/packages/common/src/msgpack.js +0 -1
  262. package/packages/common/src/msgpack.js.map +1 -1
  263. package/packages/{sdk/src/logic → common/src}/sourcemap.d.ts +2 -2
  264. package/packages/{sdk/src/logic → common/src}/sourcemap.js +2 -2
  265. package/packages/{sdk/src/logic → common/src}/sourcemap.js.map +1 -1
  266. package/packages/{sdk/src/logic → common/src}/sourcemap.mjs +1 -1
  267. package/packages/{sdk/src/logic → common/src}/sourcemap.mjs.map +1 -1
  268. package/packages/indexer_client/src/apis/api-service.d.ts +1 -1
  269. package/packages/indexer_client/src/apis/api-service.js +12 -12
  270. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  271. package/packages/indexer_client/src/apis/api-service.mjs +12 -12
  272. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  273. package/packages/indexer_client/src/core/api-error.js +3 -1
  274. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  275. package/packages/indexer_client/src/core/api-error.mjs +3 -1
  276. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  277. package/packages/indexer_client/src/core/model-runtime.js +0 -15
  278. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  279. package/packages/indexer_client/src/core/model-runtime.mjs +1 -13
  280. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  281. package/packages/indexer_client/src/models/account-participation.js +4 -4
  282. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  283. package/packages/indexer_client/src/models/account-participation.mjs +4 -4
  284. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  285. package/packages/indexer_client/src/models/application-state-schema.d.ts +2 -2
  286. package/packages/indexer_client/src/models/application-state-schema.js +2 -2
  287. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  288. package/packages/indexer_client/src/models/application-state-schema.mjs +2 -2
  289. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  290. package/packages/indexer_client/src/models/asset-params.js +2 -1
  291. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  292. package/packages/indexer_client/src/models/asset-params.mjs +2 -1
  293. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  294. package/packages/indexer_client/src/models/block.d.ts +5 -5
  295. package/packages/indexer_client/src/models/block.js +13 -13
  296. package/packages/indexer_client/src/models/block.js.map +1 -1
  297. package/packages/indexer_client/src/models/block.mjs +13 -13
  298. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  299. package/packages/indexer_client/src/models/eval-delta-key-value.d.ts +1 -1
  300. package/packages/indexer_client/src/models/eval-delta-key-value.js +2 -2
  301. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  302. package/packages/indexer_client/src/models/eval-delta-key-value.mjs +2 -2
  303. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  304. package/packages/indexer_client/src/models/eval-delta.d.ts +1 -1
  305. package/packages/indexer_client/src/models/eval-delta.js +2 -2
  306. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  307. package/packages/indexer_client/src/models/eval-delta.mjs +2 -2
  308. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  309. package/packages/indexer_client/src/models/hb-proof-fields.js +6 -6
  310. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  311. package/packages/indexer_client/src/models/hb-proof-fields.mjs +6 -6
  312. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  313. package/packages/indexer_client/src/models/participation-updates.d.ts +2 -2
  314. package/packages/indexer_client/src/models/participation-updates.js +2 -2
  315. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  316. package/packages/indexer_client/src/models/participation-updates.mjs +2 -2
  317. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  318. package/packages/indexer_client/src/models/state-proof-verifier.js +2 -2
  319. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  320. package/packages/indexer_client/src/models/state-proof-verifier.mjs +2 -2
  321. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  322. package/packages/indexer_client/src/models/state-schema.d.ts +2 -2
  323. package/packages/indexer_client/src/models/state-schema.js +2 -2
  324. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  325. package/packages/indexer_client/src/models/state-schema.mjs +2 -2
  326. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  327. package/packages/indexer_client/src/models/teal-key-value.d.ts +1 -1
  328. package/packages/indexer_client/src/models/teal-key-value.js +2 -2
  329. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  330. package/packages/indexer_client/src/models/teal-key-value.mjs +2 -2
  331. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  332. package/packages/indexer_client/src/models/transaction-heartbeat.js +2 -1
  333. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  334. package/packages/indexer_client/src/models/transaction-heartbeat.mjs +2 -1
  335. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  336. package/packages/indexer_client/src/models/transaction-keyreg.js +4 -4
  337. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  338. package/packages/indexer_client/src/models/transaction-keyreg.mjs +4 -4
  339. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  340. package/packages/indexer_client/src/models/transaction-signature-logicsig.js +2 -1
  341. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  342. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs +2 -1
  343. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  344. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js +3 -3
  345. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  346. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs +3 -3
  347. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  348. package/packages/indexer_client/src/models/transaction-state-proof.d.ts +1 -1
  349. package/packages/indexer_client/src/models/transaction-state-proof.js +2 -2
  350. package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
  351. package/packages/indexer_client/src/models/transaction-state-proof.mjs +2 -2
  352. package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
  353. package/packages/indexer_client/src/models/transaction.d.ts +2 -2
  354. package/packages/indexer_client/src/models/transaction.js +6 -5
  355. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  356. package/packages/indexer_client/src/models/transaction.mjs +6 -5
  357. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  358. package/packages/kmd_client/src/apis/api-service.d.ts +5 -5
  359. package/packages/kmd_client/src/apis/api-service.js +32 -32
  360. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  361. package/packages/kmd_client/src/apis/api-service.mjs +32 -32
  362. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  363. package/packages/kmd_client/src/core/api-error.js +3 -1
  364. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  365. package/packages/kmd_client/src/core/api-error.mjs +3 -1
  366. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  367. package/packages/kmd_client/src/core/model-runtime.js +2 -12
  368. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  369. package/packages/kmd_client/src/core/model-runtime.mjs +3 -11
  370. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  371. package/packages/transact/src/logicsig.d.ts +35 -33
  372. package/packages/transact/src/logicsig.js +74 -76
  373. package/packages/transact/src/logicsig.js.map +1 -1
  374. package/packages/transact/src/logicsig.mjs +77 -78
  375. package/packages/transact/src/logicsig.mjs.map +1 -1
  376. package/packages/transact/src/multisig.d.ts +11 -116
  377. package/packages/transact/src/multisig.js +106 -136
  378. package/packages/transact/src/multisig.js.map +1 -1
  379. package/packages/transact/src/multisig.mjs +108 -118
  380. package/packages/transact/src/multisig.mjs.map +1 -1
  381. package/packages/transact/src/signer.js +9 -2
  382. package/packages/transact/src/signer.js.map +1 -1
  383. package/packages/transact/src/signer.mjs +10 -3
  384. package/packages/transact/src/signer.mjs.map +1 -1
  385. package/packages/transact/src/transactions/app-call.d.ts +10 -15
  386. package/packages/transact/src/transactions/app-call.js.map +1 -1
  387. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  388. package/packages/transact/src/transactions/asset-config.d.ts +1 -6
  389. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  390. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  391. package/packages/transact/src/transactions/asset-freeze.d.ts +1 -6
  392. package/packages/transact/src/transactions/asset-transfer.d.ts +1 -6
  393. package/packages/transact/src/transactions/key-registration.d.ts +1 -8
  394. package/packages/transact/src/transactions/reference-types-meta.d.ts +26 -0
  395. package/packages/transact/src/transactions/reference-types-meta.js +71 -0
  396. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -0
  397. package/packages/transact/src/transactions/reference-types-meta.mjs +69 -0
  398. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -0
  399. package/packages/transact/src/transactions/signed-transaction-meta.js +8 -9
  400. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  401. package/packages/transact/src/transactions/signed-transaction-meta.mjs +8 -8
  402. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  403. package/packages/transact/src/transactions/signed-transaction.d.ts +10 -6
  404. package/packages/transact/src/transactions/signed-transaction.js +1 -1
  405. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  406. package/packages/transact/src/transactions/signed-transaction.mjs +1 -2
  407. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  408. package/packages/transact/src/transactions/state-proof.d.ts +1 -1
  409. package/packages/transact/src/transactions/transaction-meta.js +29 -23
  410. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  411. package/packages/transact/src/transactions/transaction-meta.mjs +29 -23
  412. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  413. package/packages/transact/src/transactions/transaction.d.ts +5 -2
  414. package/packages/transact/src/transactions/transaction.js +5 -4
  415. package/packages/transact/src/transactions/transaction.js.map +1 -1
  416. package/packages/transact/src/transactions/transaction.mjs +5 -4
  417. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  418. package/testing/account.d.ts +2 -2
  419. package/testing/account.js +2 -3
  420. package/testing/account.js.map +1 -1
  421. package/testing/account.mjs +2 -3
  422. package/testing/account.mjs.map +1 -1
  423. package/testing/fixtures/algokit-log-capture-fixture.d.ts +1 -1
  424. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  425. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  426. package/testing/fixtures/algorand-fixture.d.ts +5 -5
  427. package/testing/fixtures/algorand-fixture.js +2 -2
  428. package/testing/fixtures/algorand-fixture.js.map +1 -1
  429. package/testing/fixtures/algorand-fixture.mjs +2 -2
  430. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  431. package/testing/index.d.ts +2 -1
  432. package/testing/test-logger.d.ts +1 -1
  433. package/testing/test-logger.js.map +1 -1
  434. package/testing/test-logger.mjs.map +1 -1
  435. package/testing/transaction-logger.js +1 -1
  436. package/testing/transaction-logger.mjs +1 -1
  437. package/testing/types.d.ts +156 -0
  438. package/transact/index.d.ts +11 -10
  439. package/transact/index.js +7 -31
  440. package/transact/index.mjs +7 -10
  441. package/transaction/index.d.ts +4 -0
  442. package/transaction/index.js +9 -0
  443. package/transaction/index.mjs +4 -0
  444. package/transaction/perform-transaction-composer-simulate.d.ts +1 -1
  445. package/transaction/perform-transaction-composer-simulate.js.map +1 -1
  446. package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
  447. package/transaction/transaction.d.ts +2 -2
  448. package/transaction/transaction.js +2 -2
  449. package/transaction/transaction.js.map +1 -1
  450. package/transaction/transaction.mjs +2 -2
  451. package/transaction/transaction.mjs.map +1 -1
  452. package/transaction/types.d.ts +133 -0
  453. package/transactions/app-call.d.ts +6 -5
  454. package/transactions/app-call.js +17 -17
  455. package/transactions/app-call.js.map +1 -1
  456. package/transactions/app-call.mjs +17 -17
  457. package/transactions/app-call.mjs.map +1 -1
  458. package/transactions/asset-config.d.ts +1 -1
  459. package/transactions/asset-config.js +1 -1
  460. package/transactions/asset-config.js.map +1 -1
  461. package/transactions/asset-config.mjs +1 -1
  462. package/transactions/asset-config.mjs.map +1 -1
  463. package/transactions/common.d.ts +1 -1
  464. package/transactions/common.js.map +1 -1
  465. package/transactions/common.mjs.map +1 -1
  466. package/transactions/key-registration.d.ts +1 -1
  467. package/transactions/key-registration.js.map +1 -1
  468. package/transactions/key-registration.mjs.map +1 -1
  469. package/transactions/method-call.d.ts +2 -2
  470. package/transactions/method-call.js +78 -85
  471. package/transactions/method-call.js.map +1 -1
  472. package/transactions/method-call.mjs +78 -85
  473. package/transactions/method-call.mjs.map +1 -1
  474. package/transactions/payment.d.ts +1 -1
  475. package/transactions/payment.js.map +1 -1
  476. package/transactions/payment.mjs.map +1 -1
  477. package/types/account-manager.d.ts +11 -444
  478. package/types/account-manager.js +5 -606
  479. package/types/account-manager.js.map +1 -1
  480. package/types/account-manager.mjs +5 -604
  481. package/types/account-manager.mjs.map +1 -1
  482. package/types/account.d.ts +8 -150
  483. package/types/account.js +3 -4
  484. package/types/account.js.map +1 -1
  485. package/types/account.mjs +4 -4
  486. package/types/account.mjs.map +1 -1
  487. package/types/algorand-client-transaction-creator.d.ts +5 -1084
  488. package/types/algorand-client-transaction-creator.js +3 -721
  489. package/types/algorand-client-transaction-creator.js.map +1 -1
  490. package/types/algorand-client-transaction-creator.mjs +4 -721
  491. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  492. package/types/algorand-client-transaction-sender.d.ts +5 -1298
  493. package/types/algorand-client-transaction-sender.js +3 -920
  494. package/types/algorand-client-transaction-sender.js.map +1 -1
  495. package/types/algorand-client-transaction-sender.mjs +3 -918
  496. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  497. package/types/algorand-client.d.ts +5 -241
  498. package/types/algorand-client.js +3 -319
  499. package/types/algorand-client.js.map +1 -1
  500. package/types/algorand-client.mjs +3 -319
  501. package/types/algorand-client.mjs.map +1 -1
  502. package/types/amount.d.ts +6 -45
  503. package/types/amount.js +3 -60
  504. package/types/amount.js.map +1 -1
  505. package/types/amount.mjs +3 -60
  506. package/types/amount.mjs.map +1 -1
  507. package/types/app-client.d.ts +75 -2120
  508. package/types/app-client.js +3 -904
  509. package/types/app-client.js.map +1 -1
  510. package/types/app-client.mjs +3 -902
  511. package/types/app-client.mjs.map +1 -1
  512. package/types/app-deployer.d.ts +21 -161
  513. package/types/app-deployer.js +3 -347
  514. package/types/app-deployer.js.map +1 -1
  515. package/types/app-deployer.mjs +3 -347
  516. package/types/app-deployer.mjs.map +1 -1
  517. package/types/app-factory.d.ts +21 -957
  518. package/types/app-factory.js +3 -442
  519. package/types/app-factory.js.map +1 -1
  520. package/types/app-factory.mjs +3 -442
  521. package/types/app-factory.mjs.map +1 -1
  522. package/types/app-manager.d.ts +15 -316
  523. package/types/app-manager.js +3 -456
  524. package/types/app-manager.js.map +1 -1
  525. package/types/app-manager.mjs +3 -456
  526. package/types/app-manager.mjs.map +1 -1
  527. package/types/app-spec.d.ts +39 -198
  528. package/types/app-spec.js +3 -124
  529. package/types/app-spec.js.map +1 -1
  530. package/types/app-spec.mjs +3 -124
  531. package/types/app-spec.mjs.map +1 -1
  532. package/types/app.d.ts +62 -247
  533. package/types/app.js +15 -37
  534. package/types/app.js.map +1 -1
  535. package/types/app.mjs +16 -37
  536. package/types/app.mjs.map +1 -1
  537. package/types/asset-manager.d.ts +9 -207
  538. package/types/asset-manager.js +3 -160
  539. package/types/asset-manager.js.map +1 -1
  540. package/types/asset-manager.mjs +3 -160
  541. package/types/asset-manager.mjs.map +1 -1
  542. package/types/async-event-emitter.d.ts +7 -14
  543. package/types/async-event-emitter.js +3 -32
  544. package/types/async-event-emitter.js.map +1 -1
  545. package/types/async-event-emitter.mjs +4 -32
  546. package/types/async-event-emitter.mjs.map +1 -1
  547. package/types/client-manager.d.ts +27 -470
  548. package/types/client-manager.js +3 -610
  549. package/types/client-manager.js.map +1 -1
  550. package/types/client-manager.mjs +3 -610
  551. package/types/client-manager.mjs.map +1 -1
  552. package/types/composer.d.ts +79 -935
  553. package/types/composer.js +3 -1569
  554. package/types/composer.js.map +1 -1
  555. package/types/composer.mjs +3 -1567
  556. package/types/composer.mjs.map +1 -1
  557. package/types/config.d.ts +7 -52
  558. package/types/config.js +3 -74
  559. package/types/config.js.map +1 -1
  560. package/types/config.mjs +3 -74
  561. package/types/config.mjs.map +1 -1
  562. package/types/debugging.d.ts +12 -33
  563. package/types/debugging.js +11 -10
  564. package/types/debugging.js.map +1 -1
  565. package/types/debugging.mjs +12 -10
  566. package/types/debugging.mjs.map +1 -1
  567. package/types/dispenser-client.d.ts +11 -85
  568. package/types/dispenser-client.js +3 -121
  569. package/types/dispenser-client.js.map +1 -1
  570. package/types/dispenser-client.mjs +3 -121
  571. package/types/dispenser-client.mjs.map +1 -1
  572. package/types/expand.d.ts +4 -5
  573. package/types/indexer.d.ts +16 -36
  574. package/types/indexer.js +7 -30
  575. package/types/indexer.js.map +1 -1
  576. package/types/indexer.mjs +8 -30
  577. package/types/indexer.mjs.map +1 -1
  578. package/types/instance-of.d.ts +4 -4
  579. package/types/kmd-account-manager.d.ts +5 -68
  580. package/types/kmd-account-manager.js +3 -150
  581. package/types/kmd-account-manager.js.map +1 -1
  582. package/types/kmd-account-manager.mjs +3 -148
  583. package/types/kmd-account-manager.mjs.map +1 -1
  584. package/types/lifecycle-events.d.ts +7 -10
  585. package/types/lifecycle-events.js +3 -5
  586. package/types/lifecycle-events.js.map +1 -1
  587. package/types/lifecycle-events.mjs +4 -5
  588. package/types/lifecycle-events.mjs.map +1 -1
  589. package/types/logging.d.ts +14 -9
  590. package/types/logging.js +11 -37
  591. package/types/logging.js.map +1 -1
  592. package/types/logging.mjs +12 -37
  593. package/types/logging.mjs.map +1 -1
  594. package/types/logic-error.d.ts +8 -35
  595. package/types/logic-error.js +3 -48
  596. package/types/logic-error.js.map +1 -1
  597. package/types/logic-error.mjs +4 -48
  598. package/types/logic-error.mjs.map +1 -1
  599. package/types/network-client.d.ts +10 -39
  600. package/types/network-client.js +3 -8
  601. package/types/network-client.js.map +1 -1
  602. package/types/network-client.mjs +4 -8
  603. package/types/network-client.mjs.map +1 -1
  604. package/types/testing.d.ts +13 -151
  605. package/types/transaction.d.ts +33 -128
  606. package/updatable-config.d.ts +57 -0
  607. package/updatable-config.js +80 -0
  608. package/updatable-config.js.map +1 -0
  609. package/updatable-config.mjs +80 -0
  610. package/updatable-config.mjs.map +1 -0
  611. package/util.js +1 -1
  612. package/util.js.map +1 -1
  613. package/util.mjs +1 -1
  614. package/util.mjs.map +1 -1
  615. package/_virtual/rolldown_runtime.mjs +0 -13
  616. package/indexer-lookup.js.map +0 -1
  617. package/indexer-lookup.mjs.map +0 -1
  618. package/packages/algod_client/src/core/model-runtime.d.ts +0 -10
  619. package/packages/algod_client/src/models/application-local-reference.d.ts +0 -20
  620. package/packages/algod_client/src/models/application-local-reference.js +0 -23
  621. package/packages/algod_client/src/models/application-local-reference.js.map +0 -1
  622. package/packages/algod_client/src/models/application-local-reference.mjs +0 -23
  623. package/packages/algod_client/src/models/application-local-reference.mjs.map +0 -1
  624. package/packages/algod_client/src/models/asset-holding-reference.d.ts +0 -20
  625. package/packages/algod_client/src/models/asset-holding-reference.js +0 -23
  626. package/packages/algod_client/src/models/asset-holding-reference.js.map +0 -1
  627. package/packages/algod_client/src/models/asset-holding-reference.mjs +0 -23
  628. package/packages/algod_client/src/models/asset-holding-reference.mjs.map +0 -1
  629. package/packages/algod_client/src/models/box-reference.d.ts +0 -17
  630. package/packages/algod_client/src/models/box-reference.js +0 -23
  631. package/packages/algod_client/src/models/box-reference.js.map +0 -1
  632. package/packages/algod_client/src/models/box-reference.mjs +0 -23
  633. package/packages/algod_client/src/models/box-reference.mjs.map +0 -1
  634. package/packages/indexer_client/src/core/model-runtime.d.ts +0 -10
  635. package/packages/kmd_client/src/core/model-runtime.d.ts +0 -10
  636. package/packages/sdk/src/convert.d.ts +0 -17
  637. package/packages/sdk/src/convert.js +0 -28
  638. package/packages/sdk/src/convert.js.map +0 -1
  639. package/packages/sdk/src/convert.mjs +0 -25
  640. package/packages/sdk/src/convert.mjs.map +0 -1
  641. package/packages/sdk/src/encoding/binarydata.d.ts +0 -34
  642. package/packages/sdk/src/encoding/binarydata.js +0 -65
  643. package/packages/sdk/src/encoding/binarydata.js.map +0 -1
  644. package/packages/sdk/src/encoding/binarydata.mjs +0 -60
  645. package/packages/sdk/src/encoding/binarydata.mjs.map +0 -1
  646. package/packages/sdk/src/encoding/encoding.d.ts +0 -237
  647. package/packages/sdk/src/encoding/encoding.js +0 -302
  648. package/packages/sdk/src/encoding/encoding.js.map +0 -1
  649. package/packages/sdk/src/encoding/encoding.mjs +0 -287
  650. package/packages/sdk/src/encoding/encoding.mjs.map +0 -1
  651. package/packages/sdk/src/encoding/schema/array.js +0 -35
  652. package/packages/sdk/src/encoding/schema/array.js.map +0 -1
  653. package/packages/sdk/src/encoding/schema/array.mjs +0 -35
  654. package/packages/sdk/src/encoding/schema/array.mjs.map +0 -1
  655. package/packages/sdk/src/encoding/schema/bytearray.js +0 -49
  656. package/packages/sdk/src/encoding/schema/bytearray.js.map +0 -1
  657. package/packages/sdk/src/encoding/schema/bytearray.mjs +0 -49
  658. package/packages/sdk/src/encoding/schema/bytearray.mjs.map +0 -1
  659. package/packages/sdk/src/encoding/schema/map.d.ts +0 -58
  660. package/packages/sdk/src/encoding/schema/map.js +0 -110
  661. package/packages/sdk/src/encoding/schema/map.js.map +0 -1
  662. package/packages/sdk/src/encoding/schema/map.mjs +0 -107
  663. package/packages/sdk/src/encoding/schema/map.mjs.map +0 -1
  664. package/packages/sdk/src/encoding/schema/optional.js +0 -46
  665. package/packages/sdk/src/encoding/schema/optional.js.map +0 -1
  666. package/packages/sdk/src/encoding/schema/optional.mjs +0 -46
  667. package/packages/sdk/src/encoding/schema/optional.mjs.map +0 -1
  668. package/packages/sdk/src/encoding/schema/uint64.js +0 -30
  669. package/packages/sdk/src/encoding/schema/uint64.js.map +0 -1
  670. package/packages/sdk/src/encoding/schema/uint64.mjs +0 -30
  671. package/packages/sdk/src/encoding/schema/uint64.mjs.map +0 -1
  672. package/packages/sdk/src/encoding/uint64.d.ts +0 -34
  673. package/packages/sdk/src/encoding/uint64.js +0 -34
  674. package/packages/sdk/src/encoding/uint64.js.map +0 -1
  675. package/packages/sdk/src/encoding/uint64.mjs +0 -33
  676. package/packages/sdk/src/encoding/uint64.mjs.map +0 -1
  677. package/packages/sdk/src/index.d.ts +0 -44
  678. package/packages/sdk/src/index.js +0 -62
  679. package/packages/sdk/src/index.js.map +0 -1
  680. package/packages/sdk/src/index.mjs +0 -58
  681. package/packages/sdk/src/index.mjs.map +0 -1
  682. package/packages/sdk/src/nacl/naclWrappers.js +0 -14
  683. package/packages/sdk/src/nacl/naclWrappers.js.map +0 -1
  684. package/packages/sdk/src/nacl/naclWrappers.mjs +0 -11
  685. package/packages/sdk/src/nacl/naclWrappers.mjs.map +0 -1
  686. package/packages/sdk/src/types/intDecoding.d.ts +0 -28
  687. package/packages/sdk/src/types/intDecoding.js +0 -32
  688. package/packages/sdk/src/types/intDecoding.js.map +0 -1
  689. package/packages/sdk/src/types/intDecoding.mjs +0 -31
  690. package/packages/sdk/src/types/intDecoding.mjs.map +0 -1
  691. package/packages/sdk/src/types/transactions/encoded.d.ts +0 -40
  692. package/packages/sdk/src/types/transactions/encoded.js +0 -64
  693. package/packages/sdk/src/types/transactions/encoded.js.map +0 -1
  694. package/packages/sdk/src/types/transactions/encoded.mjs +0 -59
  695. package/packages/sdk/src/types/transactions/encoded.mjs.map +0 -1
  696. package/packages/sdk/src/utils/utils.d.ts +0 -64
  697. package/packages/sdk/src/utils/utils.js +0 -140
  698. package/packages/sdk/src/utils/utils.js.map +0 -1
  699. package/packages/sdk/src/utils/utils.mjs +0 -128
  700. package/packages/sdk/src/utils/utils.mjs.map +0 -1
  701. package/packages/transact/src/transactions/common.d.ts +0 -37
  702. package/sdk/index.d.ts +0 -10
  703. package/sdk/index.js +0 -59
  704. package/sdk/index.mjs +0 -11
@@ -1,909 +1,8 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
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_sourcemap = require('../packages/sdk/src/logic/sourcemap.js');
5
- const require_config = require('../config.js');
6
- const require_util = require('../util.js');
7
- const require_abi_method = require('../packages/abi/src/abi-method.js');
8
- const require_arc56_contract = require('../packages/abi/src/arc56-contract.js');
9
- const require_lifecycle_events = require('./lifecycle-events.js');
10
- const require_app_spec = require('./app-spec.js');
11
- const require_logic_error = require('./logic-error.js');
12
- let buffer = require("buffer");
13
- buffer = require_rolldown_runtime.__toESM(buffer);
1
+ const require_app_client = require('../app-client.js');
14
2
 
15
3
  //#region src/types/app-client.ts
16
- /** The maximum opcode budget for a simulate call as per https://github.com/algorand/go-algorand/blob/807b29a91c371d225e12b9287c5d56e9b33c4e4c/ledger/simulation/trace.go#L104 */
17
- const MAX_SIMULATE_OPCODE_BUDGET = 2e4 * 16;
18
- const BYTE_CBLOCK = 38;
19
- const INT_CBLOCK = 32;
20
- /**
21
- * Get the offset of the last constant block at the beginning of the program
22
- * This value is used to calculate the program counter for an ARC56 program that has a pcOffsetMethod of "cblocks"
23
- *
24
- * @param program The program to parse
25
- * @returns The PC value of the opcode after the last constant block
26
- */
27
- function getConstantBlockOffset(program) {
28
- const bytes = [...program];
29
- const programSize = bytes.length;
30
- bytes.shift();
31
- /** The PC of the opcode after the bytecblock */
32
- let bytecblockOffset;
33
- /** The PC of the opcode after the intcblock */
34
- let intcblockOffset;
35
- while (bytes.length > 0) {
36
- /** The current byte from the beginning of the byte array */
37
- const byte = bytes.shift();
38
- if (byte === BYTE_CBLOCK || byte === INT_CBLOCK) {
39
- const isBytecblock = byte === BYTE_CBLOCK;
40
- /** The byte following the opcode is the number of values in the constant block */
41
- const valuesRemaining = bytes.shift();
42
- for (let i = 0; i < valuesRemaining; i++) if (isBytecblock) {
43
- /** The byte following the opcode is the length of the next element */
44
- const length = bytes.shift();
45
- bytes.splice(0, length);
46
- } else while ((bytes.shift() & 128) !== 0);
47
- if (isBytecblock) bytecblockOffset = programSize - bytes.length - 1;
48
- else intcblockOffset = programSize - bytes.length - 1;
49
- if (bytes[0] !== BYTE_CBLOCK && bytes[0] !== INT_CBLOCK) break;
50
- }
51
- }
52
- return Math.max(bytecblockOffset ?? 0, intcblockOffset ?? 0);
53
- }
54
- /** ARC-56/ARC-32 application client that allows you to manage calls and
55
- * state for a specific deployed instance of an app (with a known app ID). */
56
- var AppClient = class AppClient {
57
- _appId;
58
- _appAddress;
59
- _appName;
60
- _appSpec;
61
- _algorand;
62
- _defaultSender;
63
- _defaultSigner;
64
- _approvalSourceMap;
65
- _clearSourceMap;
66
- _localStateMethods;
67
- _globalStateMethods;
68
- _boxStateMethods;
69
- _paramsMethods;
70
- _createTransactionsMethods;
71
- _sendMethods;
72
- _lastCompiled;
73
- /**
74
- * Create a new app client.
75
- * @param params The parameters to create the app client
76
- * @returns The `AppClient` instance
77
- * @example
78
- * ```typescript
79
- * const appClient = new AppClient({
80
- * appId: 12345678n,
81
- * appSpec: appSpec,
82
- * algorand: AlgorandClient.mainNet(),
83
- * })
84
- */
85
- constructor(params) {
86
- this._appId = params.appId;
87
- this._appAddress = require_address.getApplicationAddress(this._appId);
88
- this._appSpec = AppClient.normaliseAppSpec(params.appSpec);
89
- this._appName = params.appName ?? this._appSpec.name;
90
- this._algorand = params.algorand;
91
- this._algorand.registerErrorTransformer(this.handleCallErrors);
92
- this._defaultSender = require_address.getOptionalAddress(params.defaultSender);
93
- this._defaultSigner = params.defaultSigner;
94
- this._lastCompiled = {};
95
- this._approvalSourceMap = params.approvalSourceMap;
96
- this._clearSourceMap = params.clearSourceMap;
97
- this._localStateMethods = (address) => this.getStateMethods(() => this.getLocalState(address), () => require_arc56_contract.getLocalABIStorageKeys(this._appSpec), () => require_arc56_contract.getLocalABIStorageMaps(this._appSpec));
98
- this._globalStateMethods = this.getStateMethods(() => this.getGlobalState(), () => require_arc56_contract.getGlobalABIStorageKeys(this._appSpec), () => require_arc56_contract.getGlobalABIStorageMaps(this._appSpec));
99
- this._boxStateMethods = this.getBoxMethods();
100
- this._paramsMethods = {
101
- ...this.getMethodCallParamsMethods(),
102
- bare: this.getBareParamsMethods()
103
- };
104
- this._createTransactionsMethods = {
105
- ...this.getMethodCallCreateTransactionMethods(),
106
- bare: this.getBareCreateTransactionMethods()
107
- };
108
- this._sendMethods = {
109
- ...this.getMethodCallSendMethods(),
110
- bare: this.getBareSendMethods()
111
- };
112
- }
113
- /**
114
- * Clone this app client with different params
115
- *
116
- * @param params The params to use for the the cloned app client. Omit a param to keep the original value. Set a param to override the original value. Setting to undefined will clear the original value.
117
- * @returns A new app client with the altered params
118
- * @example
119
- * ```typescript
120
- * const appClient2 = appClient.clone({ defaultSender: 'NEW_SENDER_ADDRESS' })
121
- * ```
122
- */
123
- clone(params) {
124
- return new AppClient({
125
- appId: this._appId,
126
- appSpec: this._appSpec,
127
- algorand: this._algorand,
128
- appName: this._appName,
129
- defaultSender: this._defaultSender,
130
- defaultSigner: this._defaultSigner,
131
- approvalSourceMap: this._approvalSourceMap,
132
- clearSourceMap: this._clearSourceMap,
133
- ...params
134
- });
135
- }
136
- /**
137
- * Returns a new `AppClient` client, resolving the app by creator address and name
138
- * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).
139
- * @param params The parameters to create the app client
140
- * @returns The `AppClient` instance
141
- * @example
142
- * ```typescript
143
- * const appClient = await AppClient.fromCreatorAndName({
144
- * creatorAddress: 'CREATOR_ADDRESS',
145
- * name: 'APP_NAME',
146
- * appSpec: appSpec,
147
- * algorand: AlgorandClient.mainNet(),
148
- * })
149
- */
150
- static async fromCreatorAndName(params) {
151
- const appSpec = AppClient.normaliseAppSpec(params.appSpec);
152
- const appMetadata = (params.appLookupCache ?? await params.algorand.appDeployer.getCreatorAppsByName(params.creatorAddress, params.ignoreCache)).apps[params.appName ?? appSpec.name];
153
- if (!appMetadata) throw new Error(`App not found for creator ${params.creatorAddress} and name ${params.appName ?? appSpec.name}`);
154
- return new AppClient({
155
- ...params,
156
- algorand: params.algorand,
157
- appId: appMetadata.appId
158
- });
159
- }
160
- /**
161
- * Returns an `AppClient` instance for the current network based on
162
- * pre-determined network-specific app IDs specified in the ARC-56 app spec.
163
- *
164
- * If no IDs are in the app spec or the network isn't recognised, an error is thrown.
165
- * @param params The parameters to create the app client
166
- * @returns The `AppClient` instance
167
- * @example
168
- * ```typescript
169
- * const appClient = await AppClient.fromNetwork({
170
- * appSpec: appSpec,
171
- * algorand: AlgorandClient.mainNet(),
172
- * })
173
- */
174
- static async fromNetwork(params) {
175
- const network = await params.algorand.client.network();
176
- const appSpec = AppClient.normaliseAppSpec(params.appSpec);
177
- const networkNames = [network.genesisHash];
178
- if (network.isLocalNet) networkNames.push("localnet");
179
- if (network.isTestNet) networkNames.push("testnet");
180
- if (network.isMainNet) networkNames.push("mainnet");
181
- const networkIndex = Object.keys(appSpec.networks ?? {}).findIndex((n) => networkNames.includes(n));
182
- if (networkIndex === -1) throw new Error(`No app ID found for network ${require_util.asJson(networkNames)} in the app spec`);
183
- const appId = BigInt(appSpec.networks[networkIndex].appID);
184
- return new AppClient({
185
- ...params,
186
- appId,
187
- appSpec
188
- });
189
- }
190
- /**
191
- * Takes a string or parsed JSON object that could be ARC-32 or ARC-56 format and
192
- * normalises it into a parsed ARC-56 contract object.
193
- * @param spec The spec to normalise
194
- * @returns The normalised ARC-56 contract object
195
- * @example
196
- * ```typescript
197
- * const arc56AppSpec = AppClient.normaliseAppSpec(appSpec)
198
- * ```
199
- */
200
- static normaliseAppSpec(spec) {
201
- const parsedSpec = typeof spec === "string" ? JSON.parse(spec) : spec;
202
- return "hints" in parsedSpec ? require_app_spec.arc32ToArc56(parsedSpec) : parsedSpec;
203
- }
204
- /** The ID of the app instance this client is linked to. */
205
- get appId() {
206
- return this._appId;
207
- }
208
- /** The app address of the app instance this client is linked to. */
209
- get appAddress() {
210
- return this._appAddress;
211
- }
212
- /** The name of the app (from the ARC-32 / ARC-56 app spec or override). */
213
- get appName() {
214
- return this._appName;
215
- }
216
- /** The ARC-56 app spec being used */
217
- get appSpec() {
218
- return this._appSpec;
219
- }
220
- /** A reference to the underlying `AlgorandClient` this app client is using. */
221
- get algorand() {
222
- return this._algorand;
223
- }
224
- /** Get parameters to create transactions for the current app.
225
- *
226
- * A good mental model for this is that these parameters represent a deferred transaction creation.
227
- * @example Create a transaction in the future using Algorand Client
228
- * ```typescript
229
- * const myMethodCall = appClient.params.call({method: 'my_method', args: [123, 'hello']})
230
- * // ...
231
- * await algorand.send.AppMethodCall(myMethodCall)
232
- * ```
233
- * @example Define a nested transaction as an ABI argument
234
- * ```typescript
235
- * const myMethodCall = appClient.params.call({method: 'my_method', args: [123, 'hello']})
236
- * await appClient.send.call({method: 'my_method2', args: [myMethodCall]})
237
- * ```
238
- */
239
- get params() {
240
- return this._paramsMethods;
241
- }
242
- /** Create transactions for the current app */
243
- get createTransaction() {
244
- return this._createTransactionsMethods;
245
- }
246
- /** Send transactions to the current app */
247
- get send() {
248
- return this._sendMethods;
249
- }
250
- /** Get state (local, global, box) from the current app */
251
- get state() {
252
- return {
253
- local: this._localStateMethods,
254
- global: this._globalStateMethods,
255
- box: this._boxStateMethods
256
- };
257
- }
258
- /**
259
- * Funds Algo into the app account for this app.
260
- *
261
- * An alias for `appClient.send.fundAppAccount(params)`.
262
- * @param params The parameters for the funding transaction
263
- * @returns The result of the funding
264
- * @example
265
- * ```typescript
266
- * await appClient.fundAppAccount({ amount: algo(1) })
267
- * ```
268
- */
269
- async fundAppAccount(params) {
270
- return this.send.fundAppAccount(params);
271
- }
272
- /**
273
- * Returns raw global state for the current app.
274
- * @returns The global state
275
- * @example
276
- * ```typescript
277
- * const globalState = await appClient.getGlobalState()
278
- * ```
279
- */
280
- async getGlobalState() {
281
- return await this._algorand.app.getGlobalState(this.appId);
282
- }
283
- /**
284
- * Returns raw local state for the given account address.
285
- * @param address The address of the account to get the local state for
286
- * @returns The local state
287
- * @example
288
- * ```typescript
289
- * const localState = await appClient.getLocalState('ACCOUNT_ADDRESS')
290
- * ```
291
- */
292
- async getLocalState(address) {
293
- return await this._algorand.app.getLocalState(this.appId, require_address.getAddress(address));
294
- }
295
- /**
296
- * Returns the names of all current boxes for the current app.
297
- * @returns The names of the boxes
298
- * @example
299
- * ```typescript
300
- * const boxNames = await appClient.getBoxNames()
301
- * ```
302
- */
303
- async getBoxNames() {
304
- return await this._algorand.app.getBoxNames(this.appId);
305
- }
306
- /**
307
- * Returns the value of the given box for the current app.
308
- * @param name The identifier of the box to return
309
- * @returns The current box value as a byte array
310
- * @example
311
- * ```typescript
312
- * const boxValue = await appClient.getBoxValue('boxName')
313
- * ```
314
- */
315
- async getBoxValue(name) {
316
- return await this._algorand.app.getBoxValue(this.appId, name);
317
- }
318
- /**
319
- * Returns the value of the given box for the current app.
320
- * @param name The identifier of the box to return
321
- * @param type
322
- * @returns The current box value as a byte array
323
- * @example
324
- * ```typescript
325
- * const boxValue = await appClient.getBoxValueFromABIType('boxName', new ABIUintType(32))
326
- * ```
327
- */
328
- async getBoxValueFromABIType(name, type) {
329
- return await this._algorand.app.getBoxValueFromABIType({
330
- appId: this.appId,
331
- boxName: name,
332
- type
333
- });
334
- }
335
- /**
336
- * Returns the values of all current boxes for the current app.
337
- * Note: This will issue multiple HTTP requests (one per box) and it's not an atomic operation so values may be out of sync.
338
- * @param filter Optional filter to filter which boxes' values are returned
339
- * @returns The (name, value) pair of the boxes with values as raw byte arrays
340
- * @example
341
- * ```typescript
342
- * const boxValues = await appClient.getBoxValues()
343
- * ```
344
- */
345
- async getBoxValues(filter) {
346
- const names = (await this.getBoxNames()).filter(filter ?? ((_) => true));
347
- const values = await this._algorand.app.getBoxValues(this.appId, names.map((name) => name.nameRaw));
348
- return names.map((name, i) => ({
349
- name,
350
- value: values[i]
351
- }));
352
- }
353
- /**
354
- * Returns the values of all current boxes for the current app decoded using an ABI Type.
355
- * Note: This will issue multiple HTTP requests (one per box) and it's not an atomic operation so values may be out of sync.
356
- * @param type The ABI type to decode the values with
357
- * @param filter Optional filter to filter which boxes' values are returned
358
- * @returns The (name, value) pair of the boxes with values as the ABI Value
359
- * @example
360
- * ```typescript
361
- * const boxValues = await appClient.getBoxValuesFromABIType(new ABIUintType(32))
362
- * ```
363
- */
364
- async getBoxValuesFromABIType(type, filter) {
365
- const names = (await this.getBoxNames()).filter(filter ?? ((_) => true));
366
- const values = await this._algorand.app.getBoxValuesFromABIType({
367
- appId: this.appId,
368
- boxNames: names.map((name) => name.nameRaw),
369
- type
370
- });
371
- return names.map((name, i) => ({
372
- name,
373
- value: values[i]
374
- }));
375
- }
376
- /**
377
- * Takes an error that may include a logic error from a call to the current app and re-exposes the
378
- * error to include source code information via the source map and ARC-56 spec.
379
- * @param e The error to parse
380
- * @param isClearStateProgram Whether or not the code was running the clear state program (defaults to approval program)
381
- * @returns The new error, or if there was no logic error or source map then the wrapped error with source details
382
- */
383
- async exposeLogicError(e, isClearStateProgram) {
384
- const pcOffsetMethod = this._appSpec.sourceInfo?.[isClearStateProgram ? "clear" : "approval"]?.pcOffsetMethod;
385
- let program;
386
- if (pcOffsetMethod === "cblocks") {
387
- const appInfo = await this._algorand.app.getById(this.appId);
388
- program = isClearStateProgram ? appInfo.clearStateProgram : appInfo.approvalProgram;
389
- }
390
- return AppClient.exposeLogicError(e, this._appSpec, {
391
- isClearStateProgram,
392
- approvalSourceMap: this._approvalSourceMap,
393
- clearSourceMap: this._clearSourceMap,
394
- program
395
- });
396
- }
397
- /**
398
- * Export the current source maps for the app.
399
- * @returns The source maps
400
- */
401
- exportSourceMaps() {
402
- if (!this._approvalSourceMap || !this._clearSourceMap) throw new Error("Unable to export source maps; they haven't been loaded into this client - you need to call create, update, or deploy first");
403
- return {
404
- approvalSourceMap: this._approvalSourceMap,
405
- clearSourceMap: this._clearSourceMap
406
- };
407
- }
408
- /**
409
- * Import source maps for the app.
410
- * @param sourceMaps The source maps to import
411
- */
412
- importSourceMaps(sourceMaps) {
413
- this._approvalSourceMap = new require_sourcemap.ProgramSourceMap(sourceMaps.approvalSourceMap);
414
- this._clearSourceMap = new require_sourcemap.ProgramSourceMap(sourceMaps.clearSourceMap);
415
- }
416
- /**
417
- * Returns the ABI Method spec for the given method string for the app represented by this application client instance
418
- * @param methodNameOrSignature The method name or method signature to call if an ABI call is being emitted.
419
- * e.g. `my_method` or `my_method(unit64,string)bytes`
420
- * @returns A tuple with: [ARC-56 `Method`, algosdk `ABIMethod`]
421
- */
422
- getABIMethod(methodNameOrSignature) {
423
- return require_abi_method.getABIMethod(methodNameOrSignature, this._appSpec);
424
- }
425
- /**
426
- * Checks for decode errors on the SendAppTransactionResult and maps the return value to the specified type
427
- * on the ARC-56 method, replacing the `return` property with the decoded type.
428
- *
429
- * If the return type is an ARC-56 struct then the struct will be returned.
430
- *
431
- * @param result The SendAppTransactionResult to be mapped
432
- * @param method The method that was called
433
- * @returns The smart contract response with an updated return value
434
- */
435
- async processMethodCallReturn(result) {
436
- const resultValue = await result;
437
- return {
438
- ...resultValue,
439
- return: resultValue.return?.returnValue
440
- };
441
- }
442
- /**
443
- * Compiles the approval and clear state programs (if TEAL templates provided),
444
- * performing any provided deploy-time parameter replacement and stores
445
- * the source maps.
446
- *
447
- * If no TEAL templates provided it will use any byte code provided in the app spec.
448
- *
449
- * Will store any generated source maps for later use in debugging.
450
- * @param compilation Any compilation parameters to use
451
- * @returns The compiled code and any compilation results (including source maps)
452
- */
453
- async compile(compilation) {
454
- const result = await AppClient.compile(this._appSpec, this._algorand.app, compilation);
455
- if (result.compiledApproval) {
456
- this._approvalSourceMap = result.compiledApproval.sourceMap;
457
- this._lastCompiled.approval = result.compiledApproval.compiledBase64ToBytes;
458
- }
459
- if (result.compiledClear) {
460
- this._clearSourceMap = result.compiledClear.sourceMap;
461
- this._lastCompiled.clear = result.compiledClear.compiledBase64ToBytes;
462
- }
463
- return result;
464
- }
465
- /**
466
- * Takes an error that may include a logic error from a call to the current app and re-exposes the
467
- * error to include source code information via the source map and ARC-56 spec.
468
- * @param e The error to parse
469
- * @param appSpec The app spec for the app
470
- * @param details Additional information to inform the error
471
- * @returns The new error, or if there was no logic error or source map then the wrapped error with source details
472
- */
473
- static exposeLogicError(e, appSpec, details) {
474
- const { isClearStateProgram, approvalSourceMap, clearSourceMap, program } = details;
475
- const sourceMap = isClearStateProgram ? clearSourceMap : approvalSourceMap;
476
- const errorDetails = require_logic_error.LogicError.parseLogicError(e);
477
- if (errorDetails === void 0 || errorDetails?.pc === void 0) return e;
478
- /** The PC value to find in the ARC56 SourceInfo */
479
- let arc56Pc = errorDetails?.pc;
480
- const programSourceInfo = isClearStateProgram ? appSpec.sourceInfo?.clear : appSpec.sourceInfo?.approval;
481
- /** The offset to apply to the PC if using the cblocks pc offset method */
482
- let cblocksOffset = 0;
483
- if (programSourceInfo?.pcOffsetMethod === "cblocks") {
484
- if (program === void 0) throw new Error("Program bytes are required to calculate the ARC56 cblocks PC offset");
485
- cblocksOffset = getConstantBlockOffset(program);
486
- arc56Pc = errorDetails.pc - cblocksOffset;
487
- }
488
- const errorMessage = (programSourceInfo?.sourceInfo.find((s) => s.pc.includes(arc56Pc)))?.errorMessage;
489
- if (appSpec.source) {
490
- let getLineForPc = (inputPc) => sourceMap?.getLocationForPc?.(inputPc)?.line;
491
- if (sourceMap === void 0) getLineForPc = (inputPc) => {
492
- const teal = programSourceInfo?.sourceInfo.find((s) => s.pc.includes(inputPc - cblocksOffset))?.teal;
493
- if (teal === void 0) return void 0;
494
- return teal - 1;
495
- };
496
- e = new require_logic_error.LogicError(errorDetails, buffer.Buffer.from(isClearStateProgram ? appSpec.source.clear : appSpec.source.approval, "base64").toString().split("\n"), getLineForPc);
497
- }
498
- if (errorMessage) {
499
- const appId = require_util.asJson(e).match(/(?<=app=)\d+/)?.[0] || "";
500
- const txId = require_util.asJson(e).match(/(?<=transaction )\S+(?=:)/)?.[0];
501
- const error = /* @__PURE__ */ new Error(`Runtime error when executing ${appSpec.name} (appId: ${appId}) in transaction ${txId}: ${errorMessage}`);
502
- error.cause = e;
503
- return error;
504
- }
505
- return e;
506
- }
507
- /**
508
- * Compiles the approval and clear state programs (if TEAL templates provided),
509
- * performing any provided deploy-time parameter replacement and returns
510
- * the compiled code and any compilation results (including source maps).
511
- *
512
- * If no TEAL templates provided it will use any byte code provided in the app spec.
513
- *
514
- * Will store any generated source maps for later use in debugging.
515
- * @param appSpec The app spec for the app
516
- * @param appManager The app manager to use for compilation
517
- * @param compilation Any compilation parameters to use
518
- * @returns The compiled code and any compilation results (including source maps)
519
- */
520
- static async compile(appSpec, appManager, compilation) {
521
- const { deployTimeParams, updatable, deletable } = compilation ?? {};
522
- if (!appSpec.source) {
523
- if (!appSpec.byteCode?.approval || !appSpec.byteCode?.clear) throw new Error(`Attempt to compile app ${appSpec.name} without source or byteCode`);
524
- return {
525
- approvalProgram: buffer.Buffer.from(appSpec.byteCode.approval, "base64"),
526
- clearStateProgram: buffer.Buffer.from(appSpec.byteCode.clear, "base64")
527
- };
528
- }
529
- const approvalTemplate = buffer.Buffer.from(appSpec.source.approval, "base64").toString("utf-8");
530
- const compiledApproval = await appManager.compileTealTemplate(approvalTemplate, deployTimeParams, {
531
- updatable,
532
- deletable
533
- });
534
- const clearTemplate = buffer.Buffer.from(appSpec.source.clear, "base64").toString("utf-8");
535
- const compiledClear = await appManager.compileTealTemplate(clearTemplate, deployTimeParams);
536
- if (require_config.Config.debug) await require_config.Config.events.emitAsync(require_lifecycle_events.EventType.AppCompiled, { sources: [{
537
- compiledTeal: compiledApproval,
538
- appName: appSpec.name,
539
- fileName: "approval"
540
- }, {
541
- compiledTeal: compiledClear,
542
- appName: appSpec.name,
543
- fileName: "clear"
544
- }] });
545
- return {
546
- approvalProgram: compiledApproval.compiledBase64ToBytes,
547
- compiledApproval,
548
- clearStateProgram: compiledClear.compiledBase64ToBytes,
549
- compiledClear
550
- };
551
- }
552
- /**
553
- * Returns ABI method arguments ready for a method call params object with default values populated
554
- * and structs replaced with tuples.
555
- *
556
- * It does this by replacing any `undefined` values with the equivalent default value from the given ARC-56 app spec.
557
- * @param methodNameOrSignature The method name or method signature to call if an ABI call is being emitted.
558
- * e.g. `my_method` or `my_method(unit64,string)bytes`
559
- * @param args The arguments to the method with `undefined` for any that should be populated with a default value
560
- */
561
- async getABIArgsWithDefaultValues(methodNameOrSignature, args, sender) {
562
- const m = require_abi_method.getABIMethod(methodNameOrSignature, this._appSpec);
563
- return await Promise.all(args?.map(async (arg, i) => {
564
- const methodArg = m.args[i];
565
- if (!methodArg) throw new Error(`Unexpected arg at position ${i}. ${m.name} only expects ${m.args.length} args`);
566
- if (require_abi_method.argTypeIsTransaction(methodArg.type)) return arg;
567
- if (arg !== void 0) return arg;
568
- const defaultValue = methodArg.defaultValue;
569
- if (defaultValue) switch (defaultValue.source) {
570
- case "literal": {
571
- const bytes = buffer.Buffer.from(defaultValue.data, "base64");
572
- return require_abi_method.getABIDecodedValue(defaultValue.type ?? methodArg.type, bytes);
573
- }
574
- case "method": {
575
- const method = this.getABIMethod(defaultValue.data);
576
- const result = await this.send.call({
577
- method: defaultValue.data,
578
- args: method.args.map(() => void 0),
579
- sender
580
- });
581
- if (result.return === void 0) throw new Error("Default value method call did not return a value");
582
- return result.return;
583
- }
584
- case "local":
585
- case "global":
586
- case "box": return await this.getDefaultValueFromStorage({
587
- data: defaultValue.data,
588
- source: defaultValue.source
589
- }, methodArg.name ?? `arg${i + 1}`, sender);
590
- }
591
- }) ?? []);
592
- }
593
- async getDefaultValueFromStorage(defaultValue, argName, sender) {
594
- const keys = defaultValue.source === "box" ? require_arc56_contract.getBoxABIStorageKeys(this.appSpec) : defaultValue.source === "global" ? require_arc56_contract.getGlobalABIStorageKeys(this.appSpec) : require_arc56_contract.getLocalABIStorageKeys(this.appSpec);
595
- const key = Object.values(keys).find((s) => s.key === defaultValue.data);
596
- if (!key) throw new Error(`Unable to find default value for argument '${argName}': The storage key (base64: '${defaultValue.data}') is not defined in the contract's ${defaultValue.source} storage schema`);
597
- if (defaultValue.source === "box") {
598
- const value$1 = await this.getBoxValue(buffer.Buffer.from(defaultValue.data, "base64"));
599
- return require_abi_method.getABIDecodedValue(key.valueType, value$1);
600
- }
601
- const state = defaultValue.source === "global" ? await this.getGlobalState() : await this.getLocalState(sender);
602
- const value = Object.values(state).find((s) => s.keyBase64 === defaultValue.data);
603
- if (!value) throw new Error(`Unable to find default value for argument '${argName}': No value exists in ${defaultValue.source} storage for key (base64: '${defaultValue.data}')`);
604
- return "valueRaw" in value ? require_abi_method.getABIDecodedValue(key.valueType, value.valueRaw) : value.value;
605
- }
606
- getBareParamsMethods() {
607
- return {
608
- update: async (params) => {
609
- return this.getBareParams({
610
- ...params,
611
- ...await this.compile(params)
612
- }, require_app_call.OnApplicationComplete.UpdateApplication);
613
- },
614
- optIn: (params) => {
615
- return this.getBareParams(params, require_app_call.OnApplicationComplete.OptIn);
616
- },
617
- delete: (params) => {
618
- return this.getBareParams(params, require_app_call.OnApplicationComplete.DeleteApplication);
619
- },
620
- clearState: (params) => {
621
- return this.getBareParams(params, require_app_call.OnApplicationComplete.ClearState);
622
- },
623
- closeOut: (params) => {
624
- return this.getBareParams(params, require_app_call.OnApplicationComplete.CloseOut);
625
- },
626
- call: (params) => {
627
- return this.getBareParams(params, params?.onComplete ?? require_app_call.OnApplicationComplete.NoOp);
628
- }
629
- };
630
- }
631
- getBareCreateTransactionMethods() {
632
- return {
633
- update: async (params) => {
634
- return this._algorand.createTransaction.appUpdate(await this.params.bare.update(params));
635
- },
636
- optIn: (params) => {
637
- return this._algorand.createTransaction.appCall(this.params.bare.optIn(params));
638
- },
639
- delete: (params) => {
640
- return this._algorand.createTransaction.appDelete(this.params.bare.delete(params));
641
- },
642
- clearState: (params) => {
643
- return this._algorand.createTransaction.appCall(this.params.bare.clearState(params));
644
- },
645
- closeOut: (params) => {
646
- return this._algorand.createTransaction.appCall(this.params.bare.closeOut(params));
647
- },
648
- call: (params) => {
649
- return this._algorand.createTransaction.appCall(this.params.bare.call(params));
650
- }
651
- };
652
- }
653
- getBareSendMethods() {
654
- return {
655
- update: async (params) => {
656
- const compiled = await this.compile(params);
657
- return {
658
- ...await this._algorand.send.appUpdate(await this.params.bare.update(params)),
659
- ...compiled
660
- };
661
- },
662
- optIn: (params) => {
663
- return this._algorand.send.appCall(this.params.bare.optIn(params));
664
- },
665
- delete: (params) => {
666
- return this._algorand.send.appDelete(this.params.bare.delete(params));
667
- },
668
- clearState: (params) => {
669
- return this._algorand.send.appCall(this.params.bare.clearState(params));
670
- },
671
- closeOut: (params) => {
672
- return this._algorand.send.appCall(this.params.bare.closeOut(params));
673
- },
674
- call: (params) => {
675
- return this._algorand.send.appCall(this.params.bare.call(params));
676
- }
677
- };
678
- }
679
- getMethodCallParamsMethods() {
680
- return {
681
- fundAppAccount: (params) => {
682
- return {
683
- ...params,
684
- sender: this.getSender(params.sender),
685
- signer: this.getSigner(params.sender, params.signer),
686
- receiver: this.appAddress
687
- };
688
- },
689
- update: async (params) => {
690
- return await this.getABIParams({
691
- ...params,
692
- ...await this.compile(params)
693
- }, require_app_call.OnApplicationComplete.UpdateApplication);
694
- },
695
- optIn: async (params) => {
696
- return await this.getABIParams(params, require_app_call.OnApplicationComplete.OptIn);
697
- },
698
- delete: async (params) => {
699
- return await this.getABIParams(params, require_app_call.OnApplicationComplete.DeleteApplication);
700
- },
701
- closeOut: async (params) => {
702
- return await this.getABIParams(params, require_app_call.OnApplicationComplete.CloseOut);
703
- },
704
- call: async (params) => {
705
- return await this.getABIParams(params, params.onComplete ?? require_app_call.OnApplicationComplete.NoOp);
706
- }
707
- };
708
- }
709
- getMethodCallSendMethods() {
710
- return {
711
- fundAppAccount: (params) => {
712
- return this._algorand.send.payment(this.params.fundAppAccount(params));
713
- },
714
- update: async (params) => {
715
- const compiled = await this.compile(params);
716
- return {
717
- ...await this.processMethodCallReturn(this._algorand.send.appUpdateMethodCall(await this.params.update({ ...params }))),
718
- ...compiled
719
- };
720
- },
721
- optIn: async (params) => {
722
- return this.processMethodCallReturn(this._algorand.send.appCallMethodCall(await this.params.optIn(params)));
723
- },
724
- delete: async (params) => {
725
- return this.processMethodCallReturn(this._algorand.send.appDeleteMethodCall(await this.params.delete(params)));
726
- },
727
- closeOut: async (params) => {
728
- return this.processMethodCallReturn(this._algorand.send.appCallMethodCall(await this.params.closeOut(params)));
729
- },
730
- call: async (params) => {
731
- if ((params.onComplete === require_app_call.OnApplicationComplete.NoOp || !params.onComplete) && require_abi_method.getABIMethod(params.method, this._appSpec).readonly) {
732
- const readonlyParams = { ...params };
733
- if (params.coverAppCallInnerTransactionFees && params.maxFee) {
734
- readonlyParams.staticFee = params.maxFee;
735
- readonlyParams.extraFee = void 0;
736
- }
737
- try {
738
- const result = await this._algorand.newGroup().addAppCallMethodCall(await this.params.call(readonlyParams)).simulate({
739
- allowUnnamedResources: params.populateAppCallResources ?? true,
740
- skipSignatures: true,
741
- extraOpcodeBudget: MAX_SIMULATE_OPCODE_BUDGET
742
- });
743
- return this.processMethodCallReturn({
744
- ...result,
745
- transaction: result.transactions.at(-1),
746
- confirmation: result.confirmations.at(-1),
747
- return: result.returns && result.returns.length > 0 ? result.returns.at(-1) : void 0
748
- });
749
- } catch (e) {
750
- const error = e;
751
- if (params.coverAppCallInnerTransactionFees && error && error.message && error.message.match(/fee too small/)) throw Error(`Fees were too small. You may need to increase the transaction maxFee.`);
752
- throw e;
753
- }
754
- }
755
- return this.processMethodCallReturn(this._algorand.send.appCallMethodCall(await this.params.call(params)));
756
- }
757
- };
758
- }
759
- getMethodCallCreateTransactionMethods() {
760
- return {
761
- fundAppAccount: (params) => {
762
- return this._algorand.createTransaction.payment(this.params.fundAppAccount(params));
763
- },
764
- update: async (params) => {
765
- return this._algorand.createTransaction.appUpdateMethodCall(await this.params.update(params));
766
- },
767
- optIn: async (params) => {
768
- return this._algorand.createTransaction.appCallMethodCall(await this.params.optIn(params));
769
- },
770
- delete: async (params) => {
771
- return this._algorand.createTransaction.appDeleteMethodCall(await this.params.delete(params));
772
- },
773
- closeOut: async (params) => {
774
- return this._algorand.createTransaction.appCallMethodCall(await this.params.closeOut(params));
775
- },
776
- call: async (params) => {
777
- return this._algorand.createTransaction.appCallMethodCall(await this.params.call(params));
778
- }
779
- };
780
- }
781
- /** Returns the sender for a call, using the provided sender or using the `defaultSender`
782
- * if none provided and throws an error if neither provided */
783
- getSender(sender) {
784
- if (!sender && !this._defaultSender) throw new Error(`No sender provided and no default sender present in app client for call to app ${this._appName}`);
785
- return require_address.getAddress(sender ?? this._defaultSender);
786
- }
787
- /** Returns the signer for a call, using the provided signer or the `defaultSigner`
788
- * if no signer was provided and the sender resolves to the default sender, the call will use default signer
789
- * or `undefined` otherwise (so the signer is resolved from `AlgorandClient`) */
790
- getSigner(sender, signer) {
791
- return signer ?? (!sender || sender === this._defaultSender ? this._defaultSigner : void 0);
792
- }
793
- getBareParams(params, onComplete) {
794
- return {
795
- ...params,
796
- appId: this._appId,
797
- sender: this.getSender(params?.sender),
798
- signer: this.getSigner(params?.sender, params?.signer),
799
- onComplete
800
- };
801
- }
802
- async getABIParams(params, onComplete) {
803
- const sender = this.getSender(params.sender);
804
- const method = require_abi_method.getABIMethod(params.method, this._appSpec);
805
- const args = await this.getABIArgsWithDefaultValues(params.method, params.args, sender);
806
- return {
807
- ...params,
808
- appId: this._appId,
809
- sender,
810
- signer: this.getSigner(params.sender, params.signer),
811
- method,
812
- onComplete,
813
- args
814
- };
815
- }
816
- /** Make the given call and catch any errors, augmenting with debugging information before re-throwing. */
817
- handleCallErrors = async (e) => {
818
- if (this.appId === 0n) {
819
- if (e.sentTransactions === void 0) return e;
820
- const txn = e.sentTransactions.find((t) => e.message.includes(t.txId()));
821
- const programsDefinedAndEqual = (a, b) => {
822
- if (a === void 0 || b === void 0) return false;
823
- if (a.length !== b.length) return false;
824
- for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;
825
- return true;
826
- };
827
- if (!programsDefinedAndEqual(txn?.appCall?.clearStateProgram, this._lastCompiled.clear) || !programsDefinedAndEqual(txn?.appCall?.approvalProgram, this._lastCompiled?.approval)) return e;
828
- } else {
829
- const appIdString = `app=${this._appId.toString()}`;
830
- if (!e.message.includes(appIdString)) return e;
831
- }
832
- const logicError = await this.exposeLogicError(e);
833
- if (logicError instanceof require_logic_error.LogicError) {
834
- let currentLine = logicError.teal_line - logicError.lines - 1;
835
- const stackWithLines = logicError.stack?.split("\n").map((line) => `${currentLine += 1}: ${line}`).join("\n");
836
- require_config.Config.logger.error(`${logicError.message}\n\n${stackWithLines}`);
837
- }
838
- return logicError;
839
- };
840
- getBoxMethods() {
841
- const that = this;
842
- const stateMethods = {
843
- getAll: async () => {
844
- return Object.fromEntries(await Promise.all(Object.keys(that._appSpec.state.keys.box).map(async (key) => [key, await stateMethods.getValue(key)])));
845
- },
846
- getValue: async (name) => {
847
- const metadata = require_arc56_contract.getBoxABIStorageKey(that._appSpec, name);
848
- const value = await that.getBoxValue(buffer.Buffer.from(metadata.key, "base64"));
849
- return require_abi_method.getABIDecodedValue(metadata.valueType, value);
850
- },
851
- getMapValue: async (mapName, key) => {
852
- const metadata = require_arc56_contract.getBoxABIStorageMap(that._appSpec, mapName);
853
- const prefix = buffer.Buffer.from(metadata.prefix ?? "", "base64");
854
- const encodedKey = buffer.Buffer.concat([prefix, require_abi_method.getABIEncodedValue(metadata.keyType, key)]);
855
- const base64Key = buffer.Buffer.from(encodedKey).toString("base64");
856
- const value = await that.getBoxValue(buffer.Buffer.from(base64Key, "base64"));
857
- return require_abi_method.getABIDecodedValue(metadata.valueType, value);
858
- },
859
- getMap: async (mapName) => {
860
- const metadata = require_arc56_contract.getBoxABIStorageMap(that._appSpec, mapName);
861
- const prefix = buffer.Buffer.from(metadata.prefix ?? "", "base64");
862
- const boxNames = await that.getBoxNames();
863
- return new Map(await Promise.all(boxNames.filter((b) => require_util.binaryStartsWith(b.nameRaw, prefix)).map(async (b) => {
864
- return [require_abi_method.getABIDecodedValue(metadata.keyType, b.nameRaw.slice(prefix.length)), require_abi_method.getABIDecodedValue(metadata.valueType, await that.getBoxValue(b.nameRaw))];
865
- })));
866
- }
867
- };
868
- return stateMethods;
869
- }
870
- getStateMethods(stateGetter, keyGetter, mapGetter) {
871
- const stateMethods = {
872
- getAll: async () => {
873
- const appState = await stateGetter();
874
- return Object.fromEntries(await Promise.all(Object.keys(keyGetter()).map(async (key) => [key, await stateMethods.getValue(key, appState)])));
875
- },
876
- getValue: async (name, appState) => {
877
- const state = Object.values(appState ?? await stateGetter());
878
- const metadata = keyGetter()[name];
879
- if (metadata === void 0) throw new Error(`Attempted to get state value ${name}, but it does not exist`);
880
- const value = state.find((s) => s.keyBase64 === metadata.key);
881
- if (value && "valueRaw" in value) return require_abi_method.getABIDecodedValue(metadata.valueType, value.valueRaw);
882
- return value?.value;
883
- },
884
- getMapValue: async (mapName, key, appState) => {
885
- const state = Object.values(appState ?? await stateGetter());
886
- const metadata = mapGetter()[mapName];
887
- const prefix = buffer.Buffer.from(metadata.prefix ?? "", "base64");
888
- const encodedKey = buffer.Buffer.concat([prefix, require_abi_method.getABIEncodedValue(metadata.keyType, key)]);
889
- const base64Key = buffer.Buffer.from(encodedKey).toString("base64");
890
- const value = state.find((s) => s.keyBase64 === base64Key);
891
- if (value && "valueRaw" in value) return require_abi_method.getABIDecodedValue(metadata.valueType, value.valueRaw);
892
- return value?.value;
893
- },
894
- getMap: async (mapName) => {
895
- const state = Object.values(await stateGetter());
896
- const metadata = mapGetter()[mapName];
897
- const prefix = buffer.Buffer.from(metadata.prefix ?? "", "base64");
898
- return new Map(state.filter((s) => require_util.binaryStartsWith(s.keyRaw, prefix)).map((s) => {
899
- const key = s.keyRaw.slice(prefix.length);
900
- return [require_abi_method.getABIDecodedValue(metadata.keyType, key), "valueRaw" in s ? require_abi_method.getABIDecodedValue(metadata.valueType, s.valueRaw) : s.value];
901
- }));
902
- }
903
- };
904
- return stateMethods;
905
- }
906
- };
4
+ /** @deprecated Import from `@algorandfoundation/algokit-utils/app-client` instead */
5
+ const AppClient = require_app_client.AppClient;
907
6
 
908
7
  //#endregion
909
8
  exports.AppClient = AppClient;