@algorandfoundation/algokit-utils 10.0.0-alpha.44 → 10.0.0-alpha.46

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 (1422) hide show
  1. package/_virtual/_rolldown/runtime.js +7 -13
  2. package/abi/index.js +6 -7
  3. package/abi/index.mjs +1 -2
  4. package/account-manager.js +17 -18
  5. package/account-manager.js.map +1 -1
  6. package/account-manager.mjs +4 -5
  7. package/account-manager.mjs.map +1 -1
  8. package/account.d.ts +4 -9
  9. package/account.js +2 -3
  10. package/account.js.map +1 -1
  11. package/account.mjs +1 -1
  12. package/algo25/index.js +3 -4
  13. package/algo25/index.mjs +1 -2
  14. package/algod-client/index.js +8 -9
  15. package/algod-client/index.mjs +1 -2
  16. package/algorand-client-transaction-creator.d.ts +4 -4
  17. package/algorand-client-transaction-creator.js +2 -3
  18. package/algorand-client-transaction-creator.js.map +1 -1
  19. package/algorand-client-transaction-creator.mjs +1 -1
  20. package/algorand-client-transaction-creator.mjs.map +1 -1
  21. package/algorand-client-transaction-sender.d.ts +5 -6
  22. package/algorand-client-transaction-sender.js +24 -25
  23. package/algorand-client-transaction-sender.js.map +1 -1
  24. package/algorand-client-transaction-sender.mjs +18 -19
  25. package/algorand-client-transaction-sender.mjs.map +1 -1
  26. package/algorand-client.js +12 -13
  27. package/algorand-client.js.map +1 -1
  28. package/algorand-client.mjs +1 -2
  29. package/algorand-client.mjs.map +1 -1
  30. package/amount.js +2 -3
  31. package/amount.js.map +1 -1
  32. package/amount.mjs +1 -1
  33. package/amount.mjs.map +1 -1
  34. package/app-client.d.ts +27 -49
  35. package/app-client.js +13 -14
  36. package/app-client.js.map +1 -1
  37. package/app-client.mjs +1 -2
  38. package/app-client.mjs.map +1 -1
  39. package/app-deployer.d.ts +6 -13
  40. package/app-deployer.js +19 -20
  41. package/app-deployer.js.map +1 -1
  42. package/app-deployer.mjs +11 -12
  43. package/app-deployer.mjs.map +1 -1
  44. package/app-factory.d.ts +24 -49
  45. package/app-factory.js +9 -10
  46. package/app-factory.js.map +1 -1
  47. package/app-factory.mjs +3 -4
  48. package/app-factory.mjs.map +1 -1
  49. package/app-manager.js +9 -12
  50. package/app-manager.js.map +1 -1
  51. package/app-manager.mjs +5 -8
  52. package/app-manager.mjs.map +1 -1
  53. package/app-spec.d.ts +1 -4
  54. package/app-spec.js +3 -4
  55. package/app-spec.js.map +1 -1
  56. package/app-spec.mjs +1 -2
  57. package/app-spec.mjs.map +1 -1
  58. package/app.d.ts +6 -12
  59. package/app.js +2 -3
  60. package/app.js.map +1 -1
  61. package/app.mjs +1 -1
  62. package/app.mjs.map +1 -1
  63. package/asset-manager.js +7 -8
  64. package/asset-manager.js.map +1 -1
  65. package/asset-manager.mjs +4 -5
  66. package/asset-manager.mjs.map +1 -1
  67. package/async-event-emitter.js +2 -3
  68. package/async-event-emitter.js.map +1 -1
  69. package/async-event-emitter.mjs +1 -1
  70. package/async-event-emitter.mjs.map +1 -1
  71. package/client-manager.js +10 -11
  72. package/client-manager.js.map +1 -1
  73. package/client-manager.mjs +1 -2
  74. package/client-manager.mjs.map +1 -1
  75. package/common/index.js +26 -27
  76. package/common/index.mjs +1 -2
  77. package/composer.d.ts +3 -8
  78. package/composer.js +26 -28
  79. package/composer.js.map +1 -1
  80. package/composer.mjs +5 -7
  81. package/composer.mjs.map +1 -1
  82. package/config.js +3 -5
  83. package/config.js.map +1 -1
  84. package/config.mjs +1 -2
  85. package/config.mjs.map +1 -1
  86. package/crypto/index.js +6 -7
  87. package/crypto/index.mjs +1 -2
  88. package/debugging.d.ts +4 -10
  89. package/debugging.js +2 -3
  90. package/debugging.js.map +1 -1
  91. package/debugging.mjs +1 -1
  92. package/dispenser-client.js +3 -4
  93. package/dispenser-client.js.map +1 -1
  94. package/dispenser-client.mjs +1 -2
  95. package/dispenser-client.mjs.map +1 -1
  96. package/index.js +26 -27
  97. package/index.mjs +1 -2
  98. package/indexer-client/index.js +8 -9
  99. package/indexer-client/index.mjs +1 -2
  100. package/indexer-client/indexer-lookup.js +1 -2
  101. package/indexer-client/indexer-lookup.js.map +1 -1
  102. package/indexer-client/indexer-lookup.mjs +1 -1
  103. package/indexer-client/indexer-lookup.mjs.map +1 -1
  104. package/indexer.d.ts +3 -3
  105. package/indexer.js +2 -3
  106. package/indexer.js.map +1 -1
  107. package/indexer.mjs +1 -1
  108. package/indexer.mjs.map +1 -1
  109. package/kmd-account-manager.js +9 -10
  110. package/kmd-account-manager.js.map +1 -1
  111. package/kmd-account-manager.mjs +1 -2
  112. package/kmd-account-manager.mjs.map +1 -1
  113. package/kmd-client/index.js +7 -8
  114. package/kmd-client/index.mjs +1 -2
  115. package/lifecycle-events.d.ts +1 -1
  116. package/lifecycle-events.js +2 -3
  117. package/lifecycle-events.js.map +1 -1
  118. package/lifecycle-events.mjs +1 -1
  119. package/lifecycle-events.mjs.map +1 -1
  120. package/logging.js +2 -3
  121. package/logging.js.map +1 -1
  122. package/logging.mjs +1 -1
  123. package/logic-error.js +2 -3
  124. package/logic-error.js.map +1 -1
  125. package/logic-error.mjs +1 -1
  126. package/logic-error.mjs.map +1 -1
  127. package/network-client.js +2 -3
  128. package/network-client.js.map +1 -1
  129. package/network-client.mjs +1 -1
  130. package/network-manager.js +2 -3
  131. package/network-manager.js.map +1 -1
  132. package/network-manager.mjs +1 -2
  133. package/network-manager.mjs.map +1 -1
  134. package/package.json +5 -2
  135. package/packages/abi/src/abi-method.d.ts +7 -12
  136. package/packages/abi/src/abi-method.js +3 -4
  137. package/packages/abi/src/abi-method.js.map +1 -1
  138. package/packages/abi/src/abi-method.mjs +1 -2
  139. package/packages/abi/src/abi-method.mjs.map +1 -1
  140. package/packages/abi/src/abi-type.d.ts +1 -4
  141. package/packages/abi/src/abi-type.js +22 -25
  142. package/packages/abi/src/abi-type.js.map +1 -1
  143. package/packages/abi/src/abi-type.mjs +18 -21
  144. package/packages/abi/src/abi-type.mjs.map +1 -1
  145. package/packages/abi/src/arc28-event.d.ts +4 -10
  146. package/packages/abi/src/arc56-contract.d.ts +66 -155
  147. package/packages/abi/src/arc56-contract.js +2 -3
  148. package/packages/abi/src/arc56-contract.js.map +1 -1
  149. package/packages/abi/src/arc56-contract.mjs +1 -2
  150. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  151. package/packages/abi/src/bigint.js +1 -2
  152. package/packages/abi/src/bigint.js.map +1 -1
  153. package/packages/abi/src/bigint.mjs +1 -1
  154. package/packages/abi/src/utils.d.ts +0 -1
  155. package/packages/abi/src/utils.js +1 -2
  156. package/packages/abi/src/utils.js.map +1 -1
  157. package/packages/abi/src/utils.mjs +1 -1
  158. package/packages/algo25/src/english.js +2 -4
  159. package/packages/algo25/src/english.js.map +1 -1
  160. package/packages/algo25/src/english.mjs +2 -3
  161. package/packages/algo25/src/english.mjs.map +1 -1
  162. package/packages/algo25/src/index.js +3 -4
  163. package/packages/algo25/src/index.js.map +1 -1
  164. package/packages/algo25/src/index.mjs +5 -6
  165. package/packages/algo25/src/index.mjs.map +1 -1
  166. package/packages/algod_client/src/apis/api-service.js +33 -34
  167. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  168. package/packages/algod_client/src/apis/api-service.mjs +1 -2
  169. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  170. package/packages/algod_client/src/client.js +3 -4
  171. package/packages/algod_client/src/client.js.map +1 -1
  172. package/packages/algod_client/src/client.mjs +1 -2
  173. package/packages/algod_client/src/client.mjs.map +1 -1
  174. package/packages/algod_client/src/core/api-error.js +1 -2
  175. package/packages/algod_client/src/core/api-error.js.map +1 -1
  176. package/packages/algod_client/src/core/api-error.mjs +1 -1
  177. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  178. package/packages/algod_client/src/core/base-http-request.js +1 -2
  179. package/packages/algod_client/src/core/base-http-request.js.map +1 -1
  180. package/packages/algod_client/src/core/base-http-request.mjs +1 -1
  181. package/packages/algod_client/src/core/base-http-request.mjs.map +1 -1
  182. package/packages/algod_client/src/core/fetch-http-request.js +3 -4
  183. package/packages/algod_client/src/core/fetch-http-request.js.map +1 -1
  184. package/packages/algod_client/src/core/fetch-http-request.mjs +1 -2
  185. package/packages/algod_client/src/core/fetch-http-request.mjs.map +1 -1
  186. package/packages/algod_client/src/core/model-runtime.js +4 -5
  187. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  188. package/packages/algod_client/src/core/model-runtime.mjs +1 -2
  189. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  190. package/packages/algod_client/src/core/request.js +5 -6
  191. package/packages/algod_client/src/core/request.js.map +1 -1
  192. package/packages/algod_client/src/core/request.mjs +1 -2
  193. package/packages/algod_client/src/core/request.mjs.map +1 -1
  194. package/packages/algod_client/src/models/account-application-response.js +5 -6
  195. package/packages/algod_client/src/models/account-application-response.js.map +1 -1
  196. package/packages/algod_client/src/models/account-application-response.mjs +1 -2
  197. package/packages/algod_client/src/models/account-application-response.mjs.map +1 -1
  198. package/packages/algod_client/src/models/account-asset-response.js +5 -6
  199. package/packages/algod_client/src/models/account-asset-response.js.map +1 -1
  200. package/packages/algod_client/src/models/account-asset-response.mjs +1 -2
  201. package/packages/algod_client/src/models/account-asset-response.mjs.map +1 -1
  202. package/packages/algod_client/src/models/account-participation.js +3 -4
  203. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  204. package/packages/algod_client/src/models/account-participation.mjs +1 -2
  205. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  206. package/packages/algod_client/src/models/account-state-delta.d.ts +0 -1
  207. package/packages/algod_client/src/models/account-state-delta.js +4 -5
  208. package/packages/algod_client/src/models/account-state-delta.js.map +1 -1
  209. package/packages/algod_client/src/models/account-state-delta.mjs +1 -2
  210. package/packages/algod_client/src/models/account-state-delta.mjs.map +1 -1
  211. package/packages/algod_client/src/models/account.d.ts +0 -1
  212. package/packages/algod_client/src/models/account.js +14 -15
  213. package/packages/algod_client/src/models/account.js.map +1 -1
  214. package/packages/algod_client/src/models/account.mjs +1 -2
  215. package/packages/algod_client/src/models/account.mjs.map +1 -1
  216. package/packages/algod_client/src/models/application-initial-states.d.ts +0 -1
  217. package/packages/algod_client/src/models/application-initial-states.js +5 -6
  218. package/packages/algod_client/src/models/application-initial-states.js.map +1 -1
  219. package/packages/algod_client/src/models/application-initial-states.mjs +1 -2
  220. package/packages/algod_client/src/models/application-initial-states.mjs.map +1 -1
  221. package/packages/algod_client/src/models/application-kv-storage.d.ts +0 -1
  222. package/packages/algod_client/src/models/application-kv-storage.js +5 -6
  223. package/packages/algod_client/src/models/application-kv-storage.js.map +1 -1
  224. package/packages/algod_client/src/models/application-kv-storage.mjs +1 -2
  225. package/packages/algod_client/src/models/application-kv-storage.mjs.map +1 -1
  226. package/packages/algod_client/src/models/application-local-state.d.ts +0 -1
  227. package/packages/algod_client/src/models/application-local-state.js +6 -7
  228. package/packages/algod_client/src/models/application-local-state.js.map +1 -1
  229. package/packages/algod_client/src/models/application-local-state.mjs +1 -2
  230. package/packages/algod_client/src/models/application-local-state.mjs.map +1 -1
  231. package/packages/algod_client/src/models/application-params.d.ts +0 -1
  232. package/packages/algod_client/src/models/application-params.js +8 -9
  233. package/packages/algod_client/src/models/application-params.js.map +1 -1
  234. package/packages/algod_client/src/models/application-params.mjs +1 -2
  235. package/packages/algod_client/src/models/application-params.mjs.map +1 -1
  236. package/packages/algod_client/src/models/application-state-operation.d.ts +0 -1
  237. package/packages/algod_client/src/models/application-state-operation.js +6 -7
  238. package/packages/algod_client/src/models/application-state-operation.js.map +1 -1
  239. package/packages/algod_client/src/models/application-state-operation.mjs +1 -2
  240. package/packages/algod_client/src/models/application-state-operation.mjs.map +1 -1
  241. package/packages/algod_client/src/models/application-state-schema.js +2 -3
  242. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  243. package/packages/algod_client/src/models/application-state-schema.mjs +1 -2
  244. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  245. package/packages/algod_client/src/models/application.d.ts +0 -1
  246. package/packages/algod_client/src/models/application.js +4 -5
  247. package/packages/algod_client/src/models/application.js.map +1 -1
  248. package/packages/algod_client/src/models/application.mjs +1 -2
  249. package/packages/algod_client/src/models/application.mjs.map +1 -1
  250. package/packages/algod_client/src/models/asset-holding.js +3 -4
  251. package/packages/algod_client/src/models/asset-holding.js.map +1 -1
  252. package/packages/algod_client/src/models/asset-holding.mjs +1 -2
  253. package/packages/algod_client/src/models/asset-holding.mjs.map +1 -1
  254. package/packages/algod_client/src/models/asset-params.js +7 -8
  255. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  256. package/packages/algod_client/src/models/asset-params.mjs +1 -2
  257. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  258. package/packages/algod_client/src/models/asset.d.ts +0 -1
  259. package/packages/algod_client/src/models/asset.js +4 -5
  260. package/packages/algod_client/src/models/asset.js.map +1 -1
  261. package/packages/algod_client/src/models/asset.mjs +1 -2
  262. package/packages/algod_client/src/models/asset.mjs.map +1 -1
  263. package/packages/algod_client/src/models/avm-key-value.d.ts +0 -1
  264. package/packages/algod_client/src/models/avm-key-value.js +4 -5
  265. package/packages/algod_client/src/models/avm-key-value.js.map +1 -1
  266. package/packages/algod_client/src/models/avm-key-value.mjs +1 -2
  267. package/packages/algod_client/src/models/avm-key-value.mjs.map +1 -1
  268. package/packages/algod_client/src/models/avm-value.js +4 -6
  269. package/packages/algod_client/src/models/avm-value.js.map +1 -1
  270. package/packages/algod_client/src/models/avm-value.mjs +1 -2
  271. package/packages/algod_client/src/models/avm-value.mjs.map +1 -1
  272. package/packages/algod_client/src/models/block-hash-response.js +2 -4
  273. package/packages/algod_client/src/models/block-hash-response.js.map +1 -1
  274. package/packages/algod_client/src/models/block-hash-response.mjs +1 -2
  275. package/packages/algod_client/src/models/block-hash-response.mjs.map +1 -1
  276. package/packages/algod_client/src/models/block-response.d.ts +1 -3
  277. package/packages/algod_client/src/models/block-response.js +4 -6
  278. package/packages/algod_client/src/models/block-response.js.map +1 -1
  279. package/packages/algod_client/src/models/block-response.mjs +1 -2
  280. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  281. package/packages/algod_client/src/models/block-txids-response.js +2 -4
  282. package/packages/algod_client/src/models/block-txids-response.js.map +1 -1
  283. package/packages/algod_client/src/models/block-txids-response.mjs +1 -2
  284. package/packages/algod_client/src/models/block-txids-response.mjs.map +1 -1
  285. package/packages/algod_client/src/models/block.d.ts +41 -93
  286. package/packages/algod_client/src/models/block.js +12 -13
  287. package/packages/algod_client/src/models/block.js.map +1 -1
  288. package/packages/algod_client/src/models/block.mjs +1 -2
  289. package/packages/algod_client/src/models/block.mjs.map +1 -1
  290. package/packages/algod_client/src/models/box-descriptor.js +2 -4
  291. package/packages/algod_client/src/models/box-descriptor.js.map +1 -1
  292. package/packages/algod_client/src/models/box-descriptor.mjs +1 -2
  293. package/packages/algod_client/src/models/box-descriptor.mjs.map +1 -1
  294. package/packages/algod_client/src/models/box.js +3 -4
  295. package/packages/algod_client/src/models/box.js.map +1 -1
  296. package/packages/algod_client/src/models/box.mjs +1 -2
  297. package/packages/algod_client/src/models/box.mjs.map +1 -1
  298. package/packages/algod_client/src/models/boxes-response.js +4 -5
  299. package/packages/algod_client/src/models/boxes-response.js.map +1 -1
  300. package/packages/algod_client/src/models/boxes-response.mjs +1 -2
  301. package/packages/algod_client/src/models/boxes-response.mjs.map +1 -1
  302. package/packages/algod_client/src/models/build-version.js +3 -4
  303. package/packages/algod_client/src/models/build-version.js.map +1 -1
  304. package/packages/algod_client/src/models/build-version.mjs +1 -2
  305. package/packages/algod_client/src/models/build-version.mjs.map +1 -1
  306. package/packages/algod_client/src/models/compile-response.js +4 -5
  307. package/packages/algod_client/src/models/compile-response.js.map +1 -1
  308. package/packages/algod_client/src/models/compile-response.mjs +1 -2
  309. package/packages/algod_client/src/models/compile-response.mjs.map +1 -1
  310. package/packages/algod_client/src/models/disassemble-response.js +2 -4
  311. package/packages/algod_client/src/models/disassemble-response.js.map +1 -1
  312. package/packages/algod_client/src/models/disassemble-response.mjs +1 -2
  313. package/packages/algod_client/src/models/disassemble-response.mjs.map +1 -1
  314. package/packages/algod_client/src/models/eval-delta-key-value.d.ts +0 -1
  315. package/packages/algod_client/src/models/eval-delta-key-value.js +4 -5
  316. package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
  317. package/packages/algod_client/src/models/eval-delta-key-value.mjs +1 -2
  318. package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
  319. package/packages/algod_client/src/models/eval-delta.js +4 -6
  320. package/packages/algod_client/src/models/eval-delta.js.map +1 -1
  321. package/packages/algod_client/src/models/eval-delta.mjs +1 -2
  322. package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
  323. package/packages/algod_client/src/models/genesis-allocation.js +59 -62
  324. package/packages/algod_client/src/models/genesis-allocation.js.map +1 -1
  325. package/packages/algod_client/src/models/genesis-allocation.mjs +55 -58
  326. package/packages/algod_client/src/models/genesis-allocation.mjs.map +1 -1
  327. package/packages/algod_client/src/models/genesis.js +7 -8
  328. package/packages/algod_client/src/models/genesis.js.map +1 -1
  329. package/packages/algod_client/src/models/genesis.mjs +1 -2
  330. package/packages/algod_client/src/models/genesis.mjs.map +1 -1
  331. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js +2 -4
  332. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js.map +1 -1
  333. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs +1 -2
  334. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs.map +1 -1
  335. package/packages/algod_client/src/models/get-sync-round-response.js +2 -4
  336. package/packages/algod_client/src/models/get-sync-round-response.js.map +1 -1
  337. package/packages/algod_client/src/models/get-sync-round-response.mjs +1 -2
  338. package/packages/algod_client/src/models/get-sync-round-response.mjs.map +1 -1
  339. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.d.ts +0 -1
  340. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js +4 -5
  341. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js.map +1 -1
  342. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs +1 -2
  343. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs.map +1 -1
  344. package/packages/algod_client/src/models/ledger-state-delta.d.ts +3 -8
  345. package/packages/algod_client/src/models/ledger-state-delta.js +98 -101
  346. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  347. package/packages/algod_client/src/models/ledger-state-delta.mjs +205 -210
  348. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  349. package/packages/algod_client/src/models/light-block-header-proof.js +3 -4
  350. package/packages/algod_client/src/models/light-block-header-proof.js.map +1 -1
  351. package/packages/algod_client/src/models/light-block-header-proof.mjs +1 -2
  352. package/packages/algod_client/src/models/light-block-header-proof.mjs.map +1 -1
  353. package/packages/algod_client/src/models/node-status-response.js +5 -6
  354. package/packages/algod_client/src/models/node-status-response.js.map +1 -1
  355. package/packages/algod_client/src/models/node-status-response.mjs +1 -2
  356. package/packages/algod_client/src/models/node-status-response.mjs.map +1 -1
  357. package/packages/algod_client/src/models/pending-transaction-response.d.ts +0 -1
  358. package/packages/algod_client/src/models/pending-transaction-response.js +9 -10
  359. package/packages/algod_client/src/models/pending-transaction-response.js.map +1 -1
  360. package/packages/algod_client/src/models/pending-transaction-response.mjs +1 -2
  361. package/packages/algod_client/src/models/pending-transaction-response.mjs.map +1 -1
  362. package/packages/algod_client/src/models/pending-transactions-response.d.ts +0 -1
  363. package/packages/algod_client/src/models/pending-transactions-response.js +5 -6
  364. package/packages/algod_client/src/models/pending-transactions-response.js.map +1 -1
  365. package/packages/algod_client/src/models/pending-transactions-response.mjs +1 -2
  366. package/packages/algod_client/src/models/pending-transactions-response.mjs.map +1 -1
  367. package/packages/algod_client/src/models/post-transactions-response.js +2 -4
  368. package/packages/algod_client/src/models/post-transactions-response.js.map +1 -1
  369. package/packages/algod_client/src/models/post-transactions-response.mjs +1 -2
  370. package/packages/algod_client/src/models/post-transactions-response.mjs.map +1 -1
  371. package/packages/algod_client/src/models/scratch-change.d.ts +0 -1
  372. package/packages/algod_client/src/models/scratch-change.js +4 -5
  373. package/packages/algod_client/src/models/scratch-change.js.map +1 -1
  374. package/packages/algod_client/src/models/scratch-change.mjs +1 -2
  375. package/packages/algod_client/src/models/scratch-change.mjs.map +1 -1
  376. package/packages/algod_client/src/models/simulate-initial-states.d.ts +0 -1
  377. package/packages/algod_client/src/models/simulate-initial-states.js +4 -5
  378. package/packages/algod_client/src/models/simulate-initial-states.js.map +1 -1
  379. package/packages/algod_client/src/models/simulate-initial-states.mjs +1 -2
  380. package/packages/algod_client/src/models/simulate-initial-states.mjs.map +1 -1
  381. package/packages/algod_client/src/models/simulate-request-transaction-group.d.ts +0 -1
  382. package/packages/algod_client/src/models/simulate-request-transaction-group.js +4 -5
  383. package/packages/algod_client/src/models/simulate-request-transaction-group.js.map +1 -1
  384. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs +1 -2
  385. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs.map +1 -1
  386. package/packages/algod_client/src/models/simulate-request.d.ts +0 -1
  387. package/packages/algod_client/src/models/simulate-request.js +8 -9
  388. package/packages/algod_client/src/models/simulate-request.js.map +1 -1
  389. package/packages/algod_client/src/models/simulate-request.mjs +1 -2
  390. package/packages/algod_client/src/models/simulate-request.mjs.map +1 -1
  391. package/packages/algod_client/src/models/simulate-response.js +10 -11
  392. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  393. package/packages/algod_client/src/models/simulate-response.mjs +1 -2
  394. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  395. package/packages/algod_client/src/models/simulate-trace-config.js +2 -3
  396. package/packages/algod_client/src/models/simulate-trace-config.js.map +1 -1
  397. package/packages/algod_client/src/models/simulate-trace-config.mjs +1 -2
  398. package/packages/algod_client/src/models/simulate-trace-config.mjs.map +1 -1
  399. package/packages/algod_client/src/models/simulate-transaction-group-result.d.ts +0 -1
  400. package/packages/algod_client/src/models/simulate-transaction-group-result.js +7 -8
  401. package/packages/algod_client/src/models/simulate-transaction-group-result.js.map +1 -1
  402. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs +1 -2
  403. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs.map +1 -1
  404. package/packages/algod_client/src/models/simulate-transaction-result.d.ts +0 -1
  405. package/packages/algod_client/src/models/simulate-transaction-result.js +7 -8
  406. package/packages/algod_client/src/models/simulate-transaction-result.js.map +1 -1
  407. package/packages/algod_client/src/models/simulate-transaction-result.mjs +1 -2
  408. package/packages/algod_client/src/models/simulate-transaction-result.mjs.map +1 -1
  409. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.d.ts +0 -1
  410. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js +5 -6
  411. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  412. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs +1 -2
  413. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  414. package/packages/algod_client/src/models/simulation-eval-overrides.js +3 -4
  415. package/packages/algod_client/src/models/simulation-eval-overrides.js.map +1 -1
  416. package/packages/algod_client/src/models/simulation-eval-overrides.mjs +1 -2
  417. package/packages/algod_client/src/models/simulation-eval-overrides.mjs.map +1 -1
  418. package/packages/algod_client/src/models/simulation-opcode-trace-unit.d.ts +0 -1
  419. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js +7 -8
  420. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js.map +1 -1
  421. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs +1 -2
  422. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs.map +1 -1
  423. package/packages/algod_client/src/models/simulation-transaction-exec-trace.d.ts +0 -1
  424. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js +7 -8
  425. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js.map +1 -1
  426. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs +1 -2
  427. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs.map +1 -1
  428. package/packages/algod_client/src/models/source-map.js +4 -5
  429. package/packages/algod_client/src/models/source-map.js.map +1 -1
  430. package/packages/algod_client/src/models/source-map.mjs +1 -2
  431. package/packages/algod_client/src/models/source-map.mjs.map +1 -1
  432. package/packages/algod_client/src/models/state-delta.d.ts +0 -1
  433. package/packages/algod_client/src/models/state-delta.js +4 -5
  434. package/packages/algod_client/src/models/state-delta.js.map +1 -1
  435. package/packages/algod_client/src/models/state-delta.mjs +1 -2
  436. package/packages/algod_client/src/models/state-delta.mjs.map +1 -1
  437. package/packages/algod_client/src/models/state-proof-message.js +3 -4
  438. package/packages/algod_client/src/models/state-proof-message.js.map +1 -1
  439. package/packages/algod_client/src/models/state-proof-message.mjs +1 -2
  440. package/packages/algod_client/src/models/state-proof-message.mjs.map +1 -1
  441. package/packages/algod_client/src/models/state-proof.d.ts +0 -1
  442. package/packages/algod_client/src/models/state-proof.js +4 -5
  443. package/packages/algod_client/src/models/state-proof.js.map +1 -1
  444. package/packages/algod_client/src/models/state-proof.mjs +1 -2
  445. package/packages/algod_client/src/models/state-proof.mjs.map +1 -1
  446. package/packages/algod_client/src/models/supply-response.js +2 -3
  447. package/packages/algod_client/src/models/supply-response.js.map +1 -1
  448. package/packages/algod_client/src/models/supply-response.mjs +1 -2
  449. package/packages/algod_client/src/models/supply-response.mjs.map +1 -1
  450. package/packages/algod_client/src/models/teal-key-value-store.d.ts +0 -1
  451. package/packages/algod_client/src/models/teal-key-value-store.js +4 -5
  452. package/packages/algod_client/src/models/teal-key-value-store.js.map +1 -1
  453. package/packages/algod_client/src/models/teal-key-value-store.mjs +1 -2
  454. package/packages/algod_client/src/models/teal-key-value-store.mjs.map +1 -1
  455. package/packages/algod_client/src/models/teal-key-value.d.ts +0 -1
  456. package/packages/algod_client/src/models/teal-key-value.js +4 -5
  457. package/packages/algod_client/src/models/teal-key-value.js.map +1 -1
  458. package/packages/algod_client/src/models/teal-key-value.mjs +1 -2
  459. package/packages/algod_client/src/models/teal-key-value.mjs.map +1 -1
  460. package/packages/algod_client/src/models/teal-value.js +4 -6
  461. package/packages/algod_client/src/models/teal-value.js.map +1 -1
  462. package/packages/algod_client/src/models/teal-value.mjs +1 -2
  463. package/packages/algod_client/src/models/teal-value.mjs.map +1 -1
  464. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js +4 -5
  465. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js.map +1 -1
  466. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs +1 -2
  467. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs.map +1 -1
  468. package/packages/algod_client/src/models/transaction-parameters-response.js +4 -5
  469. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  470. package/packages/algod_client/src/models/transaction-parameters-response.mjs +1 -2
  471. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  472. package/packages/algod_client/src/models/transaction-proof.js +4 -5
  473. package/packages/algod_client/src/models/transaction-proof.js.map +1 -1
  474. package/packages/algod_client/src/models/transaction-proof.mjs +1 -2
  475. package/packages/algod_client/src/models/transaction-proof.mjs.map +1 -1
  476. package/packages/algod_client/src/models/version.d.ts +0 -1
  477. package/packages/algod_client/src/models/version.js +6 -7
  478. package/packages/algod_client/src/models/version.js.map +1 -1
  479. package/packages/algod_client/src/models/version.mjs +1 -2
  480. package/packages/algod_client/src/models/version.mjs.map +1 -1
  481. package/packages/common/src/address.js +12 -13
  482. package/packages/common/src/address.js.map +1 -1
  483. package/packages/common/src/address.mjs +10 -11
  484. package/packages/common/src/address.mjs.map +1 -1
  485. package/packages/common/src/array.js +1 -2
  486. package/packages/common/src/array.js.map +1 -1
  487. package/packages/common/src/array.mjs +1 -1
  488. package/packages/common/src/codecs/codec.d.ts +0 -1
  489. package/packages/common/src/codecs/codec.js +1 -2
  490. package/packages/common/src/codecs/codec.js.map +1 -1
  491. package/packages/common/src/codecs/codec.mjs +1 -1
  492. package/packages/common/src/codecs/codec.mjs.map +1 -1
  493. package/packages/common/src/codecs/composite/array.js +8 -9
  494. package/packages/common/src/codecs/composite/array.js.map +1 -1
  495. package/packages/common/src/codecs/composite/array.mjs +1 -2
  496. package/packages/common/src/codecs/composite/array.mjs.map +1 -1
  497. package/packages/common/src/codecs/composite/map.d.ts +0 -1
  498. package/packages/common/src/codecs/composite/map.js +2 -3
  499. package/packages/common/src/codecs/composite/map.js.map +1 -1
  500. package/packages/common/src/codecs/composite/map.mjs +1 -2
  501. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  502. package/packages/common/src/codecs/composite/record.d.ts +0 -1
  503. package/packages/common/src/codecs/composite/record.js +3 -4
  504. package/packages/common/src/codecs/composite/record.js.map +1 -1
  505. package/packages/common/src/codecs/composite/record.mjs +1 -2
  506. package/packages/common/src/codecs/composite/record.mjs.map +1 -1
  507. package/packages/common/src/codecs/models/array-model.js +2 -3
  508. package/packages/common/src/codecs/models/array-model.js.map +1 -1
  509. package/packages/common/src/codecs/models/array-model.mjs +1 -2
  510. package/packages/common/src/codecs/models/array-model.mjs.map +1 -1
  511. package/packages/common/src/codecs/models/object-model.js +4 -6
  512. package/packages/common/src/codecs/models/object-model.js.map +1 -1
  513. package/packages/common/src/codecs/models/object-model.mjs +2 -4
  514. package/packages/common/src/codecs/models/object-model.mjs.map +1 -1
  515. package/packages/common/src/codecs/models/primitive-model.js +2 -3
  516. package/packages/common/src/codecs/models/primitive-model.js.map +1 -1
  517. package/packages/common/src/codecs/models/primitive-model.mjs +1 -2
  518. package/packages/common/src/codecs/models/primitive-model.mjs.map +1 -1
  519. package/packages/common/src/codecs/primitives/address.js +7 -8
  520. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  521. package/packages/common/src/codecs/primitives/address.mjs +4 -5
  522. package/packages/common/src/codecs/primitives/address.mjs.map +1 -1
  523. package/packages/common/src/codecs/primitives/bigint.js +2 -3
  524. package/packages/common/src/codecs/primitives/bigint.js.map +1 -1
  525. package/packages/common/src/codecs/primitives/bigint.mjs +1 -2
  526. package/packages/common/src/codecs/primitives/bigint.mjs.map +1 -1
  527. package/packages/common/src/codecs/primitives/boolean.js +2 -3
  528. package/packages/common/src/codecs/primitives/boolean.js.map +1 -1
  529. package/packages/common/src/codecs/primitives/boolean.mjs +1 -2
  530. package/packages/common/src/codecs/primitives/boolean.mjs.map +1 -1
  531. package/packages/common/src/codecs/primitives/bytes-base64.js +3 -4
  532. package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -1
  533. package/packages/common/src/codecs/primitives/bytes-base64.mjs +1 -2
  534. package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -1
  535. package/packages/common/src/codecs/primitives/bytes.js +3 -4
  536. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  537. package/packages/common/src/codecs/primitives/bytes.mjs +1 -2
  538. package/packages/common/src/codecs/primitives/bytes.mjs.map +1 -1
  539. package/packages/common/src/codecs/primitives/fixed-bytes.js +3 -4
  540. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  541. package/packages/common/src/codecs/primitives/fixed-bytes.mjs +1 -2
  542. package/packages/common/src/codecs/primitives/fixed-bytes.mjs.map +1 -1
  543. package/packages/common/src/codecs/primitives/number.js +2 -3
  544. package/packages/common/src/codecs/primitives/number.js.map +1 -1
  545. package/packages/common/src/codecs/primitives/number.mjs +1 -2
  546. package/packages/common/src/codecs/primitives/number.mjs.map +1 -1
  547. package/packages/common/src/codecs/primitives/string.js +3 -4
  548. package/packages/common/src/codecs/primitives/string.js.map +1 -1
  549. package/packages/common/src/codecs/primitives/string.mjs +1 -2
  550. package/packages/common/src/codecs/primitives/string.mjs.map +1 -1
  551. package/packages/common/src/codecs/primitives/unknown.d.ts +0 -1
  552. package/packages/common/src/codecs/primitives/unknown.js +10 -11
  553. package/packages/common/src/codecs/primitives/unknown.js.map +1 -1
  554. package/packages/common/src/codecs/primitives/unknown.mjs +3 -4
  555. package/packages/common/src/codecs/primitives/unknown.mjs.map +1 -1
  556. package/packages/common/src/codecs/types.d.ts +0 -1
  557. package/packages/common/src/codecs/wire.js +2 -3
  558. package/packages/common/src/codecs/wire.js.map +1 -1
  559. package/packages/common/src/codecs/wire.mjs +1 -2
  560. package/packages/common/src/codecs/wire.mjs.map +1 -1
  561. package/packages/common/src/constants.js +2 -3
  562. package/packages/common/src/constants.js.map +1 -1
  563. package/packages/common/src/constants.mjs +2 -2
  564. package/packages/common/src/constants.mjs.map +1 -1
  565. package/packages/common/src/encoding.js +2 -3
  566. package/packages/common/src/encoding.js.map +1 -1
  567. package/packages/common/src/encoding.mjs +1 -2
  568. package/packages/common/src/encoding.mjs.map +1 -1
  569. package/packages/common/src/json.js +2 -3
  570. package/packages/common/src/json.js.map +1 -1
  571. package/packages/common/src/json.mjs +1 -2
  572. package/packages/common/src/json.mjs.map +1 -1
  573. package/packages/common/src/msgpack.js +2 -3
  574. package/packages/common/src/msgpack.js.map +1 -1
  575. package/packages/common/src/msgpack.mjs +1 -2
  576. package/packages/common/src/msgpack.mjs.map +1 -1
  577. package/packages/common/src/sourcemap.js +2 -3
  578. package/packages/common/src/sourcemap.js.map +1 -1
  579. package/packages/common/src/sourcemap.mjs +1 -2
  580. package/packages/common/src/sourcemap.mjs.map +1 -1
  581. package/packages/crypto/src/ed25519.js +2 -3
  582. package/packages/crypto/src/ed25519.js.map +1 -1
  583. package/packages/crypto/src/ed25519.mjs +1 -2
  584. package/packages/crypto/src/ed25519.mjs.map +1 -1
  585. package/packages/crypto/src/hash.js +4 -5
  586. package/packages/crypto/src/hash.js.map +1 -1
  587. package/packages/crypto/src/hash.mjs +3 -4
  588. package/packages/crypto/src/hash.mjs.map +1 -1
  589. package/packages/crypto/src/hd.d.ts +3 -7
  590. package/packages/crypto/src/hd.js +2 -3
  591. package/packages/crypto/src/hd.js.map +1 -1
  592. package/packages/crypto/src/hd.mjs +1 -2
  593. package/packages/crypto/src/hd.mjs.map +1 -1
  594. package/packages/crypto/src/index.js +8 -7
  595. package/packages/crypto/src/index.js.map +1 -1
  596. package/packages/crypto/src/index.mjs +7 -6
  597. package/packages/crypto/src/index.mjs.map +1 -1
  598. package/packages/indexer_client/src/apis/api-service.js +19 -20
  599. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  600. package/packages/indexer_client/src/apis/api-service.mjs +1 -2
  601. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  602. package/packages/indexer_client/src/client.js +3 -4
  603. package/packages/indexer_client/src/client.js.map +1 -1
  604. package/packages/indexer_client/src/client.mjs +1 -2
  605. package/packages/indexer_client/src/client.mjs.map +1 -1
  606. package/packages/indexer_client/src/core/api-error.js +1 -2
  607. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  608. package/packages/indexer_client/src/core/api-error.mjs +1 -1
  609. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  610. package/packages/indexer_client/src/core/base-http-request.js +1 -2
  611. package/packages/indexer_client/src/core/base-http-request.js.map +1 -1
  612. package/packages/indexer_client/src/core/base-http-request.mjs +1 -1
  613. package/packages/indexer_client/src/core/base-http-request.mjs.map +1 -1
  614. package/packages/indexer_client/src/core/fetch-http-request.js +3 -4
  615. package/packages/indexer_client/src/core/fetch-http-request.js.map +1 -1
  616. package/packages/indexer_client/src/core/fetch-http-request.mjs +1 -2
  617. package/packages/indexer_client/src/core/fetch-http-request.mjs.map +1 -1
  618. package/packages/indexer_client/src/core/model-runtime.js +2 -3
  619. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  620. package/packages/indexer_client/src/core/model-runtime.mjs +1 -2
  621. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  622. package/packages/indexer_client/src/core/request.js +5 -6
  623. package/packages/indexer_client/src/core/request.js.map +1 -1
  624. package/packages/indexer_client/src/core/request.mjs +1 -2
  625. package/packages/indexer_client/src/core/request.mjs.map +1 -1
  626. package/packages/indexer_client/src/models/account-participation.js +3 -4
  627. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  628. package/packages/indexer_client/src/models/account-participation.mjs +1 -2
  629. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  630. package/packages/indexer_client/src/models/account-response.js +4 -5
  631. package/packages/indexer_client/src/models/account-response.js.map +1 -1
  632. package/packages/indexer_client/src/models/account-response.mjs +1 -2
  633. package/packages/indexer_client/src/models/account-response.mjs.map +1 -1
  634. package/packages/indexer_client/src/models/account-state-delta.d.ts +0 -1
  635. package/packages/indexer_client/src/models/account-state-delta.js +4 -5
  636. package/packages/indexer_client/src/models/account-state-delta.js.map +1 -1
  637. package/packages/indexer_client/src/models/account-state-delta.mjs +1 -2
  638. package/packages/indexer_client/src/models/account-state-delta.mjs.map +1 -1
  639. package/packages/indexer_client/src/models/account.d.ts +0 -1
  640. package/packages/indexer_client/src/models/account.js +14 -15
  641. package/packages/indexer_client/src/models/account.js.map +1 -1
  642. package/packages/indexer_client/src/models/account.mjs +1 -2
  643. package/packages/indexer_client/src/models/account.mjs.map +1 -1
  644. package/packages/indexer_client/src/models/accounts-response.js +6 -7
  645. package/packages/indexer_client/src/models/accounts-response.js.map +1 -1
  646. package/packages/indexer_client/src/models/accounts-response.mjs +1 -2
  647. package/packages/indexer_client/src/models/accounts-response.mjs.map +1 -1
  648. package/packages/indexer_client/src/models/application-local-state.d.ts +0 -1
  649. package/packages/indexer_client/src/models/application-local-state.js +7 -8
  650. package/packages/indexer_client/src/models/application-local-state.js.map +1 -1
  651. package/packages/indexer_client/src/models/application-local-state.mjs +1 -2
  652. package/packages/indexer_client/src/models/application-local-state.mjs.map +1 -1
  653. package/packages/indexer_client/src/models/application-local-states-response.js +6 -7
  654. package/packages/indexer_client/src/models/application-local-states-response.js.map +1 -1
  655. package/packages/indexer_client/src/models/application-local-states-response.mjs +1 -2
  656. package/packages/indexer_client/src/models/application-local-states-response.mjs.map +1 -1
  657. package/packages/indexer_client/src/models/application-log-data.js +3 -4
  658. package/packages/indexer_client/src/models/application-log-data.js.map +1 -1
  659. package/packages/indexer_client/src/models/application-log-data.mjs +1 -2
  660. package/packages/indexer_client/src/models/application-log-data.mjs.map +1 -1
  661. package/packages/indexer_client/src/models/application-logs-response.js +6 -7
  662. package/packages/indexer_client/src/models/application-logs-response.js.map +1 -1
  663. package/packages/indexer_client/src/models/application-logs-response.mjs +1 -2
  664. package/packages/indexer_client/src/models/application-logs-response.mjs.map +1 -1
  665. package/packages/indexer_client/src/models/application-params.d.ts +0 -1
  666. package/packages/indexer_client/src/models/application-params.js +8 -9
  667. package/packages/indexer_client/src/models/application-params.js.map +1 -1
  668. package/packages/indexer_client/src/models/application-params.mjs +1 -2
  669. package/packages/indexer_client/src/models/application-params.mjs.map +1 -1
  670. package/packages/indexer_client/src/models/application-response.js +4 -5
  671. package/packages/indexer_client/src/models/application-response.js.map +1 -1
  672. package/packages/indexer_client/src/models/application-response.mjs +1 -2
  673. package/packages/indexer_client/src/models/application-response.mjs.map +1 -1
  674. package/packages/indexer_client/src/models/application-state-schema.js +2 -3
  675. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  676. package/packages/indexer_client/src/models/application-state-schema.mjs +1 -2
  677. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  678. package/packages/indexer_client/src/models/application.d.ts +0 -1
  679. package/packages/indexer_client/src/models/application.js +5 -6
  680. package/packages/indexer_client/src/models/application.js.map +1 -1
  681. package/packages/indexer_client/src/models/application.mjs +1 -2
  682. package/packages/indexer_client/src/models/application.mjs.map +1 -1
  683. package/packages/indexer_client/src/models/applications-response.js +6 -7
  684. package/packages/indexer_client/src/models/applications-response.js.map +1 -1
  685. package/packages/indexer_client/src/models/applications-response.mjs +1 -2
  686. package/packages/indexer_client/src/models/applications-response.mjs.map +1 -1
  687. package/packages/indexer_client/src/models/asset-balances-response.js +6 -7
  688. package/packages/indexer_client/src/models/asset-balances-response.js.map +1 -1
  689. package/packages/indexer_client/src/models/asset-balances-response.mjs +1 -2
  690. package/packages/indexer_client/src/models/asset-balances-response.mjs.map +1 -1
  691. package/packages/indexer_client/src/models/asset-holding.js +3 -4
  692. package/packages/indexer_client/src/models/asset-holding.js.map +1 -1
  693. package/packages/indexer_client/src/models/asset-holding.mjs +1 -2
  694. package/packages/indexer_client/src/models/asset-holding.mjs.map +1 -1
  695. package/packages/indexer_client/src/models/asset-holdings-response.js +6 -7
  696. package/packages/indexer_client/src/models/asset-holdings-response.js.map +1 -1
  697. package/packages/indexer_client/src/models/asset-holdings-response.mjs +1 -2
  698. package/packages/indexer_client/src/models/asset-holdings-response.mjs.map +1 -1
  699. package/packages/indexer_client/src/models/asset-params.js +7 -8
  700. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  701. package/packages/indexer_client/src/models/asset-params.mjs +1 -2
  702. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  703. package/packages/indexer_client/src/models/asset-response.js +4 -5
  704. package/packages/indexer_client/src/models/asset-response.js.map +1 -1
  705. package/packages/indexer_client/src/models/asset-response.mjs +1 -2
  706. package/packages/indexer_client/src/models/asset-response.mjs.map +1 -1
  707. package/packages/indexer_client/src/models/asset.d.ts +0 -1
  708. package/packages/indexer_client/src/models/asset.js +5 -6
  709. package/packages/indexer_client/src/models/asset.js.map +1 -1
  710. package/packages/indexer_client/src/models/asset.mjs +1 -2
  711. package/packages/indexer_client/src/models/asset.mjs.map +1 -1
  712. package/packages/indexer_client/src/models/assets-response.js +6 -7
  713. package/packages/indexer_client/src/models/assets-response.js.map +1 -1
  714. package/packages/indexer_client/src/models/assets-response.mjs +1 -2
  715. package/packages/indexer_client/src/models/assets-response.mjs.map +1 -1
  716. package/packages/indexer_client/src/models/block-headers-response.js +6 -7
  717. package/packages/indexer_client/src/models/block-headers-response.js.map +1 -1
  718. package/packages/indexer_client/src/models/block-headers-response.mjs +1 -2
  719. package/packages/indexer_client/src/models/block-headers-response.mjs.map +1 -1
  720. package/packages/indexer_client/src/models/block-rewards.js +3 -4
  721. package/packages/indexer_client/src/models/block-rewards.js.map +1 -1
  722. package/packages/indexer_client/src/models/block-rewards.mjs +1 -2
  723. package/packages/indexer_client/src/models/block-rewards.mjs.map +1 -1
  724. package/packages/indexer_client/src/models/block-upgrade-state.js +4 -5
  725. package/packages/indexer_client/src/models/block-upgrade-state.js.map +1 -1
  726. package/packages/indexer_client/src/models/block-upgrade-state.mjs +1 -2
  727. package/packages/indexer_client/src/models/block-upgrade-state.mjs.map +1 -1
  728. package/packages/indexer_client/src/models/block-upgrade-vote.js +4 -5
  729. package/packages/indexer_client/src/models/block-upgrade-vote.js.map +1 -1
  730. package/packages/indexer_client/src/models/block-upgrade-vote.mjs +1 -2
  731. package/packages/indexer_client/src/models/block-upgrade-vote.mjs.map +1 -1
  732. package/packages/indexer_client/src/models/block.d.ts +0 -1
  733. package/packages/indexer_client/src/models/block.js +14 -15
  734. package/packages/indexer_client/src/models/block.js.map +1 -1
  735. package/packages/indexer_client/src/models/block.mjs +1 -2
  736. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  737. package/packages/indexer_client/src/models/box-descriptor.js +2 -4
  738. package/packages/indexer_client/src/models/box-descriptor.js.map +1 -1
  739. package/packages/indexer_client/src/models/box-descriptor.mjs +1 -2
  740. package/packages/indexer_client/src/models/box-descriptor.mjs.map +1 -1
  741. package/packages/indexer_client/src/models/box-reference.js +3 -4
  742. package/packages/indexer_client/src/models/box-reference.js.map +1 -1
  743. package/packages/indexer_client/src/models/box-reference.mjs +1 -2
  744. package/packages/indexer_client/src/models/box-reference.mjs.map +1 -1
  745. package/packages/indexer_client/src/models/box.js +3 -4
  746. package/packages/indexer_client/src/models/box.js.map +1 -1
  747. package/packages/indexer_client/src/models/box.mjs +1 -2
  748. package/packages/indexer_client/src/models/box.mjs.map +1 -1
  749. package/packages/indexer_client/src/models/boxes-response.js +6 -7
  750. package/packages/indexer_client/src/models/boxes-response.js.map +1 -1
  751. package/packages/indexer_client/src/models/boxes-response.mjs +1 -2
  752. package/packages/indexer_client/src/models/boxes-response.mjs.map +1 -1
  753. package/packages/indexer_client/src/models/eval-delta-key-value.d.ts +0 -1
  754. package/packages/indexer_client/src/models/eval-delta-key-value.js +4 -5
  755. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  756. package/packages/indexer_client/src/models/eval-delta-key-value.mjs +1 -2
  757. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  758. package/packages/indexer_client/src/models/eval-delta.js +4 -6
  759. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  760. package/packages/indexer_client/src/models/eval-delta.mjs +1 -2
  761. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  762. package/packages/indexer_client/src/models/hash-factory.js +2 -4
  763. package/packages/indexer_client/src/models/hash-factory.js.map +1 -1
  764. package/packages/indexer_client/src/models/hash-factory.mjs +1 -2
  765. package/packages/indexer_client/src/models/hash-factory.mjs.map +1 -1
  766. package/packages/indexer_client/src/models/hb-proof-fields.js +2 -3
  767. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  768. package/packages/indexer_client/src/models/hb-proof-fields.mjs +1 -2
  769. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  770. package/packages/indexer_client/src/models/health-check.js +7 -8
  771. package/packages/indexer_client/src/models/health-check.js.map +1 -1
  772. package/packages/indexer_client/src/models/health-check.mjs +1 -2
  773. package/packages/indexer_client/src/models/health-check.mjs.map +1 -1
  774. package/packages/indexer_client/src/models/holding-ref.d.ts +0 -1
  775. package/packages/indexer_client/src/models/holding-ref.js +3 -4
  776. package/packages/indexer_client/src/models/holding-ref.js.map +1 -1
  777. package/packages/indexer_client/src/models/holding-ref.mjs +1 -2
  778. package/packages/indexer_client/src/models/holding-ref.mjs.map +1 -1
  779. package/packages/indexer_client/src/models/indexer-state-proof-message.js +3 -4
  780. package/packages/indexer_client/src/models/indexer-state-proof-message.js.map +1 -1
  781. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs +1 -2
  782. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs.map +1 -1
  783. package/packages/indexer_client/src/models/locals-ref.d.ts +0 -1
  784. package/packages/indexer_client/src/models/locals-ref.js +3 -4
  785. package/packages/indexer_client/src/models/locals-ref.js.map +1 -1
  786. package/packages/indexer_client/src/models/locals-ref.mjs +1 -2
  787. package/packages/indexer_client/src/models/locals-ref.mjs.map +1 -1
  788. package/packages/indexer_client/src/models/merkle-array-proof.js +5 -6
  789. package/packages/indexer_client/src/models/merkle-array-proof.js.map +1 -1
  790. package/packages/indexer_client/src/models/merkle-array-proof.mjs +1 -2
  791. package/packages/indexer_client/src/models/merkle-array-proof.mjs.map +1 -1
  792. package/packages/indexer_client/src/models/mini-asset-holding.js +4 -6
  793. package/packages/indexer_client/src/models/mini-asset-holding.js.map +1 -1
  794. package/packages/indexer_client/src/models/mini-asset-holding.mjs +1 -2
  795. package/packages/indexer_client/src/models/mini-asset-holding.mjs.map +1 -1
  796. package/packages/indexer_client/src/models/on-completion.js +2 -4
  797. package/packages/indexer_client/src/models/on-completion.js.map +1 -1
  798. package/packages/indexer_client/src/models/on-completion.mjs +1 -2
  799. package/packages/indexer_client/src/models/on-completion.mjs.map +1 -1
  800. package/packages/indexer_client/src/models/participation-updates.js +2 -3
  801. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  802. package/packages/indexer_client/src/models/participation-updates.mjs +1 -2
  803. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  804. package/packages/indexer_client/src/models/resource-ref.d.ts +0 -1
  805. package/packages/indexer_client/src/models/resource-ref.js +7 -8
  806. package/packages/indexer_client/src/models/resource-ref.js.map +1 -1
  807. package/packages/indexer_client/src/models/resource-ref.mjs +1 -2
  808. package/packages/indexer_client/src/models/resource-ref.mjs.map +1 -1
  809. package/packages/indexer_client/src/models/state-delta.d.ts +0 -1
  810. package/packages/indexer_client/src/models/state-delta.js +4 -5
  811. package/packages/indexer_client/src/models/state-delta.js.map +1 -1
  812. package/packages/indexer_client/src/models/state-delta.mjs +1 -2
  813. package/packages/indexer_client/src/models/state-delta.mjs.map +1 -1
  814. package/packages/indexer_client/src/models/state-proof-fields.d.ts +0 -1
  815. package/packages/indexer_client/src/models/state-proof-fields.js +8 -9
  816. package/packages/indexer_client/src/models/state-proof-fields.js.map +1 -1
  817. package/packages/indexer_client/src/models/state-proof-fields.mjs +1 -2
  818. package/packages/indexer_client/src/models/state-proof-fields.mjs.map +1 -1
  819. package/packages/indexer_client/src/models/state-proof-participant.js +4 -5
  820. package/packages/indexer_client/src/models/state-proof-participant.js.map +1 -1
  821. package/packages/indexer_client/src/models/state-proof-participant.mjs +1 -2
  822. package/packages/indexer_client/src/models/state-proof-participant.mjs.map +1 -1
  823. package/packages/indexer_client/src/models/state-proof-reveal.js +5 -6
  824. package/packages/indexer_client/src/models/state-proof-reveal.js.map +1 -1
  825. package/packages/indexer_client/src/models/state-proof-reveal.mjs +1 -2
  826. package/packages/indexer_client/src/models/state-proof-reveal.mjs.map +1 -1
  827. package/packages/indexer_client/src/models/state-proof-sig-slot.js +4 -5
  828. package/packages/indexer_client/src/models/state-proof-sig-slot.js.map +1 -1
  829. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs +1 -2
  830. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs.map +1 -1
  831. package/packages/indexer_client/src/models/state-proof-signature.js +5 -6
  832. package/packages/indexer_client/src/models/state-proof-signature.js.map +1 -1
  833. package/packages/indexer_client/src/models/state-proof-signature.mjs +1 -2
  834. package/packages/indexer_client/src/models/state-proof-signature.mjs.map +1 -1
  835. package/packages/indexer_client/src/models/state-proof-tracking.js +4 -5
  836. package/packages/indexer_client/src/models/state-proof-tracking.js.map +1 -1
  837. package/packages/indexer_client/src/models/state-proof-tracking.mjs +1 -2
  838. package/packages/indexer_client/src/models/state-proof-tracking.mjs.map +1 -1
  839. package/packages/indexer_client/src/models/state-proof-verifier.js +3 -5
  840. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  841. package/packages/indexer_client/src/models/state-proof-verifier.mjs +1 -2
  842. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  843. package/packages/indexer_client/src/models/state-schema.js +2 -3
  844. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  845. package/packages/indexer_client/src/models/state-schema.mjs +1 -2
  846. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  847. package/packages/indexer_client/src/models/teal-key-value-store.d.ts +0 -1
  848. package/packages/indexer_client/src/models/teal-key-value-store.js +4 -5
  849. package/packages/indexer_client/src/models/teal-key-value-store.js.map +1 -1
  850. package/packages/indexer_client/src/models/teal-key-value-store.mjs +1 -2
  851. package/packages/indexer_client/src/models/teal-key-value-store.mjs.map +1 -1
  852. package/packages/indexer_client/src/models/teal-key-value.d.ts +0 -1
  853. package/packages/indexer_client/src/models/teal-key-value.js +4 -5
  854. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  855. package/packages/indexer_client/src/models/teal-key-value.mjs +1 -2
  856. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  857. package/packages/indexer_client/src/models/teal-value.js +4 -6
  858. package/packages/indexer_client/src/models/teal-value.js.map +1 -1
  859. package/packages/indexer_client/src/models/teal-value.mjs +1 -2
  860. package/packages/indexer_client/src/models/teal-value.mjs.map +1 -1
  861. package/packages/indexer_client/src/models/transaction-application.d.ts +0 -1
  862. package/packages/indexer_client/src/models/transaction-application.js +11 -12
  863. package/packages/indexer_client/src/models/transaction-application.js.map +1 -1
  864. package/packages/indexer_client/src/models/transaction-application.mjs +1 -2
  865. package/packages/indexer_client/src/models/transaction-application.mjs.map +1 -1
  866. package/packages/indexer_client/src/models/transaction-asset-config.d.ts +0 -1
  867. package/packages/indexer_client/src/models/transaction-asset-config.js +4 -5
  868. package/packages/indexer_client/src/models/transaction-asset-config.js.map +1 -1
  869. package/packages/indexer_client/src/models/transaction-asset-config.mjs +1 -2
  870. package/packages/indexer_client/src/models/transaction-asset-config.mjs.map +1 -1
  871. package/packages/indexer_client/src/models/transaction-asset-freeze.js +4 -6
  872. package/packages/indexer_client/src/models/transaction-asset-freeze.js.map +1 -1
  873. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs +1 -2
  874. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs.map +1 -1
  875. package/packages/indexer_client/src/models/transaction-asset-transfer.js +3 -4
  876. package/packages/indexer_client/src/models/transaction-asset-transfer.js.map +1 -1
  877. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs +1 -2
  878. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs.map +1 -1
  879. package/packages/indexer_client/src/models/transaction-heartbeat.d.ts +0 -1
  880. package/packages/indexer_client/src/models/transaction-heartbeat.js +7 -8
  881. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  882. package/packages/indexer_client/src/models/transaction-heartbeat.mjs +1 -2
  883. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  884. package/packages/indexer_client/src/models/transaction-keyreg.js +4 -5
  885. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  886. package/packages/indexer_client/src/models/transaction-keyreg.mjs +1 -2
  887. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  888. package/packages/indexer_client/src/models/transaction-payment.js +3 -4
  889. package/packages/indexer_client/src/models/transaction-payment.js.map +1 -1
  890. package/packages/indexer_client/src/models/transaction-payment.mjs +1 -2
  891. package/packages/indexer_client/src/models/transaction-payment.mjs.map +1 -1
  892. package/packages/indexer_client/src/models/transaction-response.js +4 -5
  893. package/packages/indexer_client/src/models/transaction-response.js.map +1 -1
  894. package/packages/indexer_client/src/models/transaction-response.mjs +1 -2
  895. package/packages/indexer_client/src/models/transaction-response.mjs.map +1 -1
  896. package/packages/indexer_client/src/models/transaction-signature-logicsig.d.ts +0 -1
  897. package/packages/indexer_client/src/models/transaction-signature-logicsig.js +6 -7
  898. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  899. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs +1 -2
  900. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  901. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js +2 -3
  902. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  903. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs +1 -2
  904. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  905. package/packages/indexer_client/src/models/transaction-signature-multisig.d.ts +0 -1
  906. package/packages/indexer_client/src/models/transaction-signature-multisig.js +5 -6
  907. package/packages/indexer_client/src/models/transaction-signature-multisig.js.map +1 -1
  908. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs +1 -2
  909. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs.map +1 -1
  910. package/packages/indexer_client/src/models/transaction-signature.d.ts +0 -1
  911. package/packages/indexer_client/src/models/transaction-signature.js +5 -6
  912. package/packages/indexer_client/src/models/transaction-signature.js.map +1 -1
  913. package/packages/indexer_client/src/models/transaction-signature.mjs +1 -2
  914. package/packages/indexer_client/src/models/transaction-signature.mjs.map +1 -1
  915. package/packages/indexer_client/src/models/transaction-state-proof.d.ts +0 -1
  916. package/packages/indexer_client/src/models/transaction-state-proof.js +5 -6
  917. package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
  918. package/packages/indexer_client/src/models/transaction-state-proof.mjs +1 -2
  919. package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
  920. package/packages/indexer_client/src/models/transaction.d.ts +0 -1
  921. package/packages/indexer_client/src/models/transaction.js +21 -22
  922. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  923. package/packages/indexer_client/src/models/transaction.mjs +1 -2
  924. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  925. package/packages/indexer_client/src/models/transactions-response.js +6 -7
  926. package/packages/indexer_client/src/models/transactions-response.js.map +1 -1
  927. package/packages/indexer_client/src/models/transactions-response.mjs +1 -2
  928. package/packages/indexer_client/src/models/transactions-response.mjs.map +1 -1
  929. package/packages/kmd_client/src/apis/api-service.js +44 -46
  930. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  931. package/packages/kmd_client/src/apis/api-service.mjs +3 -5
  932. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  933. package/packages/kmd_client/src/client.js +3 -4
  934. package/packages/kmd_client/src/client.js.map +1 -1
  935. package/packages/kmd_client/src/client.mjs +1 -2
  936. package/packages/kmd_client/src/client.mjs.map +1 -1
  937. package/packages/kmd_client/src/core/api-error.js +1 -2
  938. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  939. package/packages/kmd_client/src/core/api-error.mjs +1 -1
  940. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  941. package/packages/kmd_client/src/core/base-http-request.js +1 -2
  942. package/packages/kmd_client/src/core/base-http-request.js.map +1 -1
  943. package/packages/kmd_client/src/core/base-http-request.mjs +1 -1
  944. package/packages/kmd_client/src/core/base-http-request.mjs.map +1 -1
  945. package/packages/kmd_client/src/core/fetch-http-request.js +3 -4
  946. package/packages/kmd_client/src/core/fetch-http-request.js.map +1 -1
  947. package/packages/kmd_client/src/core/fetch-http-request.mjs +1 -2
  948. package/packages/kmd_client/src/core/fetch-http-request.mjs.map +1 -1
  949. package/packages/kmd_client/src/core/model-runtime.js +3 -4
  950. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  951. package/packages/kmd_client/src/core/model-runtime.mjs +1 -2
  952. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  953. package/packages/kmd_client/src/core/request.js +5 -6
  954. package/packages/kmd_client/src/core/request.js.map +1 -1
  955. package/packages/kmd_client/src/core/request.mjs +1 -2
  956. package/packages/kmd_client/src/core/request.mjs.map +1 -1
  957. package/packages/kmd_client/src/models/create-wallet-request.js +3 -4
  958. package/packages/kmd_client/src/models/create-wallet-request.js.map +1 -1
  959. package/packages/kmd_client/src/models/create-wallet-request.mjs +1 -2
  960. package/packages/kmd_client/src/models/create-wallet-request.mjs.map +1 -1
  961. package/packages/kmd_client/src/models/create-wallet-response.d.ts +0 -1
  962. package/packages/kmd_client/src/models/create-wallet-response.js +3 -4
  963. package/packages/kmd_client/src/models/create-wallet-response.js.map +1 -1
  964. package/packages/kmd_client/src/models/create-wallet-response.mjs +1 -2
  965. package/packages/kmd_client/src/models/create-wallet-response.mjs.map +1 -1
  966. package/packages/kmd_client/src/models/delete-key-request.d.ts +0 -1
  967. package/packages/kmd_client/src/models/delete-key-request.js +3 -4
  968. package/packages/kmd_client/src/models/delete-key-request.js.map +1 -1
  969. package/packages/kmd_client/src/models/delete-key-request.mjs +1 -2
  970. package/packages/kmd_client/src/models/delete-key-request.mjs.map +1 -1
  971. package/packages/kmd_client/src/models/delete-multisig-request.d.ts +0 -1
  972. package/packages/kmd_client/src/models/delete-multisig-request.js +3 -4
  973. package/packages/kmd_client/src/models/delete-multisig-request.js.map +1 -1
  974. package/packages/kmd_client/src/models/delete-multisig-request.mjs +1 -2
  975. package/packages/kmd_client/src/models/delete-multisig-request.mjs.map +1 -1
  976. package/packages/kmd_client/src/models/export-key-request.d.ts +0 -1
  977. package/packages/kmd_client/src/models/export-key-request.js +3 -4
  978. package/packages/kmd_client/src/models/export-key-request.js.map +1 -1
  979. package/packages/kmd_client/src/models/export-key-request.mjs +1 -2
  980. package/packages/kmd_client/src/models/export-key-request.mjs.map +1 -1
  981. package/packages/kmd_client/src/models/export-key-response.js +2 -4
  982. package/packages/kmd_client/src/models/export-key-response.js.map +1 -1
  983. package/packages/kmd_client/src/models/export-key-response.mjs +1 -2
  984. package/packages/kmd_client/src/models/export-key-response.mjs.map +1 -1
  985. package/packages/kmd_client/src/models/export-master-key-request.js +2 -3
  986. package/packages/kmd_client/src/models/export-master-key-request.js.map +1 -1
  987. package/packages/kmd_client/src/models/export-master-key-request.mjs +1 -2
  988. package/packages/kmd_client/src/models/export-master-key-request.mjs.map +1 -1
  989. package/packages/kmd_client/src/models/export-master-key-response.js +2 -4
  990. package/packages/kmd_client/src/models/export-master-key-response.js.map +1 -1
  991. package/packages/kmd_client/src/models/export-master-key-response.mjs +1 -2
  992. package/packages/kmd_client/src/models/export-master-key-response.mjs.map +1 -1
  993. package/packages/kmd_client/src/models/export-multisig-request.d.ts +0 -1
  994. package/packages/kmd_client/src/models/export-multisig-request.js +3 -4
  995. package/packages/kmd_client/src/models/export-multisig-request.js.map +1 -1
  996. package/packages/kmd_client/src/models/export-multisig-request.mjs +1 -2
  997. package/packages/kmd_client/src/models/export-multisig-request.mjs.map +1 -1
  998. package/packages/kmd_client/src/models/export-multisig-response.js +3 -4
  999. package/packages/kmd_client/src/models/export-multisig-response.js.map +1 -1
  1000. package/packages/kmd_client/src/models/export-multisig-response.mjs +1 -2
  1001. package/packages/kmd_client/src/models/export-multisig-response.mjs.map +1 -1
  1002. package/packages/kmd_client/src/models/generate-key-request.js +2 -4
  1003. package/packages/kmd_client/src/models/generate-key-request.js.map +1 -1
  1004. package/packages/kmd_client/src/models/generate-key-request.mjs +1 -2
  1005. package/packages/kmd_client/src/models/generate-key-request.mjs.map +1 -1
  1006. package/packages/kmd_client/src/models/generate-key-response.d.ts +0 -1
  1007. package/packages/kmd_client/src/models/generate-key-response.js +2 -4
  1008. package/packages/kmd_client/src/models/generate-key-response.js.map +1 -1
  1009. package/packages/kmd_client/src/models/generate-key-response.mjs +1 -2
  1010. package/packages/kmd_client/src/models/generate-key-response.mjs.map +1 -1
  1011. package/packages/kmd_client/src/models/import-key-request.js +3 -4
  1012. package/packages/kmd_client/src/models/import-key-request.js.map +1 -1
  1013. package/packages/kmd_client/src/models/import-key-request.mjs +1 -2
  1014. package/packages/kmd_client/src/models/import-key-request.mjs.map +1 -1
  1015. package/packages/kmd_client/src/models/import-key-response.d.ts +0 -1
  1016. package/packages/kmd_client/src/models/import-key-response.js +2 -4
  1017. package/packages/kmd_client/src/models/import-key-response.js.map +1 -1
  1018. package/packages/kmd_client/src/models/import-key-response.mjs +1 -2
  1019. package/packages/kmd_client/src/models/import-key-response.mjs.map +1 -1
  1020. package/packages/kmd_client/src/models/import-multisig-request.js +4 -5
  1021. package/packages/kmd_client/src/models/import-multisig-request.js.map +1 -1
  1022. package/packages/kmd_client/src/models/import-multisig-request.mjs +1 -2
  1023. package/packages/kmd_client/src/models/import-multisig-request.mjs.map +1 -1
  1024. package/packages/kmd_client/src/models/import-multisig-response.d.ts +0 -1
  1025. package/packages/kmd_client/src/models/import-multisig-response.js +2 -4
  1026. package/packages/kmd_client/src/models/import-multisig-response.js.map +1 -1
  1027. package/packages/kmd_client/src/models/import-multisig-response.mjs +1 -2
  1028. package/packages/kmd_client/src/models/import-multisig-response.mjs.map +1 -1
  1029. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js +2 -3
  1030. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js.map +1 -1
  1031. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs +1 -2
  1032. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs.map +1 -1
  1033. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js +2 -4
  1034. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js.map +1 -1
  1035. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs +1 -2
  1036. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs.map +1 -1
  1037. package/packages/kmd_client/src/models/list-keys-request.js +2 -4
  1038. package/packages/kmd_client/src/models/list-keys-request.js.map +1 -1
  1039. package/packages/kmd_client/src/models/list-keys-request.mjs +1 -2
  1040. package/packages/kmd_client/src/models/list-keys-request.mjs.map +1 -1
  1041. package/packages/kmd_client/src/models/list-keys-response.d.ts +0 -1
  1042. package/packages/kmd_client/src/models/list-keys-response.js +2 -4
  1043. package/packages/kmd_client/src/models/list-keys-response.js.map +1 -1
  1044. package/packages/kmd_client/src/models/list-keys-response.mjs +1 -2
  1045. package/packages/kmd_client/src/models/list-keys-response.mjs.map +1 -1
  1046. package/packages/kmd_client/src/models/list-multisig-request.js +2 -4
  1047. package/packages/kmd_client/src/models/list-multisig-request.js.map +1 -1
  1048. package/packages/kmd_client/src/models/list-multisig-request.mjs +1 -2
  1049. package/packages/kmd_client/src/models/list-multisig-request.mjs.map +1 -1
  1050. package/packages/kmd_client/src/models/list-multisig-response.d.ts +0 -1
  1051. package/packages/kmd_client/src/models/list-multisig-response.js +2 -4
  1052. package/packages/kmd_client/src/models/list-multisig-response.js.map +1 -1
  1053. package/packages/kmd_client/src/models/list-multisig-response.mjs +1 -2
  1054. package/packages/kmd_client/src/models/list-multisig-response.mjs.map +1 -1
  1055. package/packages/kmd_client/src/models/list-wallets-response.d.ts +0 -1
  1056. package/packages/kmd_client/src/models/list-wallets-response.js +4 -5
  1057. package/packages/kmd_client/src/models/list-wallets-response.js.map +1 -1
  1058. package/packages/kmd_client/src/models/list-wallets-response.mjs +1 -2
  1059. package/packages/kmd_client/src/models/list-wallets-response.mjs.map +1 -1
  1060. package/packages/kmd_client/src/models/multisig-sig.d.ts +0 -1
  1061. package/packages/kmd_client/src/models/multisig-sig.js +5 -6
  1062. package/packages/kmd_client/src/models/multisig-sig.js.map +1 -1
  1063. package/packages/kmd_client/src/models/multisig-sig.mjs +1 -2
  1064. package/packages/kmd_client/src/models/multisig-sig.mjs.map +1 -1
  1065. package/packages/kmd_client/src/models/multisig-subsig.js +2 -3
  1066. package/packages/kmd_client/src/models/multisig-subsig.js.map +1 -1
  1067. package/packages/kmd_client/src/models/multisig-subsig.mjs +1 -2
  1068. package/packages/kmd_client/src/models/multisig-subsig.mjs.map +1 -1
  1069. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js +2 -4
  1070. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js.map +1 -1
  1071. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs +1 -2
  1072. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs.map +1 -1
  1073. package/packages/kmd_client/src/models/rename-wallet-request.js +2 -3
  1074. package/packages/kmd_client/src/models/rename-wallet-request.js.map +1 -1
  1075. package/packages/kmd_client/src/models/rename-wallet-request.mjs +1 -2
  1076. package/packages/kmd_client/src/models/rename-wallet-request.mjs.map +1 -1
  1077. package/packages/kmd_client/src/models/rename-wallet-response.d.ts +0 -1
  1078. package/packages/kmd_client/src/models/rename-wallet-response.js +3 -4
  1079. package/packages/kmd_client/src/models/rename-wallet-response.js.map +1 -1
  1080. package/packages/kmd_client/src/models/rename-wallet-response.mjs +1 -2
  1081. package/packages/kmd_client/src/models/rename-wallet-response.mjs.map +1 -1
  1082. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js +2 -4
  1083. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js.map +1 -1
  1084. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs +1 -2
  1085. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs.map +1 -1
  1086. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.d.ts +0 -1
  1087. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js +3 -4
  1088. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js.map +1 -1
  1089. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs +1 -2
  1090. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs.map +1 -1
  1091. package/packages/kmd_client/src/models/sign-multisig-response.js +2 -4
  1092. package/packages/kmd_client/src/models/sign-multisig-response.js.map +1 -1
  1093. package/packages/kmd_client/src/models/sign-multisig-response.mjs +1 -2
  1094. package/packages/kmd_client/src/models/sign-multisig-response.mjs.map +1 -1
  1095. package/packages/kmd_client/src/models/sign-multisig-txn-request.d.ts +0 -1
  1096. package/packages/kmd_client/src/models/sign-multisig-txn-request.js +5 -6
  1097. package/packages/kmd_client/src/models/sign-multisig-txn-request.js.map +1 -1
  1098. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs +1 -2
  1099. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs.map +1 -1
  1100. package/packages/kmd_client/src/models/sign-program-multisig-request.d.ts +0 -1
  1101. package/packages/kmd_client/src/models/sign-program-multisig-request.js +7 -8
  1102. package/packages/kmd_client/src/models/sign-program-multisig-request.js.map +1 -1
  1103. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs +1 -2
  1104. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs.map +1 -1
  1105. package/packages/kmd_client/src/models/sign-program-multisig-response.js +2 -4
  1106. package/packages/kmd_client/src/models/sign-program-multisig-response.js.map +1 -1
  1107. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs +1 -2
  1108. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs.map +1 -1
  1109. package/packages/kmd_client/src/models/sign-program-request.d.ts +0 -1
  1110. package/packages/kmd_client/src/models/sign-program-request.js +4 -5
  1111. package/packages/kmd_client/src/models/sign-program-request.js.map +1 -1
  1112. package/packages/kmd_client/src/models/sign-program-request.mjs +1 -2
  1113. package/packages/kmd_client/src/models/sign-program-request.mjs.map +1 -1
  1114. package/packages/kmd_client/src/models/sign-program-response.js +2 -4
  1115. package/packages/kmd_client/src/models/sign-program-response.js.map +1 -1
  1116. package/packages/kmd_client/src/models/sign-program-response.mjs +1 -2
  1117. package/packages/kmd_client/src/models/sign-program-response.mjs.map +1 -1
  1118. package/packages/kmd_client/src/models/sign-transaction-response.js +2 -4
  1119. package/packages/kmd_client/src/models/sign-transaction-response.js.map +1 -1
  1120. package/packages/kmd_client/src/models/sign-transaction-response.mjs +1 -2
  1121. package/packages/kmd_client/src/models/sign-transaction-response.mjs.map +1 -1
  1122. package/packages/kmd_client/src/models/sign-txn-request.js +3 -4
  1123. package/packages/kmd_client/src/models/sign-txn-request.js.map +1 -1
  1124. package/packages/kmd_client/src/models/sign-txn-request.mjs +1 -2
  1125. package/packages/kmd_client/src/models/sign-txn-request.mjs.map +1 -1
  1126. package/packages/kmd_client/src/models/tx-type.js +2 -4
  1127. package/packages/kmd_client/src/models/tx-type.js.map +1 -1
  1128. package/packages/kmd_client/src/models/tx-type.mjs +1 -2
  1129. package/packages/kmd_client/src/models/tx-type.mjs.map +1 -1
  1130. package/packages/kmd_client/src/models/versions-response.js +2 -4
  1131. package/packages/kmd_client/src/models/versions-response.js.map +1 -1
  1132. package/packages/kmd_client/src/models/versions-response.mjs +1 -2
  1133. package/packages/kmd_client/src/models/versions-response.mjs.map +1 -1
  1134. package/packages/kmd_client/src/models/wallet-handle.d.ts +0 -1
  1135. package/packages/kmd_client/src/models/wallet-handle.js +4 -5
  1136. package/packages/kmd_client/src/models/wallet-handle.js.map +1 -1
  1137. package/packages/kmd_client/src/models/wallet-handle.mjs +1 -2
  1138. package/packages/kmd_client/src/models/wallet-handle.mjs.map +1 -1
  1139. package/packages/kmd_client/src/models/wallet-info-request.js +2 -4
  1140. package/packages/kmd_client/src/models/wallet-info-request.js.map +1 -1
  1141. package/packages/kmd_client/src/models/wallet-info-request.mjs +1 -2
  1142. package/packages/kmd_client/src/models/wallet-info-request.mjs.map +1 -1
  1143. package/packages/kmd_client/src/models/wallet-info-response.d.ts +0 -1
  1144. package/packages/kmd_client/src/models/wallet-info-response.js +3 -4
  1145. package/packages/kmd_client/src/models/wallet-info-response.js.map +1 -1
  1146. package/packages/kmd_client/src/models/wallet-info-response.mjs +1 -2
  1147. package/packages/kmd_client/src/models/wallet-info-response.mjs.map +1 -1
  1148. package/packages/kmd_client/src/models/wallet.d.ts +0 -1
  1149. package/packages/kmd_client/src/models/wallet.js +7 -8
  1150. package/packages/kmd_client/src/models/wallet.js.map +1 -1
  1151. package/packages/kmd_client/src/models/wallet.mjs +1 -2
  1152. package/packages/kmd_client/src/models/wallet.mjs.map +1 -1
  1153. package/packages/testing/src/globalSetup.js +3 -4
  1154. package/packages/testing/src/globalSetup.js.map +1 -1
  1155. package/packages/testing/src/globalSetup.mjs +1 -2
  1156. package/packages/testing/src/globalSetup.mjs.map +1 -1
  1157. package/packages/testing/src/mockServer.js +1 -2
  1158. package/packages/testing/src/mockServer.js.map +1 -1
  1159. package/packages/testing/src/mockServer.mjs +1 -1
  1160. package/packages/transact/src/logicsig.d.ts +0 -1
  1161. package/packages/transact/src/logicsig.js +8 -9
  1162. package/packages/transact/src/logicsig.js.map +1 -1
  1163. package/packages/transact/src/logicsig.mjs +1 -2
  1164. package/packages/transact/src/logicsig.mjs.map +1 -1
  1165. package/packages/transact/src/multisig.js +9 -10
  1166. package/packages/transact/src/multisig.js.map +1 -1
  1167. package/packages/transact/src/multisig.mjs +6 -7
  1168. package/packages/transact/src/multisig.mjs.map +1 -1
  1169. package/packages/transact/src/signer.js +5 -6
  1170. package/packages/transact/src/signer.js.map +1 -1
  1171. package/packages/transact/src/signer.mjs +1 -2
  1172. package/packages/transact/src/signer.mjs.map +1 -1
  1173. package/packages/transact/src/transactions/app-call.d.ts +8 -19
  1174. package/packages/transact/src/transactions/app-call.js +22 -23
  1175. package/packages/transact/src/transactions/app-call.js.map +1 -1
  1176. package/packages/transact/src/transactions/app-call.mjs +21 -22
  1177. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  1178. package/packages/transact/src/transactions/asset-config.d.ts +0 -1
  1179. package/packages/transact/src/transactions/asset-config.js +11 -12
  1180. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  1181. package/packages/transact/src/transactions/asset-config.mjs +10 -11
  1182. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  1183. package/packages/transact/src/transactions/asset-freeze.d.ts +0 -1
  1184. package/packages/transact/src/transactions/asset-freeze.js +2 -3
  1185. package/packages/transact/src/transactions/asset-freeze.js.map +1 -1
  1186. package/packages/transact/src/transactions/asset-freeze.mjs +1 -2
  1187. package/packages/transact/src/transactions/asset-freeze.mjs.map +1 -1
  1188. package/packages/transact/src/transactions/asset-transfer.d.ts +0 -1
  1189. package/packages/transact/src/transactions/asset-transfer.js +2 -3
  1190. package/packages/transact/src/transactions/asset-transfer.js.map +1 -1
  1191. package/packages/transact/src/transactions/asset-transfer.mjs +1 -2
  1192. package/packages/transact/src/transactions/asset-transfer.mjs.map +1 -1
  1193. package/packages/transact/src/transactions/common.js +1 -2
  1194. package/packages/transact/src/transactions/common.js.map +1 -1
  1195. package/packages/transact/src/transactions/common.mjs +1 -1
  1196. package/packages/transact/src/transactions/common.mjs.map +1 -1
  1197. package/packages/transact/src/transactions/heartbeat.d.ts +8 -19
  1198. package/packages/transact/src/transactions/key-registration.js +2 -3
  1199. package/packages/transact/src/transactions/key-registration.js.map +1 -1
  1200. package/packages/transact/src/transactions/key-registration.mjs +1 -2
  1201. package/packages/transact/src/transactions/key-registration.mjs.map +1 -1
  1202. package/packages/transact/src/transactions/payment.d.ts +0 -1
  1203. package/packages/transact/src/transactions/reference-types-meta.d.ts +0 -1
  1204. package/packages/transact/src/transactions/reference-types-meta.js +4 -5
  1205. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -1
  1206. package/packages/transact/src/transactions/reference-types-meta.mjs +1 -2
  1207. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -1
  1208. package/packages/transact/src/transactions/signed-transaction-meta.d.ts +0 -1
  1209. package/packages/transact/src/transactions/signed-transaction-meta.js +8 -9
  1210. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  1211. package/packages/transact/src/transactions/signed-transaction-meta.mjs +1 -2
  1212. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  1213. package/packages/transact/src/transactions/signed-transaction.d.ts +0 -1
  1214. package/packages/transact/src/transactions/signed-transaction.js +5 -6
  1215. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  1216. package/packages/transact/src/transactions/signed-transaction.mjs +1 -2
  1217. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  1218. package/packages/transact/src/transactions/state-proof.d.ts +2 -5
  1219. package/packages/transact/src/transactions/transaction-meta.d.ts +0 -1
  1220. package/packages/transact/src/transactions/transaction-meta.js +15 -16
  1221. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  1222. package/packages/transact/src/transactions/transaction-meta.mjs +1 -2
  1223. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  1224. package/packages/transact/src/transactions/transaction-type.d.ts +1 -1
  1225. package/packages/transact/src/transactions/transaction-type.js +1 -2
  1226. package/packages/transact/src/transactions/transaction-type.js.map +1 -1
  1227. package/packages/transact/src/transactions/transaction-type.mjs +1 -1
  1228. package/packages/transact/src/transactions/transaction-type.mjs.map +1 -1
  1229. package/packages/transact/src/transactions/transaction.js +22 -23
  1230. package/packages/transact/src/transactions/transaction.js.map +1 -1
  1231. package/packages/transact/src/transactions/transaction.mjs +8 -9
  1232. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  1233. package/testing/account.d.ts +0 -1
  1234. package/testing/account.js +4 -5
  1235. package/testing/account.js.map +1 -1
  1236. package/testing/account.mjs +1 -2
  1237. package/testing/account.mjs.map +1 -1
  1238. package/testing/fixtures/algokit-log-capture-fixture.d.ts +0 -1
  1239. package/testing/fixtures/algokit-log-capture-fixture.js +3 -4
  1240. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  1241. package/testing/fixtures/algokit-log-capture-fixture.mjs +1 -2
  1242. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  1243. package/testing/fixtures/algorand-fixture.d.ts +0 -1
  1244. package/testing/fixtures/algorand-fixture.js +8 -9
  1245. package/testing/fixtures/algorand-fixture.js.map +1 -1
  1246. package/testing/fixtures/algorand-fixture.mjs +1 -2
  1247. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  1248. package/testing/index.js +10 -11
  1249. package/testing/index.mjs +1 -2
  1250. package/testing/indexer.js +1 -2
  1251. package/testing/indexer.js.map +1 -1
  1252. package/testing/indexer.mjs +1 -1
  1253. package/testing/test-logger.d.ts +0 -1
  1254. package/testing/test-logger.js +2 -3
  1255. package/testing/test-logger.js.map +1 -1
  1256. package/testing/test-logger.mjs +1 -2
  1257. package/testing/test-logger.mjs.map +1 -1
  1258. package/testing/transaction-logger.d.ts +0 -1
  1259. package/testing/transaction-logger.js +4 -5
  1260. package/testing/transaction-logger.js.map +1 -1
  1261. package/testing/transaction-logger.mjs +1 -2
  1262. package/testing/transaction-logger.mjs.map +1 -1
  1263. package/transact/index.js +12 -13
  1264. package/transact/index.mjs +1 -2
  1265. package/transaction/index.js +4 -5
  1266. package/transaction/index.mjs +1 -2
  1267. package/transaction/perform-transaction-composer-simulate.d.ts +0 -1
  1268. package/transaction/perform-transaction-composer-simulate.js +3 -5
  1269. package/transaction/perform-transaction-composer-simulate.js.map +1 -1
  1270. package/transaction/perform-transaction-composer-simulate.mjs +3 -4
  1271. package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
  1272. package/transaction/transaction.js +2 -3
  1273. package/transaction/transaction.js.map +1 -1
  1274. package/transaction/transaction.mjs +1 -2
  1275. package/transaction/transaction.mjs.map +1 -1
  1276. package/transactions/app-call.d.ts +15 -32
  1277. package/transactions/app-call.js +17 -18
  1278. package/transactions/app-call.js.map +1 -1
  1279. package/transactions/app-call.mjs +10 -11
  1280. package/transactions/app-call.mjs.map +1 -1
  1281. package/transactions/asset-config.d.ts +4 -10
  1282. package/transactions/asset-config.js +5 -6
  1283. package/transactions/asset-config.js.map +1 -1
  1284. package/transactions/asset-config.mjs +1 -2
  1285. package/transactions/asset-config.mjs.map +1 -1
  1286. package/transactions/asset-transfer.d.ts +4 -10
  1287. package/transactions/asset-transfer.js +5 -6
  1288. package/transactions/asset-transfer.js.map +1 -1
  1289. package/transactions/asset-transfer.mjs +1 -2
  1290. package/transactions/asset-transfer.mjs.map +1 -1
  1291. package/transactions/common.d.ts +7 -14
  1292. package/transactions/common.js +3 -4
  1293. package/transactions/common.js.map +1 -1
  1294. package/transactions/common.mjs +1 -2
  1295. package/transactions/common.mjs.map +1 -1
  1296. package/transactions/fee-coverage.js +1 -2
  1297. package/transactions/fee-coverage.js.map +1 -1
  1298. package/transactions/fee-coverage.mjs +1 -1
  1299. package/transactions/fee-coverage.mjs.map +1 -1
  1300. package/transactions/key-registration.d.ts +6 -14
  1301. package/transactions/key-registration.js +4 -5
  1302. package/transactions/key-registration.js.map +1 -1
  1303. package/transactions/key-registration.mjs +1 -2
  1304. package/transactions/key-registration.mjs.map +1 -1
  1305. package/transactions/method-call.d.ts +1 -3
  1306. package/transactions/method-call.js +11 -14
  1307. package/transactions/method-call.js.map +1 -1
  1308. package/transactions/method-call.mjs +2 -5
  1309. package/transactions/method-call.mjs.map +1 -1
  1310. package/transactions/payment.d.ts +1 -4
  1311. package/transactions/payment.js +5 -6
  1312. package/transactions/payment.js.map +1 -1
  1313. package/transactions/payment.mjs +1 -2
  1314. package/transactions/payment.mjs.map +1 -1
  1315. package/types/account-manager.js +3 -4
  1316. package/types/account-manager.js.map +1 -1
  1317. package/types/account-manager.mjs +1 -2
  1318. package/types/account-manager.mjs.map +1 -1
  1319. package/types/account.js +3 -5
  1320. package/types/account.js.map +1 -1
  1321. package/types/account.mjs +1 -2
  1322. package/types/account.mjs.map +1 -1
  1323. package/types/algorand-client-transaction-creator.js +3 -5
  1324. package/types/algorand-client-transaction-creator.js.map +1 -1
  1325. package/types/algorand-client-transaction-creator.mjs +1 -2
  1326. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  1327. package/types/algorand-client-transaction-sender.js +3 -5
  1328. package/types/algorand-client-transaction-sender.js.map +1 -1
  1329. package/types/algorand-client-transaction-sender.mjs +1 -2
  1330. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  1331. package/types/algorand-client.js +3 -5
  1332. package/types/algorand-client.js.map +1 -1
  1333. package/types/algorand-client.mjs +1 -2
  1334. package/types/algorand-client.mjs.map +1 -1
  1335. package/types/amount.js +3 -5
  1336. package/types/amount.js.map +1 -1
  1337. package/types/amount.mjs +1 -2
  1338. package/types/amount.mjs.map +1 -1
  1339. package/types/app-client.js +3 -5
  1340. package/types/app-client.js.map +1 -1
  1341. package/types/app-client.mjs +1 -2
  1342. package/types/app-client.mjs.map +1 -1
  1343. package/types/app-deployer.js +3 -5
  1344. package/types/app-deployer.js.map +1 -1
  1345. package/types/app-deployer.mjs +1 -2
  1346. package/types/app-deployer.mjs.map +1 -1
  1347. package/types/app-factory.js +3 -5
  1348. package/types/app-factory.js.map +1 -1
  1349. package/types/app-factory.mjs +1 -2
  1350. package/types/app-factory.mjs.map +1 -1
  1351. package/types/app-manager.js +3 -5
  1352. package/types/app-manager.js.map +1 -1
  1353. package/types/app-manager.mjs +1 -2
  1354. package/types/app-manager.mjs.map +1 -1
  1355. package/types/app-spec.js +3 -5
  1356. package/types/app-spec.js.map +1 -1
  1357. package/types/app-spec.mjs +1 -2
  1358. package/types/app-spec.mjs.map +1 -1
  1359. package/types/app.js +3 -4
  1360. package/types/app.js.map +1 -1
  1361. package/types/app.mjs +1 -2
  1362. package/types/app.mjs.map +1 -1
  1363. package/types/asset-manager.js +3 -5
  1364. package/types/asset-manager.js.map +1 -1
  1365. package/types/asset-manager.mjs +1 -2
  1366. package/types/asset-manager.mjs.map +1 -1
  1367. package/types/async-event-emitter.js +3 -5
  1368. package/types/async-event-emitter.js.map +1 -1
  1369. package/types/async-event-emitter.mjs +1 -2
  1370. package/types/async-event-emitter.mjs.map +1 -1
  1371. package/types/client-manager.js +3 -5
  1372. package/types/client-manager.js.map +1 -1
  1373. package/types/client-manager.mjs +1 -2
  1374. package/types/client-manager.mjs.map +1 -1
  1375. package/types/composer.js +3 -5
  1376. package/types/composer.js.map +1 -1
  1377. package/types/composer.mjs +1 -2
  1378. package/types/composer.mjs.map +1 -1
  1379. package/types/config.js +3 -5
  1380. package/types/config.js.map +1 -1
  1381. package/types/config.mjs +1 -2
  1382. package/types/config.mjs.map +1 -1
  1383. package/types/debugging.js +4 -5
  1384. package/types/debugging.js.map +1 -1
  1385. package/types/debugging.mjs +3 -4
  1386. package/types/debugging.mjs.map +1 -1
  1387. package/types/dispenser-client.js +3 -5
  1388. package/types/dispenser-client.js.map +1 -1
  1389. package/types/dispenser-client.mjs +1 -2
  1390. package/types/dispenser-client.mjs.map +1 -1
  1391. package/types/indexer.js +3 -4
  1392. package/types/indexer.js.map +1 -1
  1393. package/types/indexer.mjs +1 -2
  1394. package/types/indexer.mjs.map +1 -1
  1395. package/types/kmd-account-manager.js +3 -5
  1396. package/types/kmd-account-manager.js.map +1 -1
  1397. package/types/kmd-account-manager.mjs +1 -2
  1398. package/types/kmd-account-manager.mjs.map +1 -1
  1399. package/types/lifecycle-events.js +3 -5
  1400. package/types/lifecycle-events.js.map +1 -1
  1401. package/types/lifecycle-events.mjs +1 -2
  1402. package/types/lifecycle-events.mjs.map +1 -1
  1403. package/types/logging.js +3 -4
  1404. package/types/logging.js.map +1 -1
  1405. package/types/logging.mjs +1 -2
  1406. package/types/logging.mjs.map +1 -1
  1407. package/types/logic-error.js +3 -5
  1408. package/types/logic-error.js.map +1 -1
  1409. package/types/logic-error.mjs +1 -2
  1410. package/types/logic-error.mjs.map +1 -1
  1411. package/types/network-client.js +3 -5
  1412. package/types/network-client.js.map +1 -1
  1413. package/types/network-client.mjs +1 -2
  1414. package/types/network-client.mjs.map +1 -1
  1415. package/updatable-config.js +3 -4
  1416. package/updatable-config.js.map +1 -1
  1417. package/updatable-config.mjs +1 -2
  1418. package/updatable-config.mjs.map +1 -1
  1419. package/util.js +2 -3
  1420. package/util.js.map +1 -1
  1421. package/util.mjs +1 -2
  1422. package/util.mjs.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"app-deployer.js","names":["TransactionComposer","APP_DEPLOY_NOTE_DAPP","getApplicationAddress","calculateExtraProgramPages","OnSchemaBreak","OnUpdate","getAddress","Address","lookupAccountCreatedApplicationByAddress","searchTransactions","TransactionType"],"sources":["../src/app-deployer.ts"],"sourcesContent":["import { ABIReturn } from '@algorandfoundation/algokit-abi'\nimport { Address, Expand, getAddress, getApplicationAddress, ReadableAddress } from '@algorandfoundation/algokit-common'\nimport { IndexerClient } from '@algorandfoundation/algokit-indexer-client'\nimport { TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgorandClientTransactionSender } from './algorand-client-transaction-sender'\nimport {\n APP_DEPLOY_NOTE_DAPP,\n OnSchemaBreak,\n OnUpdate,\n type AppDeployMetadata,\n type SendAppCreateTransactionResult,\n type SendAppUpdateTransactionResult,\n type TealTemplateParams,\n} from './app'\nimport { AppManager } from './app-manager'\nimport {\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n TransactionComposer,\n} from './composer'\nimport { Config } from './config'\nimport { lookupAccountCreatedApplicationByAddress, searchTransactions } from './indexer-client'\nimport { ConfirmedTransactionResult, SendParams } from './transaction/types'\nimport { calculateExtraProgramPages } from './util'\n\n/** Params to specify an update transaction for an app deployment */\nexport type DeployAppUpdateParams = Expand<Omit<AppUpdateParams, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify an update method call for an app deployment */\nexport type DeployAppUpdateMethodCall = Expand<Omit<AppUpdateMethodCall, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify a transaction for an app deployment */\nexport type DeployAppDeleteParams = Expand<Omit<AppDeleteParams, 'appId'>>\n/** Params to specify a delete method call for an app deployment */\nexport type DeployAppDeleteMethodCall = Expand<Omit<AppDeleteMethodCall, 'appId'>>\n\n/** The parameters to idempotently deploy an app */\nexport type AppDeployParams = Expand<\n SendParams & {\n /** The deployment metadata */\n metadata: AppDeployMetadata\n /** Any deploy-time parameters to replace in the TEAL code before compiling it (used if teal code is passed in as a string) */\n deployTimeParams?: TealTemplateParams\n /** What action to perform if a schema break (storage schema or extra pages change) is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onSchemaBreak?: 'replace' | 'fail' | 'append' | OnSchemaBreak\n /** What action to perform if a TEAL code update is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `update` - Update the app with the new TEAL code\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onUpdate?: 'update' | 'replace' | 'fail' | 'append' | OnUpdate\n /** Create transaction parameters to use if a create needs to be issued as part of deployment */\n createParams: AppCreateParams | AppCreateMethodCall\n /** Update transaction parameters to use if an update needs to be issued as part of deployment */\n updateParams: DeployAppUpdateParams | DeployAppUpdateMethodCall\n /** Delete transaction parameters to use if a delete needs to be issued as part of deployment */\n deleteParams: DeployAppDeleteParams | DeployAppDeleteMethodCall\n /** Optional cached value of the existing apps for the given creator; use this to avoid an indexer lookup */\n existingDeployments?: AppLookup\n /** Whether or not to ignore the app metadata cache and force a lookup, default: use the cache **/\n ignoreCache?: boolean\n }\n>\n\n/** The metadata that can be collected about a deployed app */\nexport interface AppMetadata extends AppDeployMetadata {\n /** The id of the app */\n appId: bigint\n /** The Algorand address of the account associated with the app */\n appAddress: Address\n /** The round the app was created */\n createdRound: bigint\n /** The last round that the app was updated */\n updatedRound: bigint\n /** The metadata when the app was created */\n createdMetadata: AppDeployMetadata\n /** Whether or not the app is deleted */\n deleted: boolean\n}\n\n/** A lookup of name -> Algorand app for a creator */\nexport interface AppLookup {\n /** The address of the creator associated with this lookup */\n creator: Readonly<Address>\n /** A hash map of app name to app metadata */\n apps: {\n [name: string]: AppMetadata\n }\n}\n\nexport type AppDeployResult =\n | Expand<{ operationPerformed: 'create' } & Omit<AppMetadata, 'appId' | 'appAddress'> & SendAppCreateTransactionResult>\n | Expand<{ operationPerformed: 'update' } & AppMetadata & SendAppUpdateTransactionResult>\n | Expand<\n { operationPerformed: 'replace' } & Omit<AppMetadata, 'appId' | 'appAddress'> &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n >\n | Expand<{ operationPerformed: 'nothing' } & AppMetadata>\n\n/** Allows management of deployment and deployment metadata of applications. */\nexport class AppDeployer {\n private _appManager: AppManager\n private _transactionSender: AlgorandClientTransactionSender\n private _indexer?: IndexerClient\n private _appLookups = new Map<string, AppLookup>()\n\n /**\n * Creates an `AppManager`\n * @param appManager An `AppManager` instance\n * @param transactionSender An `AlgorandClientTransactionSender` instance\n * @param indexer An optional indexer instance; supply if you want to indexer to look up app metadata\n * @example\n * ```ts\n * const deployer = new AppDeployer(appManager, transactionSender, indexer)\n * ```\n */\n constructor(appManager: AppManager, transactionSender: AlgorandClientTransactionSender, indexer?: IndexerClient) {\n this._appManager = appManager\n this._transactionSender = transactionSender\n this._indexer = indexer\n }\n\n /**\n * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).\n *\n * To understand the architecture decisions behind this functionality please see https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md\n *\n * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.\n *\n * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.\n *\n * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.\n * @param deployment The arguments to control the app deployment\n * @returns The result of the deployment\n * @example\n * ```ts\n * const deployResult = await deployer.deploy({\n * createParams: {\n * sender: 'SENDER_ADDRESS',\n * approvalProgram: 'APPROVAL PROGRAM',\n * clearStateProgram: 'CLEAR PROGRAM',\n * schema: {\n * globalByteSlices: 0,\n * globalInts: 0,\n * localByteSlices: 0,\n * localInts: 0\n * }\n * },\n * updateParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * deleteParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * metadata: { name: 'my_app', version: '2.0', updatable: false, deletable: false },\n * onSchemaBreak: 'append',\n * onUpdate: 'append'\n * })\n * ```\n */\n async deploy(deployment: AppDeployParams): Promise<AppDeployResult> {\n const {\n metadata,\n deployTimeParams,\n onSchemaBreak,\n onUpdate,\n createParams,\n updateParams,\n deleteParams,\n existingDeployments,\n ignoreCache,\n ...sendParams\n } = deployment\n\n // Set creation note\n\n createParams.note = updateParams.note = TransactionComposer.arc2Note({\n dAppName: APP_DEPLOY_NOTE_DAPP,\n data: metadata,\n format: 'j',\n })\n\n // Check for required fields\n\n if (existingDeployments && existingDeployments.creator.toString() !== createParams.sender.toString()) {\n throw new Error(\n `Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${createParams.sender}`,\n )\n }\n if (!existingDeployments && !this._indexer) {\n throw new Error(\n `Didn't receive an indexer client when this AppManager was created, but also didn't receive an existingDeployments cache - one of them must be provided`,\n )\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Idempotently deploying app \"${metadata.name}\" from creator ${createParams.sender} using ${createParams.approvalProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'} and ${createParams.clearStateProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'}`,\n )\n\n // Compile code if required\n\n const compiledApproval =\n typeof createParams.approvalProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.approvalProgram, deployTimeParams, metadata)\n : undefined\n const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : createParams.approvalProgram\n\n const compiledClear =\n typeof createParams.clearStateProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.clearStateProgram, deployTimeParams)\n : undefined\n const clearStateProgram = compiledClear ? compiledClear.compiledBase64ToBytes : createParams.clearStateProgram\n\n // Define routines for create, update, and replace\n\n const createApp = async () => {\n const result = await ('method' in createParams\n ? this._transactionSender.appCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram, ...sendParams })\n : this._transactionSender.appCreate({ ...createParams, approvalProgram, clearStateProgram, ...sendParams }))\n const appMetadata: AppMetadata = {\n appId: result.appId,\n appAddress: result.appAddress,\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(result.confirmation.confirmedRound!),\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'create',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppCreateTransactionResult & AppMetadata & { operationPerformed: 'create' }\n }\n const updateApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Updating existing ${metadata.name} app for ${createParams.sender} to version ${metadata.version}.`,\n )\n const result = await ('method' in updateParams\n ? this._transactionSender.appUpdateMethodCall({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n })\n : this._transactionSender.appUpdate({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n }))\n const appMetadata: AppMetadata = {\n appId: existingApp.appId,\n appAddress: existingApp.appAddress,\n createdMetadata: existingApp.createdMetadata,\n createdRound: existingApp.createdRound,\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n ...metadata,\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'update',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppUpdateTransactionResult & AppMetadata & { operationPerformed: 'update' }\n }\n const replaceApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Deploying a new ${metadata.name} app for ${createParams.sender}; deploying app with version ${metadata.version}.`,\n )\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${deleteParams.sender} account.`,\n )\n\n const composer = this._transactionSender.newGroup()\n if ('method' in createParams) {\n composer.addAppCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram })\n } else {\n composer.addAppCreate({ ...createParams, approvalProgram, clearStateProgram })\n }\n const createIndex = await composer.count()\n if ('method' in deleteParams) {\n composer.addAppDeleteMethodCall({ appId: existingApp.appId, ...deleteParams })\n } else {\n composer.addAppDelete({ appId: existingApp.appId, ...deleteParams })\n }\n const result = await composer.send({ ...sendParams })\n const confirmation = result.confirmations.at(createIndex - 1)!\n const transaction = result.transactions.at(createIndex - 1)!\n const deleteTransaction = result.transactions.at(-1)!\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Sent transactions ${transaction.txId()} to create app with id ${confirmation.appId} and ${deleteTransaction.txId()} to delete app with id ${\n existingApp.appId\n } from ${createParams.sender} account.`,\n )\n\n const appMetadata: AppMetadata = {\n appId: confirmation.appId!,\n appAddress: getApplicationAddress(confirmation.appId!),\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(confirmation.confirmedRound!),\n updatedRound: BigInt(confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n\n return {\n operationPerformed: 'replace',\n ...result,\n compiledApproval,\n compiledClear,\n transaction,\n confirmation,\n return: 'method' in createParams ? result.returns?.[0] : undefined,\n deleteReturn: 'method' in deleteParams ? result.returns?.at(-1) : undefined,\n ...appMetadata,\n deleteResult: { transaction: deleteTransaction, confirmation: result.confirmations.at(-1)! },\n } satisfies { operationPerformed: 'replace' } & AppMetadata &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n }\n\n // Lookup existing app metadata\n\n const apps = existingDeployments ?? (await this.getCreatorAppsByName(createParams.sender, ignoreCache))\n\n const existingApp = apps.apps[metadata.name]\n if (!existingApp || existingApp.deleted) {\n Config.getLogger(sendParams?.suppressLog).info(\n `App ${metadata.name} not found in apps created by ${createParams.sender}; deploying app with version ${metadata.version}.`,\n )\n\n return await createApp()\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Existing app ${metadata.name} found by creator ${createParams.sender}, with app id ${existingApp.appId} and version ${existingApp.version}.`,\n )\n\n const existingAppRecord = await this._appManager.getById(existingApp.appId)\n const existingApproval = Buffer.from(existingAppRecord.approvalProgram).toString('base64')\n const existingClear = Buffer.from(existingAppRecord.clearStateProgram).toString('base64')\n const extraPages = existingAppRecord.extraProgramPages ?? 0\n\n const newApprovalBytes = Buffer.from(approvalProgram)\n const newClearBytes = Buffer.from(clearStateProgram)\n const newApproval = newApprovalBytes.toString('base64')\n const newClear = newClearBytes.toString('base64')\n const newExtraPages = calculateExtraProgramPages(newApprovalBytes, newClearBytes)\n\n // Check for changes\n\n const isUpdate = newApproval !== existingApproval || newClear !== existingClear\n const isSchemaBreak =\n existingAppRecord.localInts < (createParams.schema?.localInts ?? 0) ||\n existingAppRecord.globalInts < (createParams.schema?.globalInts ?? 0) ||\n existingAppRecord.localByteSlices < (createParams.schema?.localByteSlices ?? 0) ||\n existingAppRecord.globalByteSlices < (createParams.schema?.globalByteSlices ?? 0) ||\n extraPages < newExtraPages\n\n if (isSchemaBreak) {\n Config.getLogger(sendParams?.suppressLog).warn(`Detected a breaking app schema change in app ${existingApp.appId}:`, {\n from: {\n globalInts: existingAppRecord.globalInts,\n globalByteSlices: existingAppRecord.globalByteSlices,\n localInts: existingAppRecord.localInts,\n localByteSlices: existingAppRecord.localByteSlices,\n extraProgramPages: extraPages,\n },\n to: { ...createParams.schema, extraProgramPages: newExtraPages },\n })\n\n if (onSchemaBreak === undefined || onSchemaBreak === 'fail' || onSchemaBreak === OnSchemaBreak.Fail) {\n throw new Error(\n 'Schema break detected and onSchemaBreak=OnSchemaBreak.Fail, stopping deployment. ' +\n 'If you want to try deleting and recreating the app then ' +\n 're-run with onSchemaBreak=OnSchemaBreak.ReplaceApp',\n )\n }\n\n if (onSchemaBreak === 'append' || onSchemaBreak === OnSchemaBreak.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onSchemaBreak=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is deletable and onSchemaBreak=ReplaceApp, will attempt to create new app and delete old app',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is not deletable but onSchemaBreak=ReplaceApp, will attempt to delete app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n\n if (isUpdate) {\n Config.getLogger(sendParams?.suppressLog).info(\n `Detected a TEAL update in app ${existingApp.appId} for creator ${createParams.sender}`,\n )\n\n if (onUpdate === undefined || onUpdate === 'fail' || onUpdate === OnUpdate.Fail) {\n throw new Error('Update detected and onUpdate=Fail, stopping deployment. Try a different onUpdate value to not fail.')\n }\n\n if (onUpdate === 'append' || onUpdate === OnUpdate.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onUpdate=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (onUpdate === 'update' || onUpdate === OnUpdate.UpdateApp) {\n if (existingApp.updatable) {\n Config.getLogger(sendParams?.suppressLog).info(`App is updatable and onUpdate=UpdateApp, updating app...`)\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n `App is not updatable but onUpdate=UpdateApp, will attempt to update app, update will most likely fail`,\n )\n }\n\n return await updateApp(existingApp)\n }\n\n if (onUpdate === 'replace' || onUpdate === OnUpdate.ReplaceApp) {\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is deletable and onUpdate=ReplaceApp, creating new app and deleting old app...',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is not deletable and onUpdate=ReplaceApp, will attempt to create new app and delete old app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n }\n\n Config.getLogger(sendParams?.suppressLog).debug('No detected changes in app, nothing to do.')\n\n return { ...existingApp, operationPerformed: 'nothing' }\n }\n\n private updateAppLookup(sender: ReadableAddress, appMetadata: AppMetadata) {\n const s = getAddress(sender).toString()\n const lookup = this._appLookups.get(s)\n if (!lookup) {\n this._appLookups.set(s, { creator: Address.fromString(s), apps: { [appMetadata.name]: appMetadata } })\n } else {\n lookup.apps[appMetadata.name] = appMetadata\n }\n }\n\n /**\n * Returns a lookup of name => app metadata (id, address, ...metadata) for all apps created by the given account that have\n * an [ARC-2](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md) `AppDeployNote` as the transaction\n * note of the app creation transaction.\n *\n * This function caches the result for the given creator account so that subsequent calls will not require an indexer lookup.\n *\n * If the `AppManager` instance wasn't created with an indexer client, this function will throw an error.\n *\n * @param creator The address of the account that is the creator of the apps you want to search for\n * @param ignoreCache Whether or not to ignore the cache and force a lookup, default: use the cache\n * @returns A name-based lookup of the app metadata\n * @example\n * ```ts\n * const result = await deployer.getCreatorAppsByName(creator)\n */\n async getCreatorAppsByName(creator: ReadableAddress, ignoreCache?: boolean): Promise<AppLookup> {\n const appLookup: Record<string, AppMetadata> = {}\n\n const creatorAddress = getAddress(creator)\n const creatorString = creatorAddress.toString()\n if (!ignoreCache && this._appLookups.has(creatorString)) {\n return this._appLookups.get(creatorString)!\n }\n\n if (!this._indexer) {\n throw new Error(`Didn't receive an indexer client when this AppManager was created, but received a call to getCreatorApps`)\n }\n\n // Extract all apps that account created\n const createdApps = (await lookupAccountCreatedApplicationByAddress(this._indexer, creatorString))\n .map((a) => {\n return { id: a.id, createdAtRound: a.createdAtRound!, deleted: a.deleted }\n })\n .sort((a, b) => Number(a.createdAtRound - b.createdAtRound))\n\n // For each app that account created (in parallel)...\n const apps = await Promise.all(\n createdApps.map(async (createdApp) => {\n // Find any app transactions for that app in the round it was created (should always just be a single creation transaction)\n const appTransactions = await searchTransactions(this._indexer!, {\n minRound: createdApp.createdAtRound,\n txType: TransactionType.AppCall,\n applicationId: createdApp.id,\n address: creatorAddress,\n addressRole: 'sender',\n notePrefix: Buffer.from(APP_DEPLOY_NOTE_DAPP).toString('base64'),\n })\n\n // Triple check the transaction is intact by filtering for the one we want:\n // * application-id is 0 when the app is first created\n // * also verify the sender to prevent a potential security risk\n const appCreationTransaction = appTransactions.transactions.filter(\n (t) => t.applicationTransaction?.applicationId === 0n && t.sender.toString() === creatorAddress.toString(),\n )[0]\n\n const latestAppUpdateTransaction = appTransactions.transactions\n .filter((t) => t.sender.toString() === creatorAddress.toString())\n .sort((a, b) =>\n a.confirmedRound === b.confirmedRound\n ? (b.intraRoundOffset! - a.intraRoundOffset!) / 10\n : Number(b.confirmedRound! - a.confirmedRound!),\n )[0]\n\n if (!appCreationTransaction?.note)\n // No note; ignoring\n return null\n\n return { createdApp, appCreationTransaction, latestAppUpdateTransaction }\n }),\n )\n\n apps\n .filter((a) => a !== null)\n .forEach((a) => {\n const { createdApp, appCreationTransaction, latestAppUpdateTransaction } = a!\n\n const parseNote = (note?: string) => {\n if (!note) {\n // No note; ignoring...\n return\n }\n\n if (!note.startsWith(`${APP_DEPLOY_NOTE_DAPP}:j{`))\n // Clearly not APP_DEPLOY JSON; ignoring...\n return\n\n return JSON.parse(note.substring(APP_DEPLOY_NOTE_DAPP.length + 2)) as AppDeployMetadata\n }\n\n try {\n const creationNote = parseNote(\n appCreationTransaction.note ? Buffer.from(appCreationTransaction.note).toString('utf-8') : undefined,\n )\n const updateNote = parseNote(\n latestAppUpdateTransaction.note ? Buffer.from(latestAppUpdateTransaction.note).toString('utf-8') : undefined,\n )\n if (creationNote?.name) {\n appLookup[creationNote.name] = {\n appId: createdApp.id,\n appAddress: getApplicationAddress(createdApp.id),\n createdMetadata: creationNote,\n createdRound: appCreationTransaction.confirmedRound ?? 0n,\n ...(updateNote ?? creationNote),\n updatedRound: latestAppUpdateTransaction?.confirmedRound ?? 0n,\n deleted: createdApp.deleted ?? false,\n }\n }\n } catch (e) {\n Config.logger.warn(\n `Received error trying to retrieve app with ${createdApp.id} for creator ${creatorAddress}; failing silently`,\n e,\n )\n return\n }\n })\n\n const lookup = {\n creator: creatorAddress,\n apps: appLookup,\n }\n\n this._appLookups.set(creatorString, lookup)\n\n return lookup\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"app-deployer.js","names":["TransactionComposer","APP_DEPLOY_NOTE_DAPP","getAddress","getApplicationAddress","calculateExtraProgramPages","OnSchemaBreak","OnUpdate","Address","lookupAccountCreatedApplicationByAddress","searchTransactions","TransactionType"],"sources":["../src/app-deployer.ts"],"sourcesContent":["import { ABIReturn } from '@algorandfoundation/algokit-abi'\nimport { Address, Expand, getAddress, getApplicationAddress, ReadableAddress } from '@algorandfoundation/algokit-common'\nimport { IndexerClient } from '@algorandfoundation/algokit-indexer-client'\nimport { TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgorandClientTransactionSender } from './algorand-client-transaction-sender'\nimport {\n APP_DEPLOY_NOTE_DAPP,\n OnSchemaBreak,\n OnUpdate,\n type AppDeployMetadata,\n type SendAppCreateTransactionResult,\n type SendAppUpdateTransactionResult,\n type TealTemplateParams,\n} from './app'\nimport { AppManager } from './app-manager'\nimport {\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n TransactionComposer,\n} from './composer'\nimport { Config } from './config'\nimport { lookupAccountCreatedApplicationByAddress, searchTransactions } from './indexer-client'\nimport { ConfirmedTransactionResult, SendParams } from './transaction/types'\nimport { calculateExtraProgramPages } from './util'\n\n/** Params to specify an update transaction for an app deployment */\nexport type DeployAppUpdateParams = Expand<Omit<AppUpdateParams, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify an update method call for an app deployment */\nexport type DeployAppUpdateMethodCall = Expand<Omit<AppUpdateMethodCall, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify a transaction for an app deployment */\nexport type DeployAppDeleteParams = Expand<Omit<AppDeleteParams, 'appId'>>\n/** Params to specify a delete method call for an app deployment */\nexport type DeployAppDeleteMethodCall = Expand<Omit<AppDeleteMethodCall, 'appId'>>\n\n/** The parameters to idempotently deploy an app */\nexport type AppDeployParams = Expand<\n SendParams & {\n /** The deployment metadata */\n metadata: AppDeployMetadata\n /** Any deploy-time parameters to replace in the TEAL code before compiling it (used if teal code is passed in as a string) */\n deployTimeParams?: TealTemplateParams\n /** What action to perform if a schema break (storage schema or extra pages change) is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onSchemaBreak?: 'replace' | 'fail' | 'append' | OnSchemaBreak\n /** What action to perform if a TEAL code update is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `update` - Update the app with the new TEAL code\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onUpdate?: 'update' | 'replace' | 'fail' | 'append' | OnUpdate\n /** Create transaction parameters to use if a create needs to be issued as part of deployment */\n createParams: AppCreateParams | AppCreateMethodCall\n /** Update transaction parameters to use if an update needs to be issued as part of deployment */\n updateParams: DeployAppUpdateParams | DeployAppUpdateMethodCall\n /** Delete transaction parameters to use if a delete needs to be issued as part of deployment */\n deleteParams: DeployAppDeleteParams | DeployAppDeleteMethodCall\n /** Optional cached value of the existing apps for the given creator; use this to avoid an indexer lookup */\n existingDeployments?: AppLookup\n /** Whether or not to ignore the app metadata cache and force a lookup, default: use the cache **/\n ignoreCache?: boolean\n }\n>\n\n/** The metadata that can be collected about a deployed app */\nexport interface AppMetadata extends AppDeployMetadata {\n /** The id of the app */\n appId: bigint\n /** The Algorand address of the account associated with the app */\n appAddress: Address\n /** The round the app was created */\n createdRound: bigint\n /** The last round that the app was updated */\n updatedRound: bigint\n /** The metadata when the app was created */\n createdMetadata: AppDeployMetadata\n /** Whether or not the app is deleted */\n deleted: boolean\n}\n\n/** A lookup of name -> Algorand app for a creator */\nexport interface AppLookup {\n /** The address of the creator associated with this lookup */\n creator: Readonly<Address>\n /** A hash map of app name to app metadata */\n apps: {\n [name: string]: AppMetadata\n }\n}\n\nexport type AppDeployResult =\n | Expand<{ operationPerformed: 'create' } & Omit<AppMetadata, 'appId' | 'appAddress'> & SendAppCreateTransactionResult>\n | Expand<{ operationPerformed: 'update' } & AppMetadata & SendAppUpdateTransactionResult>\n | Expand<\n { operationPerformed: 'replace' } & Omit<AppMetadata, 'appId' | 'appAddress'> &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n >\n | Expand<{ operationPerformed: 'nothing' } & AppMetadata>\n\n/** Allows management of deployment and deployment metadata of applications. */\nexport class AppDeployer {\n private _appManager: AppManager\n private _transactionSender: AlgorandClientTransactionSender\n private _indexer?: IndexerClient\n private _appLookups = new Map<string, AppLookup>()\n\n /**\n * Creates an `AppManager`\n * @param appManager An `AppManager` instance\n * @param transactionSender An `AlgorandClientTransactionSender` instance\n * @param indexer An optional indexer instance; supply if you want to indexer to look up app metadata\n * @example\n * ```ts\n * const deployer = new AppDeployer(appManager, transactionSender, indexer)\n * ```\n */\n constructor(appManager: AppManager, transactionSender: AlgorandClientTransactionSender, indexer?: IndexerClient) {\n this._appManager = appManager\n this._transactionSender = transactionSender\n this._indexer = indexer\n }\n\n /**\n * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).\n *\n * To understand the architecture decisions behind this functionality please see https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md\n *\n * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.\n *\n * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.\n *\n * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.\n * @param deployment The arguments to control the app deployment\n * @returns The result of the deployment\n * @example\n * ```ts\n * const deployResult = await deployer.deploy({\n * createParams: {\n * sender: 'SENDER_ADDRESS',\n * approvalProgram: 'APPROVAL PROGRAM',\n * clearStateProgram: 'CLEAR PROGRAM',\n * schema: {\n * globalByteSlices: 0,\n * globalInts: 0,\n * localByteSlices: 0,\n * localInts: 0\n * }\n * },\n * updateParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * deleteParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * metadata: { name: 'my_app', version: '2.0', updatable: false, deletable: false },\n * onSchemaBreak: 'append',\n * onUpdate: 'append'\n * })\n * ```\n */\n async deploy(deployment: AppDeployParams): Promise<AppDeployResult> {\n const {\n metadata,\n deployTimeParams,\n onSchemaBreak,\n onUpdate,\n createParams,\n updateParams,\n deleteParams,\n existingDeployments,\n ignoreCache,\n ...sendParams\n } = deployment\n\n // Set creation note\n\n createParams.note = updateParams.note = TransactionComposer.arc2Note({\n dAppName: APP_DEPLOY_NOTE_DAPP,\n data: metadata,\n format: 'j',\n })\n\n // Check for required fields\n\n if (existingDeployments && existingDeployments.creator.toString() !== createParams.sender.toString()) {\n throw new Error(\n `Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${getAddress(createParams.sender)}`,\n )\n }\n if (!existingDeployments && !this._indexer) {\n throw new Error(\n `Didn't receive an indexer client when this AppManager was created, but also didn't receive an existingDeployments cache - one of them must be provided`,\n )\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Idempotently deploying app \"${metadata.name}\" from creator ${getAddress(createParams.sender)} using ${createParams.approvalProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'} and ${createParams.clearStateProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'}`,\n )\n\n // Compile code if required\n\n const compiledApproval =\n typeof createParams.approvalProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.approvalProgram, deployTimeParams, metadata)\n : undefined\n const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : createParams.approvalProgram\n\n const compiledClear =\n typeof createParams.clearStateProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.clearStateProgram, deployTimeParams)\n : undefined\n const clearStateProgram = compiledClear ? compiledClear.compiledBase64ToBytes : createParams.clearStateProgram\n\n // Define routines for create, update, and replace\n\n const createApp = async () => {\n const result = await ('method' in createParams\n ? this._transactionSender.appCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram, ...sendParams })\n : this._transactionSender.appCreate({ ...createParams, approvalProgram, clearStateProgram, ...sendParams }))\n const appMetadata: AppMetadata = {\n appId: result.appId,\n appAddress: result.appAddress,\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(result.confirmation.confirmedRound!),\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'create',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppCreateTransactionResult & AppMetadata & { operationPerformed: 'create' }\n }\n const updateApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Updating existing ${metadata.name} app for ${getAddress(createParams.sender)} to version ${metadata.version}.`,\n )\n const result = await ('method' in updateParams\n ? this._transactionSender.appUpdateMethodCall({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n })\n : this._transactionSender.appUpdate({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n }))\n const appMetadata: AppMetadata = {\n appId: existingApp.appId,\n appAddress: existingApp.appAddress,\n createdMetadata: existingApp.createdMetadata,\n createdRound: existingApp.createdRound,\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n ...metadata,\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'update',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppUpdateTransactionResult & AppMetadata & { operationPerformed: 'update' }\n }\n const replaceApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Deploying a new ${metadata.name} app for ${getAddress(createParams.sender)}; deploying app with version ${metadata.version}.`,\n )\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${getAddress(deleteParams.sender)} account.`,\n )\n\n const composer = this._transactionSender.newGroup()\n if ('method' in createParams) {\n composer.addAppCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram })\n } else {\n composer.addAppCreate({ ...createParams, approvalProgram, clearStateProgram })\n }\n const createIndex = await composer.count()\n if ('method' in deleteParams) {\n composer.addAppDeleteMethodCall({ appId: existingApp.appId, ...deleteParams })\n } else {\n composer.addAppDelete({ appId: existingApp.appId, ...deleteParams })\n }\n const result = await composer.send({ ...sendParams })\n const confirmation = result.confirmations.at(createIndex - 1)!\n const transaction = result.transactions.at(createIndex - 1)!\n const deleteTransaction = result.transactions.at(-1)!\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Sent transactions ${transaction.txId()} to create app with id ${confirmation.appId} and ${deleteTransaction.txId()} to delete app with id ${\n existingApp.appId\n } from ${getAddress(createParams.sender)} account.`,\n )\n\n const appMetadata: AppMetadata = {\n appId: confirmation.appId!,\n appAddress: getApplicationAddress(confirmation.appId!),\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(confirmation.confirmedRound!),\n updatedRound: BigInt(confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n\n return {\n operationPerformed: 'replace',\n ...result,\n compiledApproval,\n compiledClear,\n transaction,\n confirmation,\n return: 'method' in createParams ? result.returns?.[0] : undefined,\n deleteReturn: 'method' in deleteParams ? result.returns?.at(-1) : undefined,\n ...appMetadata,\n deleteResult: { transaction: deleteTransaction, confirmation: result.confirmations.at(-1)! },\n } satisfies { operationPerformed: 'replace' } & AppMetadata &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n }\n\n // Lookup existing app metadata\n\n const apps = existingDeployments ?? (await this.getCreatorAppsByName(createParams.sender, ignoreCache))\n\n const existingApp = apps.apps[metadata.name]\n if (!existingApp || existingApp.deleted) {\n Config.getLogger(sendParams?.suppressLog).info(\n `App ${metadata.name} not found in apps created by ${getAddress(createParams.sender)}; deploying app with version ${metadata.version}.`,\n )\n\n return await createApp()\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Existing app ${metadata.name} found by creator ${getAddress(createParams.sender)}, with app id ${existingApp.appId} and version ${existingApp.version}.`,\n )\n\n const existingAppRecord = await this._appManager.getById(existingApp.appId)\n const existingApproval = Buffer.from(existingAppRecord.approvalProgram).toString('base64')\n const existingClear = Buffer.from(existingAppRecord.clearStateProgram).toString('base64')\n const extraPages = existingAppRecord.extraProgramPages ?? 0\n\n const newApprovalBytes = Buffer.from(approvalProgram)\n const newClearBytes = Buffer.from(clearStateProgram)\n const newApproval = newApprovalBytes.toString('base64')\n const newClear = newClearBytes.toString('base64')\n const newExtraPages = calculateExtraProgramPages(newApprovalBytes, newClearBytes)\n\n // Check for changes\n\n const isUpdate = newApproval !== existingApproval || newClear !== existingClear\n const isSchemaBreak =\n existingAppRecord.localInts < (createParams.schema?.localInts ?? 0) ||\n existingAppRecord.globalInts < (createParams.schema?.globalInts ?? 0) ||\n existingAppRecord.localByteSlices < (createParams.schema?.localByteSlices ?? 0) ||\n existingAppRecord.globalByteSlices < (createParams.schema?.globalByteSlices ?? 0) ||\n extraPages < newExtraPages\n\n if (isSchemaBreak) {\n Config.getLogger(sendParams?.suppressLog).warn(`Detected a breaking app schema change in app ${existingApp.appId}:`, {\n from: {\n globalInts: existingAppRecord.globalInts,\n globalByteSlices: existingAppRecord.globalByteSlices,\n localInts: existingAppRecord.localInts,\n localByteSlices: existingAppRecord.localByteSlices,\n extraProgramPages: extraPages,\n },\n to: { ...createParams.schema, extraProgramPages: newExtraPages },\n })\n\n if (onSchemaBreak === undefined || onSchemaBreak === 'fail' || onSchemaBreak === OnSchemaBreak.Fail) {\n throw new Error(\n 'Schema break detected and onSchemaBreak=OnSchemaBreak.Fail, stopping deployment. ' +\n 'If you want to try deleting and recreating the app then ' +\n 're-run with onSchemaBreak=OnSchemaBreak.ReplaceApp',\n )\n }\n\n if (onSchemaBreak === 'append' || onSchemaBreak === OnSchemaBreak.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onSchemaBreak=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is deletable and onSchemaBreak=ReplaceApp, will attempt to create new app and delete old app',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is not deletable but onSchemaBreak=ReplaceApp, will attempt to delete app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n\n if (isUpdate) {\n Config.getLogger(sendParams?.suppressLog).info(\n `Detected a TEAL update in app ${existingApp.appId} for creator ${getAddress(createParams.sender)}`,\n )\n\n if (onUpdate === undefined || onUpdate === 'fail' || onUpdate === OnUpdate.Fail) {\n throw new Error('Update detected and onUpdate=Fail, stopping deployment. Try a different onUpdate value to not fail.')\n }\n\n if (onUpdate === 'append' || onUpdate === OnUpdate.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onUpdate=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (onUpdate === 'update' || onUpdate === OnUpdate.UpdateApp) {\n if (existingApp.updatable) {\n Config.getLogger(sendParams?.suppressLog).info(`App is updatable and onUpdate=UpdateApp, updating app...`)\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n `App is not updatable but onUpdate=UpdateApp, will attempt to update app, update will most likely fail`,\n )\n }\n\n return await updateApp(existingApp)\n }\n\n if (onUpdate === 'replace' || onUpdate === OnUpdate.ReplaceApp) {\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is deletable and onUpdate=ReplaceApp, creating new app and deleting old app...',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is not deletable and onUpdate=ReplaceApp, will attempt to create new app and delete old app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n }\n\n Config.getLogger(sendParams?.suppressLog).debug('No detected changes in app, nothing to do.')\n\n return { ...existingApp, operationPerformed: 'nothing' }\n }\n\n private updateAppLookup(sender: ReadableAddress, appMetadata: AppMetadata) {\n const s = getAddress(sender).toString()\n const lookup = this._appLookups.get(s)\n if (!lookup) {\n this._appLookups.set(s, { creator: Address.fromString(s), apps: { [appMetadata.name]: appMetadata } })\n } else {\n lookup.apps[appMetadata.name] = appMetadata\n }\n }\n\n /**\n * Returns a lookup of name => app metadata (id, address, ...metadata) for all apps created by the given account that have\n * an [ARC-2](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md) `AppDeployNote` as the transaction\n * note of the app creation transaction.\n *\n * This function caches the result for the given creator account so that subsequent calls will not require an indexer lookup.\n *\n * If the `AppManager` instance wasn't created with an indexer client, this function will throw an error.\n *\n * @param creator The address of the account that is the creator of the apps you want to search for\n * @param ignoreCache Whether or not to ignore the cache and force a lookup, default: use the cache\n * @returns A name-based lookup of the app metadata\n * @example\n * ```ts\n * const result = await deployer.getCreatorAppsByName(creator)\n */\n async getCreatorAppsByName(creator: ReadableAddress, ignoreCache?: boolean): Promise<AppLookup> {\n const appLookup: Record<string, AppMetadata> = {}\n\n const creatorAddress = getAddress(creator)\n const creatorString = creatorAddress.toString()\n if (!ignoreCache && this._appLookups.has(creatorString)) {\n return this._appLookups.get(creatorString)!\n }\n\n if (!this._indexer) {\n throw new Error(`Didn't receive an indexer client when this AppManager was created, but received a call to getCreatorApps`)\n }\n\n // Extract all apps that account created\n const createdApps = (await lookupAccountCreatedApplicationByAddress(this._indexer, creatorString))\n .map((a) => {\n return { id: a.id, createdAtRound: a.createdAtRound!, deleted: a.deleted }\n })\n .sort((a, b) => Number(a.createdAtRound - b.createdAtRound))\n\n // For each app that account created (in parallel)...\n const apps = await Promise.all(\n createdApps.map(async (createdApp) => {\n // Find any app transactions for that app in the round it was created (should always just be a single creation transaction)\n const appTransactions = await searchTransactions(this._indexer!, {\n minRound: createdApp.createdAtRound,\n txType: TransactionType.AppCall,\n applicationId: createdApp.id,\n address: creatorAddress,\n addressRole: 'sender',\n notePrefix: Buffer.from(APP_DEPLOY_NOTE_DAPP).toString('base64'),\n })\n\n // Triple check the transaction is intact by filtering for the one we want:\n // * application-id is 0 when the app is first created\n // * also verify the sender to prevent a potential security risk\n const appCreationTransaction = appTransactions.transactions.filter(\n (t) => t.applicationTransaction?.applicationId === 0n && t.sender.toString() === creatorAddress.toString(),\n )[0]\n\n const latestAppUpdateTransaction = appTransactions.transactions\n .filter((t) => t.sender.toString() === creatorAddress.toString())\n .sort((a, b) =>\n a.confirmedRound === b.confirmedRound\n ? (b.intraRoundOffset! - a.intraRoundOffset!) / 10\n : Number(b.confirmedRound! - a.confirmedRound!),\n )[0]\n\n if (!appCreationTransaction?.note)\n // No note; ignoring\n return null\n\n return { createdApp, appCreationTransaction, latestAppUpdateTransaction }\n }),\n )\n\n apps\n .filter((a) => a !== null)\n .forEach((a) => {\n const { createdApp, appCreationTransaction, latestAppUpdateTransaction } = a!\n\n const parseNote = (note?: string) => {\n if (!note) {\n // No note; ignoring...\n return\n }\n\n if (!note.startsWith(`${APP_DEPLOY_NOTE_DAPP}:j{`))\n // Clearly not APP_DEPLOY JSON; ignoring...\n return\n\n return JSON.parse(note.substring(APP_DEPLOY_NOTE_DAPP.length + 2)) as AppDeployMetadata\n }\n\n try {\n const creationNote = parseNote(\n appCreationTransaction.note ? Buffer.from(appCreationTransaction.note).toString('utf-8') : undefined,\n )\n const updateNote = parseNote(\n latestAppUpdateTransaction.note ? Buffer.from(latestAppUpdateTransaction.note).toString('utf-8') : undefined,\n )\n if (creationNote?.name) {\n appLookup[creationNote.name] = {\n appId: createdApp.id,\n appAddress: getApplicationAddress(createdApp.id),\n createdMetadata: creationNote,\n createdRound: appCreationTransaction.confirmedRound ?? 0n,\n ...(updateNote ?? creationNote),\n updatedRound: latestAppUpdateTransaction?.confirmedRound ?? 0n,\n deleted: createdApp.deleted ?? false,\n }\n }\n } catch (e) {\n Config.logger.warn(\n `Received error trying to retrieve app with ${createdApp.id} for creator ${creatorAddress}; failing silently`,\n e,\n )\n return\n }\n })\n\n const lookup = {\n creator: creatorAddress,\n apps: appLookup,\n }\n\n this._appLookups.set(creatorString, lookup)\n\n return lookup\n }\n}\n"],"mappings":"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"}
package/app-deployer.mjs CHANGED
@@ -5,7 +5,6 @@ import { APP_DEPLOY_NOTE_DAPP, OnSchemaBreak, OnUpdate } from "./app.mjs";
5
5
  import { calculateExtraProgramPages } from "./util.mjs";
6
6
  import { TransactionComposer } from "./composer.mjs";
7
7
  import { lookupAccountCreatedApplicationByAddress, searchTransactions } from "./indexer-client/indexer-lookup.mjs";
8
-
9
8
  //#region src/app-deployer.ts
10
9
  /** Allows management of deployment and deployment metadata of applications. */
11
10
  var AppDeployer = class {
@@ -73,9 +72,9 @@ var AppDeployer = class {
73
72
  data: metadata,
74
73
  format: "j"
75
74
  });
76
- if (existingDeployments && existingDeployments.creator.toString() !== createParams.sender.toString()) throw new Error(`Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${createParams.sender}`);
75
+ if (existingDeployments && existingDeployments.creator.toString() !== createParams.sender.toString()) throw new Error(`Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${getAddress(createParams.sender)}`);
77
76
  if (!existingDeployments && !this._indexer) throw new Error(`Didn't receive an indexer client when this AppManager was created, but also didn't receive an existingDeployments cache - one of them must be provided`);
78
- Config.getLogger(sendParams?.suppressLog).info(`Idempotently deploying app "${metadata.name}" from creator ${createParams.sender} using ${createParams.approvalProgram.length} bytes of ${typeof createParams.approvalProgram === "string" ? "teal code" : "AVM bytecode"} and ${createParams.clearStateProgram.length} bytes of ${typeof createParams.approvalProgram === "string" ? "teal code" : "AVM bytecode"}`);
77
+ Config.getLogger(sendParams?.suppressLog).info(`Idempotently deploying app "${metadata.name}" from creator ${getAddress(createParams.sender)} using ${createParams.approvalProgram.length} bytes of ${typeof createParams.approvalProgram === "string" ? "teal code" : "AVM bytecode"} and ${createParams.clearStateProgram.length} bytes of ${typeof createParams.approvalProgram === "string" ? "teal code" : "AVM bytecode"}`);
79
78
  const compiledApproval = typeof createParams.approvalProgram === "string" ? await this._appManager.compileTealTemplate(createParams.approvalProgram, deployTimeParams, metadata) : void 0;
80
79
  const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : createParams.approvalProgram;
81
80
  const compiledClear = typeof createParams.clearStateProgram === "string" ? await this._appManager.compileTealTemplate(createParams.clearStateProgram, deployTimeParams) : void 0;
@@ -111,7 +110,7 @@ var AppDeployer = class {
111
110
  };
112
111
  };
113
112
  const updateApp = async (existingApp) => {
114
- Config.getLogger(sendParams?.suppressLog).info(`Updating existing ${metadata.name} app for ${createParams.sender} to version ${metadata.version}.`);
113
+ Config.getLogger(sendParams?.suppressLog).info(`Updating existing ${metadata.name} app for ${getAddress(createParams.sender)} to version ${metadata.version}.`);
115
114
  const result = await ("method" in updateParams ? this._transactionSender.appUpdateMethodCall({
116
115
  appId: existingApp.appId,
117
116
  approvalProgram,
@@ -144,8 +143,8 @@ var AppDeployer = class {
144
143
  };
145
144
  };
146
145
  const replaceApp = async (existingApp) => {
147
- Config.getLogger(sendParams?.suppressLog).info(`Deploying a new ${metadata.name} app for ${createParams.sender}; deploying app with version ${metadata.version}.`);
148
- Config.getLogger(sendParams?.suppressLog).warn(`Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${deleteParams.sender} account.`);
146
+ Config.getLogger(sendParams?.suppressLog).info(`Deploying a new ${metadata.name} app for ${getAddress(createParams.sender)}; deploying app with version ${metadata.version}.`);
147
+ Config.getLogger(sendParams?.suppressLog).warn(`Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${getAddress(deleteParams.sender)} account.`);
149
148
  const composer = this._transactionSender.newGroup();
150
149
  if ("method" in createParams) composer.addAppCreateMethodCall({
151
150
  ...createParams,
@@ -170,7 +169,7 @@ var AppDeployer = class {
170
169
  const confirmation = result.confirmations.at(createIndex - 1);
171
170
  const transaction = result.transactions.at(createIndex - 1);
172
171
  const deleteTransaction = result.transactions.at(-1);
173
- Config.getLogger(sendParams?.suppressLog).warn(`Sent transactions ${transaction.txId()} to create app with id ${confirmation.appId} and ${deleteTransaction.txId()} to delete app with id ${existingApp.appId} from ${createParams.sender} account.`);
172
+ Config.getLogger(sendParams?.suppressLog).warn(`Sent transactions ${transaction.txId()} to create app with id ${confirmation.appId} and ${deleteTransaction.txId()} to delete app with id ${existingApp.appId} from ${getAddress(createParams.sender)} account.`);
174
173
  const appMetadata = {
175
174
  appId: confirmation.appId,
176
175
  appAddress: getApplicationAddress(confirmation.appId),
@@ -199,10 +198,10 @@ var AppDeployer = class {
199
198
  };
200
199
  const existingApp = (existingDeployments ?? await this.getCreatorAppsByName(createParams.sender, ignoreCache)).apps[metadata.name];
201
200
  if (!existingApp || existingApp.deleted) {
202
- Config.getLogger(sendParams?.suppressLog).info(`App ${metadata.name} not found in apps created by ${createParams.sender}; deploying app with version ${metadata.version}.`);
201
+ Config.getLogger(sendParams?.suppressLog).info(`App ${metadata.name} not found in apps created by ${getAddress(createParams.sender)}; deploying app with version ${metadata.version}.`);
203
202
  return await createApp();
204
203
  }
205
- Config.getLogger(sendParams?.suppressLog).info(`Existing app ${metadata.name} found by creator ${createParams.sender}, with app id ${existingApp.appId} and version ${existingApp.version}.`);
204
+ Config.getLogger(sendParams?.suppressLog).info(`Existing app ${metadata.name} found by creator ${getAddress(createParams.sender)}, with app id ${existingApp.appId} and version ${existingApp.version}.`);
206
205
  const existingAppRecord = await this._appManager.getById(existingApp.appId);
207
206
  const existingApproval = Buffer.from(existingAppRecord.approvalProgram).toString("base64");
208
207
  const existingClear = Buffer.from(existingAppRecord.clearStateProgram).toString("base64");
@@ -237,7 +236,7 @@ var AppDeployer = class {
237
236
  return await replaceApp(existingApp);
238
237
  }
239
238
  if (isUpdate) {
240
- Config.getLogger(sendParams?.suppressLog).info(`Detected a TEAL update in app ${existingApp.appId} for creator ${createParams.sender}`);
239
+ Config.getLogger(sendParams?.suppressLog).info(`Detected a TEAL update in app ${existingApp.appId} for creator ${getAddress(createParams.sender)}`);
241
240
  if (onUpdate === void 0 || onUpdate === "fail" || onUpdate === OnUpdate.Fail) throw new Error("Update detected and onUpdate=Fail, stopping deployment. Try a different onUpdate value to not fail.");
242
241
  if (onUpdate === "append" || onUpdate === OnUpdate.AppendApp) {
243
242
  Config.getLogger(sendParams?.suppressLog).info("onUpdate=AppendApp, will attempt to create a new app");
@@ -319,7 +318,7 @@ var AppDeployer = class {
319
318
  const { createdApp, appCreationTransaction, latestAppUpdateTransaction } = a;
320
319
  const parseNote = (note) => {
321
320
  if (!note) return;
322
- if (!note.startsWith(`${APP_DEPLOY_NOTE_DAPP}:j{`)) return;
321
+ if (!note.startsWith(`ALGOKIT_DEPLOYER:j{`)) return;
323
322
  return JSON.parse(note.substring(APP_DEPLOY_NOTE_DAPP.length + 2));
324
323
  };
325
324
  try {
@@ -347,7 +346,7 @@ var AppDeployer = class {
347
346
  return lookup;
348
347
  }
349
348
  };
350
-
351
349
  //#endregion
352
350
  export { AppDeployer };
351
+
353
352
  //# sourceMappingURL=app-deployer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-deployer.mjs","names":[],"sources":["../src/app-deployer.ts"],"sourcesContent":["import { ABIReturn } from '@algorandfoundation/algokit-abi'\nimport { Address, Expand, getAddress, getApplicationAddress, ReadableAddress } from '@algorandfoundation/algokit-common'\nimport { IndexerClient } from '@algorandfoundation/algokit-indexer-client'\nimport { TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgorandClientTransactionSender } from './algorand-client-transaction-sender'\nimport {\n APP_DEPLOY_NOTE_DAPP,\n OnSchemaBreak,\n OnUpdate,\n type AppDeployMetadata,\n type SendAppCreateTransactionResult,\n type SendAppUpdateTransactionResult,\n type TealTemplateParams,\n} from './app'\nimport { AppManager } from './app-manager'\nimport {\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n TransactionComposer,\n} from './composer'\nimport { Config } from './config'\nimport { lookupAccountCreatedApplicationByAddress, searchTransactions } from './indexer-client'\nimport { ConfirmedTransactionResult, SendParams } from './transaction/types'\nimport { calculateExtraProgramPages } from './util'\n\n/** Params to specify an update transaction for an app deployment */\nexport type DeployAppUpdateParams = Expand<Omit<AppUpdateParams, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify an update method call for an app deployment */\nexport type DeployAppUpdateMethodCall = Expand<Omit<AppUpdateMethodCall, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify a transaction for an app deployment */\nexport type DeployAppDeleteParams = Expand<Omit<AppDeleteParams, 'appId'>>\n/** Params to specify a delete method call for an app deployment */\nexport type DeployAppDeleteMethodCall = Expand<Omit<AppDeleteMethodCall, 'appId'>>\n\n/** The parameters to idempotently deploy an app */\nexport type AppDeployParams = Expand<\n SendParams & {\n /** The deployment metadata */\n metadata: AppDeployMetadata\n /** Any deploy-time parameters to replace in the TEAL code before compiling it (used if teal code is passed in as a string) */\n deployTimeParams?: TealTemplateParams\n /** What action to perform if a schema break (storage schema or extra pages change) is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onSchemaBreak?: 'replace' | 'fail' | 'append' | OnSchemaBreak\n /** What action to perform if a TEAL code update is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `update` - Update the app with the new TEAL code\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onUpdate?: 'update' | 'replace' | 'fail' | 'append' | OnUpdate\n /** Create transaction parameters to use if a create needs to be issued as part of deployment */\n createParams: AppCreateParams | AppCreateMethodCall\n /** Update transaction parameters to use if an update needs to be issued as part of deployment */\n updateParams: DeployAppUpdateParams | DeployAppUpdateMethodCall\n /** Delete transaction parameters to use if a delete needs to be issued as part of deployment */\n deleteParams: DeployAppDeleteParams | DeployAppDeleteMethodCall\n /** Optional cached value of the existing apps for the given creator; use this to avoid an indexer lookup */\n existingDeployments?: AppLookup\n /** Whether or not to ignore the app metadata cache and force a lookup, default: use the cache **/\n ignoreCache?: boolean\n }\n>\n\n/** The metadata that can be collected about a deployed app */\nexport interface AppMetadata extends AppDeployMetadata {\n /** The id of the app */\n appId: bigint\n /** The Algorand address of the account associated with the app */\n appAddress: Address\n /** The round the app was created */\n createdRound: bigint\n /** The last round that the app was updated */\n updatedRound: bigint\n /** The metadata when the app was created */\n createdMetadata: AppDeployMetadata\n /** Whether or not the app is deleted */\n deleted: boolean\n}\n\n/** A lookup of name -> Algorand app for a creator */\nexport interface AppLookup {\n /** The address of the creator associated with this lookup */\n creator: Readonly<Address>\n /** A hash map of app name to app metadata */\n apps: {\n [name: string]: AppMetadata\n }\n}\n\nexport type AppDeployResult =\n | Expand<{ operationPerformed: 'create' } & Omit<AppMetadata, 'appId' | 'appAddress'> & SendAppCreateTransactionResult>\n | Expand<{ operationPerformed: 'update' } & AppMetadata & SendAppUpdateTransactionResult>\n | Expand<\n { operationPerformed: 'replace' } & Omit<AppMetadata, 'appId' | 'appAddress'> &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n >\n | Expand<{ operationPerformed: 'nothing' } & AppMetadata>\n\n/** Allows management of deployment and deployment metadata of applications. */\nexport class AppDeployer {\n private _appManager: AppManager\n private _transactionSender: AlgorandClientTransactionSender\n private _indexer?: IndexerClient\n private _appLookups = new Map<string, AppLookup>()\n\n /**\n * Creates an `AppManager`\n * @param appManager An `AppManager` instance\n * @param transactionSender An `AlgorandClientTransactionSender` instance\n * @param indexer An optional indexer instance; supply if you want to indexer to look up app metadata\n * @example\n * ```ts\n * const deployer = new AppDeployer(appManager, transactionSender, indexer)\n * ```\n */\n constructor(appManager: AppManager, transactionSender: AlgorandClientTransactionSender, indexer?: IndexerClient) {\n this._appManager = appManager\n this._transactionSender = transactionSender\n this._indexer = indexer\n }\n\n /**\n * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).\n *\n * To understand the architecture decisions behind this functionality please see https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md\n *\n * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.\n *\n * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.\n *\n * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.\n * @param deployment The arguments to control the app deployment\n * @returns The result of the deployment\n * @example\n * ```ts\n * const deployResult = await deployer.deploy({\n * createParams: {\n * sender: 'SENDER_ADDRESS',\n * approvalProgram: 'APPROVAL PROGRAM',\n * clearStateProgram: 'CLEAR PROGRAM',\n * schema: {\n * globalByteSlices: 0,\n * globalInts: 0,\n * localByteSlices: 0,\n * localInts: 0\n * }\n * },\n * updateParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * deleteParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * metadata: { name: 'my_app', version: '2.0', updatable: false, deletable: false },\n * onSchemaBreak: 'append',\n * onUpdate: 'append'\n * })\n * ```\n */\n async deploy(deployment: AppDeployParams): Promise<AppDeployResult> {\n const {\n metadata,\n deployTimeParams,\n onSchemaBreak,\n onUpdate,\n createParams,\n updateParams,\n deleteParams,\n existingDeployments,\n ignoreCache,\n ...sendParams\n } = deployment\n\n // Set creation note\n\n createParams.note = updateParams.note = TransactionComposer.arc2Note({\n dAppName: APP_DEPLOY_NOTE_DAPP,\n data: metadata,\n format: 'j',\n })\n\n // Check for required fields\n\n if (existingDeployments && existingDeployments.creator.toString() !== createParams.sender.toString()) {\n throw new Error(\n `Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${createParams.sender}`,\n )\n }\n if (!existingDeployments && !this._indexer) {\n throw new Error(\n `Didn't receive an indexer client when this AppManager was created, but also didn't receive an existingDeployments cache - one of them must be provided`,\n )\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Idempotently deploying app \"${metadata.name}\" from creator ${createParams.sender} using ${createParams.approvalProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'} and ${createParams.clearStateProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'}`,\n )\n\n // Compile code if required\n\n const compiledApproval =\n typeof createParams.approvalProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.approvalProgram, deployTimeParams, metadata)\n : undefined\n const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : createParams.approvalProgram\n\n const compiledClear =\n typeof createParams.clearStateProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.clearStateProgram, deployTimeParams)\n : undefined\n const clearStateProgram = compiledClear ? compiledClear.compiledBase64ToBytes : createParams.clearStateProgram\n\n // Define routines for create, update, and replace\n\n const createApp = async () => {\n const result = await ('method' in createParams\n ? this._transactionSender.appCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram, ...sendParams })\n : this._transactionSender.appCreate({ ...createParams, approvalProgram, clearStateProgram, ...sendParams }))\n const appMetadata: AppMetadata = {\n appId: result.appId,\n appAddress: result.appAddress,\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(result.confirmation.confirmedRound!),\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'create',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppCreateTransactionResult & AppMetadata & { operationPerformed: 'create' }\n }\n const updateApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Updating existing ${metadata.name} app for ${createParams.sender} to version ${metadata.version}.`,\n )\n const result = await ('method' in updateParams\n ? this._transactionSender.appUpdateMethodCall({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n })\n : this._transactionSender.appUpdate({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n }))\n const appMetadata: AppMetadata = {\n appId: existingApp.appId,\n appAddress: existingApp.appAddress,\n createdMetadata: existingApp.createdMetadata,\n createdRound: existingApp.createdRound,\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n ...metadata,\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'update',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppUpdateTransactionResult & AppMetadata & { operationPerformed: 'update' }\n }\n const replaceApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Deploying a new ${metadata.name} app for ${createParams.sender}; deploying app with version ${metadata.version}.`,\n )\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${deleteParams.sender} account.`,\n )\n\n const composer = this._transactionSender.newGroup()\n if ('method' in createParams) {\n composer.addAppCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram })\n } else {\n composer.addAppCreate({ ...createParams, approvalProgram, clearStateProgram })\n }\n const createIndex = await composer.count()\n if ('method' in deleteParams) {\n composer.addAppDeleteMethodCall({ appId: existingApp.appId, ...deleteParams })\n } else {\n composer.addAppDelete({ appId: existingApp.appId, ...deleteParams })\n }\n const result = await composer.send({ ...sendParams })\n const confirmation = result.confirmations.at(createIndex - 1)!\n const transaction = result.transactions.at(createIndex - 1)!\n const deleteTransaction = result.transactions.at(-1)!\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Sent transactions ${transaction.txId()} to create app with id ${confirmation.appId} and ${deleteTransaction.txId()} to delete app with id ${\n existingApp.appId\n } from ${createParams.sender} account.`,\n )\n\n const appMetadata: AppMetadata = {\n appId: confirmation.appId!,\n appAddress: getApplicationAddress(confirmation.appId!),\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(confirmation.confirmedRound!),\n updatedRound: BigInt(confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n\n return {\n operationPerformed: 'replace',\n ...result,\n compiledApproval,\n compiledClear,\n transaction,\n confirmation,\n return: 'method' in createParams ? result.returns?.[0] : undefined,\n deleteReturn: 'method' in deleteParams ? result.returns?.at(-1) : undefined,\n ...appMetadata,\n deleteResult: { transaction: deleteTransaction, confirmation: result.confirmations.at(-1)! },\n } satisfies { operationPerformed: 'replace' } & AppMetadata &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n }\n\n // Lookup existing app metadata\n\n const apps = existingDeployments ?? (await this.getCreatorAppsByName(createParams.sender, ignoreCache))\n\n const existingApp = apps.apps[metadata.name]\n if (!existingApp || existingApp.deleted) {\n Config.getLogger(sendParams?.suppressLog).info(\n `App ${metadata.name} not found in apps created by ${createParams.sender}; deploying app with version ${metadata.version}.`,\n )\n\n return await createApp()\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Existing app ${metadata.name} found by creator ${createParams.sender}, with app id ${existingApp.appId} and version ${existingApp.version}.`,\n )\n\n const existingAppRecord = await this._appManager.getById(existingApp.appId)\n const existingApproval = Buffer.from(existingAppRecord.approvalProgram).toString('base64')\n const existingClear = Buffer.from(existingAppRecord.clearStateProgram).toString('base64')\n const extraPages = existingAppRecord.extraProgramPages ?? 0\n\n const newApprovalBytes = Buffer.from(approvalProgram)\n const newClearBytes = Buffer.from(clearStateProgram)\n const newApproval = newApprovalBytes.toString('base64')\n const newClear = newClearBytes.toString('base64')\n const newExtraPages = calculateExtraProgramPages(newApprovalBytes, newClearBytes)\n\n // Check for changes\n\n const isUpdate = newApproval !== existingApproval || newClear !== existingClear\n const isSchemaBreak =\n existingAppRecord.localInts < (createParams.schema?.localInts ?? 0) ||\n existingAppRecord.globalInts < (createParams.schema?.globalInts ?? 0) ||\n existingAppRecord.localByteSlices < (createParams.schema?.localByteSlices ?? 0) ||\n existingAppRecord.globalByteSlices < (createParams.schema?.globalByteSlices ?? 0) ||\n extraPages < newExtraPages\n\n if (isSchemaBreak) {\n Config.getLogger(sendParams?.suppressLog).warn(`Detected a breaking app schema change in app ${existingApp.appId}:`, {\n from: {\n globalInts: existingAppRecord.globalInts,\n globalByteSlices: existingAppRecord.globalByteSlices,\n localInts: existingAppRecord.localInts,\n localByteSlices: existingAppRecord.localByteSlices,\n extraProgramPages: extraPages,\n },\n to: { ...createParams.schema, extraProgramPages: newExtraPages },\n })\n\n if (onSchemaBreak === undefined || onSchemaBreak === 'fail' || onSchemaBreak === OnSchemaBreak.Fail) {\n throw new Error(\n 'Schema break detected and onSchemaBreak=OnSchemaBreak.Fail, stopping deployment. ' +\n 'If you want to try deleting and recreating the app then ' +\n 're-run with onSchemaBreak=OnSchemaBreak.ReplaceApp',\n )\n }\n\n if (onSchemaBreak === 'append' || onSchemaBreak === OnSchemaBreak.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onSchemaBreak=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is deletable and onSchemaBreak=ReplaceApp, will attempt to create new app and delete old app',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is not deletable but onSchemaBreak=ReplaceApp, will attempt to delete app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n\n if (isUpdate) {\n Config.getLogger(sendParams?.suppressLog).info(\n `Detected a TEAL update in app ${existingApp.appId} for creator ${createParams.sender}`,\n )\n\n if (onUpdate === undefined || onUpdate === 'fail' || onUpdate === OnUpdate.Fail) {\n throw new Error('Update detected and onUpdate=Fail, stopping deployment. Try a different onUpdate value to not fail.')\n }\n\n if (onUpdate === 'append' || onUpdate === OnUpdate.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onUpdate=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (onUpdate === 'update' || onUpdate === OnUpdate.UpdateApp) {\n if (existingApp.updatable) {\n Config.getLogger(sendParams?.suppressLog).info(`App is updatable and onUpdate=UpdateApp, updating app...`)\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n `App is not updatable but onUpdate=UpdateApp, will attempt to update app, update will most likely fail`,\n )\n }\n\n return await updateApp(existingApp)\n }\n\n if (onUpdate === 'replace' || onUpdate === OnUpdate.ReplaceApp) {\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is deletable and onUpdate=ReplaceApp, creating new app and deleting old app...',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is not deletable and onUpdate=ReplaceApp, will attempt to create new app and delete old app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n }\n\n Config.getLogger(sendParams?.suppressLog).debug('No detected changes in app, nothing to do.')\n\n return { ...existingApp, operationPerformed: 'nothing' }\n }\n\n private updateAppLookup(sender: ReadableAddress, appMetadata: AppMetadata) {\n const s = getAddress(sender).toString()\n const lookup = this._appLookups.get(s)\n if (!lookup) {\n this._appLookups.set(s, { creator: Address.fromString(s), apps: { [appMetadata.name]: appMetadata } })\n } else {\n lookup.apps[appMetadata.name] = appMetadata\n }\n }\n\n /**\n * Returns a lookup of name => app metadata (id, address, ...metadata) for all apps created by the given account that have\n * an [ARC-2](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md) `AppDeployNote` as the transaction\n * note of the app creation transaction.\n *\n * This function caches the result for the given creator account so that subsequent calls will not require an indexer lookup.\n *\n * If the `AppManager` instance wasn't created with an indexer client, this function will throw an error.\n *\n * @param creator The address of the account that is the creator of the apps you want to search for\n * @param ignoreCache Whether or not to ignore the cache and force a lookup, default: use the cache\n * @returns A name-based lookup of the app metadata\n * @example\n * ```ts\n * const result = await deployer.getCreatorAppsByName(creator)\n */\n async getCreatorAppsByName(creator: ReadableAddress, ignoreCache?: boolean): Promise<AppLookup> {\n const appLookup: Record<string, AppMetadata> = {}\n\n const creatorAddress = getAddress(creator)\n const creatorString = creatorAddress.toString()\n if (!ignoreCache && this._appLookups.has(creatorString)) {\n return this._appLookups.get(creatorString)!\n }\n\n if (!this._indexer) {\n throw new Error(`Didn't receive an indexer client when this AppManager was created, but received a call to getCreatorApps`)\n }\n\n // Extract all apps that account created\n const createdApps = (await lookupAccountCreatedApplicationByAddress(this._indexer, creatorString))\n .map((a) => {\n return { id: a.id, createdAtRound: a.createdAtRound!, deleted: a.deleted }\n })\n .sort((a, b) => Number(a.createdAtRound - b.createdAtRound))\n\n // For each app that account created (in parallel)...\n const apps = await Promise.all(\n createdApps.map(async (createdApp) => {\n // Find any app transactions for that app in the round it was created (should always just be a single creation transaction)\n const appTransactions = await searchTransactions(this._indexer!, {\n minRound: createdApp.createdAtRound,\n txType: TransactionType.AppCall,\n applicationId: createdApp.id,\n address: creatorAddress,\n addressRole: 'sender',\n notePrefix: Buffer.from(APP_DEPLOY_NOTE_DAPP).toString('base64'),\n })\n\n // Triple check the transaction is intact by filtering for the one we want:\n // * application-id is 0 when the app is first created\n // * also verify the sender to prevent a potential security risk\n const appCreationTransaction = appTransactions.transactions.filter(\n (t) => t.applicationTransaction?.applicationId === 0n && t.sender.toString() === creatorAddress.toString(),\n )[0]\n\n const latestAppUpdateTransaction = appTransactions.transactions\n .filter((t) => t.sender.toString() === creatorAddress.toString())\n .sort((a, b) =>\n a.confirmedRound === b.confirmedRound\n ? (b.intraRoundOffset! - a.intraRoundOffset!) / 10\n : Number(b.confirmedRound! - a.confirmedRound!),\n )[0]\n\n if (!appCreationTransaction?.note)\n // No note; ignoring\n return null\n\n return { createdApp, appCreationTransaction, latestAppUpdateTransaction }\n }),\n )\n\n apps\n .filter((a) => a !== null)\n .forEach((a) => {\n const { createdApp, appCreationTransaction, latestAppUpdateTransaction } = a!\n\n const parseNote = (note?: string) => {\n if (!note) {\n // No note; ignoring...\n return\n }\n\n if (!note.startsWith(`${APP_DEPLOY_NOTE_DAPP}:j{`))\n // Clearly not APP_DEPLOY JSON; ignoring...\n return\n\n return JSON.parse(note.substring(APP_DEPLOY_NOTE_DAPP.length + 2)) as AppDeployMetadata\n }\n\n try {\n const creationNote = parseNote(\n appCreationTransaction.note ? Buffer.from(appCreationTransaction.note).toString('utf-8') : undefined,\n )\n const updateNote = parseNote(\n latestAppUpdateTransaction.note ? Buffer.from(latestAppUpdateTransaction.note).toString('utf-8') : undefined,\n )\n if (creationNote?.name) {\n appLookup[creationNote.name] = {\n appId: createdApp.id,\n appAddress: getApplicationAddress(createdApp.id),\n createdMetadata: creationNote,\n createdRound: appCreationTransaction.confirmedRound ?? 0n,\n ...(updateNote ?? creationNote),\n updatedRound: latestAppUpdateTransaction?.confirmedRound ?? 0n,\n deleted: createdApp.deleted ?? false,\n }\n }\n } catch (e) {\n Config.logger.warn(\n `Received error trying to retrieve app with ${createdApp.id} for creator ${creatorAddress}; failing silently`,\n e,\n )\n return\n }\n })\n\n const lookup = {\n creator: creatorAddress,\n apps: appLookup,\n }\n\n this._appLookups.set(creatorString, lookup)\n\n return lookup\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"app-deployer.mjs","names":[],"sources":["../src/app-deployer.ts"],"sourcesContent":["import { ABIReturn } from '@algorandfoundation/algokit-abi'\nimport { Address, Expand, getAddress, getApplicationAddress, ReadableAddress } from '@algorandfoundation/algokit-common'\nimport { IndexerClient } from '@algorandfoundation/algokit-indexer-client'\nimport { TransactionType } from '@algorandfoundation/algokit-transact'\nimport { AlgorandClientTransactionSender } from './algorand-client-transaction-sender'\nimport {\n APP_DEPLOY_NOTE_DAPP,\n OnSchemaBreak,\n OnUpdate,\n type AppDeployMetadata,\n type SendAppCreateTransactionResult,\n type SendAppUpdateTransactionResult,\n type TealTemplateParams,\n} from './app'\nimport { AppManager } from './app-manager'\nimport {\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n TransactionComposer,\n} from './composer'\nimport { Config } from './config'\nimport { lookupAccountCreatedApplicationByAddress, searchTransactions } from './indexer-client'\nimport { ConfirmedTransactionResult, SendParams } from './transaction/types'\nimport { calculateExtraProgramPages } from './util'\n\n/** Params to specify an update transaction for an app deployment */\nexport type DeployAppUpdateParams = Expand<Omit<AppUpdateParams, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify an update method call for an app deployment */\nexport type DeployAppUpdateMethodCall = Expand<Omit<AppUpdateMethodCall, 'appId' | 'approvalProgram' | 'clearStateProgram'>>\n/** Params to specify a transaction for an app deployment */\nexport type DeployAppDeleteParams = Expand<Omit<AppDeleteParams, 'appId'>>\n/** Params to specify a delete method call for an app deployment */\nexport type DeployAppDeleteMethodCall = Expand<Omit<AppDeleteMethodCall, 'appId'>>\n\n/** The parameters to idempotently deploy an app */\nexport type AppDeployParams = Expand<\n SendParams & {\n /** The deployment metadata */\n metadata: AppDeployMetadata\n /** Any deploy-time parameters to replace in the TEAL code before compiling it (used if teal code is passed in as a string) */\n deployTimeParams?: TealTemplateParams\n /** What action to perform if a schema break (storage schema or extra pages change) is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onSchemaBreak?: 'replace' | 'fail' | 'append' | OnSchemaBreak\n /** What action to perform if a TEAL code update is detected:\n *\n * * `fail` - Fail the deployment (throw an error, **default**)\n * * `update` - Update the app with the new TEAL code\n * * `replace` - Delete the old app and create a new one\n * * `append` - Deploy a new app and leave the old one as is\n */\n onUpdate?: 'update' | 'replace' | 'fail' | 'append' | OnUpdate\n /** Create transaction parameters to use if a create needs to be issued as part of deployment */\n createParams: AppCreateParams | AppCreateMethodCall\n /** Update transaction parameters to use if an update needs to be issued as part of deployment */\n updateParams: DeployAppUpdateParams | DeployAppUpdateMethodCall\n /** Delete transaction parameters to use if a delete needs to be issued as part of deployment */\n deleteParams: DeployAppDeleteParams | DeployAppDeleteMethodCall\n /** Optional cached value of the existing apps for the given creator; use this to avoid an indexer lookup */\n existingDeployments?: AppLookup\n /** Whether or not to ignore the app metadata cache and force a lookup, default: use the cache **/\n ignoreCache?: boolean\n }\n>\n\n/** The metadata that can be collected about a deployed app */\nexport interface AppMetadata extends AppDeployMetadata {\n /** The id of the app */\n appId: bigint\n /** The Algorand address of the account associated with the app */\n appAddress: Address\n /** The round the app was created */\n createdRound: bigint\n /** The last round that the app was updated */\n updatedRound: bigint\n /** The metadata when the app was created */\n createdMetadata: AppDeployMetadata\n /** Whether or not the app is deleted */\n deleted: boolean\n}\n\n/** A lookup of name -> Algorand app for a creator */\nexport interface AppLookup {\n /** The address of the creator associated with this lookup */\n creator: Readonly<Address>\n /** A hash map of app name to app metadata */\n apps: {\n [name: string]: AppMetadata\n }\n}\n\nexport type AppDeployResult =\n | Expand<{ operationPerformed: 'create' } & Omit<AppMetadata, 'appId' | 'appAddress'> & SendAppCreateTransactionResult>\n | Expand<{ operationPerformed: 'update' } & AppMetadata & SendAppUpdateTransactionResult>\n | Expand<\n { operationPerformed: 'replace' } & Omit<AppMetadata, 'appId' | 'appAddress'> &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n >\n | Expand<{ operationPerformed: 'nothing' } & AppMetadata>\n\n/** Allows management of deployment and deployment metadata of applications. */\nexport class AppDeployer {\n private _appManager: AppManager\n private _transactionSender: AlgorandClientTransactionSender\n private _indexer?: IndexerClient\n private _appLookups = new Map<string, AppLookup>()\n\n /**\n * Creates an `AppManager`\n * @param appManager An `AppManager` instance\n * @param transactionSender An `AlgorandClientTransactionSender` instance\n * @param indexer An optional indexer instance; supply if you want to indexer to look up app metadata\n * @example\n * ```ts\n * const deployer = new AppDeployer(appManager, transactionSender, indexer)\n * ```\n */\n constructor(appManager: AppManager, transactionSender: AlgorandClientTransactionSender, indexer?: IndexerClient) {\n this._appManager = appManager\n this._transactionSender = transactionSender\n this._indexer = indexer\n }\n\n /**\n * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).\n *\n * To understand the architecture decisions behind this functionality please see https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md\n *\n * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.\n *\n * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.\n *\n * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.\n * @param deployment The arguments to control the app deployment\n * @returns The result of the deployment\n * @example\n * ```ts\n * const deployResult = await deployer.deploy({\n * createParams: {\n * sender: 'SENDER_ADDRESS',\n * approvalProgram: 'APPROVAL PROGRAM',\n * clearStateProgram: 'CLEAR PROGRAM',\n * schema: {\n * globalByteSlices: 0,\n * globalInts: 0,\n * localByteSlices: 0,\n * localInts: 0\n * }\n * },\n * updateParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * deleteParams: {\n * sender: 'SENDER_ADDRESS'\n * },\n * metadata: { name: 'my_app', version: '2.0', updatable: false, deletable: false },\n * onSchemaBreak: 'append',\n * onUpdate: 'append'\n * })\n * ```\n */\n async deploy(deployment: AppDeployParams): Promise<AppDeployResult> {\n const {\n metadata,\n deployTimeParams,\n onSchemaBreak,\n onUpdate,\n createParams,\n updateParams,\n deleteParams,\n existingDeployments,\n ignoreCache,\n ...sendParams\n } = deployment\n\n // Set creation note\n\n createParams.note = updateParams.note = TransactionComposer.arc2Note({\n dAppName: APP_DEPLOY_NOTE_DAPP,\n data: metadata,\n format: 'j',\n })\n\n // Check for required fields\n\n if (existingDeployments && existingDeployments.creator.toString() !== createParams.sender.toString()) {\n throw new Error(\n `Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${getAddress(createParams.sender)}`,\n )\n }\n if (!existingDeployments && !this._indexer) {\n throw new Error(\n `Didn't receive an indexer client when this AppManager was created, but also didn't receive an existingDeployments cache - one of them must be provided`,\n )\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Idempotently deploying app \"${metadata.name}\" from creator ${getAddress(createParams.sender)} using ${createParams.approvalProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'} and ${createParams.clearStateProgram.length} bytes of ${typeof createParams.approvalProgram === 'string' ? 'teal code' : 'AVM bytecode'}`,\n )\n\n // Compile code if required\n\n const compiledApproval =\n typeof createParams.approvalProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.approvalProgram, deployTimeParams, metadata)\n : undefined\n const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : createParams.approvalProgram\n\n const compiledClear =\n typeof createParams.clearStateProgram === 'string'\n ? await this._appManager.compileTealTemplate(createParams.clearStateProgram, deployTimeParams)\n : undefined\n const clearStateProgram = compiledClear ? compiledClear.compiledBase64ToBytes : createParams.clearStateProgram\n\n // Define routines for create, update, and replace\n\n const createApp = async () => {\n const result = await ('method' in createParams\n ? this._transactionSender.appCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram, ...sendParams })\n : this._transactionSender.appCreate({ ...createParams, approvalProgram, clearStateProgram, ...sendParams }))\n const appMetadata: AppMetadata = {\n appId: result.appId,\n appAddress: result.appAddress,\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(result.confirmation.confirmedRound!),\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'create',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppCreateTransactionResult & AppMetadata & { operationPerformed: 'create' }\n }\n const updateApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Updating existing ${metadata.name} app for ${getAddress(createParams.sender)} to version ${metadata.version}.`,\n )\n const result = await ('method' in updateParams\n ? this._transactionSender.appUpdateMethodCall({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n })\n : this._transactionSender.appUpdate({\n appId: existingApp.appId,\n approvalProgram,\n clearStateProgram,\n ...updateParams,\n ...sendParams,\n }))\n const appMetadata: AppMetadata = {\n appId: existingApp.appId,\n appAddress: existingApp.appAddress,\n createdMetadata: existingApp.createdMetadata,\n createdRound: existingApp.createdRound,\n updatedRound: BigInt(result.confirmation.confirmedRound!),\n ...metadata,\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n return {\n operationPerformed: 'update',\n compiledApproval,\n compiledClear,\n ...result,\n ...appMetadata,\n } satisfies SendAppUpdateTransactionResult & AppMetadata & { operationPerformed: 'update' }\n }\n const replaceApp = async (existingApp: AppMetadata) => {\n Config.getLogger(sendParams?.suppressLog).info(\n `Deploying a new ${metadata.name} app for ${getAddress(createParams.sender)}; deploying app with version ${metadata.version}.`,\n )\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${getAddress(deleteParams.sender)} account.`,\n )\n\n const composer = this._transactionSender.newGroup()\n if ('method' in createParams) {\n composer.addAppCreateMethodCall({ ...createParams, approvalProgram, clearStateProgram })\n } else {\n composer.addAppCreate({ ...createParams, approvalProgram, clearStateProgram })\n }\n const createIndex = await composer.count()\n if ('method' in deleteParams) {\n composer.addAppDeleteMethodCall({ appId: existingApp.appId, ...deleteParams })\n } else {\n composer.addAppDelete({ appId: existingApp.appId, ...deleteParams })\n }\n const result = await composer.send({ ...sendParams })\n const confirmation = result.confirmations.at(createIndex - 1)!\n const transaction = result.transactions.at(createIndex - 1)!\n const deleteTransaction = result.transactions.at(-1)!\n\n Config.getLogger(sendParams?.suppressLog).warn(\n `Sent transactions ${transaction.txId()} to create app with id ${confirmation.appId} and ${deleteTransaction.txId()} to delete app with id ${\n existingApp.appId\n } from ${getAddress(createParams.sender)} account.`,\n )\n\n const appMetadata: AppMetadata = {\n appId: confirmation.appId!,\n appAddress: getApplicationAddress(confirmation.appId!),\n ...metadata,\n createdMetadata: metadata,\n createdRound: BigInt(confirmation.confirmedRound!),\n updatedRound: BigInt(confirmation.confirmedRound!),\n deleted: false,\n }\n this.updateAppLookup(createParams.sender, appMetadata)\n\n return {\n operationPerformed: 'replace',\n ...result,\n compiledApproval,\n compiledClear,\n transaction,\n confirmation,\n return: 'method' in createParams ? result.returns?.[0] : undefined,\n deleteReturn: 'method' in deleteParams ? result.returns?.at(-1) : undefined,\n ...appMetadata,\n deleteResult: { transaction: deleteTransaction, confirmation: result.confirmations.at(-1)! },\n } satisfies { operationPerformed: 'replace' } & AppMetadata &\n SendAppCreateTransactionResult & {\n deleteReturn?: ABIReturn\n deleteResult: ConfirmedTransactionResult\n }\n }\n\n // Lookup existing app metadata\n\n const apps = existingDeployments ?? (await this.getCreatorAppsByName(createParams.sender, ignoreCache))\n\n const existingApp = apps.apps[metadata.name]\n if (!existingApp || existingApp.deleted) {\n Config.getLogger(sendParams?.suppressLog).info(\n `App ${metadata.name} not found in apps created by ${getAddress(createParams.sender)}; deploying app with version ${metadata.version}.`,\n )\n\n return await createApp()\n }\n\n Config.getLogger(sendParams?.suppressLog).info(\n `Existing app ${metadata.name} found by creator ${getAddress(createParams.sender)}, with app id ${existingApp.appId} and version ${existingApp.version}.`,\n )\n\n const existingAppRecord = await this._appManager.getById(existingApp.appId)\n const existingApproval = Buffer.from(existingAppRecord.approvalProgram).toString('base64')\n const existingClear = Buffer.from(existingAppRecord.clearStateProgram).toString('base64')\n const extraPages = existingAppRecord.extraProgramPages ?? 0\n\n const newApprovalBytes = Buffer.from(approvalProgram)\n const newClearBytes = Buffer.from(clearStateProgram)\n const newApproval = newApprovalBytes.toString('base64')\n const newClear = newClearBytes.toString('base64')\n const newExtraPages = calculateExtraProgramPages(newApprovalBytes, newClearBytes)\n\n // Check for changes\n\n const isUpdate = newApproval !== existingApproval || newClear !== existingClear\n const isSchemaBreak =\n existingAppRecord.localInts < (createParams.schema?.localInts ?? 0) ||\n existingAppRecord.globalInts < (createParams.schema?.globalInts ?? 0) ||\n existingAppRecord.localByteSlices < (createParams.schema?.localByteSlices ?? 0) ||\n existingAppRecord.globalByteSlices < (createParams.schema?.globalByteSlices ?? 0) ||\n extraPages < newExtraPages\n\n if (isSchemaBreak) {\n Config.getLogger(sendParams?.suppressLog).warn(`Detected a breaking app schema change in app ${existingApp.appId}:`, {\n from: {\n globalInts: existingAppRecord.globalInts,\n globalByteSlices: existingAppRecord.globalByteSlices,\n localInts: existingAppRecord.localInts,\n localByteSlices: existingAppRecord.localByteSlices,\n extraProgramPages: extraPages,\n },\n to: { ...createParams.schema, extraProgramPages: newExtraPages },\n })\n\n if (onSchemaBreak === undefined || onSchemaBreak === 'fail' || onSchemaBreak === OnSchemaBreak.Fail) {\n throw new Error(\n 'Schema break detected and onSchemaBreak=OnSchemaBreak.Fail, stopping deployment. ' +\n 'If you want to try deleting and recreating the app then ' +\n 're-run with onSchemaBreak=OnSchemaBreak.ReplaceApp',\n )\n }\n\n if (onSchemaBreak === 'append' || onSchemaBreak === OnSchemaBreak.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onSchemaBreak=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is deletable and onSchemaBreak=ReplaceApp, will attempt to create new app and delete old app',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).info(\n 'App is not deletable but onSchemaBreak=ReplaceApp, will attempt to delete app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n\n if (isUpdate) {\n Config.getLogger(sendParams?.suppressLog).info(\n `Detected a TEAL update in app ${existingApp.appId} for creator ${getAddress(createParams.sender)}`,\n )\n\n if (onUpdate === undefined || onUpdate === 'fail' || onUpdate === OnUpdate.Fail) {\n throw new Error('Update detected and onUpdate=Fail, stopping deployment. Try a different onUpdate value to not fail.')\n }\n\n if (onUpdate === 'append' || onUpdate === OnUpdate.AppendApp) {\n Config.getLogger(sendParams?.suppressLog).info('onUpdate=AppendApp, will attempt to create a new app')\n return await createApp()\n }\n\n if (onUpdate === 'update' || onUpdate === OnUpdate.UpdateApp) {\n if (existingApp.updatable) {\n Config.getLogger(sendParams?.suppressLog).info(`App is updatable and onUpdate=UpdateApp, updating app...`)\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n `App is not updatable but onUpdate=UpdateApp, will attempt to update app, update will most likely fail`,\n )\n }\n\n return await updateApp(existingApp)\n }\n\n if (onUpdate === 'replace' || onUpdate === OnUpdate.ReplaceApp) {\n if (existingApp.deletable) {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is deletable and onUpdate=ReplaceApp, creating new app and deleting old app...',\n )\n } else {\n Config.getLogger(sendParams?.suppressLog).warn(\n 'App is not deletable and onUpdate=ReplaceApp, will attempt to create new app and delete old app, delete will most likely fail',\n )\n }\n\n return await replaceApp(existingApp)\n }\n }\n\n Config.getLogger(sendParams?.suppressLog).debug('No detected changes in app, nothing to do.')\n\n return { ...existingApp, operationPerformed: 'nothing' }\n }\n\n private updateAppLookup(sender: ReadableAddress, appMetadata: AppMetadata) {\n const s = getAddress(sender).toString()\n const lookup = this._appLookups.get(s)\n if (!lookup) {\n this._appLookups.set(s, { creator: Address.fromString(s), apps: { [appMetadata.name]: appMetadata } })\n } else {\n lookup.apps[appMetadata.name] = appMetadata\n }\n }\n\n /**\n * Returns a lookup of name => app metadata (id, address, ...metadata) for all apps created by the given account that have\n * an [ARC-2](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md) `AppDeployNote` as the transaction\n * note of the app creation transaction.\n *\n * This function caches the result for the given creator account so that subsequent calls will not require an indexer lookup.\n *\n * If the `AppManager` instance wasn't created with an indexer client, this function will throw an error.\n *\n * @param creator The address of the account that is the creator of the apps you want to search for\n * @param ignoreCache Whether or not to ignore the cache and force a lookup, default: use the cache\n * @returns A name-based lookup of the app metadata\n * @example\n * ```ts\n * const result = await deployer.getCreatorAppsByName(creator)\n */\n async getCreatorAppsByName(creator: ReadableAddress, ignoreCache?: boolean): Promise<AppLookup> {\n const appLookup: Record<string, AppMetadata> = {}\n\n const creatorAddress = getAddress(creator)\n const creatorString = creatorAddress.toString()\n if (!ignoreCache && this._appLookups.has(creatorString)) {\n return this._appLookups.get(creatorString)!\n }\n\n if (!this._indexer) {\n throw new Error(`Didn't receive an indexer client when this AppManager was created, but received a call to getCreatorApps`)\n }\n\n // Extract all apps that account created\n const createdApps = (await lookupAccountCreatedApplicationByAddress(this._indexer, creatorString))\n .map((a) => {\n return { id: a.id, createdAtRound: a.createdAtRound!, deleted: a.deleted }\n })\n .sort((a, b) => Number(a.createdAtRound - b.createdAtRound))\n\n // For each app that account created (in parallel)...\n const apps = await Promise.all(\n createdApps.map(async (createdApp) => {\n // Find any app transactions for that app in the round it was created (should always just be a single creation transaction)\n const appTransactions = await searchTransactions(this._indexer!, {\n minRound: createdApp.createdAtRound,\n txType: TransactionType.AppCall,\n applicationId: createdApp.id,\n address: creatorAddress,\n addressRole: 'sender',\n notePrefix: Buffer.from(APP_DEPLOY_NOTE_DAPP).toString('base64'),\n })\n\n // Triple check the transaction is intact by filtering for the one we want:\n // * application-id is 0 when the app is first created\n // * also verify the sender to prevent a potential security risk\n const appCreationTransaction = appTransactions.transactions.filter(\n (t) => t.applicationTransaction?.applicationId === 0n && t.sender.toString() === creatorAddress.toString(),\n )[0]\n\n const latestAppUpdateTransaction = appTransactions.transactions\n .filter((t) => t.sender.toString() === creatorAddress.toString())\n .sort((a, b) =>\n a.confirmedRound === b.confirmedRound\n ? (b.intraRoundOffset! - a.intraRoundOffset!) / 10\n : Number(b.confirmedRound! - a.confirmedRound!),\n )[0]\n\n if (!appCreationTransaction?.note)\n // No note; ignoring\n return null\n\n return { createdApp, appCreationTransaction, latestAppUpdateTransaction }\n }),\n )\n\n apps\n .filter((a) => a !== null)\n .forEach((a) => {\n const { createdApp, appCreationTransaction, latestAppUpdateTransaction } = a!\n\n const parseNote = (note?: string) => {\n if (!note) {\n // No note; ignoring...\n return\n }\n\n if (!note.startsWith(`${APP_DEPLOY_NOTE_DAPP}:j{`))\n // Clearly not APP_DEPLOY JSON; ignoring...\n return\n\n return JSON.parse(note.substring(APP_DEPLOY_NOTE_DAPP.length + 2)) as AppDeployMetadata\n }\n\n try {\n const creationNote = parseNote(\n appCreationTransaction.note ? Buffer.from(appCreationTransaction.note).toString('utf-8') : undefined,\n )\n const updateNote = parseNote(\n latestAppUpdateTransaction.note ? Buffer.from(latestAppUpdateTransaction.note).toString('utf-8') : undefined,\n )\n if (creationNote?.name) {\n appLookup[creationNote.name] = {\n appId: createdApp.id,\n appAddress: getApplicationAddress(createdApp.id),\n createdMetadata: creationNote,\n createdRound: appCreationTransaction.confirmedRound ?? 0n,\n ...(updateNote ?? creationNote),\n updatedRound: latestAppUpdateTransaction?.confirmedRound ?? 0n,\n deleted: createdApp.deleted ?? false,\n }\n }\n } catch (e) {\n Config.logger.warn(\n `Received error trying to retrieve app with ${createdApp.id} for creator ${creatorAddress}; failing silently`,\n e,\n )\n return\n }\n })\n\n const lookup = {\n creator: creatorAddress,\n apps: appLookup,\n }\n\n this._appLookups.set(creatorString, lookup)\n\n return lookup\n }\n}\n"],"mappings":"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"}
package/app-factory.d.ts CHANGED
@@ -72,15 +72,10 @@ type CreateOnComplete = {
72
72
  };
73
73
  /** Specifies a schema used for creating an app */
74
74
  type CreateSchema = {
75
- /** The state schema for the app. This is immutable once the app is created. By default uses the ARC32/ARC-56 spec. */
76
- schema?: {
77
- /** The number of integers saved in global state. */
78
- globalInts: number;
79
- /** The number of byte slices saved in global state. */
80
- globalByteSlices: number;
81
- /** The number of integers saved in local state. */
82
- localInts: number;
83
- /** The number of byte slices saved in local state. */
75
+ /** The state schema for the app. This is immutable once the app is created. By default uses the ARC32/ARC-56 spec. */schema?: {
76
+ /** The number of integers saved in global state. */globalInts: number; /** The number of byte slices saved in global state. */
77
+ globalByteSlices: number; /** The number of integers saved in local state. */
78
+ localInts: number; /** The number of byte slices saved in local state. */
84
79
  localByteSlices: number;
85
80
  };
86
81
  /** Number of extra pages required for the programs.
@@ -98,11 +93,8 @@ type AppFactoryAppClientParams = Expand<Omit<AppClientParams, 'algorand' | 'appS
98
93
  type AppFactoryResolveAppClientByCreatorAndNameParams = Expand<Omit<ResolveAppClientByCreatorAndName, 'algorand' | 'appSpec'>>;
99
94
  /** Parameters to define a deployment for an `AppFactory` */
100
95
  type AppFactoryDeployParams = Expand<Omit<AppDeployParams, 'createParams' | 'updateParams' | 'deleteParams' | 'metadata'> & {
101
- /** Create transaction parameters to use if a create needs to be issued as part of deployment */
102
- createParams?: Expand<AppClientMethodCallParams & CreateOnComplete & CreateSchema> | Expand<AppClientBareCallParams & CreateOnComplete & CreateSchema>;
103
- /** Update transaction parameters to use if a create needs to be issued as part of deployment */
104
- updateParams?: AppClientMethodCallParams | AppClientBareCallParams;
105
- /** Delete transaction parameters to use if a create needs to be issued as part of deployment */
96
+ /** Create transaction parameters to use if a create needs to be issued as part of deployment */createParams?: Expand<AppClientMethodCallParams & CreateOnComplete & CreateSchema> | Expand<AppClientBareCallParams & CreateOnComplete & CreateSchema>; /** Update transaction parameters to use if a create needs to be issued as part of deployment */
97
+ updateParams?: AppClientMethodCallParams | AppClientBareCallParams; /** Delete transaction parameters to use if a create needs to be issued as part of deployment */
106
98
  deleteParams?: AppClientMethodCallParams | AppClientBareCallParams;
107
99
  /**
108
100
  * Whether or not the contract should have deploy-time immutability control set.
@@ -113,8 +105,7 @@ type AppFactoryDeployParams = Expand<Omit<AppDeployParams, 'createParams' | 'upd
113
105
  * Whether or not the contract should have deploy-time permanence control set.
114
106
  * `undefined` = use AppFactory constructor value if set or base it on the app spec.
115
107
  */
116
- deletable?: boolean;
117
- /** Override the app name for this deployment */
108
+ deletable?: boolean; /** Override the app name for this deployment */
118
109
  appName?: string;
119
110
  }>;
120
111
  /**
@@ -169,17 +160,12 @@ declare class AppFactory {
169
160
  * ```
170
161
  */
171
162
  get params(): {
172
- /** Return params for a create ABI call, including deploy-time TEAL template replacements and compilation if provided */
173
- create: (params: AppFactoryCreateMethodCallParams) => Promise<{
163
+ /** Return params for a create ABI call, including deploy-time TEAL template replacements and compilation if provided */create: (params: AppFactoryCreateMethodCallParams) => Promise<{
174
164
  deployTimeParams: TealTemplateParams | undefined;
175
165
  schema: {
176
- /** The number of integers saved in global state. */
177
- globalInts: number;
178
- /** The number of byte slices saved in global state. */
179
- globalByteSlices: number;
180
- /** The number of integers saved in local state. */
181
- localInts: number;
182
- /** The number of byte slices saved in local state. */
166
+ /** The number of integers saved in global state. */globalInts: number; /** The number of byte slices saved in global state. */
167
+ globalByteSlices: number; /** The number of integers saved in local state. */
168
+ localInts: number; /** The number of byte slices saved in local state. */
183
169
  localByteSlices: number;
184
170
  };
185
171
  approvalProgram: Uint8Array<ArrayBufferLike>;
@@ -211,7 +197,7 @@ declare class AppFactory {
211
197
  sender: Address;
212
198
  signer: AddressWithTransactionSigner | TransactionSigner | undefined;
213
199
  method: ABIMethod;
214
- args: (Transaction | ABIValue | TransactionWithSigner | AppMethodCall<{
200
+ args: (Transaction | TransactionWithSigner | ABIValue | AppMethodCall<{
215
201
  signer?: (TransactionSigner | AddressWithTransactionSigner) | undefined;
216
202
  sender: SendingAddress;
217
203
  rekeyTo?: ReadableAddress | undefined;
@@ -266,8 +252,7 @@ declare class AppFactory {
266
252
  clearStateProgram: string | Uint8Array;
267
253
  }> | AppMethodCall<AppMethodCallParams> | Promise<Transaction> | undefined)[] | undefined;
268
254
  onComplete: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication;
269
- }>;
270
- /** Return params for a deployment update ABI call */
255
+ }>; /** Return params for a deployment update ABI call */
271
256
  deployUpdate: (params: AppClientMethodCallParams) => {
272
257
  signer?: (TransactionSigner | AddressWithTransactionSigner) | undefined;
273
258
  rekeyTo?: ReadableAddress | undefined;
@@ -293,7 +278,7 @@ declare class AppFactory {
293
278
  sender: Address;
294
279
  signer: AddressWithTransactionSigner | TransactionSigner | undefined;
295
280
  method: ABIMethod;
296
- args: (Transaction | ABIValue | TransactionWithSigner | AppMethodCall<{
281
+ args: (Transaction | TransactionWithSigner | ABIValue | AppMethodCall<{
297
282
  signer?: (TransactionSigner | AddressWithTransactionSigner) | undefined;
298
283
  sender: SendingAddress;
299
284
  rekeyTo?: ReadableAddress | undefined;
@@ -348,8 +333,7 @@ declare class AppFactory {
348
333
  clearStateProgram: string | Uint8Array;
349
334
  }> | AppMethodCall<AppMethodCallParams> | Promise<Transaction> | undefined)[] | undefined;
350
335
  onComplete: OnApplicationComplete.UpdateApplication;
351
- };
352
- /** Return params for a deployment delete ABI call */
336
+ }; /** Return params for a deployment delete ABI call */
353
337
  deployDelete: (params: AppClientMethodCallParams) => {
354
338
  signer?: (TransactionSigner | AddressWithTransactionSigner) | undefined;
355
339
  rekeyTo?: ReadableAddress | undefined;
@@ -375,7 +359,7 @@ declare class AppFactory {
375
359
  sender: Address;
376
360
  signer: AddressWithTransactionSigner | TransactionSigner | undefined;
377
361
  method: ABIMethod;
378
- args: (Transaction | ABIValue | TransactionWithSigner | AppMethodCall<{
362
+ args: (Transaction | TransactionWithSigner | ABIValue | AppMethodCall<{
379
363
  signer?: (TransactionSigner | AddressWithTransactionSigner) | undefined;
380
364
  sender: SendingAddress;
381
365
  rekeyTo?: ReadableAddress | undefined;
@@ -432,21 +416,16 @@ declare class AppFactory {
432
416
  onComplete: OnApplicationComplete.DeleteApplication;
433
417
  };
434
418
  bare: {
435
- /** Return params for a create bare call, including deploy-time TEAL template replacements and compilation if provided */
436
- create: (params?: AppFactoryCreateParams) => Promise<{
419
+ /** Return params for a create bare call, including deploy-time TEAL template replacements and compilation if provided */create: (params?: AppFactoryCreateParams) => Promise<{
437
420
  approvalProgram: Uint8Array;
438
421
  clearStateProgram: Uint8Array;
439
422
  compiledApproval?: CompiledTeal | undefined;
440
423
  compiledClear?: CompiledTeal | undefined;
441
424
  deployTimeParams: TealTemplateParams | undefined;
442
425
  schema: {
443
- /** The number of integers saved in global state. */
444
- globalInts: number;
445
- /** The number of byte slices saved in global state. */
446
- globalByteSlices: number;
447
- /** The number of integers saved in local state. */
448
- localInts: number;
449
- /** The number of byte slices saved in local state. */
426
+ /** The number of integers saved in global state. */globalInts: number; /** The number of byte slices saved in global state. */
427
+ globalByteSlices: number; /** The number of integers saved in local state. */
428
+ localInts: number; /** The number of byte slices saved in local state. */
450
429
  localByteSlices: number;
451
430
  };
452
431
  signer?: TransactionSigner | AddressWithTransactionSigner;
@@ -475,8 +454,7 @@ declare class AppFactory {
475
454
  sender: Address;
476
455
  signer: AddressWithTransactionSigner | TransactionSigner | undefined;
477
456
  onComplete: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication;
478
- }>;
479
- /** Return params for a deployment update bare call */
457
+ }>; /** Return params for a deployment update bare call */
480
458
  deployUpdate: (params?: AppClientBareCallParams) => {
481
459
  signer?: (TransactionSigner | AddressWithTransactionSigner) | undefined;
482
460
  rekeyTo?: ReadableAddress | undefined;
@@ -500,8 +478,7 @@ declare class AppFactory {
500
478
  sender: Address;
501
479
  signer: AddressWithTransactionSigner | TransactionSigner | undefined;
502
480
  onComplete: OnApplicationComplete.UpdateApplication;
503
- };
504
- /** Return params for a deployment delete bare call */
481
+ }; /** Return params for a deployment delete bare call */
505
482
  deployDelete: (params?: AppClientBareCallParams) => {
506
483
  signer?: (TransactionSigner | AddressWithTransactionSigner) | undefined;
507
484
  rekeyTo?: ReadableAddress | undefined;
@@ -530,8 +507,7 @@ declare class AppFactory {
530
507
  };
531
508
  /** Create transactions for the current app */
532
509
  readonly createTransaction: {
533
- /** Create bare (raw) transactions for the current app */
534
- bare: {
510
+ /** Create bare (raw) transactions for the current app */bare: {
535
511
  /**
536
512
  * Create a create app call transaction using a bare (raw) create call.
537
513
  *
@@ -556,8 +532,7 @@ declare class AppFactory {
556
532
  };
557
533
  /** Send transactions to the current app */
558
534
  readonly send: {
559
- /** Send bare (raw) transactions for the current app */
560
- bare: {
535
+ /** Send bare (raw) transactions for the current app */bare: {
561
536
  /**
562
537
  * Creates an instance of the app using a bare (raw) create call and returns the result
563
538
  * of the creation transaction and an app client to interact with that app instance.