@hashgraphonline/standards-sdk 0.1.144 → 0.1.146-chore-jsr-improvements.canary.74bacb9.89

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 (442) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  4. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  5. package/dist/cjs/hcs-11/client.d.ts +2 -2
  6. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  7. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  8. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  9. package/dist/cjs/hcs-11/types.d.ts +1 -0
  10. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  11. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  12. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-15/browser.d.ts +2 -0
  14. package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
  15. package/dist/cjs/hcs-15/sdk.d.ts +7 -1
  16. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  17. package/dist/cjs/hcs-15/tx.d.ts +4 -0
  18. package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
  19. package/dist/cjs/hcs-15/types.d.ts +16 -1
  20. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  21. package/dist/cjs/hcs-16/browser.d.ts +11 -2
  22. package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
  23. package/dist/cjs/hcs-16/sdk.d.ts +62 -1
  24. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  25. package/dist/cjs/hcs-16/tx.d.ts +21 -3
  26. package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
  27. package/dist/cjs/hcs-17/base-client.d.ts +1 -0
  28. package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
  29. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  30. package/dist/cjs/hcs-17/tx.d.ts +2 -0
  31. package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
  32. package/dist/cjs/hcs-17/types.d.ts +4 -0
  33. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  34. package/dist/cjs/hcs-3/src/types.d.ts +60 -0
  35. package/dist/cjs/hcs-3/src/types.d.ts.map +1 -0
  36. package/dist/cjs/hcs-7/types.d.ts +4 -4
  37. package/dist/cjs/index.d.ts.map +1 -1
  38. package/dist/cjs/inscribe/inscriber.d.ts +89 -0
  39. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  40. package/dist/cjs/jsr-entry.d.ts +16 -0
  41. package/dist/cjs/jsr-entry.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
  43. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  44. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  45. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts +24 -0
  47. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/index.d.ts +1 -0
  49. package/dist/cjs/services/registry-broker/index.d.ts.map +1 -1
  50. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  51. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  52. package/dist/cjs/services/registry-broker/schemas.d.ts +1010 -586
  53. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  54. package/dist/cjs/services/registry-broker/types.d.ts +20 -1
  55. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  56. package/dist/cjs/standards-sdk.cjs +3 -3
  57. package/dist/cjs/standards-sdk.cjs.map +1 -1
  58. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  59. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  60. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  61. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  62. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  63. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  64. package/dist/es/hcs-10/sdk.d.ts +8 -0
  65. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  66. package/dist/es/hcs-11/client.d.ts +2 -2
  67. package/dist/es/hcs-11/client.d.ts.map +1 -1
  68. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  69. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  70. package/dist/es/hcs-11/types.d.ts +1 -0
  71. package/dist/es/hcs-11/types.d.ts.map +1 -1
  72. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  73. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  74. package/dist/es/hcs-15/browser.d.ts +2 -0
  75. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  76. package/dist/es/hcs-15/sdk.d.ts +7 -1
  77. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  78. package/dist/es/hcs-15/tx.d.ts +4 -0
  79. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  80. package/dist/es/hcs-15/types.d.ts +16 -1
  81. package/dist/es/hcs-15/types.d.ts.map +1 -1
  82. package/dist/es/hcs-16/browser.d.ts +11 -2
  83. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  84. package/dist/es/hcs-16/sdk.d.ts +62 -1
  85. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  86. package/dist/es/hcs-16/tx.d.ts +21 -3
  87. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  88. package/dist/es/hcs-17/base-client.d.ts +1 -0
  89. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  90. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  91. package/dist/es/hcs-17/tx.d.ts +2 -0
  92. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  93. package/dist/es/hcs-17/types.d.ts +4 -0
  94. package/dist/es/hcs-17/types.d.ts.map +1 -1
  95. package/dist/es/hcs-3/src/types.d.ts +60 -0
  96. package/dist/es/hcs-3/src/types.d.ts.map +1 -0
  97. package/dist/es/hcs-7/types.d.ts +4 -4
  98. package/dist/es/index.d.ts.map +1 -1
  99. package/dist/es/inscribe/inscriber.d.ts +89 -0
  100. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  101. package/dist/es/jsr-entry.d.ts +16 -0
  102. package/dist/es/jsr-entry.d.ts.map +1 -0
  103. package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
  104. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  105. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  106. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  107. package/dist/es/services/registry-broker/hol-chat-ops.d.ts +24 -0
  108. package/dist/es/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  109. package/dist/es/services/registry-broker/index.d.ts +1 -0
  110. package/dist/es/services/registry-broker/index.d.ts.map +1 -1
  111. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  112. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  113. package/dist/es/services/registry-broker/schemas.d.ts +1010 -586
  114. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  115. package/dist/es/services/registry-broker/types.d.ts +20 -1
  116. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  117. package/dist/es/standards-sdk.es.js +146 -131
  118. package/dist/es/standards-sdk.es10.js +70 -90
  119. package/dist/es/standards-sdk.es10.js.map +1 -1
  120. package/dist/es/standards-sdk.es100.js +229 -26
  121. package/dist/es/standards-sdk.es100.js.map +1 -1
  122. package/dist/es/standards-sdk.es101.js +109 -228
  123. package/dist/es/standards-sdk.es101.js.map +1 -1
  124. package/dist/es/standards-sdk.es102.js +15 -94
  125. package/dist/es/standards-sdk.es102.js.map +1 -1
  126. package/dist/es/standards-sdk.es103.js +80 -30
  127. package/dist/es/standards-sdk.es103.js.map +1 -1
  128. package/dist/es/standards-sdk.es104.js +27 -80
  129. package/dist/es/standards-sdk.es104.js.map +1 -1
  130. package/dist/es/standards-sdk.es105.js +136 -25
  131. package/dist/es/standards-sdk.es105.js.map +1 -1
  132. package/dist/es/standards-sdk.es106.js +27 -140
  133. package/dist/es/standards-sdk.es106.js.map +1 -1
  134. package/dist/es/standards-sdk.es107.js +20 -27
  135. package/dist/es/standards-sdk.es107.js.map +1 -1
  136. package/dist/es/standards-sdk.es108.js +156 -18
  137. package/dist/es/standards-sdk.es108.js.map +1 -1
  138. package/dist/es/standards-sdk.es109.js +198 -148
  139. package/dist/es/standards-sdk.es109.js.map +1 -1
  140. package/dist/es/standards-sdk.es11.js +121 -45
  141. package/dist/es/standards-sdk.es11.js.map +1 -1
  142. package/dist/es/standards-sdk.es110.js +747 -166
  143. package/dist/es/standards-sdk.es110.js.map +1 -1
  144. package/dist/es/standards-sdk.es111.js +9 -786
  145. package/dist/es/standards-sdk.es111.js.map +1 -1
  146. package/dist/es/standards-sdk.es112.js +567 -13
  147. package/dist/es/standards-sdk.es112.js.map +1 -1
  148. package/dist/es/standards-sdk.es113.js +576 -541
  149. package/dist/es/standards-sdk.es113.js.map +1 -1
  150. package/dist/es/standards-sdk.es114.js +12 -601
  151. package/dist/es/standards-sdk.es114.js.map +1 -1
  152. package/dist/es/standards-sdk.es115.js +2 -13
  153. package/dist/es/standards-sdk.es115.js.map +1 -1
  154. package/dist/es/standards-sdk.es116.js +87 -2
  155. package/dist/es/standards-sdk.es116.js.map +1 -1
  156. package/dist/es/standards-sdk.es117.js +37 -80
  157. package/dist/es/standards-sdk.es117.js.map +1 -1
  158. package/dist/es/standards-sdk.es118.js +2 -39
  159. package/dist/es/standards-sdk.es118.js.map +1 -1
  160. package/dist/es/standards-sdk.es119.js +231 -2
  161. package/dist/es/standards-sdk.es119.js.map +1 -1
  162. package/dist/es/standards-sdk.es12.js +60 -159
  163. package/dist/es/standards-sdk.es12.js.map +1 -1
  164. package/dist/es/standards-sdk.es120.js +1110 -193
  165. package/dist/es/standards-sdk.es120.js.map +1 -1
  166. package/dist/es/standards-sdk.es121.js +225 -1059
  167. package/dist/es/standards-sdk.es121.js.map +1 -1
  168. package/dist/es/standards-sdk.es122.js +419 -303
  169. package/dist/es/standards-sdk.es122.js.map +1 -1
  170. package/dist/es/standards-sdk.es123.js +351 -418
  171. package/dist/es/standards-sdk.es123.js.map +1 -1
  172. package/dist/es/standards-sdk.es124.js +1109 -347
  173. package/dist/es/standards-sdk.es124.js.map +1 -1
  174. package/dist/es/standards-sdk.es125.js +182 -854
  175. package/dist/es/standards-sdk.es125.js.map +1 -1
  176. package/dist/es/standards-sdk.es126.js +1512 -153
  177. package/dist/es/standards-sdk.es126.js.map +1 -1
  178. package/dist/es/standards-sdk.es127.js +157 -1547
  179. package/dist/es/standards-sdk.es127.js.map +1 -1
  180. package/dist/es/standards-sdk.es128.js +192 -162
  181. package/dist/es/standards-sdk.es128.js.map +1 -1
  182. package/dist/es/standards-sdk.es129.js +61 -164
  183. package/dist/es/standards-sdk.es129.js.map +1 -1
  184. package/dist/es/standards-sdk.es13.js +200 -60
  185. package/dist/es/standards-sdk.es13.js.map +1 -1
  186. package/dist/es/standards-sdk.es130.js +102 -85
  187. package/dist/es/standards-sdk.es130.js.map +1 -1
  188. package/dist/es/standards-sdk.es131.js +222 -96
  189. package/dist/es/standards-sdk.es131.js.map +1 -1
  190. package/dist/es/standards-sdk.es132.js +153 -220
  191. package/dist/es/standards-sdk.es132.js.map +1 -1
  192. package/dist/es/standards-sdk.es133.js +104 -162
  193. package/dist/es/standards-sdk.es133.js.map +1 -1
  194. package/dist/es/standards-sdk.es134.js +296 -92
  195. package/dist/es/standards-sdk.es134.js.map +1 -1
  196. package/dist/es/standards-sdk.es135.js +432 -294
  197. package/dist/es/standards-sdk.es135.js.map +1 -1
  198. package/dist/es/standards-sdk.es136.js +14 -363
  199. package/dist/es/standards-sdk.es136.js.map +1 -1
  200. package/dist/es/standards-sdk.es137.js +79 -15
  201. package/dist/es/standards-sdk.es137.js.map +1 -1
  202. package/dist/es/standards-sdk.es138.js +79 -59
  203. package/dist/es/standards-sdk.es138.js.map +1 -1
  204. package/dist/es/standards-sdk.es139.js +53 -80
  205. package/dist/es/standards-sdk.es139.js.map +1 -1
  206. package/dist/es/standards-sdk.es14.js +149 -178
  207. package/dist/es/standards-sdk.es14.js.map +1 -1
  208. package/dist/es/standards-sdk.es140.js +1 -1
  209. package/dist/es/standards-sdk.es142.js +1 -1
  210. package/dist/es/standards-sdk.es143.js +1 -1
  211. package/dist/es/standards-sdk.es144.js +30 -28
  212. package/dist/es/standards-sdk.es144.js.map +1 -1
  213. package/dist/es/standards-sdk.es145.js +34 -138
  214. package/dist/es/standards-sdk.es145.js.map +1 -1
  215. package/dist/es/standards-sdk.es146.js +28 -42
  216. package/dist/es/standards-sdk.es146.js.map +1 -1
  217. package/dist/es/standards-sdk.es147.js +105 -12256
  218. package/dist/es/standards-sdk.es147.js.map +1 -1
  219. package/dist/es/standards-sdk.es148.js +40 -15
  220. package/dist/es/standards-sdk.es148.js.map +1 -1
  221. package/dist/es/standards-sdk.es149.js +959 -56
  222. package/dist/es/standards-sdk.es149.js.map +1 -1
  223. package/dist/es/standards-sdk.es15.js +152 -151
  224. package/dist/es/standards-sdk.es15.js.map +1 -1
  225. package/dist/es/standards-sdk.es150.js +12264 -57
  226. package/dist/es/standards-sdk.es150.js.map +1 -1
  227. package/dist/es/standards-sdk.es151.js +51 -167
  228. package/dist/es/standards-sdk.es151.js.map +1 -1
  229. package/dist/es/standards-sdk.es152.js +70 -308
  230. package/dist/es/standards-sdk.es152.js.map +1 -1
  231. package/dist/es/standards-sdk.es153.js +13 -342
  232. package/dist/es/standards-sdk.es153.js.map +1 -1
  233. package/dist/es/standards-sdk.es154.js +129 -410
  234. package/dist/es/standards-sdk.es154.js.map +1 -1
  235. package/dist/es/standards-sdk.es155.js +200 -209
  236. package/dist/es/standards-sdk.es155.js.map +1 -1
  237. package/dist/es/standards-sdk.es156.js +334 -64
  238. package/dist/es/standards-sdk.es156.js.map +1 -1
  239. package/dist/es/standards-sdk.es157.js +453 -871
  240. package/dist/es/standards-sdk.es157.js.map +1 -1
  241. package/dist/es/standards-sdk.es158.js +314 -222
  242. package/dist/es/standards-sdk.es158.js.map +1 -1
  243. package/dist/es/standards-sdk.es159.js +60 -228
  244. package/dist/es/standards-sdk.es159.js.map +1 -1
  245. package/dist/es/standards-sdk.es16.js +917 -136
  246. package/dist/es/standards-sdk.es16.js.map +1 -1
  247. package/dist/es/standards-sdk.es160.js +242 -0
  248. package/dist/es/standards-sdk.es160.js.map +1 -0
  249. package/dist/es/standards-sdk.es161.js +247 -0
  250. package/dist/es/standards-sdk.es161.js.map +1 -0
  251. package/dist/es/standards-sdk.es17.js +23 -944
  252. package/dist/es/standards-sdk.es17.js.map +1 -1
  253. package/dist/es/standards-sdk.es18.js +2422 -24
  254. package/dist/es/standards-sdk.es18.js.map +1 -1
  255. package/dist/es/standards-sdk.es19.js +817 -2071
  256. package/dist/es/standards-sdk.es19.js.map +1 -1
  257. package/dist/es/standards-sdk.es2.js +654 -189
  258. package/dist/es/standards-sdk.es2.js.map +1 -1
  259. package/dist/es/standards-sdk.es20.js +205 -1091
  260. package/dist/es/standards-sdk.es20.js.map +1 -1
  261. package/dist/es/standards-sdk.es21.js +858 -221
  262. package/dist/es/standards-sdk.es21.js.map +1 -1
  263. package/dist/es/standards-sdk.es22.js +179 -903
  264. package/dist/es/standards-sdk.es22.js.map +1 -1
  265. package/dist/es/standards-sdk.es23.js +164 -179
  266. package/dist/es/standards-sdk.es23.js.map +1 -1
  267. package/dist/es/standards-sdk.es24.js +62 -118
  268. package/dist/es/standards-sdk.es24.js.map +1 -1
  269. package/dist/es/standards-sdk.es25.js +377 -52
  270. package/dist/es/standards-sdk.es25.js.map +1 -1
  271. package/dist/es/standards-sdk.es26.js +36 -394
  272. package/dist/es/standards-sdk.es26.js.map +1 -1
  273. package/dist/es/standards-sdk.es27.js +901 -50
  274. package/dist/es/standards-sdk.es27.js.map +1 -1
  275. package/dist/es/standards-sdk.es28.js +134 -902
  276. package/dist/es/standards-sdk.es28.js.map +1 -1
  277. package/dist/es/standards-sdk.es29.js +7 -134
  278. package/dist/es/standards-sdk.es29.js.map +1 -1
  279. package/dist/es/standards-sdk.es3.js +63 -680
  280. package/dist/es/standards-sdk.es3.js.map +1 -1
  281. package/dist/es/standards-sdk.es30.js +344 -7
  282. package/dist/es/standards-sdk.es30.js.map +1 -1
  283. package/dist/es/standards-sdk.es31.js +302 -287
  284. package/dist/es/standards-sdk.es31.js.map +1 -1
  285. package/dist/es/standards-sdk.es32.js +94 -322
  286. package/dist/es/standards-sdk.es32.js.map +1 -1
  287. package/dist/es/standards-sdk.es33.js +458 -101
  288. package/dist/es/standards-sdk.es33.js.map +1 -1
  289. package/dist/es/standards-sdk.es34.js +132 -451
  290. package/dist/es/standards-sdk.es34.js.map +1 -1
  291. package/dist/es/standards-sdk.es35.js +216 -130
  292. package/dist/es/standards-sdk.es35.js.map +1 -1
  293. package/dist/es/standards-sdk.es36.js +273 -195
  294. package/dist/es/standards-sdk.es36.js.map +1 -1
  295. package/dist/es/standards-sdk.es37.js +148 -87
  296. package/dist/es/standards-sdk.es37.js.map +1 -1
  297. package/dist/es/standards-sdk.es38.js +183 -320
  298. package/dist/es/standards-sdk.es38.js.map +1 -1
  299. package/dist/es/standards-sdk.es39.js +238 -161
  300. package/dist/es/standards-sdk.es39.js.map +1 -1
  301. package/dist/es/standards-sdk.es4.js +425 -63
  302. package/dist/es/standards-sdk.es4.js.map +1 -1
  303. package/dist/es/standards-sdk.es40.js +136 -254
  304. package/dist/es/standards-sdk.es40.js.map +1 -1
  305. package/dist/es/standards-sdk.es41.js +225 -176
  306. package/dist/es/standards-sdk.es41.js.map +1 -1
  307. package/dist/es/standards-sdk.es42.js +199 -261
  308. package/dist/es/standards-sdk.es42.js.map +1 -1
  309. package/dist/es/standards-sdk.es43.js +237 -199
  310. package/dist/es/standards-sdk.es43.js.map +1 -1
  311. package/dist/es/standards-sdk.es44.js +209 -201
  312. package/dist/es/standards-sdk.es44.js.map +1 -1
  313. package/dist/es/standards-sdk.es45.js +305 -201
  314. package/dist/es/standards-sdk.es45.js.map +1 -1
  315. package/dist/es/standards-sdk.es46.js +371 -261
  316. package/dist/es/standards-sdk.es46.js.map +1 -1
  317. package/dist/es/standards-sdk.es47.js +316 -371
  318. package/dist/es/standards-sdk.es47.js.map +1 -1
  319. package/dist/es/standards-sdk.es48.js +404 -336
  320. package/dist/es/standards-sdk.es48.js.map +1 -1
  321. package/dist/es/standards-sdk.es49.js +83 -449
  322. package/dist/es/standards-sdk.es49.js.map +1 -1
  323. package/dist/es/standards-sdk.es5.js +232 -354
  324. package/dist/es/standards-sdk.es5.js.map +1 -1
  325. package/dist/es/standards-sdk.es50.js +179 -89
  326. package/dist/es/standards-sdk.es50.js.map +1 -1
  327. package/dist/es/standards-sdk.es51.js +231 -165
  328. package/dist/es/standards-sdk.es51.js.map +1 -1
  329. package/dist/es/standards-sdk.es52.js +25 -262
  330. package/dist/es/standards-sdk.es52.js.map +1 -1
  331. package/dist/es/standards-sdk.es53.js +56 -26
  332. package/dist/es/standards-sdk.es53.js.map +1 -1
  333. package/dist/es/standards-sdk.es54.js +12 -57
  334. package/dist/es/standards-sdk.es54.js.map +1 -1
  335. package/dist/es/standards-sdk.es55.js +49 -12
  336. package/dist/es/standards-sdk.es55.js.map +1 -1
  337. package/dist/es/standards-sdk.es56.js +115 -43
  338. package/dist/es/standards-sdk.es56.js.map +1 -1
  339. package/dist/es/standards-sdk.es57.js +42 -115
  340. package/dist/es/standards-sdk.es57.js.map +1 -1
  341. package/dist/es/standards-sdk.es58.js +52 -43
  342. package/dist/es/standards-sdk.es58.js.map +1 -1
  343. package/dist/es/standards-sdk.es59.js +36 -50
  344. package/dist/es/standards-sdk.es59.js.map +1 -1
  345. package/dist/es/standards-sdk.es6.js +125 -246
  346. package/dist/es/standards-sdk.es6.js.map +1 -1
  347. package/dist/es/standards-sdk.es60.js +207 -39
  348. package/dist/es/standards-sdk.es60.js.map +1 -1
  349. package/dist/es/standards-sdk.es61.js +24 -200
  350. package/dist/es/standards-sdk.es61.js.map +1 -1
  351. package/dist/es/standards-sdk.es62.js +87 -25
  352. package/dist/es/standards-sdk.es62.js.map +1 -1
  353. package/dist/es/standards-sdk.es63.js +3 -51
  354. package/dist/es/standards-sdk.es63.js.map +1 -1
  355. package/dist/es/standards-sdk.es64.js +100 -3
  356. package/dist/es/standards-sdk.es64.js.map +1 -1
  357. package/dist/es/standards-sdk.es65.js +61 -62
  358. package/dist/es/standards-sdk.es65.js.map +1 -1
  359. package/dist/es/standards-sdk.es66.js +17 -98
  360. package/dist/es/standards-sdk.es66.js.map +1 -1
  361. package/dist/es/standards-sdk.es67.js +77 -19
  362. package/dist/es/standards-sdk.es67.js.map +1 -1
  363. package/dist/es/standards-sdk.es68.js +458 -77
  364. package/dist/es/standards-sdk.es68.js.map +1 -1
  365. package/dist/es/standards-sdk.es69.js +106 -240
  366. package/dist/es/standards-sdk.es69.js.map +1 -1
  367. package/dist/es/standards-sdk.es7.js +28 -183
  368. package/dist/es/standards-sdk.es7.js.map +1 -1
  369. package/dist/es/standards-sdk.es70.js +170 -286
  370. package/dist/es/standards-sdk.es70.js.map +1 -1
  371. package/dist/es/standards-sdk.es71.js +71 -207
  372. package/dist/es/standards-sdk.es71.js.map +1 -1
  373. package/dist/es/standards-sdk.es72.js +71 -72
  374. package/dist/es/standards-sdk.es72.js.map +1 -1
  375. package/dist/es/standards-sdk.es73.js +143 -71
  376. package/dist/es/standards-sdk.es73.js.map +1 -1
  377. package/dist/es/standards-sdk.es74.js +62 -136
  378. package/dist/es/standards-sdk.es74.js.map +1 -1
  379. package/dist/es/standards-sdk.es75.js +380 -45
  380. package/dist/es/standards-sdk.es75.js.map +1 -1
  381. package/dist/es/standards-sdk.es76.js +222 -130
  382. package/dist/es/standards-sdk.es76.js.map +1 -1
  383. package/dist/es/standards-sdk.es77.js +320 -444
  384. package/dist/es/standards-sdk.es77.js.map +1 -1
  385. package/dist/es/standards-sdk.es78.js +88 -370
  386. package/dist/es/standards-sdk.es78.js.map +1 -1
  387. package/dist/es/standards-sdk.es79.js +125 -89
  388. package/dist/es/standards-sdk.es79.js.map +1 -1
  389. package/dist/es/standards-sdk.es8.js +80 -29
  390. package/dist/es/standards-sdk.es8.js.map +1 -1
  391. package/dist/es/standards-sdk.es80.js +8 -125
  392. package/dist/es/standards-sdk.es80.js.map +1 -1
  393. package/dist/es/standards-sdk.es81.js +45 -6
  394. package/dist/es/standards-sdk.es81.js.map +1 -1
  395. package/dist/es/standards-sdk.es82.js +98 -44
  396. package/dist/es/standards-sdk.es82.js.map +1 -1
  397. package/dist/es/standards-sdk.es83.js +331 -84
  398. package/dist/es/standards-sdk.es83.js.map +1 -1
  399. package/dist/es/standards-sdk.es84.js +93 -160
  400. package/dist/es/standards-sdk.es84.js.map +1 -1
  401. package/dist/es/standards-sdk.es85.js +55 -275
  402. package/dist/es/standards-sdk.es85.js.map +1 -1
  403. package/dist/es/standards-sdk.es86.js +43 -55
  404. package/dist/es/standards-sdk.es86.js.map +1 -1
  405. package/dist/es/standards-sdk.es87.js +145 -22
  406. package/dist/es/standards-sdk.es87.js.map +1 -1
  407. package/dist/es/standards-sdk.es88.js +34 -47
  408. package/dist/es/standards-sdk.es88.js.map +1 -1
  409. package/dist/es/standards-sdk.es89.js +22 -57
  410. package/dist/es/standards-sdk.es89.js.map +1 -1
  411. package/dist/es/standards-sdk.es9.js +104 -80
  412. package/dist/es/standards-sdk.es9.js.map +1 -1
  413. package/dist/es/standards-sdk.es90.js +23 -28
  414. package/dist/es/standards-sdk.es90.js.map +1 -1
  415. package/dist/es/standards-sdk.es91.js +238 -23
  416. package/dist/es/standards-sdk.es91.js.map +1 -1
  417. package/dist/es/standards-sdk.es92.js +265 -152
  418. package/dist/es/standards-sdk.es92.js.map +1 -1
  419. package/dist/es/standards-sdk.es93.js +95 -68
  420. package/dist/es/standards-sdk.es93.js.map +1 -1
  421. package/dist/es/standards-sdk.es94.js +124 -136
  422. package/dist/es/standards-sdk.es94.js.map +1 -1
  423. package/dist/es/standards-sdk.es95.js +42 -138
  424. package/dist/es/standards-sdk.es95.js.map +1 -1
  425. package/dist/es/standards-sdk.es96.js +259 -42
  426. package/dist/es/standards-sdk.es96.js.map +1 -1
  427. package/dist/es/standards-sdk.es97.js +82 -243
  428. package/dist/es/standards-sdk.es97.js.map +1 -1
  429. package/dist/es/standards-sdk.es98.js +48 -47
  430. package/dist/es/standards-sdk.es98.js.map +1 -1
  431. package/dist/es/standards-sdk.es99.js +29 -100
  432. package/dist/es/standards-sdk.es99.js.map +1 -1
  433. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  434. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  435. package/dist/es/utils/dynamic-import.d.ts +5 -1
  436. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  437. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  438. package/package.json +36 -13
  439. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  440. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  441. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  442. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
