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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (720) hide show
  1. package/account-manager.d.ts +72 -1
  2. package/account-manager.js +63 -1
  3. package/account-manager.js.map +1 -1
  4. package/account-manager.mjs +63 -1
  5. package/account-manager.mjs.map +1 -1
  6. package/algo25/index.d.ts +1 -1
  7. package/algo25/index.js +1 -1
  8. package/algo25/index.mjs +1 -1
  9. package/algorand-client-transaction-creator.js.map +1 -1
  10. package/algorand-client-transaction-creator.mjs.map +1 -1
  11. package/algorand-client-transaction-sender.js +0 -1
  12. package/algorand-client-transaction-sender.js.map +1 -1
  13. package/algorand-client-transaction-sender.mjs.map +1 -1
  14. package/algorand-client.js +5 -1
  15. package/algorand-client.js.map +1 -1
  16. package/algorand-client.mjs +5 -1
  17. package/algorand-client.mjs.map +1 -1
  18. package/amount.js.map +1 -1
  19. package/amount.mjs.map +1 -1
  20. package/app-client.js +174 -17
  21. package/app-client.js.map +1 -1
  22. package/app-client.mjs +174 -16
  23. package/app-client.mjs.map +1 -1
  24. package/app-deployer.js +8 -8
  25. package/app-deployer.js.map +1 -1
  26. package/app-deployer.mjs +9 -9
  27. package/app-deployer.mjs.map +1 -1
  28. package/app-factory.d.ts +2 -2
  29. package/app-factory.js +49 -9
  30. package/app-factory.js.map +1 -1
  31. package/app-factory.mjs +49 -9
  32. package/app-factory.mjs.map +1 -1
  33. package/app-manager.js.map +1 -1
  34. package/app-manager.mjs.map +1 -1
  35. package/app-spec.js.map +1 -1
  36. package/app-spec.mjs.map +1 -1
  37. package/app.js.map +1 -1
  38. package/app.mjs.map +1 -1
  39. package/asset-manager.js.map +1 -1
  40. package/asset-manager.mjs.map +1 -1
  41. package/async-event-emitter.js.map +1 -1
  42. package/async-event-emitter.mjs.map +1 -1
  43. package/client-manager.js.map +1 -1
  44. package/client-manager.mjs.map +1 -1
  45. package/composer.js +17 -18
  46. package/composer.js.map +1 -1
  47. package/composer.mjs +17 -17
  48. package/composer.mjs.map +1 -1
  49. package/config.js.map +1 -1
  50. package/config.mjs.map +1 -1
  51. package/crypto/index.d.ts +3 -3
  52. package/crypto/index.js +5 -2
  53. package/crypto/index.mjs +3 -3
  54. package/dispenser-client.js +4 -8
  55. package/dispenser-client.js.map +1 -1
  56. package/dispenser-client.mjs +4 -8
  57. package/dispenser-client.mjs.map +1 -1
  58. package/indexer-client/indexer-lookup.js.map +1 -1
  59. package/indexer-client/indexer-lookup.mjs.map +1 -1
  60. package/indexer.js.map +1 -1
  61. package/indexer.mjs.map +1 -1
  62. package/kmd-account-manager.js.map +1 -1
  63. package/kmd-account-manager.mjs.map +1 -1
  64. package/lifecycle-events.js.map +1 -1
  65. package/lifecycle-events.mjs.map +1 -1
  66. package/logging.js.map +1 -1
  67. package/logging.mjs.map +1 -1
  68. package/logic-error.js.map +1 -1
  69. package/logic-error.mjs.map +1 -1
  70. package/network-client.js.map +1 -1
  71. package/network-client.mjs.map +1 -1
  72. package/network-manager.js.map +1 -1
  73. package/network-manager.mjs.map +1 -1
  74. package/package.json +3 -2
  75. package/packages/abi/src/abi-method.js +6 -6
  76. package/packages/abi/src/abi-method.js.map +1 -1
  77. package/packages/abi/src/abi-method.mjs +6 -5
  78. package/packages/abi/src/abi-method.mjs.map +1 -1
  79. package/packages/abi/src/abi-type.js +9 -0
  80. package/packages/abi/src/abi-type.js.map +1 -1
  81. package/packages/abi/src/abi-type.mjs +9 -0
  82. package/packages/abi/src/abi-type.mjs.map +1 -1
  83. package/packages/abi/src/arc56-contract.js.map +1 -1
  84. package/packages/abi/src/arc56-contract.mjs.map +1 -1
  85. package/packages/abi/src/bigint.js.map +1 -1
  86. package/packages/abi/src/bigint.mjs.map +1 -1
  87. package/packages/abi/src/utils.js.map +1 -1
  88. package/packages/abi/src/utils.mjs.map +1 -1
  89. package/packages/algod_client/src/apis/api-service.js +3 -1
  90. package/packages/algod_client/src/apis/api-service.js.map +1 -1
  91. package/packages/algod_client/src/apis/api-service.mjs +3 -1
  92. package/packages/algod_client/src/apis/api-service.mjs.map +1 -1
  93. package/packages/algod_client/src/client.js.map +1 -1
  94. package/packages/algod_client/src/client.mjs.map +1 -1
  95. package/packages/algod_client/src/core/api-error.js.map +1 -1
  96. package/packages/algod_client/src/core/api-error.mjs.map +1 -1
  97. package/packages/algod_client/src/core/base-http-request.js +1 -0
  98. package/packages/algod_client/src/core/base-http-request.js.map +1 -1
  99. package/packages/algod_client/src/core/base-http-request.mjs +1 -0
  100. package/packages/algod_client/src/core/base-http-request.mjs.map +1 -1
  101. package/packages/algod_client/src/core/fetch-http-request.js.map +1 -1
  102. package/packages/algod_client/src/core/fetch-http-request.mjs.map +1 -1
  103. package/packages/algod_client/src/core/model-runtime.js.map +1 -1
  104. package/packages/algod_client/src/core/model-runtime.mjs.map +1 -1
  105. package/packages/algod_client/src/core/request.js.map +1 -1
  106. package/packages/algod_client/src/core/request.mjs.map +1 -1
  107. package/packages/algod_client/src/models/account-application-response.js.map +1 -1
  108. package/packages/algod_client/src/models/account-application-response.mjs.map +1 -1
  109. package/packages/algod_client/src/models/account-asset-response.js.map +1 -1
  110. package/packages/algod_client/src/models/account-asset-response.mjs.map +1 -1
  111. package/packages/algod_client/src/models/account-participation.js.map +1 -1
  112. package/packages/algod_client/src/models/account-participation.mjs.map +1 -1
  113. package/packages/algod_client/src/models/account-state-delta.js.map +1 -1
  114. package/packages/algod_client/src/models/account-state-delta.mjs.map +1 -1
  115. package/packages/algod_client/src/models/account.js.map +1 -1
  116. package/packages/algod_client/src/models/account.mjs.map +1 -1
  117. package/packages/algod_client/src/models/application-initial-states.js.map +1 -1
  118. package/packages/algod_client/src/models/application-initial-states.mjs.map +1 -1
  119. package/packages/algod_client/src/models/application-kv-storage.js.map +1 -1
  120. package/packages/algod_client/src/models/application-kv-storage.mjs.map +1 -1
  121. package/packages/algod_client/src/models/application-local-state.js.map +1 -1
  122. package/packages/algod_client/src/models/application-local-state.mjs.map +1 -1
  123. package/packages/algod_client/src/models/application-params.js.map +1 -1
  124. package/packages/algod_client/src/models/application-params.mjs.map +1 -1
  125. package/packages/algod_client/src/models/application-state-operation.js.map +1 -1
  126. package/packages/algod_client/src/models/application-state-operation.mjs.map +1 -1
  127. package/packages/algod_client/src/models/application-state-schema.js.map +1 -1
  128. package/packages/algod_client/src/models/application-state-schema.mjs.map +1 -1
  129. package/packages/algod_client/src/models/application.js.map +1 -1
  130. package/packages/algod_client/src/models/application.mjs.map +1 -1
  131. package/packages/algod_client/src/models/asset-holding.js.map +1 -1
  132. package/packages/algod_client/src/models/asset-holding.mjs.map +1 -1
  133. package/packages/algod_client/src/models/asset-params.js.map +1 -1
  134. package/packages/algod_client/src/models/asset-params.mjs.map +1 -1
  135. package/packages/algod_client/src/models/asset.js.map +1 -1
  136. package/packages/algod_client/src/models/asset.mjs.map +1 -1
  137. package/packages/algod_client/src/models/avm-key-value.js.map +1 -1
  138. package/packages/algod_client/src/models/avm-key-value.mjs.map +1 -1
  139. package/packages/algod_client/src/models/avm-value.js.map +1 -1
  140. package/packages/algod_client/src/models/avm-value.mjs.map +1 -1
  141. package/packages/algod_client/src/models/block-hash-response.js.map +1 -1
  142. package/packages/algod_client/src/models/block-hash-response.mjs.map +1 -1
  143. package/packages/algod_client/src/models/block-response.js.map +1 -1
  144. package/packages/algod_client/src/models/block-response.mjs.map +1 -1
  145. package/packages/algod_client/src/models/block-txids-response.js.map +1 -1
  146. package/packages/algod_client/src/models/block-txids-response.mjs.map +1 -1
  147. package/packages/algod_client/src/models/block.js.map +1 -1
  148. package/packages/algod_client/src/models/block.mjs.map +1 -1
  149. package/packages/algod_client/src/models/box-descriptor.js.map +1 -1
  150. package/packages/algod_client/src/models/box-descriptor.mjs.map +1 -1
  151. package/packages/algod_client/src/models/box.js.map +1 -1
  152. package/packages/algod_client/src/models/box.mjs.map +1 -1
  153. package/packages/algod_client/src/models/boxes-response.js.map +1 -1
  154. package/packages/algod_client/src/models/boxes-response.mjs.map +1 -1
  155. package/packages/algod_client/src/models/build-version.js.map +1 -1
  156. package/packages/algod_client/src/models/build-version.mjs.map +1 -1
  157. package/packages/algod_client/src/models/compile-response.js.map +1 -1
  158. package/packages/algod_client/src/models/compile-response.mjs.map +1 -1
  159. package/packages/algod_client/src/models/disassemble-response.js.map +1 -1
  160. package/packages/algod_client/src/models/disassemble-response.mjs.map +1 -1
  161. package/packages/algod_client/src/models/eval-delta-key-value.js.map +1 -1
  162. package/packages/algod_client/src/models/eval-delta-key-value.mjs.map +1 -1
  163. package/packages/algod_client/src/models/eval-delta.js.map +1 -1
  164. package/packages/algod_client/src/models/eval-delta.mjs.map +1 -1
  165. package/packages/algod_client/src/models/genesis-allocation.js.map +1 -1
  166. package/packages/algod_client/src/models/genesis-allocation.mjs.map +1 -1
  167. package/packages/algod_client/src/models/genesis.js.map +1 -1
  168. package/packages/algod_client/src/models/genesis.mjs.map +1 -1
  169. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.js.map +1 -1
  170. package/packages/algod_client/src/models/get-block-time-stamp-offset-response.mjs.map +1 -1
  171. package/packages/algod_client/src/models/get-sync-round-response.js.map +1 -1
  172. package/packages/algod_client/src/models/get-sync-round-response.mjs.map +1 -1
  173. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.js.map +1 -1
  174. package/packages/algod_client/src/models/ledger-state-delta-for-transaction-group.mjs.map +1 -1
  175. package/packages/algod_client/src/models/ledger-state-delta.js.map +1 -1
  176. package/packages/algod_client/src/models/ledger-state-delta.mjs.map +1 -1
  177. package/packages/algod_client/src/models/light-block-header-proof.js.map +1 -1
  178. package/packages/algod_client/src/models/light-block-header-proof.mjs.map +1 -1
  179. package/packages/algod_client/src/models/node-status-response.js.map +1 -1
  180. package/packages/algod_client/src/models/node-status-response.mjs.map +1 -1
  181. package/packages/algod_client/src/models/pending-transaction-response.js.map +1 -1
  182. package/packages/algod_client/src/models/pending-transaction-response.mjs.map +1 -1
  183. package/packages/algod_client/src/models/pending-transactions-response.js.map +1 -1
  184. package/packages/algod_client/src/models/pending-transactions-response.mjs.map +1 -1
  185. package/packages/algod_client/src/models/post-transactions-response.js.map +1 -1
  186. package/packages/algod_client/src/models/post-transactions-response.mjs.map +1 -1
  187. package/packages/algod_client/src/models/scratch-change.js.map +1 -1
  188. package/packages/algod_client/src/models/scratch-change.mjs.map +1 -1
  189. package/packages/algod_client/src/models/simulate-initial-states.js.map +1 -1
  190. package/packages/algod_client/src/models/simulate-initial-states.mjs.map +1 -1
  191. package/packages/algod_client/src/models/simulate-request-transaction-group.js.map +1 -1
  192. package/packages/algod_client/src/models/simulate-request-transaction-group.mjs.map +1 -1
  193. package/packages/algod_client/src/models/simulate-request.js.map +1 -1
  194. package/packages/algod_client/src/models/simulate-request.mjs.map +1 -1
  195. package/packages/algod_client/src/models/simulate-response.js.map +1 -1
  196. package/packages/algod_client/src/models/simulate-response.mjs.map +1 -1
  197. package/packages/algod_client/src/models/simulate-trace-config.js.map +1 -1
  198. package/packages/algod_client/src/models/simulate-trace-config.mjs.map +1 -1
  199. package/packages/algod_client/src/models/simulate-transaction-group-result.js.map +1 -1
  200. package/packages/algod_client/src/models/simulate-transaction-group-result.mjs.map +1 -1
  201. package/packages/algod_client/src/models/simulate-transaction-result.js.map +1 -1
  202. package/packages/algod_client/src/models/simulate-transaction-result.mjs.map +1 -1
  203. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.js.map +1 -1
  204. package/packages/algod_client/src/models/simulate-unnamed-resources-accessed.mjs.map +1 -1
  205. package/packages/algod_client/src/models/simulation-eval-overrides.js.map +1 -1
  206. package/packages/algod_client/src/models/simulation-eval-overrides.mjs.map +1 -1
  207. package/packages/algod_client/src/models/simulation-opcode-trace-unit.js.map +1 -1
  208. package/packages/algod_client/src/models/simulation-opcode-trace-unit.mjs.map +1 -1
  209. package/packages/algod_client/src/models/simulation-transaction-exec-trace.js.map +1 -1
  210. package/packages/algod_client/src/models/simulation-transaction-exec-trace.mjs.map +1 -1
  211. package/packages/algod_client/src/models/source-map.js.map +1 -1
  212. package/packages/algod_client/src/models/source-map.mjs.map +1 -1
  213. package/packages/algod_client/src/models/state-delta.js.map +1 -1
  214. package/packages/algod_client/src/models/state-delta.mjs.map +1 -1
  215. package/packages/algod_client/src/models/state-proof-message.js.map +1 -1
  216. package/packages/algod_client/src/models/state-proof-message.mjs.map +1 -1
  217. package/packages/algod_client/src/models/state-proof.js.map +1 -1
  218. package/packages/algod_client/src/models/state-proof.mjs.map +1 -1
  219. package/packages/algod_client/src/models/supply-response.js.map +1 -1
  220. package/packages/algod_client/src/models/supply-response.mjs.map +1 -1
  221. package/packages/algod_client/src/models/teal-key-value-store.js.map +1 -1
  222. package/packages/algod_client/src/models/teal-key-value-store.mjs.map +1 -1
  223. package/packages/algod_client/src/models/teal-key-value.js.map +1 -1
  224. package/packages/algod_client/src/models/teal-key-value.mjs.map +1 -1
  225. package/packages/algod_client/src/models/teal-value.js.map +1 -1
  226. package/packages/algod_client/src/models/teal-value.mjs.map +1 -1
  227. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.js.map +1 -1
  228. package/packages/algod_client/src/models/transaction-group-ledger-state-deltas-for-round-response.mjs.map +1 -1
  229. package/packages/algod_client/src/models/transaction-parameters-response.js.map +1 -1
  230. package/packages/algod_client/src/models/transaction-parameters-response.mjs.map +1 -1
  231. package/packages/algod_client/src/models/transaction-proof.js.map +1 -1
  232. package/packages/algod_client/src/models/transaction-proof.mjs.map +1 -1
  233. package/packages/algod_client/src/models/version.js.map +1 -1
  234. package/packages/algod_client/src/models/version.mjs.map +1 -1
  235. package/packages/common/src/address.js.map +1 -1
  236. package/packages/common/src/address.mjs.map +1 -1
  237. package/packages/common/src/array.js.map +1 -1
  238. package/packages/common/src/array.mjs.map +1 -1
  239. package/packages/common/src/codecs/codec.js.map +1 -1
  240. package/packages/common/src/codecs/codec.mjs.map +1 -1
  241. package/packages/common/src/codecs/composite/array.js +1 -0
  242. package/packages/common/src/codecs/composite/array.js.map +1 -1
  243. package/packages/common/src/codecs/composite/array.mjs +1 -0
  244. package/packages/common/src/codecs/composite/array.mjs.map +1 -1
  245. package/packages/common/src/codecs/composite/map.js +2 -0
  246. package/packages/common/src/codecs/composite/map.js.map +1 -1
  247. package/packages/common/src/codecs/composite/map.mjs +2 -0
  248. package/packages/common/src/codecs/composite/map.mjs.map +1 -1
  249. package/packages/common/src/codecs/composite/record.js +1 -1
  250. package/packages/common/src/codecs/composite/record.js.map +1 -1
  251. package/packages/common/src/codecs/composite/record.mjs +1 -0
  252. package/packages/common/src/codecs/composite/record.mjs.map +1 -1
  253. package/packages/common/src/codecs/models/array-model.js +1 -0
  254. package/packages/common/src/codecs/models/array-model.js.map +1 -1
  255. package/packages/common/src/codecs/models/array-model.mjs +1 -0
  256. package/packages/common/src/codecs/models/array-model.mjs.map +1 -1
  257. package/packages/common/src/codecs/models/object-model.js +3 -1
  258. package/packages/common/src/codecs/models/object-model.js.map +1 -1
  259. package/packages/common/src/codecs/models/object-model.mjs +3 -1
  260. package/packages/common/src/codecs/models/object-model.mjs.map +1 -1
  261. package/packages/common/src/codecs/models/primitive-model.js +1 -0
  262. package/packages/common/src/codecs/models/primitive-model.js.map +1 -1
  263. package/packages/common/src/codecs/models/primitive-model.mjs +1 -0
  264. package/packages/common/src/codecs/models/primitive-model.mjs.map +1 -1
  265. package/packages/common/src/codecs/primitives/address.js +0 -1
  266. package/packages/common/src/codecs/primitives/address.js.map +1 -1
  267. package/packages/common/src/codecs/primitives/address.mjs.map +1 -1
  268. package/packages/common/src/codecs/primitives/bigint.js.map +1 -1
  269. package/packages/common/src/codecs/primitives/bigint.mjs.map +1 -1
  270. package/packages/common/src/codecs/primitives/boolean.js.map +1 -1
  271. package/packages/common/src/codecs/primitives/boolean.mjs.map +1 -1
  272. package/packages/common/src/codecs/primitives/bytes-base64.js +0 -1
  273. package/packages/common/src/codecs/primitives/bytes-base64.js.map +1 -1
  274. package/packages/common/src/codecs/primitives/bytes-base64.mjs.map +1 -1
  275. package/packages/common/src/codecs/primitives/bytes.js +0 -1
  276. package/packages/common/src/codecs/primitives/bytes.js.map +1 -1
  277. package/packages/common/src/codecs/primitives/bytes.mjs.map +1 -1
  278. package/packages/common/src/codecs/primitives/fixed-bytes.js +1 -1
  279. package/packages/common/src/codecs/primitives/fixed-bytes.js.map +1 -1
  280. package/packages/common/src/codecs/primitives/fixed-bytes.mjs +1 -0
  281. package/packages/common/src/codecs/primitives/fixed-bytes.mjs.map +1 -1
  282. package/packages/common/src/codecs/primitives/number.js.map +1 -1
  283. package/packages/common/src/codecs/primitives/number.mjs.map +1 -1
  284. package/packages/common/src/codecs/primitives/string.js.map +1 -1
  285. package/packages/common/src/codecs/primitives/string.mjs.map +1 -1
  286. package/packages/common/src/codecs/primitives/unknown.js.map +1 -1
  287. package/packages/common/src/codecs/primitives/unknown.mjs.map +1 -1
  288. package/packages/common/src/codecs/wire.js +0 -1
  289. package/packages/common/src/codecs/wire.js.map +1 -1
  290. package/packages/common/src/codecs/wire.mjs.map +1 -1
  291. package/packages/common/src/constants.js.map +1 -1
  292. package/packages/common/src/constants.mjs.map +1 -1
  293. package/packages/common/src/encoding.js +0 -1
  294. package/packages/common/src/encoding.js.map +1 -1
  295. package/packages/common/src/encoding.mjs.map +1 -1
  296. package/packages/common/src/json.js.map +1 -1
  297. package/packages/common/src/json.mjs.map +1 -1
  298. package/packages/common/src/msgpack.js +0 -1
  299. package/packages/common/src/msgpack.js.map +1 -1
  300. package/packages/common/src/msgpack.mjs.map +1 -1
  301. package/packages/common/src/sourcemap.js.map +1 -1
  302. package/packages/common/src/sourcemap.mjs.map +1 -1
  303. package/packages/{algo25/src → crypto/src/algo25}/english.js +1 -1
  304. package/packages/crypto/src/algo25/english.js.map +1 -0
  305. package/packages/{algo25/src → crypto/src/algo25}/english.mjs +1 -1
  306. package/packages/crypto/src/algo25/english.mjs.map +1 -0
  307. package/packages/{algo25/src → crypto/src/algo25}/index.d.ts +1 -1
  308. package/packages/{algo25/src → crypto/src/algo25}/index.js +2 -2
  309. package/packages/crypto/src/algo25/index.js.map +1 -0
  310. package/packages/{algo25/src → crypto/src/algo25}/index.mjs +2 -2
  311. package/packages/crypto/src/algo25/index.mjs.map +1 -0
  312. package/packages/crypto/src/ed25519.d.ts +13 -3
  313. package/packages/crypto/src/ed25519.js.map +1 -1
  314. package/packages/crypto/src/ed25519.mjs.map +1 -1
  315. package/packages/crypto/src/hash.js +0 -1
  316. package/packages/crypto/src/hash.js.map +1 -1
  317. package/packages/crypto/src/hash.mjs.map +1 -1
  318. package/packages/crypto/src/hd.d.ts +17 -4
  319. package/packages/crypto/src/hd.js +13 -1
  320. package/packages/crypto/src/hd.js.map +1 -1
  321. package/packages/crypto/src/hd.mjs +11 -1
  322. package/packages/crypto/src/hd.mjs.map +1 -1
  323. package/packages/crypto/src/index.d.ts +12 -6
  324. package/packages/crypto/src/index.js +27 -18
  325. package/packages/crypto/src/index.js.map +1 -1
  326. package/packages/crypto/src/index.mjs +27 -18
  327. package/packages/crypto/src/index.mjs.map +1 -1
  328. package/packages/indexer_client/src/apis/api-service.js +1 -0
  329. package/packages/indexer_client/src/apis/api-service.js.map +1 -1
  330. package/packages/indexer_client/src/apis/api-service.mjs +1 -0
  331. package/packages/indexer_client/src/apis/api-service.mjs.map +1 -1
  332. package/packages/indexer_client/src/client.js.map +1 -1
  333. package/packages/indexer_client/src/client.mjs.map +1 -1
  334. package/packages/indexer_client/src/core/api-error.js.map +1 -1
  335. package/packages/indexer_client/src/core/api-error.mjs.map +1 -1
  336. package/packages/indexer_client/src/core/base-http-request.js +1 -0
  337. package/packages/indexer_client/src/core/base-http-request.js.map +1 -1
  338. package/packages/indexer_client/src/core/base-http-request.mjs +1 -0
  339. package/packages/indexer_client/src/core/base-http-request.mjs.map +1 -1
  340. package/packages/indexer_client/src/core/fetch-http-request.js.map +1 -1
  341. package/packages/indexer_client/src/core/fetch-http-request.mjs.map +1 -1
  342. package/packages/indexer_client/src/core/model-runtime.js.map +1 -1
  343. package/packages/indexer_client/src/core/model-runtime.mjs.map +1 -1
  344. package/packages/indexer_client/src/core/request.js.map +1 -1
  345. package/packages/indexer_client/src/core/request.mjs.map +1 -1
  346. package/packages/indexer_client/src/models/account-participation.js.map +1 -1
  347. package/packages/indexer_client/src/models/account-participation.mjs.map +1 -1
  348. package/packages/indexer_client/src/models/account-response.js.map +1 -1
  349. package/packages/indexer_client/src/models/account-response.mjs.map +1 -1
  350. package/packages/indexer_client/src/models/account-state-delta.js.map +1 -1
  351. package/packages/indexer_client/src/models/account-state-delta.mjs.map +1 -1
  352. package/packages/indexer_client/src/models/account.js.map +1 -1
  353. package/packages/indexer_client/src/models/account.mjs.map +1 -1
  354. package/packages/indexer_client/src/models/accounts-response.js.map +1 -1
  355. package/packages/indexer_client/src/models/accounts-response.mjs.map +1 -1
  356. package/packages/indexer_client/src/models/application-local-state.js.map +1 -1
  357. package/packages/indexer_client/src/models/application-local-state.mjs.map +1 -1
  358. package/packages/indexer_client/src/models/application-local-states-response.js.map +1 -1
  359. package/packages/indexer_client/src/models/application-local-states-response.mjs.map +1 -1
  360. package/packages/indexer_client/src/models/application-log-data.js.map +1 -1
  361. package/packages/indexer_client/src/models/application-log-data.mjs.map +1 -1
  362. package/packages/indexer_client/src/models/application-logs-response.js.map +1 -1
  363. package/packages/indexer_client/src/models/application-logs-response.mjs.map +1 -1
  364. package/packages/indexer_client/src/models/application-params.js.map +1 -1
  365. package/packages/indexer_client/src/models/application-params.mjs.map +1 -1
  366. package/packages/indexer_client/src/models/application-response.js.map +1 -1
  367. package/packages/indexer_client/src/models/application-response.mjs.map +1 -1
  368. package/packages/indexer_client/src/models/application-state-schema.js.map +1 -1
  369. package/packages/indexer_client/src/models/application-state-schema.mjs.map +1 -1
  370. package/packages/indexer_client/src/models/application.js.map +1 -1
  371. package/packages/indexer_client/src/models/application.mjs.map +1 -1
  372. package/packages/indexer_client/src/models/applications-response.js.map +1 -1
  373. package/packages/indexer_client/src/models/applications-response.mjs.map +1 -1
  374. package/packages/indexer_client/src/models/asset-balances-response.js.map +1 -1
  375. package/packages/indexer_client/src/models/asset-balances-response.mjs.map +1 -1
  376. package/packages/indexer_client/src/models/asset-holding.js.map +1 -1
  377. package/packages/indexer_client/src/models/asset-holding.mjs.map +1 -1
  378. package/packages/indexer_client/src/models/asset-holdings-response.js.map +1 -1
  379. package/packages/indexer_client/src/models/asset-holdings-response.mjs.map +1 -1
  380. package/packages/indexer_client/src/models/asset-params.js.map +1 -1
  381. package/packages/indexer_client/src/models/asset-params.mjs.map +1 -1
  382. package/packages/indexer_client/src/models/asset-response.js.map +1 -1
  383. package/packages/indexer_client/src/models/asset-response.mjs.map +1 -1
  384. package/packages/indexer_client/src/models/asset.js.map +1 -1
  385. package/packages/indexer_client/src/models/asset.mjs.map +1 -1
  386. package/packages/indexer_client/src/models/assets-response.js.map +1 -1
  387. package/packages/indexer_client/src/models/assets-response.mjs.map +1 -1
  388. package/packages/indexer_client/src/models/block-headers-response.js.map +1 -1
  389. package/packages/indexer_client/src/models/block-headers-response.mjs.map +1 -1
  390. package/packages/indexer_client/src/models/block-rewards.js.map +1 -1
  391. package/packages/indexer_client/src/models/block-rewards.mjs.map +1 -1
  392. package/packages/indexer_client/src/models/block-upgrade-state.js.map +1 -1
  393. package/packages/indexer_client/src/models/block-upgrade-state.mjs.map +1 -1
  394. package/packages/indexer_client/src/models/block-upgrade-vote.js.map +1 -1
  395. package/packages/indexer_client/src/models/block-upgrade-vote.mjs.map +1 -1
  396. package/packages/indexer_client/src/models/block.js.map +1 -1
  397. package/packages/indexer_client/src/models/block.mjs.map +1 -1
  398. package/packages/indexer_client/src/models/box-descriptor.js.map +1 -1
  399. package/packages/indexer_client/src/models/box-descriptor.mjs.map +1 -1
  400. package/packages/indexer_client/src/models/box-reference.js.map +1 -1
  401. package/packages/indexer_client/src/models/box-reference.mjs.map +1 -1
  402. package/packages/indexer_client/src/models/box.js.map +1 -1
  403. package/packages/indexer_client/src/models/box.mjs.map +1 -1
  404. package/packages/indexer_client/src/models/boxes-response.js.map +1 -1
  405. package/packages/indexer_client/src/models/boxes-response.mjs.map +1 -1
  406. package/packages/indexer_client/src/models/eval-delta-key-value.js.map +1 -1
  407. package/packages/indexer_client/src/models/eval-delta-key-value.mjs.map +1 -1
  408. package/packages/indexer_client/src/models/eval-delta.js.map +1 -1
  409. package/packages/indexer_client/src/models/eval-delta.mjs.map +1 -1
  410. package/packages/indexer_client/src/models/hash-factory.js.map +1 -1
  411. package/packages/indexer_client/src/models/hash-factory.mjs.map +1 -1
  412. package/packages/indexer_client/src/models/hb-proof-fields.js.map +1 -1
  413. package/packages/indexer_client/src/models/hb-proof-fields.mjs.map +1 -1
  414. package/packages/indexer_client/src/models/health-check.js.map +1 -1
  415. package/packages/indexer_client/src/models/health-check.mjs.map +1 -1
  416. package/packages/indexer_client/src/models/holding-ref.js.map +1 -1
  417. package/packages/indexer_client/src/models/holding-ref.mjs.map +1 -1
  418. package/packages/indexer_client/src/models/indexer-state-proof-message.js.map +1 -1
  419. package/packages/indexer_client/src/models/indexer-state-proof-message.mjs.map +1 -1
  420. package/packages/indexer_client/src/models/locals-ref.js.map +1 -1
  421. package/packages/indexer_client/src/models/locals-ref.mjs.map +1 -1
  422. package/packages/indexer_client/src/models/merkle-array-proof.js.map +1 -1
  423. package/packages/indexer_client/src/models/merkle-array-proof.mjs.map +1 -1
  424. package/packages/indexer_client/src/models/mini-asset-holding.js.map +1 -1
  425. package/packages/indexer_client/src/models/mini-asset-holding.mjs.map +1 -1
  426. package/packages/indexer_client/src/models/on-completion.js.map +1 -1
  427. package/packages/indexer_client/src/models/on-completion.mjs.map +1 -1
  428. package/packages/indexer_client/src/models/participation-updates.js.map +1 -1
  429. package/packages/indexer_client/src/models/participation-updates.mjs.map +1 -1
  430. package/packages/indexer_client/src/models/resource-ref.js.map +1 -1
  431. package/packages/indexer_client/src/models/resource-ref.mjs.map +1 -1
  432. package/packages/indexer_client/src/models/state-delta.js.map +1 -1
  433. package/packages/indexer_client/src/models/state-delta.mjs.map +1 -1
  434. package/packages/indexer_client/src/models/state-proof-fields.js.map +1 -1
  435. package/packages/indexer_client/src/models/state-proof-fields.mjs.map +1 -1
  436. package/packages/indexer_client/src/models/state-proof-participant.js.map +1 -1
  437. package/packages/indexer_client/src/models/state-proof-participant.mjs.map +1 -1
  438. package/packages/indexer_client/src/models/state-proof-reveal.js.map +1 -1
  439. package/packages/indexer_client/src/models/state-proof-reveal.mjs.map +1 -1
  440. package/packages/indexer_client/src/models/state-proof-sig-slot.js.map +1 -1
  441. package/packages/indexer_client/src/models/state-proof-sig-slot.mjs.map +1 -1
  442. package/packages/indexer_client/src/models/state-proof-signature.js.map +1 -1
  443. package/packages/indexer_client/src/models/state-proof-signature.mjs.map +1 -1
  444. package/packages/indexer_client/src/models/state-proof-tracking.js.map +1 -1
  445. package/packages/indexer_client/src/models/state-proof-tracking.mjs.map +1 -1
  446. package/packages/indexer_client/src/models/state-proof-verifier.js.map +1 -1
  447. package/packages/indexer_client/src/models/state-proof-verifier.mjs.map +1 -1
  448. package/packages/indexer_client/src/models/state-schema.js.map +1 -1
  449. package/packages/indexer_client/src/models/state-schema.mjs.map +1 -1
  450. package/packages/indexer_client/src/models/teal-key-value-store.js.map +1 -1
  451. package/packages/indexer_client/src/models/teal-key-value-store.mjs.map +1 -1
  452. package/packages/indexer_client/src/models/teal-key-value.js.map +1 -1
  453. package/packages/indexer_client/src/models/teal-key-value.mjs.map +1 -1
  454. package/packages/indexer_client/src/models/teal-value.js.map +1 -1
  455. package/packages/indexer_client/src/models/teal-value.mjs.map +1 -1
  456. package/packages/indexer_client/src/models/transaction-application.js.map +1 -1
  457. package/packages/indexer_client/src/models/transaction-application.mjs.map +1 -1
  458. package/packages/indexer_client/src/models/transaction-asset-config.js.map +1 -1
  459. package/packages/indexer_client/src/models/transaction-asset-config.mjs.map +1 -1
  460. package/packages/indexer_client/src/models/transaction-asset-freeze.js.map +1 -1
  461. package/packages/indexer_client/src/models/transaction-asset-freeze.mjs.map +1 -1
  462. package/packages/indexer_client/src/models/transaction-asset-transfer.js.map +1 -1
  463. package/packages/indexer_client/src/models/transaction-asset-transfer.mjs.map +1 -1
  464. package/packages/indexer_client/src/models/transaction-heartbeat.js.map +1 -1
  465. package/packages/indexer_client/src/models/transaction-heartbeat.mjs.map +1 -1
  466. package/packages/indexer_client/src/models/transaction-keyreg.js.map +1 -1
  467. package/packages/indexer_client/src/models/transaction-keyreg.mjs.map +1 -1
  468. package/packages/indexer_client/src/models/transaction-payment.js.map +1 -1
  469. package/packages/indexer_client/src/models/transaction-payment.mjs.map +1 -1
  470. package/packages/indexer_client/src/models/transaction-response.js.map +1 -1
  471. package/packages/indexer_client/src/models/transaction-response.mjs.map +1 -1
  472. package/packages/indexer_client/src/models/transaction-signature-logicsig.js.map +1 -1
  473. package/packages/indexer_client/src/models/transaction-signature-logicsig.mjs.map +1 -1
  474. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.js.map +1 -1
  475. package/packages/indexer_client/src/models/transaction-signature-multisig-subsignature.mjs.map +1 -1
  476. package/packages/indexer_client/src/models/transaction-signature-multisig.js.map +1 -1
  477. package/packages/indexer_client/src/models/transaction-signature-multisig.mjs.map +1 -1
  478. package/packages/indexer_client/src/models/transaction-signature.js.map +1 -1
  479. package/packages/indexer_client/src/models/transaction-signature.mjs.map +1 -1
  480. package/packages/indexer_client/src/models/transaction-state-proof.js.map +1 -1
  481. package/packages/indexer_client/src/models/transaction-state-proof.mjs.map +1 -1
  482. package/packages/indexer_client/src/models/transaction.js.map +1 -1
  483. package/packages/indexer_client/src/models/transaction.mjs.map +1 -1
  484. package/packages/indexer_client/src/models/transactions-response.js.map +1 -1
  485. package/packages/indexer_client/src/models/transactions-response.mjs.map +1 -1
  486. package/packages/kmd_client/src/apis/api-service.js +4 -2
  487. package/packages/kmd_client/src/apis/api-service.js.map +1 -1
  488. package/packages/kmd_client/src/apis/api-service.mjs +4 -2
  489. package/packages/kmd_client/src/apis/api-service.mjs.map +1 -1
  490. package/packages/kmd_client/src/client.js.map +1 -1
  491. package/packages/kmd_client/src/client.mjs.map +1 -1
  492. package/packages/kmd_client/src/core/api-error.js.map +1 -1
  493. package/packages/kmd_client/src/core/api-error.mjs.map +1 -1
  494. package/packages/kmd_client/src/core/base-http-request.js +1 -0
  495. package/packages/kmd_client/src/core/base-http-request.js.map +1 -1
  496. package/packages/kmd_client/src/core/base-http-request.mjs +1 -0
  497. package/packages/kmd_client/src/core/base-http-request.mjs.map +1 -1
  498. package/packages/kmd_client/src/core/fetch-http-request.js.map +1 -1
  499. package/packages/kmd_client/src/core/fetch-http-request.mjs.map +1 -1
  500. package/packages/kmd_client/src/core/model-runtime.js.map +1 -1
  501. package/packages/kmd_client/src/core/model-runtime.mjs.map +1 -1
  502. package/packages/kmd_client/src/core/request.js.map +1 -1
  503. package/packages/kmd_client/src/core/request.mjs.map +1 -1
  504. package/packages/kmd_client/src/models/create-wallet-request.js.map +1 -1
  505. package/packages/kmd_client/src/models/create-wallet-request.mjs.map +1 -1
  506. package/packages/kmd_client/src/models/create-wallet-response.js.map +1 -1
  507. package/packages/kmd_client/src/models/create-wallet-response.mjs.map +1 -1
  508. package/packages/kmd_client/src/models/delete-key-request.js.map +1 -1
  509. package/packages/kmd_client/src/models/delete-key-request.mjs.map +1 -1
  510. package/packages/kmd_client/src/models/delete-multisig-request.js.map +1 -1
  511. package/packages/kmd_client/src/models/delete-multisig-request.mjs.map +1 -1
  512. package/packages/kmd_client/src/models/export-key-request.js.map +1 -1
  513. package/packages/kmd_client/src/models/export-key-request.mjs.map +1 -1
  514. package/packages/kmd_client/src/models/export-key-response.js.map +1 -1
  515. package/packages/kmd_client/src/models/export-key-response.mjs.map +1 -1
  516. package/packages/kmd_client/src/models/export-master-key-request.js.map +1 -1
  517. package/packages/kmd_client/src/models/export-master-key-request.mjs.map +1 -1
  518. package/packages/kmd_client/src/models/export-master-key-response.js.map +1 -1
  519. package/packages/kmd_client/src/models/export-master-key-response.mjs.map +1 -1
  520. package/packages/kmd_client/src/models/export-multisig-request.js.map +1 -1
  521. package/packages/kmd_client/src/models/export-multisig-request.mjs.map +1 -1
  522. package/packages/kmd_client/src/models/export-multisig-response.js.map +1 -1
  523. package/packages/kmd_client/src/models/export-multisig-response.mjs.map +1 -1
  524. package/packages/kmd_client/src/models/generate-key-request.js.map +1 -1
  525. package/packages/kmd_client/src/models/generate-key-request.mjs.map +1 -1
  526. package/packages/kmd_client/src/models/generate-key-response.js.map +1 -1
  527. package/packages/kmd_client/src/models/generate-key-response.mjs.map +1 -1
  528. package/packages/kmd_client/src/models/import-key-request.js.map +1 -1
  529. package/packages/kmd_client/src/models/import-key-request.mjs.map +1 -1
  530. package/packages/kmd_client/src/models/import-key-response.js.map +1 -1
  531. package/packages/kmd_client/src/models/import-key-response.mjs.map +1 -1
  532. package/packages/kmd_client/src/models/import-multisig-request.js.map +1 -1
  533. package/packages/kmd_client/src/models/import-multisig-request.mjs.map +1 -1
  534. package/packages/kmd_client/src/models/import-multisig-response.js.map +1 -1
  535. package/packages/kmd_client/src/models/import-multisig-response.mjs.map +1 -1
  536. package/packages/kmd_client/src/models/init-wallet-handle-token-request.js.map +1 -1
  537. package/packages/kmd_client/src/models/init-wallet-handle-token-request.mjs.map +1 -1
  538. package/packages/kmd_client/src/models/init-wallet-handle-token-response.js.map +1 -1
  539. package/packages/kmd_client/src/models/init-wallet-handle-token-response.mjs.map +1 -1
  540. package/packages/kmd_client/src/models/list-keys-request.js.map +1 -1
  541. package/packages/kmd_client/src/models/list-keys-request.mjs.map +1 -1
  542. package/packages/kmd_client/src/models/list-keys-response.js.map +1 -1
  543. package/packages/kmd_client/src/models/list-keys-response.mjs.map +1 -1
  544. package/packages/kmd_client/src/models/list-multisig-request.js.map +1 -1
  545. package/packages/kmd_client/src/models/list-multisig-request.mjs.map +1 -1
  546. package/packages/kmd_client/src/models/list-multisig-response.js.map +1 -1
  547. package/packages/kmd_client/src/models/list-multisig-response.mjs.map +1 -1
  548. package/packages/kmd_client/src/models/list-wallets-response.js.map +1 -1
  549. package/packages/kmd_client/src/models/list-wallets-response.mjs.map +1 -1
  550. package/packages/kmd_client/src/models/multisig-sig.js.map +1 -1
  551. package/packages/kmd_client/src/models/multisig-sig.mjs.map +1 -1
  552. package/packages/kmd_client/src/models/multisig-subsig.js.map +1 -1
  553. package/packages/kmd_client/src/models/multisig-subsig.mjs.map +1 -1
  554. package/packages/kmd_client/src/models/release-wallet-handle-token-request.js.map +1 -1
  555. package/packages/kmd_client/src/models/release-wallet-handle-token-request.mjs.map +1 -1
  556. package/packages/kmd_client/src/models/rename-wallet-request.js.map +1 -1
  557. package/packages/kmd_client/src/models/rename-wallet-request.mjs.map +1 -1
  558. package/packages/kmd_client/src/models/rename-wallet-response.js.map +1 -1
  559. package/packages/kmd_client/src/models/rename-wallet-response.mjs.map +1 -1
  560. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.js.map +1 -1
  561. package/packages/kmd_client/src/models/renew-wallet-handle-token-request.mjs.map +1 -1
  562. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.js.map +1 -1
  563. package/packages/kmd_client/src/models/renew-wallet-handle-token-response.mjs.map +1 -1
  564. package/packages/kmd_client/src/models/sign-multisig-response.js.map +1 -1
  565. package/packages/kmd_client/src/models/sign-multisig-response.mjs.map +1 -1
  566. package/packages/kmd_client/src/models/sign-multisig-txn-request.js.map +1 -1
  567. package/packages/kmd_client/src/models/sign-multisig-txn-request.mjs.map +1 -1
  568. package/packages/kmd_client/src/models/sign-program-multisig-request.js.map +1 -1
  569. package/packages/kmd_client/src/models/sign-program-multisig-request.mjs.map +1 -1
  570. package/packages/kmd_client/src/models/sign-program-multisig-response.js.map +1 -1
  571. package/packages/kmd_client/src/models/sign-program-multisig-response.mjs.map +1 -1
  572. package/packages/kmd_client/src/models/sign-program-request.js.map +1 -1
  573. package/packages/kmd_client/src/models/sign-program-request.mjs.map +1 -1
  574. package/packages/kmd_client/src/models/sign-program-response.js.map +1 -1
  575. package/packages/kmd_client/src/models/sign-program-response.mjs.map +1 -1
  576. package/packages/kmd_client/src/models/sign-transaction-response.js.map +1 -1
  577. package/packages/kmd_client/src/models/sign-transaction-response.mjs.map +1 -1
  578. package/packages/kmd_client/src/models/sign-txn-request.js.map +1 -1
  579. package/packages/kmd_client/src/models/sign-txn-request.mjs.map +1 -1
  580. package/packages/kmd_client/src/models/tx-type.js.map +1 -1
  581. package/packages/kmd_client/src/models/tx-type.mjs.map +1 -1
  582. package/packages/kmd_client/src/models/versions-response.js.map +1 -1
  583. package/packages/kmd_client/src/models/versions-response.mjs.map +1 -1
  584. package/packages/kmd_client/src/models/wallet-handle.js.map +1 -1
  585. package/packages/kmd_client/src/models/wallet-handle.mjs.map +1 -1
  586. package/packages/kmd_client/src/models/wallet-info-request.js.map +1 -1
  587. package/packages/kmd_client/src/models/wallet-info-request.mjs.map +1 -1
  588. package/packages/kmd_client/src/models/wallet-info-response.js.map +1 -1
  589. package/packages/kmd_client/src/models/wallet-info-response.mjs.map +1 -1
  590. package/packages/kmd_client/src/models/wallet.js.map +1 -1
  591. package/packages/kmd_client/src/models/wallet.mjs.map +1 -1
  592. package/packages/testing/src/globalSetup.js +0 -1
  593. package/packages/testing/src/globalSetup.js.map +1 -1
  594. package/packages/testing/src/globalSetup.mjs.map +1 -1
  595. package/packages/testing/src/mockServer.js.map +1 -1
  596. package/packages/testing/src/mockServer.mjs.map +1 -1
  597. package/packages/transact/src/logicsig.js +2 -1
  598. package/packages/transact/src/logicsig.js.map +1 -1
  599. package/packages/transact/src/logicsig.mjs +2 -1
  600. package/packages/transact/src/logicsig.mjs.map +1 -1
  601. package/packages/transact/src/multisig.js +0 -2
  602. package/packages/transact/src/multisig.js.map +1 -1
  603. package/packages/transact/src/multisig.mjs +0 -2
  604. package/packages/transact/src/multisig.mjs.map +1 -1
  605. package/packages/transact/src/signer.js.map +1 -1
  606. package/packages/transact/src/signer.mjs.map +1 -1
  607. package/packages/transact/src/transactions/app-call.js +22 -23
  608. package/packages/transact/src/transactions/app-call.js.map +1 -1
  609. package/packages/transact/src/transactions/app-call.mjs +22 -23
  610. package/packages/transact/src/transactions/app-call.mjs.map +1 -1
  611. package/packages/transact/src/transactions/asset-config.js +12 -13
  612. package/packages/transact/src/transactions/asset-config.js.map +1 -1
  613. package/packages/transact/src/transactions/asset-config.mjs +12 -13
  614. package/packages/transact/src/transactions/asset-config.mjs.map +1 -1
  615. package/packages/transact/src/transactions/asset-freeze.js +1 -2
  616. package/packages/transact/src/transactions/asset-freeze.js.map +1 -1
  617. package/packages/transact/src/transactions/asset-freeze.mjs +1 -2
  618. package/packages/transact/src/transactions/asset-freeze.mjs.map +1 -1
  619. package/packages/transact/src/transactions/asset-transfer.js +1 -2
  620. package/packages/transact/src/transactions/asset-transfer.js.map +1 -1
  621. package/packages/transact/src/transactions/asset-transfer.mjs +1 -2
  622. package/packages/transact/src/transactions/asset-transfer.mjs.map +1 -1
  623. package/packages/transact/src/transactions/common.js +5 -14
  624. package/packages/transact/src/transactions/common.js.map +1 -1
  625. package/packages/transact/src/transactions/common.mjs +6 -14
  626. package/packages/transact/src/transactions/common.mjs.map +1 -1
  627. package/packages/transact/src/transactions/key-registration.js +8 -9
  628. package/packages/transact/src/transactions/key-registration.js.map +1 -1
  629. package/packages/transact/src/transactions/key-registration.mjs +8 -9
  630. package/packages/transact/src/transactions/key-registration.mjs.map +1 -1
  631. package/packages/transact/src/transactions/reference-types-meta.js.map +1 -1
  632. package/packages/transact/src/transactions/reference-types-meta.mjs.map +1 -1
  633. package/packages/transact/src/transactions/signed-transaction-meta.js.map +1 -1
  634. package/packages/transact/src/transactions/signed-transaction-meta.mjs.map +1 -1
  635. package/packages/transact/src/transactions/signed-transaction.js.map +1 -1
  636. package/packages/transact/src/transactions/signed-transaction.mjs.map +1 -1
  637. package/packages/transact/src/transactions/transaction-meta.js +27 -26
  638. package/packages/transact/src/transactions/transaction-meta.js.map +1 -1
  639. package/packages/transact/src/transactions/transaction-meta.mjs +27 -26
  640. package/packages/transact/src/transactions/transaction-meta.mjs.map +1 -1
  641. package/packages/transact/src/transactions/transaction-type.js.map +1 -1
  642. package/packages/transact/src/transactions/transaction-type.mjs.map +1 -1
  643. package/packages/transact/src/transactions/transaction.js +2 -2
  644. package/packages/transact/src/transactions/transaction.js.map +1 -1
  645. package/packages/transact/src/transactions/transaction.mjs +2 -2
  646. package/packages/transact/src/transactions/transaction.mjs.map +1 -1
  647. package/testing/account.js.map +1 -1
  648. package/testing/account.mjs.map +1 -1
  649. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  650. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  651. package/testing/fixtures/algorand-fixture.js.map +1 -1
  652. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  653. package/testing/indexer.js.map +1 -1
  654. package/testing/indexer.mjs.map +1 -1
  655. package/testing/test-logger.js.map +1 -1
  656. package/testing/test-logger.mjs.map +1 -1
  657. package/testing/transaction-logger.js.map +1 -1
  658. package/testing/transaction-logger.mjs.map +1 -1
  659. package/transaction/perform-transaction-composer-simulate.js.map +1 -1
  660. package/transaction/perform-transaction-composer-simulate.mjs.map +1 -1
  661. package/transaction/transaction.js.map +1 -1
  662. package/transaction/transaction.mjs.map +1 -1
  663. package/transactions/app-call.js +33 -43
  664. package/transactions/app-call.js.map +1 -1
  665. package/transactions/app-call.mjs +33 -43
  666. package/transactions/app-call.mjs.map +1 -1
  667. package/transactions/asset-config.js +5 -5
  668. package/transactions/asset-config.js.map +1 -1
  669. package/transactions/asset-config.mjs +5 -5
  670. package/transactions/asset-config.mjs.map +1 -1
  671. package/transactions/asset-transfer.js +4 -4
  672. package/transactions/asset-transfer.js.map +1 -1
  673. package/transactions/asset-transfer.mjs +4 -4
  674. package/transactions/asset-transfer.mjs.map +1 -1
  675. package/transactions/common.js.map +1 -1
  676. package/transactions/common.mjs.map +1 -1
  677. package/transactions/fee-coverage.js +7 -10
  678. package/transactions/fee-coverage.js.map +1 -1
  679. package/transactions/fee-coverage.mjs +7 -10
  680. package/transactions/fee-coverage.mjs.map +1 -1
  681. package/transactions/key-registration.js +3 -3
  682. package/transactions/key-registration.js.map +1 -1
  683. package/transactions/key-registration.mjs +3 -3
  684. package/transactions/key-registration.mjs.map +1 -1
  685. package/transactions/method-call.js +8 -8
  686. package/transactions/method-call.js.map +1 -1
  687. package/transactions/method-call.mjs +8 -8
  688. package/transactions/method-call.mjs.map +1 -1
  689. package/transactions/payment.js +2 -2
  690. package/transactions/payment.js.map +1 -1
  691. package/transactions/payment.mjs +2 -2
  692. package/transactions/payment.mjs.map +1 -1
  693. package/types/account.js.map +1 -1
  694. package/types/algorand-client-transaction-creator.js.map +1 -1
  695. package/types/algorand-client-transaction-sender.js.map +1 -1
  696. package/types/algorand-client.js.map +1 -1
  697. package/types/amount.js.map +1 -1
  698. package/types/app-client.js.map +1 -1
  699. package/types/app-deployer.js.map +1 -1
  700. package/types/app-factory.js.map +1 -1
  701. package/types/app-manager.js.map +1 -1
  702. package/types/app-spec.js.map +1 -1
  703. package/types/asset-manager.js.map +1 -1
  704. package/types/async-event-emitter.js.map +1 -1
  705. package/types/client-manager.js.map +1 -1
  706. package/types/composer.js.map +1 -1
  707. package/types/config.js.map +1 -1
  708. package/types/dispenser-client.js.map +1 -1
  709. package/types/kmd-account-manager.js.map +1 -1
  710. package/types/lifecycle-events.js.map +1 -1
  711. package/types/logic-error.js.map +1 -1
  712. package/types/network-client.js.map +1 -1
  713. package/updatable-config.js.map +1 -1
  714. package/updatable-config.mjs.map +1 -1
  715. package/util.js.map +1 -1
  716. package/util.mjs.map +1 -1
  717. package/packages/algo25/src/english.js.map +0 -1
  718. package/packages/algo25/src/english.mjs.map +0 -1
  719. package/packages/algo25/src/index.js.map +0 -1
  720. package/packages/algo25/src/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"key-registration.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/key-registration.ts"],"sourcesContent":["import { TransactionValidationError, TransactionValidationErrorType } from './common'\n\n/**\n * Represents a key registration transaction that registers an account online or offline\n * for participation in Algorand consensus.\n */\nexport type KeyRegistrationTransactionFields = {\n /**\n * Root participation public key (32 bytes).\n */\n voteKey?: Uint8Array\n\n /**\n * VRF public key (32 bytes).\n */\n selectionKey?: Uint8Array\n\n /**\n * State proof key (64 bytes).\n */\n stateProofKey?: Uint8Array\n\n /**\n * First round for which the participation key is valid.\n */\n voteFirst?: bigint\n\n /**\n * Last round for which the participation key is valid.\n */\n voteLast?: bigint\n\n /**\n * Key dilution for the 2-level participation key.\n */\n voteKeyDilution?: bigint\n\n /**\n * Mark account as non-reward earning.\n */\n nonParticipation?: boolean\n}\n\n/**\n * Validate key registration transaction fields\n */\nexport function validateKeyRegistrationTransaction(keyReg: KeyRegistrationTransactionFields): TransactionValidationError[] {\n const errors = new Array<TransactionValidationError>()\n\n const hasAnyParticipationFields =\n keyReg.voteKey !== undefined ||\n keyReg.selectionKey !== undefined ||\n keyReg.stateProofKey !== undefined ||\n keyReg.voteFirst !== undefined ||\n keyReg.voteLast !== undefined ||\n keyReg.voteKeyDilution !== undefined\n\n if (hasAnyParticipationFields) {\n // Online key registration\n errors.push(...validateOnlineKeyRegistration(keyReg))\n }\n // Offline key registration has no specific validation requirements\n return errors\n}\n\n/**\n * Validate online key registration fields\n */\nfunction validateOnlineKeyRegistration(keyReg: KeyRegistrationTransactionFields): TransactionValidationError[] {\n const errors = new Array<TransactionValidationError>()\n\n if (!keyReg.voteKey) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote key',\n })\n }\n if (!keyReg.selectionKey) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Selection key',\n })\n }\n if (!keyReg.stateProofKey) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'State proof key',\n })\n }\n if (keyReg.voteFirst === undefined) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote first',\n })\n }\n if (keyReg.voteLast === undefined) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote last',\n })\n }\n if (keyReg.voteFirst !== undefined && keyReg.voteLast !== undefined && keyReg.voteFirst >= keyReg.voteLast) {\n errors.push({\n type: TransactionValidationErrorType.ArbitraryConstraint,\n data: 'Vote first must be less than vote last',\n })\n }\n if (keyReg.voteKeyDilution === undefined) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote key dilution',\n })\n }\n if (keyReg.nonParticipation === true) {\n errors.push({\n type: TransactionValidationErrorType.ArbitraryConstraint,\n data: 'Online key registration cannot have non participation flag set',\n })\n }\n\n return errors\n}\n"],"mappings":";;;;;AA8CA,SAAgB,mCAAmC,QAAwE;CACzH,MAAM,SAAS,IAAI,OAAmC;AAUtD,KAPE,OAAO,YAAY,KAAA,KACnB,OAAO,iBAAiB,KAAA,KACxB,OAAO,kBAAkB,KAAA,KACzB,OAAO,cAAc,KAAA,KACrB,OAAO,aAAa,KAAA,KACpB,OAAO,oBAAoB,KAAA,EAI3B,QAAO,KAAK,GAAG,8BAA8B,OAAO,CAAC;AAGvD,QAAO;;;;;AAMT,SAAS,8BAA8B,QAAwE;CAC7G,MAAM,SAAS,IAAI,OAAmC;AAEtD,KAAI,CAAC,OAAO,QACV,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAEJ,KAAI,CAAC,OAAO,aACV,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAEJ,KAAI,CAAC,OAAO,cACV,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAEJ,KAAI,OAAO,cAAc,KAAA,EACvB,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAEJ,KAAI,OAAO,aAAa,KAAA,EACtB,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAEJ,KAAI,OAAO,cAAc,KAAA,KAAa,OAAO,aAAa,KAAA,KAAa,OAAO,aAAa,OAAO,SAChG,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAEJ,KAAI,OAAO,oBAAoB,KAAA,EAC7B,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAEJ,KAAI,OAAO,qBAAqB,KAC9B,QAAO,KAAK;EACV,MAAM,+BAA+B;EACrC,MAAM;EACP,CAAC;AAGJ,QAAO"}
