@hashgraphonline/standards-sdk 0.1.143-feat-solana-register.canary.1c6f446.78 → 0.1.144-feat-solana-register.canary.d5edcec.80

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 (340) hide show
  1. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  2. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/services/registry-broker/schemas.d.ts +153 -153
  5. package/dist/cjs/standards-sdk.cjs +2 -2
  6. package/dist/cjs/standards-sdk.cjs.map +1 -1
  7. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  8. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  9. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  10. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  11. package/dist/es/index.d.ts.map +1 -1
  12. package/dist/es/services/registry-broker/schemas.d.ts +153 -153
  13. package/dist/es/standards-sdk.es.js +134 -135
  14. package/dist/es/standards-sdk.es.js.map +1 -1
  15. package/dist/es/standards-sdk.es10.js +70 -90
  16. package/dist/es/standards-sdk.es10.js.map +1 -1
  17. package/dist/es/standards-sdk.es100.js +229 -27
  18. package/dist/es/standards-sdk.es100.js.map +1 -1
  19. package/dist/es/standards-sdk.es101.js +109 -228
  20. package/dist/es/standards-sdk.es101.js.map +1 -1
  21. package/dist/es/standards-sdk.es102.js +15 -94
  22. package/dist/es/standards-sdk.es102.js.map +1 -1
  23. package/dist/es/standards-sdk.es103.js +80 -30
  24. package/dist/es/standards-sdk.es103.js.map +1 -1
  25. package/dist/es/standards-sdk.es104.js +27 -80
  26. package/dist/es/standards-sdk.es104.js.map +1 -1
  27. package/dist/es/standards-sdk.es105.js +136 -25
  28. package/dist/es/standards-sdk.es105.js.map +1 -1
  29. package/dist/es/standards-sdk.es106.js +27 -140
  30. package/dist/es/standards-sdk.es106.js.map +1 -1
  31. package/dist/es/standards-sdk.es107.js +20 -27
  32. package/dist/es/standards-sdk.es107.js.map +1 -1
  33. package/dist/es/standards-sdk.es108.js +156 -18
  34. package/dist/es/standards-sdk.es108.js.map +1 -1
  35. package/dist/es/standards-sdk.es109.js +198 -148
  36. package/dist/es/standards-sdk.es109.js.map +1 -1
  37. package/dist/es/standards-sdk.es11.js +121 -45
  38. package/dist/es/standards-sdk.es11.js.map +1 -1
  39. package/dist/es/standards-sdk.es110.js +747 -167
  40. package/dist/es/standards-sdk.es110.js.map +1 -1
  41. package/dist/es/standards-sdk.es111.js +9 -786
  42. package/dist/es/standards-sdk.es111.js.map +1 -1
  43. package/dist/es/standards-sdk.es112.js +567 -13
  44. package/dist/es/standards-sdk.es112.js.map +1 -1
  45. package/dist/es/standards-sdk.es113.js +576 -541
  46. package/dist/es/standards-sdk.es113.js.map +1 -1
  47. package/dist/es/standards-sdk.es114.js +12 -601
  48. package/dist/es/standards-sdk.es114.js.map +1 -1
  49. package/dist/es/standards-sdk.es115.js +2 -13
  50. package/dist/es/standards-sdk.es115.js.map +1 -1
  51. package/dist/es/standards-sdk.es116.js +87 -2
  52. package/dist/es/standards-sdk.es116.js.map +1 -1
  53. package/dist/es/standards-sdk.es117.js +37 -84
  54. package/dist/es/standards-sdk.es117.js.map +1 -1
  55. package/dist/es/standards-sdk.es118.js +2 -40
  56. package/dist/es/standards-sdk.es118.js.map +1 -1
  57. package/dist/es/standards-sdk.es119.js +231 -2
  58. package/dist/es/standards-sdk.es119.js.map +1 -1
  59. package/dist/es/standards-sdk.es12.js +60 -159
  60. package/dist/es/standards-sdk.es12.js.map +1 -1
  61. package/dist/es/standards-sdk.es120.js +1110 -201
  62. package/dist/es/standards-sdk.es120.js.map +1 -1
  63. package/dist/es/standards-sdk.es121.js +225 -1059
  64. package/dist/es/standards-sdk.es121.js.map +1 -1
  65. package/dist/es/standards-sdk.es122.js +419 -303
  66. package/dist/es/standards-sdk.es122.js.map +1 -1
  67. package/dist/es/standards-sdk.es123.js +351 -418
  68. package/dist/es/standards-sdk.es123.js.map +1 -1
  69. package/dist/es/standards-sdk.es124.js +872 -347
  70. package/dist/es/standards-sdk.es124.js.map +1 -1
  71. package/dist/es/standards-sdk.es125.js +182 -854
  72. package/dist/es/standards-sdk.es125.js.map +1 -1
  73. package/dist/es/standards-sdk.es126.js +1512 -153
  74. package/dist/es/standards-sdk.es126.js.map +1 -1
  75. package/dist/es/standards-sdk.es127.js +157 -1547
  76. package/dist/es/standards-sdk.es127.js.map +1 -1
  77. package/dist/es/standards-sdk.es128.js +192 -162
  78. package/dist/es/standards-sdk.es128.js.map +1 -1
  79. package/dist/es/standards-sdk.es129.js +61 -164
  80. package/dist/es/standards-sdk.es129.js.map +1 -1
  81. package/dist/es/standards-sdk.es13.js +200 -60
  82. package/dist/es/standards-sdk.es13.js.map +1 -1
  83. package/dist/es/standards-sdk.es130.js +102 -85
  84. package/dist/es/standards-sdk.es130.js.map +1 -1
  85. package/dist/es/standards-sdk.es131.js +222 -96
  86. package/dist/es/standards-sdk.es131.js.map +1 -1
  87. package/dist/es/standards-sdk.es132.js +153 -220
  88. package/dist/es/standards-sdk.es132.js.map +1 -1
  89. package/dist/es/standards-sdk.es133.js +104 -162
  90. package/dist/es/standards-sdk.es133.js.map +1 -1
  91. package/dist/es/standards-sdk.es134.js +296 -92
  92. package/dist/es/standards-sdk.es134.js.map +1 -1
  93. package/dist/es/standards-sdk.es135.js +432 -294
  94. package/dist/es/standards-sdk.es135.js.map +1 -1
  95. package/dist/es/standards-sdk.es136.js +14 -461
  96. package/dist/es/standards-sdk.es136.js.map +1 -1
  97. package/dist/es/standards-sdk.es137.js +79 -15
  98. package/dist/es/standards-sdk.es137.js.map +1 -1
  99. package/dist/es/standards-sdk.es138.js +77 -71
  100. package/dist/es/standards-sdk.es138.js.map +1 -1
  101. package/dist/es/standards-sdk.es139.js +152 -80
  102. package/dist/es/standards-sdk.es139.js.map +1 -1
  103. package/dist/es/standards-sdk.es14.js +149 -178
  104. package/dist/es/standards-sdk.es14.js.map +1 -1
  105. package/dist/es/standards-sdk.es140.js +7 -159
  106. package/dist/es/standards-sdk.es140.js.map +1 -1
  107. package/dist/es/standards-sdk.es141.js +86 -7
  108. package/dist/es/standards-sdk.es141.js.map +1 -1
  109. package/dist/es/standards-sdk.es142.js +44 -65
  110. package/dist/es/standards-sdk.es142.js.map +1 -1
  111. package/dist/es/standards-sdk.es143.js +30 -65
  112. package/dist/es/standards-sdk.es143.js.map +1 -1
  113. package/dist/es/standards-sdk.es144.js +34 -30
  114. package/dist/es/standards-sdk.es144.js.map +1 -1
  115. package/dist/es/standards-sdk.es145.js +28 -34
  116. package/dist/es/standards-sdk.es145.js.map +1 -1
  117. package/dist/es/standards-sdk.es146.js +138 -28
  118. package/dist/es/standards-sdk.es146.js.map +1 -1
  119. package/dist/es/standards-sdk.es147.js +37 -133
  120. package/dist/es/standards-sdk.es147.js.map +1 -1
  121. package/dist/es/standards-sdk.es148.js +12280 -33
  122. package/dist/es/standards-sdk.es148.js.map +1 -1
  123. package/dist/es/standards-sdk.es149.js +1 -1
  124. package/dist/es/standards-sdk.es15.js +152 -151
  125. package/dist/es/standards-sdk.es15.js.map +1 -1
  126. package/dist/es/standards-sdk.es150.js +12 -12284
  127. package/dist/es/standards-sdk.es150.js.map +1 -1
  128. package/dist/es/standards-sdk.es151.js +54 -15
  129. package/dist/es/standards-sdk.es151.js.map +1 -1
  130. package/dist/es/standards-sdk.es152.js +72 -160
  131. package/dist/es/standards-sdk.es152.js.map +1 -1
  132. package/dist/es/standards-sdk.es153.js +139 -289
  133. package/dist/es/standards-sdk.es153.js.map +1 -1
  134. package/dist/es/standards-sdk.es154.js +274 -298
  135. package/dist/es/standards-sdk.es154.js.map +1 -1
  136. package/dist/es/standards-sdk.es155.js +262 -369
  137. package/dist/es/standards-sdk.es155.js.map +1 -1
  138. package/dist/es/standards-sdk.es156.js +316 -194
  139. package/dist/es/standards-sdk.es156.js.map +1 -1
  140. package/dist/es/standards-sdk.es157.js +319 -64
  141. package/dist/es/standards-sdk.es157.js.map +1 -1
  142. package/dist/es/standards-sdk.es158.js +69 -49
  143. package/dist/es/standards-sdk.es158.js.map +1 -1
  144. package/dist/es/standards-sdk.es159.js +222 -65
  145. package/dist/es/standards-sdk.es159.js.map +1 -1
  146. package/dist/es/standards-sdk.es16.js +917 -136
  147. package/dist/es/standards-sdk.es16.js.map +1 -1
  148. package/dist/es/standards-sdk.es160.js +223 -218
  149. package/dist/es/standards-sdk.es160.js.map +1 -1
  150. package/dist/es/standards-sdk.es17.js +23 -948
  151. package/dist/es/standards-sdk.es17.js.map +1 -1
  152. package/dist/es/standards-sdk.es18.js +2422 -24
  153. package/dist/es/standards-sdk.es18.js.map +1 -1
  154. package/dist/es/standards-sdk.es19.js +818 -2092
  155. package/dist/es/standards-sdk.es19.js.map +1 -1
  156. package/dist/es/standards-sdk.es2.js +654 -189
  157. package/dist/es/standards-sdk.es2.js.map +1 -1
  158. package/dist/es/standards-sdk.es20.js +205 -1092
  159. package/dist/es/standards-sdk.es20.js.map +1 -1
  160. package/dist/es/standards-sdk.es21.js +858 -221
  161. package/dist/es/standards-sdk.es21.js.map +1 -1
  162. package/dist/es/standards-sdk.es22.js +179 -903
  163. package/dist/es/standards-sdk.es22.js.map +1 -1
  164. package/dist/es/standards-sdk.es23.js +164 -179
  165. package/dist/es/standards-sdk.es23.js.map +1 -1
  166. package/dist/es/standards-sdk.es24.js +62 -118
  167. package/dist/es/standards-sdk.es24.js.map +1 -1
  168. package/dist/es/standards-sdk.es25.js +377 -57
  169. package/dist/es/standards-sdk.es25.js.map +1 -1
  170. package/dist/es/standards-sdk.es26.js +36 -394
  171. package/dist/es/standards-sdk.es26.js.map +1 -1
  172. package/dist/es/standards-sdk.es27.js +901 -50
  173. package/dist/es/standards-sdk.es27.js.map +1 -1
  174. package/dist/es/standards-sdk.es28.js +134 -922
  175. package/dist/es/standards-sdk.es28.js.map +1 -1
  176. package/dist/es/standards-sdk.es29.js +7 -134
  177. package/dist/es/standards-sdk.es29.js.map +1 -1
  178. package/dist/es/standards-sdk.es3.js +63 -680
  179. package/dist/es/standards-sdk.es3.js.map +1 -1
  180. package/dist/es/standards-sdk.es30.js +344 -7
  181. package/dist/es/standards-sdk.es30.js.map +1 -1
  182. package/dist/es/standards-sdk.es31.js +302 -287
  183. package/dist/es/standards-sdk.es31.js.map +1 -1
  184. package/dist/es/standards-sdk.es32.js +94 -322
  185. package/dist/es/standards-sdk.es32.js.map +1 -1
  186. package/dist/es/standards-sdk.es33.js +458 -101
  187. package/dist/es/standards-sdk.es33.js.map +1 -1
  188. package/dist/es/standards-sdk.es34.js +132 -451
  189. package/dist/es/standards-sdk.es34.js.map +1 -1
  190. package/dist/es/standards-sdk.es35.js +216 -130
  191. package/dist/es/standards-sdk.es35.js.map +1 -1
  192. package/dist/es/standards-sdk.es36.js +273 -196
  193. package/dist/es/standards-sdk.es36.js.map +1 -1
  194. package/dist/es/standards-sdk.es37.js +148 -87
  195. package/dist/es/standards-sdk.es37.js.map +1 -1
  196. package/dist/es/standards-sdk.es38.js +183 -320
  197. package/dist/es/standards-sdk.es38.js.map +1 -1
  198. package/dist/es/standards-sdk.es39.js +238 -161
  199. package/dist/es/standards-sdk.es39.js.map +1 -1
  200. package/dist/es/standards-sdk.es4.js +425 -63
  201. package/dist/es/standards-sdk.es4.js.map +1 -1
  202. package/dist/es/standards-sdk.es40.js +136 -254
  203. package/dist/es/standards-sdk.es40.js.map +1 -1
  204. package/dist/es/standards-sdk.es41.js +225 -176
  205. package/dist/es/standards-sdk.es41.js.map +1 -1
  206. package/dist/es/standards-sdk.es42.js +199 -261
  207. package/dist/es/standards-sdk.es42.js.map +1 -1
  208. package/dist/es/standards-sdk.es43.js +237 -199
  209. package/dist/es/standards-sdk.es43.js.map +1 -1
  210. package/dist/es/standards-sdk.es44.js +209 -201
  211. package/dist/es/standards-sdk.es44.js.map +1 -1
  212. package/dist/es/standards-sdk.es45.js +305 -201
  213. package/dist/es/standards-sdk.es45.js.map +1 -1
  214. package/dist/es/standards-sdk.es46.js +371 -261
  215. package/dist/es/standards-sdk.es46.js.map +1 -1
  216. package/dist/es/standards-sdk.es47.js +316 -372
  217. package/dist/es/standards-sdk.es47.js.map +1 -1
  218. package/dist/es/standards-sdk.es48.js +404 -336
  219. package/dist/es/standards-sdk.es48.js.map +1 -1
  220. package/dist/es/standards-sdk.es49.js +83 -449
  221. package/dist/es/standards-sdk.es49.js.map +1 -1
  222. package/dist/es/standards-sdk.es5.js +232 -354
  223. package/dist/es/standards-sdk.es5.js.map +1 -1
  224. package/dist/es/standards-sdk.es50.js +179 -89
  225. package/dist/es/standards-sdk.es50.js.map +1 -1
  226. package/dist/es/standards-sdk.es51.js +231 -165
  227. package/dist/es/standards-sdk.es51.js.map +1 -1
  228. package/dist/es/standards-sdk.es52.js +25 -262
  229. package/dist/es/standards-sdk.es52.js.map +1 -1
  230. package/dist/es/standards-sdk.es53.js +56 -26
  231. package/dist/es/standards-sdk.es53.js.map +1 -1
  232. package/dist/es/standards-sdk.es54.js +12 -57
  233. package/dist/es/standards-sdk.es54.js.map +1 -1
  234. package/dist/es/standards-sdk.es55.js +49 -12
  235. package/dist/es/standards-sdk.es55.js.map +1 -1
  236. package/dist/es/standards-sdk.es56.js +115 -43
  237. package/dist/es/standards-sdk.es56.js.map +1 -1
  238. package/dist/es/standards-sdk.es57.js +42 -115
  239. package/dist/es/standards-sdk.es57.js.map +1 -1
  240. package/dist/es/standards-sdk.es58.js +52 -43
  241. package/dist/es/standards-sdk.es58.js.map +1 -1
  242. package/dist/es/standards-sdk.es59.js +36 -50
  243. package/dist/es/standards-sdk.es59.js.map +1 -1
  244. package/dist/es/standards-sdk.es6.js +125 -246
  245. package/dist/es/standards-sdk.es6.js.map +1 -1
  246. package/dist/es/standards-sdk.es60.js +207 -39
  247. package/dist/es/standards-sdk.es60.js.map +1 -1
  248. package/dist/es/standards-sdk.es61.js +24 -201
  249. package/dist/es/standards-sdk.es61.js.map +1 -1
  250. package/dist/es/standards-sdk.es62.js +87 -25
  251. package/dist/es/standards-sdk.es62.js.map +1 -1
  252. package/dist/es/standards-sdk.es63.js +3 -51
  253. package/dist/es/standards-sdk.es63.js.map +1 -1
  254. package/dist/es/standards-sdk.es64.js +100 -3
  255. package/dist/es/standards-sdk.es64.js.map +1 -1
  256. package/dist/es/standards-sdk.es65.js +61 -62
  257. package/dist/es/standards-sdk.es65.js.map +1 -1
  258. package/dist/es/standards-sdk.es66.js +17 -98
  259. package/dist/es/standards-sdk.es66.js.map +1 -1
  260. package/dist/es/standards-sdk.es67.js +77 -19
  261. package/dist/es/standards-sdk.es67.js.map +1 -1
  262. package/dist/es/standards-sdk.es68.js +458 -77
  263. package/dist/es/standards-sdk.es68.js.map +1 -1
  264. package/dist/es/standards-sdk.es69.js +106 -240
  265. package/dist/es/standards-sdk.es69.js.map +1 -1
  266. package/dist/es/standards-sdk.es7.js +28 -183
  267. package/dist/es/standards-sdk.es7.js.map +1 -1
  268. package/dist/es/standards-sdk.es70.js +170 -286
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +71 -207
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +71 -72
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +143 -71
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +62 -136
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +380 -45
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +222 -130
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +320 -444
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +88 -371
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +125 -89
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es8.js +80 -29
  289. package/dist/es/standards-sdk.es8.js.map +1 -1
  290. package/dist/es/standards-sdk.es80.js +8 -125
  291. package/dist/es/standards-sdk.es80.js.map +1 -1
  292. package/dist/es/standards-sdk.es81.js +45 -6
  293. package/dist/es/standards-sdk.es81.js.map +1 -1
  294. package/dist/es/standards-sdk.es82.js +98 -44
  295. package/dist/es/standards-sdk.es82.js.map +1 -1
  296. package/dist/es/standards-sdk.es83.js +331 -84
  297. package/dist/es/standards-sdk.es83.js.map +1 -1
  298. package/dist/es/standards-sdk.es84.js +93 -160
  299. package/dist/es/standards-sdk.es84.js.map +1 -1
  300. package/dist/es/standards-sdk.es85.js +55 -275
  301. package/dist/es/standards-sdk.es85.js.map +1 -1
  302. package/dist/es/standards-sdk.es86.js +43 -55
  303. package/dist/es/standards-sdk.es86.js.map +1 -1
  304. package/dist/es/standards-sdk.es87.js +145 -44
  305. package/dist/es/standards-sdk.es87.js.map +1 -1
  306. package/dist/es/standards-sdk.es88.js +30 -113
  307. package/dist/es/standards-sdk.es88.js.map +1 -1
  308. package/dist/es/standards-sdk.es89.js +22 -59
  309. package/dist/es/standards-sdk.es89.js.map +1 -1
  310. package/dist/es/standards-sdk.es9.js +104 -80
  311. package/dist/es/standards-sdk.es9.js.map +1 -1
  312. package/dist/es/standards-sdk.es90.js +23 -28
  313. package/dist/es/standards-sdk.es90.js.map +1 -1
  314. package/dist/es/standards-sdk.es91.js +238 -23
  315. package/dist/es/standards-sdk.es91.js.map +1 -1
  316. package/dist/es/standards-sdk.es92.js +267 -225
  317. package/dist/es/standards-sdk.es92.js.map +1 -1
  318. package/dist/es/standards-sdk.es93.js +95 -220
  319. package/dist/es/standards-sdk.es93.js.map +1 -1
  320. package/dist/es/standards-sdk.es94.js +124 -136
  321. package/dist/es/standards-sdk.es94.js.map +1 -1
  322. package/dist/es/standards-sdk.es95.js +42 -138
  323. package/dist/es/standards-sdk.es95.js.map +1 -1
  324. package/dist/es/standards-sdk.es96.js +259 -43
  325. package/dist/es/standards-sdk.es96.js.map +1 -1
  326. package/dist/es/standards-sdk.es97.js +82 -245
  327. package/dist/es/standards-sdk.es97.js.map +1 -1
  328. package/dist/es/standards-sdk.es98.js +49 -50
  329. package/dist/es/standards-sdk.es98.js.map +1 -1
  330. package/dist/es/standards-sdk.es99.js +29 -100
  331. package/dist/es/standards-sdk.es99.js.map +1 -1
  332. package/dist/es/utils/dynamic-import.d.ts +5 -1
  333. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  334. package/package.json +4 -4
  335. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  336. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  337. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  338. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
  339. package/dist/es/standards-sdk.es161.js +0 -247
  340. package/dist/es/standards-sdk.es161.js.map +0 -1
