@algorandfoundation/algokit-utils 10.0.0-alpha.4 → 10.0.0-alpha.41

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 (1132) hide show
  1. package/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +11 -16
  2. package/abi/index.d.ts +2 -1
  3. package/abi/index.js +4 -0
  4. package/abi/index.mjs +2 -1
  5. package/account-manager.d.ts +447 -0
  6. package/account-manager.js +618 -0
  7. package/account-manager.js.map +1 -0
  8. package/account-manager.mjs +614 -0
  9. package/account-manager.mjs.map +1 -0
  10. package/account.d.ts +156 -0
  11. package/account.js +11 -0
  12. package/account.js.map +1 -0
  13. package/account.mjs +9 -0
  14. package/account.mjs.map +1 -0
  15. package/algo25/index.js +1 -0
  16. package/algod-client/index.d.ts +3 -7
  17. package/algod-client/index.js +4 -5
  18. package/algod-client/index.mjs +2 -2
  19. package/algorand-client-transaction-creator.d.ts +891 -0
  20. package/algorand-client-transaction-creator.js +736 -0
  21. package/algorand-client-transaction-creator.js.map +1 -0
  22. package/algorand-client-transaction-creator.mjs +734 -0
  23. package/algorand-client-transaction-creator.mjs.map +1 -0
  24. package/algorand-client-transaction-sender.d.ts +1099 -0
  25. package/algorand-client-transaction-sender.js +928 -0
  26. package/algorand-client-transaction-sender.js.map +1 -0
  27. package/algorand-client-transaction-sender.mjs +926 -0
  28. package/algorand-client-transaction-sender.mjs.map +1 -0
  29. package/algorand-client.d.ts +266 -0
  30. package/algorand-client.js +350 -0
  31. package/algorand-client.js.map +1 -0
  32. package/algorand-client.mjs +349 -0
  33. package/algorand-client.mjs.map +1 -0
  34. package/amount.d.ts +58 -3
  35. package/amount.js +109 -17
  36. package/amount.js.map +1 -1
  37. package/amount.mjs +100 -11
  38. package/amount.mjs.map +1 -1
  39. package/app-client.d.ts +1064 -0
  40. package/app-client.js +912 -0
  41. package/app-client.js.map +1 -0
  42. package/app-client.mjs +910 -0
  43. package/app-client.mjs.map +1 -0
  44. package/app-deployer.d.ts +166 -0
  45. package/app-deployer.js +354 -0
  46. package/app-deployer.js.map +1 -0
  47. package/app-deployer.mjs +353 -0
  48. package/app-deployer.mjs.map +1 -0
  49. package/app-factory.d.ts +816 -0
  50. package/app-factory.js +449 -0
  51. package/app-factory.js.map +1 -0
  52. package/app-factory.mjs +448 -0
  53. package/app-factory.mjs.map +1 -0
  54. package/app-manager.d.ts +323 -0
  55. package/app-manager.js +469 -0
  56. package/app-manager.js.map +1 -0
  57. package/app-manager.mjs +468 -0
  58. package/app-manager.mjs.map +1 -0
  59. package/app-spec.d.ts +203 -0
  60. package/app-spec.js +138 -0
  61. package/app-spec.js.map +1 -0
  62. package/app-spec.mjs +137 -0
  63. package/app-spec.mjs.map +1 -0
  64. package/app.d.ts +257 -0
  65. package/app.js +50 -0
  66. package/app.js.map +1 -0
  67. package/app.mjs +42 -0
  68. package/app.mjs.map +1 -0
  69. package/asset-manager.d.ts +215 -0
  70. package/asset-manager.js +170 -0
  71. package/asset-manager.js.map +1 -0
  72. package/asset-manager.mjs +169 -0
  73. package/asset-manager.mjs.map +1 -0
  74. package/async-event-emitter.d.ts +16 -0
  75. package/async-event-emitter.js +39 -0
  76. package/async-event-emitter.js.map +1 -0
  77. package/async-event-emitter.mjs +37 -0
  78. package/async-event-emitter.mjs.map +1 -0
  79. package/client-manager.d.ts +475 -0
  80. package/client-manager.js +617 -0
  81. package/client-manager.js.map +1 -0
  82. package/client-manager.mjs +616 -0
  83. package/client-manager.mjs.map +1 -0
  84. package/common/index.d.ts +28 -0
  85. package/common/index.js +110 -0
  86. package/common/index.mjs +26 -0
  87. package/composer.d.ts +947 -0
  88. package/composer.js +1585 -0
  89. package/composer.js.map +1 -0
  90. package/composer.mjs +1583 -0
  91. package/composer.mjs.map +1 -0
  92. package/config.d.ts +1 -1
  93. package/config.js +3 -2
  94. package/config.js.map +1 -1
  95. package/config.mjs +1 -1
  96. package/config.mjs.map +1 -1
  97. package/crypto/index.d.ts +5 -0
  98. package/crypto/index.js +14 -0
  99. package/crypto/index.mjs +6 -0
  100. package/debugging.d.ts +47 -0
  101. package/debugging.js +21 -0
  102. package/debugging.js.map +1 -0
  103. package/debugging.mjs +15 -0
  104. package/debugging.mjs.map +1 -0
  105. package/dispenser-client.d.ts +91 -0
  106. package/dispenser-client.js +129 -0
  107. package/dispenser-client.js.map +1 -0
  108. package/dispenser-client.mjs +128 -0
  109. package/dispenser-client.mjs.map +1 -0
  110. package/expand.d.ts +2 -0
  111. package/expand.js +0 -0
  112. package/expand.mjs +0 -0
  113. package/index.d.ts +28 -7
  114. package/index.js +39 -10
  115. package/index.mjs +21 -6
  116. package/indexer-client/index.d.ts +2 -2
  117. package/indexer-client/index.js +7 -6
  118. package/indexer-client/index.mjs +2 -2
  119. package/{indexer-lookup.d.ts → indexer-client/indexer-lookup.d.ts} +8 -11
  120. package/{indexer-lookup.mjs → indexer-client/indexer-lookup.js} +6 -10
  121. package/indexer-client/indexer-lookup.js.map +1 -0
  122. package/{indexer-lookup.js → indexer-client/indexer-lookup.mjs} +3 -18
  123. package/indexer-client/indexer-lookup.mjs.map +1 -0
  124. package/indexer.d.ts +40 -0
  125. package/indexer.js +39 -0
  126. package/indexer.js.map +1 -0
  127. package/indexer.mjs +35 -0
  128. package/indexer.mjs.map +1 -0
  129. package/instance-of.d.ts +8 -0
  130. package/kmd-account-manager.d.ts +74 -0
  131. package/kmd-account-manager.js +168 -0
  132. package/kmd-account-manager.js.map +1 -0
  133. package/kmd-account-manager.mjs +165 -0
  134. package/kmd-account-manager.mjs.map +1 -0
  135. package/kmd-client/index.d.ts +1 -2
  136. package/kmd-client/index.js +1 -5
  137. package/kmd-client/index.mjs +1 -2
  138. package/lifecycle-events.d.ts +14 -0
  139. package/lifecycle-events.js +12 -0
  140. package/lifecycle-events.js.map +1 -0
  141. package/lifecycle-events.mjs +10 -0
  142. package/lifecycle-events.mjs.map +1 -0
  143. package/logging.d.ts +13 -0
  144. package/logging.js +48 -0
  145. package/logging.js.map +1 -0
  146. package/logging.mjs +42 -0
  147. package/logging.mjs.map +1 -0
  148. package/logic-error.d.ts +39 -0
  149. package/logic-error.js +55 -0
  150. package/logic-error.js.map +1 -0
  151. package/logic-error.mjs +53 -0
  152. package/logic-error.mjs.map +1 -0
  153. package/network-client.d.ts +43 -0
  154. package/network-client.js +15 -0
  155. package/network-client.js.map +1 -0
  156. package/network-client.mjs +13 -0
  157. package/network-client.mjs.map +1 -0
  158. package/network-manager.d.ts +143 -0
  159. package/network-manager.js +191 -0
  160. package/network-manager.js.map +1 -0
  161. package/network-manager.mjs +190 -0
  162. package/network-manager.mjs.map +1 -0
  163. package/package.json +28 -6
  164. package/packages/abi/src/abi-method.js +18 -19
  165. package/packages/abi/src/abi-method.js.map +1 -1
  166. package/packages/abi/src/abi-method.mjs +17 -17
  167. package/packages/abi/src/abi-method.mjs.map +1 -1
  168. package/packages/abi/src/abi-type.d.ts +1 -3
  169. package/packages/abi/src/abi-type.js +7 -36
  170. package/packages/abi/src/abi-type.js.map +1 -1
  171. package/packages/abi/src/abi-type.mjs +7 -36
  172. package/packages/abi/src/abi-type.mjs.map +1 -1
  173. package/packages/abi/src/arc56-contract.js +1 -0
  174. package/packages/abi/src/arc56-contract.js.map +1 -1
  175. package/packages/abi/src/arc56-contract.mjs +1 -0
  176. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  177. package/packages/abi/src/utils.d.ts +22 -0
  178. package/packages/abi/src/utils.js +57 -0
  179. package/packages/abi/src/utils.js.map +1 -0
  180. package/packages/abi/src/utils.mjs +55 -0
  181. package/packages/abi/src/utils.mjs.map +1 -0
  182. package/packages/algo25/src/index.d.ts +2 -2
  183. package/packages/algo25/src/index.js +2 -2
  184. package/packages/algo25/src/index.js.map +1 -1
  185. package/packages/algo25/src/index.mjs +1 -1
  186. package/packages/algo25/src/index.mjs.map +1 -1
  187. package/packages/algod_client/src/apis/api-service.d.ts +44 -44
  188. package/packages/algod_client/src/apis/api-service.js +155 -155
  189. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  190. package/packages/algod_client/src/apis/api-service.mjs +155 -155
  191. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  192. package/packages/algod_client/src/core/api-error.js +3 -1
  193. package/packages/algod_client/src/core/api-error.js.map +1 -1
  194. package/packages/algod_client/src/core/api-error.mjs +3 -1
  195. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  196. package/packages/algod_client/src/core/base-http-request.js.map +1 -1
  197. package/packages/algod_client/src/core/base-http-request.mjs.map +1 -1
  198. package/packages/algod_client/src/core/fetch-http-request.js.map +1 -1
  199. package/packages/algod_client/src/core/fetch-http-request.mjs.map +1 -1
  200. package/packages/algod_client/src/core/model-runtime.js +6 -6
  201. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  202. package/packages/algod_client/src/core/model-runtime.mjs +8 -8
  203. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  204. package/packages/algod_client/src/core/request.js.map +1 -1
  205. package/packages/algod_client/src/core/request.mjs.map +1 -1
  206. package/packages/algod_client/src/models/account-application-response.js.map +1 -1
  207. package/packages/algod_client/src/models/account-application-response.mjs.map +1 -1
  208. package/packages/algod_client/src/models/account-asset-response.js.map +1 -1
  209. package/packages/algod_client/src/models/account-asset-response.mjs.map +1 -1
  210. package/packages/algod_client/src/models/account-participation.js +4 -4
  211. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  212. package/packages/algod_client/src/models/account-participation.mjs +4 -4
  213. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  214. package/packages/algod_client/src/models/account-state-delta.js.map +1 -1
  215. package/packages/algod_client/src/models/account-state-delta.mjs.map +1 -1
  216. package/packages/algod_client/src/models/account.js.map +1 -1
  217. package/packages/algod_client/src/models/account.mjs.map +1 -1
  218. package/packages/algod_client/src/models/application-initial-states.js.map +1 -1
  219. package/packages/algod_client/src/models/application-initial-states.mjs.map +1 -1
  220. package/packages/algod_client/src/models/application-kv-storage.js.map +1 -1
  221. package/packages/algod_client/src/models/application-kv-storage.mjs.map +1 -1
  222. package/packages/algod_client/src/models/application-local-state.js.map +1 -1
  223. package/packages/algod_client/src/models/application-local-state.mjs.map +1 -1
  224. package/packages/algod_client/src/models/application-params.js.map +1 -1
  225. package/packages/algod_client/src/models/application-params.mjs.map +1 -1
  226. package/packages/algod_client/src/models/application-state-operation.js.map +1 -1
  227. package/packages/algod_client/src/models/application-state-operation.mjs.map +1 -1
  228. package/packages/algod_client/src/models/application-state-schema.d.ts +2 -2
  229. package/packages/algod_client/src/models/application-state-schema.js +2 -2
  230. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  231. package/packages/algod_client/src/models/application-state-schema.mjs +2 -2
  232. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  233. package/packages/algod_client/src/models/application.js.map +1 -1
  234. package/packages/algod_client/src/models/application.mjs.map +1 -1
  235. package/packages/algod_client/src/models/asset-holding.js.map +1 -1
  236. package/packages/algod_client/src/models/asset-holding.mjs.map +1 -1
  237. package/packages/algod_client/src/models/asset-params.js +2 -1
  238. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  239. package/packages/algod_client/src/models/asset-params.mjs +2 -1
  240. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  241. package/packages/algod_client/src/models/asset.js.map +1 -1
  242. package/packages/algod_client/src/models/asset.mjs.map +1 -1
  243. package/packages/algod_client/src/models/avm-key-value.js.map +1 -1
  244. package/packages/algod_client/src/models/avm-key-value.mjs.map +1 -1
  245. package/packages/algod_client/src/models/avm-value.js.map +1 -1
  246. package/packages/algod_client/src/models/avm-value.mjs.map +1 -1
  247. package/packages/algod_client/src/models/block-hash-response.js.map +1 -1
  248. package/packages/algod_client/src/models/block-hash-response.mjs.map +1 -1
  249. package/packages/algod_client/src/models/block-response.js +1 -2
  250. package/packages/algod_client/src/models/block-response.js.map +1 -1
  251. package/packages/algod_client/src/models/block-response.mjs +2 -3
  252. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  253. package/packages/algod_client/src/models/block-txids-response.js.map +1 -1
  254. package/packages/algod_client/src/models/block-txids-response.mjs.map +1 -1
  255. package/packages/algod_client/src/models/block.d.ts +60 -40
  256. package/packages/algod_client/src/models/block.js +184 -108
  257. package/packages/algod_client/src/models/block.js.map +1 -1
  258. package/packages/algod_client/src/models/block.mjs +184 -108
  259. package/packages/algod_client/src/models/block.mjs.map +1 -1
  260. package/packages/algod_client/src/models/box-descriptor.js.map +1 -1
  261. package/packages/algod_client/src/models/box-descriptor.mjs.map +1 -1
  262. package/packages/algod_client/src/models/box.js.map +1 -1
  263. package/packages/algod_client/src/models/box.mjs.map +1 -1
  264. package/packages/algod_client/src/models/boxes-response.js.map +1 -1
  265. package/packages/algod_client/src/models/boxes-response.mjs.map +1 -1
  266. package/packages/algod_client/src/models/build-version.js.map +1 -1
  267. package/packages/algod_client/src/models/build-version.mjs.map +1 -1
  268. package/packages/algod_client/src/models/compile-response.js.map +1 -1
  269. package/packages/algod_client/src/models/compile-response.mjs.map +1 -1
  270. package/packages/algod_client/src/models/disassemble-response.js.map +1 -1
  271. package/packages/algod_client/src/models/disassemble-response.mjs.map +1 -1
  272. package/packages/algod_client/src/models/eval-delta-key-value.js +2 -2
  273. package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
  274. package/packages/algod_client/src/models/eval-delta-key-value.mjs +2 -2
  275. package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
  276. package/packages/algod_client/src/models/eval-delta.js +2 -2
  277. package/packages/algod_client/src/models/eval-delta.js.map +1 -1
  278. package/packages/algod_client/src/models/eval-delta.mjs +2 -2
  279. package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
  280. package/packages/algod_client/src/models/genesis-allocation.js.map +1 -1
  281. package/packages/algod_client/src/models/genesis-allocation.mjs.map +1 -1
  282. package/packages/algod_client/src/models/genesis.js.map +1 -1
  283. package/packages/algod_client/src/models/genesis.mjs.map +1 -1
  284. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js.map +1 -1
  285. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs.map +1 -1
  286. package/packages/algod_client/src/models/get-sync-round-response.js.map +1 -1
  287. package/packages/algod_client/src/models/get-sync-round-response.mjs.map +1 -1
  288. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js.map +1 -1
  289. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs.map +1 -1
  290. package/packages/algod_client/src/models/ledger-state-delta.js +1 -1
  291. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  292. package/packages/algod_client/src/models/ledger-state-delta.mjs +2 -2
  293. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  294. package/packages/algod_client/src/models/light-block-header-proof.js.map +1 -1
  295. package/packages/algod_client/src/models/light-block-header-proof.mjs.map +1 -1
  296. package/packages/algod_client/src/models/node-status-response.js.map +1 -1
  297. package/packages/algod_client/src/models/node-status-response.mjs.map +1 -1
  298. package/packages/algod_client/src/models/pending-transaction-response.js.map +1 -1
  299. package/packages/algod_client/src/models/pending-transaction-response.mjs.map +1 -1
  300. package/packages/algod_client/src/models/pending-transactions-response.js.map +1 -1
  301. package/packages/algod_client/src/models/pending-transactions-response.mjs.map +1 -1
  302. package/packages/algod_client/src/models/post-transactions-response.js.map +1 -1
  303. package/packages/algod_client/src/models/post-transactions-response.mjs.map +1 -1
  304. package/packages/algod_client/src/models/scratch-change.js.map +1 -1
  305. package/packages/algod_client/src/models/scratch-change.mjs.map +1 -1
  306. package/packages/algod_client/src/models/simulate-initial-states.js.map +1 -1
  307. package/packages/algod_client/src/models/simulate-initial-states.mjs.map +1 -1
  308. package/packages/algod_client/src/models/simulate-request-transaction-group.js.map +1 -1
  309. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs.map +1 -1
  310. package/packages/algod_client/src/models/simulate-request.js +1 -1
  311. package/packages/algod_client/src/models/simulate-request.js.map +1 -1
  312. package/packages/algod_client/src/models/simulate-request.mjs +1 -1
  313. package/packages/algod_client/src/models/simulate-request.mjs.map +1 -1
  314. package/packages/algod_client/src/models/simulate-response.d.ts +3 -1
  315. package/packages/algod_client/src/models/simulate-response.js +10 -1
  316. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  317. package/packages/algod_client/src/models/simulate-response.mjs +9 -2
  318. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  319. package/packages/algod_client/src/models/simulate-trace-config.js.map +1 -1
  320. package/packages/algod_client/src/models/simulate-trace-config.mjs.map +1 -1
  321. package/packages/algod_client/src/models/simulate-transaction-group-result.js.map +1 -1
  322. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs.map +1 -1
  323. package/packages/algod_client/src/models/simulate-transaction-result.js.map +1 -1
  324. package/packages/algod_client/src/models/simulate-transaction-result.mjs.map +1 -1
  325. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.d.ts +3 -5
  326. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js +4 -6
  327. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  328. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs +3 -5
  329. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  330. package/packages/algod_client/src/models/simulation-eval-overrides.js.map +1 -1
  331. package/packages/algod_client/src/models/simulation-eval-overrides.mjs.map +1 -1
  332. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js.map +1 -1
  333. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs.map +1 -1
  334. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js.map +1 -1
  335. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs.map +1 -1
  336. package/packages/algod_client/src/models/source-map.js.map +1 -1
  337. package/packages/algod_client/src/models/source-map.mjs.map +1 -1
  338. package/packages/algod_client/src/models/state-delta.js.map +1 -1
  339. package/packages/algod_client/src/models/state-delta.mjs.map +1 -1
  340. package/packages/algod_client/src/models/state-proof-message.js.map +1 -1
  341. package/packages/algod_client/src/models/state-proof-message.mjs.map +1 -1
  342. package/packages/algod_client/src/models/state-proof.js.map +1 -1
  343. package/packages/algod_client/src/models/state-proof.mjs.map +1 -1
  344. package/packages/algod_client/src/models/supply-response.js.map +1 -1
  345. package/packages/algod_client/src/models/supply-response.mjs.map +1 -1
  346. package/packages/algod_client/src/models/teal-key-value-store.js.map +1 -1
  347. package/packages/algod_client/src/models/teal-key-value-store.mjs.map +1 -1
  348. package/packages/algod_client/src/models/teal-key-value.js.map +1 -1
  349. package/packages/algod_client/src/models/teal-key-value.mjs.map +1 -1
  350. package/packages/algod_client/src/models/teal-value.js.map +1 -1
  351. package/packages/algod_client/src/models/teal-value.mjs.map +1 -1
  352. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js.map +1 -1
  353. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs.map +1 -1
  354. package/packages/algod_client/src/models/transaction-parameters-response.js +2 -2
  355. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  356. package/packages/algod_client/src/models/transaction-parameters-response.mjs +2 -2
  357. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  358. package/packages/algod_client/src/models/transaction-proof.js.map +1 -1
  359. package/packages/algod_client/src/models/transaction-proof.mjs.map +1 -1
  360. package/packages/algod_client/src/models/version.js.map +1 -1
  361. package/packages/algod_client/src/models/version.mjs.map +1 -1
  362. package/packages/common/src/address.d.ts +14 -3
  363. package/packages/common/src/address.js +14 -13
  364. package/packages/common/src/address.js.map +1 -1
  365. package/packages/common/src/address.mjs +8 -11
  366. package/packages/common/src/address.mjs.map +1 -1
  367. package/packages/common/src/array.d.ts +6 -0
  368. package/packages/common/src/codecs/composite/array.d.ts +25 -0
  369. package/packages/common/src/codecs/composite/array.js +1 -0
  370. package/packages/common/src/codecs/composite/array.js.map +1 -1
  371. package/packages/common/src/codecs/composite/array.mjs +1 -1
  372. package/packages/common/src/codecs/composite/array.mjs.map +1 -1
  373. package/packages/common/src/codecs/composite/map.d.ts +27 -0
  374. package/packages/common/src/codecs/composite/map.js +7 -4
  375. package/packages/common/src/codecs/composite/map.js.map +1 -1
  376. package/packages/common/src/codecs/composite/map.mjs +7 -4
  377. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  378. package/packages/common/src/codecs/composite/record.d.ts +20 -0
  379. package/packages/common/src/codecs/composite/record.js +1 -2
  380. package/packages/common/src/codecs/composite/record.js.map +1 -1
  381. package/packages/common/src/codecs/composite/record.mjs.map +1 -1
  382. package/packages/common/src/codecs/models/array-model.d.ts +19 -0
  383. package/packages/common/src/codecs/models/array-model.js.map +1 -1
  384. package/packages/common/src/codecs/models/array-model.mjs.map +1 -1
  385. package/packages/common/src/codecs/models/object-model.js +2 -2
  386. package/packages/common/src/codecs/models/object-model.js.map +1 -1
  387. package/packages/common/src/codecs/models/object-model.mjs +2 -2
  388. package/packages/common/src/codecs/models/object-model.mjs.map +1 -1
  389. package/packages/common/src/codecs/models/primitive-model.d.ts +19 -0
  390. package/packages/common/src/codecs/models/primitive-model.js.map +1 -1
  391. package/packages/common/src/codecs/models/primitive-model.mjs.map +1 -1
  392. package/packages/common/src/codecs/primitives/address.d.ts +16 -0
  393. package/packages/common/src/codecs/primitives/address.js +1 -2
  394. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  395. package/packages/common/src/codecs/primitives/bigint.d.ts +13 -0
  396. package/packages/common/src/codecs/primitives/boolean.d.ts +10 -0
  397. package/packages/common/src/codecs/primitives/bytes-base64.d.ts +15 -0
  398. package/packages/common/src/codecs/primitives/bytes-base64.js +26 -0
  399. package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -0
  400. package/packages/common/src/codecs/primitives/bytes-base64.mjs +25 -0
  401. package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -0
  402. package/packages/common/src/codecs/primitives/bytes.d.ts +15 -0
  403. package/packages/common/src/codecs/primitives/bytes.js +1 -2
  404. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  405. package/packages/common/src/codecs/primitives/fixed-bytes.d.ts +19 -0
  406. package/packages/common/src/codecs/primitives/fixed-bytes.js +1 -2
  407. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  408. package/packages/common/src/codecs/primitives/fixed-bytes.mjs.map +1 -1
  409. package/packages/common/src/codecs/primitives/number.d.ts +11 -0
  410. package/packages/common/src/codecs/primitives/string.d.ts +13 -0
  411. package/packages/common/src/codecs/primitives/unknown.d.ts +27 -0
  412. package/packages/common/src/codecs/types.d.ts +12 -1
  413. package/packages/common/src/codecs/wire.d.ts +17 -1
  414. package/packages/common/src/codecs/wire.js +1 -2
  415. package/packages/common/src/codecs/wire.js.map +1 -1
  416. package/packages/common/src/codecs/wire.mjs.map +1 -1
  417. package/packages/common/src/constants.d.ts +34 -0
  418. package/packages/common/src/constants.js +2 -0
  419. package/packages/common/src/constants.js.map +1 -1
  420. package/packages/common/src/constants.mjs +2 -1
  421. package/packages/common/src/constants.mjs.map +1 -1
  422. package/packages/common/src/encoding.d.ts +10 -0
  423. package/packages/common/src/encoding.js +31 -0
  424. package/packages/common/src/encoding.js.map +1 -0
  425. package/packages/common/src/encoding.mjs +25 -0
  426. package/packages/common/src/encoding.mjs.map +1 -0
  427. package/packages/common/src/json.d.ts +17 -0
  428. package/packages/common/src/json.js +2 -2
  429. package/packages/common/src/json.mjs +2 -2
  430. package/packages/common/src/json.mjs.map +1 -1
  431. package/packages/common/src/msgpack.d.ts +11 -0
  432. package/packages/common/src/msgpack.js +1 -2
  433. package/packages/common/src/msgpack.js.map +1 -1
  434. package/packages/{sdk/src/logic → common/src}/sourcemap.d.ts +1 -1
  435. package/packages/{sdk/src/logic → common/src}/sourcemap.js +3 -3
  436. package/packages/common/src/sourcemap.js.map +1 -0
  437. package/packages/{sdk/src/logic → common/src}/sourcemap.mjs +1 -1
  438. package/packages/common/src/sourcemap.mjs.map +1 -0
  439. package/packages/crypto/src/ed25519.d.ts +60 -0
  440. package/packages/crypto/src/ed25519.js +59 -0
  441. package/packages/crypto/src/ed25519.js.map +1 -0
  442. package/packages/crypto/src/ed25519.mjs +54 -0
  443. package/packages/crypto/src/ed25519.mjs.map +1 -0
  444. package/packages/crypto/src/hash.d.ts +8 -0
  445. package/packages/crypto/src/hash.js +15 -0
  446. package/packages/crypto/src/hash.js.map +1 -0
  447. package/packages/crypto/src/hash.mjs +14 -0
  448. package/packages/crypto/src/hash.mjs.map +1 -0
  449. package/packages/crypto/src/hd.d.ts +40 -0
  450. package/packages/crypto/src/hd.js +37 -0
  451. package/packages/crypto/src/hd.js.map +1 -0
  452. package/packages/crypto/src/hd.mjs +36 -0
  453. package/packages/crypto/src/hd.mjs.map +1 -0
  454. package/packages/crypto/src/index.d.ts +28 -0
  455. package/packages/crypto/src/index.js +141 -0
  456. package/packages/crypto/src/index.js.map +1 -0
  457. package/packages/crypto/src/index.mjs +138 -0
  458. package/packages/crypto/src/index.mjs.map +1 -0
  459. package/packages/indexer_client/src/apis/api-service.d.ts +1 -1
  460. package/packages/indexer_client/src/apis/api-service.js +12 -12
  461. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  462. package/packages/indexer_client/src/apis/api-service.mjs +12 -12
  463. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  464. package/packages/indexer_client/src/core/api-error.js +3 -1
  465. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  466. package/packages/indexer_client/src/core/api-error.mjs +3 -1
  467. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  468. package/packages/indexer_client/src/core/base-http-request.js.map +1 -1
  469. package/packages/indexer_client/src/core/base-http-request.mjs.map +1 -1
  470. package/packages/indexer_client/src/core/fetch-http-request.js.map +1 -1
  471. package/packages/indexer_client/src/core/fetch-http-request.mjs.map +1 -1
  472. package/packages/indexer_client/src/core/model-runtime.js +0 -15
  473. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  474. package/packages/indexer_client/src/core/model-runtime.mjs +1 -13
  475. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  476. package/packages/indexer_client/src/core/request.js.map +1 -1
  477. package/packages/indexer_client/src/core/request.mjs.map +1 -1
  478. package/packages/indexer_client/src/models/account-participation.js +4 -4
  479. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  480. package/packages/indexer_client/src/models/account-participation.mjs +4 -4
  481. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  482. package/packages/indexer_client/src/models/account-response.js.map +1 -1
  483. package/packages/indexer_client/src/models/account-response.mjs.map +1 -1
  484. package/packages/indexer_client/src/models/account-state-delta.js.map +1 -1
  485. package/packages/indexer_client/src/models/account-state-delta.mjs.map +1 -1
  486. package/packages/indexer_client/src/models/account.js.map +1 -1
  487. package/packages/indexer_client/src/models/account.mjs.map +1 -1
  488. package/packages/indexer_client/src/models/accounts-response.js.map +1 -1
  489. package/packages/indexer_client/src/models/accounts-response.mjs.map +1 -1
  490. package/packages/indexer_client/src/models/application-local-state.js.map +1 -1
  491. package/packages/indexer_client/src/models/application-local-state.mjs.map +1 -1
  492. package/packages/indexer_client/src/models/application-local-states-response.js.map +1 -1
  493. package/packages/indexer_client/src/models/application-local-states-response.mjs.map +1 -1
  494. package/packages/indexer_client/src/models/application-log-data.js.map +1 -1
  495. package/packages/indexer_client/src/models/application-log-data.mjs.map +1 -1
  496. package/packages/indexer_client/src/models/application-logs-response.js.map +1 -1
  497. package/packages/indexer_client/src/models/application-logs-response.mjs.map +1 -1
  498. package/packages/indexer_client/src/models/application-params.js.map +1 -1
  499. package/packages/indexer_client/src/models/application-params.mjs.map +1 -1
  500. package/packages/indexer_client/src/models/application-response.js.map +1 -1
  501. package/packages/indexer_client/src/models/application-response.mjs.map +1 -1
  502. package/packages/indexer_client/src/models/application-state-schema.d.ts +2 -2
  503. package/packages/indexer_client/src/models/application-state-schema.js +2 -2
  504. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  505. package/packages/indexer_client/src/models/application-state-schema.mjs +2 -2
  506. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  507. package/packages/indexer_client/src/models/application.js.map +1 -1
  508. package/packages/indexer_client/src/models/application.mjs.map +1 -1
  509. package/packages/indexer_client/src/models/applications-response.js.map +1 -1
  510. package/packages/indexer_client/src/models/applications-response.mjs.map +1 -1
  511. package/packages/indexer_client/src/models/asset-balances-response.js.map +1 -1
  512. package/packages/indexer_client/src/models/asset-balances-response.mjs.map +1 -1
  513. package/packages/indexer_client/src/models/asset-holding.js.map +1 -1
  514. package/packages/indexer_client/src/models/asset-holding.mjs.map +1 -1
  515. package/packages/indexer_client/src/models/asset-holdings-response.js.map +1 -1
  516. package/packages/indexer_client/src/models/asset-holdings-response.mjs.map +1 -1
  517. package/packages/indexer_client/src/models/asset-params.js +2 -1
  518. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  519. package/packages/indexer_client/src/models/asset-params.mjs +2 -1
  520. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  521. package/packages/indexer_client/src/models/asset-response.js.map +1 -1
  522. package/packages/indexer_client/src/models/asset-response.mjs.map +1 -1
  523. package/packages/indexer_client/src/models/asset.js.map +1 -1
  524. package/packages/indexer_client/src/models/asset.mjs.map +1 -1
  525. package/packages/indexer_client/src/models/assets-response.js.map +1 -1
  526. package/packages/indexer_client/src/models/assets-response.mjs.map +1 -1
  527. package/packages/indexer_client/src/models/block-headers-response.js.map +1 -1
  528. package/packages/indexer_client/src/models/block-headers-response.mjs.map +1 -1
  529. package/packages/indexer_client/src/models/block-rewards.js.map +1 -1
  530. package/packages/indexer_client/src/models/block-rewards.mjs.map +1 -1
  531. package/packages/indexer_client/src/models/block-upgrade-state.js.map +1 -1
  532. package/packages/indexer_client/src/models/block-upgrade-state.mjs.map +1 -1
  533. package/packages/indexer_client/src/models/block-upgrade-vote.js.map +1 -1
  534. package/packages/indexer_client/src/models/block-upgrade-vote.mjs.map +1 -1
  535. package/packages/indexer_client/src/models/block.d.ts +5 -5
  536. package/packages/indexer_client/src/models/block.js +13 -13
  537. package/packages/indexer_client/src/models/block.js.map +1 -1
  538. package/packages/indexer_client/src/models/block.mjs +13 -13
  539. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  540. package/packages/indexer_client/src/models/box-descriptor.js.map +1 -1
  541. package/packages/indexer_client/src/models/box-descriptor.mjs.map +1 -1
  542. package/packages/indexer_client/src/models/box-reference.js.map +1 -1
  543. package/packages/indexer_client/src/models/box-reference.mjs.map +1 -1
  544. package/packages/indexer_client/src/models/box.js.map +1 -1
  545. package/packages/indexer_client/src/models/box.mjs.map +1 -1
  546. package/packages/indexer_client/src/models/boxes-response.js.map +1 -1
  547. package/packages/indexer_client/src/models/boxes-response.mjs.map +1 -1
  548. package/packages/indexer_client/src/models/eval-delta-key-value.d.ts +1 -1
  549. package/packages/indexer_client/src/models/eval-delta-key-value.js +2 -2
  550. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  551. package/packages/indexer_client/src/models/eval-delta-key-value.mjs +2 -2
  552. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  553. package/packages/indexer_client/src/models/eval-delta.d.ts +1 -1
  554. package/packages/indexer_client/src/models/eval-delta.js +2 -2
  555. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  556. package/packages/indexer_client/src/models/eval-delta.mjs +2 -2
  557. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  558. package/packages/indexer_client/src/models/hash-factory.js.map +1 -1
  559. package/packages/indexer_client/src/models/hash-factory.mjs.map +1 -1
  560. package/packages/indexer_client/src/models/hb-proof-fields.js +6 -6
  561. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  562. package/packages/indexer_client/src/models/hb-proof-fields.mjs +6 -6
  563. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  564. package/packages/indexer_client/src/models/health-check.js.map +1 -1
  565. package/packages/indexer_client/src/models/health-check.mjs.map +1 -1
  566. package/packages/indexer_client/src/models/holding-ref.js.map +1 -1
  567. package/packages/indexer_client/src/models/holding-ref.mjs.map +1 -1
  568. package/packages/indexer_client/src/models/indexer-state-proof-message.js.map +1 -1
  569. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs.map +1 -1
  570. package/packages/indexer_client/src/models/locals-ref.js.map +1 -1
  571. package/packages/indexer_client/src/models/locals-ref.mjs.map +1 -1
  572. package/packages/indexer_client/src/models/merkle-array-proof.js.map +1 -1
  573. package/packages/indexer_client/src/models/merkle-array-proof.mjs.map +1 -1
  574. package/packages/indexer_client/src/models/mini-asset-holding.js.map +1 -1
  575. package/packages/indexer_client/src/models/mini-asset-holding.mjs.map +1 -1
  576. package/packages/indexer_client/src/models/on-completion.js.map +1 -1
  577. package/packages/indexer_client/src/models/on-completion.mjs.map +1 -1
  578. package/packages/indexer_client/src/models/participation-updates.d.ts +2 -2
  579. package/packages/indexer_client/src/models/participation-updates.js +2 -2
  580. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  581. package/packages/indexer_client/src/models/participation-updates.mjs +2 -2
  582. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  583. package/packages/indexer_client/src/models/resource-ref.js.map +1 -1
  584. package/packages/indexer_client/src/models/resource-ref.mjs.map +1 -1
  585. package/packages/indexer_client/src/models/state-delta.js.map +1 -1
  586. package/packages/indexer_client/src/models/state-delta.mjs.map +1 -1
  587. package/packages/indexer_client/src/models/state-proof-fields.js.map +1 -1
  588. package/packages/indexer_client/src/models/state-proof-fields.mjs.map +1 -1
  589. package/packages/indexer_client/src/models/state-proof-participant.js.map +1 -1
  590. package/packages/indexer_client/src/models/state-proof-participant.mjs.map +1 -1
  591. package/packages/indexer_client/src/models/state-proof-reveal.js.map +1 -1
  592. package/packages/indexer_client/src/models/state-proof-reveal.mjs.map +1 -1
  593. package/packages/indexer_client/src/models/state-proof-sig-slot.js.map +1 -1
  594. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs.map +1 -1
  595. package/packages/indexer_client/src/models/state-proof-signature.js.map +1 -1
  596. package/packages/indexer_client/src/models/state-proof-signature.mjs.map +1 -1
  597. package/packages/indexer_client/src/models/state-proof-tracking.js.map +1 -1
  598. package/packages/indexer_client/src/models/state-proof-tracking.mjs.map +1 -1
  599. package/packages/indexer_client/src/models/state-proof-verifier.js +2 -2
  600. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  601. package/packages/indexer_client/src/models/state-proof-verifier.mjs +2 -2
  602. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  603. package/packages/indexer_client/src/models/state-schema.d.ts +2 -2
  604. package/packages/indexer_client/src/models/state-schema.js +2 -2
  605. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  606. package/packages/indexer_client/src/models/state-schema.mjs +2 -2
  607. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  608. package/packages/indexer_client/src/models/teal-key-value-store.js.map +1 -1
  609. package/packages/indexer_client/src/models/teal-key-value-store.mjs.map +1 -1
  610. package/packages/indexer_client/src/models/teal-key-value.d.ts +1 -1
  611. package/packages/indexer_client/src/models/teal-key-value.js +2 -2
  612. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  613. package/packages/indexer_client/src/models/teal-key-value.mjs +2 -2
  614. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  615. package/packages/indexer_client/src/models/teal-value.js.map +1 -1
  616. package/packages/indexer_client/src/models/teal-value.mjs.map +1 -1
  617. package/packages/indexer_client/src/models/transaction-application.js.map +1 -1
  618. package/packages/indexer_client/src/models/transaction-application.mjs.map +1 -1
  619. package/packages/indexer_client/src/models/transaction-asset-config.js.map +1 -1
  620. package/packages/indexer_client/src/models/transaction-asset-config.mjs.map +1 -1
  621. package/packages/indexer_client/src/models/transaction-asset-freeze.js.map +1 -1
  622. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs.map +1 -1
  623. package/packages/indexer_client/src/models/transaction-asset-transfer.js.map +1 -1
  624. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs.map +1 -1
  625. package/packages/indexer_client/src/models/transaction-heartbeat.js +2 -1
  626. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  627. package/packages/indexer_client/src/models/transaction-heartbeat.mjs +2 -1
  628. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  629. package/packages/indexer_client/src/models/transaction-keyreg.js +4 -4
  630. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  631. package/packages/indexer_client/src/models/transaction-keyreg.mjs +4 -4
  632. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  633. package/packages/indexer_client/src/models/transaction-payment.js.map +1 -1
  634. package/packages/indexer_client/src/models/transaction-payment.mjs.map +1 -1
  635. package/packages/indexer_client/src/models/transaction-response.js.map +1 -1
  636. package/packages/indexer_client/src/models/transaction-response.mjs.map +1 -1
  637. package/packages/indexer_client/src/models/transaction-signature-logicsig.js +2 -1
  638. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  639. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs +2 -1
  640. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  641. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js +3 -3
  642. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  643. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs +3 -3
  644. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  645. package/packages/indexer_client/src/models/transaction-signature-multisig.js.map +1 -1
  646. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs.map +1 -1
  647. package/packages/indexer_client/src/models/transaction-signature.js.map +1 -1
  648. package/packages/indexer_client/src/models/transaction-signature.mjs.map +1 -1
  649. package/packages/indexer_client/src/models/transaction-state-proof.d.ts +1 -1
  650. package/packages/indexer_client/src/models/transaction-state-proof.js +2 -2
  651. package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
  652. package/packages/indexer_client/src/models/transaction-state-proof.mjs +2 -2
  653. package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
  654. package/packages/indexer_client/src/models/transaction.d.ts +2 -2
  655. package/packages/indexer_client/src/models/transaction.js +6 -5
  656. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  657. package/packages/indexer_client/src/models/transaction.mjs +6 -5
  658. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  659. package/packages/indexer_client/src/models/transactions-response.js.map +1 -1
  660. package/packages/indexer_client/src/models/transactions-response.mjs.map +1 -1
  661. package/packages/kmd_client/src/apis/api-service.d.ts +5 -5
  662. package/packages/kmd_client/src/apis/api-service.js +32 -32
  663. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  664. package/packages/kmd_client/src/apis/api-service.mjs +32 -32
  665. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  666. package/packages/kmd_client/src/core/api-error.js +3 -1
  667. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  668. package/packages/kmd_client/src/core/api-error.mjs +3 -1
  669. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  670. package/packages/kmd_client/src/core/base-http-request.js.map +1 -1
  671. package/packages/kmd_client/src/core/base-http-request.mjs.map +1 -1
  672. package/packages/kmd_client/src/core/fetch-http-request.js.map +1 -1
  673. package/packages/kmd_client/src/core/fetch-http-request.mjs.map +1 -1
  674. package/packages/kmd_client/src/core/model-runtime.js +2 -12
  675. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  676. package/packages/kmd_client/src/core/model-runtime.mjs +3 -11
  677. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  678. package/packages/kmd_client/src/core/request.js.map +1 -1
  679. package/packages/kmd_client/src/core/request.mjs.map +1 -1
  680. package/packages/kmd_client/src/models/create-wallet-request.js.map +1 -1
  681. package/packages/kmd_client/src/models/create-wallet-request.mjs.map +1 -1
  682. package/packages/kmd_client/src/models/create-wallet-response.js.map +1 -1
  683. package/packages/kmd_client/src/models/create-wallet-response.mjs.map +1 -1
  684. package/packages/kmd_client/src/models/delete-key-request.js.map +1 -1
  685. package/packages/kmd_client/src/models/delete-key-request.mjs.map +1 -1
  686. package/packages/kmd_client/src/models/delete-multisig-request.js.map +1 -1
  687. package/packages/kmd_client/src/models/delete-multisig-request.mjs.map +1 -1
  688. package/packages/kmd_client/src/models/export-key-request.js.map +1 -1
  689. package/packages/kmd_client/src/models/export-key-request.mjs.map +1 -1
  690. package/packages/kmd_client/src/models/export-key-response.js.map +1 -1
  691. package/packages/kmd_client/src/models/export-key-response.mjs.map +1 -1
  692. package/packages/kmd_client/src/models/export-master-key-request.js.map +1 -1
  693. package/packages/kmd_client/src/models/export-master-key-request.mjs.map +1 -1
  694. package/packages/kmd_client/src/models/export-master-key-response.js.map +1 -1
  695. package/packages/kmd_client/src/models/export-master-key-response.mjs.map +1 -1
  696. package/packages/kmd_client/src/models/export-multisig-request.js.map +1 -1
  697. package/packages/kmd_client/src/models/export-multisig-request.mjs.map +1 -1
  698. package/packages/kmd_client/src/models/export-multisig-response.js.map +1 -1
  699. package/packages/kmd_client/src/models/export-multisig-response.mjs.map +1 -1
  700. package/packages/kmd_client/src/models/generate-key-request.js.map +1 -1
  701. package/packages/kmd_client/src/models/generate-key-request.mjs.map +1 -1
  702. package/packages/kmd_client/src/models/generate-key-response.js.map +1 -1
  703. package/packages/kmd_client/src/models/generate-key-response.mjs.map +1 -1
  704. package/packages/kmd_client/src/models/import-key-request.js.map +1 -1
  705. package/packages/kmd_client/src/models/import-key-request.mjs.map +1 -1
  706. package/packages/kmd_client/src/models/import-key-response.js.map +1 -1
  707. package/packages/kmd_client/src/models/import-key-response.mjs.map +1 -1
  708. package/packages/kmd_client/src/models/import-multisig-request.js.map +1 -1
  709. package/packages/kmd_client/src/models/import-multisig-request.mjs.map +1 -1
  710. package/packages/kmd_client/src/models/import-multisig-response.js.map +1 -1
  711. package/packages/kmd_client/src/models/import-multisig-response.mjs.map +1 -1
  712. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js.map +1 -1
  713. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs.map +1 -1
  714. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js.map +1 -1
  715. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs.map +1 -1
  716. package/packages/kmd_client/src/models/list-keys-request.js.map +1 -1
  717. package/packages/kmd_client/src/models/list-keys-request.mjs.map +1 -1
  718. package/packages/kmd_client/src/models/list-keys-response.js.map +1 -1
  719. package/packages/kmd_client/src/models/list-keys-response.mjs.map +1 -1
  720. package/packages/kmd_client/src/models/list-multisig-request.js.map +1 -1
  721. package/packages/kmd_client/src/models/list-multisig-request.mjs.map +1 -1
  722. package/packages/kmd_client/src/models/list-multisig-response.js.map +1 -1
  723. package/packages/kmd_client/src/models/list-multisig-response.mjs.map +1 -1
  724. package/packages/kmd_client/src/models/list-wallets-response.js.map +1 -1
  725. package/packages/kmd_client/src/models/list-wallets-response.mjs.map +1 -1
  726. package/packages/kmd_client/src/models/multisig-sig.js.map +1 -1
  727. package/packages/kmd_client/src/models/multisig-sig.mjs.map +1 -1
  728. package/packages/kmd_client/src/models/multisig-subsig.js.map +1 -1
  729. package/packages/kmd_client/src/models/multisig-subsig.mjs.map +1 -1
  730. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js.map +1 -1
  731. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs.map +1 -1
  732. package/packages/kmd_client/src/models/rename-wallet-request.js.map +1 -1
  733. package/packages/kmd_client/src/models/rename-wallet-request.mjs.map +1 -1
  734. package/packages/kmd_client/src/models/rename-wallet-response.js.map +1 -1
  735. package/packages/kmd_client/src/models/rename-wallet-response.mjs.map +1 -1
  736. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js.map +1 -1
  737. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs.map +1 -1
  738. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js.map +1 -1
  739. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs.map +1 -1
  740. package/packages/kmd_client/src/models/sign-multisig-response.js.map +1 -1
  741. package/packages/kmd_client/src/models/sign-multisig-response.mjs.map +1 -1
  742. package/packages/kmd_client/src/models/sign-multisig-txn-request.js.map +1 -1
  743. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs.map +1 -1
  744. package/packages/kmd_client/src/models/sign-program-multisig-request.js.map +1 -1
  745. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs.map +1 -1
  746. package/packages/kmd_client/src/models/sign-program-multisig-response.js.map +1 -1
  747. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs.map +1 -1
  748. package/packages/kmd_client/src/models/sign-program-request.js.map +1 -1
  749. package/packages/kmd_client/src/models/sign-program-request.mjs.map +1 -1
  750. package/packages/kmd_client/src/models/sign-program-response.js.map +1 -1
  751. package/packages/kmd_client/src/models/sign-program-response.mjs.map +1 -1
  752. package/packages/kmd_client/src/models/sign-transaction-response.js.map +1 -1
  753. package/packages/kmd_client/src/models/sign-transaction-response.mjs.map +1 -1
  754. package/packages/kmd_client/src/models/sign-txn-request.js.map +1 -1
  755. package/packages/kmd_client/src/models/sign-txn-request.mjs.map +1 -1
  756. package/packages/kmd_client/src/models/tx-type.js.map +1 -1
  757. package/packages/kmd_client/src/models/tx-type.mjs.map +1 -1
  758. package/packages/kmd_client/src/models/versions-response.js.map +1 -1
  759. package/packages/kmd_client/src/models/versions-response.mjs.map +1 -1
  760. package/packages/kmd_client/src/models/wallet-handle.js.map +1 -1
  761. package/packages/kmd_client/src/models/wallet-handle.mjs.map +1 -1
  762. package/packages/kmd_client/src/models/wallet-info-request.js.map +1 -1
  763. package/packages/kmd_client/src/models/wallet-info-request.mjs.map +1 -1
  764. package/packages/kmd_client/src/models/wallet-info-response.js.map +1 -1
  765. package/packages/kmd_client/src/models/wallet-info-response.mjs.map +1 -1
  766. package/packages/kmd_client/src/models/wallet.js.map +1 -1
  767. package/packages/kmd_client/src/models/wallet.mjs.map +1 -1
  768. package/packages/testing/src/globalSetup.js +40 -0
  769. package/packages/testing/src/globalSetup.js.map +1 -0
  770. package/packages/testing/src/globalSetup.mjs +36 -0
  771. package/packages/testing/src/globalSetup.mjs.map +1 -0
  772. package/packages/testing/src/mockServer.js +95 -0
  773. package/packages/testing/src/mockServer.js.map +1 -0
  774. package/packages/testing/src/mockServer.mjs +83 -0
  775. package/packages/testing/src/mockServer.mjs.map +1 -0
  776. package/packages/transact/src/logicsig.d.ts +35 -33
  777. package/packages/transact/src/logicsig.js +75 -77
  778. package/packages/transact/src/logicsig.js.map +1 -1
  779. package/packages/transact/src/logicsig.mjs +78 -79
  780. package/packages/transact/src/logicsig.mjs.map +1 -1
  781. package/packages/transact/src/multisig.d.ts +11 -116
  782. package/packages/transact/src/multisig.js +108 -138
  783. package/packages/transact/src/multisig.js.map +1 -1
  784. package/packages/transact/src/multisig.mjs +109 -119
  785. package/packages/transact/src/multisig.mjs.map +1 -1
  786. package/packages/transact/src/signer.d.ts +11 -3
  787. package/packages/transact/src/signer.js +24 -2
  788. package/packages/transact/src/signer.js.map +1 -1
  789. package/packages/transact/src/signer.mjs +25 -4
  790. package/packages/transact/src/signer.mjs.map +1 -1
  791. package/packages/transact/src/transactions/app-call.d.ts +10 -15
  792. package/packages/transact/src/transactions/app-call.js +8 -8
  793. package/packages/transact/src/transactions/app-call.js.map +1 -1
  794. package/packages/transact/src/transactions/app-call.mjs +8 -8
  795. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  796. package/packages/transact/src/transactions/asset-config.d.ts +1 -6
  797. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  798. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  799. package/packages/transact/src/transactions/asset-freeze.d.ts +1 -6
  800. package/packages/transact/src/transactions/asset-transfer.d.ts +1 -6
  801. package/packages/transact/src/transactions/common.js +7 -7
  802. package/packages/transact/src/transactions/common.js.map +1 -1
  803. package/packages/transact/src/transactions/common.mjs +7 -7
  804. package/packages/transact/src/transactions/common.mjs.map +1 -1
  805. package/packages/transact/src/transactions/key-registration.d.ts +1 -8
  806. package/packages/transact/src/transactions/reference-types-meta.d.ts +26 -0
  807. package/packages/transact/src/transactions/reference-types-meta.js +71 -0
  808. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -0
  809. package/packages/transact/src/transactions/reference-types-meta.mjs +69 -0
  810. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -0
  811. package/packages/transact/src/transactions/signed-transaction-meta.js +8 -9
  812. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  813. package/packages/transact/src/transactions/signed-transaction-meta.mjs +8 -8
  814. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  815. package/packages/transact/src/transactions/signed-transaction.d.ts +22 -6
  816. package/packages/transact/src/transactions/signed-transaction.js +17 -1
  817. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  818. package/packages/transact/src/transactions/signed-transaction.mjs +16 -2
  819. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  820. package/packages/transact/src/transactions/state-proof.d.ts +1 -1
  821. package/packages/transact/src/transactions/transaction-meta.js +29 -23
  822. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  823. package/packages/transact/src/transactions/transaction-meta.mjs +29 -23
  824. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  825. package/packages/transact/src/transactions/transaction-type.js +11 -11
  826. package/packages/transact/src/transactions/transaction-type.js.map +1 -1
  827. package/packages/transact/src/transactions/transaction-type.mjs +11 -11
  828. package/packages/transact/src/transactions/transaction-type.mjs.map +1 -1
  829. package/packages/transact/src/transactions/transaction.d.ts +5 -2
  830. package/packages/transact/src/transactions/transaction.js +11 -10
  831. package/packages/transact/src/transactions/transaction.js.map +1 -1
  832. package/packages/transact/src/transactions/transaction.mjs +6 -5
  833. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  834. package/testing/account.d.ts +2 -2
  835. package/testing/account.js +2 -3
  836. package/testing/account.js.map +1 -1
  837. package/testing/account.mjs +2 -3
  838. package/testing/account.mjs.map +1 -1
  839. package/testing/fixtures/algokit-log-capture-fixture.d.ts +1 -1
  840. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  841. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  842. package/testing/fixtures/algorand-fixture.d.ts +5 -5
  843. package/testing/fixtures/algorand-fixture.js +2 -2
  844. package/testing/fixtures/algorand-fixture.js.map +1 -1
  845. package/testing/fixtures/algorand-fixture.mjs +2 -2
  846. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  847. package/testing/index.d.ts +2 -1
  848. package/testing/index.js +19 -0
  849. package/testing/index.mjs +3 -1
  850. package/testing/indexer.js.map +1 -1
  851. package/testing/indexer.mjs.map +1 -1
  852. package/testing/test-logger.d.ts +1 -1
  853. package/testing/test-logger.js.map +1 -1
  854. package/testing/test-logger.mjs.map +1 -1
  855. package/testing/types.d.ts +156 -0
  856. package/transact/index.d.ts +12 -11
  857. package/transact/index.js +10 -31
  858. package/transact/index.mjs +8 -11
  859. package/transaction/index.d.ts +4 -0
  860. package/transaction/index.js +10 -0
  861. package/transaction/index.mjs +4 -0
  862. package/transaction/perform-transaction-composer-simulate.d.ts +1 -1
  863. package/transaction/perform-transaction-composer-simulate.js.map +1 -1
  864. package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
  865. package/transaction/transaction.d.ts +2 -4
  866. package/transaction/transaction.js +2 -4
  867. package/transaction/transaction.js.map +1 -1
  868. package/transaction/transaction.mjs +2 -4
  869. package/transaction/transaction.mjs.map +1 -1
  870. package/transaction/types.d.ts +133 -0
  871. package/transactions/app-call.d.ts +6 -5
  872. package/transactions/app-call.js +49 -49
  873. package/transactions/app-call.js.map +1 -1
  874. package/transactions/app-call.mjs +49 -49
  875. package/transactions/app-call.mjs.map +1 -1
  876. package/transactions/asset-config.d.ts +1 -1
  877. package/transactions/asset-config.js +1 -1
  878. package/transactions/asset-config.js.map +1 -1
  879. package/transactions/asset-config.mjs +1 -1
  880. package/transactions/asset-config.mjs.map +1 -1
  881. package/transactions/common.d.ts +1 -1
  882. package/transactions/common.js.map +1 -1
  883. package/transactions/common.mjs.map +1 -1
  884. package/transactions/fee-coverage.js +6 -6
  885. package/transactions/fee-coverage.js.map +1 -1
  886. package/transactions/fee-coverage.mjs +6 -6
  887. package/transactions/fee-coverage.mjs.map +1 -1
  888. package/transactions/key-registration.d.ts +1 -1
  889. package/transactions/key-registration.js.map +1 -1
  890. package/transactions/key-registration.mjs.map +1 -1
  891. package/transactions/method-call.d.ts +2 -2
  892. package/transactions/method-call.js +74 -81
  893. package/transactions/method-call.js.map +1 -1
  894. package/transactions/method-call.mjs +74 -81
  895. package/transactions/method-call.mjs.map +1 -1
  896. package/transactions/payment.d.ts +1 -1
  897. package/transactions/payment.js.map +1 -1
  898. package/transactions/payment.mjs.map +1 -1
  899. package/types/account-manager.d.ts +11 -444
  900. package/types/account-manager.js +6 -606
  901. package/types/account-manager.js.map +1 -1
  902. package/types/account-manager.mjs +5 -604
  903. package/types/account-manager.mjs.map +1 -1
  904. package/types/account.d.ts +8 -150
  905. package/types/account.js +4 -4
  906. package/types/account.js.map +1 -1
  907. package/types/account.mjs +4 -4
  908. package/types/account.mjs.map +1 -1
  909. package/types/algorand-client-transaction-creator.d.ts +5 -1084
  910. package/types/algorand-client-transaction-creator.js +4 -721
  911. package/types/algorand-client-transaction-creator.js.map +1 -1
  912. package/types/algorand-client-transaction-creator.mjs +4 -721
  913. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  914. package/types/algorand-client-transaction-sender.d.ts +5 -1298
  915. package/types/algorand-client-transaction-sender.js +4 -920
  916. package/types/algorand-client-transaction-sender.js.map +1 -1
  917. package/types/algorand-client-transaction-sender.mjs +3 -918
  918. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  919. package/types/algorand-client.d.ts +5 -241
  920. package/types/algorand-client.js +4 -319
  921. package/types/algorand-client.js.map +1 -1
  922. package/types/algorand-client.mjs +3 -319
  923. package/types/algorand-client.mjs.map +1 -1
  924. package/types/amount.d.ts +6 -45
  925. package/types/amount.js +4 -60
  926. package/types/amount.js.map +1 -1
  927. package/types/amount.mjs +3 -60
  928. package/types/amount.mjs.map +1 -1
  929. package/types/app-client.d.ts +75 -2120
  930. package/types/app-client.js +4 -904
  931. package/types/app-client.js.map +1 -1
  932. package/types/app-client.mjs +3 -902
  933. package/types/app-client.mjs.map +1 -1
  934. package/types/app-deployer.d.ts +21 -161
  935. package/types/app-deployer.js +4 -347
  936. package/types/app-deployer.js.map +1 -1
  937. package/types/app-deployer.mjs +3 -347
  938. package/types/app-deployer.mjs.map +1 -1
  939. package/types/app-factory.d.ts +21 -957
  940. package/types/app-factory.js +4 -442
  941. package/types/app-factory.js.map +1 -1
  942. package/types/app-factory.mjs +3 -442
  943. package/types/app-factory.mjs.map +1 -1
  944. package/types/app-manager.d.ts +15 -316
  945. package/types/app-manager.js +4 -461
  946. package/types/app-manager.js.map +1 -1
  947. package/types/app-manager.mjs +3 -461
  948. package/types/app-manager.mjs.map +1 -1
  949. package/types/app-spec.d.ts +39 -198
  950. package/types/app-spec.js +4 -124
  951. package/types/app-spec.js.map +1 -1
  952. package/types/app-spec.mjs +3 -124
  953. package/types/app-spec.mjs.map +1 -1
  954. package/types/app.d.ts +63 -248
  955. package/types/app.js +16 -37
  956. package/types/app.js.map +1 -1
  957. package/types/app.mjs +16 -37
  958. package/types/app.mjs.map +1 -1
  959. package/types/asset-manager.d.ts +9 -207
  960. package/types/asset-manager.js +4 -160
  961. package/types/asset-manager.js.map +1 -1
  962. package/types/asset-manager.mjs +3 -160
  963. package/types/asset-manager.mjs.map +1 -1
  964. package/types/async-event-emitter.d.ts +7 -14
  965. package/types/async-event-emitter.js +4 -32
  966. package/types/async-event-emitter.js.map +1 -1
  967. package/types/async-event-emitter.mjs +4 -32
  968. package/types/async-event-emitter.mjs.map +1 -1
  969. package/types/client-manager.d.ts +27 -470
  970. package/types/client-manager.js +4 -610
  971. package/types/client-manager.js.map +1 -1
  972. package/types/client-manager.mjs +3 -610
  973. package/types/client-manager.mjs.map +1 -1
  974. package/types/composer.d.ts +79 -935
  975. package/types/composer.js +4 -1566
  976. package/types/composer.js.map +1 -1
  977. package/types/composer.mjs +3 -1564
  978. package/types/composer.mjs.map +1 -1
  979. package/types/config.d.ts +7 -52
  980. package/types/config.js +4 -74
  981. package/types/config.js.map +1 -1
  982. package/types/config.mjs +3 -74
  983. package/types/config.mjs.map +1 -1
  984. package/types/debugging.d.ts +12 -33
  985. package/types/debugging.js +12 -10
  986. package/types/debugging.js.map +1 -1
  987. package/types/debugging.mjs +12 -10
  988. package/types/debugging.mjs.map +1 -1
  989. package/types/dispenser-client.d.ts +11 -85
  990. package/types/dispenser-client.js +4 -121
  991. package/types/dispenser-client.js.map +1 -1
  992. package/types/dispenser-client.mjs +3 -121
  993. package/types/dispenser-client.mjs.map +1 -1
  994. package/types/expand.d.ts +4 -5
  995. package/types/indexer.d.ts +16 -36
  996. package/types/indexer.js +8 -30
  997. package/types/indexer.js.map +1 -1
  998. package/types/indexer.mjs +8 -30
  999. package/types/indexer.mjs.map +1 -1
  1000. package/types/instance-of.d.ts +4 -4
  1001. package/types/kmd-account-manager.d.ts +5 -68
  1002. package/types/kmd-account-manager.js +4 -150
  1003. package/types/kmd-account-manager.js.map +1 -1
  1004. package/types/kmd-account-manager.mjs +3 -148
  1005. package/types/kmd-account-manager.mjs.map +1 -1
  1006. package/types/lifecycle-events.d.ts +7 -10
  1007. package/types/lifecycle-events.js +4 -5
  1008. package/types/lifecycle-events.js.map +1 -1
  1009. package/types/lifecycle-events.mjs +4 -5
  1010. package/types/lifecycle-events.mjs.map +1 -1
  1011. package/types/logging.d.ts +14 -9
  1012. package/types/logging.js +12 -37
  1013. package/types/logging.js.map +1 -1
  1014. package/types/logging.mjs +12 -37
  1015. package/types/logging.mjs.map +1 -1
  1016. package/types/logic-error.d.ts +8 -35
  1017. package/types/logic-error.js +4 -48
  1018. package/types/logic-error.js.map +1 -1
  1019. package/types/logic-error.mjs +4 -48
  1020. package/types/logic-error.mjs.map +1 -1
  1021. package/types/network-client.d.ts +10 -39
  1022. package/types/network-client.js +4 -8
  1023. package/types/network-client.js.map +1 -1
  1024. package/types/network-client.mjs +4 -8
  1025. package/types/network-client.mjs.map +1 -1
  1026. package/types/testing.d.ts +13 -151
  1027. package/types/transaction.d.ts +33 -128
  1028. package/updatable-config.d.ts +57 -0
  1029. package/updatable-config.js +80 -0
  1030. package/updatable-config.js.map +1 -0
  1031. package/updatable-config.mjs +80 -0
  1032. package/updatable-config.mjs.map +1 -0
  1033. package/util.js +1 -1
  1034. package/util.js.map +1 -1
  1035. package/util.mjs +1 -1
  1036. package/util.mjs.map +1 -1
  1037. package/_virtual/rolldown_runtime.mjs +0 -13
  1038. package/indexer-lookup.js.map +0 -1
  1039. package/indexer-lookup.mjs.map +0 -1
  1040. package/packages/algod_client/src/core/model-runtime.d.ts +0 -10
  1041. package/packages/algod_client/src/models/application-local-reference.d.ts +0 -20
  1042. package/packages/algod_client/src/models/application-local-reference.js +0 -23
  1043. package/packages/algod_client/src/models/application-local-reference.js.map +0 -1
  1044. package/packages/algod_client/src/models/application-local-reference.mjs +0 -23
  1045. package/packages/algod_client/src/models/application-local-reference.mjs.map +0 -1
  1046. package/packages/algod_client/src/models/asset-holding-reference.d.ts +0 -20
  1047. package/packages/algod_client/src/models/asset-holding-reference.js +0 -23
  1048. package/packages/algod_client/src/models/asset-holding-reference.js.map +0 -1
  1049. package/packages/algod_client/src/models/asset-holding-reference.mjs +0 -23
  1050. package/packages/algod_client/src/models/asset-holding-reference.mjs.map +0 -1
  1051. package/packages/algod_client/src/models/box-reference.d.ts +0 -17
  1052. package/packages/algod_client/src/models/box-reference.js +0 -23
  1053. package/packages/algod_client/src/models/box-reference.js.map +0 -1
  1054. package/packages/algod_client/src/models/box-reference.mjs +0 -23
  1055. package/packages/algod_client/src/models/box-reference.mjs.map +0 -1
  1056. package/packages/common/src/crypto.js +0 -13
  1057. package/packages/common/src/crypto.js.map +0 -1
  1058. package/packages/common/src/crypto.mjs +0 -11
  1059. package/packages/common/src/crypto.mjs.map +0 -1
  1060. package/packages/indexer_client/src/core/model-runtime.d.ts +0 -10
  1061. package/packages/kmd_client/src/core/model-runtime.d.ts +0 -10
  1062. package/packages/sdk/src/convert.d.ts +0 -17
  1063. package/packages/sdk/src/convert.js +0 -28
  1064. package/packages/sdk/src/convert.js.map +0 -1
  1065. package/packages/sdk/src/convert.mjs +0 -25
  1066. package/packages/sdk/src/convert.mjs.map +0 -1
  1067. package/packages/sdk/src/encoding/binarydata.d.ts +0 -34
  1068. package/packages/sdk/src/encoding/binarydata.js +0 -65
  1069. package/packages/sdk/src/encoding/binarydata.js.map +0 -1
  1070. package/packages/sdk/src/encoding/binarydata.mjs +0 -60
  1071. package/packages/sdk/src/encoding/binarydata.mjs.map +0 -1
  1072. package/packages/sdk/src/encoding/encoding.d.ts +0 -237
  1073. package/packages/sdk/src/encoding/encoding.js +0 -302
  1074. package/packages/sdk/src/encoding/encoding.js.map +0 -1
  1075. package/packages/sdk/src/encoding/encoding.mjs +0 -287
  1076. package/packages/sdk/src/encoding/encoding.mjs.map +0 -1
  1077. package/packages/sdk/src/encoding/schema/array.js +0 -35
  1078. package/packages/sdk/src/encoding/schema/array.js.map +0 -1
  1079. package/packages/sdk/src/encoding/schema/array.mjs +0 -35
  1080. package/packages/sdk/src/encoding/schema/array.mjs.map +0 -1
  1081. package/packages/sdk/src/encoding/schema/bytearray.js +0 -49
  1082. package/packages/sdk/src/encoding/schema/bytearray.js.map +0 -1
  1083. package/packages/sdk/src/encoding/schema/bytearray.mjs +0 -49
  1084. package/packages/sdk/src/encoding/schema/bytearray.mjs.map +0 -1
  1085. package/packages/sdk/src/encoding/schema/map.d.ts +0 -58
  1086. package/packages/sdk/src/encoding/schema/map.js +0 -110
  1087. package/packages/sdk/src/encoding/schema/map.js.map +0 -1
  1088. package/packages/sdk/src/encoding/schema/map.mjs +0 -107
  1089. package/packages/sdk/src/encoding/schema/map.mjs.map +0 -1
  1090. package/packages/sdk/src/encoding/schema/optional.js +0 -46
  1091. package/packages/sdk/src/encoding/schema/optional.js.map +0 -1
  1092. package/packages/sdk/src/encoding/schema/optional.mjs +0 -46
  1093. package/packages/sdk/src/encoding/schema/optional.mjs.map +0 -1
  1094. package/packages/sdk/src/encoding/schema/uint64.js +0 -30
  1095. package/packages/sdk/src/encoding/schema/uint64.js.map +0 -1
  1096. package/packages/sdk/src/encoding/schema/uint64.mjs +0 -30
  1097. package/packages/sdk/src/encoding/schema/uint64.mjs.map +0 -1
  1098. package/packages/sdk/src/encoding/uint64.d.ts +0 -34
  1099. package/packages/sdk/src/encoding/uint64.js +0 -34
  1100. package/packages/sdk/src/encoding/uint64.js.map +0 -1
  1101. package/packages/sdk/src/encoding/uint64.mjs +0 -33
  1102. package/packages/sdk/src/encoding/uint64.mjs.map +0 -1
  1103. package/packages/sdk/src/index.d.ts +0 -44
  1104. package/packages/sdk/src/index.js +0 -62
  1105. package/packages/sdk/src/index.js.map +0 -1
  1106. package/packages/sdk/src/index.mjs +0 -58
  1107. package/packages/sdk/src/index.mjs.map +0 -1
  1108. package/packages/sdk/src/logic/sourcemap.js.map +0 -1
  1109. package/packages/sdk/src/logic/sourcemap.mjs.map +0 -1
  1110. package/packages/sdk/src/nacl/naclWrappers.js +0 -14
  1111. package/packages/sdk/src/nacl/naclWrappers.js.map +0 -1
  1112. package/packages/sdk/src/nacl/naclWrappers.mjs +0 -11
  1113. package/packages/sdk/src/nacl/naclWrappers.mjs.map +0 -1
  1114. package/packages/sdk/src/types/intDecoding.d.ts +0 -28
  1115. package/packages/sdk/src/types/intDecoding.js +0 -32
  1116. package/packages/sdk/src/types/intDecoding.js.map +0 -1
  1117. package/packages/sdk/src/types/intDecoding.mjs +0 -31
  1118. package/packages/sdk/src/types/intDecoding.mjs.map +0 -1
  1119. package/packages/sdk/src/types/transactions/encoded.d.ts +0 -40
  1120. package/packages/sdk/src/types/transactions/encoded.js +0 -64
  1121. package/packages/sdk/src/types/transactions/encoded.js.map +0 -1
  1122. package/packages/sdk/src/types/transactions/encoded.mjs +0 -59
  1123. package/packages/sdk/src/types/transactions/encoded.mjs.map +0 -1
  1124. package/packages/sdk/src/utils/utils.d.ts +0 -64
  1125. package/packages/sdk/src/utils/utils.js +0 -140
  1126. package/packages/sdk/src/utils/utils.js.map +0 -1
  1127. package/packages/sdk/src/utils/utils.mjs +0 -128
  1128. package/packages/sdk/src/utils/utils.mjs.map +0 -1
  1129. package/packages/transact/src/transactions/common.d.ts +0 -37
  1130. package/sdk/index.d.ts +0 -10
  1131. package/sdk/index.js +0 -59
  1132. package/sdk/index.mjs +0 -11