@@ -1,257 +1,335 @@
1
- import { Logger } from "./standards-sdk.es106.js";
2
- import { HederaMirrorNode } from "./standards-sdk.es127.js";
3
- import "./standards-sdk.es128.js";
4
- import "./standards-sdk.es129.js";
5
- import "./standards-sdk.es130.js";
6
- import "./standards-sdk.es131.js";
7
- import "./standards-sdk.es132.js";
8
- import "./standards-sdk.es133.js";
9
- import "./standards-sdk.es134.js";
10
- import "./standards-sdk.es135.js";
11
- import "buffer";
12
- import "crypto";
13
- import "@noble/curves/secp256k1.js";
14
- import "zod";
15
- import "./standards-sdk.es139.js";
16
- import "./standards-sdk.es147.js";
17
- import "@hashgraph/proto";
18
- import "@hashgraph/sdk";
19
- import "ethers";
20
- import "./standards-sdk.es123.js";
21
- import "file-type";
22
- import "bignumber.js";
23
- import "./standards-sdk.es43.js";
24
- import { BlockLoader } from "./standards-sdk.es33.js";
25
- import { AssemblyRegistry } from "./standards-sdk.es34.js";
26
- import { AssemblyEngine } from "./standards-sdk.es44.js";
27
- class HCS12BaseClient {
1
+ import { Client } from "@hashgraph/sdk";
2
+ import { HCS12BaseClient } from "./standards-sdk.es35.js";
3
+ import { createNodeOperatorContext } from "./standards-sdk.es147.js";
4
+ import { RegistryType } from "./standards-sdk.es29.js";
5
+ import { inscribe } from "./standards-sdk.es124.js";
6
+ import { InscriptionSDK } from "./standards-sdk.es150.js";
7
+ import { ActionRegistry } from "./standards-sdk.es31.js";
8
+ import { BlockLoader } from "./standards-sdk.es32.js";
9
+ import { AssemblyRegistry } from "./standards-sdk.es33.js";
10
+ import { HashLinksRegistry } from "./standards-sdk.es34.js";
11
+ import * as mime from "mime-types";
12
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es148.js";
13
+ class HCS12Client extends HCS12BaseClient {
28
14
  constructor(config) {
29
- this.network = config.network;
30
- this.logger = config.logger || Logger.getInstance({
31
- level: config.logLevel || "info",
32
- module: "HCS12-BaseClient",
33
- prettyPrint: config.prettyPrint,
34
- silent: config.silent
15
+ super(config);
16
+ this.operatorAccountId = config.operatorId;
17
+ this.operatorCtx = createNodeOperatorContext({
18
+ network: this.network,
19
+ operatorId: this.operatorAccountId,
20
+ operatorKey: config.operatorPrivateKey,
21
+ keyType: config.keyType,
22
+ mirrorNode: this.mirrorNode,
23
+ logger: this.logger,
24
+ client: config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
25
+ });
26
+ this.client = this.operatorCtx.client;
27
+ this.logger.info("HCS-12 SDK Client initialized", {
28
+ network: config.network,
29
+ operatorId: this.operatorAccountId,
30
+ keyType: this.operatorCtx.keyType
35
31
  });
36
- this.mirrorNode = new HederaMirrorNode(
37
- config.network,
38
- this.logger,
39
- config.mirrorNode
40
- );
41
32
  }
42
33
  /**
43
34
  * Initialize registries with optional existing topic IDs
44
35
  */
45
36
  initializeRegistries(topicIds) {
46
- this.actionRegistryTopicId = topicIds?.action;
47
- this._assemblyRegistryTopicId = topicIds?.assembly;
48
- this._hashLinksRegistryTopicId = topicIds?.hashlinks;
49
- }
50
- /**
51
- * Register a new assembly in the assembly registry
52
- */
53
- async registerAssembly(registration) {
54
- if (!this._assemblyRegistry) {
55
- throw new Error("Assembly registry not initialized");
56
- }
57
- const id = await this._assemblyRegistry.register(registration);
58
- return { id };
59
- }
60
- /**
61
- * Get action by hash
62
- */
63
- async getAction(hash) {
64
- if (!this._actionRegistry) {
65
- throw new Error("Action registry not initialized");
66
- }
67
- return this._actionRegistry.getAction(hash);
68
- }
69
- /**
70
- * Load block from HCS-1
71
- */
72
- async loadBlock(blockTopicId) {
73
- if (!this._blockLoader) {
74
- this._blockLoader = new BlockLoader(
75
- this.network,
76
- this.logger,
77
- this
78
- );
79
- }
80
- return this._blockLoader.loadBlock(blockTopicId);
81
- }
82
- /**
83
- * Get assembly by name and version
84
- */
85
- async getAssembly(name, version) {
86
- if (!this._assemblyRegistry) {
87
- throw new Error("Assembly registry not initialized");
88
- }
89
- const entries = await this._assemblyRegistry.listEntries();
90
- for (const entry of entries) {
91
- const state = await this._assemblyRegistry.getAssemblyState(entry.id);
92
- if (state && state.name === name && state.version === version) {
93
- return state;
94
- }
95
- }
96
- return null;
97
- }
98
- /**
99
- * Load and resolve a complete assembly by topic ID
100
- */
101
- async loadAssembly(topicId) {
102
- if (this._actionRegistry) {
103
- this.logger.info("Syncing action registry before loading assembly");
104
- await this._actionRegistry.sync();
105
- }
106
- const assemblyRegistry = new AssemblyRegistry(
37
+ super.initializeRegistries(topicIds);
38
+ this._actionRegistry = new ActionRegistry(
107
39
  this.network,
108
40
  this.logger,
109
- topicId,
41
+ this.actionRegistryTopicId,
42
+ this
43
+ );
44
+ this._blockLoader = new BlockLoader(this.network, this.logger, this);
45
+ this._assemblyRegistry = new AssemblyRegistry(
46
+ this.network,
47
+ this.logger,
48
+ this._assemblyRegistryTopicId,
110
49
  this
111
50
  );
112
- await assemblyRegistry.sync();
113
- const assemblyEngine = new AssemblyEngine(
51
+ this._hashLinksRegistry = new HashLinksRegistry(
52
+ this.network,
114
53
  this.logger,
115
- assemblyRegistry,
116
- this._actionRegistry,
117
- this._blockLoader
54
+ this._hashLinksRegistryTopicId,
55
+ this
118
56
  );
119
- return assemblyEngine.loadAndResolveAssembly(topicId);
57
+ this.logger.info("Registries initialized", {
58
+ actionTopicId: this.actionRegistryTopicId,
59
+ assemblyTopicId: this._assemblyRegistryTopicId,
60
+ hashLinksTopicId: this._hashLinksRegistryTopicId
61
+ });
120
62
  }
121
63
  /**
122
- * Get assembly state by topic ID (without resolving references)
64
+ * Create a new HCS topic for a registry
123
65
  */
124
- async getAssemblyState(topicId) {
125
- if (!this._assemblyRegistry) {
126
- throw new Error("Assembly registry not initialized");
66
+ async createRegistryTopic(registryType, adminKey, submitKey) {
67
+ const memos = {
68
+ [RegistryType.ACTION]: "hcs-12:1:60:0",
69
+ [RegistryType.ASSEMBLY]: "hcs-12:1:60:2",
70
+ [RegistryType.HASHLINKS]: "hcs-12:1:60:3"
71
+ };
72
+ const memo = memos[registryType];
73
+ this.logger.info("Creating registry topic", {
74
+ registryType: RegistryType[registryType],
75
+ memo
76
+ });
77
+ const transaction = buildTopicCreateTx({
78
+ memo,
79
+ adminKey,
80
+ submitKey,
81
+ operatorPublicKey: this.client.operatorPublicKey || void 0
82
+ });
83
+ const txResponse = await transaction.execute(this.client);
84
+ const receipt = await txResponse.getReceipt(this.client);
85
+ if (!receipt.topicId) {
86
+ throw new Error("Failed to create topic: topicId is null");
87
+ }
88
+ const topicId = receipt.topicId.toString();
89
+ this.logger.info("Registry topic created", {
90
+ topicId,
91
+ registryType: RegistryType[registryType]
92
+ });
93
+ switch (registryType) {
94
+ case RegistryType.ACTION:
95
+ this.actionRegistryTopicId = topicId;
96
+ break;
97
+ case RegistryType.ASSEMBLY:
98
+ this._assemblyRegistryTopicId = topicId;
99
+ break;
100
+ case RegistryType.HASHLINKS:
101
+ break;
127
102
  }
128
- return this._assemblyRegistry.getAssemblyState(topicId);
103
+ return topicId;
129
104
  }
130
105
  /**
131
- * Ensure assembly engine is initialized
106
+ * Register an assembly on its own topic
132
107
  */
133
- ensureAssemblyEngine() {
134
- if (!this._assemblyEngine) {
135
- if (!this._actionRegistry || !this._blockLoader || !this._assemblyRegistry) {
136
- throw new Error(
137
- "Registries must be initialized before assembly engine"
138
- );
139
- }
140
- this._assemblyEngine = new AssemblyEngine(
141
- this.logger,
142
- this._assemblyRegistry,
143
- this._actionRegistry,
144
- this._blockLoader
145
- );
146
- }
108
+ async registerAssemblyDirect(assemblyTopicId, registration) {
109
+ this.logger.info("Registering assembly", {
110
+ topicId: assemblyTopicId,
111
+ name: registration.name,
112
+ version: registration.version
113
+ });
114
+ return this._submitMessage(assemblyTopicId, JSON.stringify(registration));
147
115
  }
148
116
  /**
149
- * Register a new HashLink in the global directory
117
+ * Add a block to an assembly
150
118
  */
151
- async registerHashLink(registration) {
152
- if (!this._hashLinksRegistry) {
153
- throw new Error("HashLinks registry not initialized");
154
- }
155
- const id = await this._hashLinksRegistry.register(registration);
156
- return { id };
119
+ async addBlockToAssembly(assemblyTopicId, block) {
120
+ this.logger.info("Adding block to assembly", {
121
+ assemblyTopicId,
122
+ blockTopicId: block.block_t_id
123
+ });
124
+ return this._submitMessage(assemblyTopicId, JSON.stringify(block));
157
125
  }
158
126
  /**
159
- * Search HashLinks by tags
127
+ * Add an action to an assembly
160
128
  */
161
- async searchHashLinksByTags(tags) {
162
- if (!this._hashLinksRegistry) {
163
- throw new Error("HashLinks registry not initialized");
164
- }
165
- return this._hashLinksRegistry.searchByTags(tags);
129
+ async addActionToAssembly(assemblyTopicId, action) {
130
+ this.logger.info("Adding action to assembly", {
131
+ assemblyTopicId,
132
+ actionTopicId: action.t_id,
133
+ alias: action.alias
134
+ });
135
+ return this._submitMessage(assemblyTopicId, JSON.stringify(action));
166
136
  }
167
137
  /**
168
- * Search HashLinks by name
138
+ * Update assembly metadata
169
139
  */
170
- async searchHashLinksByName(searchTerm) {
171
- if (!this._hashLinksRegistry) {
172
- throw new Error("HashLinks registry not initialized");
173
- }
174
- return this._hashLinksRegistry.searchByName(searchTerm);
140
+ async updateAssembly(assemblyTopicId, update) {
141
+ this.logger.info("Updating assembly", {
142
+ assemblyTopicId,
143
+ update
144
+ });
145
+ return this._submitMessage(assemblyTopicId, JSON.stringify(update));
175
146
  }
176
147
  /**
177
- * Get featured HashLinks
148
+ * Submit a message to an HCS topic
149
+ * @deprecated Use operation-specific methods instead
178
150
  */
179
- async getFeaturedHashLinks() {
180
- if (!this._hashLinksRegistry) {
181
- throw new Error("HashLinks registry not initialized");
182
- }
183
- return this._hashLinksRegistry.getFeatured();
151
+ async submitMessage(topicId, message, submitKey) {
152
+ this.logger.warn(
153
+ "submitMessage is deprecated. Use operation-specific methods instead."
154
+ );
155
+ return this._submitMessage(topicId, message, submitKey);
184
156
  }
185
157
  /**
186
- * Get HashLinks by category
158
+ * Internal method to submit a message to an HCS topic
187
159
  */
188
- async getHashLinksByCategory(category) {
189
- if (!this._hashLinksRegistry) {
190
- throw new Error("HashLinks registry not initialized");
160
+ async _submitMessage(topicId, message, submitKey) {
161
+ this.logger.debug("Submitting message to topic", {
162
+ topicId,
163
+ messageLength: message.length
164
+ });
165
+ const transaction = buildMessageTx({ topicId, message });
166
+ let transactionResponse;
167
+ if (submitKey) {
168
+ const frozenTransaction = transaction.freezeWith(this.client);
169
+ const signedTransaction = await frozenTransaction.sign(submitKey);
170
+ transactionResponse = await signedTransaction.execute(this.client);
171
+ } else {
172
+ transactionResponse = await transaction.execute(this.client);
191
173
  }
192
- return this._hashLinksRegistry.getByCategory(category);
174
+ const receipt = await transactionResponse.getReceipt(this.client);
175
+ this.logger.info("Message submitted successfully", {
176
+ topicId,
177
+ transactionId: transactionResponse.transactionId.toString(),
178
+ sequenceNumber: receipt.topicSequenceNumber?.toString()
179
+ });
180
+ return {
181
+ transactionId: transactionResponse.transactionId.toString(),
182
+ sequenceNumber: receipt.topicSequenceNumber ? Number(receipt.topicSequenceNumber) : void 0
183
+ };
193
184
  }
194
185
  /**
195
- * Sync all registries with the network
186
+ * Get the Hedera client instance
196
187
  */
197
- async syncRegistries() {
198
- const promises = [];
199
- if (this._actionRegistry) {
200
- promises.push(this._actionRegistry.sync());
201
- }
202
- if (this._assemblyRegistry) {
203
- promises.push(this._assemblyRegistry.sync());
204
- }
205
- if (this._hashLinksRegistry) {
206
- promises.push(this._hashLinksRegistry.sync());
207
- }
208
- await Promise.all(promises);
188
+ getClient() {
189
+ return this.client;
209
190
  }
210
191
  /**
211
- * Get registry topic IDs
192
+ * Get operator account ID
212
193
  */
213
- getRegistryTopicIds() {
214
- return {
215
- action: this.actionRegistryTopicId,
216
- assembly: this._assemblyRegistryTopicId,
217
- hashlinks: this._hashLinksRegistryTopicId
218
- };
194
+ getOperatorAccountId() {
195
+ return this.operatorAccountId;
196
+ }
197
+ /**
198
+ * Get operator private key
199
+ */
200
+ getOperatorPrivateKey() {
201
+ return this.operatorCtx.operatorKey.toString();
219
202
  }
220
203
  /**
221
- * Clear all registry caches
204
+ * Inscribe a file using HCS-1 protocol
222
205
  */
223
- clearCaches() {
224
- this._actionRegistry?.clearCache();
225
- this._blockLoader?.clearCache();
226
- this._assemblyRegistry?.clearCache();
227
- this._hashLinksRegistry?.clearCache();
206
+ async inscribeFile(buffer, fileName, options) {
207
+ this.logger.info("Inscribing file via HCS-1", { fileName });
208
+ const mimeType = mime.lookup(fileName) || "application/octet-stream";
209
+ const sdk = await InscriptionSDK.createWithAuth({
210
+ type: "server",
211
+ accountId: this.operatorAccountId,
212
+ privateKey: this.operatorCtx.operatorKey.toString(),
213
+ network: this.network
214
+ });
215
+ const inscriptionOptions = {
216
+ mode: "file",
217
+ waitForConfirmation: true,
218
+ waitMaxAttempts: options?.waitMaxAttempts || 30,
219
+ waitIntervalMs: options?.waitIntervalMs || 4e3,
220
+ progressCallback: options?.progressCallback,
221
+ logging: {
222
+ level: this.logger.getLevel ? this.logger.getLevel() : "info"
223
+ }
224
+ };
225
+ const response = await inscribe(
226
+ {
227
+ type: "buffer",
228
+ buffer,
229
+ fileName,
230
+ mimeType
231
+ },
232
+ {
233
+ accountId: this.operatorAccountId,
234
+ privateKey: this.operatorCtx.operatorKey,
235
+ network: this.network
236
+ },
237
+ inscriptionOptions,
238
+ sdk
239
+ );
240
+ if (!response.confirmed || !response.inscription) {
241
+ throw new Error("Inscription failed to confirm");
242
+ }
243
+ return response.inscription;
228
244
  }
229
245
  /**
230
- * Get the action registry instance
246
+ * Create a new assembly topic
231
247
  */
232
- get actionRegistry() {
233
- return this._actionRegistry;
248
+ async createAssemblyTopic() {
249
+ if (!this._assemblyRegistry) {
250
+ throw new Error("Assembly registry not initialized");
251
+ }
252
+ return this._assemblyRegistry.createAssemblyTopic();
234
253
  }
235
254
  /**
236
- * Get the block loader instance
255
+ * Register an action
237
256
  */
238
- get blockLoader() {
239
- return this._blockLoader;
257
+ async registerAction(builder) {
258
+ const registration = builder.build();
259
+ if (!this._actionRegistry) {
260
+ throw new Error("Action registry not initialized");
261
+ }
262
+ const result = await this._submitMessage(
263
+ this.actionRegistryTopicId,
264
+ JSON.stringify(registration)
265
+ );
266
+ this.logger.info("Action registered", {
267
+ topicId: registration.t_id,
268
+ transactionId: result.transactionId
269
+ });
270
+ return builder;
240
271
  }
241
272
  /**
242
- * Get the assembly registry instance
273
+ * Register a block
243
274
  */
244
- get assemblyRegistry() {
245
- return this._assemblyRegistry;
275
+ async registerBlock(builder) {
276
+ const templateBuffer = builder.getTemplate();
277
+ if (templateBuffer) {
278
+ const templateResult = await this.inscribeFile(
279
+ templateBuffer,
280
+ `${builder.getName() || "block"}-template.html`
281
+ );
282
+ builder.setTemplateTopicId(templateResult.topic_id);
283
+ }
284
+ const definition = builder.build();
285
+ if (!definition.template_t_id) {
286
+ throw new Error(
287
+ "Block must have either a template buffer (via setTemplate) or template_t_id"
288
+ );
289
+ }
290
+ const definitionResult = await this.inscribeFile(
291
+ Buffer.from(JSON.stringify(definition, null, 2)),
292
+ `${definition.name}-definition.json`
293
+ );
294
+ this.logger.info("Block registered", {
295
+ name: definition.name,
296
+ definitionTopicId: definitionResult.topic_id,
297
+ templateTopicId: definition.template_t_id
298
+ });
299
+ builder.setTopicId(definitionResult.topic_id);
300
+ return builder;
246
301
  }
247
302
  /**
248
- * Get the HashLinks registry instance
303
+ * Create an assembly using AssemblyBuilder
249
304
  */
250
- get hashLinksRegistry() {
251
- return this._hashLinksRegistry;
305
+ async createAssembly(builder) {
306
+ const registration = builder.build();
307
+ const assemblyTopicId = await this.createAssemblyTopic();
308
+ await this.registerAssemblyDirect(assemblyTopicId, registration);
309
+ const operations = builder.getOperations();
310
+ for (const operation of operations) {
311
+ switch (operation.op) {
312
+ case "add-block":
313
+ await this.addBlockToAssembly(assemblyTopicId, operation);
314
+ break;
315
+ case "add-action":
316
+ await this.addActionToAssembly(assemblyTopicId, operation);
317
+ break;
318
+ case "update":
319
+ await this.updateAssembly(assemblyTopicId, operation);
320
+ break;
321
+ }
322
+ }
323
+ this.logger.info("Assembly created", {
324
+ topicId: assemblyTopicId,
325
+ name: registration.name,
326
+ version: registration.version,
327
+ operations: operations.length
328
+ });
329
+ return assemblyTopicId;
252
330
  }
253
331
  }
254
332
  export {
255
- HCS12BaseClient
333
+ HCS12Client
256
334
  };
257
335
  //# sourceMappingURL=standards-sdk.es36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es36.js","sources":["../../src/hcs-12/base-client.ts"],"sourcesContent":["import { ILogger, Logger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HederaMirrorNode, MirrorNodeConfig } from '../services';\nimport { PrivateKey, PublicKey } from '@hashgraph/sdk';\nimport {\n ActionRegistry,\n BlockLoader,\n AssemblyRegistry,\n HashLinksRegistry,\n} from './registries';\nimport {\n ActionRegistration,\n BlockDefinition,\n AssemblyRegistration,\n HashLinksRegistration,\n RegistryType,\n AssemblyState,\n} from './types';\nimport { AssemblyEngine, Assembly } from './assembly';\n\n/**\n * Configuration for HCS-12 client\n */\nexport interface HCS12Config {\n /** The Hedera network to connect to */\n network: NetworkType;\n /** Custom logger instance (if not provided, one will be created) */\n logger?: ILogger;\n /** Log level for the client (ignored if logger is provided) */\n logLevel?: LogLevel;\n /** Whether to pretty print logs (ignored if logger is provided) */\n prettyPrint?: boolean;\n /** Custom mirror node configuration */\n mirrorNode?: MirrorNodeConfig;\n /** Whether to run logger in silent mode (ignored if logger is provided) */\n silent?: boolean;\n /** The key type to use for the operator */\n keyType?: 'ed25519' | 'ecdsa';\n}\n\n/**\n * Abstract base class for HCS-12 HashLinks clients\n */\nexport abstract class HCS12BaseClient {\n protected network: NetworkType;\n protected logger: ILogger;\n public mirrorNode: HederaMirrorNode;\n\n protected _actionRegistry?: ActionRegistry;\n protected _blockLoader?: BlockLoader;\n protected _assemblyRegistry?: AssemblyRegistry;\n protected _hashLinksRegistry?: HashLinksRegistry;\n protected _assemblyEngine?: AssemblyEngine;\n\n protected actionRegistryTopicId?: string;\n protected _assemblyRegistryTopicId?: string;\n protected _hashLinksRegistryTopicId?: string;\n\n constructor(config: HCS12Config) {\n this.network = config.network;\n\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS12-BaseClient',\n prettyPrint: config.prettyPrint,\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(\n config.network,\n this.logger,\n config.mirrorNode,\n );\n }\n\n /**\n * Initialize registries with optional existing topic IDs\n */\n protected initializeRegistries(topicIds?: {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n }): void {\n this.actionRegistryTopicId = topicIds?.action;\n this._assemblyRegistryTopicId = topicIds?.assembly;\n this._hashLinksRegistryTopicId = topicIds?.hashlinks;\n }\n\n /**\n * Create a new HCS topic for a registry\n */\n abstract createRegistryTopic(\n registryType: RegistryType,\n adminKey?: boolean | PublicKey,\n submitKey?: boolean | PublicKey,\n ): Promise<string>;\n\n /**\n * Submit a message to an HCS topic\n */\n abstract submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }>;\n\n /**\n * Register a new assembly in the assembly registry\n */\n async registerAssembly(\n registration: AssemblyRegistration,\n ): Promise<{ id: string; transactionId?: string }> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n\n const id = await this._assemblyRegistry.register(registration);\n return { id };\n }\n\n /**\n * Get action by hash\n */\n async getAction(hash: string): Promise<ActionRegistration | null> {\n if (!this._actionRegistry) {\n throw new Error('Action registry not initialized');\n }\n\n return this._actionRegistry.getAction(hash);\n }\n\n /**\n * Load block from HCS-1\n */\n async loadBlock(blockTopicId: string): Promise<{\n definition: BlockDefinition;\n template: string;\n }> {\n if (!this._blockLoader) {\n this._blockLoader = new BlockLoader(\n this.network,\n this.logger,\n this as any,\n );\n }\n\n return this._blockLoader.loadBlock(blockTopicId);\n }\n\n /**\n * Get assembly by name and version\n */\n async getAssembly(\n name: string,\n version: string,\n ): Promise<AssemblyState | null> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n\n const entries = await this._assemblyRegistry.listEntries();\n for (const entry of entries) {\n const state = await this._assemblyRegistry.getAssemblyState(entry.id);\n if (state && state.name === name && state.version === version) {\n return state;\n }\n }\n return null;\n }\n\n /**\n * Load and resolve a complete assembly by topic ID\n */\n async loadAssembly(topicId: string): Promise<Assembly> {\n if (this._actionRegistry) {\n this.logger.info('Syncing action registry before loading assembly');\n await this._actionRegistry.sync();\n }\n\n const assemblyRegistry = new AssemblyRegistry(\n this.network,\n this.logger,\n topicId,\n this as any,\n );\n\n await assemblyRegistry.sync();\n\n const assemblyEngine = new AssemblyEngine(\n this.logger,\n assemblyRegistry,\n this._actionRegistry!,\n this._blockLoader!,\n );\n\n return assemblyEngine.loadAndResolveAssembly(topicId);\n }\n\n /**\n * Get assembly state by topic ID (without resolving references)\n */\n async getAssemblyState(topicId: string): Promise<AssemblyState | null> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n return this._assemblyRegistry.getAssemblyState(topicId);\n }\n\n /**\n * Ensure assembly engine is initialized\n */\n protected ensureAssemblyEngine(): void {\n if (!this._assemblyEngine) {\n if (\n !this._actionRegistry ||\n !this._blockLoader ||\n !this._assemblyRegistry\n ) {\n throw new Error(\n 'Registries must be initialized before assembly engine',\n );\n }\n this._assemblyEngine = new AssemblyEngine(\n this.logger,\n this._assemblyRegistry,\n this._actionRegistry,\n this._blockLoader,\n );\n }\n }\n\n /**\n * Register a new HashLink in the global directory\n */\n async registerHashLink(\n registration: HashLinksRegistration,\n ): Promise<{ id: string; transactionId?: string }> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n const id = await this._hashLinksRegistry.register(registration);\n return { id };\n }\n\n /**\n * Search HashLinks by tags\n */\n async searchHashLinksByTags(\n tags: string[],\n ): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.searchByTags(tags);\n }\n\n /**\n * Search HashLinks by name\n */\n async searchHashLinksByName(\n searchTerm: string,\n ): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.searchByName(searchTerm);\n }\n\n /**\n * Get featured HashLinks\n */\n async getFeaturedHashLinks(): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.getFeatured();\n }\n\n /**\n * Get HashLinks by category\n */\n async getHashLinksByCategory(\n category: string,\n ): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.getByCategory(category);\n }\n\n /**\n * Sync all registries with the network\n */\n async syncRegistries(): Promise<void> {\n const promises: Promise<void>[] = [];\n\n if (this._actionRegistry) {\n promises.push(this._actionRegistry.sync());\n }\n if (this._assemblyRegistry) {\n promises.push(this._assemblyRegistry.sync());\n }\n if (this._hashLinksRegistry) {\n promises.push(this._hashLinksRegistry.sync());\n }\n\n await Promise.all(promises);\n }\n\n /**\n * Get registry topic IDs\n */\n getRegistryTopicIds(): {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n } {\n return {\n action: this.actionRegistryTopicId,\n assembly: this._assemblyRegistryTopicId,\n hashlinks: this._hashLinksRegistryTopicId,\n };\n }\n\n /**\n * Clear all registry caches\n */\n clearCaches(): void {\n this._actionRegistry?.clearCache();\n this._blockLoader?.clearCache();\n this._assemblyRegistry?.clearCache();\n this._hashLinksRegistry?.clearCache();\n }\n\n /**\n * Get the action registry instance\n */\n get actionRegistry(): ActionRegistry | undefined {\n return this._actionRegistry;\n }\n\n /**\n * Get the block loader instance\n */\n get blockLoader(): BlockLoader | undefined {\n return this._blockLoader;\n }\n\n /**\n * Get the assembly registry instance\n */\n get assemblyRegistry(): AssemblyRegistry | undefined {\n return this._assemblyRegistry;\n }\n\n /**\n * Get the HashLinks registry instance\n */\n get hashLinksRegistry(): HashLinksRegistry | undefined {\n return this._hashLinksRegistry;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es36.js","sources":["../../src/hcs-12/sdk.ts"],"sourcesContent":["import {\n Client,\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n TopicId,\n TransactionResponse,\n PrivateKey,\n PublicKey,\n KeyList,\n} from '@hashgraph/sdk';\nimport { HCS12BaseClient, HCS12Config } from './base-client';\nimport { Logger } from '../utils';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport {\n ActionRegistry,\n BlockLoader,\n AssemblyRegistry,\n HashLinksRegistry,\n} from './registries';\nimport {\n RegistryType,\n ActionRegistration,\n AssemblyRegistration,\n AssemblyAddBlock,\n AssemblyAddAction,\n AssemblyUpdate,\n BlockDefinition,\n} from './types';\nimport { ActionBuilder, AssemblyBuilder, BlockBuilder } from './builders';\nimport { inscribe } from '../inscribe/inscriber';\nimport { InscriptionSDK } from '@kiloscribe/inscription-sdk';\nimport type { RetrievedInscriptionResult } from '../inscribe/types';\nimport * as mime from 'mime-types';\nimport { buildTopicCreateTx, buildMessageTx } from '../common/tx/tx-utils';\n\n/**\n * Configuration for HCS-12 SDK client\n */\nexport interface HCS12ClientConfig extends HCS12Config {\n /** Operator account ID */\n operatorId: string;\n /** Operator private key */\n operatorPrivateKey: string | PrivateKey;\n}\n\n/**\n * HCS-12 SDK client for server-side HashLinks operations\n */\nexport class HCS12Client extends HCS12BaseClient {\n private client: Client;\n private operatorAccountId: string;\n private operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS12ClientConfig) {\n super(config);\n\n this.operatorAccountId = config.operatorId;\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorAccountId,\n operatorKey: config.operatorPrivateKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client:\n config.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet(),\n });\n this.client = this.operatorCtx.client;\n\n this.logger.info('HCS-12 SDK Client initialized', {\n network: config.network,\n operatorId: this.operatorAccountId,\n keyType: this.operatorCtx.keyType,\n });\n }\n\n /**\n * Initialize registries with optional existing topic IDs\n */\n initializeRegistries(topicIds?: {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n }): void {\n super.initializeRegistries(topicIds);\n\n this._actionRegistry = new ActionRegistry(\n this.network,\n this.logger,\n this.actionRegistryTopicId,\n this,\n );\n\n this._blockLoader = new BlockLoader(this.network, this.logger, this);\n\n this._assemblyRegistry = new AssemblyRegistry(\n this.network,\n this.logger,\n this._assemblyRegistryTopicId,\n this,\n );\n\n this._hashLinksRegistry = new HashLinksRegistry(\n this.network,\n this.logger,\n this._hashLinksRegistryTopicId,\n this,\n );\n\n this.logger.info('Registries initialized', {\n actionTopicId: this.actionRegistryTopicId,\n assemblyTopicId: this._assemblyRegistryTopicId,\n hashLinksTopicId: this._hashLinksRegistryTopicId,\n });\n }\n\n /**\n * Create a new HCS topic for a registry\n */\n async createRegistryTopic(\n registryType: RegistryType,\n adminKey?: boolean | PublicKey | KeyList,\n submitKey?: boolean | PublicKey | KeyList,\n ): Promise<string> {\n const memos: Record<RegistryType, string> = {\n [RegistryType.ACTION]: 'hcs-12:1:60:0',\n [RegistryType.ASSEMBLY]: 'hcs-12:1:60:2',\n [RegistryType.HASHLINKS]: 'hcs-12:1:60:3',\n };\n const memo = memos[registryType];\n\n this.logger.info('Creating registry topic', {\n registryType: RegistryType[registryType],\n memo,\n });\n\n const transaction = buildTopicCreateTx({\n memo,\n adminKey: adminKey as boolean | PublicKey | KeyList | undefined,\n submitKey: submitKey as boolean | PublicKey | KeyList | undefined,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\n });\n\n const txResponse = await transaction.execute(this.client);\n const receipt = await txResponse.getReceipt(this.client);\n\n if (!receipt.topicId) {\n throw new Error('Failed to create topic: topicId is null');\n }\n\n const topicId = receipt.topicId.toString();\n this.logger.info('Registry topic created', {\n topicId,\n registryType: RegistryType[registryType],\n });\n\n switch (registryType) {\n case RegistryType.ACTION:\n this.actionRegistryTopicId = topicId;\n break;\n case RegistryType.ASSEMBLY:\n this._assemblyRegistryTopicId = topicId;\n break;\n case RegistryType.HASHLINKS:\n break;\n }\n\n return topicId;\n }\n\n /**\n * Register an assembly on its own topic\n */\n async registerAssemblyDirect(\n assemblyTopicId: string,\n registration: AssemblyRegistration,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Registering assembly', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(registration));\n }\n\n /**\n * Add a block to an assembly\n */\n async addBlockToAssembly(\n assemblyTopicId: string,\n block: AssemblyAddBlock,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding block to assembly', {\n assemblyTopicId,\n blockTopicId: block.block_t_id,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(block));\n }\n\n /**\n * Add an action to an assembly\n */\n async addActionToAssembly(\n assemblyTopicId: string,\n action: AssemblyAddAction,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding action to assembly', {\n assemblyTopicId,\n actionTopicId: action.t_id,\n alias: action.alias,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(action));\n }\n\n /**\n * Update assembly metadata\n */\n async updateAssembly(\n assemblyTopicId: string,\n update: AssemblyUpdate,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Updating assembly', {\n assemblyTopicId,\n update,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(update));\n }\n\n /**\n * Submit a message to an HCS topic\n * @deprecated Use operation-specific methods instead\n */\n async submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.warn(\n 'submitMessage is deprecated. Use operation-specific methods instead.',\n );\n return this._submitMessage(topicId, message, submitKey);\n }\n\n /**\n * Internal method to submit a message to an HCS topic\n */\n private async _submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.debug('Submitting message to topic', {\n topicId,\n messageLength: message.length,\n });\n\n const transaction = buildMessageTx({ topicId, message });\n\n let transactionResponse: TransactionResponse;\n if (submitKey) {\n const frozenTransaction = transaction.freezeWith(this.client);\n const signedTransaction = await frozenTransaction.sign(submitKey);\n transactionResponse = await signedTransaction.execute(this.client);\n } else {\n transactionResponse = await transaction.execute(this.client);\n }\n\n const receipt = await transactionResponse.getReceipt(this.client);\n\n this.logger.info('Message submitted successfully', {\n topicId,\n transactionId: transactionResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber?.toString(),\n });\n\n return {\n transactionId: transactionResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber\n ? Number(receipt.topicSequenceNumber)\n : undefined,\n };\n }\n\n /**\n * Get the Hedera client instance\n */\n getClient(): Client {\n return this.client;\n }\n\n /**\n * Get operator account ID\n */\n getOperatorAccountId(): string {\n return this.operatorAccountId;\n }\n\n /**\n * Get operator private key\n */\n getOperatorPrivateKey(): string {\n return this.operatorCtx.operatorKey.toString();\n }\n\n /**\n * Inscribe a file using HCS-1 protocol\n */\n async inscribeFile(\n buffer: Buffer,\n fileName: string,\n options?: {\n progressCallback?: (progress: any) => void;\n waitMaxAttempts?: number;\n waitIntervalMs?: number;\n },\n ): Promise<RetrievedInscriptionResult> {\n this.logger.info('Inscribing file via HCS-1', { fileName });\n\n const mimeType = mime.lookup(fileName) || 'application/octet-stream';\n\n const sdk = await InscriptionSDK.createWithAuth({\n type: 'server',\n accountId: this.operatorAccountId,\n privateKey: this.operatorCtx.operatorKey.toString(),\n network: this.network as 'testnet' | 'mainnet',\n });\n\n const inscriptionOptions = {\n mode: 'file' as const,\n waitForConfirmation: true,\n waitMaxAttempts: options?.waitMaxAttempts || 30,\n waitIntervalMs: options?.waitIntervalMs || 4000,\n progressCallback: options?.progressCallback,\n logging: {\n level: this.logger.getLevel ? this.logger.getLevel() : 'info',\n },\n };\n\n const response = await inscribe(\n {\n type: 'buffer',\n buffer,\n fileName,\n mimeType,\n },\n {\n accountId: this.operatorAccountId,\n privateKey: this.operatorCtx.operatorKey,\n network: this.network,\n },\n inscriptionOptions,\n sdk,\n );\n\n if (!response.confirmed || !response.inscription) {\n throw new Error('Inscription failed to confirm');\n }\n\n return response.inscription;\n }\n\n /**\n * Create a new assembly topic\n */\n async createAssemblyTopic(): Promise<string> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n return this._assemblyRegistry.createAssemblyTopic();\n }\n\n /**\n * Register an action\n */\n async registerAction(builder: ActionBuilder): Promise<ActionBuilder> {\n const registration = builder.build();\n\n if (!this._actionRegistry) {\n throw new Error('Action registry not initialized');\n }\n\n const result = await this._submitMessage(\n this.actionRegistryTopicId,\n JSON.stringify(registration),\n );\n\n this.logger.info('Action registered', {\n topicId: registration.t_id,\n transactionId: result.transactionId,\n });\n\n return builder;\n }\n\n /**\n * Register a block\n */\n async registerBlock(builder: BlockBuilder): Promise<BlockBuilder> {\n const templateBuffer = builder.getTemplate();\n\n if (templateBuffer) {\n const templateResult = await this.inscribeFile(\n templateBuffer,\n `${builder.getName() || 'block'}-template.html`,\n );\n builder.setTemplateTopicId(templateResult.topic_id);\n }\n\n const definition = builder.build();\n\n if (!definition.template_t_id) {\n throw new Error(\n 'Block must have either a template buffer (via setTemplate) or template_t_id',\n );\n }\n\n const definitionResult = await this.inscribeFile(\n Buffer.from(JSON.stringify(definition, null, 2)),\n `${definition.name}-definition.json`,\n );\n\n this.logger.info('Block registered', {\n name: definition.name,\n definitionTopicId: definitionResult.topic_id,\n templateTopicId: definition.template_t_id,\n });\n\n builder.setTopicId(definitionResult.topic_id);\n return builder;\n }\n\n /**\n * Create an assembly using AssemblyBuilder\n */\n async createAssembly(builder: AssemblyBuilder): Promise<string> {\n const registration = builder.build();\n\n const assemblyTopicId = await this.createAssemblyTopic();\n\n await this.registerAssemblyDirect(assemblyTopicId, registration);\n\n const operations = builder.getOperations();\n for (const operation of operations) {\n switch (operation.op) {\n case 'add-block':\n await this.addBlockToAssembly(assemblyTopicId, operation);\n break;\n case 'add-action':\n await this.addActionToAssembly(assemblyTopicId, operation);\n break;\n case 'update':\n await this.updateAssembly(assemblyTopicId, operation);\n break;\n }\n }\n\n this.logger.info('Assembly created', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n operations: operations.length,\n });\n\n return assemblyTopicId;\n }\n}\n"],"names":[],"mappings":"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"}