@@ -1,211 +1,75 @@
1
- import { Logger } from "./standards-sdk.es106.js";
2
- import { HederaMirrorNode } from "./standards-sdk.es127.js";
3
- import { hcs2MessageSchema, HCS2Operation, HCS2RegistryType } from "./standards-sdk.es68.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
- }
1
+ import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.es147.js";
2
+ import { HCS2Operation } from "./standards-sdk.es67.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
+ });
207
67
  }
208
68
  export {
209
- HCS2BaseClient
69
+ buildHcs2CreateRegistryTx,
70
+ buildHcs2DeleteTx,
71
+ buildHcs2MigrateTx,
72
+ buildHcs2RegisterTx,
73
+ buildHcs2UpdateTx
210
74
  };
211
75
  //# sourceMappingURL=standards-sdk.es71.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es71.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
+ {"version":3,"file":"standards-sdk.es71.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,75 +1,74 @@
1
- import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.es148.js";
2
- import { HCS2Operation } from "./standards-sdk.es68.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
- }
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
+ ]);
68
65
  export {
69
- buildHcs2CreateRegistryTx,
70
- buildHcs2DeleteTx,
71
- buildHcs2MigrateTx,
72
- buildHcs2RegisterTx,
73
- buildHcs2UpdateTx
66
+ HCS20BurnMessageSchema,
67
+ HCS20DeployMessageSchema,
68
+ HCS20MessageSchema,
69
+ HCS20MintMessageSchema,
70
+ HCS20RegisterMessageSchema,
71
+ HCS20TransferMessageSchema,
72
+ HCS20_CONSTANTS
74
73
  };
75
74
  //# sourceMappingURL=standards-sdk.es72.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es72.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.es72.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;"}