@hashgraphonline/standards-sdk 0.1.161 → 0.1.162

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-14/index.d.ts +1 -0
  2. package/dist/cjs/hcs-14/index.d.ts.map +1 -1
  3. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
  4. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
  5. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  6. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  7. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  8. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  9. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
  10. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
  11. package/dist/cjs/hcs-14/resolvers/hiero.d.ts +1 -0
  12. package/dist/cjs/hcs-14/resolvers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -0
  14. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  15. package/dist/cjs/hcs-14/resolvers/types.d.ts +40 -5
  16. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  17. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
  18. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
  19. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
  20. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
  21. package/dist/cjs/hcs-14/sdk.d.ts +23 -1
  22. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  23. package/dist/cjs/standards-sdk.cjs +2 -2
  24. package/dist/cjs/standards-sdk.cjs.map +1 -1
  25. package/dist/es/hcs-14/index.d.ts +1 -0
  26. package/dist/es/hcs-14/index.d.ts.map +1 -1
  27. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
  28. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
  29. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  30. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  31. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  32. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  33. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
  34. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
  35. package/dist/es/hcs-14/resolvers/hiero.d.ts +1 -0
  36. package/dist/es/hcs-14/resolvers/hiero.d.ts.map +1 -1
  37. package/dist/es/hcs-14/resolvers/registry.d.ts +21 -0
  38. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  39. package/dist/es/hcs-14/resolvers/types.d.ts +40 -5
  40. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  41. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
  42. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
  43. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
  44. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
  45. package/dist/es/hcs-14/sdk.d.ts +23 -1
  46. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  47. package/dist/es/standards-sdk.es.js +89 -86
  48. package/dist/es/standards-sdk.es.js.map +1 -1
  49. package/dist/es/standards-sdk.es100.js +136 -124
  50. package/dist/es/standards-sdk.es100.js.map +1 -1
  51. package/dist/es/standards-sdk.es101.js +138 -42
  52. package/dist/es/standards-sdk.es101.js.map +1 -1
  53. package/dist/es/standards-sdk.es102.js +43 -259
  54. package/dist/es/standards-sdk.es102.js.map +1 -1
  55. package/dist/es/standards-sdk.es103.js +245 -82
  56. package/dist/es/standards-sdk.es103.js.map +1 -1
  57. package/dist/es/standards-sdk.es104.js +50 -49
  58. package/dist/es/standards-sdk.es104.js.map +1 -1
  59. package/dist/es/standards-sdk.es105.js +100 -29
  60. package/dist/es/standards-sdk.es105.js.map +1 -1
  61. package/dist/es/standards-sdk.es106.js +27 -229
  62. package/dist/es/standards-sdk.es106.js.map +1 -1
  63. package/dist/es/standards-sdk.es107.js +228 -109
  64. package/dist/es/standards-sdk.es107.js.map +1 -1
  65. package/dist/es/standards-sdk.es108.js +94 -15
  66. package/dist/es/standards-sdk.es108.js.map +1 -1
  67. package/dist/es/standards-sdk.es109.js +30 -80
  68. package/dist/es/standards-sdk.es109.js.map +1 -1
  69. package/dist/es/standards-sdk.es11.js +1 -1
  70. package/dist/es/standards-sdk.es110.js +80 -27
  71. package/dist/es/standards-sdk.es110.js.map +1 -1
  72. package/dist/es/standards-sdk.es111.js +27 -248
  73. package/dist/es/standards-sdk.es111.js.map +1 -1
  74. package/dist/es/standards-sdk.es112.js +246 -472
  75. package/dist/es/standards-sdk.es112.js.map +1 -1
  76. package/dist/es/standards-sdk.es113.js +458 -85
  77. package/dist/es/standards-sdk.es113.js.map +1 -1
  78. package/dist/es/standards-sdk.es114.js +96 -151
  79. package/dist/es/standards-sdk.es114.js.map +1 -1
  80. package/dist/es/standards-sdk.es115.js +155 -29
  81. package/dist/es/standards-sdk.es115.js.map +1 -1
  82. package/dist/es/standards-sdk.es116.js +26 -4
  83. package/dist/es/standards-sdk.es116.js.map +1 -1
  84. package/dist/es/standards-sdk.es117.js +10 -140
  85. package/dist/es/standards-sdk.es117.js.map +1 -1
  86. package/dist/es/standards-sdk.es118.js +140 -27
  87. package/dist/es/standards-sdk.es118.js.map +1 -1
  88. package/dist/es/standards-sdk.es119.js +27 -20
  89. package/dist/es/standards-sdk.es119.js.map +1 -1
  90. package/dist/es/standards-sdk.es12.js +1 -1
  91. package/dist/es/standards-sdk.es120.js +18 -156
  92. package/dist/es/standards-sdk.es120.js.map +1 -1
  93. package/dist/es/standards-sdk.es121.js +148 -191
  94. package/dist/es/standards-sdk.es121.js.map +1 -1
  95. package/dist/es/standards-sdk.es122.js +160 -747
  96. package/dist/es/standards-sdk.es122.js.map +1 -1
  97. package/dist/es/standards-sdk.es123.js +786 -9
  98. package/dist/es/standards-sdk.es123.js.map +1 -1
  99. package/dist/es/standards-sdk.es124.js +13 -567
  100. package/dist/es/standards-sdk.es124.js.map +1 -1
  101. package/dist/es/standards-sdk.es125.js +541 -576
  102. package/dist/es/standards-sdk.es125.js.map +1 -1
  103. package/dist/es/standards-sdk.es126.js +601 -12
  104. package/dist/es/standards-sdk.es126.js.map +1 -1
  105. package/dist/es/standards-sdk.es127.js +13 -2
  106. package/dist/es/standards-sdk.es127.js.map +1 -1
  107. package/dist/es/standards-sdk.es128.js +2 -87
  108. package/dist/es/standards-sdk.es128.js.map +1 -1
  109. package/dist/es/standards-sdk.es129.js +84 -37
  110. package/dist/es/standards-sdk.es129.js.map +1 -1
  111. package/dist/es/standards-sdk.es13.js +1 -1
  112. package/dist/es/standards-sdk.es130.js +40 -2
  113. package/dist/es/standards-sdk.es130.js.map +1 -1
  114. package/dist/es/standards-sdk.es131.js +2 -235
  115. package/dist/es/standards-sdk.es131.js.map +1 -1
  116. package/dist/es/standards-sdk.es132.js +204 -1109
  117. package/dist/es/standards-sdk.es132.js.map +1 -1
  118. package/dist/es/standards-sdk.es133.js +1059 -225
  119. package/dist/es/standards-sdk.es133.js.map +1 -1
  120. package/dist/es/standards-sdk.es134.js +303 -419
  121. package/dist/es/standards-sdk.es134.js.map +1 -1
  122. package/dist/es/standards-sdk.es135.js +418 -351
  123. package/dist/es/standards-sdk.es135.js.map +1 -1
  124. package/dist/es/standards-sdk.es136.js +347 -1108
  125. package/dist/es/standards-sdk.es136.js.map +1 -1
  126. package/dist/es/standards-sdk.es137.js +1088 -180
  127. package/dist/es/standards-sdk.es137.js.map +1 -1
  128. package/dist/es/standards-sdk.es138.js +153 -1512
  129. package/dist/es/standards-sdk.es138.js.map +1 -1
  130. package/dist/es/standards-sdk.es139.js +1567 -1255
  131. package/dist/es/standards-sdk.es139.js.map +1 -1
  132. package/dist/es/standards-sdk.es14.js +1 -1
  133. package/dist/es/standards-sdk.es140.js +1255 -17
  134. package/dist/es/standards-sdk.es140.js.map +1 -1
  135. package/dist/es/standards-sdk.es141.js +15 -85
  136. package/dist/es/standards-sdk.es141.js.map +1 -1
  137. package/dist/es/standards-sdk.es142.js +77 -71
  138. package/dist/es/standards-sdk.es142.js.map +1 -1
  139. package/dist/es/standards-sdk.es143.js +79 -891
  140. package/dist/es/standards-sdk.es143.js.map +1 -1
  141. package/dist/es/standards-sdk.es144.js +886 -53
  142. package/dist/es/standards-sdk.es144.js.map +1 -1
  143. package/dist/es/standards-sdk.es145.js +53 -152
  144. package/dist/es/standards-sdk.es145.js.map +1 -1
  145. package/dist/es/standards-sdk.es146.js +159 -7
  146. package/dist/es/standards-sdk.es146.js.map +1 -1
  147. package/dist/es/standards-sdk.es147.js +7 -86
  148. package/dist/es/standards-sdk.es147.js.map +1 -1
  149. package/dist/es/standards-sdk.es148.js +65 -44
  150. package/dist/es/standards-sdk.es148.js.map +1 -1
  151. package/dist/es/standards-sdk.es149.js +65 -30
  152. package/dist/es/standards-sdk.es149.js.map +1 -1
  153. package/dist/es/standards-sdk.es15.js +1 -1
  154. package/dist/es/standards-sdk.es150.js +30 -34
  155. package/dist/es/standards-sdk.es150.js.map +1 -1
  156. package/dist/es/standards-sdk.es151.js +34 -45
  157. package/dist/es/standards-sdk.es151.js.map +1 -1
  158. package/dist/es/standards-sdk.es152.js +48 -138
  159. package/dist/es/standards-sdk.es152.js.map +1 -1
  160. package/dist/es/standards-sdk.es153.js +133 -37
  161. package/dist/es/standards-sdk.es153.js.map +1 -1
  162. package/dist/es/standards-sdk.es154.js +34 -12474
  163. package/dist/es/standards-sdk.es154.js.map +1 -1
  164. package/dist/es/standards-sdk.es155.js +12477 -12
  165. package/dist/es/standards-sdk.es155.js.map +1 -1
  166. package/dist/es/standards-sdk.es156.js +15 -54
  167. package/dist/es/standards-sdk.es156.js.map +1 -1
  168. package/dist/es/standards-sdk.es157.js +48 -76
  169. package/dist/es/standards-sdk.es157.js.map +1 -1
  170. package/dist/es/standards-sdk.es158.js +69 -66
  171. package/dist/es/standards-sdk.es158.js.map +1 -1
  172. package/dist/es/standards-sdk.es159.js +71 -63
  173. package/dist/es/standards-sdk.es159.js.map +1 -1
  174. package/dist/es/standards-sdk.es16.js +5 -5
  175. package/dist/es/standards-sdk.es160.js +188 -160
  176. package/dist/es/standards-sdk.es160.js.map +1 -1
  177. package/dist/es/standards-sdk.es161.js +65 -314
  178. package/dist/es/standards-sdk.es161.js.map +1 -1
  179. package/dist/es/standards-sdk.es162.js +232 -336
  180. package/dist/es/standards-sdk.es162.js.map +1 -1
  181. package/dist/es/standards-sdk.es163.js +129 -410
  182. package/dist/es/standards-sdk.es163.js.map +1 -1
  183. package/dist/es/standards-sdk.es164.js +200 -209
  184. package/dist/es/standards-sdk.es164.js.map +1 -1
  185. package/dist/es/standards-sdk.es165.js +334 -64
  186. package/dist/es/standards-sdk.es165.js.map +1 -1
  187. package/dist/es/standards-sdk.es166.js +442 -231
  188. package/dist/es/standards-sdk.es166.js.map +1 -1
  189. package/dist/es/standards-sdk.es167.js +317 -158
  190. package/dist/es/standards-sdk.es167.js.map +1 -1
  191. package/dist/es/standards-sdk.es168.js +61 -207
  192. package/dist/es/standards-sdk.es168.js.map +1 -1
  193. package/dist/es/standards-sdk.es169.js +155 -222
  194. package/dist/es/standards-sdk.es169.js.map +1 -1
  195. package/dist/es/standards-sdk.es170.js +178 -75
  196. package/dist/es/standards-sdk.es170.js.map +1 -1
  197. package/dist/es/standards-sdk.es171.js +226 -113
  198. package/dist/es/standards-sdk.es171.js.map +1 -1
  199. package/dist/es/standards-sdk.es172.js +77 -119
  200. package/dist/es/standards-sdk.es172.js.map +1 -1
  201. package/dist/es/standards-sdk.es173.js +103 -162
  202. package/dist/es/standards-sdk.es173.js.map +1 -1
  203. package/dist/es/standards-sdk.es174.js +141 -119
  204. package/dist/es/standards-sdk.es174.js.map +1 -1
  205. package/dist/es/standards-sdk.es175.js +152 -298
  206. package/dist/es/standards-sdk.es175.js.map +1 -1
  207. package/dist/es/standards-sdk.es176.js +120 -240
  208. package/dist/es/standards-sdk.es176.js.map +1 -1
  209. package/dist/es/standards-sdk.es177.js +298 -83
  210. package/dist/es/standards-sdk.es177.js.map +1 -1
  211. package/dist/es/standards-sdk.es178.js +262 -0
  212. package/dist/es/standards-sdk.es178.js.map +1 -0
  213. package/dist/es/standards-sdk.es179.js +119 -0
  214. package/dist/es/standards-sdk.es179.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 +37 -4
  243. package/dist/es/standards-sdk.es58.js.map +1 -1
  244. package/dist/es/standards-sdk.es59.js +17 -10
  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 +2 -1
  248. package/dist/es/standards-sdk.es60.js.map +1 -1
  249. package/dist/es/standards-sdk.es61.js +1 -0
  250. package/dist/es/standards-sdk.es61.js.map +1 -1
  251. package/dist/es/standards-sdk.es62.js +19 -5
  252. package/dist/es/standards-sdk.es62.js.map +1 -1
  253. package/dist/es/standards-sdk.es63.js +214 -153
  254. package/dist/es/standards-sdk.es63.js.map +1 -1
  255. package/dist/es/standards-sdk.es64.js +205 -84
  256. package/dist/es/standards-sdk.es64.js.map +1 -1
  257. package/dist/es/standards-sdk.es65.js +125 -40
  258. package/dist/es/standards-sdk.es65.js.map +1 -1
  259. package/dist/es/standards-sdk.es66.js +41 -261
  260. package/dist/es/standards-sdk.es66.js.map +1 -1
  261. package/dist/es/standards-sdk.es67.js +262 -24
  262. package/dist/es/standards-sdk.es67.js.map +1 -1
  263. package/dist/es/standards-sdk.es68.js +25 -87
  264. package/dist/es/standards-sdk.es68.js.map +1 -1
  265. package/dist/es/standards-sdk.es69.js +95 -3
  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 +3 -100
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +62 -61
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +98 -17
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +19 -77
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +77 -458
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +240 -106
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +286 -170
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +207 -71
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +72 -71
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +71 -143
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es80.js +136 -62
  289. package/dist/es/standards-sdk.es80.js.map +1 -1
  290. package/dist/es/standards-sdk.es81.js +45 -380
  291. package/dist/es/standards-sdk.es81.js.map +1 -1
  292. package/dist/es/standards-sdk.es82.js +130 -222
  293. package/dist/es/standards-sdk.es82.js.map +1 -1
  294. package/dist/es/standards-sdk.es83.js +444 -313
  295. package/dist/es/standards-sdk.es83.js.map +1 -1
  296. package/dist/es/standards-sdk.es84.js +364 -88
  297. package/dist/es/standards-sdk.es84.js.map +1 -1
  298. package/dist/es/standards-sdk.es85.js +89 -125
  299. package/dist/es/standards-sdk.es85.js.map +1 -1
  300. package/dist/es/standards-sdk.es86.js +125 -8
  301. package/dist/es/standards-sdk.es86.js.map +1 -1
  302. package/dist/es/standards-sdk.es87.js +6 -45
  303. package/dist/es/standards-sdk.es87.js.map +1 -1
  304. package/dist/es/standards-sdk.es88.js +44 -98
  305. package/dist/es/standards-sdk.es88.js.map +1 -1
  306. package/dist/es/standards-sdk.es89.js +84 -331
  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 +160 -93
  310. package/dist/es/standards-sdk.es90.js.map +1 -1
  311. package/dist/es/standards-sdk.es91.js +275 -55
  312. package/dist/es/standards-sdk.es91.js.map +1 -1
  313. package/dist/es/standards-sdk.es92.js +55 -43
  314. package/dist/es/standards-sdk.es92.js.map +1 -1
  315. package/dist/es/standards-sdk.es93.js +44 -145
  316. package/dist/es/standards-sdk.es93.js.map +1 -1
  317. package/dist/es/standards-sdk.es94.js +113 -30
  318. package/dist/es/standards-sdk.es94.js.map +1 -1
  319. package/dist/es/standards-sdk.es95.js +59 -22
  320. package/dist/es/standards-sdk.es95.js.map +1 -1
  321. package/dist/es/standards-sdk.es96.js +28 -23
  322. package/dist/es/standards-sdk.es96.js.map +1 -1
  323. package/dist/es/standards-sdk.es97.js +23 -238
  324. package/dist/es/standards-sdk.es97.js.map +1 -1
  325. package/dist/es/standards-sdk.es98.js +225 -267
  326. package/dist/es/standards-sdk.es98.js.map +1 -1
  327. package/dist/es/standards-sdk.es99.js +220 -95
  328. package/dist/es/standards-sdk.es99.js.map +1 -1
  329. package/package.json +5 -1
