@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,104 +1,50 @@
1
- import { HederaMirrorNode } from "./standards-sdk.es138.js";
2
- import { Logger } from "./standards-sdk.es117.js";
3
- import { HCS21ValidationError } from "./standards-sdk.es86.js";
4
- import { HCS21_PROTOCOL, adapterDeclarationSchema, HCS21_SAFE_MESSAGE_BYTES, HCS21_MAX_MESSAGE_BYTES } from "./standards-sdk.es85.js";
5
- class HCS21BaseClient {
6
- constructor(params) {
7
- this.network = params.network;
8
- this.logger = params.logger || new Logger({ level: "info", module: "HCS-21" });
9
- this.mirrorNode = new HederaMirrorNode(this.network, this.logger, {
10
- customUrl: params.mirrorNodeUrl
11
- });
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es154.js";
2
+ import { HCS21TopicType, HCS21MetadataPointerPattern, HCS21_SAFE_MESSAGE_BYTES, HCS21_MAX_MESSAGE_BYTES } from "./standards-sdk.es86.js";
3
+ import { HCS21ValidationError } from "./standards-sdk.es87.js";
4
+ function buildHcs21RegistryMemo(params) {
5
+ const indexed = params.indexed ?? 0;
6
+ const topicType = params.type ?? HCS21TopicType.ADAPTER_REGISTRY;
7
+ if (params.metaTopicId && !HCS21MetadataPointerPattern.test(params.metaTopicId)) {
8
+ throw new HCS21ValidationError(
9
+ "Meta value must be a short pointer (topic ID, HRL, IPFS, Arweave, OCI, or HTTPS)",
10
+ "invalid_payload"
11
+ );
12
12
  }
13
- buildDeclaration(params) {
14
- const declaration = {
15
- p: HCS21_PROTOCOL,
16
- op: params.op,
17
- adapter_id: params.adapterId,
18
- entity: params.entity,
19
- package: params.adapterPackage,
20
- manifest: params.manifest,
21
- ...params.manifestSequence ? { manifest_sequence: params.manifestSequence } : {},
22
- config: params.config,
23
- state_model: params.stateModel,
24
- signature: params.signature
25
- };
26
- return this.validateDeclaration(declaration);
27
- }
28
- validateDeclaration(input) {
29
- try {
30
- const payload = typeof input === "string" ? JSON.parse(input) : input;
31
- const parsed = adapterDeclarationSchema.parse(
32
- payload
33
- );
34
- this.assertSizeLimit(parsed);
35
- return parsed;
36
- } catch (error) {
37
- const message = error instanceof Error ? error.message : "Invalid adapter declaration";
38
- throw new HCS21ValidationError(message, "invalid_payload");
39
- }
40
- }
41
- async fetchDeclarations(topicId, options) {
42
- const rawMessages = await this.mirrorNode.getTopicMessages(topicId, {
43
- limit: options?.limit,
44
- order: options?.order
45
- });
46
- const envelopes = [];
47
- for (const message of rawMessages) {
48
- if (message.p !== HCS21_PROTOCOL) {
49
- continue;
50
- }
51
- try {
52
- const declaration = this.validateDeclaration(message);
53
- envelopes.push({
54
- declaration,
55
- consensusTimestamp: message.consensus_timestamp,
56
- sequenceNumber: message.sequence_number,
57
- payer: message.payer
58
- });
59
- } catch (error) {
60
- const detail = error instanceof Error ? error.message : "unknown error";
61
- this.logger.warn(`Skipping invalid HCS-21 message: ${detail}`);
62
- }
63
- }
64
- return envelopes;
65
- }
66
- async fetchCategoryEntries(topicId) {
67
- const rawMessages = await this.mirrorNode.getTopicMessages(topicId);
68
- const entries = [];
69
- for (const message of rawMessages) {
70
- if (message.p !== "hcs-2" || message.op !== "register") {
71
- continue;
72
- }
73
- if (!message.t_id || typeof message.t_id !== "string") {
74
- continue;
75
- }
76
- const memo = typeof message.m === "string" ? message.m : void 0;
77
- const adapterId = memo?.startsWith("adapter:") ? memo.slice("adapter:".length) : memo;
78
- entries.push({
79
- adapterId: adapterId ?? message.t_id,
80
- adapterTopicId: message.t_id,
81
- metadata: message.metadata,
82
- memo,
83
- payer: message.payer,
84
- sequenceNumber: Number(message.sequence_number ?? 0),
85
- consensusTimestamp: message.consensus_timestamp
86
- });
87
- }
88
- return entries;
89
- }
90
- assertSizeLimit(payload) {
91
- const json = JSON.stringify(payload);
92
- const bytes = Buffer.byteLength(json, "utf8");
93
- if (bytes > HCS21_SAFE_MESSAGE_BYTES) {
94
- throw new HCS21ValidationError(
95
- `HCS-21 payload exceeds safe limit of ${HCS21_SAFE_MESSAGE_BYTES} bytes (${bytes}); Hedera cap is ${HCS21_MAX_MESSAGE_BYTES}`,
96
- "size_exceeded"
97
- );
98
- }
13
+ const metaSegment = params.metaTopicId ? `:${params.metaTopicId}` : "";
14
+ return `hcs-21:${indexed}:${params.ttl}:${topicType}${metaSegment}`;
15
+ }
16
+ function buildHcs21CreateRegistryTx(params) {
17
+ const memo = buildHcs21RegistryMemo({
18
+ ttl: params.ttl,
19
+ indexed: params.indexed,
20
+ type: params.type,
21
+ metaTopicId: params.metaTopicId
22
+ });
23
+ return buildTopicCreateTx({
24
+ memo,
25
+ adminKey: params.adminKey,
26
+ submitKey: params.submitKey,
27
+ operatorPublicKey: params.operatorPublicKey
28
+ });
29
+ }
30
+ function buildHcs21MessageTx(params) {
31
+ const json = JSON.stringify(params.declaration);
32
+ const bytes = Buffer.byteLength(json, "utf8");
33
+ if (bytes > HCS21_SAFE_MESSAGE_BYTES) {
34
+ throw new HCS21ValidationError(
35
+ `HCS-21 payload exceeds safe limit of ${HCS21_SAFE_MESSAGE_BYTES} bytes (${bytes}); Hedera cap is ${HCS21_MAX_MESSAGE_BYTES}`,
36
+ "size_exceeded"
37
+ );
99
38
  }
39
+ return buildMessageTx({
40
+ topicId: params.topicId,
41
+ message: JSON.stringify(params.declaration),
42
+ transactionMemo: params.transactionMemo
43
+ });
100
44
  }
101
45
  export {
102
- HCS21BaseClient
46
+ buildHcs21CreateRegistryTx,
47
+ buildHcs21MessageTx,
48
+ buildHcs21RegistryMemo
103
49
  };
104
50
  //# sourceMappingURL=standards-sdk.es88.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es88.js","sources":["../../src/hcs-21/base-client.ts"],"sourcesContent":["import { HederaMirrorNode } from '../services/mirror-node';\nimport { ILogger, Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HCS21ValidationError } from './errors';\nimport {\n AdapterDeclaration,\n AdapterDeclarationEnvelope,\n AdapterPackage,\n HCS21_MAX_MESSAGE_BYTES,\n HCS21_SAFE_MESSAGE_BYTES,\n HCS21Operation,\n HCS21_PROTOCOL,\n AdapterConfigContext,\n adapterDeclarationSchema,\n AdapterCategoryEntry,\n HCS21TopicType,\n} from './types';\n\nexport interface BuildDeclarationParams {\n op: HCS21Operation;\n adapterId: string;\n entity: string;\n adapterPackage: AdapterPackage;\n manifest: string;\n manifestSequence?: number;\n config: AdapterConfigContext;\n stateModel?: string;\n signature?: string;\n}\n\nexport interface FetchDeclarationsOptions {\n limit?: number;\n order?: 'asc' | 'desc';\n}\n\nexport class HCS21BaseClient {\n protected readonly network: NetworkType;\n protected readonly logger: ILogger;\n protected readonly mirrorNode: HederaMirrorNode;\n\n constructor(params: {\n network: NetworkType;\n logger?: ILogger;\n mirrorNodeUrl?: string;\n }) {\n this.network = params.network;\n this.logger =\n params.logger || new Logger({ level: 'info', module: 'HCS-21' });\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger, {\n customUrl: params.mirrorNodeUrl,\n });\n }\n\n buildDeclaration(params: BuildDeclarationParams): AdapterDeclaration {\n const declaration: AdapterDeclaration = {\n p: HCS21_PROTOCOL,\n op: params.op,\n adapter_id: params.adapterId,\n entity: params.entity,\n package: params.adapterPackage,\n manifest: params.manifest,\n ...(params.manifestSequence\n ? { manifest_sequence: params.manifestSequence }\n : {}),\n config: params.config,\n state_model: params.stateModel,\n signature: params.signature,\n };\n\n return this.validateDeclaration(declaration);\n }\n\n validateDeclaration(input: unknown): AdapterDeclaration {\n try {\n const payload = typeof input === 'string' ? JSON.parse(input) : input;\n const parsed = adapterDeclarationSchema.parse(\n payload,\n ) as AdapterDeclaration;\n this.assertSizeLimit(parsed);\n return parsed;\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'Invalid adapter declaration';\n throw new HCS21ValidationError(message, 'invalid_payload');\n }\n }\n\n async fetchDeclarations(\n topicId: string,\n options?: FetchDeclarationsOptions,\n ): Promise<AdapterDeclarationEnvelope[]> {\n const rawMessages = await this.mirrorNode.getTopicMessages(topicId, {\n limit: options?.limit,\n order: options?.order,\n });\n\n const envelopes: AdapterDeclarationEnvelope[] = [];\n\n for (const message of rawMessages) {\n if (message.p !== HCS21_PROTOCOL) {\n continue;\n }\n\n try {\n const declaration = this.validateDeclaration(message);\n envelopes.push({\n declaration,\n consensusTimestamp: message.consensus_timestamp,\n sequenceNumber: message.sequence_number,\n payer: message.payer,\n });\n } catch (error) {\n const detail = error instanceof Error ? error.message : 'unknown error';\n this.logger.warn(`Skipping invalid HCS-21 message: ${detail}`);\n }\n }\n\n return envelopes;\n }\n\n async fetchCategoryEntries(topicId: string): Promise<AdapterCategoryEntry[]> {\n const rawMessages = await this.mirrorNode.getTopicMessages(topicId);\n const entries: AdapterCategoryEntry[] = [];\n\n for (const message of rawMessages) {\n if (message.p !== 'hcs-2' || message.op !== 'register') {\n continue;\n }\n if (!message.t_id || typeof message.t_id !== 'string') {\n continue;\n }\n const memo = typeof message.m === 'string' ? message.m : undefined;\n const adapterId = memo?.startsWith('adapter:')\n ? memo.slice('adapter:'.length)\n : memo;\n entries.push({\n adapterId: adapterId ?? message.t_id,\n adapterTopicId: message.t_id,\n metadata: message.metadata,\n memo,\n payer: message.payer,\n sequenceNumber: Number(message.sequence_number ?? 0),\n consensusTimestamp: message.consensus_timestamp,\n });\n }\n\n return entries;\n }\n\n protected assertSizeLimit(payload: AdapterDeclaration): void {\n const json = JSON.stringify(payload);\n const bytes = Buffer.byteLength(json, 'utf8');\n if (bytes > HCS21_SAFE_MESSAGE_BYTES) {\n throw new HCS21ValidationError(\n `HCS-21 payload exceeds safe limit of ${HCS21_SAFE_MESSAGE_BYTES} bytes (${bytes}); Hedera cap is ${HCS21_MAX_MESSAGE_BYTES}`,\n 'size_exceeded',\n );\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es88.js","sources":["../../src/hcs-21/tx.ts"],"sourcesContent":["import {\n PublicKey,\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n} from '@hashgraph/sdk';\nimport {\n buildTopicCreateTx,\n buildMessageTx,\n MaybeKey,\n} from '../common/tx/tx-utils';\nimport {\n HCS21TopicType,\n AdapterDeclaration,\n HCS21MetadataPointerPattern,\n HCS21_SAFE_MESSAGE_BYTES,\n HCS21_MAX_MESSAGE_BYTES,\n} from './types';\nimport { HCS21ValidationError } from './errors';\n\nexport function buildHcs21RegistryMemo(params: {\n ttl: number;\n indexed?: 0 | 1;\n type?: HCS21TopicType;\n metaTopicId?: string;\n}): string {\n const indexed = params.indexed ?? 0;\n const topicType = params.type ?? HCS21TopicType.ADAPTER_REGISTRY;\n\n if (\n params.metaTopicId &&\n !HCS21MetadataPointerPattern.test(params.metaTopicId)\n ) {\n throw new HCS21ValidationError(\n 'Meta value must be a short pointer (topic ID, HRL, IPFS, Arweave, OCI, or HTTPS)',\n 'invalid_payload',\n );\n }\n\n const metaSegment = params.metaTopicId ? `:${params.metaTopicId}` : '';\n return `hcs-21:${indexed}:${params.ttl}:${topicType}${metaSegment}`;\n}\n\nexport function buildHcs21CreateRegistryTx(params: {\n ttl: number;\n indexed?: 0 | 1;\n type?: HCS21TopicType;\n metaTopicId?: string;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n operatorPublicKey?: PublicKey;\n}): TopicCreateTransaction {\n const memo = buildHcs21RegistryMemo({\n ttl: params.ttl,\n indexed: params.indexed,\n type: params.type,\n metaTopicId: params.metaTopicId,\n });\n return buildTopicCreateTx({\n memo,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: params.operatorPublicKey,\n });\n}\n\nexport function buildHcs21MessageTx(params: {\n topicId: string;\n declaration: AdapterDeclaration;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const json = JSON.stringify(params.declaration);\n const bytes = Buffer.byteLength(json, 'utf8');\n if (bytes > HCS21_SAFE_MESSAGE_BYTES) {\n throw new HCS21ValidationError(\n `HCS-21 payload exceeds safe limit of ${HCS21_SAFE_MESSAGE_BYTES} bytes (${bytes}); Hedera cap is ${HCS21_MAX_MESSAGE_BYTES}`,\n 'size_exceeded',\n );\n }\n return buildMessageTx({\n topicId: params.topicId,\n message: JSON.stringify(params.declaration),\n transactionMemo: params.transactionMemo,\n });\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,uBAAuB,QAK5B;AACT,QAAM,UAAU,OAAO,WAAW;AAClC,QAAM,YAAY,OAAO,QAAQ,eAAe;AAEhD,MACE,OAAO,eACP,CAAC,4BAA4B,KAAK,OAAO,WAAW,GACpD;AACA,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AAEA,QAAM,cAAc,OAAO,cAAc,IAAI,OAAO,WAAW,KAAK;AACpE,SAAO,UAAU,OAAO,IAAI,OAAO,GAAG,IAAI,SAAS,GAAG,WAAW;AACnE;AAEO,SAAS,2BAA2B,QAQhB;AACzB,QAAM,OAAO,uBAAuB;AAAA,IAClC,KAAK,OAAO;AAAA,IACZ,SAAS,OAAO;AAAA,IAChB,MAAM,OAAO;AAAA,IACb,aAAa,OAAO;AAAA,EAAA,CACrB;AACD,SAAO,mBAAmB;AAAA,IACxB;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,WAAW,OAAO;AAAA,IAClB,mBAAmB,OAAO;AAAA,EAAA,CAC3B;AACH;AAEO,SAAS,oBAAoB,QAIF;AAChC,QAAM,OAAO,KAAK,UAAU,OAAO,WAAW;AAC9C,QAAM,QAAQ,OAAO,WAAW,MAAM,MAAM;AAC5C,MAAI,QAAQ,0BAA0B;AACpC,UAAM,IAAI;AAAA,MACR,wCAAwC,wBAAwB,WAAW,KAAK,oBAAoB,uBAAuB;AAAA,MAC3H;AAAA,IAAA;AAAA,EAEJ;AACA,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO,WAAW;AAAA,IAC1C,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;"}
@@ -1,351 +1,104 @@
1
- import { Client, Status } from "@hashgraph/sdk";
2
- import { createNodeOperatorContext } from "./standards-sdk.es152.js";
3
- import { Logger } from "./standards-sdk.es117.js";
4
- import { HCS21BaseClient } from "./standards-sdk.es88.js";
5
- import { metadataDocumentSchema, HCS21TopicType, HCS21ManifestPointerPattern } from "./standards-sdk.es85.js";
6
- import { buildHcs21CreateRegistryTx, buildHcs21MessageTx } from "./standards-sdk.es87.js";
7
- import { buildHcs2CreateRegistryTx, buildHcs2RegisterTx } from "./standards-sdk.es77.js";
8
- import { HCS2RegistryType } from "./standards-sdk.es73.js";
9
- import { HCS21ValidationError } from "./standards-sdk.es86.js";
10
- import { inscribe } from "./standards-sdk.es136.js";
11
- import { getTopicId } from "./standards-sdk.es126.js";
12
- class HCS21Client extends HCS21BaseClient {
13
- constructor(config) {
14
- const logger = config.logger || new Logger({ level: config.logLevel || "info", module: "HCS-21" });
15
- super({
16
- network: config.network,
17
- logger,
18
- mirrorNodeUrl: config.mirrorNodeUrl
1
+ import { HederaMirrorNode } from "./standards-sdk.es139.js";
2
+ import { Logger } from "./standards-sdk.es118.js";
3
+ import { HCS21ValidationError } from "./standards-sdk.es87.js";
4
+ import { HCS21_PROTOCOL, adapterDeclarationSchema, HCS21_SAFE_MESSAGE_BYTES, HCS21_MAX_MESSAGE_BYTES } from "./standards-sdk.es86.js";
5
+ class HCS21BaseClient {
6
+ constructor(params) {
7
+ this.network = params.network;
8
+ this.logger = params.logger || new Logger({ level: "info", module: "HCS-21" });
9
+ this.mirrorNode = new HederaMirrorNode(this.network, this.logger, {
10
+ customUrl: params.mirrorNodeUrl
19
11
  });
20
- const baseClient = config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet();
21
- this.operatorCtx = createNodeOperatorContext({
22
- network: config.network,
23
- operatorId: config.operatorId,
24
- operatorKey: config.operatorKey,
25
- keyType: config.keyType,
26
- mirrorNode: this.mirrorNode,
27
- logger: this.logger,
28
- client: baseClient
29
- });
30
- void this.operatorCtx.ensureInitialized();
31
- this.client = this.operatorCtx.client;
32
12
  }
33
- async inscribeMetadata(params) {
34
- await this.operatorCtx.ensureInitialized();
35
- const metadataPayload = metadataDocumentSchema.parse(params.document);
36
- const metadataJson = JSON.stringify(metadataPayload, null, 2);
37
- const buffer = Buffer.from(metadataJson, "utf8");
38
- const connectionMode = params.inscriptionOptions?.connectionMode ?? (params.inscriptionOptions?.websocket === false ? "http" : "auto");
39
- const inscriptionOptions = {
40
- waitForConfirmation: true,
41
- connectionMode,
42
- websocket: params.inscriptionOptions?.websocket ?? false,
43
- ...params.inscriptionOptions || {},
44
- metadata: {
45
- ...params.inscriptionOptions?.metadata || {},
46
- ...metadataPayload
47
- }
48
- };
49
- const inscription = await inscribe(
50
- {
51
- type: "buffer",
52
- buffer,
53
- fileName: params.fileName || `hcs21-adapter-manifest-${Date.now()}.json`,
54
- mimeType: "application/json"
55
- },
56
- {
57
- accountId: this.operatorCtx.operatorId.toString(),
58
- privateKey: this.operatorCtx.operatorKey,
59
- network: this.network
60
- },
61
- inscriptionOptions
62
- );
63
- if (!inscription.confirmed || !inscription.inscription) {
64
- throw new HCS21ValidationError(
65
- "Failed to inscribe HCS-21 metadata",
66
- "invalid_payload"
67
- );
68
- }
69
- const topicId = inscription.inscription.jsonTopicId || inscription.inscription.topic_id || getTopicId(inscription.inscription);
70
- if (!topicId) {
71
- throw new HCS21ValidationError(
72
- "Metadata inscription did not return a topic ID",
73
- "invalid_payload"
74
- );
75
- }
76
- const rawSequence = inscription.inscription.sequence_number ?? inscription.inscription.sequenceNumber;
77
- const pointerResult = await this.resolveManifestPointer(
78
- topicId,
79
- rawSequence
80
- );
81
- const declarationManifestSequence = inscription.result?.manifest_sequence;
82
- const resultDetails = inscription.result && "jobId" in inscription.result ? {
83
- jobId: inscription.result.jobId,
84
- transactionId: inscription.result.transactionId,
85
- totalCostHbar: inscription.costSummary?.totalCostHbar,
86
- costBreakdown: inscription.costSummary?.breakdown
87
- } : {};
88
- return {
89
- pointer: pointerResult.pointer,
90
- topicId,
91
- sequenceNumber: pointerResult.sequenceNumber,
92
- manifestSequence: declarationManifestSequence || pointerResult.sequenceNumber,
93
- ...resultDetails
13
+ buildDeclaration(params) {
14
+ const declaration = {
15
+ p: HCS21_PROTOCOL,
16
+ op: params.op,
17
+ adapter_id: params.adapterId,
18
+ entity: params.entity,
19
+ package: params.adapterPackage,
20
+ manifest: params.manifest,
21
+ ...params.manifestSequence ? { manifest_sequence: params.manifestSequence } : {},
22
+ config: params.config,
23
+ state_model: params.stateModel,
24
+ signature: params.signature
94
25
  };
26
+ return this.validateDeclaration(declaration);
95
27
  }
96
- async createRegistryTopic(params) {
97
- await this.operatorCtx.ensureInitialized();
98
- const tx = buildHcs21CreateRegistryTx({
99
- ttl: params.ttl,
100
- indexed: params.indexed,
101
- type: params.type,
102
- metaTopicId: params.metaTopicId,
103
- adminKey: params.adminKey,
104
- submitKey: params.submitKey,
105
- operatorPublicKey: this.operatorCtx.operatorKey.publicKey
106
- });
107
- if (params.transactionMemo) {
108
- tx.setTransactionMemo(params.transactionMemo);
109
- }
110
- const response = await tx.execute(this.client);
111
- const receipt = await response.getReceipt(this.client);
112
- if (receipt.status !== Status.Success || !receipt.topicId) {
113
- throw new HCS21ValidationError(
114
- "Failed to create HCS-21 registry topic",
115
- "invalid_payload"
116
- );
117
- }
118
- return receipt.topicId.toString();
119
- }
120
- async createAdapterVersionPointerTopic(params) {
121
- await this.operatorCtx.ensureInitialized();
122
- const tx = buildHcs2CreateRegistryTx({
123
- registryType: HCS2RegistryType.NON_INDEXED,
124
- ttl: params.ttl,
125
- adminKey: params.adminKey,
126
- submitKey: params.submitKey,
127
- memoOverride: params.memoOverride,
128
- operatorPublicKey: this.operatorCtx.operatorKey.publicKey
129
- });
130
- if (params.transactionMemo) {
131
- tx.setTransactionMemo(params.transactionMemo);
132
- }
133
- const response = await tx.execute(this.client);
134
- const receipt = await response.getReceipt(this.client);
135
- if (receipt.status !== Status.Success || !receipt.topicId) {
136
- throw new HCS21ValidationError(
137
- "Failed to create HCS-2 registry version topic",
138
- "invalid_payload"
139
- );
140
- }
141
- return receipt.topicId.toString();
142
- }
143
- async createRegistryDiscoveryTopic(params) {
144
- await this.operatorCtx.ensureInitialized();
145
- const tx = buildHcs2CreateRegistryTx({
146
- registryType: HCS2RegistryType.INDEXED,
147
- ttl: params.ttl,
148
- adminKey: params.adminKey,
149
- submitKey: params.submitKey,
150
- memoOverride: params.memoOverride,
151
- operatorPublicKey: this.operatorCtx.operatorKey.publicKey
152
- });
153
- if (params.transactionMemo) {
154
- tx.setTransactionMemo(params.transactionMemo);
155
- }
156
- const response = await tx.execute(this.client);
157
- const receipt = await response.getReceipt(this.client);
158
- if (receipt.status !== Status.Success || !receipt.topicId) {
159
- throw new HCS21ValidationError(
160
- "Failed to create registry-of-registries topic",
161
- "invalid_payload"
162
- );
163
- }
164
- return receipt.topicId.toString();
165
- }
166
- async createAdapterCategoryTopic(params) {
167
- await this.operatorCtx.ensureInitialized();
168
- const tx = buildHcs21CreateRegistryTx({
169
- ttl: params.ttl,
170
- indexed: params.indexed ?? 0,
171
- type: HCS21TopicType.ADAPTER_CATEGORY,
172
- metaTopicId: params.metaTopicId,
173
- adminKey: params.adminKey,
174
- submitKey: params.submitKey,
175
- operatorPublicKey: this.operatorCtx.operatorKey.publicKey
176
- });
177
- if (params.transactionMemo) {
178
- tx.setTransactionMemo(params.transactionMemo);
179
- }
180
- const response = await tx.execute(this.client);
181
- const receipt = await response.getReceipt(this.client);
182
- if (receipt.status !== Status.Success || !receipt.topicId) {
183
- throw new HCS21ValidationError(
184
- "Failed to create adapter category topic",
185
- "invalid_payload"
28
+ validateDeclaration(input) {
29
+ try {
30
+ const payload = typeof input === "string" ? JSON.parse(input) : input;
31
+ const parsed = adapterDeclarationSchema.parse(
32
+ payload
186
33
  );
34
+ this.assertSizeLimit(parsed);
35
+ return parsed;
36
+ } catch (error) {
37
+ const message = error instanceof Error ? error.message : "Invalid adapter declaration";
38
+ throw new HCS21ValidationError(message, "invalid_payload");
187
39
  }
188
- return receipt.topicId.toString();
189
- }
190
- /**
191
- * Publish a pointer from a version topic to the active declaration topic.
192
- * Version pointer messages carry no metadata.
193
- */
194
- async publishVersionPointer(params) {
195
- await this.operatorCtx.ensureInitialized();
196
- const tx = buildHcs2RegisterTx({
197
- registryTopicId: params.versionTopicId,
198
- targetTopicId: params.declarationTopicId,
199
- memo: params.memo,
200
- analyticsMemo: params.transactionMemo
201
- });
202
- const response = await tx.execute(this.client);
203
- const receipt = await response.getReceipt(this.client);
204
- if (receipt.status !== Status.Success) {
205
- throw new HCS21ValidationError(
206
- "Failed to publish registry version pointer",
207
- "invalid_payload"
208
- );
209
- }
210
- return {
211
- sequenceNumber: receipt.topicSequenceNumber?.toNumber(),
212
- transactionId: response.transactionId.toString()
213
- };
214
40
  }
215
- async resolveVersionPointer(versionTopicId) {
216
- const [latest] = await this.mirrorNode.getTopicMessages(versionTopicId, {
217
- limit: 1,
218
- order: "desc"
41
+ async fetchDeclarations(topicId, options) {
42
+ const rawMessages = await this.mirrorNode.getTopicMessages(topicId, {
43
+ limit: options?.limit,
44
+ order: options?.order
219
45
  });
220
- if (!latest) {
221
- throw new HCS21ValidationError(
222
- "Version pointer topic has no messages",
223
- "invalid_payload"
224
- );
225
- }
226
- const declarationTopicId = latest.t_id;
227
- if (typeof declarationTopicId !== "string" || declarationTopicId.length === 0) {
228
- throw new HCS21ValidationError(
229
- "Version pointer topic does not include a declaration topic ID (`t_id`)",
230
- "invalid_payload"
231
- );
232
- }
233
- const rawSequence = typeof latest.sequence_number === "number" ? latest.sequence_number : Number(latest.sequence_number);
234
- const sequenceNumber = Number.isFinite(rawSequence) ? rawSequence : 0;
235
- return {
236
- versionTopicId,
237
- declarationTopicId,
238
- sequenceNumber,
239
- payer: latest.payer,
240
- memo: latest.m,
241
- op: latest.op
242
- };
243
- }
244
- async registerCategoryTopic(params) {
245
- await this.operatorCtx.ensureInitialized();
246
- const tx = buildHcs2RegisterTx({
247
- registryTopicId: params.discoveryTopicId,
248
- targetTopicId: params.categoryTopicId,
249
- metadata: params.metadata,
250
- memo: params.memo,
251
- analyticsMemo: params.transactionMemo
252
- });
253
- const response = await tx.execute(this.client);
254
- const receipt = await response.getReceipt(this.client);
255
- if (receipt.status !== Status.Success) {
256
- throw new HCS21ValidationError(
257
- "Failed to register adapter category topic",
258
- "invalid_payload"
259
- );
260
- }
261
- return {
262
- sequenceNumber: receipt.topicSequenceNumber?.toNumber(),
263
- transactionId: response.transactionId.toString()
264
- };
265
- }
266
- async publishCategoryEntry(params) {
267
- await this.operatorCtx.ensureInitialized();
268
- const memo = params.memo ?? `adapter:${params.adapterId}`;
269
- const tx = buildHcs2RegisterTx({
270
- registryTopicId: params.categoryTopicId,
271
- targetTopicId: params.versionTopicId,
272
- metadata: params.metadata,
273
- memo,
274
- analyticsMemo: params.transactionMemo
275
- });
276
- const response = await tx.execute(this.client);
277
- const receipt = await response.getReceipt(this.client);
278
- if (receipt.status !== Status.Success) {
279
- throw new HCS21ValidationError(
280
- "Failed to publish adapter category entry",
281
- "invalid_payload"
282
- );
283
- }
284
- return {
285
- sequenceNumber: receipt.topicSequenceNumber?.toNumber(),
286
- transactionId: response.transactionId.toString()
287
- };
288
- }
289
- async publishDeclaration(params) {
290
- await this.operatorCtx.ensureInitialized();
291
- const declaration = this.normalizeDeclarationInput(params.declaration);
292
- const tx = buildHcs21MessageTx({
293
- topicId: params.topicId,
294
- declaration,
295
- transactionMemo: params.transactionMemo
296
- });
297
- const response = await tx.execute(this.client);
298
- const receipt = await response.getReceipt(this.client);
299
- if (receipt.status !== Status.Success) {
300
- throw new HCS21ValidationError(
301
- "Failed to submit HCS-21 declaration",
302
- "invalid_payload"
303
- );
304
- }
305
- return {
306
- sequenceNumber: receipt.topicSequenceNumber?.toNumber(),
307
- transactionId: response.transactionId.toString()
308
- };
309
- }
310
- normalizeDeclarationInput(declaration) {
311
- if ("p" in declaration) {
312
- return this.validateDeclaration(declaration);
46
+ const envelopes = [];
47
+ for (const message of rawMessages) {
48
+ if (message.p !== HCS21_PROTOCOL) {
49
+ continue;
50
+ }
51
+ try {
52
+ const declaration = this.validateDeclaration(message);
53
+ envelopes.push({
54
+ declaration,
55
+ consensusTimestamp: message.consensus_timestamp,
56
+ sequenceNumber: message.sequence_number,
57
+ payer: message.payer
58
+ });
59
+ } catch (error) {
60
+ const detail = error instanceof Error ? error.message : "unknown error";
61
+ this.logger.warn(`Skipping invalid HCS-21 message: ${detail}`);
62
+ }
313
63
  }
314
- return this.buildDeclaration(declaration);
64
+ return envelopes;
315
65
  }
316
- async resolveManifestPointer(topicId, sequence) {
317
- const numericSequence = typeof sequence === "string" ? Number(sequence) : sequence;
318
- let resolvedSequence = typeof numericSequence === "number" && Number.isFinite(numericSequence) ? numericSequence : void 0;
319
- if (!resolvedSequence) {
320
- const [latest] = await this.mirrorNode.getTopicMessages(topicId, {
321
- limit: 1,
322
- order: "desc"
323
- });
324
- if (!latest || !latest.sequence_number) {
325
- throw new HCS21ValidationError(
326
- "Unable to resolve manifest sequence number",
327
- "invalid_payload"
328
- );
66
+ async fetchCategoryEntries(topicId) {
67
+ const rawMessages = await this.mirrorNode.getTopicMessages(topicId);
68
+ const entries = [];
69
+ for (const message of rawMessages) {
70
+ if (message.p !== "hcs-2" || message.op !== "register") {
71
+ continue;
329
72
  }
330
- resolvedSequence = Number(latest.sequence_number);
331
- }
332
- if (!Number.isFinite(resolvedSequence)) {
333
- throw new HCS21ValidationError(
334
- "Invalid manifest sequence number",
335
- "invalid_payload"
336
- );
73
+ if (!message.t_id || typeof message.t_id !== "string") {
74
+ continue;
75
+ }
76
+ const memo = typeof message.m === "string" ? message.m : void 0;
77
+ const adapterId = memo?.startsWith("adapter:") ? memo.slice("adapter:".length) : memo;
78
+ entries.push({
79
+ adapterId: adapterId ?? message.t_id,
80
+ adapterTopicId: message.t_id,
81
+ metadata: message.metadata,
82
+ memo,
83
+ payer: message.payer,
84
+ sequenceNumber: Number(message.sequence_number ?? 0),
85
+ consensusTimestamp: message.consensus_timestamp
86
+ });
337
87
  }
338
- const pointer = `hcs://1/${topicId}`;
339
- if (!HCS21ManifestPointerPattern.test(pointer)) {
88
+ return entries;
89
+ }
90
+ assertSizeLimit(payload) {
91
+ const json = JSON.stringify(payload);
92
+ const bytes = Buffer.byteLength(json, "utf8");
93
+ if (bytes > HCS21_SAFE_MESSAGE_BYTES) {
340
94
  throw new HCS21ValidationError(
341
- "Manifest pointer format is invalid",
342
- "invalid_payload"
95
+ `HCS-21 payload exceeds safe limit of ${HCS21_SAFE_MESSAGE_BYTES} bytes (${bytes}); Hedera cap is ${HCS21_MAX_MESSAGE_BYTES}`,
96
+ "size_exceeded"
343
97
  );
344
98
  }
345
- return { pointer, sequenceNumber: resolvedSequence };
346
99
  }
347
100
  }
348
101
  export {
349
- HCS21Client
102
+ HCS21BaseClient
350
103
  };
351
104
  //# sourceMappingURL=standards-sdk.es89.js.map