@@ -0,0 +1,170 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_constants = require('./packages/common/src/constants.js');
3
+ const require_config = require('./config.js');
4
+ const require_util = require('./util.js');
5
+
6
+ //#region src/asset-manager.ts
7
+ /**
8
+ * Allows management of asset information.
9
+ * @see {@link AlgorandClient} for the main entry point that provides access to this manager
10
+ */
11
+ var AssetManager = class {
12
+ _algod;
13
+ _newGroup;
14
+ /**
15
+ * Create a new asset manager.
16
+ * @param algod An algod client
17
+ * @param newGroup A function that creates a new `TransactionComposer` transaction group
18
+ * @example Create a new asset manager
19
+ * ```typescript
20
+ * const assetManager = new AssetManager(algod, () => new TransactionComposer({algod, () => signer, () => suggestedParams}))
21
+ * ```
22
+ */
23
+ constructor(algod, newGroup) {
24
+ this._algod = algod;
25
+ this._newGroup = newGroup;
26
+ }
27
+ /**
28
+ * Returns the current asset information for the asset with the given ID.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const assetInfo = await assetManager.getById(12353n);
33
+ * ```
34
+ *
35
+ * @param assetId The ID of the asset
36
+ * @returns The asset information
37
+ */
38
+ async getById(assetId) {
39
+ const asset = await this._algod.assetById(assetId);
40
+ return {
41
+ assetId: BigInt(asset.id),
42
+ total: BigInt(asset.params.total),
43
+ decimals: Number(asset.params.decimals),
44
+ assetName: asset.params.name,
45
+ assetNameAsBytes: asset.params.nameB64,
46
+ unitName: asset.params.unitName,
47
+ unitNameAsBytes: asset.params.unitNameB64,
48
+ url: asset.params.url,
49
+ urlAsBytes: asset.params.urlB64,
50
+ creator: asset.params.creator,
51
+ manager: asset.params.manager,
52
+ clawback: asset.params.clawback,
53
+ freeze: asset.params.freeze,
54
+ reserve: asset.params.reserve,
55
+ defaultFrozen: asset.params.defaultFrozen,
56
+ metadataHash: asset.params.metadataHash
57
+ };
58
+ }
59
+ /**
60
+ * Returns the given sender account's asset holding for a given asset.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
65
+ * const assetId = 123345n;
66
+ * const accountInfo = await assetManager.getAccountInformation(address, assetId);
67
+ * ```
68
+ *
69
+ * [Response data schema details](https://dev.algorand.co/reference/rest-apis/algod/#accountassetinformation)
70
+ * @param sender The address of the sender/account to look up
71
+ * @param assetId The ID of the asset to return a holding for
72
+ * @returns The account asset holding information
73
+ */
74
+ async getAccountInformation(sender, assetId) {
75
+ const info = await this._algod.accountAssetInformation(sender.toString(), assetId);
76
+ return {
77
+ assetId: BigInt(assetId),
78
+ balance: BigInt(info.assetHolding?.amount ?? 0),
79
+ frozen: info.assetHolding?.isFrozen === true,
80
+ round: BigInt(info["round"])
81
+ };
82
+ }
83
+ /**
84
+ * Opt an account in to a list of Algorand Standard Assets.
85
+ *
86
+ * Transactions will be sent in batches of 16 as transaction groups.
87
+ *
88
+ * @param account The account to opt-in
89
+ * @param assetIds The list of asset IDs to opt-in to
90
+ * @param options Any parameters to control the transaction or execution of the transaction
91
+ * @example Example using AlgorandClient
92
+ * ```typescript
93
+ * // Basic example
94
+ * assetManager.bulkOptIn("ACCOUNTADDRESS", [12345n, 67890n])
95
+ * // With configuration
96
+ * assetManager.bulkOptIn("ACCOUNTADDRESS", [12345n, 67890n], { maxFee: (1000).microAlgo(), suppressLog: true })
97
+ * ```
98
+ * @returns An array of records matching asset ID to transaction ID of the opt in
99
+ */
100
+ async bulkOptIn(account, assetIds, options) {
101
+ const results = [];
102
+ for (const assetGroup of require_util.chunkArray(assetIds, require_constants.MAX_TRANSACTION_GROUP_SIZE)) {
103
+ const composer = this._newGroup();
104
+ for (const assetId of assetGroup) composer.addAssetOptIn({
105
+ ...options,
106
+ sender: account,
107
+ assetId: BigInt(assetId)
108
+ });
109
+ const result = await composer.send(options);
110
+ require_config.Config.getLogger(options?.suppressLog).info(`Successfully opted in ${account} for assets ${assetGroup.join(", ")} with transaction IDs ${result.txIds.join(", ")}\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`);
111
+ assetGroup.forEach((assetId, index) => {
112
+ results.push({
113
+ assetId: BigInt(assetId),
114
+ transactionId: result.txIds[index]
115
+ });
116
+ });
117
+ }
118
+ return results;
119
+ }
120
+ /**
121
+ * Opt an account out of a list of Algorand Standard Assets.
122
+ *
123
+ * Transactions will be sent in batches of 16 as transaction groups.
124
+ *
125
+ * @param account The account to opt-in
126
+ * @param assetIds The list of asset IDs to opt-out of
127
+ * @param options Any parameters to control the transaction or execution of the transaction
128
+ * @example Example using AlgorandClient
129
+ * ```typescript
130
+ * // Basic example
131
+ * assetManager.bulkOptOut("ACCOUNTADDRESS", [12345n, 67890n])
132
+ * // With configuration
133
+ * assetManager.bulkOptOut("ACCOUNTADDRESS", [12345n, 67890n], { ensureZeroBalance: true, maxFee: (1000).microAlgo(), suppressLog: true })
134
+ * ```
135
+ * @returns An array of records matching asset ID to transaction ID of the opt in
136
+ */
137
+ async bulkOptOut(account, assetIds, options) {
138
+ const results = [];
139
+ for (const assetGroup of require_util.chunkArray(assetIds, require_constants.MAX_TRANSACTION_GROUP_SIZE)) {
140
+ const composer = this._newGroup();
141
+ const notOptedInAssetIds = [];
142
+ const nonZeroBalanceAssetIds = [];
143
+ for (const assetId of assetGroup) if (options?.ensureZeroBalance !== false) try {
144
+ if ((await this.getAccountInformation(account, assetId)).balance !== 0n) nonZeroBalanceAssetIds.push(BigInt(assetId));
145
+ } catch {
146
+ notOptedInAssetIds.push(BigInt(assetId));
147
+ }
148
+ if (notOptedInAssetIds.length > 0 || nonZeroBalanceAssetIds.length > 0) throw new Error(`Account ${account}${notOptedInAssetIds.length > 0 ? ` is not opted-in to Asset${notOptedInAssetIds.length > 1 ? "s" : ""} ${notOptedInAssetIds.join(", ")}` : ""}${nonZeroBalanceAssetIds.length > 0 ? ` has non-zero balance for Asset${nonZeroBalanceAssetIds.length > 1 ? "s" : ""} ${nonZeroBalanceAssetIds.join(", ")}` : ""}; can't opt-out.`);
149
+ for (const assetId of assetGroup) composer.addAssetOptOut({
150
+ ...options,
151
+ creator: (await this.getById(BigInt(assetId))).creator,
152
+ sender: account,
153
+ assetId: BigInt(assetId)
154
+ });
155
+ const result = await composer.send(options);
156
+ require_config.Config.getLogger(options?.suppressLog).info(`Successfully opted ${account} out of assets ${assetGroup.join(", ")} with transaction IDs ${result.txIds.join(", ")}\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`);
157
+ assetGroup.forEach((assetId, index) => {
158
+ results.push({
159
+ assetId: BigInt(assetId),
160
+ transactionId: result.txIds[index]
161
+ });
162
+ });
163
+ }
164
+ return results;
165
+ }
166
+ };
167
+
168
+ //#endregion
169
+ exports.AssetManager = AssetManager;
170
+ //# sourceMappingURL=asset-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-manager.js","names":["chunkArray","MAX_TRANSACTION_GROUP_SIZE"],"sources":["../src/asset-manager.ts"],"sourcesContent":["import { AlgodClient } from '@algorandfoundation/algokit-algod-client'\nimport { Address, MAX_TRANSACTION_GROUP_SIZE } from '@algorandfoundation/algokit-common'\nimport { AccountAssetInformation } from './account'\nimport { CommonTransactionParams, TransactionComposer, TransactionComposerConfig } from './composer'\nimport { Config } from './config'\nimport { SendParams } from './transaction/types'\nimport { chunkArray } from './util'\n\n/** Individual result from performing a bulk opt-in or bulk opt-out for an account against a series of assets. */\nexport interface BulkAssetOptInOutResult {\n /** The ID of the asset opted into / out of */\n assetId: bigint\n /** The transaction ID of the resulting opt in / out */\n transactionId: string\n}\n\n/** Information about an asset. */\nexport interface AssetInformation {\n /** The ID of the asset. */\n assetId: bigint\n\n /** The address of the account that created the asset.\n *\n * This is the address where the parameters for this asset can be found,\n * and also the address where unwanted asset units can be sent when\n * closing out an asset position and opting-out of the asset.\n */\n creator: string\n\n /** The total amount of the smallest divisible (decimal) units that were created of the asset.\n *\n * For example, if `decimals` is, say, 2, then for every 100 `total` there is 1 whole unit.\n */\n total: bigint\n\n /** The amount of decimal places the asset was created with.\n *\n * * If 0, the asset is not divisible;\n * * If 1, the base unit of the asset is in tenths;\n * * If 2, the base unit of the asset is in hundredths;\n * * If 3, the base unit of the asset is in thousandths;\n * * and so on up to 19 decimal places.\n */\n decimals: number\n\n /** Whether the asset was frozen by default for all accounts.\n *\n * If `true` then for anyone apart from the creator to hold the\n * asset it needs to be unfrozen per account using an asset freeze\n * transaction from the `freeze` account.\n */\n defaultFrozen?: boolean\n\n /** The address of the optional account that can manage the configuration of the asset and destroy it.\n *\n * If not set the asset is permanently immutable.\n */\n manager?: string\n\n /**\n * The address of the optional account that holds the reserve (uncirculated supply) units of the asset.\n *\n * This address has no specific authority in the protocol itself and is informational only.\n *\n * Some standards like [ARC-19](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0019.md)\n * rely on this field to hold meaningful data.\n *\n * It can be used in the case where you want to signal to holders of your asset that the uncirculated units\n * of the asset reside in an account that is different from the default creator account.\n *\n * If not set the field is permanently empty.\n */\n reserve?: string\n\n /**\n * The address of the optional account that can be used to freeze or unfreeze holdings of this asset for any account.\n *\n * If empty, freezing is not permitted.\n *\n * If not set the field is permanently empty.\n */\n freeze?: string\n\n /**\n * The address of the optional account that can clawback holdings of this asset from any account.\n *\n * The clawback account has the ability to **unconditionally take assets from any account**.\n *\n * If empty, clawback is not permitted.\n *\n * If not set the field is permanently empty.\n */\n clawback?: string\n\n /** The optional name of the unit of this asset (e.g. ticker name).\n *\n * Max size is 8 bytes.\n */\n unitName?: string\n\n /** The optional name of the unit of this asset (e.g. ticker name).\n *\n * Max size is 8 bytes.\n */\n unitNameAsBytes?: Uint8Array\n\n /** The optional name of the asset.\n *\n * Max size is 32 bytes.\n */\n assetName?: string\n\n /** The optional name of the asset.\n *\n * Max size is 32 bytes.\n */\n assetNameAsBytes?: Uint8Array\n\n /** Optional URL where more information about the asset can be retrieved (e.g. metadata).\n *\n * Max size is 96 bytes.\n */\n url?: string\n\n /** Optional URL where more information about the asset can be retrieved (e.g. metadata).\n *\n * Max size is 96 bytes.\n */\n urlAsBytes?: Uint8Array\n\n /** 32-byte hash of some metadata that is relevant to the asset and/or asset holders.\n *\n * The format of this metadata is up to the application.\n */\n metadataHash?: Uint8Array\n}\n\n/**\n * Allows management of asset information.\n * @see {@link AlgorandClient} for the main entry point that provides access to this manager\n */\nexport class AssetManager {\n private _algod: AlgodClient\n private _newGroup: () => TransactionComposer\n\n /**\n * Create a new asset manager.\n * @param algod An algod client\n * @param newGroup A function that creates a new `TransactionComposer` transaction group\n * @example Create a new asset manager\n * ```typescript\n * const assetManager = new AssetManager(algod, () => new TransactionComposer({algod, () => signer, () => suggestedParams}))\n * ```\n */\n constructor(algod: AlgodClient, newGroup: (config?: TransactionComposerConfig) => TransactionComposer) {\n this._algod = algod\n this._newGroup = newGroup\n }\n\n /**\n * Returns the current asset information for the asset with the given ID.\n *\n * @example\n * ```typescript\n * const assetInfo = await assetManager.getById(12353n);\n * ```\n *\n * @param assetId The ID of the asset\n * @returns The asset information\n */\n public async getById(assetId: bigint): Promise<AssetInformation> {\n const asset = await this._algod.assetById(assetId)\n\n return {\n assetId: BigInt(asset.id),\n total: BigInt(asset.params.total),\n decimals: Number(asset.params.decimals),\n assetName: asset.params.name,\n assetNameAsBytes: asset.params.nameB64,\n unitName: asset.params.unitName,\n unitNameAsBytes: asset.params.unitNameB64,\n url: asset.params.url,\n urlAsBytes: asset.params.urlB64,\n creator: asset.params.creator,\n manager: asset.params.manager,\n clawback: asset.params.clawback,\n freeze: asset.params.freeze,\n reserve: asset.params.reserve,\n defaultFrozen: asset.params.defaultFrozen,\n metadataHash: asset.params.metadataHash,\n }\n }\n\n /**\n * Returns the given sender account's asset holding for a given asset.\n *\n * @example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const assetId = 123345n;\n * const accountInfo = await assetManager.getAccountInformation(address, assetId);\n * ```\n *\n * [Response data schema details](https://dev.algorand.co/reference/rest-apis/algod/#accountassetinformation)\n * @param sender The address of the sender/account to look up\n * @param assetId The ID of the asset to return a holding for\n * @returns The account asset holding information\n */\n public async getAccountInformation(sender: string | Address, assetId: bigint): Promise<AccountAssetInformation> {\n const info = await this._algod.accountAssetInformation(sender.toString(), assetId)\n\n return {\n assetId: BigInt(assetId),\n balance: BigInt(info.assetHolding?.amount ?? 0),\n frozen: info.assetHolding?.isFrozen === true,\n round: BigInt(info['round']),\n }\n }\n\n /**\n * Opt an account in to a list of Algorand Standard Assets.\n *\n * Transactions will be sent in batches of 16 as transaction groups.\n *\n * @param account The account to opt-in\n * @param assetIds The list of asset IDs to opt-in to\n * @param options Any parameters to control the transaction or execution of the transaction\n * @example Example using AlgorandClient\n * ```typescript\n * // Basic example\n * assetManager.bulkOptIn(\"ACCOUNTADDRESS\", [12345n, 67890n])\n * // With configuration\n * assetManager.bulkOptIn(\"ACCOUNTADDRESS\", [12345n, 67890n], { maxFee: (1000).microAlgo(), suppressLog: true })\n * ```\n * @returns An array of records matching asset ID to transaction ID of the opt in\n */\n async bulkOptIn(\n account: string | Address,\n assetIds: bigint[],\n options?: Omit<CommonTransactionParams, 'sender'> & SendParams,\n ): Promise<BulkAssetOptInOutResult[]> {\n const results: BulkAssetOptInOutResult[] = []\n\n for (const assetGroup of chunkArray(assetIds, MAX_TRANSACTION_GROUP_SIZE)) {\n const composer = this._newGroup()\n\n for (const assetId of assetGroup) {\n composer.addAssetOptIn({\n ...options,\n sender: account,\n assetId: BigInt(assetId),\n })\n }\n\n const result = await composer.send(options)\n\n Config.getLogger(options?.suppressLog).info(\n `Successfully opted in ${account} for assets ${assetGroup.join(', ')} with transaction IDs ${result.txIds.join(', ')}` +\n `\\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`,\n )\n\n assetGroup.forEach((assetId, index) => {\n results.push({ assetId: BigInt(assetId), transactionId: result.txIds[index] })\n })\n }\n\n return results\n }\n\n /**\n * Opt an account out of a list of Algorand Standard Assets.\n *\n * Transactions will be sent in batches of 16 as transaction groups.\n *\n * @param account The account to opt-in\n * @param assetIds The list of asset IDs to opt-out of\n * @param options Any parameters to control the transaction or execution of the transaction\n * @example Example using AlgorandClient\n * ```typescript\n * // Basic example\n * assetManager.bulkOptOut(\"ACCOUNTADDRESS\", [12345n, 67890n])\n * // With configuration\n * assetManager.bulkOptOut(\"ACCOUNTADDRESS\", [12345n, 67890n], { ensureZeroBalance: true, maxFee: (1000).microAlgo(), suppressLog: true })\n * ```\n * @returns An array of records matching asset ID to transaction ID of the opt in\n */\n async bulkOptOut(\n account: string | Address,\n assetIds: bigint[],\n options?: Omit<CommonTransactionParams, 'sender'> &\n SendParams & {\n /** Whether or not to check if the account has a zero balance for each asset first or not.\n *\n * Defaults to `true`.\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 },\n ): Promise<BulkAssetOptInOutResult[]> {\n const results: BulkAssetOptInOutResult[] = []\n\n for (const assetGroup of chunkArray(assetIds, MAX_TRANSACTION_GROUP_SIZE)) {\n const composer = this._newGroup()\n\n const notOptedInAssetIds: bigint[] = []\n const nonZeroBalanceAssetIds: bigint[] = []\n for (const assetId of assetGroup) {\n if (options?.ensureZeroBalance !== false) {\n try {\n const accountAssetInfo = await this.getAccountInformation(account, assetId)\n if (accountAssetInfo.balance !== 0n) {\n nonZeroBalanceAssetIds.push(BigInt(assetId))\n }\n } catch {\n notOptedInAssetIds.push(BigInt(assetId))\n }\n }\n }\n\n if (notOptedInAssetIds.length > 0 || nonZeroBalanceAssetIds.length > 0) {\n throw new Error(\n `Account ${account}${notOptedInAssetIds.length > 0 ? ` is not opted-in to Asset${notOptedInAssetIds.length > 1 ? 's' : ''} ${notOptedInAssetIds.join(', ')}` : ''}${\n nonZeroBalanceAssetIds.length > 0\n ? ` has non-zero balance for Asset${nonZeroBalanceAssetIds.length > 1 ? 's' : ''} ${nonZeroBalanceAssetIds.join(', ')}`\n : ''\n }; can't opt-out.`,\n )\n }\n\n for (const assetId of assetGroup) {\n composer.addAssetOptOut({\n ...options,\n creator: (await this.getById(BigInt(assetId))).creator,\n sender: account,\n assetId: BigInt(assetId),\n })\n }\n\n const result = await composer.send(options)\n\n Config.getLogger(options?.suppressLog).info(\n `Successfully opted ${account} out of assets ${assetGroup.join(', ')} with transaction IDs ${result.txIds.join(', ')}` +\n `\\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`,\n )\n\n assetGroup.forEach((assetId, index) => {\n results.push({ assetId: BigInt(assetId), transactionId: result.txIds[index] })\n })\n }\n\n return results\n }\n}\n"],"mappings":";;;;;;;;;;AA6IA,IAAa,eAAb,MAA0B;CACxB,AAAQ;CACR,AAAQ;;;;;;;;;;CAWR,YAAY,OAAoB,UAAuE;AACrG,OAAK,SAAS;AACd,OAAK,YAAY;;;;;;;;;;;;;CAcnB,MAAa,QAAQ,SAA4C;EAC/D,MAAM,QAAQ,MAAM,KAAK,OAAO,UAAU,QAAQ;AAElD,SAAO;GACL,SAAS,OAAO,MAAM,GAAG;GACzB,OAAO,OAAO,MAAM,OAAO,MAAM;GACjC,UAAU,OAAO,MAAM,OAAO,SAAS;GACvC,WAAW,MAAM,OAAO;GACxB,kBAAkB,MAAM,OAAO;GAC/B,UAAU,MAAM,OAAO;GACvB,iBAAiB,MAAM,OAAO;GAC9B,KAAK,MAAM,OAAO;GAClB,YAAY,MAAM,OAAO;GACzB,SAAS,MAAM,OAAO;GACtB,SAAS,MAAM,OAAO;GACtB,UAAU,MAAM,OAAO;GACvB,QAAQ,MAAM,OAAO;GACrB,SAAS,MAAM,OAAO;GACtB,eAAe,MAAM,OAAO;GAC5B,cAAc,MAAM,OAAO;GAC5B;;;;;;;;;;;;;;;;;CAkBH,MAAa,sBAAsB,QAA0B,SAAmD;EAC9G,MAAM,OAAO,MAAM,KAAK,OAAO,wBAAwB,OAAO,UAAU,EAAE,QAAQ;AAElF,SAAO;GACL,SAAS,OAAO,QAAQ;GACxB,SAAS,OAAO,KAAK,cAAc,UAAU,EAAE;GAC/C,QAAQ,KAAK,cAAc,aAAa;GACxC,OAAO,OAAO,KAAK,SAAS;GAC7B;;;;;;;;;;;;;;;;;;;CAoBH,MAAM,UACJ,SACA,UACA,SACoC;EACpC,MAAM,UAAqC,EAAE;AAE7C,OAAK,MAAM,cAAcA,wBAAW,UAAUC,6CAA2B,EAAE;GACzE,MAAM,WAAW,KAAK,WAAW;AAEjC,QAAK,MAAM,WAAW,WACpB,UAAS,cAAc;IACrB,GAAG;IACH,QAAQ;IACR,SAAS,OAAO,QAAQ;IACzB,CAAC;GAGJ,MAAM,SAAS,MAAM,SAAS,KAAK,QAAQ;AAE3C,yBAAO,UAAU,SAAS,YAAY,CAAC,KACrC,yBAAyB,QAAQ,cAAc,WAAW,KAAK,KAAK,CAAC,wBAAwB,OAAO,MAAM,KAAK,KAAK,qBAC7F,OAAO,QAAQ,YAAY,OAAO,gBAAgB,IAAI,eAAe,GAC7F;AAED,cAAW,SAAS,SAAS,UAAU;AACrC,YAAQ,KAAK;KAAE,SAAS,OAAO,QAAQ;KAAE,eAAe,OAAO,MAAM;KAAQ,CAAC;KAC9E;;AAGJ,SAAO;;;;;;;;;;;;;;;;;;;CAoBT,MAAM,WACJ,SACA,UACA,SAYoC;EACpC,MAAM,UAAqC,EAAE;AAE7C,OAAK,MAAM,cAAcD,wBAAW,UAAUC,6CAA2B,EAAE;GACzE,MAAM,WAAW,KAAK,WAAW;GAEjC,MAAM,qBAA+B,EAAE;GACvC,MAAM,yBAAmC,EAAE;AAC3C,QAAK,MAAM,WAAW,WACpB,KAAI,SAAS,sBAAsB,MACjC,KAAI;AAEF,SADyB,MAAM,KAAK,sBAAsB,SAAS,QAAQ,EACtD,YAAY,GAC/B,wBAAuB,KAAK,OAAO,QAAQ,CAAC;WAExC;AACN,uBAAmB,KAAK,OAAO,QAAQ,CAAC;;AAK9C,OAAI,mBAAmB,SAAS,KAAK,uBAAuB,SAAS,EACnE,OAAM,IAAI,MACR,WAAW,UAAU,mBAAmB,SAAS,IAAI,4BAA4B,mBAAmB,SAAS,IAAI,MAAM,GAAG,GAAG,mBAAmB,KAAK,KAAK,KAAK,KAC7J,uBAAuB,SAAS,IAC5B,kCAAkC,uBAAuB,SAAS,IAAI,MAAM,GAAG,GAAG,uBAAuB,KAAK,KAAK,KACnH,GACL,kBACF;AAGH,QAAK,MAAM,WAAW,WACpB,UAAS,eAAe;IACtB,GAAG;IACH,UAAU,MAAM,KAAK,QAAQ,OAAO,QAAQ,CAAC,EAAE;IAC/C,QAAQ;IACR,SAAS,OAAO,QAAQ;IACzB,CAAC;GAGJ,MAAM,SAAS,MAAM,SAAS,KAAK,QAAQ;AAE3C,yBAAO,UAAU,SAAS,YAAY,CAAC,KACrC,sBAAsB,QAAQ,iBAAiB,WAAW,KAAK,KAAK,CAAC,wBAAwB,OAAO,MAAM,KAAK,KAAK,qBAC7F,OAAO,QAAQ,YAAY,OAAO,gBAAgB,IAAI,eAAe,GAC7F;AAED,cAAW,SAAS,SAAS,UAAU;AACrC,YAAQ,KAAK;KAAE,SAAS,OAAO,QAAQ;KAAE,eAAe,OAAO,MAAM;KAAQ,CAAC;KAC9E;;AAGJ,SAAO"}
@@ -0,0 +1,169 @@
1
+ import { MAX_TRANSACTION_GROUP_SIZE } from "./packages/common/src/constants.mjs";
2
+ import { Config } from "./config.mjs";
3
+ import { chunkArray } from "./util.mjs";
4
+
5
+ //#region src/asset-manager.ts
6
+ /**
7
+ * Allows management of asset information.
8
+ * @see {@link AlgorandClient} for the main entry point that provides access to this manager
9
+ */
10
+ var AssetManager = class {
11
+ _algod;
12
+ _newGroup;
13
+ /**
14
+ * Create a new asset manager.
15
+ * @param algod An algod client
16
+ * @param newGroup A function that creates a new `TransactionComposer` transaction group
17
+ * @example Create a new asset manager
18
+ * ```typescript
19
+ * const assetManager = new AssetManager(algod, () => new TransactionComposer({algod, () => signer, () => suggestedParams}))
20
+ * ```
21
+ */
22
+ constructor(algod, newGroup) {
23
+ this._algod = algod;
24
+ this._newGroup = newGroup;
25
+ }
26
+ /**
27
+ * Returns the current asset information for the asset with the given ID.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const assetInfo = await assetManager.getById(12353n);
32
+ * ```
33
+ *
34
+ * @param assetId The ID of the asset
35
+ * @returns The asset information
36
+ */
37
+ async getById(assetId) {
38
+ const asset = await this._algod.assetById(assetId);
39
+ return {
40
+ assetId: BigInt(asset.id),
41
+ total: BigInt(asset.params.total),
42
+ decimals: Number(asset.params.decimals),
43
+ assetName: asset.params.name,
44
+ assetNameAsBytes: asset.params.nameB64,
45
+ unitName: asset.params.unitName,
46
+ unitNameAsBytes: asset.params.unitNameB64,
47
+ url: asset.params.url,
48
+ urlAsBytes: asset.params.urlB64,
49
+ creator: asset.params.creator,
50
+ manager: asset.params.manager,
51
+ clawback: asset.params.clawback,
52
+ freeze: asset.params.freeze,
53
+ reserve: asset.params.reserve,
54
+ defaultFrozen: asset.params.defaultFrozen,
55
+ metadataHash: asset.params.metadataHash
56
+ };
57
+ }
58
+ /**
59
+ * Returns the given sender account's asset holding for a given asset.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const address = "XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA";
64
+ * const assetId = 123345n;
65
+ * const accountInfo = await assetManager.getAccountInformation(address, assetId);
66
+ * ```
67
+ *
68
+ * [Response data schema details](https://dev.algorand.co/reference/rest-apis/algod/#accountassetinformation)
69
+ * @param sender The address of the sender/account to look up
70
+ * @param assetId The ID of the asset to return a holding for
71
+ * @returns The account asset holding information
72
+ */
73
+ async getAccountInformation(sender, assetId) {
74
+ const info = await this._algod.accountAssetInformation(sender.toString(), assetId);
75
+ return {
76
+ assetId: BigInt(assetId),
77
+ balance: BigInt(info.assetHolding?.amount ?? 0),
78
+ frozen: info.assetHolding?.isFrozen === true,
79
+ round: BigInt(info["round"])
80
+ };
81
+ }
82
+ /**
83
+ * Opt an account in to a list of Algorand Standard Assets.
84
+ *
85
+ * Transactions will be sent in batches of 16 as transaction groups.
86
+ *
87
+ * @param account The account to opt-in
88
+ * @param assetIds The list of asset IDs to opt-in to
89
+ * @param options Any parameters to control the transaction or execution of the transaction
90
+ * @example Example using AlgorandClient
91
+ * ```typescript
92
+ * // Basic example
93
+ * assetManager.bulkOptIn("ACCOUNTADDRESS", [12345n, 67890n])
94
+ * // With configuration
95
+ * assetManager.bulkOptIn("ACCOUNTADDRESS", [12345n, 67890n], { maxFee: (1000).microAlgo(), suppressLog: true })
96
+ * ```
97
+ * @returns An array of records matching asset ID to transaction ID of the opt in
98
+ */
99
+ async bulkOptIn(account, assetIds, options) {
100
+ const results = [];
101
+ for (const assetGroup of chunkArray(assetIds, MAX_TRANSACTION_GROUP_SIZE)) {
102
+ const composer = this._newGroup();
103
+ for (const assetId of assetGroup) composer.addAssetOptIn({
104
+ ...options,
105
+ sender: account,
106
+ assetId: BigInt(assetId)
107
+ });
108
+ const result = await composer.send(options);
109
+ Config.getLogger(options?.suppressLog).info(`Successfully opted in ${account} for assets ${assetGroup.join(", ")} with transaction IDs ${result.txIds.join(", ")}\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`);
110
+ assetGroup.forEach((assetId, index) => {
111
+ results.push({
112
+ assetId: BigInt(assetId),
113
+ transactionId: result.txIds[index]
114
+ });
115
+ });
116
+ }
117
+ return results;
118
+ }
119
+ /**
120
+ * Opt an account out of a list of Algorand Standard Assets.
121
+ *
122
+ * Transactions will be sent in batches of 16 as transaction groups.
123
+ *
124
+ * @param account The account to opt-in
125
+ * @param assetIds The list of asset IDs to opt-out of
126
+ * @param options Any parameters to control the transaction or execution of the transaction
127
+ * @example Example using AlgorandClient
128
+ * ```typescript
129
+ * // Basic example
130
+ * assetManager.bulkOptOut("ACCOUNTADDRESS", [12345n, 67890n])
131
+ * // With configuration
132
+ * assetManager.bulkOptOut("ACCOUNTADDRESS", [12345n, 67890n], { ensureZeroBalance: true, maxFee: (1000).microAlgo(), suppressLog: true })
133
+ * ```
134
+ * @returns An array of records matching asset ID to transaction ID of the opt in
135
+ */
136
+ async bulkOptOut(account, assetIds, options) {
137
+ const results = [];
138
+ for (const assetGroup of chunkArray(assetIds, MAX_TRANSACTION_GROUP_SIZE)) {
139
+ const composer = this._newGroup();
140
+ const notOptedInAssetIds = [];
141
+ const nonZeroBalanceAssetIds = [];
142
+ for (const assetId of assetGroup) if (options?.ensureZeroBalance !== false) try {
143
+ if ((await this.getAccountInformation(account, assetId)).balance !== 0n) nonZeroBalanceAssetIds.push(BigInt(assetId));
144
+ } catch {
145
+ notOptedInAssetIds.push(BigInt(assetId));
146
+ }
147
+ if (notOptedInAssetIds.length > 0 || nonZeroBalanceAssetIds.length > 0) throw new Error(`Account ${account}${notOptedInAssetIds.length > 0 ? ` is not opted-in to Asset${notOptedInAssetIds.length > 1 ? "s" : ""} ${notOptedInAssetIds.join(", ")}` : ""}${nonZeroBalanceAssetIds.length > 0 ? ` has non-zero balance for Asset${nonZeroBalanceAssetIds.length > 1 ? "s" : ""} ${nonZeroBalanceAssetIds.join(", ")}` : ""}; can't opt-out.`);
148
+ for (const assetId of assetGroup) composer.addAssetOptOut({
149
+ ...options,
150
+ creator: (await this.getById(BigInt(assetId))).creator,
151
+ sender: account,
152
+ assetId: BigInt(assetId)
153
+ });
154
+ const result = await composer.send(options);
155
+ Config.getLogger(options?.suppressLog).info(`Successfully opted ${account} out of assets ${assetGroup.join(", ")} with transaction IDs ${result.txIds.join(", ")}\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`);
156
+ assetGroup.forEach((assetId, index) => {
157
+ results.push({
158
+ assetId: BigInt(assetId),
159
+ transactionId: result.txIds[index]
160
+ });
161
+ });
162
+ }
163
+ return results;
164
+ }
165
+ };
166
+
167
+ //#endregion
168
+ export { AssetManager };
169
+ //# sourceMappingURL=asset-manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-manager.mjs","names":[],"sources":["../src/asset-manager.ts"],"sourcesContent":["import { AlgodClient } from '@algorandfoundation/algokit-algod-client'\nimport { Address, MAX_TRANSACTION_GROUP_SIZE } from '@algorandfoundation/algokit-common'\nimport { AccountAssetInformation } from './account'\nimport { CommonTransactionParams, TransactionComposer, TransactionComposerConfig } from './composer'\nimport { Config } from './config'\nimport { SendParams } from './transaction/types'\nimport { chunkArray } from './util'\n\n/** Individual result from performing a bulk opt-in or bulk opt-out for an account against a series of assets. */\nexport interface BulkAssetOptInOutResult {\n /** The ID of the asset opted into / out of */\n assetId: bigint\n /** The transaction ID of the resulting opt in / out */\n transactionId: string\n}\n\n/** Information about an asset. */\nexport interface AssetInformation {\n /** The ID of the asset. */\n assetId: bigint\n\n /** The address of the account that created the asset.\n *\n * This is the address where the parameters for this asset can be found,\n * and also the address where unwanted asset units can be sent when\n * closing out an asset position and opting-out of the asset.\n */\n creator: string\n\n /** The total amount of the smallest divisible (decimal) units that were created of the asset.\n *\n * For example, if `decimals` is, say, 2, then for every 100 `total` there is 1 whole unit.\n */\n total: bigint\n\n /** The amount of decimal places the asset was created with.\n *\n * * If 0, the asset is not divisible;\n * * If 1, the base unit of the asset is in tenths;\n * * If 2, the base unit of the asset is in hundredths;\n * * If 3, the base unit of the asset is in thousandths;\n * * and so on up to 19 decimal places.\n */\n decimals: number\n\n /** Whether the asset was frozen by default for all accounts.\n *\n * If `true` then for anyone apart from the creator to hold the\n * asset it needs to be unfrozen per account using an asset freeze\n * transaction from the `freeze` account.\n */\n defaultFrozen?: boolean\n\n /** The address of the optional account that can manage the configuration of the asset and destroy it.\n *\n * If not set the asset is permanently immutable.\n */\n manager?: string\n\n /**\n * The address of the optional account that holds the reserve (uncirculated supply) units of the asset.\n *\n * This address has no specific authority in the protocol itself and is informational only.\n *\n * Some standards like [ARC-19](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0019.md)\n * rely on this field to hold meaningful data.\n *\n * It can be used in the case where you want to signal to holders of your asset that the uncirculated units\n * of the asset reside in an account that is different from the default creator account.\n *\n * If not set the field is permanently empty.\n */\n reserve?: string\n\n /**\n * The address of the optional account that can be used to freeze or unfreeze holdings of this asset for any account.\n *\n * If empty, freezing is not permitted.\n *\n * If not set the field is permanently empty.\n */\n freeze?: string\n\n /**\n * The address of the optional account that can clawback holdings of this asset from any account.\n *\n * The clawback account has the ability to **unconditionally take assets from any account**.\n *\n * If empty, clawback is not permitted.\n *\n * If not set the field is permanently empty.\n */\n clawback?: string\n\n /** The optional name of the unit of this asset (e.g. ticker name).\n *\n * Max size is 8 bytes.\n */\n unitName?: string\n\n /** The optional name of the unit of this asset (e.g. ticker name).\n *\n * Max size is 8 bytes.\n */\n unitNameAsBytes?: Uint8Array\n\n /** The optional name of the asset.\n *\n * Max size is 32 bytes.\n */\n assetName?: string\n\n /** The optional name of the asset.\n *\n * Max size is 32 bytes.\n */\n assetNameAsBytes?: Uint8Array\n\n /** Optional URL where more information about the asset can be retrieved (e.g. metadata).\n *\n * Max size is 96 bytes.\n */\n url?: string\n\n /** Optional URL where more information about the asset can be retrieved (e.g. metadata).\n *\n * Max size is 96 bytes.\n */\n urlAsBytes?: Uint8Array\n\n /** 32-byte hash of some metadata that is relevant to the asset and/or asset holders.\n *\n * The format of this metadata is up to the application.\n */\n metadataHash?: Uint8Array\n}\n\n/**\n * Allows management of asset information.\n * @see {@link AlgorandClient} for the main entry point that provides access to this manager\n */\nexport class AssetManager {\n private _algod: AlgodClient\n private _newGroup: () => TransactionComposer\n\n /**\n * Create a new asset manager.\n * @param algod An algod client\n * @param newGroup A function that creates a new `TransactionComposer` transaction group\n * @example Create a new asset manager\n * ```typescript\n * const assetManager = new AssetManager(algod, () => new TransactionComposer({algod, () => signer, () => suggestedParams}))\n * ```\n */\n constructor(algod: AlgodClient, newGroup: (config?: TransactionComposerConfig) => TransactionComposer) {\n this._algod = algod\n this._newGroup = newGroup\n }\n\n /**\n * Returns the current asset information for the asset with the given ID.\n *\n * @example\n * ```typescript\n * const assetInfo = await assetManager.getById(12353n);\n * ```\n *\n * @param assetId The ID of the asset\n * @returns The asset information\n */\n public async getById(assetId: bigint): Promise<AssetInformation> {\n const asset = await this._algod.assetById(assetId)\n\n return {\n assetId: BigInt(asset.id),\n total: BigInt(asset.params.total),\n decimals: Number(asset.params.decimals),\n assetName: asset.params.name,\n assetNameAsBytes: asset.params.nameB64,\n unitName: asset.params.unitName,\n unitNameAsBytes: asset.params.unitNameB64,\n url: asset.params.url,\n urlAsBytes: asset.params.urlB64,\n creator: asset.params.creator,\n manager: asset.params.manager,\n clawback: asset.params.clawback,\n freeze: asset.params.freeze,\n reserve: asset.params.reserve,\n defaultFrozen: asset.params.defaultFrozen,\n metadataHash: asset.params.metadataHash,\n }\n }\n\n /**\n * Returns the given sender account's asset holding for a given asset.\n *\n * @example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const assetId = 123345n;\n * const accountInfo = await assetManager.getAccountInformation(address, assetId);\n * ```\n *\n * [Response data schema details](https://dev.algorand.co/reference/rest-apis/algod/#accountassetinformation)\n * @param sender The address of the sender/account to look up\n * @param assetId The ID of the asset to return a holding for\n * @returns The account asset holding information\n */\n public async getAccountInformation(sender: string | Address, assetId: bigint): Promise<AccountAssetInformation> {\n const info = await this._algod.accountAssetInformation(sender.toString(), assetId)\n\n return {\n assetId: BigInt(assetId),\n balance: BigInt(info.assetHolding?.amount ?? 0),\n frozen: info.assetHolding?.isFrozen === true,\n round: BigInt(info['round']),\n }\n }\n\n /**\n * Opt an account in to a list of Algorand Standard Assets.\n *\n * Transactions will be sent in batches of 16 as transaction groups.\n *\n * @param account The account to opt-in\n * @param assetIds The list of asset IDs to opt-in to\n * @param options Any parameters to control the transaction or execution of the transaction\n * @example Example using AlgorandClient\n * ```typescript\n * // Basic example\n * assetManager.bulkOptIn(\"ACCOUNTADDRESS\", [12345n, 67890n])\n * // With configuration\n * assetManager.bulkOptIn(\"ACCOUNTADDRESS\", [12345n, 67890n], { maxFee: (1000).microAlgo(), suppressLog: true })\n * ```\n * @returns An array of records matching asset ID to transaction ID of the opt in\n */\n async bulkOptIn(\n account: string | Address,\n assetIds: bigint[],\n options?: Omit<CommonTransactionParams, 'sender'> & SendParams,\n ): Promise<BulkAssetOptInOutResult[]> {\n const results: BulkAssetOptInOutResult[] = []\n\n for (const assetGroup of chunkArray(assetIds, MAX_TRANSACTION_GROUP_SIZE)) {\n const composer = this._newGroup()\n\n for (const assetId of assetGroup) {\n composer.addAssetOptIn({\n ...options,\n sender: account,\n assetId: BigInt(assetId),\n })\n }\n\n const result = await composer.send(options)\n\n Config.getLogger(options?.suppressLog).info(\n `Successfully opted in ${account} for assets ${assetGroup.join(', ')} with transaction IDs ${result.txIds.join(', ')}` +\n `\\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`,\n )\n\n assetGroup.forEach((assetId, index) => {\n results.push({ assetId: BigInt(assetId), transactionId: result.txIds[index] })\n })\n }\n\n return results\n }\n\n /**\n * Opt an account out of a list of Algorand Standard Assets.\n *\n * Transactions will be sent in batches of 16 as transaction groups.\n *\n * @param account The account to opt-in\n * @param assetIds The list of asset IDs to opt-out of\n * @param options Any parameters to control the transaction or execution of the transaction\n * @example Example using AlgorandClient\n * ```typescript\n * // Basic example\n * assetManager.bulkOptOut(\"ACCOUNTADDRESS\", [12345n, 67890n])\n * // With configuration\n * assetManager.bulkOptOut(\"ACCOUNTADDRESS\", [12345n, 67890n], { ensureZeroBalance: true, maxFee: (1000).microAlgo(), suppressLog: true })\n * ```\n * @returns An array of records matching asset ID to transaction ID of the opt in\n */\n async bulkOptOut(\n account: string | Address,\n assetIds: bigint[],\n options?: Omit<CommonTransactionParams, 'sender'> &\n SendParams & {\n /** Whether or not to check if the account has a zero balance for each asset first or not.\n *\n * Defaults to `true`.\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 },\n ): Promise<BulkAssetOptInOutResult[]> {\n const results: BulkAssetOptInOutResult[] = []\n\n for (const assetGroup of chunkArray(assetIds, MAX_TRANSACTION_GROUP_SIZE)) {\n const composer = this._newGroup()\n\n const notOptedInAssetIds: bigint[] = []\n const nonZeroBalanceAssetIds: bigint[] = []\n for (const assetId of assetGroup) {\n if (options?.ensureZeroBalance !== false) {\n try {\n const accountAssetInfo = await this.getAccountInformation(account, assetId)\n if (accountAssetInfo.balance !== 0n) {\n nonZeroBalanceAssetIds.push(BigInt(assetId))\n }\n } catch {\n notOptedInAssetIds.push(BigInt(assetId))\n }\n }\n }\n\n if (notOptedInAssetIds.length > 0 || nonZeroBalanceAssetIds.length > 0) {\n throw new Error(\n `Account ${account}${notOptedInAssetIds.length > 0 ? ` is not opted-in to Asset${notOptedInAssetIds.length > 1 ? 's' : ''} ${notOptedInAssetIds.join(', ')}` : ''}${\n nonZeroBalanceAssetIds.length > 0\n ? ` has non-zero balance for Asset${nonZeroBalanceAssetIds.length > 1 ? 's' : ''} ${nonZeroBalanceAssetIds.join(', ')}`\n : ''\n }; can't opt-out.`,\n )\n }\n\n for (const assetId of assetGroup) {\n composer.addAssetOptOut({\n ...options,\n creator: (await this.getById(BigInt(assetId))).creator,\n sender: account,\n assetId: BigInt(assetId),\n })\n }\n\n const result = await composer.send(options)\n\n Config.getLogger(options?.suppressLog).info(\n `Successfully opted ${account} out of assets ${assetGroup.join(', ')} with transaction IDs ${result.txIds.join(', ')}` +\n `\\n Grouped under ${result.groupId} in round ${result.confirmations?.[0]?.confirmedRound}.`,\n )\n\n assetGroup.forEach((assetId, index) => {\n results.push({ assetId: BigInt(assetId), transactionId: result.txIds[index] })\n })\n }\n\n return results\n }\n}\n"],"mappings":";;;;;;;;;AA6IA,IAAa,eAAb,MAA0B;CACxB,AAAQ;CACR,AAAQ;;;;;;;;;;CAWR,YAAY,OAAoB,UAAuE;AACrG,OAAK,SAAS;AACd,OAAK,YAAY;;;;;;;;;;;;;CAcnB,MAAa,QAAQ,SAA4C;EAC/D,MAAM,QAAQ,MAAM,KAAK,OAAO,UAAU,QAAQ;AAElD,SAAO;GACL,SAAS,OAAO,MAAM,GAAG;GACzB,OAAO,OAAO,MAAM,OAAO,MAAM;GACjC,UAAU,OAAO,MAAM,OAAO,SAAS;GACvC,WAAW,MAAM,OAAO;GACxB,kBAAkB,MAAM,OAAO;GAC/B,UAAU,MAAM,OAAO;GACvB,iBAAiB,MAAM,OAAO;GAC9B,KAAK,MAAM,OAAO;GAClB,YAAY,MAAM,OAAO;GACzB,SAAS,MAAM,OAAO;GACtB,SAAS,MAAM,OAAO;GACtB,UAAU,MAAM,OAAO;GACvB,QAAQ,MAAM,OAAO;GACrB,SAAS,MAAM,OAAO;GACtB,eAAe,MAAM,OAAO;GAC5B,cAAc,MAAM,OAAO;GAC5B;;;;;;;;;;;;;;;;;CAkBH,MAAa,sBAAsB,QAA0B,SAAmD;EAC9G,MAAM,OAAO,MAAM,KAAK,OAAO,wBAAwB,OAAO,UAAU,EAAE,QAAQ;AAElF,SAAO;GACL,SAAS,OAAO,QAAQ;GACxB,SAAS,OAAO,KAAK,cAAc,UAAU,EAAE;GAC/C,QAAQ,KAAK,cAAc,aAAa;GACxC,OAAO,OAAO,KAAK,SAAS;GAC7B;;;;;;;;;;;;;;;;;;;CAoBH,MAAM,UACJ,SACA,UACA,SACoC;EACpC,MAAM,UAAqC,EAAE;AAE7C,OAAK,MAAM,cAAc,WAAW,UAAU,2BAA2B,EAAE;GACzE,MAAM,WAAW,KAAK,WAAW;AAEjC,QAAK,MAAM,WAAW,WACpB,UAAS,cAAc;IACrB,GAAG;IACH,QAAQ;IACR,SAAS,OAAO,QAAQ;IACzB,CAAC;GAGJ,MAAM,SAAS,MAAM,SAAS,KAAK,QAAQ;AAE3C,UAAO,UAAU,SAAS,YAAY,CAAC,KACrC,yBAAyB,QAAQ,cAAc,WAAW,KAAK,KAAK,CAAC,wBAAwB,OAAO,MAAM,KAAK,KAAK,qBAC7F,OAAO,QAAQ,YAAY,OAAO,gBAAgB,IAAI,eAAe,GAC7F;AAED,cAAW,SAAS,SAAS,UAAU;AACrC,YAAQ,KAAK;KAAE,SAAS,OAAO,QAAQ;KAAE,eAAe,OAAO,MAAM;KAAQ,CAAC;KAC9E;;AAGJ,SAAO;;;;;;;;;;;;;;;;;;;CAoBT,MAAM,WACJ,SACA,UACA,SAYoC;EACpC,MAAM,UAAqC,EAAE;AAE7C,OAAK,MAAM,cAAc,WAAW,UAAU,2BAA2B,EAAE;GACzE,MAAM,WAAW,KAAK,WAAW;GAEjC,MAAM,qBAA+B,EAAE;GACvC,MAAM,yBAAmC,EAAE;AAC3C,QAAK,MAAM,WAAW,WACpB,KAAI,SAAS,sBAAsB,MACjC,KAAI;AAEF,SADyB,MAAM,KAAK,sBAAsB,SAAS,QAAQ,EACtD,YAAY,GAC/B,wBAAuB,KAAK,OAAO,QAAQ,CAAC;WAExC;AACN,uBAAmB,KAAK,OAAO,QAAQ,CAAC;;AAK9C,OAAI,mBAAmB,SAAS,KAAK,uBAAuB,SAAS,EACnE,OAAM,IAAI,MACR,WAAW,UAAU,mBAAmB,SAAS,IAAI,4BAA4B,mBAAmB,SAAS,IAAI,MAAM,GAAG,GAAG,mBAAmB,KAAK,KAAK,KAAK,KAC7J,uBAAuB,SAAS,IAC5B,kCAAkC,uBAAuB,SAAS,IAAI,MAAM,GAAG,GAAG,uBAAuB,KAAK,KAAK,KACnH,GACL,kBACF;AAGH,QAAK,MAAM,WAAW,WACpB,UAAS,eAAe;IACtB,GAAG;IACH,UAAU,MAAM,KAAK,QAAQ,OAAO,QAAQ,CAAC,EAAE;IAC/C,QAAQ;IACR,SAAS,OAAO,QAAQ;IACzB,CAAC;GAGJ,MAAM,SAAS,MAAM,SAAS,KAAK,QAAQ;AAE3C,UAAO,UAAU,SAAS,YAAY,CAAC,KACrC,sBAAsB,QAAQ,iBAAiB,WAAW,KAAK,KAAK,CAAC,wBAAwB,OAAO,MAAM,KAAK,KAAK,qBAC7F,OAAO,QAAQ,YAAY,OAAO,gBAAgB,IAAI,eAAe,GAC7F;AAED,cAAW,SAAS,SAAS,UAAU;AACrC,YAAQ,KAAK;KAAE,SAAS,OAAO,QAAQ;KAAE,eAAe,OAAO,MAAM;KAAQ,CAAC;KAC9E;;AAGJ,SAAO"}
@@ -0,0 +1,16 @@
1
+ import { EventDataMap, EventType } from "./lifecycle-events.js";
2
+
3
+ //#region src/async-event-emitter.d.ts
4
+ type AsyncEventListener<T = unknown> = (event: T, eventName: string | symbol) => Promise<void> | void;
5
+ declare class AsyncEventEmitter {
6
+ private listenerWrapperMap;
7
+ private listenerMap;
8
+ emitAsync<K extends string | symbol>(eventName: K, event: K extends EventType ? EventDataMap[K] : unknown): Promise<void>;
9
+ on<K extends string | symbol>(eventName: K, listener: AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>): AsyncEventEmitter;
10
+ once<K extends string | symbol>(eventName: K, listener: AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>): AsyncEventEmitter;
11
+ removeListener(eventName: string | symbol, listener: AsyncEventListener): AsyncEventEmitter;
12
+ off: (eventName: string | symbol, listener: AsyncEventListener) => AsyncEventEmitter;
13
+ }
14
+ //#endregion
15
+ export { AsyncEventEmitter, AsyncEventListener };
16
+ //# sourceMappingURL=async-event-emitter.d.ts.map
@@ -0,0 +1,39 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/async-event-emitter.ts
4
+ var AsyncEventEmitter = class {
5
+ listenerWrapperMap = /* @__PURE__ */ new WeakMap();
6
+ listenerMap = {};
7
+ async emitAsync(eventName, event) {
8
+ for (const listener of this.listenerMap[eventName] ?? []) await listener(event, eventName);
9
+ }
10
+ on(eventName, listener) {
11
+ if (!this.listenerMap[eventName]) this.listenerMap[eventName] = [];
12
+ this.listenerMap[eventName].push(listener);
13
+ return this;
14
+ }
15
+ once(eventName, listener) {
16
+ const wrappedListener = async (event, eventName) => {
17
+ try {
18
+ return await listener(event, eventName);
19
+ } finally {
20
+ this.removeListener(eventName, wrappedListener);
21
+ }
22
+ };
23
+ this.listenerWrapperMap.set(listener, wrappedListener);
24
+ return this.on(eventName, wrappedListener);
25
+ }
26
+ removeListener(eventName, listener) {
27
+ const wrappedListener = this.listenerWrapperMap.get(listener);
28
+ if (wrappedListener) {
29
+ this.listenerWrapperMap.delete(listener);
30
+ if (this.listenerMap[eventName]?.indexOf(wrappedListener) !== -1) this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(wrappedListener), 1);
31
+ } else if (this.listenerMap[eventName]?.indexOf(listener) !== -1) this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(listener), 1);
32
+ return this;
33
+ }
34
+ off = this.removeListener;
35
+ };
36
+
37
+ //#endregion
38
+ exports.AsyncEventEmitter = AsyncEventEmitter;
39
+ //# sourceMappingURL=async-event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-event-emitter.js","names":[],"sources":["../src/async-event-emitter.ts"],"sourcesContent":["import { EventDataMap, EventType } from './lifecycle-events'\n\nexport type AsyncEventListener<T = unknown> = (event: T, eventName: string | symbol) => Promise<void> | void\n\nexport class AsyncEventEmitter {\n private listenerWrapperMap = new WeakMap<AsyncEventListener, AsyncEventListener>()\n private listenerMap: Record<string | symbol, AsyncEventListener[]> = {}\n\n async emitAsync<K extends string | symbol>(eventName: K, event: K extends EventType ? EventDataMap[K] : unknown): Promise<void> {\n for (const listener of this.listenerMap[eventName] ?? []) {\n await listener(event, eventName)\n }\n }\n\n on<K extends string | symbol>(\n eventName: K,\n listener: AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>,\n ): AsyncEventEmitter {\n if (!this.listenerMap[eventName]) this.listenerMap[eventName] = []\n this.listenerMap[eventName].push(listener as AsyncEventListener)\n return this\n }\n\n once<K extends string | symbol>(\n eventName: K,\n listener: AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>,\n ): AsyncEventEmitter {\n const wrappedListener: AsyncEventListener = async (event, eventName) => {\n try {\n return await (listener as AsyncEventListener)(event, eventName)\n } finally {\n this.removeListener(eventName, wrappedListener)\n }\n }\n this.listenerWrapperMap.set(listener as AsyncEventListener, wrappedListener)\n return this.on(eventName, wrappedListener as AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>)\n }\n\n removeListener(eventName: string | symbol, listener: AsyncEventListener): AsyncEventEmitter {\n const wrappedListener = this.listenerWrapperMap.get(listener)\n if (wrappedListener) {\n this.listenerWrapperMap.delete(listener)\n if (this.listenerMap[eventName]?.indexOf(wrappedListener) !== -1) {\n this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(wrappedListener), 1)\n }\n } else {\n if (this.listenerMap[eventName]?.indexOf(listener) !== -1) {\n this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(listener), 1)\n }\n }\n\n return this\n }\n\n off = this.removeListener\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAA+B;CAC7B,AAAQ,qCAAqB,IAAI,SAAiD;CAClF,AAAQ,cAA6D,EAAE;CAEvE,MAAM,UAAqC,WAAc,OAAuE;AAC9H,OAAK,MAAM,YAAY,KAAK,YAAY,cAAc,EAAE,CACtD,OAAM,SAAS,OAAO,UAAU;;CAIpC,GACE,WACA,UACmB;AACnB,MAAI,CAAC,KAAK,YAAY,WAAY,MAAK,YAAY,aAAa,EAAE;AAClE,OAAK,YAAY,WAAW,KAAK,SAA+B;AAChE,SAAO;;CAGT,KACE,WACA,UACmB;EACnB,MAAM,kBAAsC,OAAO,OAAO,cAAc;AACtE,OAAI;AACF,WAAO,MAAO,SAAgC,OAAO,UAAU;aACvD;AACR,SAAK,eAAe,WAAW,gBAAgB;;;AAGnD,OAAK,mBAAmB,IAAI,UAAgC,gBAAgB;AAC5E,SAAO,KAAK,GAAG,WAAW,gBAAuF;;CAGnH,eAAe,WAA4B,UAAiD;EAC1F,MAAM,kBAAkB,KAAK,mBAAmB,IAAI,SAAS;AAC7D,MAAI,iBAAiB;AACnB,QAAK,mBAAmB,OAAO,SAAS;AACxC,OAAI,KAAK,YAAY,YAAY,QAAQ,gBAAgB,KAAK,GAC5D,MAAK,YAAY,WAAW,OAAO,KAAK,YAAY,WAAW,QAAQ,gBAAgB,EAAE,EAAE;aAGzF,KAAK,YAAY,YAAY,QAAQ,SAAS,KAAK,GACrD,MAAK,YAAY,WAAW,OAAO,KAAK,YAAY,WAAW,QAAQ,SAAS,EAAE,EAAE;AAIxF,SAAO;;CAGT,MAAM,KAAK"}
@@ -0,0 +1,37 @@
1
+ //#region src/async-event-emitter.ts
2
+ var AsyncEventEmitter = class {
3
+ listenerWrapperMap = /* @__PURE__ */ new WeakMap();
4
+ listenerMap = {};
5
+ async emitAsync(eventName, event) {
6
+ for (const listener of this.listenerMap[eventName] ?? []) await listener(event, eventName);
7
+ }
8
+ on(eventName, listener) {
9
+ if (!this.listenerMap[eventName]) this.listenerMap[eventName] = [];
10
+ this.listenerMap[eventName].push(listener);
11
+ return this;
12
+ }
13
+ once(eventName, listener) {
14
+ const wrappedListener = async (event, eventName) => {
15
+ try {
16
+ return await listener(event, eventName);
17
+ } finally {
18
+ this.removeListener(eventName, wrappedListener);
19
+ }
20
+ };
21
+ this.listenerWrapperMap.set(listener, wrappedListener);
22
+ return this.on(eventName, wrappedListener);
23
+ }
24
+ removeListener(eventName, listener) {
25
+ const wrappedListener = this.listenerWrapperMap.get(listener);
26
+ if (wrappedListener) {
27
+ this.listenerWrapperMap.delete(listener);
28
+ if (this.listenerMap[eventName]?.indexOf(wrappedListener) !== -1) this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(wrappedListener), 1);
29
+ } else if (this.listenerMap[eventName]?.indexOf(listener) !== -1) this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(listener), 1);
30
+ return this;
31
+ }
32
+ off = this.removeListener;
33
+ };
34
+
35
+ //#endregion
36
+ export { AsyncEventEmitter };
37
+ //# sourceMappingURL=async-event-emitter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-event-emitter.mjs","names":[],"sources":["../src/async-event-emitter.ts"],"sourcesContent":["import { EventDataMap, EventType } from './lifecycle-events'\n\nexport type AsyncEventListener<T = unknown> = (event: T, eventName: string | symbol) => Promise<void> | void\n\nexport class AsyncEventEmitter {\n private listenerWrapperMap = new WeakMap<AsyncEventListener, AsyncEventListener>()\n private listenerMap: Record<string | symbol, AsyncEventListener[]> = {}\n\n async emitAsync<K extends string | symbol>(eventName: K, event: K extends EventType ? EventDataMap[K] : unknown): Promise<void> {\n for (const listener of this.listenerMap[eventName] ?? []) {\n await listener(event, eventName)\n }\n }\n\n on<K extends string | symbol>(\n eventName: K,\n listener: AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>,\n ): AsyncEventEmitter {\n if (!this.listenerMap[eventName]) this.listenerMap[eventName] = []\n this.listenerMap[eventName].push(listener as AsyncEventListener)\n return this\n }\n\n once<K extends string | symbol>(\n eventName: K,\n listener: AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>,\n ): AsyncEventEmitter {\n const wrappedListener: AsyncEventListener = async (event, eventName) => {\n try {\n return await (listener as AsyncEventListener)(event, eventName)\n } finally {\n this.removeListener(eventName, wrappedListener)\n }\n }\n this.listenerWrapperMap.set(listener as AsyncEventListener, wrappedListener)\n return this.on(eventName, wrappedListener as AsyncEventListener<K extends EventType ? EventDataMap[K] : unknown>)\n }\n\n removeListener(eventName: string | symbol, listener: AsyncEventListener): AsyncEventEmitter {\n const wrappedListener = this.listenerWrapperMap.get(listener)\n if (wrappedListener) {\n this.listenerWrapperMap.delete(listener)\n if (this.listenerMap[eventName]?.indexOf(wrappedListener) !== -1) {\n this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(wrappedListener), 1)\n }\n } else {\n if (this.listenerMap[eventName]?.indexOf(listener) !== -1) {\n this.listenerMap[eventName].splice(this.listenerMap[eventName].indexOf(listener), 1)\n }\n }\n\n return this\n }\n\n off = this.removeListener\n}\n"],"mappings":";AAIA,IAAa,oBAAb,MAA+B;CAC7B,AAAQ,qCAAqB,IAAI,SAAiD;CAClF,AAAQ,cAA6D,EAAE;CAEvE,MAAM,UAAqC,WAAc,OAAuE;AAC9H,OAAK,MAAM,YAAY,KAAK,YAAY,cAAc,EAAE,CACtD,OAAM,SAAS,OAAO,UAAU;;CAIpC,GACE,WACA,UACmB;AACnB,MAAI,CAAC,KAAK,YAAY,WAAY,MAAK,YAAY,aAAa,EAAE;AAClE,OAAK,YAAY,WAAW,KAAK,SAA+B;AAChE,SAAO;;CAGT,KACE,WACA,UACmB;EACnB,MAAM,kBAAsC,OAAO,OAAO,cAAc;AACtE,OAAI;AACF,WAAO,MAAO,SAAgC,OAAO,UAAU;aACvD;AACR,SAAK,eAAe,WAAW,gBAAgB;;;AAGnD,OAAK,mBAAmB,IAAI,UAAgC,gBAAgB;AAC5E,SAAO,KAAK,GAAG,WAAW,gBAAuF;;CAGnH,eAAe,WAA4B,UAAiD;EAC1F,MAAM,kBAAkB,KAAK,mBAAmB,IAAI,SAAS;AAC7D,MAAI,iBAAiB;AACnB,QAAK,mBAAmB,OAAO,SAAS;AACxC,OAAI,KAAK,YAAY,YAAY,QAAQ,gBAAgB,KAAK,GAC5D,MAAK,YAAY,WAAW,OAAO,KAAK,YAAY,WAAW,QAAQ,gBAAgB,EAAE,EAAE;aAGzF,KAAK,YAAY,YAAY,QAAQ,SAAS,KAAK,GACrD,MAAK,YAAY,WAAW,OAAO,KAAK,YAAY,WAAW,QAAQ,SAAS,EAAE,EAAE;AAIxF,SAAO;;CAGT,MAAM,KAAK"}