@algorandfoundation/algokit-utils 10.0.0-alpha.2 → 10.0.0-alpha.20

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 (385) hide show
  1. package/_virtual/rolldown_runtime.js +10 -15
  2. package/algo25/index.d.ts +2 -0
  3. package/algo25/index.js +9 -0
  4. package/algo25/index.mjs +3 -0
  5. package/algod-client/index.d.ts +3 -7
  6. package/algod-client/index.js +2 -5
  7. package/algod-client/index.mjs +2 -2
  8. package/index.d.ts +1 -2
  9. package/index.js +0 -7
  10. package/index.mjs +1 -2
  11. package/indexer-client/index.d.ts +2 -2
  12. package/indexer-client/index.js +6 -6
  13. package/indexer-client/index.mjs +2 -2
  14. package/{indexer-lookup.d.ts → indexer-client/indexer-lookup.d.ts} +8 -11
  15. package/{indexer-lookup.mjs → indexer-client/indexer-lookup.js} +6 -10
  16. package/indexer-client/indexer-lookup.js.map +1 -0
  17. package/{indexer-lookup.js → indexer-client/indexer-lookup.mjs} +3 -18
  18. package/indexer-client/indexer-lookup.mjs.map +1 -0
  19. package/kmd-client/index.d.ts +1 -2
  20. package/kmd-client/index.js +0 -5
  21. package/kmd-client/index.mjs +1 -2
  22. package/package.json +1 -1
  23. package/packages/abi/src/abi-method.d.ts +1 -1
  24. package/packages/abi/src/abi-method.js +1 -1
  25. package/packages/abi/src/abi-method.js.map +1 -1
  26. package/packages/abi/src/abi-method.mjs +1 -1
  27. package/packages/abi/src/abi-method.mjs.map +1 -1
  28. package/packages/abi/src/abi-type.d.ts +1 -1
  29. package/packages/abi/src/abi-type.js +4 -2
  30. package/packages/abi/src/abi-type.js.map +1 -1
  31. package/packages/abi/src/abi-type.mjs +4 -2
  32. package/packages/abi/src/abi-type.mjs.map +1 -1
  33. package/packages/abi/src/arc56-contract.js +1 -0
  34. package/packages/abi/src/arc56-contract.js.map +1 -1
  35. package/packages/abi/src/arc56-contract.mjs +1 -0
  36. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  37. package/packages/algo25/src/index.d.ts +40 -0
  38. package/packages/algo25/src/index.js +44 -0
  39. package/packages/algo25/src/index.js.map +1 -1
  40. package/packages/algo25/src/index.mjs +39 -1
  41. package/packages/algo25/src/index.mjs.map +1 -1
  42. package/packages/algod_client/src/apis/api-service.d.ts +44 -44
  43. package/packages/algod_client/src/apis/api-service.js +155 -155
  44. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  45. package/packages/algod_client/src/apis/api-service.mjs +155 -155
  46. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  47. package/packages/algod_client/src/core/api-error.js +3 -1
  48. package/packages/algod_client/src/core/api-error.js.map +1 -1
  49. package/packages/algod_client/src/core/api-error.mjs +3 -1
  50. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  51. package/packages/algod_client/src/core/model-runtime.js +6 -6
  52. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  53. package/packages/algod_client/src/core/model-runtime.mjs +8 -8
  54. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  55. package/packages/algod_client/src/models/account-participation.js +4 -4
  56. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  57. package/packages/algod_client/src/models/account-participation.mjs +4 -4
  58. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  59. package/packages/algod_client/src/models/application-state-schema.d.ts +2 -2
  60. package/packages/algod_client/src/models/application-state-schema.js +2 -2
  61. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  62. package/packages/algod_client/src/models/application-state-schema.mjs +2 -2
  63. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  64. package/packages/algod_client/src/models/asset-params.js +2 -1
  65. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  66. package/packages/algod_client/src/models/asset-params.mjs +2 -1
  67. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  68. package/packages/algod_client/src/models/block-response.js +1 -2
  69. package/packages/algod_client/src/models/block-response.js.map +1 -1
  70. package/packages/algod_client/src/models/block-response.mjs +2 -3
  71. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  72. package/packages/algod_client/src/models/block.d.ts +60 -40
  73. package/packages/algod_client/src/models/block.js +184 -108
  74. package/packages/algod_client/src/models/block.js.map +1 -1
  75. package/packages/algod_client/src/models/block.mjs +184 -108
  76. package/packages/algod_client/src/models/block.mjs.map +1 -1
  77. package/packages/algod_client/src/models/ledger-state-delta.js +1 -1
  78. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  79. package/packages/algod_client/src/models/ledger-state-delta.mjs +2 -2
  80. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  81. package/packages/algod_client/src/models/simulate-request.js +1 -1
  82. package/packages/algod_client/src/models/simulate-request.mjs +1 -1
  83. package/packages/algod_client/src/models/simulate-response.d.ts +2 -1
  84. package/packages/algod_client/src/models/simulate-response.js +6 -1
  85. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  86. package/packages/algod_client/src/models/simulate-response.mjs +6 -2
  87. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  88. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.d.ts +3 -5
  89. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js +4 -6
  90. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  91. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs +3 -5
  92. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  93. package/packages/algod_client/src/models/transaction-parameters-response.js +2 -2
  94. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  95. package/packages/algod_client/src/models/transaction-parameters-response.mjs +2 -2
  96. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  97. package/packages/common/src/address.js +0 -14
  98. package/packages/common/src/address.js.map +1 -1
  99. package/packages/common/src/address.mjs +1 -14
  100. package/packages/common/src/address.mjs.map +1 -1
  101. package/packages/common/src/codecs/composite/map.js +7 -4
  102. package/packages/common/src/codecs/composite/map.js.map +1 -1
  103. package/packages/common/src/codecs/composite/map.mjs +7 -4
  104. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  105. package/packages/common/src/codecs/composite/record.js +0 -1
  106. package/packages/common/src/codecs/composite/record.js.map +1 -1
  107. package/packages/common/src/codecs/primitives/address.js +0 -1
  108. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  109. package/packages/common/src/codecs/primitives/bytes.js +0 -1
  110. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  111. package/packages/common/src/codecs/primitives/fixed-bytes.js +0 -1
  112. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  113. package/packages/common/src/codecs/wire.js +0 -1
  114. package/packages/common/src/codecs/wire.js.map +1 -1
  115. package/packages/common/src/msgpack.js +0 -1
  116. package/packages/common/src/msgpack.js.map +1 -1
  117. package/packages/indexer_client/src/apis/api-service.d.ts +1 -1
  118. package/packages/indexer_client/src/apis/api-service.js +12 -12
  119. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  120. package/packages/indexer_client/src/apis/api-service.mjs +12 -12
  121. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  122. package/packages/indexer_client/src/core/api-error.js +3 -1
  123. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  124. package/packages/indexer_client/src/core/api-error.mjs +3 -1
  125. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  126. package/packages/indexer_client/src/core/model-runtime.js +0 -15
  127. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  128. package/packages/indexer_client/src/core/model-runtime.mjs +1 -13
  129. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  130. package/packages/indexer_client/src/models/account-participation.js +4 -4
  131. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  132. package/packages/indexer_client/src/models/account-participation.mjs +4 -4
  133. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  134. package/packages/indexer_client/src/models/application-state-schema.d.ts +2 -2
  135. package/packages/indexer_client/src/models/application-state-schema.js +2 -2
  136. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  137. package/packages/indexer_client/src/models/application-state-schema.mjs +2 -2
  138. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  139. package/packages/indexer_client/src/models/asset-params.js +2 -1
  140. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  141. package/packages/indexer_client/src/models/asset-params.mjs +2 -1
  142. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  143. package/packages/indexer_client/src/models/block.d.ts +5 -5
  144. package/packages/indexer_client/src/models/block.js +13 -13
  145. package/packages/indexer_client/src/models/block.js.map +1 -1
  146. package/packages/indexer_client/src/models/block.mjs +13 -13
  147. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  148. package/packages/indexer_client/src/models/eval-delta-key-value.d.ts +1 -1
  149. package/packages/indexer_client/src/models/eval-delta-key-value.js +2 -2
  150. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  151. package/packages/indexer_client/src/models/eval-delta-key-value.mjs +2 -2
  152. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  153. package/packages/indexer_client/src/models/eval-delta.d.ts +1 -1
  154. package/packages/indexer_client/src/models/eval-delta.js +2 -2
  155. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  156. package/packages/indexer_client/src/models/eval-delta.mjs +2 -2
  157. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  158. package/packages/indexer_client/src/models/hb-proof-fields.js +6 -6
  159. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  160. package/packages/indexer_client/src/models/hb-proof-fields.mjs +6 -6
  161. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  162. package/packages/indexer_client/src/models/participation-updates.d.ts +2 -2
  163. package/packages/indexer_client/src/models/participation-updates.js +2 -2
  164. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  165. package/packages/indexer_client/src/models/participation-updates.mjs +2 -2
  166. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  167. package/packages/indexer_client/src/models/state-proof-verifier.js +2 -2
  168. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  169. package/packages/indexer_client/src/models/state-proof-verifier.mjs +2 -2
  170. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  171. package/packages/indexer_client/src/models/state-schema.d.ts +2 -2
  172. package/packages/indexer_client/src/models/state-schema.js +2 -2
  173. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  174. package/packages/indexer_client/src/models/state-schema.mjs +2 -2
  175. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  176. package/packages/indexer_client/src/models/teal-key-value.d.ts +1 -1
  177. package/packages/indexer_client/src/models/teal-key-value.js +2 -2
  178. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  179. package/packages/indexer_client/src/models/teal-key-value.mjs +2 -2
  180. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  181. package/packages/indexer_client/src/models/transaction-heartbeat.js +2 -1
  182. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  183. package/packages/indexer_client/src/models/transaction-heartbeat.mjs +2 -1
  184. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  185. package/packages/indexer_client/src/models/transaction-keyreg.js +4 -4
  186. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  187. package/packages/indexer_client/src/models/transaction-keyreg.mjs +4 -4
  188. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  189. package/packages/indexer_client/src/models/transaction-signature-logicsig.js +2 -1
  190. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  191. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs +2 -1
  192. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  193. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js +3 -3
  194. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  195. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs +3 -3
  196. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  197. package/packages/indexer_client/src/models/transaction.d.ts +2 -2
  198. package/packages/indexer_client/src/models/transaction.js +6 -5
  199. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  200. package/packages/indexer_client/src/models/transaction.mjs +6 -5
  201. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  202. package/packages/kmd_client/src/apis/api-service.d.ts +5 -5
  203. package/packages/kmd_client/src/apis/api-service.js +32 -32
  204. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  205. package/packages/kmd_client/src/apis/api-service.mjs +32 -32
  206. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  207. package/packages/kmd_client/src/core/api-error.js +3 -1
  208. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  209. package/packages/kmd_client/src/core/api-error.mjs +3 -1
  210. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  211. package/packages/kmd_client/src/core/model-runtime.js +2 -12
  212. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  213. package/packages/kmd_client/src/core/model-runtime.mjs +3 -11
  214. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  215. package/packages/sdk/src/encoding/encoding.js +12 -2
  216. package/packages/sdk/src/encoding/encoding.js.map +1 -1
  217. package/packages/sdk/src/encoding/encoding.mjs +12 -1
  218. package/packages/sdk/src/encoding/encoding.mjs.map +1 -1
  219. package/packages/sdk/src/encoding/schema/map.js +0 -2
  220. package/packages/sdk/src/encoding/schema/map.js.map +1 -1
  221. package/packages/transact/src/logicsig.d.ts +3 -15
  222. package/packages/transact/src/logicsig.js +16 -36
  223. package/packages/transact/src/logicsig.js.map +1 -1
  224. package/packages/transact/src/logicsig.mjs +18 -36
  225. package/packages/transact/src/logicsig.mjs.map +1 -1
  226. package/packages/transact/src/multisig.d.ts +7 -115
  227. package/packages/transact/src/multisig.js +86 -136
  228. package/packages/transact/src/multisig.js.map +1 -1
  229. package/packages/transact/src/multisig.mjs +87 -117
  230. package/packages/transact/src/multisig.mjs.map +1 -1
  231. package/packages/transact/src/transactions/app-call.d.ts +10 -15
  232. package/packages/transact/src/transactions/app-call.js.map +1 -1
  233. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  234. package/packages/transact/src/transactions/asset-config.d.ts +1 -6
  235. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  236. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  237. package/packages/transact/src/transactions/asset-freeze.d.ts +1 -6
  238. package/packages/transact/src/transactions/asset-transfer.d.ts +1 -6
  239. package/packages/transact/src/transactions/key-registration.d.ts +1 -8
  240. package/packages/transact/src/transactions/reference-types-meta.d.ts +26 -0
  241. package/packages/transact/src/transactions/reference-types-meta.js +71 -0
  242. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -0
  243. package/packages/transact/src/transactions/reference-types-meta.mjs +69 -0
  244. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -0
  245. package/packages/transact/src/transactions/signed-transaction-meta.js +2 -3
  246. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  247. package/packages/transact/src/transactions/signed-transaction-meta.mjs +3 -3
  248. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  249. package/packages/transact/src/transactions/signed-transaction.d.ts +7 -3
  250. package/packages/transact/src/transactions/signed-transaction.js +1 -1
  251. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  252. package/packages/transact/src/transactions/signed-transaction.mjs +1 -2
  253. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  254. package/packages/transact/src/transactions/transaction-meta.js +29 -23
  255. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  256. package/packages/transact/src/transactions/transaction-meta.mjs +29 -23
  257. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  258. package/packages/transact/src/transactions/transaction.d.ts +5 -1
  259. package/packages/transact/src/transactions/transaction.js +1 -1
  260. package/packages/transact/src/transactions/transaction.js.map +1 -1
  261. package/packages/transact/src/transactions/transaction.mjs +1 -1
  262. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  263. package/sdk/index.js +1 -1
  264. package/testing/account.js +2 -5
  265. package/testing/account.js.map +1 -1
  266. package/testing/account.mjs +2 -5
  267. package/testing/account.mjs.map +1 -1
  268. package/testing/fixtures/algorand-fixture.d.ts +3 -3
  269. package/testing/fixtures/algorand-fixture.js.map +1 -1
  270. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  271. package/transact/index.d.ts +11 -10
  272. package/transact/index.js +7 -32
  273. package/transact/index.mjs +7 -10
  274. package/transaction/transaction.js +2 -2
  275. package/transaction/transaction.js.map +1 -1
  276. package/transaction/transaction.mjs +2 -2
  277. package/transaction/transaction.mjs.map +1 -1
  278. package/transactions/app-call.d.ts +5 -4
  279. package/transactions/app-call.js +15 -15
  280. package/transactions/app-call.js.map +1 -1
  281. package/transactions/app-call.mjs +15 -15
  282. package/transactions/app-call.mjs.map +1 -1
  283. package/transactions/asset-config.d.ts +1 -1
  284. package/transactions/asset-config.js +1 -1
  285. package/transactions/asset-config.js.map +1 -1
  286. package/transactions/asset-config.mjs +1 -1
  287. package/transactions/asset-config.mjs.map +1 -1
  288. package/transactions/key-registration.d.ts +1 -1
  289. package/transactions/key-registration.js.map +1 -1
  290. package/transactions/key-registration.mjs.map +1 -1
  291. package/transactions/method-call.d.ts +1 -1
  292. package/transactions/method-call.js +69 -77
  293. package/transactions/method-call.js.map +1 -1
  294. package/transactions/method-call.mjs +69 -77
  295. package/transactions/method-call.mjs.map +1 -1
  296. package/types/account-manager.d.ts +1 -1
  297. package/types/account-manager.js +3 -3
  298. package/types/account-manager.js.map +1 -1
  299. package/types/account-manager.mjs +3 -3
  300. package/types/account-manager.mjs.map +1 -1
  301. package/types/algorand-client-transaction-creator.d.ts +57 -43
  302. package/types/algorand-client-transaction-creator.js +8 -0
  303. package/types/algorand-client-transaction-creator.js.map +1 -1
  304. package/types/algorand-client-transaction-creator.mjs +8 -0
  305. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  306. package/types/algorand-client-transaction-sender.d.ts +62 -48
  307. package/types/algorand-client-transaction-sender.js +8 -1
  308. package/types/algorand-client-transaction-sender.js.map +1 -1
  309. package/types/algorand-client-transaction-sender.mjs +8 -0
  310. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  311. package/types/app-client.d.ts +110 -105
  312. package/types/app-client.js +0 -1
  313. package/types/app-client.js.map +1 -1
  314. package/types/app-client.mjs.map +1 -1
  315. package/types/app-deployer.d.ts +1 -1
  316. package/types/app-deployer.js +2 -2
  317. package/types/app-deployer.js.map +1 -1
  318. package/types/app-deployer.mjs +2 -2
  319. package/types/app-deployer.mjs.map +1 -1
  320. package/types/app-factory.d.ts +44 -41
  321. package/types/app-factory.js.map +1 -1
  322. package/types/app-factory.mjs.map +1 -1
  323. package/types/app-manager.d.ts +3 -1
  324. package/types/app-manager.js +16 -10
  325. package/types/app-manager.js.map +1 -1
  326. package/types/app-manager.mjs +16 -10
  327. package/types/app-manager.mjs.map +1 -1
  328. package/types/app-spec.js +12 -5
  329. package/types/app-spec.js.map +1 -1
  330. package/types/app-spec.mjs +12 -5
  331. package/types/app-spec.mjs.map +1 -1
  332. package/types/app.d.ts +1 -1
  333. package/types/app.js.map +1 -1
  334. package/types/app.mjs.map +1 -1
  335. package/types/asset-manager.js +1 -1
  336. package/types/asset-manager.js.map +1 -1
  337. package/types/asset-manager.mjs +1 -1
  338. package/types/asset-manager.mjs.map +1 -1
  339. package/types/async-event-emitter.d.ts +3 -6
  340. package/types/async-event-emitter.js.map +1 -1
  341. package/types/async-event-emitter.mjs.map +1 -1
  342. package/types/client-manager.d.ts +1 -1
  343. package/types/client-manager.js.map +1 -1
  344. package/types/client-manager.mjs.map +1 -1
  345. package/types/composer.d.ts +9 -1
  346. package/types/composer.js +35 -23
  347. package/types/composer.js.map +1 -1
  348. package/types/composer.mjs +37 -24
  349. package/types/composer.mjs.map +1 -1
  350. package/types/debugging.d.ts +13 -9
  351. package/types/debugging.js.map +1 -1
  352. package/types/debugging.mjs.map +1 -1
  353. package/types/expand.d.ts +2 -9
  354. package/types/kmd-account-manager.d.ts +1 -0
  355. package/types/kmd-account-manager.js +21 -10
  356. package/types/kmd-account-manager.js.map +1 -1
  357. package/types/kmd-account-manager.mjs +22 -11
  358. package/types/kmd-account-manager.mjs.map +1 -1
  359. package/types/lifecycle-events.d.ts +0 -1
  360. package/types/lifecycle-events.js.map +1 -1
  361. package/types/lifecycle-events.mjs.map +1 -1
  362. package/types/testing.d.ts +2 -2
  363. package/types/transaction.d.ts +1 -1
  364. package/_virtual/rolldown_runtime.mjs +0 -13
  365. package/indexer-lookup.js.map +0 -1
  366. package/indexer-lookup.mjs.map +0 -1
  367. package/packages/algod_client/src/core/model-runtime.d.ts +0 -10
  368. package/packages/algod_client/src/models/application-local-reference.d.ts +0 -20
  369. package/packages/algod_client/src/models/application-local-reference.js +0 -23
  370. package/packages/algod_client/src/models/application-local-reference.js.map +0 -1
  371. package/packages/algod_client/src/models/application-local-reference.mjs +0 -23
  372. package/packages/algod_client/src/models/application-local-reference.mjs.map +0 -1
  373. package/packages/algod_client/src/models/asset-holding-reference.d.ts +0 -20
  374. package/packages/algod_client/src/models/asset-holding-reference.js +0 -23
  375. package/packages/algod_client/src/models/asset-holding-reference.js.map +0 -1
  376. package/packages/algod_client/src/models/asset-holding-reference.mjs +0 -23
  377. package/packages/algod_client/src/models/asset-holding-reference.mjs.map +0 -1
  378. package/packages/algod_client/src/models/box-reference.d.ts +0 -17
  379. package/packages/algod_client/src/models/box-reference.js +0 -23
  380. package/packages/algod_client/src/models/box-reference.js.map +0 -1
  381. package/packages/algod_client/src/models/box-reference.mjs +0 -23
  382. package/packages/algod_client/src/models/box-reference.mjs.map +0 -1
  383. package/packages/indexer_client/src/core/model-runtime.d.ts +0 -10
  384. package/packages/kmd_client/src/core/model-runtime.d.ts +0 -10
  385. package/packages/transact/src/transactions/common.d.ts +0 -37
