@hashgraphonline/standards-sdk 0.1.159 → 0.1.161

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 (329) hide show
  1. package/dist/cjs/hcs-12/validation/schemas.d.ts +4 -4
  2. package/dist/cjs/hcs-14/index.d.ts +5 -0
  3. package/dist/cjs/hcs-14/index.d.ts.map +1 -1
  4. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
  5. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  6. package/dist/cjs/hcs-14/resolvers/dns.d.ts +3 -0
  7. package/dist/cjs/hcs-14/resolvers/dns.d.ts.map +1 -0
  8. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
  9. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  10. package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts +9 -0
  11. package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  12. package/dist/cjs/hcs-14/resolvers/registry.d.ts +38 -1
  13. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  14. package/dist/cjs/hcs-14/resolvers/types.d.ts +123 -5
  15. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  16. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
  17. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  18. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
  19. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  20. package/dist/cjs/hcs-14/sdk.d.ts +31 -5
  21. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  22. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  23. package/dist/cjs/services/registry-broker/schemas.d.ts +1548 -0
  24. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  25. package/dist/cjs/standards-sdk.cjs +3 -3
  26. package/dist/cjs/standards-sdk.cjs.map +1 -1
  27. package/dist/es/hcs-12/validation/schemas.d.ts +4 -4
  28. package/dist/es/hcs-14/index.d.ts +5 -0
  29. package/dist/es/hcs-14/index.d.ts.map +1 -1
  30. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
  31. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  32. package/dist/es/hcs-14/resolvers/dns.d.ts +3 -0
  33. package/dist/es/hcs-14/resolvers/dns.d.ts.map +1 -0
  34. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
  35. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  36. package/dist/es/hcs-14/resolvers/profile-utils.d.ts +9 -0
  37. package/dist/es/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  38. package/dist/es/hcs-14/resolvers/registry.d.ts +38 -1
  39. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  40. package/dist/es/hcs-14/resolvers/types.d.ts +123 -5
  41. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  42. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
  43. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  44. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
  45. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  46. package/dist/es/hcs-14/sdk.d.ts +31 -5
  47. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  48. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  49. package/dist/es/services/registry-broker/schemas.d.ts +1548 -0
  50. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  51. package/dist/es/standards-sdk.es.js +102 -85
  52. package/dist/es/standards-sdk.es.js.map +1 -1
  53. package/dist/es/standards-sdk.es100.js +138 -225
  54. package/dist/es/standards-sdk.es100.js.map +1 -1
  55. package/dist/es/standards-sdk.es101.js +44 -108
  56. package/dist/es/standards-sdk.es101.js.map +1 -1
  57. package/dist/es/standards-sdk.es102.js +255 -24
  58. package/dist/es/standards-sdk.es102.js.map +1 -1
  59. package/dist/es/standards-sdk.es103.js +98 -80
  60. package/dist/es/standards-sdk.es103.js.map +1 -1
  61. package/dist/es/standards-sdk.es104.js +91 -21
  62. package/dist/es/standards-sdk.es104.js.map +1 -1
  63. package/dist/es/standards-sdk.es105.js +29 -251
  64. package/dist/es/standards-sdk.es105.js.map +1 -1
  65. package/dist/es/standards-sdk.es106.js +211 -457
  66. package/dist/es/standards-sdk.es106.js.map +1 -1
  67. package/dist/es/standards-sdk.es107.js +104 -96
  68. package/dist/es/standards-sdk.es107.js.map +1 -1
  69. package/dist/es/standards-sdk.es108.js +26 -152
  70. package/dist/es/standards-sdk.es108.js.map +1 -1
  71. package/dist/es/standards-sdk.es109.js +77 -27
  72. package/dist/es/standards-sdk.es109.js.map +1 -1
  73. package/dist/es/standards-sdk.es11.js +1 -1
  74. package/dist/es/standards-sdk.es110.js +28 -9
  75. package/dist/es/standards-sdk.es110.js.map +1 -1
  76. package/dist/es/standards-sdk.es111.js +247 -137
  77. package/dist/es/standards-sdk.es111.js.map +1 -1
  78. package/dist/es/standards-sdk.es112.js +477 -28
  79. package/dist/es/standards-sdk.es112.js.map +1 -1
  80. package/dist/es/standards-sdk.es113.js +103 -20
  81. package/dist/es/standards-sdk.es113.js.map +1 -1
  82. package/dist/es/standards-sdk.es114.js +141 -141
  83. package/dist/es/standards-sdk.es114.js.map +1 -1
  84. package/dist/es/standards-sdk.es115.js +31 -200
  85. package/dist/es/standards-sdk.es115.js.map +1 -1
  86. package/dist/es/standards-sdk.es116.js +9 -787
  87. package/dist/es/standards-sdk.es116.js.map +1 -1
  88. package/dist/es/standards-sdk.es117.js +140 -11
  89. package/dist/es/standards-sdk.es117.js.map +1 -1
  90. package/dist/es/standards-sdk.es118.js +29 -567
  91. package/dist/es/standards-sdk.es118.js.map +1 -1
  92. package/dist/es/standards-sdk.es119.js +17 -597
  93. package/dist/es/standards-sdk.es119.js.map +1 -1
  94. package/dist/es/standards-sdk.es12.js +1 -1
  95. package/dist/es/standards-sdk.es120.js +159 -12
  96. package/dist/es/standards-sdk.es120.js.map +1 -1
  97. package/dist/es/standards-sdk.es121.js +203 -2
  98. package/dist/es/standards-sdk.es121.js.map +1 -1
  99. package/dist/es/standards-sdk.es122.js +774 -71
  100. package/dist/es/standards-sdk.es122.js.map +1 -1
  101. package/dist/es/standards-sdk.es123.js +11 -38
  102. package/dist/es/standards-sdk.es123.js.map +1 -1
  103. package/dist/es/standards-sdk.es124.js +567 -2
  104. package/dist/es/standards-sdk.es124.js.map +1 -1
  105. package/dist/es/standards-sdk.es125.js +576 -209
  106. package/dist/es/standards-sdk.es125.js.map +1 -1
  107. package/dist/es/standards-sdk.es126.js +12 -1139
  108. package/dist/es/standards-sdk.es126.js.map +1 -1
  109. package/dist/es/standards-sdk.es127.js +2 -306
  110. package/dist/es/standards-sdk.es127.js.map +1 -1
  111. package/dist/es/standards-sdk.es128.js +83 -418
  112. package/dist/es/standards-sdk.es128.js.map +1 -1
  113. package/dist/es/standards-sdk.es129.js +36 -351
  114. package/dist/es/standards-sdk.es129.js.map +1 -1
  115. package/dist/es/standards-sdk.es13.js +1 -1
  116. package/dist/es/standards-sdk.es130.js +2 -1116
  117. package/dist/es/standards-sdk.es130.js.map +1 -1
  118. package/dist/es/standards-sdk.es131.js +215 -188
  119. package/dist/es/standards-sdk.es131.js.map +1 -1
  120. package/dist/es/standards-sdk.es132.js +1055 -1482
  121. package/dist/es/standards-sdk.es132.js.map +1 -1
  122. package/dist/es/standards-sdk.es133.js +306 -1236
  123. package/dist/es/standards-sdk.es133.js.map +1 -1
  124. package/dist/es/standards-sdk.es134.js +419 -14
  125. package/dist/es/standards-sdk.es134.js.map +1 -1
  126. package/dist/es/standards-sdk.es135.js +350 -82
  127. package/dist/es/standards-sdk.es135.js.map +1 -1
  128. package/dist/es/standards-sdk.es136.js +1107 -72
  129. package/dist/es/standards-sdk.es136.js.map +1 -1
  130. package/dist/es/standards-sdk.es137.js +181 -866
  131. package/dist/es/standards-sdk.es137.js.map +1 -1
  132. package/dist/es/standards-sdk.es138.js +1558 -51
  133. package/dist/es/standards-sdk.es138.js.map +1 -1
  134. package/dist/es/standards-sdk.es139.js +1255 -159
  135. package/dist/es/standards-sdk.es139.js.map +1 -1
  136. package/dist/es/standards-sdk.es14.js +1 -1
  137. package/dist/es/standards-sdk.es140.js +17 -7
  138. package/dist/es/standards-sdk.es140.js.map +1 -1
  139. package/dist/es/standards-sdk.es141.js +79 -78
  140. package/dist/es/standards-sdk.es141.js.map +1 -1
  141. package/dist/es/standards-sdk.es142.js +75 -59
  142. package/dist/es/standards-sdk.es142.js.map +1 -1
  143. package/dist/es/standards-sdk.es143.js +893 -30
  144. package/dist/es/standards-sdk.es143.js.map +1 -1
  145. package/dist/es/standards-sdk.es144.js +60 -34
  146. package/dist/es/standards-sdk.es144.js.map +1 -1
  147. package/dist/es/standards-sdk.es145.js +159 -28
  148. package/dist/es/standards-sdk.es145.js.map +1 -1
  149. package/dist/es/standards-sdk.es146.js +7 -138
  150. package/dist/es/standards-sdk.es146.js.map +1 -1
  151. package/dist/es/standards-sdk.es147.js +80 -36
  152. package/dist/es/standards-sdk.es147.js.map +1 -1
  153. package/dist/es/standards-sdk.es148.js +44 -12461
  154. package/dist/es/standards-sdk.es148.js.map +1 -1
  155. package/dist/es/standards-sdk.es149.js +30 -242
  156. package/dist/es/standards-sdk.es149.js.map +1 -1
  157. package/dist/es/standards-sdk.es15.js +1 -1
  158. package/dist/es/standards-sdk.es150.js +34 -172
  159. package/dist/es/standards-sdk.es150.js.map +1 -1
  160. package/dist/es/standards-sdk.es151.js +45 -322
  161. package/dist/es/standards-sdk.es151.js.map +1 -1
  162. package/dist/es/standards-sdk.es152.js +120 -328
  163. package/dist/es/standards-sdk.es152.js.map +1 -1
  164. package/dist/es/standards-sdk.es153.js +40 -451
  165. package/dist/es/standards-sdk.es153.js.map +1 -1
  166. package/dist/es/standards-sdk.es154.js +12418 -267
  167. package/dist/es/standards-sdk.es154.js.map +1 -1
  168. package/dist/es/standards-sdk.es155.js +15 -74
  169. package/dist/es/standards-sdk.es155.js.map +1 -1
  170. package/dist/es/standards-sdk.es156.js +54 -15
  171. package/dist/es/standards-sdk.es156.js.map +1 -1
  172. package/dist/es/standards-sdk.es157.js +70 -59
  173. package/dist/es/standards-sdk.es157.js.map +1 -1
  174. package/dist/es/standards-sdk.es158.js +73 -48
  175. package/dist/es/standards-sdk.es158.js.map +1 -1
  176. package/dist/es/standards-sdk.es159.js +59 -70
  177. package/dist/es/standards-sdk.es159.js.map +1 -1
  178. package/dist/es/standards-sdk.es16.js +5 -5
  179. package/dist/es/standards-sdk.es160.js +160 -160
  180. package/dist/es/standards-sdk.es160.js.map +1 -1
  181. package/dist/es/standards-sdk.es161.js +312 -212
  182. package/dist/es/standards-sdk.es161.js.map +1 -1
  183. package/dist/es/standards-sdk.es162.js +335 -228
  184. package/dist/es/standards-sdk.es162.js.map +1 -1
  185. package/dist/es/standards-sdk.es163.js +446 -112
  186. package/dist/es/standards-sdk.es163.js.map +1 -1
  187. package/dist/es/standards-sdk.es164.js +320 -115
  188. package/dist/es/standards-sdk.es164.js.map +1 -1
  189. package/dist/es/standards-sdk.es165.js +65 -150
  190. package/dist/es/standards-sdk.es165.js.map +1 -1
  191. package/dist/es/standards-sdk.es166.js +223 -166
  192. package/dist/es/standards-sdk.es166.js.map +1 -1
  193. package/dist/es/standards-sdk.es167.js +153 -120
  194. package/dist/es/standards-sdk.es167.js.map +1 -1
  195. package/dist/es/standards-sdk.es168.js +178 -287
  196. package/dist/es/standards-sdk.es168.js.map +1 -1
  197. package/dist/es/standards-sdk.es169.js +218 -238
  198. package/dist/es/standards-sdk.es169.js.map +1 -1
  199. package/dist/es/standards-sdk.es170.js +75 -72
  200. package/dist/es/standards-sdk.es170.js.map +1 -1
  201. package/dist/es/standards-sdk.es171.js +129 -0
  202. package/dist/es/standards-sdk.es171.js.map +1 -0
  203. package/dist/es/standards-sdk.es172.js +164 -0
  204. package/dist/es/standards-sdk.es172.js.map +1 -0
  205. package/dist/es/standards-sdk.es173.js +188 -0
  206. package/dist/es/standards-sdk.es173.js.map +1 -0
  207. package/dist/es/standards-sdk.es174.js +142 -0
  208. package/dist/es/standards-sdk.es174.js.map +1 -0
  209. package/dist/es/standards-sdk.es175.js +334 -0
  210. package/dist/es/standards-sdk.es175.js.map +1 -0
  211. package/dist/es/standards-sdk.es176.js +262 -0
  212. package/dist/es/standards-sdk.es176.js.map +1 -0
  213. package/dist/es/standards-sdk.es177.js +119 -0
  214. package/dist/es/standards-sdk.es177.js.map +1 -0
  215. package/dist/es/standards-sdk.es18.js +12 -12
  216. package/dist/es/standards-sdk.es19.js +9 -9
  217. package/dist/es/standards-sdk.es2.js +2 -2
  218. package/dist/es/standards-sdk.es20.js +1 -1
  219. package/dist/es/standards-sdk.es21.js +1 -1
  220. package/dist/es/standards-sdk.es22.js +1 -1
  221. package/dist/es/standards-sdk.es23.js +1 -1
  222. package/dist/es/standards-sdk.es24.js +1 -1
  223. package/dist/es/standards-sdk.es25.js +1 -1
  224. package/dist/es/standards-sdk.es26.js +1 -1
  225. package/dist/es/standards-sdk.es27.js +12 -12
  226. package/dist/es/standards-sdk.es30.js +2 -2
  227. package/dist/es/standards-sdk.es31.js +4 -4
  228. package/dist/es/standards-sdk.es32.js +1 -1
  229. package/dist/es/standards-sdk.es35.js +6 -6
  230. package/dist/es/standards-sdk.es36.js +4 -4
  231. package/dist/es/standards-sdk.es37.js +2 -2
  232. package/dist/es/standards-sdk.es38.js +2 -2
  233. package/dist/es/standards-sdk.es39.js +1 -1
  234. package/dist/es/standards-sdk.es4.js +2 -2
  235. package/dist/es/standards-sdk.es40.js +1 -1
  236. package/dist/es/standards-sdk.es41.js +2 -2
  237. package/dist/es/standards-sdk.es46.js +1 -1
  238. package/dist/es/standards-sdk.es5.js +2 -2
  239. package/dist/es/standards-sdk.es51.js +1 -1
  240. package/dist/es/standards-sdk.es53.js +1 -1
  241. package/dist/es/standards-sdk.es56.js +2 -2
  242. package/dist/es/standards-sdk.es58.js +11 -55
  243. package/dist/es/standards-sdk.es58.js.map +1 -1
  244. package/dist/es/standards-sdk.es59.js +321 -35
  245. package/dist/es/standards-sdk.es59.js.map +1 -1
  246. package/dist/es/standards-sdk.es6.js +2 -2
  247. package/dist/es/standards-sdk.es60.js +39 -200
  248. package/dist/es/standards-sdk.es60.js.map +1 -1
  249. package/dist/es/standards-sdk.es61.js +103 -25
  250. package/dist/es/standards-sdk.es61.js.map +1 -1
  251. package/dist/es/standards-sdk.es62.js +164 -78
  252. package/dist/es/standards-sdk.es62.js.map +1 -1
  253. package/dist/es/standards-sdk.es63.js +222 -3
  254. package/dist/es/standards-sdk.es63.js.map +1 -1
  255. package/dist/es/standards-sdk.es64.js +122 -92
  256. package/dist/es/standards-sdk.es64.js.map +1 -1
  257. package/dist/es/standards-sdk.es65.js +40 -93
  258. package/dist/es/standards-sdk.es65.js.map +1 -1
  259. package/dist/es/standards-sdk.es66.js +266 -18
  260. package/dist/es/standards-sdk.es66.js.map +1 -1
  261. package/dist/es/standards-sdk.es67.js +34 -77
  262. package/dist/es/standards-sdk.es67.js.map +1 -1
  263. package/dist/es/standards-sdk.es68.js +85 -447
  264. package/dist/es/standards-sdk.es68.js.map +1 -1
  265. package/dist/es/standards-sdk.es69.js +3 -323
  266. package/dist/es/standards-sdk.es69.js.map +1 -1
  267. package/dist/es/standards-sdk.es7.js +1 -1
  268. package/dist/es/standards-sdk.es70.js +87 -194
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +99 -71
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +19 -71
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +77 -143
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +433 -44
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +254 -334
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +166 -454
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +71 -364
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +71 -89
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +143 -125
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es80.js +67 -6
  289. package/dist/es/standards-sdk.es80.js.map +1 -1
  290. package/dist/es/standards-sdk.es81.js +400 -43
  291. package/dist/es/standards-sdk.es81.js.map +1 -1
  292. package/dist/es/standards-sdk.es82.js +476 -81
  293. package/dist/es/standards-sdk.es82.js.map +1 -1
  294. package/dist/es/standards-sdk.es83.js +332 -315
  295. package/dist/es/standards-sdk.es83.js.map +1 -1
  296. package/dist/es/standards-sdk.es84.js +88 -280
  297. package/dist/es/standards-sdk.es84.js.map +1 -1
  298. package/dist/es/standards-sdk.es85.js +125 -61
  299. package/dist/es/standards-sdk.es85.js.map +1 -1
  300. package/dist/es/standards-sdk.es86.js +6 -47
  301. package/dist/es/standards-sdk.es86.js.map +1 -1
  302. package/dist/es/standards-sdk.es87.js +44 -147
  303. package/dist/es/standards-sdk.es87.js.map +1 -1
  304. package/dist/es/standards-sdk.es88.js +94 -60
  305. package/dist/es/standards-sdk.es88.js.map +1 -1
  306. package/dist/es/standards-sdk.es89.js +339 -21
  307. package/dist/es/standards-sdk.es89.js.map +1 -1
  308. package/dist/es/standards-sdk.es9.js +2 -2
  309. package/dist/es/standards-sdk.es90.js +279 -23
  310. package/dist/es/standards-sdk.es90.js.map +1 -1
  311. package/dist/es/standards-sdk.es91.js +51 -230
  312. package/dist/es/standards-sdk.es91.js.map +1 -1
  313. package/dist/es/standards-sdk.es92.js +48 -281
  314. package/dist/es/standards-sdk.es92.js.map +1 -1
  315. package/dist/es/standards-sdk.es93.js +133 -140
  316. package/dist/es/standards-sdk.es93.js.map +1 -1
  317. package/dist/es/standards-sdk.es94.js +54 -132
  318. package/dist/es/standards-sdk.es94.js.map +1 -1
  319. package/dist/es/standards-sdk.es95.js +26 -45
  320. package/dist/es/standards-sdk.es95.js.map +1 -1
  321. package/dist/es/standards-sdk.es96.js +23 -263
  322. package/dist/es/standards-sdk.es96.js.map +1 -1
  323. package/dist/es/standards-sdk.es97.js +233 -95
  324. package/dist/es/standards-sdk.es97.js.map +1 -1
  325. package/dist/es/standards-sdk.es98.js +260 -79
  326. package/dist/es/standards-sdk.es98.js.map +1 -1
  327. package/dist/es/standards-sdk.es99.js +156 -29
  328. package/dist/es/standards-sdk.es99.js.map +1 -1
  329. package/package.json +16 -3
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es68.js","sources":["../../src/hcs-2/client.ts"],"sourcesContent":["import {\n Client,\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n PrivateKey,\n TopicId,\n TransactionReceipt,\n AccountId,\n PublicKey,\n} from '@hashgraph/sdk';\nimport { HCS2BaseClient } from './base-client';\nimport {\n HCS2ClientConfig,\n HCS2Message,\n HCS2Operation,\n HCS2RegistryType,\n TopicRegistrationResponse,\n RegistryOperationResponse,\n TopicRegistry,\n CreateRegistryOptions,\n RegisterEntryOptions,\n UpdateEntryOptions,\n DeleteEntryOptions,\n MigrateTopicOptions,\n QueryRegistryOptions,\n RegistryEntry,\n} from './types';\nimport { NetworkType } from '../utils/types';\nimport {\n NodeOperatorResolver,\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { buildMessageTx } from '../common/tx/tx-utils';\nimport { buildHcs2CreateRegistryTx } from './tx';\n\n/**\n * SDK client configuration for HCS-2\n */\nexport interface SDKHCS2ClientConfig extends HCS2ClientConfig {\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n}\n\n/**\n * SDK client for HCS-2 operations\n */\nexport class HCS2Client extends HCS2BaseClient {\n private static readonly operationAnalyticsCode: Record<\n HCS2Operation,\n number\n > = {\n [HCS2Operation.REGISTER]: 0,\n [HCS2Operation.UPDATE]: 1,\n [HCS2Operation.DELETE]: 2,\n [HCS2Operation.MIGRATE]: 3,\n };\n\n private client: Client;\n private operatorId: AccountId;\n private operatorCtx: NodeOperatorContext;\n private readonly registryTypeCache = new Map<string, HCS2RegistryType>();\n\n /**\n * Create a new HCS-2 client\n * @param config Client configuration\n */\n constructor(config: SDKHCS2ClientConfig) {\n super({\n network: config.network,\n logLevel: config.logLevel,\n silent: config.silent,\n mirrorNodeUrl: config.mirrorNodeUrl,\n logger: config.logger,\n });\n\n this.operatorId =\n typeof config.operatorId === 'string'\n ? AccountId.fromString(config.operatorId)\n : config.operatorId;\n\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client: this.createClient(config.network),\n });\n this.client = this.operatorCtx.client;\n }\n\n /**\n * Initialize the Hedera client with operator information\n */\n private async ensureInitialized(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n /**\n * Create a Hedera client for the specified network\n * @param network The network to connect to\n * @returns The Hedera client\n */\n private createClient(network: NetworkType): Client {\n if (network === 'mainnet') {\n return Client.forMainnet();\n } else {\n return Client.forTestnet();\n }\n }\n\n /**\n * Create a new registry topic\n * @param options Registry creation options\n * @returns Promise resolving to the transaction result\n */\n async createRegistry(\n options: CreateRegistryOptions = {},\n ): Promise<TopicRegistrationResponse> {\n try {\n await this.ensureInitialized();\n const registryType = options.registryType ?? HCS2RegistryType.INDEXED;\n const ttl = options.ttl ?? 86400; // Default TTL: 24 hours\n\n const memo = this.generateRegistryMemo(registryType, ttl);\n\n let adminKeyPrivate: PrivateKey | undefined;\n let adminPublicKey: PublicKey | undefined;\n if (options.adminKey) {\n if (typeof options.adminKey === 'string') {\n try {\n adminPublicKey = PublicKey.fromString(options.adminKey);\n } catch {\n const keyBytes = Buffer.from(\n options.adminKey.replace(/^0x/i, ''),\n 'hex',\n );\n adminPublicKey =\n this.operatorCtx.keyType === 'ed25519'\n ? PublicKey.fromBytesED25519(keyBytes)\n : PublicKey.fromBytesECDSA(keyBytes);\n }\n } else if (typeof options.adminKey === 'boolean') {\n adminPublicKey = this.operatorCtx.operatorKey.publicKey;\n } else {\n adminPublicKey = options.adminKey.publicKey;\n adminKeyPrivate = options.adminKey;\n }\n }\n\n let submitKeyPrivate: PrivateKey | undefined;\n let submitPublicKey: PublicKey | undefined;\n if (options.submitKey) {\n if (typeof options.submitKey === 'string') {\n try {\n submitPublicKey = PublicKey.fromString(options.submitKey);\n } catch {\n const keyBytes = Buffer.from(\n options.submitKey.replace(/^0x/i, ''),\n 'hex',\n );\n submitPublicKey =\n this.operatorCtx.keyType === 'ed25519'\n ? PublicKey.fromBytesED25519(keyBytes)\n : PublicKey.fromBytesECDSA(keyBytes);\n }\n } else if (typeof options.submitKey === 'boolean') {\n submitPublicKey = this.operatorCtx.operatorKey.publicKey;\n } else {\n submitPublicKey = options.submitKey.publicKey;\n submitKeyPrivate = options.submitKey;\n }\n }\n\n const transaction = buildHcs2CreateRegistryTx({\n registryType,\n ttl,\n adminKey: adminPublicKey,\n submitKey: submitPublicKey,\n operatorPublicKey: this.operatorCtx.operatorKey.publicKey,\n });\n\n const frozenTx = await transaction.freezeWith(this.client);\n\n if (adminKeyPrivate) {\n await frozenTx.sign(adminKeyPrivate);\n }\n\n if (submitKeyPrivate) {\n await frozenTx.sign(submitKeyPrivate);\n }\n\n const txResponse = await frozenTx.execute(this.client);\n\n const receipt = await txResponse.getReceipt(this.client);\n const topicId = receipt.topicId;\n\n if (!topicId) {\n throw new Error('Failed to create registry: No topic ID in receipt');\n }\n\n const topicIdStr = topicId.toString();\n this.registryTypeCache.set(topicIdStr, registryType);\n\n this.logger.info(\n `Created registry topic: ${topicIdStr} (${registryType === HCS2RegistryType.INDEXED ? 'Indexed' : 'Non-indexed'}, TTL: ${ttl}s)`,\n );\n\n return {\n success: true,\n topicId: topicIdStr,\n transactionId: txResponse.transactionId.toString(),\n };\n } catch (error) {\n this.logger.error(`Failed to create registry: ${error}`);\n return {\n success: false,\n error: `Failed to create registry: ${error}`,\n };\n }\n }\n\n /**\n * Register a new entry in the registry\n * @param registryTopicId The topic ID of the registry\n * @param options Registration options\n * @param protocol Optional protocol version (defaults to 'hcs-2')\n * @returns Promise resolving to the operation result\n */\n async registerEntry(\n registryTopicId: string,\n options: RegisterEntryOptions,\n protocol: string = 'hcs-2',\n ): Promise<RegistryOperationResponse> {\n try {\n await this.ensureInitialized();\n const message = this.createRegisterMessage(\n options.targetTopicId,\n options.metadata,\n options.memo,\n protocol,\n );\n\n const registryType =\n options.registryType ??\n (await this.resolveRegistryType(registryTopicId));\n this.registryTypeCache.set(registryTopicId, registryType);\n const analyticsMemo =\n options.analyticsMemo ??\n this.buildAnalyticsMemo(HCS2Operation.REGISTER, registryType);\n\n const receipt = await this.submitMessage(\n registryTopicId,\n message,\n analyticsMemo,\n );\n\n this.logger.info(\n `Registered entry in registry ${registryTopicId} pointing to topic ${options.targetTopicId} using protocol ${protocol}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to register entry: ${error}`);\n return {\n success: false,\n error: `Failed to register entry: ${error}`,\n };\n }\n }\n\n /**\n * Update an existing entry in the registry (indexed registries only)\n * @param registryTopicId The topic ID of the registry\n * @param options Update options\n * @returns Promise resolving to the operation result\n */\n async updateEntry(\n registryTopicId: string,\n options: UpdateEntryOptions,\n ): Promise<RegistryOperationResponse> {\n try {\n await this.ensureInitialized();\n const registryInfo = await this.mirrorNode.getTopicInfo(registryTopicId);\n const memoInfo = this.parseRegistryTypeFromMemo(registryInfo.memo);\n\n if (!memoInfo || memoInfo.registryType !== HCS2RegistryType.INDEXED) {\n throw new Error(\n 'Update operation is only valid for indexed registries',\n );\n }\n\n const message = this.createUpdateMessage(\n options.targetTopicId,\n options.uid,\n options.metadata,\n options.memo,\n );\n\n const registryType =\n options.registryType ??\n (await this.resolveRegistryType(registryTopicId));\n this.registryTypeCache.set(registryTopicId, registryType);\n const analyticsMemo =\n options.analyticsMemo ??\n this.buildAnalyticsMemo(HCS2Operation.UPDATE, registryType);\n\n const receipt = await this.submitMessage(\n registryTopicId,\n message,\n analyticsMemo,\n );\n\n this.logger.info(\n `Updated entry with UID ${options.uid} in registry ${registryTopicId}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to update entry: ${error}`);\n throw error;\n }\n }\n\n /**\n * Delete an entry from the registry (indexed registries only)\n * @param registryTopicId The topic ID of the registry\n * @param options Delete options\n * @returns Promise resolving to the operation result\n */\n async deleteEntry(\n registryTopicId: string,\n options: DeleteEntryOptions,\n ): Promise<RegistryOperationResponse> {\n try {\n await this.ensureInitialized();\n const registryInfo = await this.mirrorNode.getTopicInfo(registryTopicId);\n const memoInfo = this.parseRegistryTypeFromMemo(registryInfo.memo);\n\n if (!memoInfo || memoInfo.registryType !== HCS2RegistryType.INDEXED) {\n throw new Error(\n 'Delete operation is only valid for indexed registries',\n );\n }\n\n const message = this.createDeleteMessage(options.uid, options.memo);\n\n const registryType =\n options.registryType ??\n (await this.resolveRegistryType(registryTopicId));\n this.registryTypeCache.set(registryTopicId, registryType);\n const analyticsMemo =\n options.analyticsMemo ??\n this.buildAnalyticsMemo(HCS2Operation.DELETE, registryType);\n\n const receipt = await this.submitMessage(\n registryTopicId,\n message,\n analyticsMemo,\n );\n\n this.logger.info(\n `Deleted entry with UID ${options.uid} from registry ${registryTopicId}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to delete entry: ${error}`);\n throw error;\n }\n }\n\n /**\n * Migrate a registry to a new topic\n * @param registryTopicId The topic ID of the registry\n * @param options Migration options\n * @returns Promise resolving to the operation result\n */\n async migrateRegistry(\n registryTopicId: string,\n options: MigrateTopicOptions,\n ): Promise<RegistryOperationResponse> {\n try {\n await this.ensureInitialized();\n const message = this.createMigrateMessage(\n options.targetTopicId,\n options.metadata,\n options.memo,\n );\n\n const registryType =\n options.registryType ??\n (await this.resolveRegistryType(registryTopicId));\n this.registryTypeCache.set(registryTopicId, registryType);\n const analyticsMemo =\n options.analyticsMemo ??\n this.buildAnalyticsMemo(HCS2Operation.MIGRATE, registryType);\n\n const receipt = await this.submitMessage(\n registryTopicId,\n message,\n analyticsMemo,\n );\n\n this.logger.info(\n `Migrated registry ${registryTopicId} to ${options.targetTopicId}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to migrate registry: ${error}`);\n throw error;\n }\n }\n\n /**\n * Get all entries from a registry\n * @param topicId The topic ID of the registry\n * @param options Query options\n * @returns Promise resolving to the registry information\n */\n async getRegistry(\n topicId: string,\n options: QueryRegistryOptions = {},\n ): Promise<TopicRegistry> {\n try {\n await this.ensureInitialized();\n const topicInfo = await this.mirrorNode.getTopicInfo(topicId);\n this.logger.debug(\n `Retrieved topic info for ${topicId}: ${JSON.stringify(topicInfo)}`,\n );\n\n const memoInfo = this.parseRegistryTypeFromMemo(topicInfo.memo);\n\n if (!memoInfo) {\n throw new Error(\n `Topic ${topicId} is not an HCS-2 registry (invalid memo format)`,\n );\n }\n\n this.logger.debug(\n `Retrieving messages for topic ${topicId} with limit ${options.limit ?? 100}`,\n );\n const rawMessagesResult = (await this.mirrorNode.getTopicMessages(\n topicId,\n {\n sequenceNumber:\n options.skip && options.skip > 0 ? `gt:${options.skip}` : undefined,\n limit: options.limit ?? 100,\n order: options.order ?? 'asc',\n },\n )) as any[];\n\n const rawMessages = options.limit\n ? rawMessagesResult.slice(0, options.limit)\n : rawMessagesResult;\n\n this.logger.debug(\n `Retrieved ${rawMessagesResult.length} messages, using ${rawMessages.length} after applying limit.`,\n );\n\n const entries: RegistryEntry[] = [];\n let latestEntry: RegistryEntry | undefined;\n\n for (const msg of rawMessages) {\n try {\n const message: HCS2Message = {\n p: 'hcs-2',\n op: msg.op,\n t_id: msg.t_id,\n uid: msg.uid,\n metadata: msg.metadata,\n m: msg.m,\n } as HCS2Message;\n\n const { valid, errors } = this.validateMessage(message);\n if (!valid) {\n this.logger.warn(`Invalid HCS-2 message: ${errors.join(', ')}`);\n continue;\n }\n\n const entry: RegistryEntry = {\n topicId,\n sequence: msg.sequence_number,\n timestamp: msg.consensus_timestamp,\n payer: msg.payer_account_id || msg.payer || '',\n message,\n consensus_timestamp: msg.consensus_timestamp,\n registry_type: memoInfo.registryType,\n };\n\n entries.push(entry);\n\n if (\n memoInfo.registryType === HCS2RegistryType.NON_INDEXED ||\n !latestEntry ||\n entry.timestamp > latestEntry.timestamp\n ) {\n latestEntry = entry;\n }\n } catch (error) {\n this.logger.warn(`Error processing message: ${error}`);\n }\n }\n\n this.logger.debug(\n `Processed ${entries.length} valid entries for registry ${topicId}`,\n );\n\n const registry: TopicRegistry = {\n topicId,\n registryType: memoInfo.registryType,\n ttl: memoInfo.ttl,\n entries:\n memoInfo.registryType === HCS2RegistryType.INDEXED\n ? entries\n : latestEntry\n ? [latestEntry]\n : [],\n latestEntry,\n };\n\n return registry;\n } catch (error) {\n this.logger.error(`Failed to get registry: ${error}`);\n throw error;\n }\n }\n\n private buildAnalyticsMemo(\n operation: HCS2Operation,\n registryType: HCS2RegistryType,\n ): string {\n const opCode = HCS2Client.operationAnalyticsCode[operation];\n return `hcs-2:op:${opCode}:${registryType}`;\n }\n\n private async resolveRegistryType(\n topicId: string,\n ): Promise<HCS2RegistryType> {\n const cached = this.registryTypeCache.get(topicId);\n if (cached !== undefined) {\n return cached;\n }\n\n const topicInfo = await this.mirrorNode.getTopicInfo(topicId);\n const memoInfo = this.parseRegistryTypeFromMemo(topicInfo.memo);\n if (!memoInfo) {\n throw new Error(\n `Topic ${topicId} is not an HCS-2 registry (invalid memo format)`,\n );\n }\n\n this.registryTypeCache.set(topicId, memoInfo.registryType);\n return memoInfo.registryType;\n }\n\n /**\n * Submit a message to a topic\n * @param topicId The topic ID to submit to\n * @param payload The message payload\n * @returns Promise resolving to the transaction receipt\n */\n async submitMessage(\n topicId: string,\n payload: HCS2Message,\n analyticsMemo?: string,\n ): Promise<TransactionReceipt> {\n try {\n await this.ensureInitialized();\n const { valid, errors } = this.validateMessage(payload);\n if (!valid) {\n throw new Error(`Invalid HCS-2 message: ${errors.join(', ')}`);\n }\n\n const transaction = buildMessageTx({\n topicId,\n message: JSON.stringify(payload),\n transactionMemo: analyticsMemo,\n });\n\n const txResponse = await transaction.execute(this.client);\n\n const receipt = await txResponse.getReceipt(this.client);\n\n return receipt;\n } catch (error) {\n this.logger.error(`Failed to submit message: ${error}`);\n throw error;\n }\n }\n\n /**\n * @param topicId The topic ID to query\n * @returns Promise resolving to the topic information\n */\n public async getTopicInfo(topicId: string): Promise<any> {\n return this.mirrorNode.getTopicInfo(topicId);\n }\n\n /**\n * Close the client and release resources\n */\n public close(): void {\n this.logger.info('HCS-2 client closed.');\n }\n\n /**\n * Get the configured key type (ed25519 or ecdsa)\n */\n public getKeyType(): 'ed25519' | 'ecdsa' {\n return this.operatorCtx.keyType;\n }\n\n /**\n * Get the configured operator private key\n */\n public getOperatorKey(): PrivateKey {\n return this.operatorCtx.operatorKey;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es68.js","sources":["../../src/hcs-14/issuers/hiero.ts"],"sourcesContent":["import { DidIssueRequest, DidIssueRequestHedera, DidIssuer } from './types';\nimport type { AdapterMeta } from '../adapters/types';\nimport { optionalImport } from '../../utils/dynamic-import';\nimport type { PublicKey, TransactionReceipt } from '@hashgraph/sdk';\n\ntype CreateDID = typeof import('@hiero-did-sdk/registrar').createDID;\ntype HieroRegistrarModule = typeof import('@hiero-did-sdk/registrar');\n\nconst hieroRegistrarModuleId = ['@hiero-did-sdk', 'registrar'].join('/');\n\nlet registrarPromise: Promise<CreateDID | null> | null = null;\n\ntype PublisherClientLike = {\n ledgerId?: {\n isMainnet: () => boolean;\n isTestnet: () => boolean;\n isPreviewnet: () => boolean;\n isLocalNode: () => boolean;\n toString: () => string;\n };\n operatorPublicKey?: PublicKey;\n operatorAccountId?: { toString: () => string };\n};\n\ntype AutoRenewTransactionLike = {\n getAutoRenewAccountId?: () => unknown;\n setAutoRenewAccountId?: (value: string) => void;\n freezeWith: (client: PublisherClientLike) => {\n execute: (client: PublisherClientLike) => Promise<{\n getReceipt: (client: PublisherClientLike) => Promise<TransactionReceipt>;\n }>;\n };\n};\n\nfunction toAccountIdString(value: unknown): string | null {\n if (typeof value === 'string' && value.trim()) {\n return value;\n }\n\n if (\n value &&\n typeof (value as { toString?: () => string }).toString === 'function'\n ) {\n const result = (value as { toString: () => string }).toString();\n return typeof result === 'string' && result.trim() ? result : null;\n }\n\n return null;\n}\n\nfunction createHieroPublisher(client: PublisherClientLike) {\n return {\n network: () => {\n const ledgerId = client.ledgerId;\n if (!ledgerId) {\n throw new Error('Hedera SDK Client must be configured with a network');\n }\n if (ledgerId.isMainnet()) return 'mainnet';\n if (ledgerId.isTestnet()) return 'testnet';\n if (ledgerId.isPreviewnet()) return 'previewnet';\n if (ledgerId.isLocalNode()) return 'local-node';\n throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);\n },\n publicKey: () => {\n if (!client.operatorPublicKey) {\n throw new Error(\n 'Hedera SDK Client must be configured with an operator account',\n );\n }\n return client.operatorPublicKey;\n },\n publish: async (transaction: AutoRenewTransactionLike) => {\n const current =\n typeof transaction.getAutoRenewAccountId === 'function'\n ? transaction.getAutoRenewAccountId()\n : null;\n const autoRenewAccountId = toAccountIdString(client.operatorAccountId);\n\n if (\n !current &&\n autoRenewAccountId &&\n typeof transaction.setAutoRenewAccountId === 'function'\n ) {\n transaction.setAutoRenewAccountId(autoRenewAccountId);\n }\n\n const response = await transaction.freezeWith(client).execute(client);\n return response.getReceipt(client);\n },\n };\n}\n\nasync function loadCreateDID(): Promise<CreateDID | null> {\n if (!registrarPromise) {\n // Prefer ESM to keep @hashgraph/sdk classes consistent across caller + registrar.\n registrarPromise = optionalImport<HieroRegistrarModule>(\n hieroRegistrarModuleId,\n { preferImport: true },\n ).then(mod => mod?.createDID ?? null);\n }\n return registrarPromise;\n}\n\nexport class HederaHieroIssuer implements DidIssuer {\n readonly meta: AdapterMeta = {\n id: 'hedera/hiero',\n didMethods: ['hedera'],\n caip2Networks: [\n 'hedera:mainnet',\n 'hedera:testnet',\n 'hedera:previewnet',\n 'hedera:devnet',\n ],\n caip10Namespaces: ['hedera'],\n displayName: 'Hedera (Hiero Registrar)',\n description: 'Issues did:hedera identifiers using the Hiero DID registrar.',\n homepage: 'https://github.com/hiero-ledger/hiero-did-sdk-js',\n };\n\n supports(method: string): boolean {\n return method === 'hedera';\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n if (request.method !== 'hedera') {\n throw new Error('HederaHieroIssuer only handles method \"hedera\"');\n }\n if (!('client' in request)) {\n throw new Error('Hedera client is required to issue did:hedera');\n }\n const createDID = await loadCreateDID();\n if (!createDID) {\n throw new Error(\n 'Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed.',\n );\n }\n const client = (request as DidIssueRequestHedera).client;\n const did = await createDID(\n {},\n { publisher: createHieroPublisher(client) },\n );\n return did.did;\n }\n}\n"],"names":[],"mappings":";AAQA,MAAM,yBAAyB,CAAC,kBAAkB,WAAW,EAAE,KAAK,GAAG;AAEvE,IAAI,mBAAqD;AAwBzD,SAAS,kBAAkB,OAA+B;AACxD,MAAI,OAAO,UAAU,YAAY,MAAM,QAAQ;AAC7C,WAAO;AAAA,EACT;AAEA,MACE,SACA,OAAQ,MAAsC,aAAa,YAC3D;AACA,UAAM,SAAU,MAAqC,SAAA;AACrD,WAAO,OAAO,WAAW,YAAY,OAAO,KAAA,IAAS,SAAS;AAAA,EAChE;AAEA,SAAO;AACT;AAEA,SAAS,qBAAqB,QAA6B;AACzD,SAAO;AAAA,IACL,SAAS,MAAM;AACb,YAAM,WAAW,OAAO;AACxB,UAAI,CAAC,UAAU;AACb,cAAM,IAAI,MAAM,qDAAqD;AAAA,MACvE;AACA,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,aAAA,EAAgB,QAAO;AACpC,UAAI,SAAS,YAAA,EAAe,QAAO;AACnC,YAAM,IAAI,MAAM,+BAA+B,SAAS,SAAA,CAAU,EAAE;AAAA,IACtE;AAAA,IACA,WAAW,MAAM;AACf,UAAI,CAAC,OAAO,mBAAmB;AAC7B,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAAA,MAEJ;AACA,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,SAAS,OAAO,gBAA0C;AACxD,YAAM,UACJ,OAAO,YAAY,0BAA0B,aACzC,YAAY,0BACZ;AACN,YAAM,qBAAqB,kBAAkB,OAAO,iBAAiB;AAErE,UACE,CAAC,WACD,sBACA,OAAO,YAAY,0BAA0B,YAC7C;AACA,oBAAY,sBAAsB,kBAAkB;AAAA,MACtD;AAEA,YAAM,WAAW,MAAM,YAAY,WAAW,MAAM,EAAE,QAAQ,MAAM;AACpE,aAAO,SAAS,WAAW,MAAM;AAAA,IACnC;AAAA,EAAA;AAEJ;AAEA,eAAe,gBAA2C;AACxD,MAAI,CAAC,kBAAkB;AAErB,uBAAmB;AAAA,MACjB;AAAA,MACA,EAAE,cAAc,KAAA;AAAA,IAAK,EACrB,KAAK,CAAA,QAAO,KAAK,aAAa,IAAI;AAAA,EACtC;AACA,SAAO;AACT;AAEO,MAAM,kBAAuC;AAAA,EAA7C,cAAA;AACL,SAAS,OAAoB;AAAA,MAC3B,IAAI;AAAA,MACJ,YAAY,CAAC,QAAQ;AAAA,MACrB,eAAe;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAEF,kBAAkB,CAAC,QAAQ;AAAA,MAC3B,aAAa;AAAA,MACb,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEA,SAAS,QAAyB;AAChC,WAAO,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,QAAI,QAAQ,WAAW,UAAU;AAC/B,YAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AACA,QAAI,EAAE,YAAY,UAAU;AAC1B,YAAM,IAAI,MAAM,+CAA+C;AAAA,IACjE;AACA,UAAM,YAAY,MAAM,cAAA;AACxB,QAAI,CAAC,WAAW;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AACA,UAAM,SAAU,QAAkC;AAClD,UAAM,MAAM,MAAM;AAAA,MAChB,CAAA;AAAA,MACA,EAAE,WAAW,qBAAqB,MAAM,EAAA;AAAA,IAAE;AAE5C,WAAO,IAAI;AAAA,EACb;AACF;"}
@@ -1,327 +1,7 @@
1
- import { TopicCreateTransaction, PublicKey } from "@hashgraph/sdk";
2
- import { HCS2BaseClient } from "./standards-sdk.es70.js";
3
- import { HCS2RegistryType, HCS2Operation } from "./standards-sdk.es67.js";
4
- import { isBrowser } from "./standards-sdk.es124.js";
5
- import { KeyTypeDetector } from "./standards-sdk.es119.js";
6
- import { buildMessageTx } from "./standards-sdk.es147.js";
7
- class BrowserHCS2Client extends HCS2BaseClient {
8
- /**
9
- * Create a new browser HCS-2 client
10
- * @param config Client configuration
11
- */
12
- constructor(config) {
13
- super({
14
- network: config.network,
15
- logLevel: config.logLevel,
16
- silent: config.silent,
17
- mirrorNodeUrl: config.mirrorNodeUrl,
18
- logger: config.logger
19
- });
20
- this.hwc = config.hwc;
21
- if (!isBrowser) {
22
- this.logger.error(
23
- "BrowserHCS2Client initialized in server environment - browser-specific features will not be available. Use HCS2Client instead."
24
- );
25
- } else {
26
- this.logger.info("HCS-2 browser client initialized successfully");
27
- }
28
- }
29
- /**
30
- * Get the operator account ID
31
- * @returns The operator account ID
32
- */
33
- getOperatorId() {
34
- const accountInfo = this.hwc.getAccountInfo();
35
- if (!accountInfo || !accountInfo.accountId) {
36
- throw new Error("No connected account found");
37
- }
38
- return accountInfo.accountId;
39
- }
40
- /**
41
- * Create a new registry topic
42
- * @param options Registry creation options
43
- * @returns Promise resolving to the transaction result
44
- */
45
- async createRegistry(options = {}) {
46
- try {
47
- const registryType = options.registryType ?? HCS2RegistryType.INDEXED;
48
- const ttl = options.ttl ?? 86400;
49
- const memo = this.generateRegistryMemo(registryType, ttl);
50
- let transaction = new TopicCreateTransaction().setTopicMemo(memo);
51
- if (options.adminKey) {
52
- let adminPublicKey;
53
- if (typeof options.adminKey === "string") {
54
- try {
55
- adminPublicKey = PublicKey.fromString(options.adminKey);
56
- } catch {
57
- const keyInfo = KeyTypeDetector.detect(options.adminKey);
58
- if (keyInfo.rawBytes) {
59
- adminPublicKey = keyInfo.type === "ed25519" ? PublicKey.fromBytesED25519(keyInfo.rawBytes) : PublicKey.fromBytesECDSA(keyInfo.rawBytes);
60
- } else {
61
- throw new Error("Failed to parse admin public key");
62
- }
63
- }
64
- } else if (typeof options.adminKey === "boolean") {
65
- adminPublicKey = await this.mirrorNode.getPublicKey(
66
- this.getOperatorId()
67
- );
68
- } else {
69
- adminPublicKey = options.adminKey.publicKey;
70
- }
71
- transaction = transaction.setAdminKey(adminPublicKey);
72
- }
73
- if (options.submitKey) {
74
- let submitPublicKey;
75
- if (typeof options.submitKey === "string") {
76
- try {
77
- submitPublicKey = PublicKey.fromString(options.submitKey);
78
- } catch {
79
- const keyInfo = KeyTypeDetector.detect(options.submitKey);
80
- if (keyInfo.rawBytes) {
81
- submitPublicKey = keyInfo.type === "ed25519" ? PublicKey.fromBytesED25519(keyInfo.rawBytes) : PublicKey.fromBytesECDSA(keyInfo.rawBytes);
82
- } else {
83
- throw new Error("Failed to parse submit public key");
84
- }
85
- }
86
- } else if (typeof options.submitKey === "boolean") {
87
- submitPublicKey = await this.mirrorNode.getPublicKey(
88
- this.getOperatorId()
89
- );
90
- } else {
91
- submitPublicKey = options.submitKey.publicKey;
92
- }
93
- transaction = transaction.setSubmitKey(submitPublicKey);
94
- }
95
- const txResponse = await this.executeWithWallet(transaction);
96
- if (txResponse?.error) {
97
- throw new Error(txResponse.error);
98
- }
99
- const resultReceipt = txResponse?.result;
100
- if (!resultReceipt?.topicId) {
101
- throw new Error("Failed to create registry: No topic ID in receipt");
102
- }
103
- const topicId = resultReceipt.topicId.toString();
104
- this.logger.info(
105
- `Created registry topic: ${topicId} (${registryType === HCS2RegistryType.INDEXED ? "Indexed" : "Non-indexed"}, TTL: ${ttl}s)`
106
- );
107
- return {
108
- success: true,
109
- topicId,
110
- transactionId: txResponse.transactionId || "unknown"
111
- };
112
- } catch (error) {
113
- this.logger.error(`Failed to create registry: ${error}`);
114
- return {
115
- success: false,
116
- error: `Failed to create registry: ${error}`
117
- };
118
- }
119
- }
120
- /**
121
- * Register a new entry in the registry
122
- * @param registryTopicId The topic ID of the registry
123
- * @param options Registration options
124
- * @returns Promise resolving to the operation result
125
- */
126
- async registerEntry(registryTopicId, options) {
127
- try {
128
- const message = this.createRegisterMessage(
129
- options.targetTopicId,
130
- options.metadata,
131
- options.memo
132
- );
133
- if (message.op !== HCS2Operation.REGISTER) {
134
- throw new Error(
135
- `Invalid operation type: ${message.op}, expected ${HCS2Operation.REGISTER}`
136
- );
137
- }
138
- const receipt = await this.submitMessage(registryTopicId, message);
139
- this.logger.info(
140
- `Registered entry in registry ${registryTopicId} pointing to topic ${options.targetTopicId}`
141
- );
142
- return {
143
- success: true,
144
- receipt,
145
- sequenceNumber: receipt.topicSequenceNumber?.low ?? void 0
146
- };
147
- } catch (error) {
148
- this.logger.error(`Failed to register entry: ${error}`);
149
- return {
150
- success: false,
151
- error: `Failed to register entry: ${error}`
152
- };
153
- }
154
- }
155
- /**
156
- * Update an existing entry in the registry (indexed registries only)
157
- * @param registryTopicId The topic ID of the registry
158
- * @param options Update options
159
- * @returns Promise resolving to the operation result
160
- */
161
- async updateEntry(registryTopicId, options) {
162
- try {
163
- const registryInfo = await this.mirrorNode.getTopicInfo(registryTopicId);
164
- const memoInfo = this.parseRegistryTypeFromMemo(registryInfo.memo);
165
- if (!memoInfo || memoInfo.registryType !== HCS2RegistryType.INDEXED) {
166
- throw new Error(
167
- "Update operation is only valid for indexed registries"
168
- );
169
- }
170
- const message = this.createUpdateMessage(
171
- options.targetTopicId,
172
- options.uid,
173
- options.metadata,
174
- options.memo
175
- );
176
- const receipt = await this.submitMessage(registryTopicId, message);
177
- this.logger.info(
178
- `Updated entry with UID ${options.uid} in registry ${registryTopicId}`
179
- );
180
- return {
181
- success: true,
182
- receipt,
183
- sequenceNumber: receipt.topicSequenceNumber?.low ?? void 0
184
- };
185
- } catch (error) {
186
- this.logger.error(`Failed to update entry: ${error}`);
187
- return {
188
- success: false,
189
- error: `Failed to update entry: ${error}`
190
- };
191
- }
192
- }
193
- /**
194
- * Delete an entry from the registry (indexed registries only)
195
- * @param registryTopicId The topic ID of the registry
196
- * @param options Delete options
197
- * @returns Promise resolving to the operation result
198
- */
199
- async deleteEntry(registryTopicId, options) {
200
- try {
201
- const registryInfo = await this.mirrorNode.getTopicInfo(registryTopicId);
202
- const memoInfo = this.parseRegistryTypeFromMemo(registryInfo.memo);
203
- if (!memoInfo || memoInfo.registryType !== HCS2RegistryType.INDEXED) {
204
- throw new Error(
205
- "Delete operation is only valid for indexed registries"
206
- );
207
- }
208
- const message = this.createDeleteMessage(options.uid, options.memo);
209
- const receipt = await this.submitMessage(registryTopicId, message);
210
- this.logger.info(
211
- `Deleted entry with UID ${options.uid} from registry ${registryTopicId}`
212
- );
213
- return {
214
- success: true,
215
- receipt,
216
- sequenceNumber: receipt.topicSequenceNumber?.low ?? void 0
217
- };
218
- } catch (error) {
219
- this.logger.error(`Failed to delete entry: ${error}`);
220
- return {
221
- success: false,
222
- error: `Failed to delete entry: ${error}`
223
- };
224
- }
225
- }
226
- /**
227
- * Migrate a registry to a new topic
228
- * @param registryTopicId The topic ID of the registry
229
- * @param options Migration options
230
- * @returns Promise resolving to the operation result
231
- */
232
- async migrateRegistry(registryTopicId, options) {
233
- try {
234
- const message = this.createMigrateMessage(
235
- options.targetTopicId,
236
- options.metadata,
237
- options.memo
238
- );
239
- const receipt = await this.submitMessage(registryTopicId, message);
240
- this.logger.info(
241
- `Migrated registry ${registryTopicId} to ${options.targetTopicId}`
242
- );
243
- return {
244
- success: true,
245
- receipt,
246
- sequenceNumber: receipt.topicSequenceNumber?.low ?? void 0
247
- };
248
- } catch (error) {
249
- this.logger.error(`Failed to migrate registry: ${error}`);
250
- return {
251
- success: false,
252
- error: `Failed to migrate registry: ${error}`
253
- };
254
- }
255
- }
256
- /**
257
- * Get all entries from a registry
258
- * @param topicId The topic ID of the registry
259
- * @param options Query options
260
- * @returns Promise resolving to the registry information
261
- */
262
- async getRegistry(topicId, options = {}) {
263
- try {
264
- const topicInfo = await this.mirrorNode.getTopicInfo(topicId);
265
- const memoInfo = this.parseRegistryTypeFromMemo(topicInfo.memo);
266
- if (!memoInfo) {
267
- throw new Error(
268
- `Topic ${topicId} is not an HCS-2 registry (invalid memo format)`
269
- );
270
- }
271
- const messagesResult = await this.mirrorNode.getTopicMessages(topicId, {
272
- sequenceNumber: options.skip && options.skip > 0 ? `gt:${options.skip}` : void 0,
273
- limit: options.limit ?? 100,
274
- order: options.order ?? "asc"
275
- });
276
- const messages = options.limit ? messagesResult.slice(0, options.limit) : messagesResult;
277
- return this.parseRegistryEntries(
278
- topicId,
279
- messages,
280
- memoInfo.registryType,
281
- memoInfo.ttl
282
- );
283
- } catch (error) {
284
- this.logger.error(`Failed to get registry: ${error}`);
285
- throw error;
286
- }
287
- }
288
- /**
289
- * Submit a message to a topic
290
- * @param topicId The topic ID to submit to
291
- * @param payload The message payload
292
- * @returns Promise resolving to the transaction receipt
293
- */
294
- async submitMessage(topicId, payload) {
295
- try {
296
- const { valid, errors } = this.validateMessage(payload);
297
- if (!valid) {
298
- throw new Error(`Invalid HCS-2 message: ${errors.join(", ")}`);
299
- }
300
- const transaction = buildMessageTx({
301
- topicId,
302
- message: JSON.stringify(payload)
303
- });
304
- const txResponse = await this.executeWithWallet(transaction);
305
- if (txResponse?.error) {
306
- throw new Error(txResponse.error);
307
- }
308
- return txResponse.result;
309
- } catch (error) {
310
- this.logger.error(`Failed to submit message: ${error}`);
311
- throw error;
312
- }
313
- }
314
- async executeWithWallet(transaction) {
315
- const maybeExec = this.hwc.executeTransactionWithErrorHandling;
316
- if (!maybeExec) {
317
- throw new Error(
318
- "Wallet SDK does not support executeTransactionWithErrorHandling"
319
- );
320
- }
321
- return await maybeExec.call(this.hwc, transaction, false);
322
- }
1
+ function buildHcs1Hrl(topicId) {
2
+ return `hcs://1/${topicId}`;
323
3
  }
324
4
  export {
325
- BrowserHCS2Client
5
+ buildHcs1Hrl
326
6
  };
327
7
  //# sourceMappingURL=standards-sdk.es69.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es69.js","sources":["../../src/hcs-2/browser.ts"],"sourcesContent":["import {\n TransactionReceipt,\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n TopicId,\n PublicKey,\n} from '@hashgraph/sdk';\nimport { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';\nimport { HCS2BaseClient } from './base-client';\nimport {\n HCS2ClientConfig,\n HCS2Message,\n HCS2Operation,\n HCS2RegistryType,\n TopicRegistrationResponse,\n RegistryOperationResponse,\n TopicRegistry,\n CreateRegistryOptions,\n RegisterEntryOptions,\n UpdateEntryOptions,\n DeleteEntryOptions,\n MigrateTopicOptions,\n QueryRegistryOptions,\n} from './types';\nimport { isBrowser } from '../utils/is-browser';\nimport { KeyTypeDetector } from '../utils/key-type-detector';\nimport { buildMessageTx } from '../common/tx/tx-utils';\n\ninterface WalletExecuteResult {\n result?: TransactionReceipt;\n transactionId?: string;\n error?: string;\n}\n\ninterface WalletExecuteSupport<Tx> {\n executeTransactionWithErrorHandling?: (\n tx: Tx,\n returnBytes?: boolean,\n ) => Promise<WalletExecuteResult>;\n}\n\n/**\n * Browser client configuration for HCS-2\n */\nexport interface BrowserHCS2Config extends HCS2ClientConfig {\n hwc: HashinalsWalletConnectSDK;\n}\n\n/**\n * Browser client for HCS-2 operations\n */\nexport class BrowserHCS2Client extends HCS2BaseClient {\n private hwc: HashinalsWalletConnectSDK;\n\n /**\n * Create a new browser HCS-2 client\n * @param config Client configuration\n */\n constructor(config: BrowserHCS2Config) {\n super({\n network: config.network,\n logLevel: config.logLevel,\n silent: config.silent,\n mirrorNodeUrl: config.mirrorNodeUrl,\n logger: config.logger,\n });\n\n this.hwc = config.hwc;\n\n if (!isBrowser) {\n this.logger.error(\n 'BrowserHCS2Client initialized in server environment - browser-specific features will not be available. Use HCS2Client instead.',\n );\n } else {\n this.logger.info('HCS-2 browser client initialized successfully');\n }\n }\n\n /**\n * Get the operator account ID\n * @returns The operator account ID\n */\n private getOperatorId(): string {\n const accountInfo = this.hwc.getAccountInfo();\n if (!accountInfo || !accountInfo.accountId) {\n throw new Error('No connected account found');\n }\n return accountInfo.accountId;\n }\n\n /**\n * Create a new registry topic\n * @param options Registry creation options\n * @returns Promise resolving to the transaction result\n */\n async createRegistry(\n options: CreateRegistryOptions = {},\n ): Promise<TopicRegistrationResponse> {\n try {\n const registryType = options.registryType ?? HCS2RegistryType.INDEXED;\n const ttl = options.ttl ?? 86400; // Default TTL: 24 hours\n\n const memo = this.generateRegistryMemo(registryType, ttl);\n\n let transaction = new TopicCreateTransaction().setTopicMemo(memo);\n\n if (options.adminKey) {\n let adminPublicKey: PublicKey;\n if (typeof options.adminKey === 'string') {\n try {\n adminPublicKey = PublicKey.fromString(options.adminKey);\n } catch {\n const keyInfo = KeyTypeDetector.detect(options.adminKey);\n if (keyInfo.rawBytes) {\n adminPublicKey =\n keyInfo.type === 'ed25519'\n ? PublicKey.fromBytesED25519(keyInfo.rawBytes)\n : PublicKey.fromBytesECDSA(keyInfo.rawBytes);\n } else {\n throw new Error('Failed to parse admin public key');\n }\n }\n } else if (typeof options.adminKey === 'boolean') {\n adminPublicKey = await this.mirrorNode.getPublicKey(\n this.getOperatorId(),\n );\n } else {\n adminPublicKey = options.adminKey.publicKey;\n }\n transaction = transaction.setAdminKey(adminPublicKey);\n }\n\n if (options.submitKey) {\n let submitPublicKey: PublicKey;\n if (typeof options.submitKey === 'string') {\n try {\n submitPublicKey = PublicKey.fromString(options.submitKey);\n } catch {\n const keyInfo = KeyTypeDetector.detect(options.submitKey);\n if (keyInfo.rawBytes) {\n submitPublicKey =\n keyInfo.type === 'ed25519'\n ? PublicKey.fromBytesED25519(keyInfo.rawBytes)\n : PublicKey.fromBytesECDSA(keyInfo.rawBytes);\n } else {\n throw new Error('Failed to parse submit public key');\n }\n }\n } else if (typeof options.submitKey === 'boolean') {\n submitPublicKey = await this.mirrorNode.getPublicKey(\n this.getOperatorId(),\n );\n } else {\n submitPublicKey = options.submitKey.publicKey;\n }\n transaction = transaction.setSubmitKey(submitPublicKey);\n }\n\n const txResponse = await this.executeWithWallet(transaction);\n\n if (txResponse?.error) {\n throw new Error(txResponse.error);\n }\n\n const resultReceipt = txResponse?.result;\n if (!resultReceipt?.topicId) {\n throw new Error('Failed to create registry: No topic ID in receipt');\n }\n\n const topicId = resultReceipt.topicId.toString();\n\n this.logger.info(\n `Created registry topic: ${topicId} (${registryType === HCS2RegistryType.INDEXED ? 'Indexed' : 'Non-indexed'}, TTL: ${ttl}s)`,\n );\n\n return {\n success: true,\n topicId,\n transactionId: txResponse.transactionId || 'unknown',\n };\n } catch (error) {\n this.logger.error(`Failed to create registry: ${error}`);\n return {\n success: false,\n error: `Failed to create registry: ${error}`,\n };\n }\n }\n\n /**\n * Register a new entry in the registry\n * @param registryTopicId The topic ID of the registry\n * @param options Registration options\n * @returns Promise resolving to the operation result\n */\n async registerEntry(\n registryTopicId: string,\n options: RegisterEntryOptions,\n ): Promise<RegistryOperationResponse> {\n try {\n const message = this.createRegisterMessage(\n options.targetTopicId,\n options.metadata,\n options.memo,\n );\n\n if (message.op !== HCS2Operation.REGISTER) {\n throw new Error(\n `Invalid operation type: ${message.op}, expected ${HCS2Operation.REGISTER}`,\n );\n }\n\n const receipt = await this.submitMessage(registryTopicId, message);\n\n this.logger.info(\n `Registered entry in registry ${registryTopicId} pointing to topic ${options.targetTopicId}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to register entry: ${error}`);\n return {\n success: false,\n error: `Failed to register entry: ${error}`,\n };\n }\n }\n\n /**\n * Update an existing entry in the registry (indexed registries only)\n * @param registryTopicId The topic ID of the registry\n * @param options Update options\n * @returns Promise resolving to the operation result\n */\n async updateEntry(\n registryTopicId: string,\n options: UpdateEntryOptions,\n ): Promise<RegistryOperationResponse> {\n try {\n const registryInfo = await this.mirrorNode.getTopicInfo(registryTopicId);\n const memoInfo = this.parseRegistryTypeFromMemo(registryInfo.memo);\n\n if (!memoInfo || memoInfo.registryType !== HCS2RegistryType.INDEXED) {\n throw new Error(\n 'Update operation is only valid for indexed registries',\n );\n }\n\n const message = this.createUpdateMessage(\n options.targetTopicId,\n options.uid,\n options.metadata,\n options.memo,\n );\n\n const receipt = await this.submitMessage(registryTopicId, message);\n\n this.logger.info(\n `Updated entry with UID ${options.uid} in registry ${registryTopicId}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to update entry: ${error}`);\n return {\n success: false,\n error: `Failed to update entry: ${error}`,\n };\n }\n }\n\n /**\n * Delete an entry from the registry (indexed registries only)\n * @param registryTopicId The topic ID of the registry\n * @param options Delete options\n * @returns Promise resolving to the operation result\n */\n async deleteEntry(\n registryTopicId: string,\n options: DeleteEntryOptions,\n ): Promise<RegistryOperationResponse> {\n try {\n const registryInfo = await this.mirrorNode.getTopicInfo(registryTopicId);\n const memoInfo = this.parseRegistryTypeFromMemo(registryInfo.memo);\n\n if (!memoInfo || memoInfo.registryType !== HCS2RegistryType.INDEXED) {\n throw new Error(\n 'Delete operation is only valid for indexed registries',\n );\n }\n\n const message = this.createDeleteMessage(options.uid, options.memo);\n\n const receipt = await this.submitMessage(registryTopicId, message);\n\n this.logger.info(\n `Deleted entry with UID ${options.uid} from registry ${registryTopicId}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to delete entry: ${error}`);\n return {\n success: false,\n error: `Failed to delete entry: ${error}`,\n };\n }\n }\n\n /**\n * Migrate a registry to a new topic\n * @param registryTopicId The topic ID of the registry\n * @param options Migration options\n * @returns Promise resolving to the operation result\n */\n async migrateRegistry(\n registryTopicId: string,\n options: MigrateTopicOptions,\n ): Promise<RegistryOperationResponse> {\n try {\n const message = this.createMigrateMessage(\n options.targetTopicId,\n options.metadata,\n options.memo,\n );\n\n const receipt = await this.submitMessage(registryTopicId, message);\n\n this.logger.info(\n `Migrated registry ${registryTopicId} to ${options.targetTopicId}`,\n );\n\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.low ?? undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to migrate registry: ${error}`);\n return {\n success: false,\n error: `Failed to migrate registry: ${error}`,\n };\n }\n }\n\n /**\n * Get all entries from a registry\n * @param topicId The topic ID of the registry\n * @param options Query options\n * @returns Promise resolving to the registry information\n */\n async getRegistry(\n topicId: string,\n options: QueryRegistryOptions = {},\n ): Promise<TopicRegistry> {\n try {\n const topicInfo = await this.mirrorNode.getTopicInfo(topicId);\n const memoInfo = this.parseRegistryTypeFromMemo(topicInfo.memo);\n\n if (!memoInfo) {\n throw new Error(\n `Topic ${topicId} is not an HCS-2 registry (invalid memo format)`,\n );\n }\n\n const messagesResult = await this.mirrorNode.getTopicMessages(topicId, {\n sequenceNumber:\n options.skip && options.skip > 0 ? `gt:${options.skip}` : undefined,\n limit: options.limit ?? 100,\n order: options.order ?? 'asc',\n });\n\n const messages = options.limit\n ? messagesResult.slice(0, options.limit)\n : messagesResult;\n\n return this.parseRegistryEntries(\n topicId,\n messages,\n memoInfo.registryType,\n memoInfo.ttl,\n );\n } catch (error) {\n this.logger.error(`Failed to get registry: ${error}`);\n throw error;\n }\n }\n\n /**\n * Submit a message to a topic\n * @param topicId The topic ID to submit to\n * @param payload The message payload\n * @returns Promise resolving to the transaction receipt\n */\n async submitMessage(\n topicId: string,\n payload: HCS2Message,\n ): Promise<TransactionReceipt> {\n try {\n const { valid, errors } = this.validateMessage(payload);\n if (!valid) {\n throw new Error(`Invalid HCS-2 message: ${errors.join(', ')}`);\n }\n\n const transaction = buildMessageTx({\n topicId,\n message: JSON.stringify(payload),\n });\n\n const txResponse = await this.executeWithWallet(transaction);\n\n if (txResponse?.error) {\n throw new Error(txResponse.error);\n }\n\n return txResponse.result;\n } catch (error) {\n this.logger.error(`Failed to submit message: ${error}`);\n throw error;\n }\n }\n private async executeWithWallet<\n T extends TopicCreateTransaction | TopicMessageSubmitTransaction,\n >(transaction: T): Promise<WalletExecuteResult> {\n const maybeExec = (\n this.hwc as unknown as WalletExecuteSupport<\n TopicCreateTransaction | TopicMessageSubmitTransaction\n >\n ).executeTransactionWithErrorHandling;\n\n if (!maybeExec) {\n throw new Error(\n 'Wallet SDK does not support executeTransactionWithErrorHandling',\n );\n }\n\n return await maybeExec.call(this.hwc, transaction, false);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es69.js","sources":["../../src/hcs-5/types.ts"],"sourcesContent":["import { Logger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { PrivateKey } from '@hashgraph/sdk';\nimport type { InscriptionOptions } from '../inscribe/types';\nimport type { InscriptionInput } from '../inscribe/inscriber';\n\n/**\n * Configuration for HCS-5 client\n */\nexport interface HCS5ClientConfig {\n network: NetworkType;\n logLevel?: LogLevel;\n silent?: boolean;\n logger?: Logger;\n operatorId: string;\n operatorKey: string | PrivateKey;\n}\n\n/**\n * Options for minting a Hashinal onto an existing HTS NFT token\n */\nexport interface HCS5MintOptions {\n tokenId: string;\n metadataTopicId?: string;\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Options for inscribing content (HCS-1) then minting as a HCS-5 Hashinal\n */\nexport interface HCS5CreateHashinalOptions {\n tokenId: string;\n inscriptionInput: InscriptionInput;\n inscriptionOptions: InscriptionOptions & { waitForConfirmation?: boolean };\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Mint response\n */\nexport interface HCS5MintResponse {\n success: boolean;\n serialNumber?: number;\n transactionId?: string;\n metadata?: string;\n error?: string;\n}\n\n/**\n * Utility to build an HRL for HCS-1\n */\nexport function buildHcs1Hrl(topicId: string): string {\n return `hcs://1/${topicId}`;\n}\n"],"names":[],"mappings":"AAqDO,SAAS,aAAa,SAAyB;AACpD,SAAO,WAAW,OAAO;AAC3B;"}
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es147.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es153.js";
2
2
  import { HCS6Operation } from "./standards-sdk.es3.js";
3
3
  function encodeHcs6NonIndexedMemo(ttl) {
4
4
  return `hcs-6:1:${ttl}`;