@@ -1,75 +1,211 @@
1
- import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.es153.js";
2
- import { HCS2Operation } from "./standards-sdk.es73.js";
3
- function buildHcs2CreateRegistryTx(params) {
4
- const memo = params.memoOverride ?? encodeHcs2RegistryMemo(params.registryType, params.ttl);
5
- return buildTopicCreateTx({
6
- memo,
7
- adminKey: params.adminKey,
8
- submitKey: params.submitKey,
9
- operatorPublicKey: params.operatorPublicKey
10
- });
11
- }
12
- function buildHcs2RegisterTx(params) {
13
- const payload = {
14
- p: "hcs-2",
15
- op: HCS2Operation.REGISTER,
16
- t_id: params.targetTopicId,
17
- metadata: params.metadata,
18
- m: params.memo
19
- };
20
- return buildMessageTx({
21
- topicId: params.registryTopicId,
22
- message: JSON.stringify(payload),
23
- transactionMemo: params.analyticsMemo
24
- });
25
- }
26
- function buildHcs2UpdateTx(params) {
27
- const payload = {
28
- p: "hcs-2",
29
- op: HCS2Operation.UPDATE,
30
- uid: params.uid,
31
- t_id: params.targetTopicId,
32
- metadata: params.metadata,
33
- m: params.memo
34
- };
35
- return buildMessageTx({
36
- topicId: params.registryTopicId,
37
- message: JSON.stringify(payload),
38
- transactionMemo: params.analyticsMemo
39
- });
40
- }
41
- function buildHcs2DeleteTx(params) {
42
- const payload = {
43
- p: "hcs-2",
44
- op: HCS2Operation.DELETE,
45
- uid: params.uid,
46
- m: params.memo
47
- };
48
- return buildMessageTx({
49
- topicId: params.registryTopicId,
50
- message: JSON.stringify(payload),
51
- transactionMemo: params.analyticsMemo
52
- });
53
- }
54
- function buildHcs2MigrateTx(params) {
55
- const payload = {
56
- p: "hcs-2",
57
- op: HCS2Operation.MIGRATE,
58
- t_id: params.targetTopicId,
59
- metadata: params.metadata,
60
- m: params.memo
61
- };
62
- return buildMessageTx({
63
- topicId: params.registryTopicId,
64
- message: JSON.stringify(payload),
65
- transactionMemo: params.analyticsMemo
66
- });
1
+ import { Logger } from "./standards-sdk.es118.js";
2
+ import { HederaMirrorNode } from "./standards-sdk.es139.js";
3
+ import { hcs2MessageSchema, HCS2Operation, HCS2RegistryType } from "./standards-sdk.es74.js";
4
+ import { ZodError } from "zod";
5
+ class HCS2BaseClient {
6
+ /**
7
+ * Create a new HCS-2 base client
8
+ * @param config Client configuration
9
+ */
10
+ constructor(config) {
11
+ this.network = config.network;
12
+ this.logger = config.logger || Logger.getInstance({
13
+ level: config.logLevel || "info",
14
+ module: "HCS2Client",
15
+ silent: config.silent
16
+ });
17
+ this.mirrorNode = new HederaMirrorNode(
18
+ this.network,
19
+ this.logger,
20
+ config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : void 0
21
+ );
22
+ }
23
+ /**
24
+ * Determine the registry type from a topic memo
25
+ * @param memo The topic memo
26
+ * @returns The registry type or undefined if not found
27
+ */
28
+ parseRegistryTypeFromMemo(memo) {
29
+ try {
30
+ const regex = /hcs-2:(\d):(\d+)/;
31
+ const match = memo.match(regex);
32
+ if (match && match.length === 3) {
33
+ const registryType = parseInt(match[1]);
34
+ const ttl = parseInt(match[2]);
35
+ if (registryType !== void 0 && !isNaN(ttl)) {
36
+ return { registryType, ttl };
37
+ }
38
+ }
39
+ return void 0;
40
+ } catch (error) {
41
+ this.logger.error(`Error parsing registry type from memo: ${error}`);
42
+ return void 0;
43
+ }
44
+ }
45
+ /**
46
+ * Generate a memo string for a registry topic
47
+ * @param registryType The registry type
48
+ * @param ttl The time-to-live in seconds
49
+ * @returns The memo string
50
+ */
51
+ generateRegistryMemo(registryType, ttl) {
52
+ return `hcs-2:${registryType}:${ttl}`;
53
+ }
54
+ /**
55
+ * Validate a HCS-2 message
56
+ * @param message The message to validate
57
+ * @returns Validation result
58
+ */
59
+ validateMessage(message) {
60
+ try {
61
+ hcs2MessageSchema.parse(message);
62
+ return { valid: true, errors: [] };
63
+ } catch (error) {
64
+ const errors = [];
65
+ if (error instanceof ZodError) {
66
+ error.errors.forEach((err) => {
67
+ const path = err.path.join(".");
68
+ errors.push(`${path ? path + ": " : ""}${err.message}`);
69
+ });
70
+ } else {
71
+ errors.push(`Unexpected error: ${error}`);
72
+ }
73
+ this.logger.debug(`Message validation failed: ${errors.join(", ")}`);
74
+ return { valid: false, errors };
75
+ }
76
+ }
77
+ /**
78
+ * Create a register message
79
+ * @param targetTopicId The target topic ID
80
+ * @param metadata Optional metadata URI
81
+ * @param memo Optional memo
82
+ * @param protocol Optional protocol version (defaults to 'hcs-2')
83
+ * @returns The register message
84
+ */
85
+ createRegisterMessage(targetTopicId, metadata, memo, protocol = "hcs-2") {
86
+ return {
87
+ p: protocol,
88
+ op: HCS2Operation.REGISTER,
89
+ t_id: targetTopicId,
90
+ metadata,
91
+ m: memo
92
+ };
93
+ }
94
+ /**
95
+ * Create an update message
96
+ * @param targetTopicId The target topic ID
97
+ * @param uid The unique ID to update
98
+ * @param metadata Optional metadata URI
99
+ * @param memo Optional memo
100
+ * @param protocol Optional protocol version (defaults to 'hcs-2')
101
+ * @returns The update message
102
+ */
103
+ createUpdateMessage(targetTopicId, uid, metadata, memo, protocol = "hcs-2") {
104
+ return {
105
+ p: protocol,
106
+ op: HCS2Operation.UPDATE,
107
+ t_id: targetTopicId,
108
+ uid,
109
+ metadata,
110
+ m: memo
111
+ };
112
+ }
113
+ /**
114
+ * Create a delete message
115
+ * @param uid The unique ID to delete
116
+ * @param memo Optional memo
117
+ * @param protocol Optional protocol version (defaults to 'hcs-2')
118
+ * @returns The delete message
119
+ */
120
+ createDeleteMessage(uid, memo, protocol = "hcs-2") {
121
+ return {
122
+ p: protocol,
123
+ op: HCS2Operation.DELETE,
124
+ uid,
125
+ m: memo
126
+ };
127
+ }
128
+ /**
129
+ * Create a migrate message
130
+ * @param targetTopicId The target topic ID to migrate to
131
+ * @param metadata Optional metadata URI
132
+ * @param memo Optional memo
133
+ * @param protocol Optional protocol version (defaults to 'hcs-2')
134
+ * @returns The migrate message
135
+ */
136
+ createMigrateMessage(targetTopicId, metadata, memo, protocol = "hcs-2") {
137
+ return {
138
+ p: protocol,
139
+ op: HCS2Operation.MIGRATE,
140
+ t_id: targetTopicId,
141
+ metadata,
142
+ m: memo
143
+ };
144
+ }
145
+ /**
146
+ * Parse registry entries from topic messages
147
+ * @param topicId The topic ID
148
+ * @param messages The messages to parse
149
+ * @param registryType The registry type
150
+ * @param ttl The time-to-live in seconds
151
+ * @returns The parsed registry
152
+ */
153
+ parseRegistryEntries(topicId, messages, registryType, ttl) {
154
+ const entries = [];
155
+ let latestEntry;
156
+ this.logger.debug(
157
+ `Parsing ${messages.length} messages for topic ${topicId}`
158
+ );
159
+ for (const msg of messages) {
160
+ try {
161
+ if (!msg.message) {
162
+ this.logger.debug(
163
+ `Message is missing 'message' property: ${JSON.stringify(msg)}`
164
+ );
165
+ continue;
166
+ }
167
+ const decodedMessage = Buffer.from(msg.message, "base64").toString(
168
+ "utf-8"
169
+ );
170
+ const message = JSON.parse(decodedMessage);
171
+ this.logger.debug(
172
+ `Successfully parsed message: ${JSON.stringify(message)}`
173
+ );
174
+ const { valid, errors } = this.validateMessage(message);
175
+ if (!valid) {
176
+ this.logger.warn(`Invalid HCS-2 message: ${errors.join(", ")}`);
177
+ continue;
178
+ }
179
+ const entry = {
180
+ topicId,
181
+ sequence: msg.sequence_number,
182
+ timestamp: msg.consensus_timestamp,
183
+ payer: msg.payer_account_id,
184
+ message,
185
+ consensus_timestamp: msg.consensus_timestamp,
186
+ registry_type: registryType
187
+ };
188
+ entries.push(entry);
189
+ if (registryType === HCS2RegistryType.NON_INDEXED || !latestEntry || entry.timestamp > latestEntry.timestamp) {
190
+ latestEntry = entry;
191
+ }
192
+ } catch (error) {
193
+ this.logger.warn(`Error parsing message: ${error}`);
194
+ }
195
+ }
196
+ this.logger.debug(
197
+ `Parsed ${entries.length} valid entries for topic ${topicId}`
198
+ );
199
+ return {
200
+ topicId,
201
+ registryType,
202
+ ttl,
203
+ entries: registryType === HCS2RegistryType.INDEXED ? entries : latestEntry ? [latestEntry] : [],
204
+ latestEntry
205
+ };
206
+ }
67
207
  }
68
208
  export {
69
- buildHcs2CreateRegistryTx,
70
- buildHcs2DeleteTx,
71
- buildHcs2MigrateTx,
72
- buildHcs2RegisterTx,
73
- buildHcs2UpdateTx
209
+ HCS2BaseClient
74
210
  };
75
211
  //# sourceMappingURL=standards-sdk.es77.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es77.js","sources":["../../src/hcs-2/tx.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n} from '@hashgraph/sdk';\nimport {\n encodeHcs2RegistryMemo,\n buildTopicCreateTx,\n buildMessageTx,\n MaybeKey,\n} from '../common/tx/tx-utils';\nimport {\n HCS2Operation,\n HCS2RegistryType,\n HCS2RegisterMessage,\n HCS2UpdateMessage,\n HCS2DeleteMessage,\n HCS2MigrateMessage,\n} from './types';\n\nexport function buildHcs2CreateRegistryTx(params: {\n registryType: HCS2RegistryType;\n ttl: number;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n memoOverride?: string;\n operatorPublicKey?: Parameters<\n typeof buildTopicCreateTx\n >[0]['operatorPublicKey'];\n}): TopicCreateTransaction {\n const memo =\n params.memoOverride ??\n encodeHcs2RegistryMemo(params.registryType, params.ttl);\n return buildTopicCreateTx({\n memo,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: params.operatorPublicKey,\n });\n}\n\nexport function buildHcs2RegisterTx(params: {\n registryTopicId: string;\n targetTopicId: string;\n metadata?: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2RegisterMessage = {\n p: 'hcs-2',\n op: HCS2Operation.REGISTER,\n t_id: params.targetTopicId,\n metadata: params.metadata,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n\nexport function buildHcs2UpdateTx(params: {\n registryTopicId: string;\n uid: string;\n targetTopicId: string;\n metadata?: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2UpdateMessage = {\n p: 'hcs-2',\n op: HCS2Operation.UPDATE,\n uid: params.uid,\n t_id: params.targetTopicId,\n metadata: params.metadata,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n\nexport function buildHcs2DeleteTx(params: {\n registryTopicId: string;\n uid: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2DeleteMessage = {\n p: 'hcs-2',\n op: HCS2Operation.DELETE,\n uid: params.uid,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n\nexport function buildHcs2MigrateTx(params: {\n registryTopicId: string;\n targetTopicId: string;\n metadata?: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2MigrateMessage = {\n p: 'hcs-2',\n op: HCS2Operation.MIGRATE,\n t_id: params.targetTopicId,\n metadata: params.metadata,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n"],"names":[],"mappings":";;AAmBO,SAAS,0BAA0B,QASf;AACzB,QAAM,OACJ,OAAO,gBACP,uBAAuB,OAAO,cAAc,OAAO,GAAG;AACxD,SAAO,mBAAmB;AAAA,IACxB;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,WAAW,OAAO;AAAA,IAClB,mBAAmB,OAAO;AAAA,EAAA,CAC3B;AACH;AAEO,SAAS,oBAAoB,QAMF;AAChC,QAAM,UAA+B;AAAA,IACnC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;AAEO,SAAS,kBAAkB,QAOA;AAChC,QAAM,UAA6B;AAAA,IACjC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,KAAK,OAAO;AAAA,IACZ,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;AAEO,SAAS,kBAAkB,QAKA;AAChC,QAAM,UAA6B;AAAA,IACjC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,KAAK,OAAO;AAAA,IACZ,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;AAEO,SAAS,mBAAmB,QAMD;AAChC,QAAM,UAA8B;AAAA,IAClC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;"}
1
+ {"version":3,"file":"standards-sdk.es77.js","sources":["../../src/hcs-2/base-client.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport {\n HCS2ClientConfig,\n HCS2Message,\n HCS2Operation,\n HCS2RegisterMessage,\n HCS2UpdateMessage,\n HCS2DeleteMessage,\n HCS2MigrateMessage,\n HCS2RegistryType,\n TopicRegistrationResponse,\n RegistryOperationResponse,\n RegistryEntry,\n TopicRegistry,\n CreateRegistryOptions,\n RegisterEntryOptions,\n UpdateEntryOptions,\n DeleteEntryOptions,\n MigrateTopicOptions,\n QueryRegistryOptions,\n hcs2MessageSchema,\n} from './types';\nimport { TransactionReceipt } from '@hashgraph/sdk';\nimport { NetworkType } from '../utils/types';\nimport { ZodError } from 'zod';\n\n/**\n * Base client for HCS-2 operations\n * This abstract class provides shared functionality for both SDK and browser implementations\n */\nexport abstract class HCS2BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n\n /**\n * Create a new HCS-2 base client\n * @param config Client configuration\n */\n constructor(config: HCS2ClientConfig) {\n this.network = config.network;\n\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS2Client',\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(\n this.network,\n this.logger,\n config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : undefined,\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 abstract createRegistry(\n options: CreateRegistryOptions,\n ): Promise<TopicRegistrationResponse>;\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 abstract registerEntry(\n registryTopicId: string,\n options: RegisterEntryOptions,\n ): Promise<RegistryOperationResponse>;\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 abstract updateEntry(\n registryTopicId: string,\n options: UpdateEntryOptions,\n ): Promise<RegistryOperationResponse>;\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 abstract deleteEntry(\n registryTopicId: string,\n options: DeleteEntryOptions,\n ): Promise<RegistryOperationResponse>;\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 abstract migrateRegistry(\n registryTopicId: string,\n options: MigrateTopicOptions,\n ): Promise<RegistryOperationResponse>;\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 abstract getRegistry(\n topicId: string,\n options?: QueryRegistryOptions,\n ): Promise<TopicRegistry>;\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 abstract submitMessage(\n topicId: string,\n payload: HCS2Message,\n ): Promise<TransactionReceipt>;\n\n /**\n * Determine the registry type from a topic memo\n * @param memo The topic memo\n * @returns The registry type or undefined if not found\n */\n protected parseRegistryTypeFromMemo(\n memo: string,\n ): { registryType: HCS2RegistryType; ttl: number } | undefined {\n try {\n const regex = /hcs-2:(\\d):(\\d+)/;\n const match = memo.match(regex);\n\n if (match && match.length === 3) {\n const registryType = parseInt(match[1]) as HCS2RegistryType;\n const ttl = parseInt(match[2]);\n\n if (registryType !== undefined && !isNaN(ttl)) {\n return { registryType, ttl };\n }\n }\n\n return undefined;\n } catch (error) {\n this.logger.error(`Error parsing registry type from memo: ${error}`);\n return undefined;\n }\n }\n\n /**\n * Generate a memo string for a registry topic\n * @param registryType The registry type\n * @param ttl The time-to-live in seconds\n * @returns The memo string\n */\n protected generateRegistryMemo(\n registryType: HCS2RegistryType,\n ttl: number,\n ): string {\n return `hcs-2:${registryType}:${ttl}`;\n }\n\n /**\n * Validate a HCS-2 message\n * @param message The message to validate\n * @returns Validation result\n */\n protected validateMessage(message: any): {\n valid: boolean;\n errors: string[];\n } {\n try {\n hcs2MessageSchema.parse(message);\n return { valid: true, errors: [] };\n } catch (error) {\n const errors: string[] = [];\n\n if (error instanceof ZodError) {\n error.errors.forEach(err => {\n const path = err.path.join('.');\n errors.push(`${path ? path + ': ' : ''}${err.message}`);\n });\n } else {\n errors.push(`Unexpected error: ${error}`);\n }\n\n this.logger.debug(`Message validation failed: ${errors.join(', ')}`);\n return { valid: false, errors };\n }\n }\n\n /**\n * Create a register message\n * @param targetTopicId The target topic ID\n * @param metadata Optional metadata URI\n * @param memo Optional memo\n * @param protocol Optional protocol version (defaults to 'hcs-2')\n * @returns The register message\n */\n protected createRegisterMessage(\n targetTopicId: string,\n metadata?: string,\n memo?: string,\n protocol: string = 'hcs-2',\n ): HCS2RegisterMessage {\n return {\n p: protocol,\n op: HCS2Operation.REGISTER,\n t_id: targetTopicId,\n metadata,\n m: memo,\n };\n }\n\n /**\n * Create an update message\n * @param targetTopicId The target topic ID\n * @param uid The unique ID to update\n * @param metadata Optional metadata URI\n * @param memo Optional memo\n * @param protocol Optional protocol version (defaults to 'hcs-2')\n * @returns The update message\n */\n protected createUpdateMessage(\n targetTopicId: string,\n uid: string,\n metadata?: string,\n memo?: string,\n protocol: string = 'hcs-2',\n ): HCS2UpdateMessage {\n return {\n p: protocol,\n op: HCS2Operation.UPDATE,\n t_id: targetTopicId,\n uid,\n metadata,\n m: memo,\n };\n }\n\n /**\n * Create a delete message\n * @param uid The unique ID to delete\n * @param memo Optional memo\n * @param protocol Optional protocol version (defaults to 'hcs-2')\n * @returns The delete message\n */\n protected createDeleteMessage(\n uid: string,\n memo?: string,\n protocol: string = 'hcs-2',\n ): HCS2DeleteMessage {\n return {\n p: protocol,\n op: HCS2Operation.DELETE,\n uid,\n m: memo,\n };\n }\n\n /**\n * Create a migrate message\n * @param targetTopicId The target topic ID to migrate to\n * @param metadata Optional metadata URI\n * @param memo Optional memo\n * @param protocol Optional protocol version (defaults to 'hcs-2')\n * @returns The migrate message\n */\n protected createMigrateMessage(\n targetTopicId: string,\n metadata?: string,\n memo?: string,\n protocol: string = 'hcs-2',\n ): HCS2MigrateMessage {\n return {\n p: protocol,\n op: HCS2Operation.MIGRATE,\n t_id: targetTopicId,\n metadata,\n m: memo,\n };\n }\n\n /**\n * Parse registry entries from topic messages\n * @param topicId The topic ID\n * @param messages The messages to parse\n * @param registryType The registry type\n * @param ttl The time-to-live in seconds\n * @returns The parsed registry\n */\n protected parseRegistryEntries(\n topicId: string,\n messages: any[],\n registryType: HCS2RegistryType,\n ttl: number,\n ): TopicRegistry {\n const entries: RegistryEntry[] = [];\n let latestEntry: RegistryEntry | undefined;\n\n this.logger.debug(\n `Parsing ${messages.length} messages for topic ${topicId}`,\n );\n\n for (const msg of messages) {\n try {\n if (!msg.message) {\n this.logger.debug(\n `Message is missing 'message' property: ${JSON.stringify(msg)}`,\n );\n continue;\n }\n\n const decodedMessage = Buffer.from(msg.message, 'base64').toString(\n 'utf-8',\n );\n const message = JSON.parse(decodedMessage);\n\n this.logger.debug(\n `Successfully parsed message: ${JSON.stringify(message)}`,\n );\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,\n message,\n consensus_timestamp: msg.consensus_timestamp,\n registry_type: registryType,\n };\n\n entries.push(entry);\n\n if (\n registryType === HCS2RegistryType.NON_INDEXED ||\n !latestEntry ||\n entry.timestamp > latestEntry.timestamp\n ) {\n latestEntry = entry;\n }\n } catch (error) {\n this.logger.warn(`Error parsing message: ${error}`);\n }\n }\n\n this.logger.debug(\n `Parsed ${entries.length} valid entries for topic ${topicId}`,\n );\n\n return {\n topicId,\n registryType,\n ttl,\n entries:\n registryType === HCS2RegistryType.INDEXED\n ? entries\n : latestEntry\n ? [latestEntry]\n : [],\n latestEntry,\n };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,74 +1,75 @@
1
- import { z } from "zod";
2
- const HCS20_CONSTANTS = {
3
- PROTOCOL: "hcs-20",
4
- PUBLIC_TOPIC_ID: "0.0.4350190",
5
- REGISTRY_TOPIC_ID: "0.0.4362300",
6
- MAX_NUMBER_LENGTH: 18,
7
- MAX_NAME_LENGTH: 100,
8
- MAX_METADATA_LENGTH: 100,
9
- HEDERA_ACCOUNT_REGEX: /^(0|(?:[1-9]\d*))\.(0|(?:[1-9]\d*))\.(0|(?:[1-9]\d*))$/
10
- };
11
- const HederaAccountIdSchema = z.string().regex(
12
- HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX,
13
- "Invalid Hedera account ID format"
14
- );
15
- const NumberStringSchema = z.string().regex(/^\d+$/, "Must be a valid number").max(
16
- HCS20_CONSTANTS.MAX_NUMBER_LENGTH,
17
- `Max ${HCS20_CONSTANTS.MAX_NUMBER_LENGTH} digits`
18
- );
19
- const TickSchema = z.string().min(1, "Tick cannot be empty").transform((val) => val.toLowerCase().trim());
20
- const HCS20BaseMessageSchema = z.object({
21
- p: z.literal("hcs-20"),
22
- m: z.string().optional()
23
- });
24
- const HCS20DeployMessageSchema = HCS20BaseMessageSchema.extend({
25
- op: z.literal("deploy"),
26
- name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),
27
- tick: TickSchema,
28
- max: NumberStringSchema,
29
- lim: NumberStringSchema.optional(),
30
- metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional()
31
- });
32
- const HCS20MintMessageSchema = HCS20BaseMessageSchema.extend({
33
- op: z.literal("mint"),
34
- tick: TickSchema,
35
- amt: NumberStringSchema,
36
- to: HederaAccountIdSchema
37
- });
38
- const HCS20BurnMessageSchema = HCS20BaseMessageSchema.extend({
39
- op: z.literal("burn"),
40
- tick: TickSchema,
41
- amt: NumberStringSchema,
42
- from: HederaAccountIdSchema
43
- });
44
- const HCS20TransferMessageSchema = HCS20BaseMessageSchema.extend({
45
- op: z.literal("transfer"),
46
- tick: TickSchema,
47
- amt: NumberStringSchema,
48
- from: HederaAccountIdSchema,
49
- to: HederaAccountIdSchema
50
- });
51
- const HCS20RegisterMessageSchema = HCS20BaseMessageSchema.extend({
52
- op: z.literal("register"),
53
- name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),
54
- metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional(),
55
- private: z.boolean(),
56
- t_id: HederaAccountIdSchema
57
- });
58
- const HCS20MessageSchema = z.discriminatedUnion("op", [
59
- HCS20DeployMessageSchema,
60
- HCS20MintMessageSchema,
61
- HCS20BurnMessageSchema,
62
- HCS20TransferMessageSchema,
63
- HCS20RegisterMessageSchema
64
- ]);
1
+ import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.es154.js";
2
+ import { HCS2Operation } from "./standards-sdk.es74.js";
3
+ function buildHcs2CreateRegistryTx(params) {
4
+ const memo = params.memoOverride ?? encodeHcs2RegistryMemo(params.registryType, params.ttl);
5
+ return buildTopicCreateTx({
6
+ memo,
7
+ adminKey: params.adminKey,
8
+ submitKey: params.submitKey,
9
+ operatorPublicKey: params.operatorPublicKey
10
+ });
11
+ }
12
+ function buildHcs2RegisterTx(params) {
13
+ const payload = {
14
+ p: "hcs-2",
15
+ op: HCS2Operation.REGISTER,
16
+ t_id: params.targetTopicId,
17
+ metadata: params.metadata,
18
+ m: params.memo
19
+ };
20
+ return buildMessageTx({
21
+ topicId: params.registryTopicId,
22
+ message: JSON.stringify(payload),
23
+ transactionMemo: params.analyticsMemo
24
+ });
25
+ }
26
+ function buildHcs2UpdateTx(params) {
27
+ const payload = {
28
+ p: "hcs-2",
29
+ op: HCS2Operation.UPDATE,
30
+ uid: params.uid,
31
+ t_id: params.targetTopicId,
32
+ metadata: params.metadata,
33
+ m: params.memo
34
+ };
35
+ return buildMessageTx({
36
+ topicId: params.registryTopicId,
37
+ message: JSON.stringify(payload),
38
+ transactionMemo: params.analyticsMemo
39
+ });
40
+ }
41
+ function buildHcs2DeleteTx(params) {
42
+ const payload = {
43
+ p: "hcs-2",
44
+ op: HCS2Operation.DELETE,
45
+ uid: params.uid,
46
+ m: params.memo
47
+ };
48
+ return buildMessageTx({
49
+ topicId: params.registryTopicId,
50
+ message: JSON.stringify(payload),
51
+ transactionMemo: params.analyticsMemo
52
+ });
53
+ }
54
+ function buildHcs2MigrateTx(params) {
55
+ const payload = {
56
+ p: "hcs-2",
57
+ op: HCS2Operation.MIGRATE,
58
+ t_id: params.targetTopicId,
59
+ metadata: params.metadata,
60
+ m: params.memo
61
+ };
62
+ return buildMessageTx({
63
+ topicId: params.registryTopicId,
64
+ message: JSON.stringify(payload),
65
+ transactionMemo: params.analyticsMemo
66
+ });
67
+ }
65
68
  export {
66
- HCS20BurnMessageSchema,
67
- HCS20DeployMessageSchema,
68
- HCS20MessageSchema,
69
- HCS20MintMessageSchema,
70
- HCS20RegisterMessageSchema,
71
- HCS20TransferMessageSchema,
72
- HCS20_CONSTANTS
69
+ buildHcs2CreateRegistryTx,
70
+ buildHcs2DeleteTx,
71
+ buildHcs2MigrateTx,
72
+ buildHcs2RegisterTx,
73
+ buildHcs2UpdateTx
73
74
  };
74
75
  //# sourceMappingURL=standards-sdk.es78.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es78.js","sources":["../../src/hcs-20/types.ts"],"sourcesContent":["/**\n * HCS-20 Auditable Points Standard Types\n */\n\nimport { z } from 'zod';\nimport { AccountId, TopicId, PrivateKey } from '@hashgraph/sdk';\nimport type { ILogger } from '../utils/logger';\n\n/**\n * HCS-20 Constants\n */\nexport const HCS20_CONSTANTS = {\n PROTOCOL: 'hcs-20',\n PUBLIC_TOPIC_ID: '0.0.4350190',\n REGISTRY_TOPIC_ID: '0.0.4362300',\n MAX_NUMBER_LENGTH: 18,\n MAX_NAME_LENGTH: 100,\n MAX_METADATA_LENGTH: 100,\n HEDERA_ACCOUNT_REGEX:\n /^(0|(?:[1-9]\\d*))\\.(0|(?:[1-9]\\d*))\\.(0|(?:[1-9]\\d*))$/,\n} as const;\n\n/**\n * Hedera Account ID validator\n */\nconst HederaAccountIdSchema = z\n .string()\n .regex(\n HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX,\n 'Invalid Hedera account ID format',\n );\n\n/**\n * Number string validator\n */\nconst NumberStringSchema = z\n .string()\n .regex(/^\\d+$/, 'Must be a valid number')\n .max(\n HCS20_CONSTANTS.MAX_NUMBER_LENGTH,\n `Max ${HCS20_CONSTANTS.MAX_NUMBER_LENGTH} digits`,\n );\n\n/**\n * Tick validator\n */\nconst TickSchema = z\n .string()\n .min(1, 'Tick cannot be empty')\n .transform(val => val.toLowerCase().trim());\n\n/**\n * Base HCS-20 Message Schema\n */\nconst HCS20BaseMessageSchema = z.object({\n p: z.literal('hcs-20'),\n m: z.string().optional(),\n});\n\n/**\n * Deploy Points Operation Schema\n */\nexport const HCS20DeployMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('deploy'),\n name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),\n tick: TickSchema,\n max: NumberStringSchema,\n lim: NumberStringSchema.optional(),\n metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional(),\n});\n\n/**\n * Mint Points Operation Schema\n */\nexport const HCS20MintMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('mint'),\n tick: TickSchema,\n amt: NumberStringSchema,\n to: HederaAccountIdSchema,\n});\n\n/**\n * Burn Points Operation Schema\n */\nexport const HCS20BurnMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('burn'),\n tick: TickSchema,\n amt: NumberStringSchema,\n from: HederaAccountIdSchema,\n});\n\n/**\n * Transfer Points Operation Schema\n */\nexport const HCS20TransferMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('transfer'),\n tick: TickSchema,\n amt: NumberStringSchema,\n from: HederaAccountIdSchema,\n to: HederaAccountIdSchema,\n});\n\n/**\n * Register Topic Operation Schema\n */\nexport const HCS20RegisterMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('register'),\n name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),\n metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional(),\n private: z.boolean(),\n t_id: HederaAccountIdSchema,\n});\n\n/**\n * Union schema for all HCS-20 messages\n */\nexport const HCS20MessageSchema = z.discriminatedUnion('op', [\n HCS20DeployMessageSchema,\n HCS20MintMessageSchema,\n HCS20BurnMessageSchema,\n HCS20TransferMessageSchema,\n HCS20RegisterMessageSchema,\n]);\n\n/**\n * Inferred types from schemas\n */\nexport type HCS20BaseMessage = z.infer<typeof HCS20BaseMessageSchema>;\nexport type HCS20DeployMessage = z.infer<typeof HCS20DeployMessageSchema>;\nexport type HCS20MintMessage = z.infer<typeof HCS20MintMessageSchema>;\nexport type HCS20BurnMessage = z.infer<typeof HCS20BurnMessageSchema>;\nexport type HCS20TransferMessage = z.infer<typeof HCS20TransferMessageSchema>;\nexport type HCS20RegisterMessage = z.infer<typeof HCS20RegisterMessageSchema>;\nexport type HCS20Message = z.infer<typeof HCS20MessageSchema>;\nexport type HCS20Operation = HCS20Message['op'];\n\n/**\n * Points Configuration\n */\nexport interface PointsConfig {\n name: string;\n tick: string;\n maxSupply: string;\n limitPerMint?: string;\n metadata?: string;\n}\n\n/**\n * Points Information\n */\nexport interface PointsInfo extends PointsConfig {\n topicId: string;\n deployerAccountId: string;\n currentSupply: string;\n deploymentTimestamp: string;\n isPrivate: boolean;\n}\n\n/**\n * Points Balance\n */\nexport interface PointsBalance {\n tick: string;\n accountId: string;\n balance: string;\n lastUpdated: string;\n}\n\n/**\n * Points Transaction\n */\nexport interface PointsTransaction {\n id: string;\n operation: HCS20Operation;\n tick: string;\n amount?: string;\n from?: string;\n to?: string;\n timestamp: string;\n sequenceNumber: number;\n topicId: string;\n transactionId: string;\n memo?: string;\n}\n\n/**\n * HCS-20 Client Configuration\n */\nexport interface HCS20ClientConfig {\n mirrorNodeUrl?: string;\n logger?: ILogger;\n network?: 'mainnet' | 'testnet';\n registryTopicId?: string;\n publicTopicId?: string;\n}\n\n/**\n * Browser-specific HCS-20 Client Configuration\n */\nexport interface BrowserHCS20ClientConfig extends HCS20ClientConfig {\n walletConnectProjectId?: string;\n hwcMetadata?: {\n name: string;\n description: string;\n icons: string[];\n url: string;\n };\n}\n\n/**\n * SDK-specific HCS-20 Client Configuration\n */\nexport interface SDKHCS20ClientConfig extends HCS20ClientConfig {\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n}\n\n/**\n * Deploy Points Progress\n */\nexport interface DeployPointsProgress {\n stage: 'creating-topic' | 'submitting-deploy' | 'confirming' | 'complete';\n percentage: number;\n topicId?: string;\n deployTxId?: string;\n error?: string;\n}\n\n/**\n * Deploy Points Options\n */\nexport interface DeployPointsOptions extends PointsConfig {\n usePrivateTopic?: boolean;\n topicMemo?: string;\n progressCallback?: (data: DeployPointsProgress) => void;\n}\n\n/**\n * Mint Points Progress\n */\nexport interface MintPointsProgress {\n stage: 'validating' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n mintTxId?: string;\n error?: string;\n}\n\n/**\n * Mint Points Options\n */\nexport interface MintPointsOptions {\n tick: string;\n amount: string;\n to: string | AccountId;\n memo?: string;\n topicId?: string | TopicId;\n progressCallback?: (data: MintPointsProgress) => void;\n disableMirrorCheck?: boolean;\n}\n\n/**\n * Transfer Points Progress\n */\nexport interface TransferPointsProgress {\n stage: 'validating-balance' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n transferTxId?: string;\n error?: string;\n}\n\n/**\n * Transfer Points Options\n */\nexport interface TransferPointsOptions {\n tick: string;\n amount: string;\n from: string | AccountId;\n to: string | AccountId;\n memo?: string;\n topicId?: string | TopicId;\n progressCallback?: (data: TransferPointsProgress) => void;\n}\n\n/**\n * Burn Points Progress\n */\nexport interface BurnPointsProgress {\n stage: 'validating-balance' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n burnTxId?: string;\n error?: string;\n}\n\n/**\n * Burn Points Options\n */\nexport interface BurnPointsOptions {\n tick: string;\n amount: string;\n from: string | AccountId;\n memo?: string;\n topicId?: string | TopicId;\n progressCallback?: (data: BurnPointsProgress) => void;\n}\n\n/**\n * Register Topic Progress\n */\nexport interface RegisterTopicProgress {\n stage: 'validating' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n registerTxId?: string;\n error?: string;\n}\n\n/**\n * Register Topic Options\n */\nexport interface RegisterTopicOptions {\n topicId: string | TopicId;\n name: string;\n metadata?: string;\n isPrivate: boolean;\n memo?: string;\n progressCallback?: (data: RegisterTopicProgress) => void;\n}\n\n/**\n * Query Points Options\n */\nexport interface QueryPointsOptions {\n tick?: string;\n accountId?: string | AccountId;\n topicId?: string | TopicId;\n limit?: number;\n order?: 'asc' | 'desc';\n}\n\n/**\n * Points Query Result\n */\nexport interface PointsQueryResult {\n points: PointsInfo[];\n balances?: PointsBalance[];\n transactions?: PointsTransaction[];\n totalCount: number;\n hasMore: boolean;\n nextCursor?: string;\n}\n\n/**\n * Points State\n */\nexport interface PointsState {\n deployedPoints: Map<string, PointsInfo>;\n balances: Map<string, Map<string, PointsBalance>>;\n transactions: PointsTransaction[];\n lastProcessedSequence: number;\n lastProcessedTimestamp: string;\n}\n\n/**\n * HCS-20 Registry Entry\n */\nexport interface HCS20RegistryEntry {\n name: string;\n topicId: string;\n metadata?: string;\n isPrivate: boolean;\n registeredAt: string;\n registeredBy: string;\n}\n"],"names":[],"mappings":";AAWO,MAAM,kBAAkB;AAAA,EAC7B,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,sBACE;AACJ;AAKA,MAAM,wBAAwB,EAC3B,OAAA,EACA;AAAA,EACC,gBAAgB;AAAA,EAChB;AACF;AAKF,MAAM,qBAAqB,EACxB,OAAA,EACA,MAAM,SAAS,wBAAwB,EACvC;AAAA,EACC,gBAAgB;AAAA,EAChB,OAAO,gBAAgB,iBAAiB;AAC1C;AAKF,MAAM,aAAa,EAChB,OAAA,EACA,IAAI,GAAG,sBAAsB,EAC7B,UAAU,CAAA,QAAO,IAAI,YAAA,EAAc,MAAM;AAK5C,MAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,GAAG,EAAE,QAAQ,QAAQ;AAAA,EACrB,GAAG,EAAE,OAAA,EAAS,SAAA;AAChB,CAAC;AAKM,MAAM,2BAA2B,uBAAuB,OAAO;AAAA,EACpE,IAAI,EAAE,QAAQ,QAAQ;AAAA,EACtB,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,IAAI,gBAAgB,eAAe;AAAA,EAC3D,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK,mBAAmB,SAAA;AAAA,EACxB,UAAU,EAAE,OAAA,EAAS,IAAI,gBAAgB,mBAAmB,EAAE,SAAA;AAChE,CAAC;AAKM,MAAM,yBAAyB,uBAAuB,OAAO;AAAA,EAClE,IAAI,EAAE,QAAQ,MAAM;AAAA,EACpB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,IAAI;AACN,CAAC;AAKM,MAAM,yBAAyB,uBAAuB,OAAO;AAAA,EAClE,IAAI,EAAE,QAAQ,MAAM;AAAA,EACpB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AACR,CAAC;AAKM,MAAM,6BAA6B,uBAAuB,OAAO;AAAA,EACtE,IAAI,EAAE,QAAQ,UAAU;AAAA,EACxB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AACN,CAAC;AAKM,MAAM,6BAA6B,uBAAuB,OAAO;AAAA,EACtE,IAAI,EAAE,QAAQ,UAAU;AAAA,EACxB,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,IAAI,gBAAgB,eAAe;AAAA,EAC3D,UAAU,EAAE,OAAA,EAAS,IAAI,gBAAgB,mBAAmB,EAAE,SAAA;AAAA,EAC9D,SAAS,EAAE,QAAA;AAAA,EACX,MAAM;AACR,CAAC;AAKM,MAAM,qBAAqB,EAAE,mBAAmB,MAAM;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;"}
1
+ {"version":3,"file":"standards-sdk.es78.js","sources":["../../src/hcs-2/tx.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n} from '@hashgraph/sdk';\nimport {\n encodeHcs2RegistryMemo,\n buildTopicCreateTx,\n buildMessageTx,\n MaybeKey,\n} from '../common/tx/tx-utils';\nimport {\n HCS2Operation,\n HCS2RegistryType,\n HCS2RegisterMessage,\n HCS2UpdateMessage,\n HCS2DeleteMessage,\n HCS2MigrateMessage,\n} from './types';\n\nexport function buildHcs2CreateRegistryTx(params: {\n registryType: HCS2RegistryType;\n ttl: number;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n memoOverride?: string;\n operatorPublicKey?: Parameters<\n typeof buildTopicCreateTx\n >[0]['operatorPublicKey'];\n}): TopicCreateTransaction {\n const memo =\n params.memoOverride ??\n encodeHcs2RegistryMemo(params.registryType, params.ttl);\n return buildTopicCreateTx({\n memo,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: params.operatorPublicKey,\n });\n}\n\nexport function buildHcs2RegisterTx(params: {\n registryTopicId: string;\n targetTopicId: string;\n metadata?: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2RegisterMessage = {\n p: 'hcs-2',\n op: HCS2Operation.REGISTER,\n t_id: params.targetTopicId,\n metadata: params.metadata,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n\nexport function buildHcs2UpdateTx(params: {\n registryTopicId: string;\n uid: string;\n targetTopicId: string;\n metadata?: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2UpdateMessage = {\n p: 'hcs-2',\n op: HCS2Operation.UPDATE,\n uid: params.uid,\n t_id: params.targetTopicId,\n metadata: params.metadata,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n\nexport function buildHcs2DeleteTx(params: {\n registryTopicId: string;\n uid: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2DeleteMessage = {\n p: 'hcs-2',\n op: HCS2Operation.DELETE,\n uid: params.uid,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n\nexport function buildHcs2MigrateTx(params: {\n registryTopicId: string;\n targetTopicId: string;\n metadata?: string;\n memo?: string;\n analyticsMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS2MigrateMessage = {\n p: 'hcs-2',\n op: HCS2Operation.MIGRATE,\n t_id: params.targetTopicId,\n metadata: params.metadata,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n transactionMemo: params.analyticsMemo,\n });\n}\n"],"names":[],"mappings":";;AAmBO,SAAS,0BAA0B,QASf;AACzB,QAAM,OACJ,OAAO,gBACP,uBAAuB,OAAO,cAAc,OAAO,GAAG;AACxD,SAAO,mBAAmB;AAAA,IACxB;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,WAAW,OAAO;AAAA,IAClB,mBAAmB,OAAO;AAAA,EAAA,CAC3B;AACH;AAEO,SAAS,oBAAoB,QAMF;AAChC,QAAM,UAA+B;AAAA,IACnC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;AAEO,SAAS,kBAAkB,QAOA;AAChC,QAAM,UAA6B;AAAA,IACjC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,KAAK,OAAO;AAAA,IACZ,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;AAEO,SAAS,kBAAkB,QAKA;AAChC,QAAM,UAA6B;AAAA,IACjC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,KAAK,OAAO;AAAA,IACZ,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;AAEO,SAAS,mBAAmB,QAMD;AAChC,QAAM,UAA8B;AAAA,IAClC,GAAG;AAAA,IACH,IAAI,cAAc;AAAA,IAClB,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;"}