@@ -1,7 +1,7 @@
1
1
  import { ReadableAddress } from "../packages/common/src/address.js";
2
2
  import { ABIValue } from "../packages/abi/src/abi-value.js";
3
3
  import { ABIMethod, ABIReturn } from "../packages/abi/src/abi-method.js";
4
- import { AccessReference, OnApplicationComplete } from "../packages/transact/src/transactions/app-call.js";
4
+ import { OnApplicationComplete, ResourceReference } from "../packages/transact/src/transactions/app-call.js";
5
5
  import { Transaction } from "../packages/transact/src/transactions/transaction.js";
6
6
  import { AddressWithTransactionSigner, SendingAddress, TransactionSigner } from "../packages/transact/src/signer.js";
7
7
  import { PendingTransactionResponse } from "../packages/algod_client/src/models/pending-transaction-response.js";
@@ -236,7 +236,7 @@ declare class AlgorandClientTransactionSender {
236
236
  */
237
237
  assetFreeze: (params: CommonTransactionParams & {
238
238
  assetId: bigint;
239
- account: ReadableAddress;
239
+ freezeTarget: ReadableAddress;
240
240
  frozen: boolean;
241
241
  } & SendParams) => Promise<SendSingleTransactionResult>;
242
242
  /**
@@ -467,6 +467,7 @@ declare class AlgorandClientTransactionSender {
467
467
  * // Max fee doesn't make sense with extraFee AND staticFee
468
468
  * // already specified, but here for completeness
469
469
  * maxFee: (3000).microAlgo(),
470
+ * rejectVersion: 1,
470
471
  * // Signer only needed if you want to provide one,
471
472
  * // generally you'd register it with AlgorandClient
472
473
  * // against the sender and not need to pass it in
@@ -494,9 +495,10 @@ declare class AlgorandClientTransactionSender {
494
495
  accountReferences?: ReadableAddress[] | undefined;
495
496
  appReferences?: bigint[] | undefined;
496
497
  assetReferences?: bigint[] | undefined;
497
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
498
- accessReferences?: AccessReference[] | undefined;
498
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
499
+ accessReferences?: ResourceReference[] | undefined;
499
500
  rejectVersion?: number | undefined;
501
+ appId?: 0 | undefined;
500
502
  approvalProgram: string | Uint8Array;
501
503
  clearStateProgram: string | Uint8Array;
502
504
  schema?: {
@@ -540,6 +542,7 @@ declare class AlgorandClientTransactionSender {
540
542
  * // Max fee doesn't make sense with extraFee AND staticFee
541
543
  * // already specified, but here for completeness
542
544
  * maxFee: (3000).microAlgo(),
545
+ * rejectVersion: 1,
543
546
  * // Signer only needed if you want to provide one,
544
547
  * // generally you'd register it with AlgorandClient
545
548
  * // against the sender and not need to pass it in
@@ -568,8 +571,8 @@ declare class AlgorandClientTransactionSender {
568
571
  accountReferences?: ReadableAddress[] | undefined;
569
572
  appReferences?: bigint[] | undefined;
570
573
  assetReferences?: bigint[] | undefined;
571
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
572
- accessReferences?: AccessReference[] | undefined;
574
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
575
+ accessReferences?: ResourceReference[] | undefined;
573
576
  rejectVersion?: number | undefined;
574
577
  approvalProgram: string | Uint8Array;
575
578
  clearStateProgram: string | Uint8Array;
@@ -605,6 +608,7 @@ declare class AlgorandClientTransactionSender {
605
608
  * // Max fee doesn't make sense with extraFee AND staticFee
606
609
  * // already specified, but here for completeness
607
610
  * maxFee: (3000).microAlgo(),
611
+ * rejectVersion: 1,
608
612
  * // Signer only needed if you want to provide one,
609
613
  * // generally you'd register it with AlgorandClient
610
614
  * // against the sender and not need to pass it in
@@ -622,8 +626,8 @@ declare class AlgorandClientTransactionSender {
622
626
  accountReferences?: ReadableAddress[] | undefined;
623
627
  appReferences?: bigint[] | undefined;
624
628
  assetReferences?: bigint[] | undefined;
625
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
626
- accessReferences?: AccessReference[] | undefined;
629
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
630
+ accessReferences?: ResourceReference[] | undefined;
627
631
  rejectVersion?: number | undefined;
628
632
  } & {
629
633
  onComplete?: OnApplicationComplete.DeleteApplication | undefined;
@@ -659,6 +663,7 @@ declare class AlgorandClientTransactionSender {
659
663
  * // Max fee doesn't make sense with extraFee AND staticFee
660
664
  * // already specified, but here for completeness
661
665
  * maxFee: (3000).microAlgo(),
666
+ * rejectVersion: 1,
662
667
  * // Signer only needed if you want to provide one,
663
668
  * // generally you'd register it with AlgorandClient
664
669
  * // against the sender and not need to pass it in
@@ -676,8 +681,8 @@ declare class AlgorandClientTransactionSender {
676
681
  accountReferences?: ReadableAddress[] | undefined;
677
682
  appReferences?: bigint[] | undefined;
678
683
  assetReferences?: bigint[] | undefined;
679
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
680
- accessReferences?: AccessReference[] | undefined;
684
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
685
+ accessReferences?: ResourceReference[] | undefined;
681
686
  rejectVersion?: number | undefined;
682
687
  } & {
683
688
  onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.ClearState | OnApplicationComplete.DeleteApplication | undefined;
@@ -735,6 +740,7 @@ declare class AlgorandClientTransactionSender {
735
740
  * // Max fee doesn't make sense with extraFee AND staticFee
736
741
  * // already specified, but here for completeness
737
742
  * maxFee: (3000).microAlgo(),
743
+ * rejectVersion: 1,
738
744
  * // Signer only needed if you want to provide one,
739
745
  * // generally you'd register it with AlgorandClient
740
746
  * // against the sender and not need to pass it in
@@ -757,24 +763,25 @@ declare class AlgorandClientTransactionSender {
757
763
  validityWindow?: number | bigint | undefined;
758
764
  firstValidRound?: bigint | undefined;
759
765
  lastValidRound?: bigint | undefined;
766
+ appId?: 0 | undefined;
767
+ onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
768
+ accountReferences?: ReadableAddress[] | undefined;
769
+ appReferences?: bigint[] | undefined;
770
+ assetReferences?: bigint[] | undefined;
771
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
772
+ accessReferences?: ResourceReference[] | undefined;
773
+ rejectVersion?: number | undefined;
774
+ approvalProgram: string | Uint8Array;
775
+ clearStateProgram: string | Uint8Array;
760
776
  schema?: {
761
777
  globalInts: number;
762
778
  globalByteSlices: number;
763
779
  localInts: number;
764
780
  localByteSlices: number;
765
781
  } | undefined;
766
- approvalProgram: string | Uint8Array;
767
- clearStateProgram: string | Uint8Array;
768
- onComplete?: OnApplicationComplete.NoOp | OnApplicationComplete.OptIn | OnApplicationComplete.CloseOut | OnApplicationComplete.UpdateApplication | OnApplicationComplete.DeleteApplication | undefined;
769
- accountReferences?: ReadableAddress[] | undefined;
770
- appReferences?: bigint[] | undefined;
771
- assetReferences?: bigint[] | undefined;
772
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
773
- accessReferences?: AccessReference[] | undefined;
774
- rejectVersion?: number | undefined;
775
782
  extraProgramPages?: number | undefined;
776
783
  method: ABIMethod;
777
- args?: (Transaction | ABIValue | TransactionWithSigner | Promise<Transaction> | AppMethodCall<{
784
+ args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
778
785
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
779
786
  sender: SendingAddress;
780
787
  rekeyTo?: ReadableAddress | undefined;
@@ -791,9 +798,10 @@ declare class AlgorandClientTransactionSender {
791
798
  accountReferences?: ReadableAddress[] | undefined;
792
799
  appReferences?: bigint[] | undefined;
793
800
  assetReferences?: bigint[] | undefined;
794
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
795
- accessReferences?: AccessReference[] | undefined;
801
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
802
+ accessReferences?: ResourceReference[] | undefined;
796
803
  rejectVersion?: number | undefined;
804
+ appId?: 0 | undefined;
797
805
  approvalProgram: string | Uint8Array;
798
806
  clearStateProgram: string | Uint8Array;
799
807
  schema?: {
@@ -821,8 +829,8 @@ declare class AlgorandClientTransactionSender {
821
829
  accountReferences?: ReadableAddress[] | undefined;
822
830
  appReferences?: bigint[] | undefined;
823
831
  assetReferences?: bigint[] | undefined;
824
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
825
- accessReferences?: AccessReference[] | undefined;
832
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
833
+ accessReferences?: ResourceReference[] | undefined;
826
834
  rejectVersion?: number | undefined;
827
835
  approvalProgram: string | Uint8Array;
828
836
  clearStateProgram: string | Uint8Array;
@@ -873,6 +881,7 @@ declare class AlgorandClientTransactionSender {
873
881
  * // Max fee doesn't make sense with extraFee AND staticFee
874
882
  * // already specified, but here for completeness
875
883
  * maxFee: (3000).microAlgo(),
884
+ * rejectVersion: 1,
876
885
  * // Signer only needed if you want to provide one,
877
886
  * // generally you'd register it with AlgorandClient
878
887
  * // against the sender and not need to pass it in
@@ -895,18 +904,18 @@ declare class AlgorandClientTransactionSender {
895
904
  validityWindow?: number | bigint | undefined;
896
905
  firstValidRound?: bigint | undefined;
897
906
  lastValidRound?: bigint | undefined;
898
- approvalProgram: string | Uint8Array;
899
- clearStateProgram: string | Uint8Array;
900
907
  appId: bigint;
901
908
  onComplete?: OnApplicationComplete.UpdateApplication | undefined;
902
909
  accountReferences?: ReadableAddress[] | undefined;
903
910
  appReferences?: bigint[] | undefined;
904
911
  assetReferences?: bigint[] | undefined;
905
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
906
- accessReferences?: AccessReference[] | undefined;
912
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
913
+ accessReferences?: ResourceReference[] | undefined;
907
914
  rejectVersion?: number | undefined;
915
+ approvalProgram: string | Uint8Array;
916
+ clearStateProgram: string | Uint8Array;
908
917
  method: ABIMethod;
909
- args?: (Transaction | ABIValue | TransactionWithSigner | Promise<Transaction> | AppMethodCall<{
918
+ args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
910
919
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
911
920
  sender: SendingAddress;
912
921
  rekeyTo?: ReadableAddress | undefined;
@@ -923,9 +932,10 @@ declare class AlgorandClientTransactionSender {
923
932
  accountReferences?: ReadableAddress[] | undefined;
924
933
  appReferences?: bigint[] | undefined;
925
934
  assetReferences?: bigint[] | undefined;
926
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
927
- accessReferences?: AccessReference[] | undefined;
935
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
936
+ accessReferences?: ResourceReference[] | undefined;
928
937
  rejectVersion?: number | undefined;
938
+ appId?: 0 | undefined;
929
939
  approvalProgram: string | Uint8Array;
930
940
  clearStateProgram: string | Uint8Array;
931
941
  schema?: {
@@ -953,8 +963,8 @@ declare class AlgorandClientTransactionSender {
953
963
  accountReferences?: ReadableAddress[] | undefined;
954
964
  appReferences?: bigint[] | undefined;
955
965
  assetReferences?: bigint[] | undefined;
956
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
957
- accessReferences?: AccessReference[] | undefined;
966
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
967
+ accessReferences?: ResourceReference[] | undefined;
958
968
  rejectVersion?: number | undefined;
959
969
  approvalProgram: string | Uint8Array;
960
970
  clearStateProgram: string | Uint8Array;
@@ -1003,6 +1013,7 @@ declare class AlgorandClientTransactionSender {
1003
1013
  * // Max fee doesn't make sense with extraFee AND staticFee
1004
1014
  * // already specified, but here for completeness
1005
1015
  * maxFee: (3000).microAlgo(),
1016
+ * rejectVersion: 1,
1006
1017
  * // Signer only needed if you want to provide one,
1007
1018
  * // generally you'd register it with AlgorandClient
1008
1019
  * // against the sender and not need to pass it in
@@ -1030,11 +1041,11 @@ declare class AlgorandClientTransactionSender {
1030
1041
  accountReferences?: ReadableAddress[] | undefined;
1031
1042
  appReferences?: bigint[] | undefined;
1032
1043
  assetReferences?: bigint[] | undefined;
1033
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
1034
- accessReferences?: AccessReference[] | undefined;
1044
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
1045
+ accessReferences?: ResourceReference[] | undefined;
1035
1046
  rejectVersion?: number | undefined;
1036
1047
  method: ABIMethod;
1037
- args?: (Transaction | ABIValue | TransactionWithSigner | Promise<Transaction> | AppMethodCall<{
1048
+ args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
1038
1049
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
1039
1050
  sender: SendingAddress;
1040
1051
  rekeyTo?: ReadableAddress | undefined;
@@ -1051,9 +1062,10 @@ declare class AlgorandClientTransactionSender {
1051
1062
  accountReferences?: ReadableAddress[] | undefined;
1052
1063
  appReferences?: bigint[] | undefined;
1053
1064
  assetReferences?: bigint[] | undefined;
1054
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
1055
- accessReferences?: AccessReference[] | undefined;
1065
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
1066
+ accessReferences?: ResourceReference[] | undefined;
1056
1067
  rejectVersion?: number | undefined;
1068
+ appId?: 0 | undefined;
1057
1069
  approvalProgram: string | Uint8Array;
1058
1070
  clearStateProgram: string | Uint8Array;
1059
1071
  schema?: {
@@ -1081,8 +1093,8 @@ declare class AlgorandClientTransactionSender {
1081
1093
  accountReferences?: ReadableAddress[] | undefined;
1082
1094
  appReferences?: bigint[] | undefined;
1083
1095
  assetReferences?: bigint[] | undefined;
1084
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
1085
- accessReferences?: AccessReference[] | undefined;
1096
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
1097
+ accessReferences?: ResourceReference[] | undefined;
1086
1098
  rejectVersion?: number | undefined;
1087
1099
  approvalProgram: string | Uint8Array;
1088
1100
  clearStateProgram: string | Uint8Array;
@@ -1131,6 +1143,7 @@ declare class AlgorandClientTransactionSender {
1131
1143
  * // Max fee doesn't make sense with extraFee AND staticFee
1132
1144
  * // already specified, but here for completeness
1133
1145
  * maxFee: (3000).microAlgo(),
1146
+ * rejectVersion: 1,
1134
1147
  * // Signer only needed if you want to provide one,
1135
1148
  * // generally you'd register it with AlgorandClient
1136
1149
  * // against the sender and not need to pass it in
@@ -1158,11 +1171,11 @@ declare class AlgorandClientTransactionSender {
1158
1171
  accountReferences?: ReadableAddress[] | undefined;
1159
1172
  appReferences?: bigint[] | undefined;
1160
1173
  assetReferences?: bigint[] | undefined;
1161
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
1162
- accessReferences?: AccessReference[] | undefined;
1174
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
1175
+ accessReferences?: ResourceReference[] | undefined;
1163
1176
  rejectVersion?: number | undefined;
1164
1177
  method: ABIMethod;
1165
- args?: (Transaction | ABIValue | TransactionWithSigner | Promise<Transaction> | AppMethodCall<{
1178
+ args?: (Transaction | Promise<Transaction> | ABIValue | TransactionWithSigner | AppMethodCall<{
1166
1179
  signer?: AddressWithTransactionSigner | TransactionSigner | undefined;
1167
1180
  sender: SendingAddress;
1168
1181
  rekeyTo?: ReadableAddress | undefined;
@@ -1179,9 +1192,10 @@ declare class AlgorandClientTransactionSender {
1179
1192
  accountReferences?: ReadableAddress[] | undefined;
1180
1193
  appReferences?: bigint[] | undefined;
1181
1194
  assetReferences?: bigint[] | undefined;
1182
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
1183
- accessReferences?: AccessReference[] | undefined;
1195
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
1196
+ accessReferences?: ResourceReference[] | undefined;
1184
1197
  rejectVersion?: number | undefined;
1198
+ appId?: 0 | undefined;
1185
1199
  approvalProgram: string | Uint8Array;
1186
1200
  clearStateProgram: string | Uint8Array;
1187
1201
  schema?: {
@@ -1209,8 +1223,8 @@ declare class AlgorandClientTransactionSender {
1209
1223
  accountReferences?: ReadableAddress[] | undefined;
1210
1224
  appReferences?: bigint[] | undefined;
1211
1225
  assetReferences?: bigint[] | undefined;
1212
- boxReferences?: (BoxIdentifier | BoxReference)[] | undefined;
1213
- accessReferences?: AccessReference[] | undefined;
1226
+ boxReferences?: (BoxReference | BoxIdentifier)[] | undefined;
1227
+ accessReferences?: ResourceReference[] | undefined;
1214
1228
  rejectVersion?: number | undefined;
1215
1229
  approvalProgram: string | Uint8Array;
1216
1230
  clearStateProgram: string | Uint8Array;
@@ -1263,7 +1277,7 @@ declare class AlgorandClientTransactionSender {
1263
1277
  voteFirst: bigint;
1264
1278
  voteLast: bigint;
1265
1279
  voteKeyDilution: bigint;
1266
- stateProofKey?: Uint8Array | undefined;
1280
+ stateProofKey: Uint8Array;
1267
1281
  } & SendParams) => Promise<SendSingleTransactionResult>;
1268
1282
  /**
1269
1283
  * Register an offline key.
@@ -4,7 +4,6 @@ const require_config = require('../config.js');
4
4
  const require_util = require('../util.js');
5
5
  const require_app_manager = require('./app-manager.js');
6
6
  let buffer = require("buffer");
7
- buffer = require_rolldown_runtime.__toESM(buffer);
8
7
 
9
8
  //#region src/types/algorand-client-transaction-sender.ts
10
9
  const getMethodCallForLog = ({ method, args }) => {
@@ -480,6 +479,7 @@ var AlgorandClientTransactionSender = class {
480
479
  * // Max fee doesn't make sense with extraFee AND staticFee
481
480
  * // already specified, but here for completeness
482
481
  * maxFee: (3000).microAlgo(),
482
+ * rejectVersion: 1,
483
483
  * // Signer only needed if you want to provide one,
484
484
  * // generally you'd register it with AlgorandClient
485
485
  * // against the sender and not need to pass it in
@@ -524,6 +524,7 @@ var AlgorandClientTransactionSender = class {
524
524
  * // Max fee doesn't make sense with extraFee AND staticFee
525
525
  * // already specified, but here for completeness
526
526
  * maxFee: (3000).microAlgo(),
527
+ * rejectVersion: 1,
527
528
  * // Signer only needed if you want to provide one,
528
529
  * // generally you'd register it with AlgorandClient
529
530
  * // against the sender and not need to pass it in
@@ -566,6 +567,7 @@ var AlgorandClientTransactionSender = class {
566
567
  * // Max fee doesn't make sense with extraFee AND staticFee
567
568
  * // already specified, but here for completeness
568
569
  * maxFee: (3000).microAlgo(),
570
+ * rejectVersion: 1,
569
571
  * // Signer only needed if you want to provide one,
570
572
  * // generally you'd register it with AlgorandClient
571
573
  * // against the sender and not need to pass it in
@@ -608,6 +610,7 @@ var AlgorandClientTransactionSender = class {
608
610
  * // Max fee doesn't make sense with extraFee AND staticFee
609
611
  * // already specified, but here for completeness
610
612
  * maxFee: (3000).microAlgo(),
613
+ * rejectVersion: 1,
611
614
  * // Signer only needed if you want to provide one,
612
615
  * // generally you'd register it with AlgorandClient
613
616
  * // against the sender and not need to pass it in
@@ -672,6 +675,7 @@ var AlgorandClientTransactionSender = class {
672
675
  * // Max fee doesn't make sense with extraFee AND staticFee
673
676
  * // already specified, but here for completeness
674
677
  * maxFee: (3000).microAlgo(),
678
+ * rejectVersion: 1,
675
679
  * // Signer only needed if you want to provide one,
676
680
  * // generally you'd register it with AlgorandClient
677
681
  * // against the sender and not need to pass it in
@@ -728,6 +732,7 @@ var AlgorandClientTransactionSender = class {
728
732
  * // Max fee doesn't make sense with extraFee AND staticFee
729
733
  * // already specified, but here for completeness
730
734
  * maxFee: (3000).microAlgo(),
735
+ * rejectVersion: 1,
731
736
  * // Signer only needed if you want to provide one,
732
737
  * // generally you'd register it with AlgorandClient
733
738
  * // against the sender and not need to pass it in
@@ -782,6 +787,7 @@ var AlgorandClientTransactionSender = class {
782
787
  * // Max fee doesn't make sense with extraFee AND staticFee
783
788
  * // already specified, but here for completeness
784
789
  * maxFee: (3000).microAlgo(),
790
+ * rejectVersion: 1,
785
791
  * // Signer only needed if you want to provide one,
786
792
  * // generally you'd register it with AlgorandClient
787
793
  * // against the sender and not need to pass it in
@@ -836,6 +842,7 @@ var AlgorandClientTransactionSender = class {
836
842
  * // Max fee doesn't make sense with extraFee AND staticFee
837
843
  * // already specified, but here for completeness
838
844
  * maxFee: (3000).microAlgo(),
845
+ * rejectVersion: 1,
839
846
  * // Signer only needed if you want to provide one,
840
847
  * // generally you'd register it with AlgorandClient
841
848
  * // against the sender and not need to pass it in
@@ -1 +1 @@
1
- {"version":3,"file":"algorand-client-transaction-sender.js","names":["asJson","defaultJsonValueReplacer","Buffer","AppManager","getApplicationAddress","params","result","getAddress"],"sources":["../../src/types/algorand-client-transaction-sender.ts"],"sourcesContent":["import { ABIMethod } from '@algorandfoundation/algokit-abi'\nimport { ReadableAddress, getAddress, getApplicationAddress } from '@algorandfoundation/algokit-common'\nimport { Transaction } from '@algorandfoundation/algokit-transact'\nimport { Buffer } from 'buffer'\nimport { Config } from '../config'\nimport { asJson, defaultJsonValueReplacer } from '../util'\nimport { SendAppCreateTransactionResult, SendAppTransactionResult, SendAppUpdateTransactionResult } from './app'\nimport { AppManager } from './app-manager'\nimport { AssetManager } from './asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n AssetCreateParams,\n AssetOptOutParams,\n TransactionComposer,\n TransactionComposerConfig,\n} from './composer'\nimport { SendParams, SendSingleTransactionResult } from './transaction'\n\nconst getMethodCallForLog = ({ method, args }: { method: ABIMethod; args?: unknown[] }) => {\n return `${method.name}(${(args ?? []).map((a) =>\n typeof a === 'object'\n ? asJson(a, (k, v) => {\n const newV = defaultJsonValueReplacer(k, v)\n return newV instanceof Uint8Array ? Buffer.from(newV).toString('base64') : newV\n })\n : a,\n )})`\n}\n\n/** Orchestrates sending transactions for `AlgorandClient`. */\nexport class AlgorandClientTransactionSender {\n private _newGroup: () => TransactionComposer\n private _assetManager: AssetManager\n private _appManager: AppManager\n\n /**\n * Creates a new `AlgorandClientSender`\n * @param newGroup A lambda that starts a new `TransactionComposer` transaction group\n * @param assetManager An `AssetManager` instance\n * @param appManager An `AppManager` instance\n * @example\n * ```typescript\n * const transactionSender = new AlgorandClientTransactionSender(() => new TransactionComposer(), assetManager, appManager)\n * ```\n */\n constructor(newGroup: (config?: TransactionComposerConfig) => TransactionComposer, assetManager: AssetManager, appManager: AppManager) {\n this._newGroup = newGroup\n this._assetManager = assetManager\n this._appManager = appManager\n }\n\n /**\n * Start a new `TransactionComposer` transaction group\n * @returns A new instance of `TransactionComposer`.\n * @example\n * const composer = AlgorandClient.mainNet().send.newGroup();\n * const result = await composer.addTransaction(payment).send()\n */\n newGroup() {\n return this._newGroup()\n }\n\n private _send<T>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendSingleTransactionResult> {\n return async (params) => {\n const composer = this._newGroup()\n\n // Ensure `this` is properly populated\n c(composer).apply(composer, [params])\n\n if (log?.preLog) {\n const transaction = (await composer.build()).transactions.at(-1)!.txn\n Config.getLogger(params?.suppressLog).debug(log.preLog(params, transaction))\n }\n\n const rawResult = await composer.send(params)\n const result = {\n // Last item covers when a group is created by an app call with ABI transaction parameters\n transaction: rawResult.transactions.at(-1)!,\n confirmation: rawResult.confirmations.at(-1)!,\n txId: rawResult.txIds.at(-1)!,\n ...rawResult,\n }\n\n if (log?.postLog) {\n Config.getLogger(params?.suppressLog).debug(log.postLog(params, result))\n }\n\n return result\n }\n }\n\n private _sendAppCall<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppCallParams\n | AppDeleteParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppCallMethodCall\n | AppDeleteMethodCall,\n >(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppTransactionResult> {\n return async (params) => {\n const result = await this._send(c, log)(params)\n\n return { ...result, return: AppManager.getABIReturn(result.confirmation, 'method' in params ? params.method : undefined) }\n }\n }\n\n private _sendAppUpdateCall<T extends AppCreateParams | AppUpdateParams | AppCreateMethodCall | AppUpdateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppUpdateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppCall(c, log)(params)\n\n const compiledApproval =\n typeof params.approvalProgram === 'string' ? this._appManager.getCompilationResult(params.approvalProgram) : undefined\n const compiledClear =\n typeof params.clearStateProgram === 'string' ? this._appManager.getCompilationResult(params.clearStateProgram) : undefined\n\n return { ...result, compiledApproval, compiledClear }\n }\n }\n\n private _sendAppCreateCall<T extends AppCreateParams | AppCreateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppCreateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppUpdateCall(c, log)(params)\n\n return {\n ...result,\n appId: BigInt(result.confirmation.appId!),\n appAddress: getApplicationAddress(result.confirmation.appId!),\n }\n }\n }\n\n /**\n * Send a payment transaction to transfer Algo between accounts.\n * @param params The parameters for the payment transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.payment({\n * sender: 'SENDERADDRESS',\n * receiver: 'RECEIVERADDRESS',\n * amount: (4).algo(),\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.payment({\n * amount: (4).algo(),\n * receiver: 'RECEIVERADDRESS',\n * sender: 'SENDERADDRESS',\n * closeRemainderTo: 'CLOSEREMAINDERTOADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the payment transaction and the transaction that was sent\n */\n payment = this._send((c) => c.addPayment, {\n preLog: (params, transaction) =>\n `Sending ${params.amount.microAlgo} µALGO from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Create a new Algorand Standard Asset.\n *\n * The account that sends this transaction will automatically be\n * opted in to the asset and will hold all units after creation.\n *\n * @param params The parameters for the asset creation transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetCreate({ sender: \"CREATORADDRESS\", total: 100n})\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetCreate({\n * sender: 'CREATORADDRESS',\n * total: 100n,\n * decimals: 2,\n * assetName: 'asset',\n * unitName: 'unit',\n * url: 'url',\n * metadataHash: 'metadataHash',\n * defaultFrozen: false,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset create transaction and the transaction that was sent\n */\n assetCreate = async (params: AssetCreateParams & SendParams) => {\n const result = await this._send((c) => c.addAssetCreate, {\n postLog: (params, result) =>\n `Created asset${params.assetName ? ` ${params.assetName}` : ''}${params.unitName ? ` (${params.unitName})` : ''} with ${params.total} units and ${params.decimals ?? 0} decimals created by ${params.sender} with ID ${result.confirmation.assetId} via transaction ${result.txIds.at(-1)}`,\n })(params)\n return { ...result, assetId: BigInt(result.confirmation.assetId ?? 0) }\n }\n /**\n * Configure an existing Algorand Standard Asset.\n *\n * **Note:** The manager, reserve, freeze, and clawback addresses\n * are immutably empty if they are not set. If manager is not set then\n * all fields are immutable from that point forward.\n *\n * @param params The parameters for the asset config transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetConfig({ sender: \"MANAGERADDRESS\", assetId: 123456n, manager: \"MANAGERADDRESS\" })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetConfig({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset config transaction and the transaction that was sent\n */\n assetConfig = this._send((c) => c.addAssetConfig, {\n preLog: (params, transaction) => `Configuring asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Freeze or unfreeze an Algorand Standard Asset for an account.\n *\n * @param params The parameters for the asset freeze transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetFreeze({ sender: \"MANAGERADDRESS\", assetId: 123456n, account: \"ACCOUNTADDRESS\", frozen: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetFreeze({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * account: 'ACCOUNTADDRESS',\n * frozen: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset freeze transaction and the transaction that was sent\n */\n assetFreeze = this._send((c) => c.addAssetFreeze, {\n preLog: (params, transaction) => `Freezing asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Destroys an Algorand Standard Asset.\n *\n * Created assets can be destroyed only by the asset manager account.\n * All of the assets must be owned by the creator of the asset before\n * the asset can be deleted.\n *\n * @param params The parameters for the asset destroy transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetDestroy({ sender: \"MANAGERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetDestroy({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset destroy transaction and the transaction that was sent\n */\n assetDestroy = this._send((c) => c.addAssetDestroy, {\n preLog: (params, transaction) => `Destroying asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Transfer an Algorand Standard Asset.\n *\n * @param params The parameters for the asset transfer transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetTransfer({ sender: \"HOLDERADDRESS\", assetId: 123456n, amount: 1n, receiver: \"RECEIVERADDRESS\" })\n * ```\n * @example Advanced example (with clawback)\n * ```typescript\n * await algorand.send.assetTransfer({\n * sender: 'CLAWBACKADDRESS',\n * assetId: 123456n,\n * amount: 1n,\n * receiver: 'RECEIVERADDRESS',\n * clawbackTarget: 'HOLDERADDRESS',\n * // This field needs to be used with caution\n * closeAssetTo: 'ADDRESSTOCLOSETO'\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset transfer transaction and the transaction that was sent\n */\n assetTransfer = this._send((c) => c.addAssetTransfer, {\n preLog: (params, transaction) =>\n `Transferring ${params.amount} units of asset with ID ${params.assetId} from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account into an Algorand Standard Asset.\n *\n * @param params The parameters for the asset opt-in transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetOptIn({ sender: \"SENDERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptIn({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-in transaction and the transaction that was sent\n */\n assetOptIn = this._send((c) => c.addAssetOptIn, {\n preLog: (params, transaction) => `Opting in ${params.sender} to asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account out of an Algorand Standard Asset.\n *\n * *Note:* If the account has a balance of the asset,\n * it will not be able to opt-out unless `ensureZeroBalance`\n * is set to `false` (but then the account will lose the assets).\n *\n * @param params The parameters for the asset opt-out transaction\n *\n * @example Basic example (without creator, will be retrieved from algod)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Basic example (with creator)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", creator: \"CREATORADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptOut({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * creator: 'CREATORADDRESS',\n * ensureZeroBalance: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-out transaction and the transaction that was sent\n */\n assetOptOut = async (\n params: Omit<AssetOptOutParams, 'creator'> & {\n /** Optional asset creator account address; if not specified it will be retrieved from algod */\n creator?: ReadableAddress\n /** Whether or not to check if the account has a zero balance first or not.\n *\n * If this is set to `true` and the account has an asset balance it will throw an error.\n *\n * If this is set to `false` and the account has an asset balance it will lose those assets to the asset creator.\n */\n ensureZeroBalance: boolean\n } & SendParams,\n ) => {\n if (params.ensureZeroBalance) {\n let balance = 0n\n try {\n const accountAssetInfo = await this._assetManager.getAccountInformation(getAddress(params.sender), params.assetId)\n balance = accountAssetInfo.balance\n } catch {\n throw new Error(`Account ${params.sender} is not opted-in to Asset ${params.assetId}; can't opt-out.`)\n }\n if (balance !== 0n) {\n throw new Error(`Account ${params.sender} does not have a zero balance for Asset ${params.assetId}; can't opt-out.`)\n }\n }\n\n params.creator = params.creator ?? (await this._assetManager.getById(params.assetId)).creator\n\n return await this._send((c) => c.addAssetOptOut, {\n preLog: (params, transaction) =>\n `Opting ${params.sender} out of asset with ID ${params.assetId} to creator ${params.creator} via transaction ${transaction.txId()}`,\n })(params as AssetOptOutParams & SendParams)\n }\n /**\n * Create a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.appCreate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCreate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app create transaction and the transaction that was sent\n */\n appCreate = this._sendAppCreateCall((c) => c.addAppCreate, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appUpdate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appUpdate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app update transaction and the transaction that was sent\n */\n appUpdate = this._sendAppUpdateCall((c) => c.addAppUpdate, {\n postLog: (params, result) =>\n `App ${params.appId} updated ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appDelete({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appDelete({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app delete transaction and the transaction that was sent\n */\n appDelete = this._sendAppCall((c) => c.addAppDelete, {\n postLog: (params, result) =>\n `App ${params.appId} deleted ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appCall({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCall({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app call transaction and the transaction that was sent\n */\n appCall = this._sendAppCall((c) => c.addAppCall, {\n postLog: (params, result) =>\n `App ${params.appId} called ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Create a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * const result = await algorand.send.appCreateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCreateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method create transaction and the transaction that was sent\n */\n appCreateMethodCall = this._sendAppCreateCall((c) => c.addAppCreateMethodCall, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method update transaction and the transaction that was sent\n */\n appUpdateMethodCall = this._sendAppUpdateCall((c) => c.addAppUpdateMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} updated with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method delete transaction and the transaction that was sent\n */\n appDeleteMethodCall = this._sendAppCall((c) => c.addAppDeleteMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} deleted with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method call transaction and the transaction that was sent\n */\n appCallMethodCall = this._sendAppCall((c) => c.addAppCallMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} called with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Register an online key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the online key registration transaction and the transaction that was sent\n */\n onlineKeyRegistration = this._send((c) => c.addOnlineKeyRegistration, {\n preLog: (params, transaction) => `Registering online key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n\n /**\n * Register an offline key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the offline key registration transaction and the transaction that was sent\n */\n offlineKeyRegistration = this._send((c) => c.addOfflineKeyRegistration, {\n preLog: (params, transaction) => `Registering offline key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"algorand-client-transaction-sender.js","names":["asJson","defaultJsonValueReplacer","Buffer","AppManager","getApplicationAddress","params","result","getAddress"],"sources":["../../src/types/algorand-client-transaction-sender.ts"],"sourcesContent":["import { ABIMethod } from '@algorandfoundation/algokit-abi'\nimport { ReadableAddress, getAddress, getApplicationAddress } from '@algorandfoundation/algokit-common'\nimport { Transaction } from '@algorandfoundation/algokit-transact'\nimport { Buffer } from 'buffer'\nimport { Config } from '../config'\nimport { asJson, defaultJsonValueReplacer } from '../util'\nimport { SendAppCreateTransactionResult, SendAppTransactionResult, SendAppUpdateTransactionResult } from './app'\nimport { AppManager } from './app-manager'\nimport { AssetManager } from './asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n AssetCreateParams,\n AssetOptOutParams,\n TransactionComposer,\n TransactionComposerConfig,\n} from './composer'\nimport { SendParams, SendSingleTransactionResult } from './transaction'\n\nconst getMethodCallForLog = ({ method, args }: { method: ABIMethod; args?: unknown[] }) => {\n return `${method.name}(${(args ?? []).map((a) =>\n typeof a === 'object'\n ? asJson(a, (k, v) => {\n const newV = defaultJsonValueReplacer(k, v)\n return newV instanceof Uint8Array ? Buffer.from(newV).toString('base64') : newV\n })\n : a,\n )})`\n}\n\n/** Orchestrates sending transactions for `AlgorandClient`. */\nexport class AlgorandClientTransactionSender {\n private _newGroup: () => TransactionComposer\n private _assetManager: AssetManager\n private _appManager: AppManager\n\n /**\n * Creates a new `AlgorandClientSender`\n * @param newGroup A lambda that starts a new `TransactionComposer` transaction group\n * @param assetManager An `AssetManager` instance\n * @param appManager An `AppManager` instance\n * @example\n * ```typescript\n * const transactionSender = new AlgorandClientTransactionSender(() => new TransactionComposer(), assetManager, appManager)\n * ```\n */\n constructor(newGroup: (config?: TransactionComposerConfig) => TransactionComposer, assetManager: AssetManager, appManager: AppManager) {\n this._newGroup = newGroup\n this._assetManager = assetManager\n this._appManager = appManager\n }\n\n /**\n * Start a new `TransactionComposer` transaction group\n * @returns A new instance of `TransactionComposer`.\n * @example\n * const composer = AlgorandClient.mainNet().send.newGroup();\n * const result = await composer.addTransaction(payment).send()\n */\n newGroup() {\n return this._newGroup()\n }\n\n private _send<T>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendSingleTransactionResult> {\n return async (params) => {\n const composer = this._newGroup()\n\n // Ensure `this` is properly populated\n c(composer).apply(composer, [params])\n\n if (log?.preLog) {\n const transaction = (await composer.build()).transactions.at(-1)!.txn\n Config.getLogger(params?.suppressLog).debug(log.preLog(params, transaction))\n }\n\n const rawResult = await composer.send(params)\n const result = {\n // Last item covers when a group is created by an app call with ABI transaction parameters\n transaction: rawResult.transactions.at(-1)!,\n confirmation: rawResult.confirmations.at(-1)!,\n txId: rawResult.txIds.at(-1)!,\n ...rawResult,\n }\n\n if (log?.postLog) {\n Config.getLogger(params?.suppressLog).debug(log.postLog(params, result))\n }\n\n return result\n }\n }\n\n private _sendAppCall<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppCallParams\n | AppDeleteParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppCallMethodCall\n | AppDeleteMethodCall,\n >(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppTransactionResult> {\n return async (params) => {\n const result = await this._send(c, log)(params)\n\n return { ...result, return: AppManager.getABIReturn(result.confirmation, 'method' in params ? params.method : undefined) }\n }\n }\n\n private _sendAppUpdateCall<T extends AppCreateParams | AppUpdateParams | AppCreateMethodCall | AppUpdateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppUpdateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppCall(c, log)(params)\n\n const compiledApproval =\n typeof params.approvalProgram === 'string' ? this._appManager.getCompilationResult(params.approvalProgram) : undefined\n const compiledClear =\n typeof params.clearStateProgram === 'string' ? this._appManager.getCompilationResult(params.clearStateProgram) : undefined\n\n return { ...result, compiledApproval, compiledClear }\n }\n }\n\n private _sendAppCreateCall<T extends AppCreateParams | AppCreateMethodCall>(\n c: (c: TransactionComposer) => (params: T) => TransactionComposer,\n log?: {\n preLog?: (params: T, transaction: Transaction) => string\n postLog?: (params: T, result: SendSingleTransactionResult) => string\n },\n ): (params: T & SendParams) => Promise<SendAppCreateTransactionResult> {\n return async (params) => {\n const result = await this._sendAppUpdateCall(c, log)(params)\n\n return {\n ...result,\n appId: BigInt(result.confirmation.appId!),\n appAddress: getApplicationAddress(result.confirmation.appId!),\n }\n }\n }\n\n /**\n * Send a payment transaction to transfer Algo between accounts.\n * @param params The parameters for the payment transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.payment({\n * sender: 'SENDERADDRESS',\n * receiver: 'RECEIVERADDRESS',\n * amount: (4).algo(),\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.payment({\n * amount: (4).algo(),\n * receiver: 'RECEIVERADDRESS',\n * sender: 'SENDERADDRESS',\n * closeRemainderTo: 'CLOSEREMAINDERTOADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the payment transaction and the transaction that was sent\n */\n payment = this._send((c) => c.addPayment, {\n preLog: (params, transaction) =>\n `Sending ${params.amount.microAlgo} µALGO from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Create a new Algorand Standard Asset.\n *\n * The account that sends this transaction will automatically be\n * opted in to the asset and will hold all units after creation.\n *\n * @param params The parameters for the asset creation transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetCreate({ sender: \"CREATORADDRESS\", total: 100n})\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetCreate({\n * sender: 'CREATORADDRESS',\n * total: 100n,\n * decimals: 2,\n * assetName: 'asset',\n * unitName: 'unit',\n * url: 'url',\n * metadataHash: 'metadataHash',\n * defaultFrozen: false,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset create transaction and the transaction that was sent\n */\n assetCreate = async (params: AssetCreateParams & SendParams) => {\n const result = await this._send((c) => c.addAssetCreate, {\n postLog: (params, result) =>\n `Created asset${params.assetName ? ` ${params.assetName}` : ''}${params.unitName ? ` (${params.unitName})` : ''} with ${params.total} units and ${params.decimals ?? 0} decimals created by ${params.sender} with ID ${result.confirmation.assetId} via transaction ${result.txIds.at(-1)}`,\n })(params)\n return { ...result, assetId: BigInt(result.confirmation.assetId ?? 0) }\n }\n /**\n * Configure an existing Algorand Standard Asset.\n *\n * **Note:** The manager, reserve, freeze, and clawback addresses\n * are immutably empty if they are not set. If manager is not set then\n * all fields are immutable from that point forward.\n *\n * @param params The parameters for the asset config transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetConfig({ sender: \"MANAGERADDRESS\", assetId: 123456n, manager: \"MANAGERADDRESS\" })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetConfig({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * manager: 'MANAGERADDRESS',\n * reserve: 'RESERVEADDRESS',\n * freeze: 'FREEZEADDRESS',\n * clawback: 'CLAWBACKADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset config transaction and the transaction that was sent\n */\n assetConfig = this._send((c) => c.addAssetConfig, {\n preLog: (params, transaction) => `Configuring asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Freeze or unfreeze an Algorand Standard Asset for an account.\n *\n * @param params The parameters for the asset freeze transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetFreeze({ sender: \"MANAGERADDRESS\", assetId: 123456n, account: \"ACCOUNTADDRESS\", frozen: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetFreeze({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * account: 'ACCOUNTADDRESS',\n * frozen: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset freeze transaction and the transaction that was sent\n */\n assetFreeze = this._send((c) => c.addAssetFreeze, {\n preLog: (params, transaction) => `Freezing asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Destroys an Algorand Standard Asset.\n *\n * Created assets can be destroyed only by the asset manager account.\n * All of the assets must be owned by the creator of the asset before\n * the asset can be deleted.\n *\n * @param params The parameters for the asset destroy transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetDestroy({ sender: \"MANAGERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetDestroy({\n * sender: 'MANAGERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset destroy transaction and the transaction that was sent\n */\n assetDestroy = this._send((c) => c.addAssetDestroy, {\n preLog: (params, transaction) => `Destroying asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Transfer an Algorand Standard Asset.\n *\n * @param params The parameters for the asset transfer transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetTransfer({ sender: \"HOLDERADDRESS\", assetId: 123456n, amount: 1n, receiver: \"RECEIVERADDRESS\" })\n * ```\n * @example Advanced example (with clawback)\n * ```typescript\n * await algorand.send.assetTransfer({\n * sender: 'CLAWBACKADDRESS',\n * assetId: 123456n,\n * amount: 1n,\n * receiver: 'RECEIVERADDRESS',\n * clawbackTarget: 'HOLDERADDRESS',\n * // This field needs to be used with caution\n * closeAssetTo: 'ADDRESSTOCLOSETO'\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset transfer transaction and the transaction that was sent\n */\n assetTransfer = this._send((c) => c.addAssetTransfer, {\n preLog: (params, transaction) =>\n `Transferring ${params.amount} units of asset with ID ${params.assetId} from ${params.sender} to ${params.receiver} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account into an Algorand Standard Asset.\n *\n * @param params The parameters for the asset opt-in transaction\n *\n * @example Basic example\n * ```typescript\n * await algorand.send.assetOptIn({ sender: \"SENDERADDRESS\", assetId: 123456n })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptIn({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-in transaction and the transaction that was sent\n */\n assetOptIn = this._send((c) => c.addAssetOptIn, {\n preLog: (params, transaction) => `Opting in ${params.sender} to asset with ID ${params.assetId} via transaction ${transaction.txId()}`,\n })\n /**\n * Opt an account out of an Algorand Standard Asset.\n *\n * *Note:* If the account has a balance of the asset,\n * it will not be able to opt-out unless `ensureZeroBalance`\n * is set to `false` (but then the account will lose the assets).\n *\n * @param params The parameters for the asset opt-out transaction\n *\n * @example Basic example (without creator, will be retrieved from algod)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Basic example (with creator)\n * ```typescript\n * await algorand.send.assetOptOut({ sender: \"SENDERADDRESS\", creator: \"CREATORADDRESS\", assetId: 123456n, ensureZeroBalance: true })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.assetOptOut({\n * sender: 'SENDERADDRESS',\n * assetId: 123456n,\n * creator: 'CREATORADDRESS',\n * ensureZeroBalance: true,\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n * })\n * ```\n * @returns The result of the asset opt-out transaction and the transaction that was sent\n */\n assetOptOut = async (\n params: Omit<AssetOptOutParams, 'creator'> & {\n /** Optional asset creator account address; if not specified it will be retrieved from algod */\n creator?: ReadableAddress\n /** Whether or not to check if the account has a zero balance first or not.\n *\n * If this is set to `true` and the account has an asset balance it will throw an error.\n *\n * If this is set to `false` and the account has an asset balance it will lose those assets to the asset creator.\n */\n ensureZeroBalance: boolean\n } & SendParams,\n ) => {\n if (params.ensureZeroBalance) {\n let balance = 0n\n try {\n const accountAssetInfo = await this._assetManager.getAccountInformation(getAddress(params.sender), params.assetId)\n balance = accountAssetInfo.balance\n } catch {\n throw new Error(`Account ${params.sender} is not opted-in to Asset ${params.assetId}; can't opt-out.`)\n }\n if (balance !== 0n) {\n throw new Error(`Account ${params.sender} does not have a zero balance for Asset ${params.assetId}; can't opt-out.`)\n }\n }\n\n params.creator = params.creator ?? (await this._assetManager.getById(params.assetId)).creator\n\n return await this._send((c) => c.addAssetOptOut, {\n preLog: (params, transaction) =>\n `Opting ${params.sender} out of asset with ID ${params.assetId} to creator ${params.creator} via transaction ${transaction.txId()}`,\n })(params as AssetOptOutParams & SendParams)\n }\n /**\n * Create a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.appCreate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCreate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app create transaction and the transaction that was sent\n */\n appCreate = this._sendAppCreateCall((c) => c.addAppCreate, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appUpdate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appUpdate({\n * sender: 'CREATORADDRESS',\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app update transaction and the transaction that was sent\n */\n appUpdate = this._sendAppUpdateCall((c) => c.addAppUpdate, {\n postLog: (params, result) =>\n `App ${params.appId} updated ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appDelete({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appDelete({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app delete transaction and the transaction that was sent\n */\n appDelete = this._sendAppCall((c) => c.addAppDelete, {\n postLog: (params, result) =>\n `App ${params.appId} deleted ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * await algorand.send.appCall({ sender: 'CREATORADDRESS' })\n * ```\n * @example Advanced example\n * ```typescript\n * await algorand.send.appCall({\n * sender: 'CREATORADDRESS',\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the app call transaction and the transaction that was sent\n */\n appCall = this._sendAppCall((c) => c.addAppCall, {\n postLog: (params, result) =>\n `App ${params.appId} called ${params.args ? ` with ${params.args.map((a) => Buffer.from(a).toString('base64'))}` : ''} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Create a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app creation transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * const result = await algorand.send.appCreateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * const createdAppId = result.appId\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCreateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * schema: {\n * globalInts: 1,\n * globalByteSlices: 2,\n * localInts: 3,\n * localByteSlices: 4\n * },\n * extraProgramPages: 1,\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method create transaction and the transaction that was sent\n */\n appCreateMethodCall = this._sendAppCreateCall((c) => c.addAppCreateMethodCall, {\n postLog: (params, result) =>\n `App created by ${params.sender} with ID ${result.confirmation.appId} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Update a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app update transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appUpdateMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * approvalProgram: \"TEALCODE\",\n * clearStateProgram: \"TEALCODE\",\n * onComplete: OnApplicationComplete.UpdateApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method update transaction and the transaction that was sent\n */\n appUpdateMethodCall = this._sendAppUpdateCall((c) => c.addAppUpdateMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} updated with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Delete a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app deletion transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appDeleteMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.DeleteApplication,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method delete transaction and the transaction that was sent\n */\n appDeleteMethodCall = this._sendAppCall((c) => c.addAppDeleteMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} deleted with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Call a smart contract via an ABI method.\n *\n * Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.\n *\n * @param params The parameters for the app call transaction\n * @example Basic example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({ sender: 'CREATORADDRESS', method: method, args: [\"arg1_value\"] })\n * ```\n * @example Advanced example\n * ```typescript\n * const method = new ABIMethod({\n * name: 'method',\n * args: [{ name: 'arg1', type: 'string' }],\n * returns: { type: 'string' },\n * })\n * await algorand.send.appCallMethodCall({\n * sender: 'CREATORADDRESS',\n * method: method,\n * args: [\"arg1_value\"],\n * onComplete: OnApplicationComplete.OptIn,\n * args: [new Uint8Array(1, 2, 3, 4)]\n * accountReferences: [\"ACCOUNT_1\"]\n * appReferences: [123n, 1234n]\n * assetReferences: [12345n]\n * boxReferences: [\"box1\", {appId: 1234n, name: \"box2\"}]\n * accessReferences: [{ appId: 1234n }]\n * lease: 'lease',\n * note: 'note',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * rejectVersion: 1,\n * // Signer only needed if you want to provide one,\n * // generally you'd register it with AlgorandClient\n * // against the sender and not need to pass it in\n * signer: transactionSigner,\n * maxRoundsToWaitForConfirmation: 5,\n * suppressLog: true,\n *})\n * ```\n * @returns The result of the application ABI method call transaction and the transaction that was sent\n */\n appCallMethodCall = this._sendAppCall((c) => c.addAppCallMethodCall, {\n postLog: (params, result) =>\n `App ${params.appId} called with ${getMethodCallForLog(params)} by ${params.sender} via transaction ${result.txIds.at(-1)}`,\n })\n\n /**\n * Register an online key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.onlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * voteKey: Uint8Array.from(Buffer.from(\"voteKeyBase64\", 'base64')),\n * selectionKey: Uint8Array.from(Buffer.from(\"selectionKeyBase64\", 'base64')),\n * stateProofKey: Uint8Array.from(Buffer.from(\"stateProofKeyBase64\", 'base64')),\n * voteFirst: 1n,\n * voteLast: 1000n,\n * voteKeyDilution: 1n,\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the online key registration transaction and the transaction that was sent\n */\n onlineKeyRegistration = this._send((c) => c.addOnlineKeyRegistration, {\n preLog: (params, transaction) => `Registering online key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n\n /**\n * Register an offline key.\n * @param params The parameters for the key registration transaction\n * @example Basic example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * })\n * ```\n * @example Advanced example\n * ```typescript\n * const result = await algorand.send.offlineKeyRegistration({\n * sender: 'SENDERADDRESS',\n * lease: 'lease',\n * note: 'note',\n * // Use this with caution, it's generally better to use algorand.account.rekeyAccount\n * rekeyTo: 'REKEYTOADDRESS',\n * // You wouldn't normally set this field\n * firstValidRound: 1000n,\n * validityWindow: 10,\n * extraFee: (1000).microAlgo(),\n * staticFee: (1000).microAlgo(),\n * // Max fee doesn't make sense with extraFee AND staticFee\n * // already specified, but here for completeness\n * maxFee: (3000).microAlgo(),\n * })\n * ```\n * @returns The result of the offline key registration transaction and the transaction that was sent\n */\n offlineKeyRegistration = this._send((c) => c.addOfflineKeyRegistration, {\n preLog: (params, transaction) => `Registering offline key for ${params.sender} via transaction ${transaction.txId()}`,\n })\n}\n"],"mappings":"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"}