1
+ {"version":3,"file":"key-registration.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/key-registration.ts"],"sourcesContent":["import { TransactionValidationError, TransactionValidationErrorType } from './common'\n\n/**\n * Represents a key registration transaction that registers an account online or offline\n * for participation in Algorand consensus.\n */\nexport type KeyRegistrationTransactionFields = {\n /**\n * Root participation public key (32 bytes).\n */\n voteKey?: Uint8Array\n\n /**\n * VRF public key (32 bytes).\n */\n selectionKey?: Uint8Array\n\n /**\n * State proof key (64 bytes).\n */\n stateProofKey?: Uint8Array\n\n /**\n * First round for which the participation key is valid.\n */\n voteFirst?: bigint\n\n /**\n * Last round for which the participation key is valid.\n */\n voteLast?: bigint\n\n /**\n * Key dilution for the 2-level participation key.\n */\n voteKeyDilution?: bigint\n\n /**\n * Mark account as non-reward earning.\n */\n nonParticipation?: boolean\n}\n\n/**\n * Validate key registration transaction fields\n */\nexport function validateKeyRegistrationTransaction(keyReg: KeyRegistrationTransactionFields): TransactionValidationError[] {\n const errors = new Array<TransactionValidationError>()\n\n const hasAnyParticipationFields =\n keyReg.voteKey !== undefined ||\n keyReg.selectionKey !== undefined ||\n keyReg.stateProofKey !== undefined ||\n keyReg.voteFirst !== undefined ||\n keyReg.voteLast !== undefined ||\n keyReg.voteKeyDilution !== undefined\n\n if (hasAnyParticipationFields) {\n // Online key registration\n errors.push(...validateOnlineKeyRegistration(keyReg))\n }\n // Offline key registration has no specific validation requirements\n return errors\n}\n\n/**\n * Validate online key registration fields\n */\nfunction validateOnlineKeyRegistration(keyReg: KeyRegistrationTransactionFields): TransactionValidationError[] {\n const errors = new Array<TransactionValidationError>()\n\n if (!keyReg.voteKey) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote key',\n })\n }\n if (!keyReg.selectionKey) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Selection key',\n })\n }\n if (!keyReg.stateProofKey) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'State proof key',\n })\n }\n if (keyReg.voteFirst === undefined) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote first',\n })\n }\n if (keyReg.voteLast === undefined) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote last',\n })\n }\n if (keyReg.voteFirst !== undefined && keyReg.voteLast !== undefined && keyReg.voteFirst >= keyReg.voteLast) {\n errors.push({\n type: TransactionValidationErrorType.ArbitraryConstraint,\n data: 'Vote first must be less than vote last',\n })\n }\n if (keyReg.voteKeyDilution === undefined) {\n errors.push({\n type: TransactionValidationErrorType.RequiredField,\n data: 'Vote key dilution',\n })\n }\n if (keyReg.nonParticipation === true) {\n errors.push({\n type: TransactionValidationErrorType.ArbitraryConstraint,\n data: 'Online key registration cannot have non participation flag set',\n })\n }\n\n return errors\n}\n"],"mappings":";;;;AA8CA,SAAgB,mCAAmC,QAAwE;CACzH,MAAM,SAAS,IAAI,MAAkC;CAUrD,IAPE,OAAO,YAAY,KAAA,KACnB,OAAO,iBAAiB,KAAA,KACxB,OAAO,kBAAkB,KAAA,KACzB,OAAO,cAAc,KAAA,KACrB,OAAO,aAAa,KAAA,KACpB,OAAO,oBAAoB,KAAA,GAI3B,OAAO,KAAK,GAAG,8BAA8B,MAAM,CAAC;CAGtD,OAAO;AACT;;;;AAKA,SAAS,8BAA8B,QAAwE;CAC7G,MAAM,SAAS,IAAI,MAAkC;CAErD,IAAI,CAAC,OAAO,SACV,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAEH,IAAI,CAAC,OAAO,cACV,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAEH,IAAI,CAAC,OAAO,eACV,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAEH,IAAI,OAAO,cAAc,KAAA,GACvB,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAEH,IAAI,OAAO,aAAa,KAAA,GACtB,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAEH,IAAI,OAAO,cAAc,KAAA,KAAa,OAAO,aAAa,KAAA,KAAa,OAAO,aAAa,OAAO,UAChG,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAEH,IAAI,OAAO,oBAAoB,KAAA,GAC7B,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAEH,IAAI,OAAO,qBAAqB,MAC9B,OAAO,KAAK;EACV,MAAA;EACA,MAAM;CACR,CAAC;CAGH,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"reference-types-meta.js","names":["bigIntCodec","bytesCodec","addressCodec"],"sources":["../../../../../packages/transact/src/transactions/reference-types-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport { addressCodec, bigIntCodec, bytesCodec } from '@algorandfoundation/algokit-common'\nimport type { BoxReference, HoldingReference, LocalsReference } from './app-call'\n\n/**\n * Metadata for BoxReference\n *\n * Maps wire format (app, name) to BoxReference (appId, name)\n */\nexport const BoxReferenceMeta: ObjectModelMetadata<BoxReference> = {\n name: 'BoxReference',\n kind: 'object',\n fields: [\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n { name: 'name', wireKey: 'name', optional: false, codec: bytesCodec },\n ],\n}\n\n/**\n * Metadata for HoldingReference\n *\n * Maps wire format (account, asset) to HoldingReference (address, assetId)\n */\nexport const HoldingReferenceMeta: ObjectModelMetadata<HoldingReference> = {\n name: 'HoldingReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'assetId', wireKey: 'asset', optional: false, codec: bigIntCodec },\n ],\n}\n\n/**\n * Metadata for LocalsReference\n *\n * Maps wire format (account, app) to LocalsReference (address, appId)\n */\nexport const LocalsReferenceMeta: ObjectModelMetadata<LocalsReference> = {\n name: 'LocalsReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n ],\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,mBAAsD;CACjE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAOA,eAAAA;EAAa,EACtE;EAAE,MAAM;EAAQ,SAAS;EAAQ,UAAU;EAAO,OAAOC,cAAAA;EAAY,CACtE;CACF;;;;;;AAOD,MAAa,uBAA8D;CACzE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAOC,gBAAAA;EAAc,EAC7E;EAAE,MAAM;EAAW,SAAS;EAAS,UAAU;EAAO,OAAOF,eAAAA;EAAa,CAC3E;CACF;;;;;;AAOD,MAAa,sBAA4D;CACvE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAOE,gBAAAA;EAAc,EAC7E;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAOF,eAAAA;EAAa,CACvE;CACF"}
1
+ {"version":3,"file":"reference-types-meta.js","names":["bigIntCodec","bytesCodec","addressCodec"],"sources":["../../../../../packages/transact/src/transactions/reference-types-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport { addressCodec, bigIntCodec, bytesCodec } from '@algorandfoundation/algokit-common'\nimport type { BoxReference, HoldingReference, LocalsReference } from './app-call'\n\n/**\n * Metadata for BoxReference\n *\n * Maps wire format (app, name) to BoxReference (appId, name)\n */\nexport const BoxReferenceMeta: ObjectModelMetadata<BoxReference> = {\n name: 'BoxReference',\n kind: 'object',\n fields: [\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n { name: 'name', wireKey: 'name', optional: false, codec: bytesCodec },\n ],\n}\n\n/**\n * Metadata for HoldingReference\n *\n * Maps wire format (account, asset) to HoldingReference (address, assetId)\n */\nexport const HoldingReferenceMeta: ObjectModelMetadata<HoldingReference> = {\n name: 'HoldingReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'assetId', wireKey: 'asset', optional: false, codec: bigIntCodec },\n ],\n}\n\n/**\n * Metadata for LocalsReference\n *\n * Maps wire format (account, app) to LocalsReference (address, appId)\n */\nexport const LocalsReferenceMeta: ObjectModelMetadata<LocalsReference> = {\n name: 'LocalsReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n ],\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,mBAAsD;CACjE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAOA,eAAAA;CAAY,GACrE;EAAE,MAAM;EAAQ,SAAS;EAAQ,UAAU;EAAO,OAAOC,cAAAA;CAAW,CACtE;AACF;;;;;;AAOA,MAAa,uBAA8D;CACzE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAOC,gBAAAA;CAAa,GAC5E;EAAE,MAAM;EAAW,SAAS;EAAS,UAAU;EAAO,OAAOF,eAAAA;CAAY,CAC3E;AACF;;;;;;AAOA,MAAa,sBAA4D;CACvE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAOE,gBAAAA;CAAa,GAC5E;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAOF,eAAAA;CAAY,CACvE;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"reference-types-meta.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/reference-types-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport { addressCodec, bigIntCodec, bytesCodec } from '@algorandfoundation/algokit-common'\nimport type { BoxReference, HoldingReference, LocalsReference } from './app-call'\n\n/**\n * Metadata for BoxReference\n *\n * Maps wire format (app, name) to BoxReference (appId, name)\n */\nexport const BoxReferenceMeta: ObjectModelMetadata<BoxReference> = {\n name: 'BoxReference',\n kind: 'object',\n fields: [\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n { name: 'name', wireKey: 'name', optional: false, codec: bytesCodec },\n ],\n}\n\n/**\n * Metadata for HoldingReference\n *\n * Maps wire format (account, asset) to HoldingReference (address, assetId)\n */\nexport const HoldingReferenceMeta: ObjectModelMetadata<HoldingReference> = {\n name: 'HoldingReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'assetId', wireKey: 'asset', optional: false, codec: bigIntCodec },\n ],\n}\n\n/**\n * Metadata for LocalsReference\n *\n * Maps wire format (account, app) to LocalsReference (address, appId)\n */\nexport const LocalsReferenceMeta: ObjectModelMetadata<LocalsReference> = {\n name: 'LocalsReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n ],\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,mBAAsD;CACjE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAO;EAAa,EACtE;EAAE,MAAM;EAAQ,SAAS;EAAQ,UAAU;EAAO,OAAO;EAAY,CACtE;CACF;;;;;;AAOD,MAAa,uBAA8D;CACzE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAO;EAAc,EAC7E;EAAE,MAAM;EAAW,SAAS;EAAS,UAAU;EAAO,OAAO;EAAa,CAC3E;CACF;;;;;;AAOD,MAAa,sBAA4D;CACvE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAO;EAAc,EAC7E;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAO;EAAa,CACvE;CACF"}
1
+ {"version":3,"file":"reference-types-meta.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/reference-types-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport { addressCodec, bigIntCodec, bytesCodec } from '@algorandfoundation/algokit-common'\nimport type { BoxReference, HoldingReference, LocalsReference } from './app-call'\n\n/**\n * Metadata for BoxReference\n *\n * Maps wire format (app, name) to BoxReference (appId, name)\n */\nexport const BoxReferenceMeta: ObjectModelMetadata<BoxReference> = {\n name: 'BoxReference',\n kind: 'object',\n fields: [\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n { name: 'name', wireKey: 'name', optional: false, codec: bytesCodec },\n ],\n}\n\n/**\n * Metadata for HoldingReference\n *\n * Maps wire format (account, asset) to HoldingReference (address, assetId)\n */\nexport const HoldingReferenceMeta: ObjectModelMetadata<HoldingReference> = {\n name: 'HoldingReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'assetId', wireKey: 'asset', optional: false, codec: bigIntCodec },\n ],\n}\n\n/**\n * Metadata for LocalsReference\n *\n * Maps wire format (account, app) to LocalsReference (address, appId)\n */\nexport const LocalsReferenceMeta: ObjectModelMetadata<LocalsReference> = {\n name: 'LocalsReference',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'account', optional: false, codec: addressCodec },\n { name: 'appId', wireKey: 'app', optional: false, codec: bigIntCodec },\n ],\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,mBAAsD;CACjE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAO;CAAY,GACrE;EAAE,MAAM;EAAQ,SAAS;EAAQ,UAAU;EAAO,OAAO;CAAW,CACtE;AACF;;;;;;AAOA,MAAa,uBAA8D;CACzE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAO;CAAa,GAC5E;EAAE,MAAM;EAAW,SAAS;EAAS,UAAU;EAAO,OAAO;CAAY,CAC3E;AACF;;;;;;AAOA,MAAa,sBAA4D;CACvE,MAAM;CACN,MAAM;CACN,QAAQ,CACN;EAAE,MAAM;EAAW,SAAS;EAAW,UAAU;EAAO,OAAO;CAAa,GAC5E;EAAE,MAAM;EAAS,SAAS;EAAO,UAAU;EAAO,OAAO;CAAY,CACvE;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"signed-transaction-meta.js","names":["numberCodec","ArrayCodec","ObjectModelCodec","fixedBytes32Codec","fixedBytes64Codec","bytesCodec","bytesArrayCodec","transactionCodec","addressCodec"],"sources":["../../../../../packages/transact/src/transactions/signed-transaction-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport {\n ArrayCodec,\n ObjectModelCodec,\n addressCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n} from '@algorandfoundation/algokit-common'\nimport { LogicSigSignature, MultisigSignature, MultisigSubsignature, SignedTransaction } from './signed-transaction'\nimport { transactionCodec } from './transaction'\n\nconst MultisigSubsignatureMeta: ObjectModelMetadata<MultisigSubsignature> = {\n name: 'MultisigSubsignature',\n kind: 'object',\n fields: [\n { name: 'publicKey', wireKey: 'pk', optional: false, codec: fixedBytes32Codec },\n { name: 'sig', wireKey: 's', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\nconst MultisigSignatureMeta: ObjectModelMetadata<MultisigSignature> = {\n name: 'MultisigSignature',\n kind: 'object',\n fields: [\n { name: 'version', wireKey: 'v', optional: false, codec: numberCodec },\n { name: 'threshold', wireKey: 'thr', optional: false, codec: numberCodec },\n {\n name: 'subsigs',\n wireKey: 'subsig',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(MultisigSubsignatureMeta)),\n },\n ],\n}\n\nconst LogicSigSignatureMeta: ObjectModelMetadata<LogicSigSignature> = {\n name: 'LogicSignature',\n kind: 'object',\n fields: [\n { name: 'logic', wireKey: 'l', optional: false, codec: bytesCodec },\n { name: 'args', wireKey: 'arg', optional: true, codec: bytesArrayCodec },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n {\n name: 'lmsig',\n wireKey: 'lmsig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n ],\n}\n\nexport const multisigSignatureCodec = new ObjectModelCodec<MultisigSignature>(MultisigSignatureMeta)\nexport const logicSigSignatureCodec = new ObjectModelCodec<LogicSigSignature>(LogicSigSignatureMeta)\n\n/**\n * Metadata for SignedTransaction\n */\nexport const SignedTransactionMeta: ObjectModelMetadata<SignedTransaction> = {\n name: 'SignedTransaction',\n kind: 'object',\n fields: [\n {\n name: 'txn',\n wireKey: 'txn',\n optional: false,\n codec: transactionCodec,\n },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: multisigSignatureCodec,\n },\n {\n name: 'lsig',\n wireKey: 'lsig',\n optional: true,\n codec: logicSigSignatureCodec,\n },\n { name: 'authAddress', wireKey: 'sgnr', optional: true, codec: addressCodec },\n ],\n}\n\nexport const signedTransactionCodec = new ObjectModelCodec<SignedTransaction>(SignedTransactionMeta)\n"],"mappings":";;;;;;;;AAuBA,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAW,SAAS;GAAK,UAAU;GAAO,OAAOA,eAAAA;GAAa;EACtE;GAAE,MAAM;GAAa,SAAS;GAAO,UAAU;GAAO,OAAOA,eAAAA;GAAa;EAC1E;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIC,cAAAA,WAAW,IAAIC,qBAAAA,iBAnB4C;IAC1E,MAAM;IACN,MAAM;IACN,QAAQ,CACN;KAAE,MAAM;KAAa,SAAS;KAAM,UAAU;KAAO,OAAOC,oBAAAA;KAAmB,EAC/E;KAAE,MAAM;KAAO,SAAS;KAAK,UAAU;KAAM,OAAOC,oBAAAA;KAAmB,CACxE;IACF,CAYyE,CAAC;GACtE;EACF;CACF;AAED,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAS,SAAS;GAAK,UAAU;GAAO,OAAOC,cAAAA;GAAY;EACnE;GAAE,MAAM;GAAQ,SAAS;GAAO,UAAU;GAAM,OAAOC,cAAAA;GAAiB;EACxE;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAOF,oBAAAA;GAAmB;EACzE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIF,qBAAAA,iBAAiB,sBAAsB;GACnD;EACD;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIA,qBAAAA,iBAAiB,sBAAsB;GACnD;EACF;CACF;AAED,MAAa,yBAAyB,IAAIA,qBAAAA,iBAAoC,sBAAsB;AACpG,MAAa,yBAAyB,IAAIA,qBAAAA,iBAAoC,sBAAsB;;;;AAKpG,MAAa,wBAAgE;CAC3E,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAOK,oBAAAA;GACR;EACD;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAOH,oBAAAA;GAAmB;EACzE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;GACR;EACD;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;GACR;EACD;GAAE,MAAM;GAAe,SAAS;GAAQ,UAAU;GAAM,OAAOI,gBAAAA;GAAc;EAC9E;CACF;AAED,MAAa,yBAAyB,IAAIN,qBAAAA,iBAAoC,sBAAsB"}
1
+ {"version":3,"file":"signed-transaction-meta.js","names":["numberCodec","ArrayCodec","ObjectModelCodec","fixedBytes32Codec","fixedBytes64Codec","bytesCodec","bytesArrayCodec","transactionCodec","addressCodec"],"sources":["../../../../../packages/transact/src/transactions/signed-transaction-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport {\n ArrayCodec,\n ObjectModelCodec,\n addressCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n} from '@algorandfoundation/algokit-common'\nimport { LogicSigSignature, MultisigSignature, MultisigSubsignature, SignedTransaction } from './signed-transaction'\nimport { transactionCodec } from './transaction'\n\nconst MultisigSubsignatureMeta: ObjectModelMetadata<MultisigSubsignature> = {\n name: 'MultisigSubsignature',\n kind: 'object',\n fields: [\n { name: 'publicKey', wireKey: 'pk', optional: false, codec: fixedBytes32Codec },\n { name: 'sig', wireKey: 's', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\nconst MultisigSignatureMeta: ObjectModelMetadata<MultisigSignature> = {\n name: 'MultisigSignature',\n kind: 'object',\n fields: [\n { name: 'version', wireKey: 'v', optional: false, codec: numberCodec },\n { name: 'threshold', wireKey: 'thr', optional: false, codec: numberCodec },\n {\n name: 'subsigs',\n wireKey: 'subsig',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(MultisigSubsignatureMeta)),\n },\n ],\n}\n\nconst LogicSigSignatureMeta: ObjectModelMetadata<LogicSigSignature> = {\n name: 'LogicSignature',\n kind: 'object',\n fields: [\n { name: 'logic', wireKey: 'l', optional: false, codec: bytesCodec },\n { name: 'args', wireKey: 'arg', optional: true, codec: bytesArrayCodec },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n {\n name: 'lmsig',\n wireKey: 'lmsig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n ],\n}\n\nexport const multisigSignatureCodec = new ObjectModelCodec<MultisigSignature>(MultisigSignatureMeta)\nexport const logicSigSignatureCodec = new ObjectModelCodec<LogicSigSignature>(LogicSigSignatureMeta)\n\n/**\n * Metadata for SignedTransaction\n */\nexport const SignedTransactionMeta: ObjectModelMetadata<SignedTransaction> = {\n name: 'SignedTransaction',\n kind: 'object',\n fields: [\n {\n name: 'txn',\n wireKey: 'txn',\n optional: false,\n codec: transactionCodec,\n },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: multisigSignatureCodec,\n },\n {\n name: 'lsig',\n wireKey: 'lsig',\n optional: true,\n codec: logicSigSignatureCodec,\n },\n { name: 'authAddress', wireKey: 'sgnr', optional: true, codec: addressCodec },\n ],\n}\n\nexport const signedTransactionCodec = new ObjectModelCodec<SignedTransaction>(SignedTransactionMeta)\n"],"mappings":";;;;;;;;AAuBA,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAW,SAAS;GAAK,UAAU;GAAO,OAAOA,eAAAA;EAAY;EACrE;GAAE,MAAM;GAAa,SAAS;GAAO,UAAU;GAAO,OAAOA,eAAAA;EAAY;EACzE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIC,cAAAA,WAAW,IAAIC,qBAAAA,iBAAiB;IAlB/C,MAAM;IACN,MAAM;IACN,QAAQ,CACN;KAAE,MAAM;KAAa,SAAS;KAAM,UAAU;KAAO,OAAOC,oBAAAA;IAAkB,GAC9E;KAAE,MAAM;KAAO,SAAS;KAAK,UAAU;KAAM,OAAOC,oBAAAA;IAAkB,CACxE;GAasE,CAAC,CAAC;EACtE;CACF;AACF;AAEA,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAS,SAAS;GAAK,UAAU;GAAO,OAAOC,cAAAA;EAAW;EAClE;GAAE,MAAM;GAAQ,SAAS;GAAO,UAAU;GAAM,OAAOC,cAAAA;EAAgB;EACvE;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAOF,oBAAAA;EAAkB;EACxE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIF,qBAAAA,iBAAiB,qBAAqB;EACnD;EACA;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAIA,qBAAAA,iBAAiB,qBAAqB;EACnD;CACF;AACF;AAEA,MAAa,yBAAyB,IAAIA,qBAAAA,iBAAoC,qBAAqB;AACnG,MAAa,yBAAyB,IAAIA,qBAAAA,iBAAoC,qBAAqB;;;;AAKnG,MAAa,wBAAgE;CAC3E,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAOK,oBAAAA;EACT;EACA;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAOH,oBAAAA;EAAkB;EACxE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;EACT;EACA;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;EACT;EACA;GAAE,MAAM;GAAe,SAAS;GAAQ,UAAU;GAAM,OAAOI,gBAAAA;EAAa;CAC9E;AACF;AAEA,MAAa,yBAAyB,IAAIN,qBAAAA,iBAAoC,qBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"signed-transaction-meta.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/signed-transaction-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport {\n ArrayCodec,\n ObjectModelCodec,\n addressCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n} from '@algorandfoundation/algokit-common'\nimport { LogicSigSignature, MultisigSignature, MultisigSubsignature, SignedTransaction } from './signed-transaction'\nimport { transactionCodec } from './transaction'\n\nconst MultisigSubsignatureMeta: ObjectModelMetadata<MultisigSubsignature> = {\n name: 'MultisigSubsignature',\n kind: 'object',\n fields: [\n { name: 'publicKey', wireKey: 'pk', optional: false, codec: fixedBytes32Codec },\n { name: 'sig', wireKey: 's', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\nconst MultisigSignatureMeta: ObjectModelMetadata<MultisigSignature> = {\n name: 'MultisigSignature',\n kind: 'object',\n fields: [\n { name: 'version', wireKey: 'v', optional: false, codec: numberCodec },\n { name: 'threshold', wireKey: 'thr', optional: false, codec: numberCodec },\n {\n name: 'subsigs',\n wireKey: 'subsig',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(MultisigSubsignatureMeta)),\n },\n ],\n}\n\nconst LogicSigSignatureMeta: ObjectModelMetadata<LogicSigSignature> = {\n name: 'LogicSignature',\n kind: 'object',\n fields: [\n { name: 'logic', wireKey: 'l', optional: false, codec: bytesCodec },\n { name: 'args', wireKey: 'arg', optional: true, codec: bytesArrayCodec },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n {\n name: 'lmsig',\n wireKey: 'lmsig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n ],\n}\n\nexport const multisigSignatureCodec = new ObjectModelCodec<MultisigSignature>(MultisigSignatureMeta)\nexport const logicSigSignatureCodec = new ObjectModelCodec<LogicSigSignature>(LogicSigSignatureMeta)\n\n/**\n * Metadata for SignedTransaction\n */\nexport const SignedTransactionMeta: ObjectModelMetadata<SignedTransaction> = {\n name: 'SignedTransaction',\n kind: 'object',\n fields: [\n {\n name: 'txn',\n wireKey: 'txn',\n optional: false,\n codec: transactionCodec,\n },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: multisigSignatureCodec,\n },\n {\n name: 'lsig',\n wireKey: 'lsig',\n optional: true,\n codec: logicSigSignatureCodec,\n },\n { name: 'authAddress', wireKey: 'sgnr', optional: true, codec: addressCodec },\n ],\n}\n\nexport const signedTransactionCodec = new ObjectModelCodec<SignedTransaction>(SignedTransactionMeta)\n"],"mappings":";;;;;;;;AAuBA,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAW,SAAS;GAAK,UAAU;GAAO,OAAO;GAAa;EACtE;GAAE,MAAM;GAAa,SAAS;GAAO,UAAU;GAAO,OAAO;GAAa;EAC1E;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAI,WAAW,IAAI,iBAnB4C;IAC1E,MAAM;IACN,MAAM;IACN,QAAQ,CACN;KAAE,MAAM;KAAa,SAAS;KAAM,UAAU;KAAO,OAAO;KAAmB,EAC/E;KAAE,MAAM;KAAO,SAAS;KAAK,UAAU;KAAM,OAAO;KAAmB,CACxE;IACF,CAYyE,CAAC;GACtE;EACF;CACF;AAED,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAS,SAAS;GAAK,UAAU;GAAO,OAAO;GAAY;EACnE;GAAE,MAAM;GAAQ,SAAS;GAAO,UAAU;GAAM,OAAO;GAAiB;EACxE;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAO;GAAmB;EACzE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAI,iBAAiB,sBAAsB;GACnD;EACD;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAI,iBAAiB,sBAAsB;GACnD;EACF;CACF;AAED,MAAa,yBAAyB,IAAI,iBAAoC,sBAAsB;AACpG,MAAa,yBAAyB,IAAI,iBAAoC,sBAAsB;;;;AAKpG,MAAa,wBAAgE;CAC3E,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;GACR;EACD;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAO;GAAmB;EACzE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;GACR;EACD;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;GACR;EACD;GAAE,MAAM;GAAe,SAAS;GAAQ,UAAU;GAAM,OAAO;GAAc;EAC9E;CACF;AAED,MAAa,yBAAyB,IAAI,iBAAoC,sBAAsB"}
1
+ {"version":3,"file":"signed-transaction-meta.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/signed-transaction-meta.ts"],"sourcesContent":["import type { ObjectModelMetadata } from '@algorandfoundation/algokit-common'\nimport {\n ArrayCodec,\n ObjectModelCodec,\n addressCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n numberCodec,\n} from '@algorandfoundation/algokit-common'\nimport { LogicSigSignature, MultisigSignature, MultisigSubsignature, SignedTransaction } from './signed-transaction'\nimport { transactionCodec } from './transaction'\n\nconst MultisigSubsignatureMeta: ObjectModelMetadata<MultisigSubsignature> = {\n name: 'MultisigSubsignature',\n kind: 'object',\n fields: [\n { name: 'publicKey', wireKey: 'pk', optional: false, codec: fixedBytes32Codec },\n { name: 'sig', wireKey: 's', optional: true, codec: fixedBytes64Codec },\n ],\n}\n\nconst MultisigSignatureMeta: ObjectModelMetadata<MultisigSignature> = {\n name: 'MultisigSignature',\n kind: 'object',\n fields: [\n { name: 'version', wireKey: 'v', optional: false, codec: numberCodec },\n { name: 'threshold', wireKey: 'thr', optional: false, codec: numberCodec },\n {\n name: 'subsigs',\n wireKey: 'subsig',\n optional: false,\n codec: new ArrayCodec(new ObjectModelCodec(MultisigSubsignatureMeta)),\n },\n ],\n}\n\nconst LogicSigSignatureMeta: ObjectModelMetadata<LogicSigSignature> = {\n name: 'LogicSignature',\n kind: 'object',\n fields: [\n { name: 'logic', wireKey: 'l', optional: false, codec: bytesCodec },\n { name: 'args', wireKey: 'arg', optional: true, codec: bytesArrayCodec },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n {\n name: 'lmsig',\n wireKey: 'lmsig',\n optional: true,\n codec: new ObjectModelCodec(MultisigSignatureMeta),\n },\n ],\n}\n\nexport const multisigSignatureCodec = new ObjectModelCodec<MultisigSignature>(MultisigSignatureMeta)\nexport const logicSigSignatureCodec = new ObjectModelCodec<LogicSigSignature>(LogicSigSignatureMeta)\n\n/**\n * Metadata for SignedTransaction\n */\nexport const SignedTransactionMeta: ObjectModelMetadata<SignedTransaction> = {\n name: 'SignedTransaction',\n kind: 'object',\n fields: [\n {\n name: 'txn',\n wireKey: 'txn',\n optional: false,\n codec: transactionCodec,\n },\n { name: 'sig', wireKey: 'sig', optional: true, codec: fixedBytes64Codec },\n {\n name: 'msig',\n wireKey: 'msig',\n optional: true,\n codec: multisigSignatureCodec,\n },\n {\n name: 'lsig',\n wireKey: 'lsig',\n optional: true,\n codec: logicSigSignatureCodec,\n },\n { name: 'authAddress', wireKey: 'sgnr', optional: true, codec: addressCodec },\n ],\n}\n\nexport const signedTransactionCodec = new ObjectModelCodec<SignedTransaction>(SignedTransactionMeta)\n"],"mappings":";;;;;;;;AAuBA,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAW,SAAS;GAAK,UAAU;GAAO,OAAO;EAAY;EACrE;GAAE,MAAM;GAAa,SAAS;GAAO,UAAU;GAAO,OAAO;EAAY;EACzE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAI,WAAW,IAAI,iBAAiB;IAlB/C,MAAM;IACN,MAAM;IACN,QAAQ,CACN;KAAE,MAAM;KAAa,SAAS;KAAM,UAAU;KAAO,OAAO;IAAkB,GAC9E;KAAE,MAAM;KAAO,SAAS;KAAK,UAAU;KAAM,OAAO;IAAkB,CACxE;GAasE,CAAC,CAAC;EACtE;CACF;AACF;AAEA,MAAM,wBAAgE;CACpE,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GAAE,MAAM;GAAS,SAAS;GAAK,UAAU;GAAO,OAAO;EAAW;EAClE;GAAE,MAAM;GAAQ,SAAS;GAAO,UAAU;GAAM,OAAO;EAAgB;EACvE;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAO;EAAkB;EACxE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAI,iBAAiB,qBAAqB;EACnD;EACA;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO,IAAI,iBAAiB,qBAAqB;EACnD;CACF;AACF;AAEA,MAAa,yBAAyB,IAAI,iBAAoC,qBAAqB;AACnG,MAAa,yBAAyB,IAAI,iBAAoC,qBAAqB;;;;AAKnG,MAAa,wBAAgE;CAC3E,MAAM;CACN,MAAM;CACN,QAAQ;EACN;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;EACT;EACA;GAAE,MAAM;GAAO,SAAS;GAAO,UAAU;GAAM,OAAO;EAAkB;EACxE;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;EACT;EACA;GACE,MAAM;GACN,SAAS;GACT,UAAU;GACV,OAAO;EACT;EACA;GAAE,MAAM;GAAe,SAAS;GAAQ,UAAU;GAAM,OAAO;EAAa;CAC9E;AACF;AAEA,MAAa,yBAAyB,IAAI,iBAAoC,qBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"signed-transaction.js","names":["encodeMsgpack","signedTransactionCodec","decodeMsgpack","stringifyJson"],"sources":["../../../../../packages/transact/src/transactions/signed-transaction.ts"],"sourcesContent":["import type { Address } from '@algorandfoundation/algokit-common'\nimport { decodeMsgpack, encodeMsgpack, stringifyJson } from '@algorandfoundation/algokit-common'\nimport { signedTransactionCodec } from './signed-transaction-meta'\nimport { Transaction, validateTransaction } from './transaction'\n\n/**\n * Represents a signed Algorand transaction\n */\nexport type SignedTransaction = {\n /**\n * The transaction that has been signed.\n */\n txn: Transaction\n\n /**\n * Optional Ed25519 signature authorizing the transaction.\n */\n sig?: Uint8Array\n\n /**\n * Optional multisignature signature for the transaction.\n */\n msig?: MultisigSignature\n\n /**\n * Optional logic signature for the transaction.\n */\n lsig?: LogicSigSignature\n\n /**\n * Optional auth address applicable if the transaction sender is a rekeyed account.\n */\n authAddress?: Address\n}\n\n/**\n * Represents a single subsignature in a multisignature transaction.\n *\n * Each subsignature contains the public key of a participant and an optional signature.\n */\nexport type MultisigSubsignature = {\n /**\n * Public key of a keypair account participant that is sub-signing a multisignature transaction.\n */\n publicKey: Uint8Array\n\n /**\n * Optional Ed25519 signature for the transaction.\n */\n sig?: Uint8Array\n}\n\n/**\n * Represents an Algorand multisignature signature.\n *\n * A multisignature signature is defined by a version, a threshold, and a list of participating addresses.\n * The version indicates the multisig protocol version, while the threshold specifies the minimum number of signatures required to authorize a transaction.\n * While technically this accepts `Address` types, it is expected that these will be the addresses of Ed25519 public keys.\n */\nexport type MultisigSignature = {\n /**\n * Multisig version.\n */\n version: number\n\n /**\n * Minimum number of signatures required.\n */\n threshold: number\n\n /**\n * Array of subsignatures\n */\n subsigs: Array<MultisigSubsignature>\n}\n\n/**\n * LogicSig signature structure\n */\nexport type LogicSigSignature = {\n /**\n * Logic signature program\n */\n logic: Uint8Array\n\n /**\n * Logic signature arguments\n */\n args?: Uint8Array[]\n\n /**\n * Signature for delegated logic sig\n */\n sig?: Uint8Array\n\n /**\n * Legacy multisig for delegated logic sig\n */\n msig?: MultisigSignature\n\n /**\n * Multisig for delegated logic sig\n */\n lmsig?: MultisigSignature\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransaction - The signed transaction to encode\n * @returns The MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransaction(signedTransaction: SignedTransaction): Uint8Array {\n const encodingData = signedTransactionCodec.encode(signedTransaction, 'msgpack')\n return encodeMsgpack(encodingData)\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransactions - A collection of signed transactions to encode\n * @returns A collection of MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransactions(signedTransactions: SignedTransaction[]): Uint8Array[] {\n return signedTransactions.map((st) => encodeSignedTransaction(st))\n}\n\n/**\n * Decodes MsgPack bytes into a signed transaction.\n *\n * @param encodedSignedTransaction - The MsgPack encoded signed transaction bytes\n * @returns The decoded SignedTransaction or an error if decoding fails.\n */\nexport function decodeSignedTransaction(encodedSignedTransaction: Uint8Array): SignedTransaction {\n const decodedData = decodeMsgpack(encodedSignedTransaction)\n return signedTransactionCodec.decode(decodedData, 'msgpack')\n}\n\n/**\n * Decodes a collection of MsgPack bytes into a signed transaction collection.\n *\n * @param encodedSignedTransactions - A collection of MsgPack encoded bytes, each representing a signed transaction.\n * @returns A collection of decoded signed transactions or an error if decoding fails.\n */\nexport function decodeSignedTransactions(encodedSignedTransactions: Uint8Array[]): SignedTransaction[] {\n return encodedSignedTransactions.map((est) => decodeSignedTransaction(est))\n}\n\n/**\n * Validate a signed transaction structure\n */\nexport function validateSignedTransaction(signedTransaction: SignedTransaction): void {\n validateTransaction(signedTransaction.txn)\n\n // Validate that only one signature type is set\n const sigTypes = [signedTransaction.sig, signedTransaction.msig, signedTransaction.lsig]\n const setSigCount = sigTypes.filter((sig) => sig !== undefined).length\n\n if (setSigCount > 1) {\n throw new Error(`Only one signature type can be set, found ${setSigCount}`)\n }\n\n // Validate signature lengths\n if (signedTransaction.sig && signedTransaction.sig.length !== 64) {\n throw new Error('Signature must be 64 bytes')\n }\n}\n\n/**\n * Encode a signed transaction to wire-format JSON string.\n *\n * Wire format uses short keys (e.g., `amt`, `fv`, `snd`) matching the Algorand protocol.\n * Useful for debugging, logging, or any scenario requiring human-readable JSON\n * that preserves the canonical field names.\n *\n * @param signedTransaction - The signed transaction to encode\n * @param space - Optional indentation for pretty-printing\n * @returns JSON string in wire format\n */\nexport function encodeSignedTransactionToJson(signedTransaction: SignedTransaction, space?: number): string {\n const wireFormat = signedTransactionCodec.encode(signedTransaction, 'json')\n return stringifyJson(wireFormat, undefined, space)\n}\n"],"mappings":";;;;;;;;;;;;;AAkHA,SAAgB,wBAAwB,mBAAkD;AAExF,QAAOA,gBAAAA,cADcC,gCAAAA,uBAAuB,OAAO,mBAAmB,UAAU,CAC9C;;;;;;;;;;AAWpC,SAAgB,yBAAyB,oBAAuD;AAC9F,QAAO,mBAAmB,KAAK,OAAO,wBAAwB,GAAG,CAAC;;;;;;;;AASpE,SAAgB,wBAAwB,0BAAyD;CAC/F,MAAM,cAAcC,gBAAAA,cAAc,yBAAyB;AAC3D,QAAOD,gCAAAA,uBAAuB,OAAO,aAAa,UAAU;;;;;;;;AAS9D,SAAgB,yBAAyB,2BAA8D;AACrG,QAAO,0BAA0B,KAAK,QAAQ,wBAAwB,IAAI,CAAC;;;;;AAM7E,SAAgB,0BAA0B,mBAA4C;AACpF,qBAAA,oBAAoB,kBAAkB,IAAI;CAI1C,MAAM,cADW;EAAC,kBAAkB;EAAK,kBAAkB;EAAM,kBAAkB;EAAK,CAC3D,QAAQ,QAAQ,QAAQ,KAAA,EAAU,CAAC;AAEhE,KAAI,cAAc,EAChB,OAAM,IAAI,MAAM,6CAA6C,cAAc;AAI7E,KAAI,kBAAkB,OAAO,kBAAkB,IAAI,WAAW,GAC5D,OAAM,IAAI,MAAM,6BAA6B;;;;;;;;;;;;;AAejD,SAAgB,8BAA8B,mBAAsC,OAAwB;AAE1G,QAAOE,aAAAA,cADYF,gCAAAA,uBAAuB,OAAO,mBAAmB,OAAO,EAC1C,KAAA,GAAW,MAAM"}
1
+ {"version":3,"file":"signed-transaction.js","names":["encodeMsgpack","signedTransactionCodec","decodeMsgpack","stringifyJson"],"sources":["../../../../../packages/transact/src/transactions/signed-transaction.ts"],"sourcesContent":["import type { Address } from '@algorandfoundation/algokit-common'\nimport { decodeMsgpack, encodeMsgpack, stringifyJson } from '@algorandfoundation/algokit-common'\nimport { signedTransactionCodec } from './signed-transaction-meta'\nimport { Transaction, validateTransaction } from './transaction'\n\n/**\n * Represents a signed Algorand transaction\n */\nexport type SignedTransaction = {\n /**\n * The transaction that has been signed.\n */\n txn: Transaction\n\n /**\n * Optional Ed25519 signature authorizing the transaction.\n */\n sig?: Uint8Array\n\n /**\n * Optional multisignature signature for the transaction.\n */\n msig?: MultisigSignature\n\n /**\n * Optional logic signature for the transaction.\n */\n lsig?: LogicSigSignature\n\n /**\n * Optional auth address applicable if the transaction sender is a rekeyed account.\n */\n authAddress?: Address\n}\n\n/**\n * Represents a single subsignature in a multisignature transaction.\n *\n * Each subsignature contains the public key of a participant and an optional signature.\n */\nexport type MultisigSubsignature = {\n /**\n * Public key of a keypair account participant that is sub-signing a multisignature transaction.\n */\n publicKey: Uint8Array\n\n /**\n * Optional Ed25519 signature for the transaction.\n */\n sig?: Uint8Array\n}\n\n/**\n * Represents an Algorand multisignature signature.\n *\n * A multisignature signature is defined by a version, a threshold, and a list of participating addresses.\n * The version indicates the multisig protocol version, while the threshold specifies the minimum number of signatures required to authorize a transaction.\n * While technically this accepts `Address` types, it is expected that these will be the addresses of Ed25519 public keys.\n */\nexport type MultisigSignature = {\n /**\n * Multisig version.\n */\n version: number\n\n /**\n * Minimum number of signatures required.\n */\n threshold: number\n\n /**\n * Array of subsignatures\n */\n subsigs: Array<MultisigSubsignature>\n}\n\n/**\n * LogicSig signature structure\n */\nexport type LogicSigSignature = {\n /**\n * Logic signature program\n */\n logic: Uint8Array\n\n /**\n * Logic signature arguments\n */\n args?: Uint8Array[]\n\n /**\n * Signature for delegated logic sig\n */\n sig?: Uint8Array\n\n /**\n * Legacy multisig for delegated logic sig\n */\n msig?: MultisigSignature\n\n /**\n * Multisig for delegated logic sig\n */\n lmsig?: MultisigSignature\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransaction - The signed transaction to encode\n * @returns The MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransaction(signedTransaction: SignedTransaction): Uint8Array {\n const encodingData = signedTransactionCodec.encode(signedTransaction, 'msgpack')\n return encodeMsgpack(encodingData)\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransactions - A collection of signed transactions to encode\n * @returns A collection of MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransactions(signedTransactions: SignedTransaction[]): Uint8Array[] {\n return signedTransactions.map((st) => encodeSignedTransaction(st))\n}\n\n/**\n * Decodes MsgPack bytes into a signed transaction.\n *\n * @param encodedSignedTransaction - The MsgPack encoded signed transaction bytes\n * @returns The decoded SignedTransaction or an error if decoding fails.\n */\nexport function decodeSignedTransaction(encodedSignedTransaction: Uint8Array): SignedTransaction {\n const decodedData = decodeMsgpack(encodedSignedTransaction)\n return signedTransactionCodec.decode(decodedData, 'msgpack')\n}\n\n/**\n * Decodes a collection of MsgPack bytes into a signed transaction collection.\n *\n * @param encodedSignedTransactions - A collection of MsgPack encoded bytes, each representing a signed transaction.\n * @returns A collection of decoded signed transactions or an error if decoding fails.\n */\nexport function decodeSignedTransactions(encodedSignedTransactions: Uint8Array[]): SignedTransaction[] {\n return encodedSignedTransactions.map((est) => decodeSignedTransaction(est))\n}\n\n/**\n * Validate a signed transaction structure\n */\nexport function validateSignedTransaction(signedTransaction: SignedTransaction): void {\n validateTransaction(signedTransaction.txn)\n\n // Validate that only one signature type is set\n const sigTypes = [signedTransaction.sig, signedTransaction.msig, signedTransaction.lsig]\n const setSigCount = sigTypes.filter((sig) => sig !== undefined).length\n\n if (setSigCount > 1) {\n throw new Error(`Only one signature type can be set, found ${setSigCount}`)\n }\n\n // Validate signature lengths\n if (signedTransaction.sig && signedTransaction.sig.length !== 64) {\n throw new Error('Signature must be 64 bytes')\n }\n}\n\n/**\n * Encode a signed transaction to wire-format JSON string.\n *\n * Wire format uses short keys (e.g., `amt`, `fv`, `snd`) matching the Algorand protocol.\n * Useful for debugging, logging, or any scenario requiring human-readable JSON\n * that preserves the canonical field names.\n *\n * @param signedTransaction - The signed transaction to encode\n * @param space - Optional indentation for pretty-printing\n * @returns JSON string in wire format\n */\nexport function encodeSignedTransactionToJson(signedTransaction: SignedTransaction, space?: number): string {\n const wireFormat = signedTransactionCodec.encode(signedTransaction, 'json')\n return stringifyJson(wireFormat, undefined, space)\n}\n"],"mappings":";;;;;;;;;;;;;AAkHA,SAAgB,wBAAwB,mBAAkD;CAExF,OAAOA,gBAAAA,cADcC,gCAAAA,uBAAuB,OAAO,mBAAmB,SACtC,CAAC;AACnC;;;;;;;;;AAUA,SAAgB,yBAAyB,oBAAuD;CAC9F,OAAO,mBAAmB,KAAK,OAAO,wBAAwB,EAAE,CAAC;AACnE;;;;;;;AAQA,SAAgB,wBAAwB,0BAAyD;CAC/F,MAAM,cAAcC,gBAAAA,cAAc,wBAAwB;CAC1D,OAAOD,gCAAAA,uBAAuB,OAAO,aAAa,SAAS;AAC7D;;;;;;;AAQA,SAAgB,yBAAyB,2BAA8D;CACrG,OAAO,0BAA0B,KAAK,QAAQ,wBAAwB,GAAG,CAAC;AAC5E;;;;AAKA,SAAgB,0BAA0B,mBAA4C;CACpF,oBAAA,oBAAoB,kBAAkB,GAAG;CAIzC,MAAM,cAAc;EADF,kBAAkB;EAAK,kBAAkB;EAAM,kBAAkB;CACxD,EAAE,QAAQ,QAAQ,QAAQ,KAAA,CAAS,EAAE;CAEhE,IAAI,cAAc,GAChB,MAAM,IAAI,MAAM,6CAA6C,aAAa;CAI5E,IAAI,kBAAkB,OAAO,kBAAkB,IAAI,WAAW,IAC5D,MAAM,IAAI,MAAM,4BAA4B;AAEhD;;;;;;;;;;;;AAaA,SAAgB,8BAA8B,mBAAsC,OAAwB;CAE1G,OAAOE,aAAAA,cADYF,gCAAAA,uBAAuB,OAAO,mBAAmB,MACtC,GAAG,KAAA,GAAW,KAAK;AACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"signed-transaction.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/signed-transaction.ts"],"sourcesContent":["import type { Address } from '@algorandfoundation/algokit-common'\nimport { decodeMsgpack, encodeMsgpack, stringifyJson } from '@algorandfoundation/algokit-common'\nimport { signedTransactionCodec } from './signed-transaction-meta'\nimport { Transaction, validateTransaction } from './transaction'\n\n/**\n * Represents a signed Algorand transaction\n */\nexport type SignedTransaction = {\n /**\n * The transaction that has been signed.\n */\n txn: Transaction\n\n /**\n * Optional Ed25519 signature authorizing the transaction.\n */\n sig?: Uint8Array\n\n /**\n * Optional multisignature signature for the transaction.\n */\n msig?: MultisigSignature\n\n /**\n * Optional logic signature for the transaction.\n */\n lsig?: LogicSigSignature\n\n /**\n * Optional auth address applicable if the transaction sender is a rekeyed account.\n */\n authAddress?: Address\n}\n\n/**\n * Represents a single subsignature in a multisignature transaction.\n *\n * Each subsignature contains the public key of a participant and an optional signature.\n */\nexport type MultisigSubsignature = {\n /**\n * Public key of a keypair account participant that is sub-signing a multisignature transaction.\n */\n publicKey: Uint8Array\n\n /**\n * Optional Ed25519 signature for the transaction.\n */\n sig?: Uint8Array\n}\n\n/**\n * Represents an Algorand multisignature signature.\n *\n * A multisignature signature is defined by a version, a threshold, and a list of participating addresses.\n * The version indicates the multisig protocol version, while the threshold specifies the minimum number of signatures required to authorize a transaction.\n * While technically this accepts `Address` types, it is expected that these will be the addresses of Ed25519 public keys.\n */\nexport type MultisigSignature = {\n /**\n * Multisig version.\n */\n version: number\n\n /**\n * Minimum number of signatures required.\n */\n threshold: number\n\n /**\n * Array of subsignatures\n */\n subsigs: Array<MultisigSubsignature>\n}\n\n/**\n * LogicSig signature structure\n */\nexport type LogicSigSignature = {\n /**\n * Logic signature program\n */\n logic: Uint8Array\n\n /**\n * Logic signature arguments\n */\n args?: Uint8Array[]\n\n /**\n * Signature for delegated logic sig\n */\n sig?: Uint8Array\n\n /**\n * Legacy multisig for delegated logic sig\n */\n msig?: MultisigSignature\n\n /**\n * Multisig for delegated logic sig\n */\n lmsig?: MultisigSignature\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransaction - The signed transaction to encode\n * @returns The MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransaction(signedTransaction: SignedTransaction): Uint8Array {\n const encodingData = signedTransactionCodec.encode(signedTransaction, 'msgpack')\n return encodeMsgpack(encodingData)\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransactions - A collection of signed transactions to encode\n * @returns A collection of MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransactions(signedTransactions: SignedTransaction[]): Uint8Array[] {\n return signedTransactions.map((st) => encodeSignedTransaction(st))\n}\n\n/**\n * Decodes MsgPack bytes into a signed transaction.\n *\n * @param encodedSignedTransaction - The MsgPack encoded signed transaction bytes\n * @returns The decoded SignedTransaction or an error if decoding fails.\n */\nexport function decodeSignedTransaction(encodedSignedTransaction: Uint8Array): SignedTransaction {\n const decodedData = decodeMsgpack(encodedSignedTransaction)\n return signedTransactionCodec.decode(decodedData, 'msgpack')\n}\n\n/**\n * Decodes a collection of MsgPack bytes into a signed transaction collection.\n *\n * @param encodedSignedTransactions - A collection of MsgPack encoded bytes, each representing a signed transaction.\n * @returns A collection of decoded signed transactions or an error if decoding fails.\n */\nexport function decodeSignedTransactions(encodedSignedTransactions: Uint8Array[]): SignedTransaction[] {\n return encodedSignedTransactions.map((est) => decodeSignedTransaction(est))\n}\n\n/**\n * Validate a signed transaction structure\n */\nexport function validateSignedTransaction(signedTransaction: SignedTransaction): void {\n validateTransaction(signedTransaction.txn)\n\n // Validate that only one signature type is set\n const sigTypes = [signedTransaction.sig, signedTransaction.msig, signedTransaction.lsig]\n const setSigCount = sigTypes.filter((sig) => sig !== undefined).length\n\n if (setSigCount > 1) {\n throw new Error(`Only one signature type can be set, found ${setSigCount}`)\n }\n\n // Validate signature lengths\n if (signedTransaction.sig && signedTransaction.sig.length !== 64) {\n throw new Error('Signature must be 64 bytes')\n }\n}\n\n/**\n * Encode a signed transaction to wire-format JSON string.\n *\n * Wire format uses short keys (e.g., `amt`, `fv`, `snd`) matching the Algorand protocol.\n * Useful for debugging, logging, or any scenario requiring human-readable JSON\n * that preserves the canonical field names.\n *\n * @param signedTransaction - The signed transaction to encode\n * @param space - Optional indentation for pretty-printing\n * @returns JSON string in wire format\n */\nexport function encodeSignedTransactionToJson(signedTransaction: SignedTransaction, space?: number): string {\n const wireFormat = signedTransactionCodec.encode(signedTransaction, 'json')\n return stringifyJson(wireFormat, undefined, space)\n}\n"],"mappings":";;;;;;;;;;;;;AAkHA,SAAgB,wBAAwB,mBAAkD;AAExF,QAAO,cADc,uBAAuB,OAAO,mBAAmB,UAAU,CAC9C;;;;;;;;;;AAWpC,SAAgB,yBAAyB,oBAAuD;AAC9F,QAAO,mBAAmB,KAAK,OAAO,wBAAwB,GAAG,CAAC;;;;;;;;AASpE,SAAgB,wBAAwB,0BAAyD;CAC/F,MAAM,cAAc,cAAc,yBAAyB;AAC3D,QAAO,uBAAuB,OAAO,aAAa,UAAU;;;;;;;;AAS9D,SAAgB,yBAAyB,2BAA8D;AACrG,QAAO,0BAA0B,KAAK,QAAQ,wBAAwB,IAAI,CAAC;;;;;AAM7E,SAAgB,0BAA0B,mBAA4C;AACpF,qBAAoB,kBAAkB,IAAI;CAI1C,MAAM,cADW;EAAC,kBAAkB;EAAK,kBAAkB;EAAM,kBAAkB;EAAK,CAC3D,QAAQ,QAAQ,QAAQ,KAAA,EAAU,CAAC;AAEhE,KAAI,cAAc,EAChB,OAAM,IAAI,MAAM,6CAA6C,cAAc;AAI7E,KAAI,kBAAkB,OAAO,kBAAkB,IAAI,WAAW,GAC5D,OAAM,IAAI,MAAM,6BAA6B;;;;;;;;;;;;;AAejD,SAAgB,8BAA8B,mBAAsC,OAAwB;AAE1G,QAAO,cADY,uBAAuB,OAAO,mBAAmB,OAAO,EAC1C,KAAA,GAAW,MAAM"}
1
+ {"version":3,"file":"signed-transaction.mjs","names":[],"sources":["../../../../../packages/transact/src/transactions/signed-transaction.ts"],"sourcesContent":["import type { Address } from '@algorandfoundation/algokit-common'\nimport { decodeMsgpack, encodeMsgpack, stringifyJson } from '@algorandfoundation/algokit-common'\nimport { signedTransactionCodec } from './signed-transaction-meta'\nimport { Transaction, validateTransaction } from './transaction'\n\n/**\n * Represents a signed Algorand transaction\n */\nexport type SignedTransaction = {\n /**\n * The transaction that has been signed.\n */\n txn: Transaction\n\n /**\n * Optional Ed25519 signature authorizing the transaction.\n */\n sig?: Uint8Array\n\n /**\n * Optional multisignature signature for the transaction.\n */\n msig?: MultisigSignature\n\n /**\n * Optional logic signature for the transaction.\n */\n lsig?: LogicSigSignature\n\n /**\n * Optional auth address applicable if the transaction sender is a rekeyed account.\n */\n authAddress?: Address\n}\n\n/**\n * Represents a single subsignature in a multisignature transaction.\n *\n * Each subsignature contains the public key of a participant and an optional signature.\n */\nexport type MultisigSubsignature = {\n /**\n * Public key of a keypair account participant that is sub-signing a multisignature transaction.\n */\n publicKey: Uint8Array\n\n /**\n * Optional Ed25519 signature for the transaction.\n */\n sig?: Uint8Array\n}\n\n/**\n * Represents an Algorand multisignature signature.\n *\n * A multisignature signature is defined by a version, a threshold, and a list of participating addresses.\n * The version indicates the multisig protocol version, while the threshold specifies the minimum number of signatures required to authorize a transaction.\n * While technically this accepts `Address` types, it is expected that these will be the addresses of Ed25519 public keys.\n */\nexport type MultisigSignature = {\n /**\n * Multisig version.\n */\n version: number\n\n /**\n * Minimum number of signatures required.\n */\n threshold: number\n\n /**\n * Array of subsignatures\n */\n subsigs: Array<MultisigSubsignature>\n}\n\n/**\n * LogicSig signature structure\n */\nexport type LogicSigSignature = {\n /**\n * Logic signature program\n */\n logic: Uint8Array\n\n /**\n * Logic signature arguments\n */\n args?: Uint8Array[]\n\n /**\n * Signature for delegated logic sig\n */\n sig?: Uint8Array\n\n /**\n * Legacy multisig for delegated logic sig\n */\n msig?: MultisigSignature\n\n /**\n * Multisig for delegated logic sig\n */\n lmsig?: MultisigSignature\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransaction - The signed transaction to encode\n * @returns The MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransaction(signedTransaction: SignedTransaction): Uint8Array {\n const encodingData = signedTransactionCodec.encode(signedTransaction, 'msgpack')\n return encodeMsgpack(encodingData)\n}\n\n/**\n * Encode signed transactions to MsgPack for sending on the network.\n *\n * This method performs canonical encoding. No domain separation prefix is applicable.\n *\n * @param signedTransactions - A collection of signed transactions to encode\n * @returns A collection of MsgPack encoded bytes or an error if encoding fails.\n */\nexport function encodeSignedTransactions(signedTransactions: SignedTransaction[]): Uint8Array[] {\n return signedTransactions.map((st) => encodeSignedTransaction(st))\n}\n\n/**\n * Decodes MsgPack bytes into a signed transaction.\n *\n * @param encodedSignedTransaction - The MsgPack encoded signed transaction bytes\n * @returns The decoded SignedTransaction or an error if decoding fails.\n */\nexport function decodeSignedTransaction(encodedSignedTransaction: Uint8Array): SignedTransaction {\n const decodedData = decodeMsgpack(encodedSignedTransaction)\n return signedTransactionCodec.decode(decodedData, 'msgpack')\n}\n\n/**\n * Decodes a collection of MsgPack bytes into a signed transaction collection.\n *\n * @param encodedSignedTransactions - A collection of MsgPack encoded bytes, each representing a signed transaction.\n * @returns A collection of decoded signed transactions or an error if decoding fails.\n */\nexport function decodeSignedTransactions(encodedSignedTransactions: Uint8Array[]): SignedTransaction[] {\n return encodedSignedTransactions.map((est) => decodeSignedTransaction(est))\n}\n\n/**\n * Validate a signed transaction structure\n */\nexport function validateSignedTransaction(signedTransaction: SignedTransaction): void {\n validateTransaction(signedTransaction.txn)\n\n // Validate that only one signature type is set\n const sigTypes = [signedTransaction.sig, signedTransaction.msig, signedTransaction.lsig]\n const setSigCount = sigTypes.filter((sig) => sig !== undefined).length\n\n if (setSigCount > 1) {\n throw new Error(`Only one signature type can be set, found ${setSigCount}`)\n }\n\n // Validate signature lengths\n if (signedTransaction.sig && signedTransaction.sig.length !== 64) {\n throw new Error('Signature must be 64 bytes')\n }\n}\n\n/**\n * Encode a signed transaction to wire-format JSON string.\n *\n * Wire format uses short keys (e.g., `amt`, `fv`, `snd`) matching the Algorand protocol.\n * Useful for debugging, logging, or any scenario requiring human-readable JSON\n * that preserves the canonical field names.\n *\n * @param signedTransaction - The signed transaction to encode\n * @param space - Optional indentation for pretty-printing\n * @returns JSON string in wire format\n */\nexport function encodeSignedTransactionToJson(signedTransaction: SignedTransaction, space?: number): string {\n const wireFormat = signedTransactionCodec.encode(signedTransaction, 'json')\n return stringifyJson(wireFormat, undefined, space)\n}\n"],"mappings":";;;;;;;;;;;;;AAkHA,SAAgB,wBAAwB,mBAAkD;CAExF,OAAO,cADc,uBAAuB,OAAO,mBAAmB,SACtC,CAAC;AACnC;;;;;;;;;AAUA,SAAgB,yBAAyB,oBAAuD;CAC9F,OAAO,mBAAmB,KAAK,OAAO,wBAAwB,EAAE,CAAC;AACnE;;;;;;;AAQA,SAAgB,wBAAwB,0BAAyD;CAC/F,MAAM,cAAc,cAAc,wBAAwB;CAC1D,OAAO,uBAAuB,OAAO,aAAa,SAAS;AAC7D;;;;;;;AAQA,SAAgB,yBAAyB,2BAA8D;CACrG,OAAO,0BAA0B,KAAK,QAAQ,wBAAwB,GAAG,CAAC;AAC5E;;;;AAKA,SAAgB,0BAA0B,mBAA4C;CACpF,oBAAoB,kBAAkB,GAAG;CAIzC,MAAM,cAAc;EADF,kBAAkB;EAAK,kBAAkB;EAAM,kBAAkB;CACxD,EAAE,QAAQ,QAAQ,QAAQ,KAAA,CAAS,EAAE;CAEhE,IAAI,cAAc,GAChB,MAAM,IAAI,MAAM,6CAA6C,aAAa;CAI5E,IAAI,kBAAkB,OAAO,kBAAkB,IAAI,WAAW,IAC5D,MAAM,IAAI,MAAM,4BAA4B;AAEhD;;;;;;;;;;;;AAaA,SAAgB,8BAA8B,mBAAsC,OAAwB;CAE1G,OAAO,cADY,uBAAuB,OAAO,mBAAmB,MACtC,GAAG,KAAA,GAAW,KAAK;AACnD"}
@@ -11,40 +11,41 @@ const require_string = require("../../../common/src/codecs/primitives/string.js"
11
11
  const require_array = require("../../../common/src/codecs/composite/array.js");
12
12
  const require_map = require("../../../common/src/codecs/composite/map.js");
13
13
  const require_object_model = require("../../../common/src/codecs/models/object-model.js");
14
- const require_transaction_type = require("./transaction-type.js");
14
+ require("./transaction-type.js");
15
15
  //#region packages/transact/src/transactions/transaction-meta.ts
16
16
  var TransactionTypeCodec = class extends require_codec.Codec {
17
17
  defaultValue() {
18
- return require_transaction_type.TransactionType.Unknown;
18
+ return "unknown";
19
19
  }
20
20
  toEncoded(value, _format) {
21
21
  switch (value) {
22
- case require_transaction_type.TransactionType.Payment: return "pay";
23
- case require_transaction_type.TransactionType.AssetTransfer: return "axfer";
24
- case require_transaction_type.TransactionType.AssetFreeze: return "afrz";
25
- case require_transaction_type.TransactionType.AssetConfig: return "acfg";
26
- case require_transaction_type.TransactionType.KeyRegistration: return "keyreg";
27
- case require_transaction_type.TransactionType.AppCall: return "appl";
28
- case require_transaction_type.TransactionType.StateProof: return "stpf";
29
- case require_transaction_type.TransactionType.Heartbeat: return "hb";
22
+ case "pay": return "pay";
23
+ case "axfer": return "axfer";
24
+ case "afrz": return "afrz";
25
+ case "acfg": return "acfg";
26
+ case "keyreg": return "keyreg";
27
+ case "appl": return "appl";
28
+ case "stpf": return "stpf";
29
+ case "hb": return "hb";
30
30
  default: return "unknown";
31
31
  }
32
32
  }
33
33
  fromEncoded(value, _format) {
34
34
  switch (require_wire.normalizeWireString(value)) {
35
- case "pay": return require_transaction_type.TransactionType.Payment;
36
- case "axfer": return require_transaction_type.TransactionType.AssetTransfer;
37
- case "afrz": return require_transaction_type.TransactionType.AssetFreeze;
38
- case "acfg": return require_transaction_type.TransactionType.AssetConfig;
39
- case "keyreg": return require_transaction_type.TransactionType.KeyRegistration;
40
- case "appl": return require_transaction_type.TransactionType.AppCall;
41
- case "stpf": return require_transaction_type.TransactionType.StateProof;
42
- case "hb": return require_transaction_type.TransactionType.Heartbeat;
43
- default: return require_transaction_type.TransactionType.Unknown;
35
+ case "pay": return "pay";
36
+ case "axfer": return "axfer";
37
+ case "afrz": return "afrz";
38
+ case "acfg": return "acfg";
39
+ case "keyreg": return "keyreg";
40
+ case "appl": return "appl";
41
+ case "stpf": return "stpf";
42
+ case "hb": return "hb";
43
+ default: return "unknown";
44
44
  }
45
45
  }
46
46
  };
47
47
  var TransactionDataCodec = class extends require_codec.Codec {
48
+ transactionType;
48
49
  transactionDataCodec;
49
50
  constructor(transactionType, transactionTypeDataMetadata) {
50
51
  super();
@@ -79,7 +80,7 @@ var AssetConfigDataCodec = class extends require_codec.Codec {
79
80
  const type = require_wire.normalizeWireString(value.type);
80
81
  const caid = value.caid;
81
82
  const apar = value.apar;
82
- if (type !== require_transaction_type.TransactionType.AssetConfig || caid === void 0 && !apar) return;
83
+ if (type !== "acfg" || caid === void 0 && !apar) return;
83
84
  return {
84
85
  assetId: require_bigint.bigIntCodec.decode(caid, format),
85
86
  ...this.assetParamsCodec.decode(apar, format)
@@ -258,7 +259,7 @@ var AppCallDataCodec = class extends require_codec.Codec {
258
259
  }
259
260
  fromEncoded(value, format) {
260
261
  if (value.type === void 0) throw new Error("Transaction is missing type field");
261
- if (require_wire.normalizeWireString(value.type) !== require_transaction_type.TransactionType.AppCall) return;
262
+ if (require_wire.normalizeWireString(value.type) !== "appl") return;
262
263
  const appReferences = value.apfa;
263
264
  const wireBoxReferences = value.apbx;
264
265
  const wireAccessReferences = value.al;
@@ -958,25 +959,25 @@ const TransactionParamsMeta = {
958
959
  name: "payment",
959
960
  flattened: true,
960
961
  optional: true,
961
- codec: new TransactionDataCodec(require_transaction_type.TransactionType.Payment, PaymentTransactionFieldsMeta)
962
+ codec: new TransactionDataCodec("pay", PaymentTransactionFieldsMeta)
962
963
  },
963
964
  {
964
965
  name: "assetTransfer",
965
966
  flattened: true,
966
967
  optional: true,
967
- codec: new TransactionDataCodec(require_transaction_type.TransactionType.AssetTransfer, AssetTransferTransactionFieldsMeta)
968
+ codec: new TransactionDataCodec("axfer", AssetTransferTransactionFieldsMeta)
968
969
  },
969
970
  {
970
971
  name: "assetFreeze",
971
972
  flattened: true,
972
973
  optional: true,
973
- codec: new TransactionDataCodec(require_transaction_type.TransactionType.AssetFreeze, AssetFreezeTransactionFieldsMeta)
974
+ codec: new TransactionDataCodec("afrz", AssetFreezeTransactionFieldsMeta)
974
975
  },
975
976
  {
976
977
  name: "keyRegistration",
977
978
  flattened: true,
978
979
  optional: true,
979
- codec: new TransactionDataCodec(require_transaction_type.TransactionType.KeyRegistration, KeyRegistrationTransactionFieldsMeta)
980
+ codec: new TransactionDataCodec("keyreg", KeyRegistrationTransactionFieldsMeta)
980
981
  },
981
982
  {
982
983
  name: "assetConfig",
@@ -1000,7 +1001,7 @@ const TransactionParamsMeta = {
1000
1001
  name: "stateProof",
1001
1002
  flattened: true,
1002
1003
  optional: true,
1003
- codec: new TransactionDataCodec(require_transaction_type.TransactionType.StateProof, StateProofTransactionFieldsMeta)
1004
+ codec: new TransactionDataCodec("stpf", StateProofTransactionFieldsMeta)
1004
1005
  }
1005
1006
  ]
1006
1007
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-meta.js","names":["Codec","TransactionType","normalizeWireString","ObjectModelCodec","bigIntCodec","addressCodec","Address","numberCodec","bytesCodec","normalizeWireObject","booleanCodec","fixedBytes32Codec","fixedBytes64Codec","stringCodec","bytesArrayCodec","addressArrayCodec","bigIntArrayCodec","fixedBytes1793Codec","MapCodec"],"sources":["../../../../../packages/transact/src/transactions/transaction-meta.ts"],"sourcesContent":["import type { EncodingFormat, ObjectModelMetadata, WireBigInt, WireObject, WireString } from '@algorandfoundation/algokit-common'\nimport {\n Address,\n Codec,\n MapCodec,\n ObjectModelCodec,\n addressArrayCodec,\n addressCodec,\n bigIntArrayCodec,\n bigIntCodec,\n booleanCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes1793Codec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n normalizeWireObject,\n normalizeWireString,\n numberCodec,\n stringCodec,\n} from '@algorandfoundation/algokit-common'\nimport { AppCallTransactionFields, BoxReference, ResourceReference, StateSchema } from './app-call'\nimport { AssetConfigTransactionFields } from './asset-config'\nimport { AssetFreezeTransactionFields } from './asset-freeze'\nimport { AssetTransferTransactionFields } from './asset-transfer'\nimport { HeartbeatProof, HeartbeatTransactionFields } from './heartbeat'\nimport { KeyRegistrationTransactionFields } from './key-registration'\nimport { PaymentTransactionFields } from './payment'\nimport {\n FalconSignatureStruct,\n FalconVerifier,\n HashFactory,\n MerkleArrayProof,\n MerkleSignatureVerifier,\n Participant,\n Reveal,\n SigslotCommit,\n StateProof,\n StateProofMessage,\n StateProofTransactionFields,\n} from './state-proof'\nimport type { TransactionParams } from './transaction'\nimport { TransactionType } from './transaction-type'\n\ntype WireBoxReference = {\n /** App index (0 or index into access list) */\n i?: number\n /** Box name */\n n?: WireString\n}\n\ntype WireResourceReference = {\n /** Account address */\n d?: WireString\n\n /** App index */\n p?: WireBigInt\n\n /** Asset index */\n s?: WireBigInt\n\n /** Box reference */\n b?: WireBoxReference\n\n /** Holding reference (1-based indices into access list) */\n h?: {\n /** Address index */\n d?: number\n /** Asset index (1-based index into access list) */\n s?: number\n }\n\n /** Local state reference (1-based indices into access list) */\n l?: {\n /** Address index */\n d?: number\n /** App index (0 means current app, or 1-based index into access list) */\n p?: number\n }\n}\n\nclass TransactionTypeCodec extends Codec<TransactionType, string, WireString> {\n public defaultValue(): TransactionType {\n // This ensure that we never omit the transaction type, as a transaction should never be created with this value\n return TransactionType.Unknown\n }\n\n protected toEncoded(value: TransactionType, _format: EncodingFormat): string {\n switch (value) {\n case TransactionType.Payment:\n return 'pay'\n case TransactionType.AssetTransfer:\n return 'axfer'\n case TransactionType.AssetFreeze:\n return 'afrz'\n case TransactionType.AssetConfig:\n return 'acfg'\n case TransactionType.KeyRegistration:\n return 'keyreg'\n case TransactionType.AppCall:\n return 'appl'\n case TransactionType.StateProof:\n return 'stpf'\n case TransactionType.Heartbeat:\n return 'hb'\n default:\n return 'unknown'\n }\n }\n\n protected fromEncoded(value: WireString, _format: EncodingFormat): TransactionType {\n // Convert Uint8Array to string if needed (msgpack may return transaction type as bytes)\n const typeString = normalizeWireString(value)\n\n switch (typeString) {\n case 'pay':\n return TransactionType.Payment\n case 'axfer':\n return TransactionType.AssetTransfer\n case 'afrz':\n return TransactionType.AssetFreeze\n case 'acfg':\n return TransactionType.AssetConfig\n case 'keyreg':\n return TransactionType.KeyRegistration\n case 'appl':\n return TransactionType.AppCall\n case 'stpf':\n return TransactionType.StateProof\n case 'hb':\n return TransactionType.Heartbeat\n default:\n return TransactionType.Unknown\n }\n }\n}\n\nclass TransactionDataCodec<\n T extends\n | PaymentTransactionFields\n | AssetTransferTransactionFields\n | AssetFreezeTransactionFields\n | KeyRegistrationTransactionFields\n | StateProofTransactionFields,\n> extends Codec<T | undefined, Record<string, unknown>> {\n private transactionDataCodec: ObjectModelCodec<T>\n\n constructor(\n private readonly transactionType: TransactionType,\n transactionTypeDataMetadata: ObjectModelMetadata<T>,\n ) {\n super()\n this.transactionDataCodec = new ObjectModelCodec<T>(transactionTypeDataMetadata)\n }\n\n public defaultValue(): T | undefined {\n return undefined\n }\n\n protected toEncoded(value: T | undefined, format: EncodingFormat): Record<string, unknown> {\n if (!value) {\n throw new Error('Transaction data is missing')\n }\n return this.transactionDataCodec.encode(value, format)\n }\n\n protected fromEncoded(value: Record<string, unknown>, format: EncodingFormat): T | undefined {\n if (value.type === undefined) {\n throw new Error('Transaction is missing type field')\n }\n const type = normalizeWireString(value.type as WireString)\n if (type === this.transactionType.toString()) {\n return this.transactionDataCodec.decode(value, format)\n }\n\n return undefined\n }\n}\n\nclass AssetConfigDataCodec extends Codec<AssetConfigTransactionFields | undefined, Record<string, unknown>> {\n private assetParamsCodec = new ObjectModelCodec<Omit<AssetConfigTransactionFields, 'assetId'>>(AssetParamsMeta)\n\n public defaultValue(): AssetConfigTransactionFields | undefined {\n return undefined\n }\n\n protected toEncoded(value: AssetConfigTransactionFields | undefined, format: EncodingFormat): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n if (!value) {\n throw new Error('Transaction is not an asset config')\n }\n\n const { assetId, ...assetParams } = value\n\n const encodedAssetId = bigIntCodec.encodeOptional(assetId, format)\n if (encodedAssetId !== undefined) {\n result.caid = encodedAssetId\n }\n\n const encodedParams = this.assetParamsCodec.encodeOptional(assetParams, format)\n if (encodedParams && Object.keys(encodedParams).length > 0) {\n result.apar = encodedParams\n }\n\n return result\n }\n\n protected fromEncoded(value: Record<string, unknown>, format: EncodingFormat): AssetConfigTransactionFields | undefined {\n if (value.type === undefined) {\n throw new Error('Transaction is missing type field')\n }\n const type = normalizeWireString(value.type as WireString)\n const caid = value.caid as WireBigInt | undefined\n const apar = value.apar as WireObject | undefined\n\n if (type !== TransactionType.AssetConfig || (caid === undefined && !apar)) {\n return undefined\n }\n\n return {\n assetId: bigIntCodec.decode(caid, format),\n ...this.assetParamsCodec.decode(apar, format),\n } satisfies AssetConfigTransactionFields\n }\n\n public isDefaultValue(value: AssetConfigTransactionFields | undefined): boolean {\n return value === undefined\n }\n}\n\nclass AppCallDataCodec extends Codec<AppCallTransactionFields | undefined, Record<string, unknown>> {\n private appCallFieldsCodec = new ObjectModelCodec<Omit<AppCallTransactionFields, 'accessReferences' | 'boxReferences'>>(\n AppCallTransactionFieldsMeta,\n )\n\n public defaultValue(): AppCallTransactionFields | undefined {\n return undefined\n }\n\n private encodeResourceReferences(\n appId: bigint,\n resourceReferences: ResourceReference[] | undefined,\n format: EncodingFormat,\n ): WireResourceReference[] | undefined {\n if (!resourceReferences || resourceReferences.length === 0) return undefined\n\n const accessList: WireResourceReference[] = []\n\n // Helper to find or add a simple reference and return its 1-based index\n const ensure = (target: Pick<ResourceReference, 'address' | 'assetId' | 'appId'>): number => {\n // Search for existing entry\n for (let idx = 0; idx < accessList.length; idx++) {\n const entry = accessList[idx]\n const matchesAddress =\n (!entry.d && !target.address) || (entry.d && target.address && addressCodec.decode(entry.d, format).equals(target.address))\n const matchesAssetId =\n (entry.s === undefined && target.assetId === undefined) ||\n (entry.s !== undefined && target.assetId !== undefined && bigIntCodec.decode(entry.s, format) === target.assetId)\n const matchesAppId =\n (entry.p === undefined && target.appId === undefined) ||\n (entry.p !== undefined && target.appId !== undefined && bigIntCodec.decode(entry.p, format) === target.appId)\n\n if (matchesAddress && matchesAssetId && matchesAppId) {\n return idx + 1 // Return 1-based index\n }\n }\n\n // Add new entries for each field\n if (target.address && !target.address.equals(Address.zeroAddress())) {\n accessList.push({ d: addressCodec.encodeOptional(target.address, format)! })\n }\n if (target.assetId !== undefined) {\n accessList.push({ s: bigIntCodec.encodeOptional(target.assetId, format)! })\n }\n if (target.appId !== undefined) {\n accessList.push({ p: bigIntCodec.encodeOptional(target.appId, format)! })\n }\n\n return accessList.length // Return 1-based index of last added\n }\n\n // Process each access reference\n for (const resourceRef of resourceReferences) {\n // Simple references (address, assetId, or appId)\n if (resourceRef.address || resourceRef.assetId !== undefined || resourceRef.appId !== undefined) {\n ensure(resourceRef)\n continue\n }\n\n // Holding reference\n if (resourceRef.holding) {\n const holding = resourceRef.holding\n let addressIndex = 0\n if (holding.address && !holding.address.equals(Address.zeroAddress())) {\n addressIndex = ensure({ address: holding.address })\n }\n const assetIndex = ensure({ assetId: holding.assetId })\n accessList.push({\n h: {\n d: numberCodec.encodeOptional(addressIndex, format),\n s: numberCodec.encodeOptional(assetIndex, format),\n },\n })\n continue\n }\n\n // Locals reference\n if (resourceRef.locals) {\n const locals = resourceRef.locals\n let addressIndex = 0\n if (locals.address && !locals.address.equals(Address.zeroAddress())) {\n addressIndex = ensure({ address: locals.address })\n }\n\n let appIndex = 0\n if (locals.appId && locals.appId !== appId) {\n appIndex = ensure({ appId: locals.appId })\n }\n if (addressIndex !== 0 || appIndex !== 0) {\n accessList.push({\n l: {\n d: numberCodec.encodeOptional(addressIndex, format),\n p: numberCodec.encodeOptional(appIndex, format),\n },\n })\n }\n continue\n }\n\n // Box reference\n if (resourceRef.box) {\n const box = resourceRef.box\n // Only add appId to access list if it's different from the calling app's ID\n // Use appIndex = 0 when box is for the current app\n let appIndex = 0\n if (box.appId && box.appId !== appId) {\n appIndex = ensure({ appId: box.appId })\n }\n accessList.push({\n b: {\n i: numberCodec.encodeOptional(appIndex, format),\n n: bytesCodec.encodeOptional(box.name, format),\n },\n })\n continue\n }\n }\n\n return accessList.length > 0 ? accessList : undefined\n }\n\n private decodeResourceReferences(\n _wireResourceReferences: WireResourceReference[] | undefined,\n format: EncodingFormat,\n ): ResourceReference[] {\n if (!_wireResourceReferences || _wireResourceReferences.length === 0) return []\n\n const result: ResourceReference[] = []\n\n // Process each entry in the access list\n\n const wireResourceReferences = _wireResourceReferences.map((ref) => normalizeWireObject(ref))\n for (const ref of wireResourceReferences) {\n const d = ref.d as WireString | undefined\n const s = ref.s as WireBigInt | undefined\n const p = ref.p as WireBigInt | undefined\n const _h = ref.h as WireObject | undefined\n const h = _h ? normalizeWireObject(_h) : undefined\n const _l = ref.l as WireObject | undefined\n const l = _l ? normalizeWireObject(_l) : undefined\n const _b = ref.b as WireObject | undefined\n const b = _b ? normalizeWireObject(_b) : undefined\n\n // Simple address reference\n if (d) {\n result.push({ address: addressCodec.decode(d, format) })\n continue\n }\n\n // Simple asset ID reference\n if (s !== undefined) {\n result.push({ assetId: bigIntCodec.decode(s, format) })\n continue\n }\n\n // Simple app ID reference\n if (p !== undefined) {\n result.push({ appId: bigIntCodec.decode(p, format) })\n continue\n }\n\n // Holding reference (h)\n if (h) {\n const addrIdx = (h.d ?? 0) as number\n const assetIdx = h.s as number | undefined\n\n if (assetIdx === undefined) {\n throw new Error('Access list holding reference is missing asset index')\n }\n\n const holdingAddress =\n addrIdx === 0 ? Address.zeroAddress() : addressCodec.decode(wireResourceReferences[addrIdx - 1].d! as WireString, format)\n const holdingAssetId = wireResourceReferences[assetIdx - 1].s! as WireBigInt\n\n result.push({\n holding: {\n assetId: bigIntCodec.decode(holdingAssetId, format),\n address: holdingAddress,\n },\n })\n continue\n }\n\n // Locals reference (l)\n if (l) {\n const addrIdx = (l.d ?? 0) as number\n const appIdx = (l.p ?? 0) as number\n\n const localsAddress =\n addrIdx === 0 ? Address.zeroAddress() : addressCodec.decode(wireResourceReferences[addrIdx - 1].d! as WireString, format)\n const localsAppId = appIdx === 0 ? 0n : (wireResourceReferences[appIdx - 1].p! as WireBigInt)\n\n result.push({\n locals: {\n appId: bigIntCodec.decode(localsAppId, format),\n address: localsAddress,\n },\n })\n continue\n }\n\n // Box reference (b)\n if (b) {\n const boxAppIdx = (b.i ?? 0) as number\n const name = b.n as WireString | undefined\n\n if (!name) {\n throw new Error('Access list box reference is missing name')\n }\n\n const boxAppId = boxAppIdx === 0 ? 0n : (wireResourceReferences[boxAppIdx - 1].p! as WireBigInt)\n\n result.push({\n box: {\n appId: bigIntCodec.decode(boxAppId, format),\n name: bytesCodec.decode(name, format),\n },\n })\n continue\n }\n }\n\n return result\n }\n\n private encodeBoxReferences(\n appId: bigint,\n appReferences: bigint[] | undefined,\n boxReferences: BoxReference[] | undefined,\n format: EncodingFormat,\n ): WireBoxReference[] | undefined {\n if (!boxReferences || boxReferences.length === 0) return undefined\n\n const appRefs = appReferences ?? []\n\n return boxReferences.map((box) => {\n const isCurrentApp = box.appId === 0n || box.appId === appId\n // Index 0 means current app, index > 0 references foreign apps array (1-indexed)\n const index = isCurrentApp ? 0 : appRefs.indexOf(box.appId) + 1\n\n if (index === 0 && !isCurrentApp) {\n throw new Error(`Box ref with appId ${box.appId} not in appReferences`)\n }\n\n return {\n i: numberCodec.encodeOptional(index, format), // This returns undefined when index is 0, which omits the field\n n: bytesCodec.encodeOptional(box.name, format),\n }\n })\n }\n\n private decodeBoxReferences(\n appReferences: bigint[] | undefined,\n wireBoxReferences: WireBoxReference[] | undefined,\n format: EncodingFormat,\n ): BoxReference[] {\n if (!wireBoxReferences || wireBoxReferences.length === 0) return []\n\n return wireBoxReferences.map((_box) => {\n const box = normalizeWireObject(_box)\n const boxIndex = box.i as number | undefined\n const boxName = box.n as WireString | undefined\n\n const index = boxIndex ?? 0\n\n let appId: bigint\n if (index === 0) {\n // 0 means current app\n appId = 0n\n } else {\n // 1-based index into foreignApps array\n const foreignAppId = appReferences?.[index - 1]\n if (foreignAppId === undefined) {\n throw new Error(`Failed to find the app reference at index ${index - 1}`)\n }\n appId = bigIntCodec.decode(foreignAppId, format)\n }\n\n return {\n appId,\n name: bytesCodec.decode(boxName, format),\n }\n })\n }\n\n protected toEncoded(value: AppCallTransactionFields | undefined, format: EncodingFormat): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n if (!value) {\n throw new Error('Transaction is not an app call')\n }\n\n const encodedParams = this.appCallFieldsCodec.encodeOptional(value, format)\n if (encodedParams && Object.keys(encodedParams).length > 0) {\n Object.assign(result, encodedParams)\n }\n\n const wireBoxReferences = this.encodeBoxReferences(value.appId, value.appReferences, value.boxReferences, format)\n if (wireBoxReferences) {\n result.apbx = wireBoxReferences\n }\n\n const wireAccessReferences = this.encodeResourceReferences(value.appId, value.accessReferences, format)\n if (wireAccessReferences) {\n result.al = wireAccessReferences\n }\n\n return result\n }\n\n protected fromEncoded(value: Record<string, unknown>, format: EncodingFormat): AppCallTransactionFields | undefined {\n if (value.type === undefined) {\n throw new Error('Transaction is missing type field')\n }\n const type = normalizeWireString(value.type as WireString)\n if (type !== TransactionType.AppCall) {\n return undefined\n }\n\n const appReferences = value.apfa as WireBigInt[] | undefined\n const wireBoxReferences = value.apbx as WireBoxReference[] | undefined\n const wireAccessReferences = value.al as WireResourceReference[] | undefined\n const boxReferences = this.decodeBoxReferences(\n appReferences?.map((ar) => bigIntCodec.decode(ar, format)),\n wireBoxReferences,\n format,\n )\n const accessReferences = this.decodeResourceReferences(wireAccessReferences, format)\n\n return {\n ...this.appCallFieldsCodec.decode(value, format),\n ...(accessReferences.length > 0 && { accessReferences }),\n ...(boxReferences.length > 0 && { boxReferences }),\n } satisfies AppCallTransactionFields\n }\n\n public isDefaultValue(value: AppCallTransactionFields | undefined): boolean {\n return value === undefined\n }\n}\n\nconst PaymentTransactionFieldsMeta: ObjectModelMetadata<PaymentTransactionFields> = {\n name: 'PaymentTransactionFields',\n kind: 'object',\n fields: [\n { name: 'amount', wireKey: 'amt', optional: false, codec: bigIntCodec },\n { name: 'receiver', wireKey: 'rcv', optional: false, codec: addressCodec },\n { name: 'closeRemainderTo', wireKey: 'close', optional: true, codec: addressCodec },\n ],\n}\n\nconst AssetTransferTransactionFieldsMeta: ObjectModelMetadata<AssetTransferTransactionFields> = {\n name: 'AssetTransferTransactionFields',\n kind: 'object',\n fields: [\n { name: 'assetId', wireKey: 'xaid', optional: false, codec: bigIntCodec },\n { name: 'amount', wireKey: 'aamt', optional: false, codec: bigIntCodec },\n { name: 'receiver', wireKey: 'arcv', optional: false, codec: addressCodec },\n { name: 'assetSender', wireKey: 'asnd', optional: true, codec: addressCodec },\n { name: 'closeRemainderTo', wireKey: 'aclose', optional: true, codec: addressCodec },\n ],\n}\n\nconst AssetFreezeTransactionFieldsMeta: ObjectModelMetadata<AssetFreezeTransactionFields> = {\n name: 'AssetFreezeTransactionFields',\n kind: 'object',\n fields: [\n { name: 'assetId', wireKey: 'faid', optional: false, codec: bigIntCodec },\n { name: 'freezeTarget', wireKey: 'fadd', optional: false, codec: addressCodec },\n { name: 'frozen', wireKey: 'afrz', optional: false, codec: booleanCodec },\n ],\n}\n\nconst KeyRegistrationTransactionFieldsMeta: ObjectModelMetadata<KeyRegistrationTransactionFields> = {\n name: 'KeyRegistrationTransactionFields',\n kind: 'object',\n fields: [\n { name: 'voteKey', wireKey: 'votekey', optional: true, codec: fixedBytes32Codec },\n { name: 'selectionKey', wireKey: 'selkey', optional: true, codec: fixedBytes32Codec },\n { name: 'stateProofKey', wireKey: 'sprfkey', optional: true, codec: fixedBytes64Codec },\n { name: 'voteFirst', wireKey: 'votefst', optional: true, codec: bigIntCodec },\n { name: 'voteLast', wireKey: 'votelst', optional: true, codec: bigIntCodec },\n { name: 'voteKeyDilution', wireKey: 'votekd', optional: true, codec: bigIntCodec },\n { name: 'nonParticipation', wireKey: 'nonpart', optional: true, codec: booleanCodec },\n ],\n}\n\nconst AssetParamsMeta: ObjectModelMetadata<Omit<AssetConfigTransactionFields, 'assetId'>> = {\n name: 'AssetParams',\n kind: 'object',\n fields: [\n { name: 'total', wireKey: 't', optional: true, codec: bigIntCodec },\n { name: 'decimals', wireKey: 'dc', optional: true, codec: numberCodec },\n { name: 'defaultFrozen', wireKey: 'df', optional: true, codec: booleanCodec },\n { name: 'unitName', wireKey: 'un', optional: true, codec: stringCodec },\n { name: 'assetName', wireKey: 'an', optional: true, codec: stringCodec },\n { name: 'url', wireKey: 'au', optional: true, codec: stringCodec },\n { name: 'metadataHash', wireKey: 'am', optional: true, codec: fixedBytes32Codec },\n { name: 'manager', wireKey: 'm', optional: true, codec: addressCodec },\n { name: 'reserve', wireKey: 'r', optional: true, codec: addressCodec },\n { name: 'freeze', wireKey: 'f', optional: true, codec: addressCodec },\n { name: 'clawback', wireKey: 'c', optional: true, codec: addressCodec },\n ],\n}\n\nconst StateSchemaMeta: ObjectModelMetadata<StateSchema> = {\n name: 'StateSchema',\n kind: 'object',\n fields: [\n { name: 'numUints', wireKey: 'nui', optional: false, codec: numberCodec },\n { name: 'numByteSlices', wireKey: 'nbs', optional: false, codec: numberCodec },\n ],\n}\n\nconst AppCallTransactionFieldsMeta: ObjectModelMetadata<AppCallTransactionFields> = {\n name: 'AppCallTransactionFields',\n kind: 'object',\n fields: [\n { name: 'appId', wireKey: 'apid', optional: false, codec: bigIntCodec },\n { name: 'onComplete', wireKey: 'apan', optional: false, codec: numberCodec },\n { name: 'approvalProgram', wireKey: 'apap', optional: true, codec: bytesCodec },\n { name: 'clearStateProgram', wireKey: 'apsu', optional: true, codec: bytesCodec },\n {\n name: 'globalStateSchema',\n wireKey: 'apgs',\n optional: true,\n codec: new ObjectModelCodec(StateSchemaMeta),\n },\n {\n name: 'localStateSchema',\n wireKey: 'apls',\n optional: true,\n codec: new ObjectModelCodec(StateSchemaMeta),\n },\n { name: 'extraProgramPages', wireKey: 'apep', optional: true, codec: numberCodec },\n { name: 'args', wireKey: 'apaa', optional: true, codec: bytesArrayCodec },\n { name: 'accountReferences', wireKey: 'apat', optional: true, codec: addressArrayCodec },\n { name: 'appReferences', wireKey: 'apfa', optional: true, codec: bigIntArrayCodec },\n { name: 'assetReferences', wireKey: 'apas', optional: true, codec: bigIntArrayCodec },\n { name: 'rejectVersion', wireKey: 'aprv', optional: true, codec: numberCodec },\n // boxReferences and accessReferences are handled by the parent codec, as they require more complex mappings\n ],\n}\n\nconst HashFactoryMeta: ObjectModelMetadata<HashFactory> = {\n name: 'HashFactory',\n kind: 'object',\n fields: [{ name: 'hashType', wireKey: 't', optional: false, codec: numberCodec }],\n}\n\nconst MerkleArrayProofMeta: ObjectModelMetadata<MerkleArrayProof> = {\n name: 'MerkleArrayProof',\n kind: 'object',\n fields: [\n { name: 'path', wireKey: 'pth', optional: false, codec: bytesArrayCodec },\n { name: 'hashFactory', wireKey: 'hsh', optional: false, codec: new ObjectModelCodec(HashFactoryMeta) },\n { name: 'treeDepth', wireKey: 'td', optional: false, codec: numberCodec },\n ],\n}\n\nconst FalconVerifierMeta: ObjectModelMetadata<FalconVerifier> = {\n name: 'FalconVerifier',\n kind: 'object',\n fields: [{ name: 'publicKey', wireKey: 'k', optional: false, codec: fixedBytes1793Codec }],\n}\n\nconst FalconSignatureStructMeta: ObjectModelMetadata<FalconSignatureStruct> = {\n name: 'FalconSignatureStruct',\n kind: 'object',\n fields: [\n { name: 'signature', wireKey: 'sig', optional: false, codec: bytesCodec },\n { name: 'vectorCommitmentIndex', wireKey: 'idx', optional: false, codec: bigIntCodec },\n { name: 'proof', wireKey: 'prf', optional: false, codec: new ObjectModelCodec(MerkleArrayProofMeta) },\n { name: 'verifyingKey', wireKey: 'vkey', optional: false, codec: new ObjectModelCodec(FalconVerifierMeta) },\n ],\n}\n\nconst SigslotCommitMeta: ObjectModelMetadata<SigslotCommit> = {\n name: 'SigslotCommit',\n kind: 'object',\n fields: [\n { name: 'sig', wireKey: 's', optional: false, codec: new ObjectModelCodec(FalconSignatureStructMeta) },\n { name: 'lowerSigWeight', wireKey: 'l', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst MerkleSignatureVerifierMeta: ObjectModelMetadata<MerkleSignatureVerifier> = {\n name: 'MerkleSignatureVerifier',\n kind: 'object',\n fields: [\n { name: 'commitment', wireKey: 'cmt', optional: false, codec: fixedBytes64Codec },\n { name: 'keyLifetime', wireKey: 'lf', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst ParticipantMeta: ObjectModelMetadata<Participant> = {\n name: 'Participant',\n kind: 'object',\n fields: [\n { name: 'verifier', wireKey: 'p', optional: false, codec: new ObjectModelCodec(MerkleSignatureVerifierMeta) },\n { name: 'weight', wireKey: 'w', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst RevealMeta: ObjectModelMetadata<Reveal> = {\n name: 'Reveal',\n kind: 'object',\n fields: [\n { name: 'sigslot', wireKey: 's', optional: false, codec: new ObjectModelCodec(SigslotCommitMeta) },\n { name: 'participant', wireKey: 'p', optional: false, codec: new ObjectModelCodec(ParticipantMeta) },\n ],\n}\n\nconst StateProofMeta: ObjectModelMetadata<StateProof> = {\n name: 'StateProof',\n kind: 'object',\n fields: [\n { name: 'sigCommit', wireKey: 'c', optional: false, codec: bytesCodec },\n { name: 'signedWeight', wireKey: 'w', optional: false, codec: bigIntCodec },\n { name: 'sigProofs', wireKey: 'S', optional: false, codec: new ObjectModelCodec(MerkleArrayProofMeta) },\n { name: 'partProofs', wireKey: 'P', optional: false, codec: new ObjectModelCodec(MerkleArrayProofMeta) },\n { name: 'merkleSignatureSaltVersion', wireKey: 'v', optional: false, codec: numberCodec },\n {\n name: 'reveals',\n wireKey: 'r',\n optional: false,\n codec: new MapCodec(bigIntCodec, new ObjectModelCodec(RevealMeta)),\n },\n { name: 'positionsToReveal', wireKey: 'pr', optional: false, codec: bigIntArrayCodec },\n ],\n}\n\nconst StateProofMessageMeta: ObjectModelMetadata<StateProofMessage> = {\n name: 'StateProofMessage',\n kind: 'object',\n fields: [\n { name: 'blockHeadersCommitment', wireKey: 'b', optional: false, codec: bytesCodec },\n { name: 'votersCommitment', wireKey: 'v', optional: false, codec: bytesCodec },\n { name: 'lnProvenWeight', wireKey: 'P', optional: false, codec: bigIntCodec },\n { name: 'firstAttestedRound', wireKey: 'f', optional: false, codec: bigIntCodec },\n { name: 'lastAttestedRound', wireKey: 'l', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst StateProofTransactionFieldsMeta: ObjectModelMetadata<StateProofTransactionFields> = {\n name: 'StateProofTransactionFields',\n kind: 'object',\n fields: [\n { name: 'stateProofType', wireKey: 'sptype', optional: false, codec: numberCodec },\n { name: 'stateProof', wireKey: 'sp', optional: true, codec: new ObjectModelCodec(StateProofMeta) },\n { name: 'message', wireKey: 'spmsg', optional: true, codec: new ObjectModelCodec(StateProofMessageMeta) },\n ],\n}\n\nconst HeartbeatProofMeta: ObjectModelMetadata<HeartbeatProof> = {\n name: 'HeartbeatProof',\n kind: 'object',\n fields: [\n { name: 'sig', wireKey: 's', optional: false, codec: fixedBytes64Codec },\n { name: 'pk', wireKey: 'p', optional: false, codec: fixedBytes32Codec },\n { name: 'pk2', wireKey: 'p2', optional: false, codec: fixedBytes32Codec },\n { name: 'pk1Sig', wireKey: 'p1s', optional: false, codec: fixedBytes64Codec },\n { name: 'pk2Sig', wireKey: 'p2s', optional: false, codec: fixedBytes64Codec },\n ],\n}\n\nconst HeartbeatTransactionFieldsMeta: ObjectModelMetadata<HeartbeatTransactionFields> = {\n name: 'HeartbeatTransactionFields',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'a', optional: false, codec: addressCodec },\n { name: 'proof', wireKey: 'prf', optional: false, codec: new ObjectModelCodec(HeartbeatProofMeta) },\n { name: 'seed', wireKey: 'sd', optional: false, codec: bytesCodec },\n { name: 'voteId', wireKey: 'vid', optional: false, codec: fixedBytes32Codec },\n { name: 'keyDilution', wireKey: 'kd', optional: false, codec: bigIntCodec },\n ],\n}\n\n/**\n * Metadata for TransactionParams\n */\nexport const TransactionParamsMeta: ObjectModelMetadata<TransactionParams> = {\n name: 'TransactionParams',\n kind: 'object',\n fields: [\n // Common transaction fields\n { name: 'type', wireKey: 'type', optional: false, codec: new TransactionTypeCodec() },\n { name: 'sender', wireKey: 'snd', optional: false, codec: addressCodec },\n { name: 'fee', wireKey: 'fee', optional: true, codec: bigIntCodec },\n { name: 'firstValid', wireKey: 'fv', optional: false, codec: bigIntCodec },\n { name: 'lastValid', wireKey: 'lv', optional: false, codec: bigIntCodec },\n { name: 'genesisHash', wireKey: 'gh', optional: true, codec: fixedBytes32Codec },\n { name: 'genesisId', wireKey: 'gen', optional: true, codec: stringCodec },\n { name: 'note', wireKey: 'note', optional: true, codec: bytesCodec },\n { name: 'rekeyTo', wireKey: 'rekey', optional: true, codec: addressCodec },\n { name: 'lease', wireKey: 'lx', optional: true, codec: fixedBytes32Codec },\n { name: 'group', wireKey: 'grp', optional: true, codec: fixedBytes32Codec },\n // Transaction type-specific fields (flattened)\n {\n name: 'payment',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.Payment, PaymentTransactionFieldsMeta),\n },\n {\n name: 'assetTransfer',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.AssetTransfer, AssetTransferTransactionFieldsMeta),\n },\n {\n name: 'assetFreeze',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.AssetFreeze, AssetFreezeTransactionFieldsMeta),\n },\n {\n name: 'keyRegistration',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.KeyRegistration, KeyRegistrationTransactionFieldsMeta),\n },\n {\n name: 'assetConfig',\n flattened: true,\n optional: true,\n codec: new AssetConfigDataCodec(),\n },\n {\n name: 'heartbeat',\n wireKey: 'hb',\n optional: true,\n // Heartbeat is not flattened and therefore does not need the type check for conditional decoding\n codec: new ObjectModelCodec(HeartbeatTransactionFieldsMeta),\n },\n {\n name: 'appCall',\n flattened: true,\n optional: true,\n codec: new AppCallDataCodec(),\n },\n {\n name: 'stateProof',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.StateProof, StateProofTransactionFieldsMeta),\n },\n ],\n}\n\nexport const transactionParamsCodec = new ObjectModelCodec<TransactionParams>(TransactionParamsMeta)\n"],"mappings":"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"}
1
+ {"version":3,"file":"transaction-meta.js","names":["Codec","normalizeWireString","ObjectModelCodec","bigIntCodec","addressCodec","Address","numberCodec","bytesCodec","normalizeWireObject","booleanCodec","fixedBytes32Codec","fixedBytes64Codec","stringCodec","bytesArrayCodec","addressArrayCodec","bigIntArrayCodec","fixedBytes1793Codec","MapCodec"],"sources":["../../../../../packages/transact/src/transactions/transaction-meta.ts"],"sourcesContent":["import type { EncodingFormat, ObjectModelMetadata, WireBigInt, WireObject, WireString } from '@algorandfoundation/algokit-common'\nimport {\n Address,\n Codec,\n MapCodec,\n ObjectModelCodec,\n addressArrayCodec,\n addressCodec,\n bigIntArrayCodec,\n bigIntCodec,\n booleanCodec,\n bytesArrayCodec,\n bytesCodec,\n fixedBytes1793Codec,\n fixedBytes32Codec,\n fixedBytes64Codec,\n normalizeWireObject,\n normalizeWireString,\n numberCodec,\n stringCodec,\n} from '@algorandfoundation/algokit-common'\nimport { AppCallTransactionFields, BoxReference, ResourceReference, StateSchema } from './app-call'\nimport { AssetConfigTransactionFields } from './asset-config'\nimport { AssetFreezeTransactionFields } from './asset-freeze'\nimport { AssetTransferTransactionFields } from './asset-transfer'\nimport { HeartbeatProof, HeartbeatTransactionFields } from './heartbeat'\nimport { KeyRegistrationTransactionFields } from './key-registration'\nimport { PaymentTransactionFields } from './payment'\nimport {\n FalconSignatureStruct,\n FalconVerifier,\n HashFactory,\n MerkleArrayProof,\n MerkleSignatureVerifier,\n Participant,\n Reveal,\n SigslotCommit,\n StateProof,\n StateProofMessage,\n StateProofTransactionFields,\n} from './state-proof'\nimport type { TransactionParams } from './transaction'\nimport { TransactionType } from './transaction-type'\n\ntype WireBoxReference = {\n /** App index (0 or index into access list) */\n i?: number\n /** Box name */\n n?: WireString\n}\n\ntype WireResourceReference = {\n /** Account address */\n d?: WireString\n\n /** App index */\n p?: WireBigInt\n\n /** Asset index */\n s?: WireBigInt\n\n /** Box reference */\n b?: WireBoxReference\n\n /** Holding reference (1-based indices into access list) */\n h?: {\n /** Address index */\n d?: number\n /** Asset index (1-based index into access list) */\n s?: number\n }\n\n /** Local state reference (1-based indices into access list) */\n l?: {\n /** Address index */\n d?: number\n /** App index (0 means current app, or 1-based index into access list) */\n p?: number\n }\n}\n\nclass TransactionTypeCodec extends Codec<TransactionType, string, WireString> {\n public defaultValue(): TransactionType {\n // This ensure that we never omit the transaction type, as a transaction should never be created with this value\n return TransactionType.Unknown\n }\n\n protected toEncoded(value: TransactionType, _format: EncodingFormat): string {\n switch (value) {\n case TransactionType.Payment:\n return 'pay'\n case TransactionType.AssetTransfer:\n return 'axfer'\n case TransactionType.AssetFreeze:\n return 'afrz'\n case TransactionType.AssetConfig:\n return 'acfg'\n case TransactionType.KeyRegistration:\n return 'keyreg'\n case TransactionType.AppCall:\n return 'appl'\n case TransactionType.StateProof:\n return 'stpf'\n case TransactionType.Heartbeat:\n return 'hb'\n default:\n return 'unknown'\n }\n }\n\n protected fromEncoded(value: WireString, _format: EncodingFormat): TransactionType {\n // Convert Uint8Array to string if needed (msgpack may return transaction type as bytes)\n const typeString = normalizeWireString(value)\n\n switch (typeString) {\n case 'pay':\n return TransactionType.Payment\n case 'axfer':\n return TransactionType.AssetTransfer\n case 'afrz':\n return TransactionType.AssetFreeze\n case 'acfg':\n return TransactionType.AssetConfig\n case 'keyreg':\n return TransactionType.KeyRegistration\n case 'appl':\n return TransactionType.AppCall\n case 'stpf':\n return TransactionType.StateProof\n case 'hb':\n return TransactionType.Heartbeat\n default:\n return TransactionType.Unknown\n }\n }\n}\n\nclass TransactionDataCodec<\n T extends\n | PaymentTransactionFields\n | AssetTransferTransactionFields\n | AssetFreezeTransactionFields\n | KeyRegistrationTransactionFields\n | StateProofTransactionFields,\n> extends Codec<T | undefined, Record<string, unknown>> {\n private transactionDataCodec: ObjectModelCodec<T>\n\n constructor(\n private readonly transactionType: TransactionType,\n transactionTypeDataMetadata: ObjectModelMetadata<T>,\n ) {\n super()\n this.transactionDataCodec = new ObjectModelCodec<T>(transactionTypeDataMetadata)\n }\n\n public defaultValue(): T | undefined {\n return undefined\n }\n\n protected toEncoded(value: T | undefined, format: EncodingFormat): Record<string, unknown> {\n if (!value) {\n throw new Error('Transaction data is missing')\n }\n return this.transactionDataCodec.encode(value, format)\n }\n\n protected fromEncoded(value: Record<string, unknown>, format: EncodingFormat): T | undefined {\n if (value.type === undefined) {\n throw new Error('Transaction is missing type field')\n }\n const type = normalizeWireString(value.type as WireString)\n if (type === this.transactionType.toString()) {\n return this.transactionDataCodec.decode(value, format)\n }\n\n return undefined\n }\n}\n\nclass AssetConfigDataCodec extends Codec<AssetConfigTransactionFields | undefined, Record<string, unknown>> {\n private assetParamsCodec = new ObjectModelCodec<Omit<AssetConfigTransactionFields, 'assetId'>>(AssetParamsMeta)\n\n public defaultValue(): AssetConfigTransactionFields | undefined {\n return undefined\n }\n\n protected toEncoded(value: AssetConfigTransactionFields | undefined, format: EncodingFormat): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n if (!value) {\n throw new Error('Transaction is not an asset config')\n }\n\n const { assetId, ...assetParams } = value\n\n const encodedAssetId = bigIntCodec.encodeOptional(assetId, format)\n if (encodedAssetId !== undefined) {\n result.caid = encodedAssetId\n }\n\n const encodedParams = this.assetParamsCodec.encodeOptional(assetParams, format)\n if (encodedParams && Object.keys(encodedParams).length > 0) {\n result.apar = encodedParams\n }\n\n return result\n }\n\n protected fromEncoded(value: Record<string, unknown>, format: EncodingFormat): AssetConfigTransactionFields | undefined {\n if (value.type === undefined) {\n throw new Error('Transaction is missing type field')\n }\n const type = normalizeWireString(value.type as WireString)\n const caid = value.caid as WireBigInt | undefined\n const apar = value.apar as WireObject | undefined\n\n if (type !== TransactionType.AssetConfig || (caid === undefined && !apar)) {\n return undefined\n }\n\n return {\n assetId: bigIntCodec.decode(caid, format),\n ...this.assetParamsCodec.decode(apar, format),\n } satisfies AssetConfigTransactionFields\n }\n\n public isDefaultValue(value: AssetConfigTransactionFields | undefined): boolean {\n return value === undefined\n }\n}\n\nclass AppCallDataCodec extends Codec<AppCallTransactionFields | undefined, Record<string, unknown>> {\n private appCallFieldsCodec = new ObjectModelCodec<Omit<AppCallTransactionFields, 'accessReferences' | 'boxReferences'>>(\n AppCallTransactionFieldsMeta,\n )\n\n public defaultValue(): AppCallTransactionFields | undefined {\n return undefined\n }\n\n private encodeResourceReferences(\n appId: bigint,\n resourceReferences: ResourceReference[] | undefined,\n format: EncodingFormat,\n ): WireResourceReference[] | undefined {\n if (!resourceReferences || resourceReferences.length === 0) return undefined\n\n const accessList: WireResourceReference[] = []\n\n // Helper to find or add a simple reference and return its 1-based index\n const ensure = (target: Pick<ResourceReference, 'address' | 'assetId' | 'appId'>): number => {\n // Search for existing entry\n for (let idx = 0; idx < accessList.length; idx++) {\n const entry = accessList[idx]\n const matchesAddress =\n (!entry.d && !target.address) || (entry.d && target.address && addressCodec.decode(entry.d, format).equals(target.address))\n const matchesAssetId =\n (entry.s === undefined && target.assetId === undefined) ||\n (entry.s !== undefined && target.assetId !== undefined && bigIntCodec.decode(entry.s, format) === target.assetId)\n const matchesAppId =\n (entry.p === undefined && target.appId === undefined) ||\n (entry.p !== undefined && target.appId !== undefined && bigIntCodec.decode(entry.p, format) === target.appId)\n\n if (matchesAddress && matchesAssetId && matchesAppId) {\n return idx + 1 // Return 1-based index\n }\n }\n\n // Add new entries for each field\n if (target.address && !target.address.equals(Address.zeroAddress())) {\n accessList.push({ d: addressCodec.encodeOptional(target.address, format)! })\n }\n if (target.assetId !== undefined) {\n accessList.push({ s: bigIntCodec.encodeOptional(target.assetId, format)! })\n }\n if (target.appId !== undefined) {\n accessList.push({ p: bigIntCodec.encodeOptional(target.appId, format)! })\n }\n\n return accessList.length // Return 1-based index of last added\n }\n\n // Process each access reference\n for (const resourceRef of resourceReferences) {\n // Simple references (address, assetId, or appId)\n if (resourceRef.address || resourceRef.assetId !== undefined || resourceRef.appId !== undefined) {\n ensure(resourceRef)\n continue\n }\n\n // Holding reference\n if (resourceRef.holding) {\n const holding = resourceRef.holding\n let addressIndex = 0\n if (holding.address && !holding.address.equals(Address.zeroAddress())) {\n addressIndex = ensure({ address: holding.address })\n }\n const assetIndex = ensure({ assetId: holding.assetId })\n accessList.push({\n h: {\n d: numberCodec.encodeOptional(addressIndex, format),\n s: numberCodec.encodeOptional(assetIndex, format),\n },\n })\n continue\n }\n\n // Locals reference\n if (resourceRef.locals) {\n const locals = resourceRef.locals\n let addressIndex = 0\n if (locals.address && !locals.address.equals(Address.zeroAddress())) {\n addressIndex = ensure({ address: locals.address })\n }\n\n let appIndex = 0\n if (locals.appId && locals.appId !== appId) {\n appIndex = ensure({ appId: locals.appId })\n }\n if (addressIndex !== 0 || appIndex !== 0) {\n accessList.push({\n l: {\n d: numberCodec.encodeOptional(addressIndex, format),\n p: numberCodec.encodeOptional(appIndex, format),\n },\n })\n }\n continue\n }\n\n // Box reference\n if (resourceRef.box) {\n const box = resourceRef.box\n // Only add appId to access list if it's different from the calling app's ID\n // Use appIndex = 0 when box is for the current app\n let appIndex = 0\n if (box.appId && box.appId !== appId) {\n appIndex = ensure({ appId: box.appId })\n }\n accessList.push({\n b: {\n i: numberCodec.encodeOptional(appIndex, format),\n n: bytesCodec.encodeOptional(box.name, format),\n },\n })\n continue\n }\n }\n\n return accessList.length > 0 ? accessList : undefined\n }\n\n private decodeResourceReferences(\n _wireResourceReferences: WireResourceReference[] | undefined,\n format: EncodingFormat,\n ): ResourceReference[] {\n if (!_wireResourceReferences || _wireResourceReferences.length === 0) return []\n\n const result: ResourceReference[] = []\n\n // Process each entry in the access list\n\n const wireResourceReferences = _wireResourceReferences.map((ref) => normalizeWireObject(ref))\n for (const ref of wireResourceReferences) {\n const d = ref.d as WireString | undefined\n const s = ref.s as WireBigInt | undefined\n const p = ref.p as WireBigInt | undefined\n const _h = ref.h as WireObject | undefined\n const h = _h ? normalizeWireObject(_h) : undefined\n const _l = ref.l as WireObject | undefined\n const l = _l ? normalizeWireObject(_l) : undefined\n const _b = ref.b as WireObject | undefined\n const b = _b ? normalizeWireObject(_b) : undefined\n\n // Simple address reference\n if (d) {\n result.push({ address: addressCodec.decode(d, format) })\n continue\n }\n\n // Simple asset ID reference\n if (s !== undefined) {\n result.push({ assetId: bigIntCodec.decode(s, format) })\n continue\n }\n\n // Simple app ID reference\n if (p !== undefined) {\n result.push({ appId: bigIntCodec.decode(p, format) })\n continue\n }\n\n // Holding reference (h)\n if (h) {\n const addrIdx = (h.d ?? 0) as number\n const assetIdx = h.s as number | undefined\n\n if (assetIdx === undefined) {\n throw new Error('Access list holding reference is missing asset index')\n }\n\n const holdingAddress =\n addrIdx === 0 ? Address.zeroAddress() : addressCodec.decode(wireResourceReferences[addrIdx - 1].d! as WireString, format)\n const holdingAssetId = wireResourceReferences[assetIdx - 1].s! as WireBigInt\n\n result.push({\n holding: {\n assetId: bigIntCodec.decode(holdingAssetId, format),\n address: holdingAddress,\n },\n })\n continue\n }\n\n // Locals reference (l)\n if (l) {\n const addrIdx = (l.d ?? 0) as number\n const appIdx = (l.p ?? 0) as number\n\n const localsAddress =\n addrIdx === 0 ? Address.zeroAddress() : addressCodec.decode(wireResourceReferences[addrIdx - 1].d! as WireString, format)\n const localsAppId = appIdx === 0 ? 0n : (wireResourceReferences[appIdx - 1].p! as WireBigInt)\n\n result.push({\n locals: {\n appId: bigIntCodec.decode(localsAppId, format),\n address: localsAddress,\n },\n })\n continue\n }\n\n // Box reference (b)\n if (b) {\n const boxAppIdx = (b.i ?? 0) as number\n const name = b.n as WireString | undefined\n\n if (!name) {\n throw new Error('Access list box reference is missing name')\n }\n\n const boxAppId = boxAppIdx === 0 ? 0n : (wireResourceReferences[boxAppIdx - 1].p! as WireBigInt)\n\n result.push({\n box: {\n appId: bigIntCodec.decode(boxAppId, format),\n name: bytesCodec.decode(name, format),\n },\n })\n continue\n }\n }\n\n return result\n }\n\n private encodeBoxReferences(\n appId: bigint,\n appReferences: bigint[] | undefined,\n boxReferences: BoxReference[] | undefined,\n format: EncodingFormat,\n ): WireBoxReference[] | undefined {\n if (!boxReferences || boxReferences.length === 0) return undefined\n\n const appRefs = appReferences ?? []\n\n return boxReferences.map((box) => {\n const isCurrentApp = box.appId === 0n || box.appId === appId\n // Index 0 means current app, index > 0 references foreign apps array (1-indexed)\n const index = isCurrentApp ? 0 : appRefs.indexOf(box.appId) + 1\n\n if (index === 0 && !isCurrentApp) {\n throw new Error(`Box ref with appId ${box.appId} not in appReferences`)\n }\n\n return {\n i: numberCodec.encodeOptional(index, format), // This returns undefined when index is 0, which omits the field\n n: bytesCodec.encodeOptional(box.name, format),\n }\n })\n }\n\n private decodeBoxReferences(\n appReferences: bigint[] | undefined,\n wireBoxReferences: WireBoxReference[] | undefined,\n format: EncodingFormat,\n ): BoxReference[] {\n if (!wireBoxReferences || wireBoxReferences.length === 0) return []\n\n return wireBoxReferences.map((_box) => {\n const box = normalizeWireObject(_box)\n const boxIndex = box.i as number | undefined\n const boxName = box.n as WireString | undefined\n\n const index = boxIndex ?? 0\n\n let appId: bigint\n if (index === 0) {\n // 0 means current app\n appId = 0n\n } else {\n // 1-based index into foreignApps array\n const foreignAppId = appReferences?.[index - 1]\n if (foreignAppId === undefined) {\n throw new Error(`Failed to find the app reference at index ${index - 1}`)\n }\n appId = bigIntCodec.decode(foreignAppId, format)\n }\n\n return {\n appId,\n name: bytesCodec.decode(boxName, format),\n }\n })\n }\n\n protected toEncoded(value: AppCallTransactionFields | undefined, format: EncodingFormat): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n if (!value) {\n throw new Error('Transaction is not an app call')\n }\n\n const encodedParams = this.appCallFieldsCodec.encodeOptional(value, format)\n if (encodedParams && Object.keys(encodedParams).length > 0) {\n Object.assign(result, encodedParams)\n }\n\n const wireBoxReferences = this.encodeBoxReferences(value.appId, value.appReferences, value.boxReferences, format)\n if (wireBoxReferences) {\n result.apbx = wireBoxReferences\n }\n\n const wireAccessReferences = this.encodeResourceReferences(value.appId, value.accessReferences, format)\n if (wireAccessReferences) {\n result.al = wireAccessReferences\n }\n\n return result\n }\n\n protected fromEncoded(value: Record<string, unknown>, format: EncodingFormat): AppCallTransactionFields | undefined {\n if (value.type === undefined) {\n throw new Error('Transaction is missing type field')\n }\n const type = normalizeWireString(value.type as WireString)\n if (type !== TransactionType.AppCall) {\n return undefined\n }\n\n const appReferences = value.apfa as WireBigInt[] | undefined\n const wireBoxReferences = value.apbx as WireBoxReference[] | undefined\n const wireAccessReferences = value.al as WireResourceReference[] | undefined\n const boxReferences = this.decodeBoxReferences(\n appReferences?.map((ar) => bigIntCodec.decode(ar, format)),\n wireBoxReferences,\n format,\n )\n const accessReferences = this.decodeResourceReferences(wireAccessReferences, format)\n\n return {\n ...this.appCallFieldsCodec.decode(value, format),\n ...(accessReferences.length > 0 && { accessReferences }),\n ...(boxReferences.length > 0 && { boxReferences }),\n } satisfies AppCallTransactionFields\n }\n\n public isDefaultValue(value: AppCallTransactionFields | undefined): boolean {\n return value === undefined\n }\n}\n\nconst PaymentTransactionFieldsMeta: ObjectModelMetadata<PaymentTransactionFields> = {\n name: 'PaymentTransactionFields',\n kind: 'object',\n fields: [\n { name: 'amount', wireKey: 'amt', optional: false, codec: bigIntCodec },\n { name: 'receiver', wireKey: 'rcv', optional: false, codec: addressCodec },\n { name: 'closeRemainderTo', wireKey: 'close', optional: true, codec: addressCodec },\n ],\n}\n\nconst AssetTransferTransactionFieldsMeta: ObjectModelMetadata<AssetTransferTransactionFields> = {\n name: 'AssetTransferTransactionFields',\n kind: 'object',\n fields: [\n { name: 'assetId', wireKey: 'xaid', optional: false, codec: bigIntCodec },\n { name: 'amount', wireKey: 'aamt', optional: false, codec: bigIntCodec },\n { name: 'receiver', wireKey: 'arcv', optional: false, codec: addressCodec },\n { name: 'assetSender', wireKey: 'asnd', optional: true, codec: addressCodec },\n { name: 'closeRemainderTo', wireKey: 'aclose', optional: true, codec: addressCodec },\n ],\n}\n\nconst AssetFreezeTransactionFieldsMeta: ObjectModelMetadata<AssetFreezeTransactionFields> = {\n name: 'AssetFreezeTransactionFields',\n kind: 'object',\n fields: [\n { name: 'assetId', wireKey: 'faid', optional: false, codec: bigIntCodec },\n { name: 'freezeTarget', wireKey: 'fadd', optional: false, codec: addressCodec },\n { name: 'frozen', wireKey: 'afrz', optional: false, codec: booleanCodec },\n ],\n}\n\nconst KeyRegistrationTransactionFieldsMeta: ObjectModelMetadata<KeyRegistrationTransactionFields> = {\n name: 'KeyRegistrationTransactionFields',\n kind: 'object',\n fields: [\n { name: 'voteKey', wireKey: 'votekey', optional: true, codec: fixedBytes32Codec },\n { name: 'selectionKey', wireKey: 'selkey', optional: true, codec: fixedBytes32Codec },\n { name: 'stateProofKey', wireKey: 'sprfkey', optional: true, codec: fixedBytes64Codec },\n { name: 'voteFirst', wireKey: 'votefst', optional: true, codec: bigIntCodec },\n { name: 'voteLast', wireKey: 'votelst', optional: true, codec: bigIntCodec },\n { name: 'voteKeyDilution', wireKey: 'votekd', optional: true, codec: bigIntCodec },\n { name: 'nonParticipation', wireKey: 'nonpart', optional: true, codec: booleanCodec },\n ],\n}\n\nconst AssetParamsMeta: ObjectModelMetadata<Omit<AssetConfigTransactionFields, 'assetId'>> = {\n name: 'AssetParams',\n kind: 'object',\n fields: [\n { name: 'total', wireKey: 't', optional: true, codec: bigIntCodec },\n { name: 'decimals', wireKey: 'dc', optional: true, codec: numberCodec },\n { name: 'defaultFrozen', wireKey: 'df', optional: true, codec: booleanCodec },\n { name: 'unitName', wireKey: 'un', optional: true, codec: stringCodec },\n { name: 'assetName', wireKey: 'an', optional: true, codec: stringCodec },\n { name: 'url', wireKey: 'au', optional: true, codec: stringCodec },\n { name: 'metadataHash', wireKey: 'am', optional: true, codec: fixedBytes32Codec },\n { name: 'manager', wireKey: 'm', optional: true, codec: addressCodec },\n { name: 'reserve', wireKey: 'r', optional: true, codec: addressCodec },\n { name: 'freeze', wireKey: 'f', optional: true, codec: addressCodec },\n { name: 'clawback', wireKey: 'c', optional: true, codec: addressCodec },\n ],\n}\n\nconst StateSchemaMeta: ObjectModelMetadata<StateSchema> = {\n name: 'StateSchema',\n kind: 'object',\n fields: [\n { name: 'numUints', wireKey: 'nui', optional: false, codec: numberCodec },\n { name: 'numByteSlices', wireKey: 'nbs', optional: false, codec: numberCodec },\n ],\n}\n\nconst AppCallTransactionFieldsMeta: ObjectModelMetadata<AppCallTransactionFields> = {\n name: 'AppCallTransactionFields',\n kind: 'object',\n fields: [\n { name: 'appId', wireKey: 'apid', optional: false, codec: bigIntCodec },\n { name: 'onComplete', wireKey: 'apan', optional: false, codec: numberCodec },\n { name: 'approvalProgram', wireKey: 'apap', optional: true, codec: bytesCodec },\n { name: 'clearStateProgram', wireKey: 'apsu', optional: true, codec: bytesCodec },\n {\n name: 'globalStateSchema',\n wireKey: 'apgs',\n optional: true,\n codec: new ObjectModelCodec(StateSchemaMeta),\n },\n {\n name: 'localStateSchema',\n wireKey: 'apls',\n optional: true,\n codec: new ObjectModelCodec(StateSchemaMeta),\n },\n { name: 'extraProgramPages', wireKey: 'apep', optional: true, codec: numberCodec },\n { name: 'args', wireKey: 'apaa', optional: true, codec: bytesArrayCodec },\n { name: 'accountReferences', wireKey: 'apat', optional: true, codec: addressArrayCodec },\n { name: 'appReferences', wireKey: 'apfa', optional: true, codec: bigIntArrayCodec },\n { name: 'assetReferences', wireKey: 'apas', optional: true, codec: bigIntArrayCodec },\n { name: 'rejectVersion', wireKey: 'aprv', optional: true, codec: numberCodec },\n // boxReferences and accessReferences are handled by the parent codec, as they require more complex mappings\n ],\n}\n\nconst HashFactoryMeta: ObjectModelMetadata<HashFactory> = {\n name: 'HashFactory',\n kind: 'object',\n fields: [{ name: 'hashType', wireKey: 't', optional: false, codec: numberCodec }],\n}\n\nconst MerkleArrayProofMeta: ObjectModelMetadata<MerkleArrayProof> = {\n name: 'MerkleArrayProof',\n kind: 'object',\n fields: [\n { name: 'path', wireKey: 'pth', optional: false, codec: bytesArrayCodec },\n { name: 'hashFactory', wireKey: 'hsh', optional: false, codec: new ObjectModelCodec(HashFactoryMeta) },\n { name: 'treeDepth', wireKey: 'td', optional: false, codec: numberCodec },\n ],\n}\n\nconst FalconVerifierMeta: ObjectModelMetadata<FalconVerifier> = {\n name: 'FalconVerifier',\n kind: 'object',\n fields: [{ name: 'publicKey', wireKey: 'k', optional: false, codec: fixedBytes1793Codec }],\n}\n\nconst FalconSignatureStructMeta: ObjectModelMetadata<FalconSignatureStruct> = {\n name: 'FalconSignatureStruct',\n kind: 'object',\n fields: [\n { name: 'signature', wireKey: 'sig', optional: false, codec: bytesCodec },\n { name: 'vectorCommitmentIndex', wireKey: 'idx', optional: false, codec: bigIntCodec },\n { name: 'proof', wireKey: 'prf', optional: false, codec: new ObjectModelCodec(MerkleArrayProofMeta) },\n { name: 'verifyingKey', wireKey: 'vkey', optional: false, codec: new ObjectModelCodec(FalconVerifierMeta) },\n ],\n}\n\nconst SigslotCommitMeta: ObjectModelMetadata<SigslotCommit> = {\n name: 'SigslotCommit',\n kind: 'object',\n fields: [\n { name: 'sig', wireKey: 's', optional: false, codec: new ObjectModelCodec(FalconSignatureStructMeta) },\n { name: 'lowerSigWeight', wireKey: 'l', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst MerkleSignatureVerifierMeta: ObjectModelMetadata<MerkleSignatureVerifier> = {\n name: 'MerkleSignatureVerifier',\n kind: 'object',\n fields: [\n { name: 'commitment', wireKey: 'cmt', optional: false, codec: fixedBytes64Codec },\n { name: 'keyLifetime', wireKey: 'lf', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst ParticipantMeta: ObjectModelMetadata<Participant> = {\n name: 'Participant',\n kind: 'object',\n fields: [\n { name: 'verifier', wireKey: 'p', optional: false, codec: new ObjectModelCodec(MerkleSignatureVerifierMeta) },\n { name: 'weight', wireKey: 'w', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst RevealMeta: ObjectModelMetadata<Reveal> = {\n name: 'Reveal',\n kind: 'object',\n fields: [\n { name: 'sigslot', wireKey: 's', optional: false, codec: new ObjectModelCodec(SigslotCommitMeta) },\n { name: 'participant', wireKey: 'p', optional: false, codec: new ObjectModelCodec(ParticipantMeta) },\n ],\n}\n\nconst StateProofMeta: ObjectModelMetadata<StateProof> = {\n name: 'StateProof',\n kind: 'object',\n fields: [\n { name: 'sigCommit', wireKey: 'c', optional: false, codec: bytesCodec },\n { name: 'signedWeight', wireKey: 'w', optional: false, codec: bigIntCodec },\n { name: 'sigProofs', wireKey: 'S', optional: false, codec: new ObjectModelCodec(MerkleArrayProofMeta) },\n { name: 'partProofs', wireKey: 'P', optional: false, codec: new ObjectModelCodec(MerkleArrayProofMeta) },\n { name: 'merkleSignatureSaltVersion', wireKey: 'v', optional: false, codec: numberCodec },\n {\n name: 'reveals',\n wireKey: 'r',\n optional: false,\n codec: new MapCodec(bigIntCodec, new ObjectModelCodec(RevealMeta)),\n },\n { name: 'positionsToReveal', wireKey: 'pr', optional: false, codec: bigIntArrayCodec },\n ],\n}\n\nconst StateProofMessageMeta: ObjectModelMetadata<StateProofMessage> = {\n name: 'StateProofMessage',\n kind: 'object',\n fields: [\n { name: 'blockHeadersCommitment', wireKey: 'b', optional: false, codec: bytesCodec },\n { name: 'votersCommitment', wireKey: 'v', optional: false, codec: bytesCodec },\n { name: 'lnProvenWeight', wireKey: 'P', optional: false, codec: bigIntCodec },\n { name: 'firstAttestedRound', wireKey: 'f', optional: false, codec: bigIntCodec },\n { name: 'lastAttestedRound', wireKey: 'l', optional: false, codec: bigIntCodec },\n ],\n}\n\nconst StateProofTransactionFieldsMeta: ObjectModelMetadata<StateProofTransactionFields> = {\n name: 'StateProofTransactionFields',\n kind: 'object',\n fields: [\n { name: 'stateProofType', wireKey: 'sptype', optional: false, codec: numberCodec },\n { name: 'stateProof', wireKey: 'sp', optional: true, codec: new ObjectModelCodec(StateProofMeta) },\n { name: 'message', wireKey: 'spmsg', optional: true, codec: new ObjectModelCodec(StateProofMessageMeta) },\n ],\n}\n\nconst HeartbeatProofMeta: ObjectModelMetadata<HeartbeatProof> = {\n name: 'HeartbeatProof',\n kind: 'object',\n fields: [\n { name: 'sig', wireKey: 's', optional: false, codec: fixedBytes64Codec },\n { name: 'pk', wireKey: 'p', optional: false, codec: fixedBytes32Codec },\n { name: 'pk2', wireKey: 'p2', optional: false, codec: fixedBytes32Codec },\n { name: 'pk1Sig', wireKey: 'p1s', optional: false, codec: fixedBytes64Codec },\n { name: 'pk2Sig', wireKey: 'p2s', optional: false, codec: fixedBytes64Codec },\n ],\n}\n\nconst HeartbeatTransactionFieldsMeta: ObjectModelMetadata<HeartbeatTransactionFields> = {\n name: 'HeartbeatTransactionFields',\n kind: 'object',\n fields: [\n { name: 'address', wireKey: 'a', optional: false, codec: addressCodec },\n { name: 'proof', wireKey: 'prf', optional: false, codec: new ObjectModelCodec(HeartbeatProofMeta) },\n { name: 'seed', wireKey: 'sd', optional: false, codec: bytesCodec },\n { name: 'voteId', wireKey: 'vid', optional: false, codec: fixedBytes32Codec },\n { name: 'keyDilution', wireKey: 'kd', optional: false, codec: bigIntCodec },\n ],\n}\n\n/**\n * Metadata for TransactionParams\n */\nexport const TransactionParamsMeta: ObjectModelMetadata<TransactionParams> = {\n name: 'TransactionParams',\n kind: 'object',\n fields: [\n // Common transaction fields\n { name: 'type', wireKey: 'type', optional: false, codec: new TransactionTypeCodec() },\n { name: 'sender', wireKey: 'snd', optional: false, codec: addressCodec },\n { name: 'fee', wireKey: 'fee', optional: true, codec: bigIntCodec },\n { name: 'firstValid', wireKey: 'fv', optional: false, codec: bigIntCodec },\n { name: 'lastValid', wireKey: 'lv', optional: false, codec: bigIntCodec },\n { name: 'genesisHash', wireKey: 'gh', optional: true, codec: fixedBytes32Codec },\n { name: 'genesisId', wireKey: 'gen', optional: true, codec: stringCodec },\n { name: 'note', wireKey: 'note', optional: true, codec: bytesCodec },\n { name: 'rekeyTo', wireKey: 'rekey', optional: true, codec: addressCodec },\n { name: 'lease', wireKey: 'lx', optional: true, codec: fixedBytes32Codec },\n { name: 'group', wireKey: 'grp', optional: true, codec: fixedBytes32Codec },\n // Transaction type-specific fields (flattened)\n {\n name: 'payment',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.Payment, PaymentTransactionFieldsMeta),\n },\n {\n name: 'assetTransfer',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.AssetTransfer, AssetTransferTransactionFieldsMeta),\n },\n {\n name: 'assetFreeze',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.AssetFreeze, AssetFreezeTransactionFieldsMeta),\n },\n {\n name: 'keyRegistration',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.KeyRegistration, KeyRegistrationTransactionFieldsMeta),\n },\n {\n name: 'assetConfig',\n flattened: true,\n optional: true,\n codec: new AssetConfigDataCodec(),\n },\n {\n name: 'heartbeat',\n wireKey: 'hb',\n optional: true,\n // Heartbeat is not flattened and therefore does not need the type check for conditional decoding\n codec: new ObjectModelCodec(HeartbeatTransactionFieldsMeta),\n },\n {\n name: 'appCall',\n flattened: true,\n optional: true,\n codec: new AppCallDataCodec(),\n },\n {\n name: 'stateProof',\n flattened: true,\n optional: true,\n codec: new TransactionDataCodec(TransactionType.StateProof, StateProofTransactionFieldsMeta),\n },\n ],\n}\n\nexport const transactionParamsCodec = new ObjectModelCodec<TransactionParams>(TransactionParamsMeta)\n"],"mappings":"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"}