@hashgraphonline/standards-sdk 0.1.161 → 0.1.163

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 (337) 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/hcs-2/client.d.ts +7 -1
  24. package/dist/cjs/hcs-2/client.d.ts.map +1 -1
  25. package/dist/cjs/hcs-2/types.d.ts +2 -0
  26. package/dist/cjs/hcs-2/types.d.ts.map +1 -1
  27. package/dist/cjs/standards-sdk.cjs +2 -2
  28. package/dist/cjs/standards-sdk.cjs.map +1 -1
  29. package/dist/es/hcs-14/index.d.ts +1 -0
  30. package/dist/es/hcs-14/index.d.ts.map +1 -1
  31. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
  32. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
  33. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  34. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  35. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  36. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  37. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
  38. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
  39. package/dist/es/hcs-14/resolvers/hiero.d.ts +1 -0
  40. package/dist/es/hcs-14/resolvers/hiero.d.ts.map +1 -1
  41. package/dist/es/hcs-14/resolvers/registry.d.ts +21 -0
  42. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  43. package/dist/es/hcs-14/resolvers/types.d.ts +40 -5
  44. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  45. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
  46. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
  47. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
  48. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
  49. package/dist/es/hcs-14/sdk.d.ts +23 -1
  50. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  51. package/dist/es/hcs-2/client.d.ts +7 -1
  52. package/dist/es/hcs-2/client.d.ts.map +1 -1
  53. package/dist/es/hcs-2/types.d.ts +2 -0
  54. package/dist/es/hcs-2/types.d.ts.map +1 -1
  55. package/dist/es/standards-sdk.es.js +89 -86
  56. package/dist/es/standards-sdk.es.js.map +1 -1
  57. package/dist/es/standards-sdk.es100.js +136 -124
  58. package/dist/es/standards-sdk.es100.js.map +1 -1
  59. package/dist/es/standards-sdk.es101.js +138 -42
  60. package/dist/es/standards-sdk.es101.js.map +1 -1
  61. package/dist/es/standards-sdk.es102.js +43 -259
  62. package/dist/es/standards-sdk.es102.js.map +1 -1
  63. package/dist/es/standards-sdk.es103.js +245 -82
  64. package/dist/es/standards-sdk.es103.js.map +1 -1
  65. package/dist/es/standards-sdk.es104.js +50 -49
  66. package/dist/es/standards-sdk.es104.js.map +1 -1
  67. package/dist/es/standards-sdk.es105.js +100 -29
  68. package/dist/es/standards-sdk.es105.js.map +1 -1
  69. package/dist/es/standards-sdk.es106.js +27 -229
  70. package/dist/es/standards-sdk.es106.js.map +1 -1
  71. package/dist/es/standards-sdk.es107.js +228 -109
  72. package/dist/es/standards-sdk.es107.js.map +1 -1
  73. package/dist/es/standards-sdk.es108.js +94 -15
  74. package/dist/es/standards-sdk.es108.js.map +1 -1
  75. package/dist/es/standards-sdk.es109.js +30 -80
  76. package/dist/es/standards-sdk.es109.js.map +1 -1
  77. package/dist/es/standards-sdk.es11.js +1 -1
  78. package/dist/es/standards-sdk.es110.js +80 -27
  79. package/dist/es/standards-sdk.es110.js.map +1 -1
  80. package/dist/es/standards-sdk.es111.js +27 -248
  81. package/dist/es/standards-sdk.es111.js.map +1 -1
  82. package/dist/es/standards-sdk.es112.js +246 -472
  83. package/dist/es/standards-sdk.es112.js.map +1 -1
  84. package/dist/es/standards-sdk.es113.js +458 -85
  85. package/dist/es/standards-sdk.es113.js.map +1 -1
  86. package/dist/es/standards-sdk.es114.js +96 -151
  87. package/dist/es/standards-sdk.es114.js.map +1 -1
  88. package/dist/es/standards-sdk.es115.js +155 -29
  89. package/dist/es/standards-sdk.es115.js.map +1 -1
  90. package/dist/es/standards-sdk.es116.js +26 -4
  91. package/dist/es/standards-sdk.es116.js.map +1 -1
  92. package/dist/es/standards-sdk.es117.js +10 -140
  93. package/dist/es/standards-sdk.es117.js.map +1 -1
  94. package/dist/es/standards-sdk.es118.js +140 -27
  95. package/dist/es/standards-sdk.es118.js.map +1 -1
  96. package/dist/es/standards-sdk.es119.js +27 -20
  97. package/dist/es/standards-sdk.es119.js.map +1 -1
  98. package/dist/es/standards-sdk.es12.js +1 -1
  99. package/dist/es/standards-sdk.es120.js +18 -156
  100. package/dist/es/standards-sdk.es120.js.map +1 -1
  101. package/dist/es/standards-sdk.es121.js +148 -191
  102. package/dist/es/standards-sdk.es121.js.map +1 -1
  103. package/dist/es/standards-sdk.es122.js +160 -747
  104. package/dist/es/standards-sdk.es122.js.map +1 -1
  105. package/dist/es/standards-sdk.es123.js +786 -9
  106. package/dist/es/standards-sdk.es123.js.map +1 -1
  107. package/dist/es/standards-sdk.es124.js +13 -567
  108. package/dist/es/standards-sdk.es124.js.map +1 -1
  109. package/dist/es/standards-sdk.es125.js +541 -576
  110. package/dist/es/standards-sdk.es125.js.map +1 -1
  111. package/dist/es/standards-sdk.es126.js +601 -12
  112. package/dist/es/standards-sdk.es126.js.map +1 -1
  113. package/dist/es/standards-sdk.es127.js +13 -2
  114. package/dist/es/standards-sdk.es127.js.map +1 -1
  115. package/dist/es/standards-sdk.es128.js +2 -87
  116. package/dist/es/standards-sdk.es128.js.map +1 -1
  117. package/dist/es/standards-sdk.es129.js +84 -37
  118. package/dist/es/standards-sdk.es129.js.map +1 -1
  119. package/dist/es/standards-sdk.es13.js +1 -1
  120. package/dist/es/standards-sdk.es130.js +40 -2
  121. package/dist/es/standards-sdk.es130.js.map +1 -1
  122. package/dist/es/standards-sdk.es131.js +2 -235
  123. package/dist/es/standards-sdk.es131.js.map +1 -1
  124. package/dist/es/standards-sdk.es132.js +204 -1109
  125. package/dist/es/standards-sdk.es132.js.map +1 -1
  126. package/dist/es/standards-sdk.es133.js +1059 -225
  127. package/dist/es/standards-sdk.es133.js.map +1 -1
  128. package/dist/es/standards-sdk.es134.js +303 -419
  129. package/dist/es/standards-sdk.es134.js.map +1 -1
  130. package/dist/es/standards-sdk.es135.js +418 -351
  131. package/dist/es/standards-sdk.es135.js.map +1 -1
  132. package/dist/es/standards-sdk.es136.js +347 -1108
  133. package/dist/es/standards-sdk.es136.js.map +1 -1
  134. package/dist/es/standards-sdk.es137.js +1088 -180
  135. package/dist/es/standards-sdk.es137.js.map +1 -1
  136. package/dist/es/standards-sdk.es138.js +153 -1512
  137. package/dist/es/standards-sdk.es138.js.map +1 -1
  138. package/dist/es/standards-sdk.es139.js +1567 -1255
  139. package/dist/es/standards-sdk.es139.js.map +1 -1
  140. package/dist/es/standards-sdk.es14.js +1 -1
  141. package/dist/es/standards-sdk.es140.js +1255 -17
  142. package/dist/es/standards-sdk.es140.js.map +1 -1
  143. package/dist/es/standards-sdk.es141.js +15 -85
  144. package/dist/es/standards-sdk.es141.js.map +1 -1
  145. package/dist/es/standards-sdk.es142.js +77 -71
  146. package/dist/es/standards-sdk.es142.js.map +1 -1
  147. package/dist/es/standards-sdk.es143.js +79 -891
  148. package/dist/es/standards-sdk.es143.js.map +1 -1
  149. package/dist/es/standards-sdk.es144.js +886 -53
  150. package/dist/es/standards-sdk.es144.js.map +1 -1
  151. package/dist/es/standards-sdk.es145.js +53 -152
  152. package/dist/es/standards-sdk.es145.js.map +1 -1
  153. package/dist/es/standards-sdk.es146.js +159 -7
  154. package/dist/es/standards-sdk.es146.js.map +1 -1
  155. package/dist/es/standards-sdk.es147.js +7 -86
  156. package/dist/es/standards-sdk.es147.js.map +1 -1
  157. package/dist/es/standards-sdk.es148.js +65 -44
  158. package/dist/es/standards-sdk.es148.js.map +1 -1
  159. package/dist/es/standards-sdk.es149.js +65 -30
  160. package/dist/es/standards-sdk.es149.js.map +1 -1
  161. package/dist/es/standards-sdk.es15.js +1 -1
  162. package/dist/es/standards-sdk.es150.js +30 -34
  163. package/dist/es/standards-sdk.es150.js.map +1 -1
  164. package/dist/es/standards-sdk.es151.js +34 -45
  165. package/dist/es/standards-sdk.es151.js.map +1 -1
  166. package/dist/es/standards-sdk.es152.js +48 -138
  167. package/dist/es/standards-sdk.es152.js.map +1 -1
  168. package/dist/es/standards-sdk.es153.js +133 -37
  169. package/dist/es/standards-sdk.es153.js.map +1 -1
  170. package/dist/es/standards-sdk.es154.js +34 -12474
  171. package/dist/es/standards-sdk.es154.js.map +1 -1
  172. package/dist/es/standards-sdk.es155.js +12477 -12
  173. package/dist/es/standards-sdk.es155.js.map +1 -1
  174. package/dist/es/standards-sdk.es156.js +15 -54
  175. package/dist/es/standards-sdk.es156.js.map +1 -1
  176. package/dist/es/standards-sdk.es157.js +48 -76
  177. package/dist/es/standards-sdk.es157.js.map +1 -1
  178. package/dist/es/standards-sdk.es158.js +69 -66
  179. package/dist/es/standards-sdk.es158.js.map +1 -1
  180. package/dist/es/standards-sdk.es159.js +71 -63
  181. package/dist/es/standards-sdk.es159.js.map +1 -1
  182. package/dist/es/standards-sdk.es16.js +5 -5
  183. package/dist/es/standards-sdk.es160.js +188 -160
  184. package/dist/es/standards-sdk.es160.js.map +1 -1
  185. package/dist/es/standards-sdk.es161.js +232 -312
  186. package/dist/es/standards-sdk.es161.js.map +1 -1
  187. package/dist/es/standards-sdk.es162.js +64 -337
  188. package/dist/es/standards-sdk.es162.js.map +1 -1
  189. package/dist/es/standards-sdk.es163.js +129 -410
  190. package/dist/es/standards-sdk.es163.js.map +1 -1
  191. package/dist/es/standards-sdk.es164.js +200 -209
  192. package/dist/es/standards-sdk.es164.js.map +1 -1
  193. package/dist/es/standards-sdk.es165.js +334 -64
  194. package/dist/es/standards-sdk.es165.js.map +1 -1
  195. package/dist/es/standards-sdk.es166.js +442 -231
  196. package/dist/es/standards-sdk.es166.js.map +1 -1
  197. package/dist/es/standards-sdk.es167.js +317 -158
  198. package/dist/es/standards-sdk.es167.js.map +1 -1
  199. package/dist/es/standards-sdk.es168.js +61 -207
  200. package/dist/es/standards-sdk.es168.js.map +1 -1
  201. package/dist/es/standards-sdk.es169.js +155 -222
  202. package/dist/es/standards-sdk.es169.js.map +1 -1
  203. package/dist/es/standards-sdk.es170.js +178 -75
  204. package/dist/es/standards-sdk.es170.js.map +1 -1
  205. package/dist/es/standards-sdk.es171.js +226 -113
  206. package/dist/es/standards-sdk.es171.js.map +1 -1
  207. package/dist/es/standards-sdk.es172.js +77 -119
  208. package/dist/es/standards-sdk.es172.js.map +1 -1
  209. package/dist/es/standards-sdk.es173.js +103 -162
  210. package/dist/es/standards-sdk.es173.js.map +1 -1
  211. package/dist/es/standards-sdk.es174.js +141 -119
  212. package/dist/es/standards-sdk.es174.js.map +1 -1
  213. package/dist/es/standards-sdk.es175.js +152 -298
  214. package/dist/es/standards-sdk.es175.js.map +1 -1
  215. package/dist/es/standards-sdk.es176.js +120 -240
  216. package/dist/es/standards-sdk.es176.js.map +1 -1
  217. package/dist/es/standards-sdk.es177.js +298 -83
  218. package/dist/es/standards-sdk.es177.js.map +1 -1
  219. package/dist/es/standards-sdk.es178.js +262 -0
  220. package/dist/es/standards-sdk.es178.js.map +1 -0
  221. package/dist/es/standards-sdk.es179.js +119 -0
  222. package/dist/es/standards-sdk.es179.js.map +1 -0
  223. package/dist/es/standards-sdk.es18.js +12 -12
  224. package/dist/es/standards-sdk.es19.js +9 -9
  225. package/dist/es/standards-sdk.es2.js +2 -2
  226. package/dist/es/standards-sdk.es20.js +1 -1
  227. package/dist/es/standards-sdk.es21.js +1 -1
  228. package/dist/es/standards-sdk.es22.js +1 -1
  229. package/dist/es/standards-sdk.es23.js +1 -1
  230. package/dist/es/standards-sdk.es24.js +1 -1
  231. package/dist/es/standards-sdk.es25.js +1 -1
  232. package/dist/es/standards-sdk.es26.js +1 -1
  233. package/dist/es/standards-sdk.es27.js +12 -12
  234. package/dist/es/standards-sdk.es30.js +2 -2
  235. package/dist/es/standards-sdk.es31.js +4 -4
  236. package/dist/es/standards-sdk.es32.js +1 -1
  237. package/dist/es/standards-sdk.es35.js +6 -6
  238. package/dist/es/standards-sdk.es36.js +4 -4
  239. package/dist/es/standards-sdk.es37.js +2 -2
  240. package/dist/es/standards-sdk.es38.js +2 -2
  241. package/dist/es/standards-sdk.es39.js +1 -1
  242. package/dist/es/standards-sdk.es4.js +2 -2
  243. package/dist/es/standards-sdk.es40.js +1 -1
  244. package/dist/es/standards-sdk.es41.js +2 -2
  245. package/dist/es/standards-sdk.es46.js +1 -1
  246. package/dist/es/standards-sdk.es5.js +2 -2
  247. package/dist/es/standards-sdk.es51.js +1 -1
  248. package/dist/es/standards-sdk.es53.js +1 -1
  249. package/dist/es/standards-sdk.es56.js +2 -2
  250. package/dist/es/standards-sdk.es58.js +37 -4
  251. package/dist/es/standards-sdk.es58.js.map +1 -1
  252. package/dist/es/standards-sdk.es59.js +17 -10
  253. package/dist/es/standards-sdk.es59.js.map +1 -1
  254. package/dist/es/standards-sdk.es6.js +2 -2
  255. package/dist/es/standards-sdk.es60.js +2 -1
  256. package/dist/es/standards-sdk.es60.js.map +1 -1
  257. package/dist/es/standards-sdk.es61.js +1 -0
  258. package/dist/es/standards-sdk.es61.js.map +1 -1
  259. package/dist/es/standards-sdk.es62.js +19 -5
  260. package/dist/es/standards-sdk.es62.js.map +1 -1
  261. package/dist/es/standards-sdk.es63.js +214 -153
  262. package/dist/es/standards-sdk.es63.js.map +1 -1
  263. package/dist/es/standards-sdk.es64.js +205 -84
  264. package/dist/es/standards-sdk.es64.js.map +1 -1
  265. package/dist/es/standards-sdk.es65.js +125 -40
  266. package/dist/es/standards-sdk.es65.js.map +1 -1
  267. package/dist/es/standards-sdk.es66.js +41 -261
  268. package/dist/es/standards-sdk.es66.js.map +1 -1
  269. package/dist/es/standards-sdk.es67.js +262 -24
  270. package/dist/es/standards-sdk.es67.js.map +1 -1
  271. package/dist/es/standards-sdk.es68.js +25 -87
  272. package/dist/es/standards-sdk.es68.js.map +1 -1
  273. package/dist/es/standards-sdk.es69.js +95 -3
  274. package/dist/es/standards-sdk.es69.js.map +1 -1
  275. package/dist/es/standards-sdk.es7.js +1 -1
  276. package/dist/es/standards-sdk.es70.js +3 -100
  277. package/dist/es/standards-sdk.es70.js.map +1 -1
  278. package/dist/es/standards-sdk.es71.js +62 -61
  279. package/dist/es/standards-sdk.es71.js.map +1 -1
  280. package/dist/es/standards-sdk.es72.js +98 -17
  281. package/dist/es/standards-sdk.es72.js.map +1 -1
  282. package/dist/es/standards-sdk.es73.js +19 -77
  283. package/dist/es/standards-sdk.es73.js.map +1 -1
  284. package/dist/es/standards-sdk.es74.js +77 -458
  285. package/dist/es/standards-sdk.es74.js.map +1 -1
  286. package/dist/es/standards-sdk.es75.js +332 -107
  287. package/dist/es/standards-sdk.es75.js.map +1 -1
  288. package/dist/es/standards-sdk.es76.js +286 -170
  289. package/dist/es/standards-sdk.es76.js.map +1 -1
  290. package/dist/es/standards-sdk.es77.js +207 -71
  291. package/dist/es/standards-sdk.es77.js.map +1 -1
  292. package/dist/es/standards-sdk.es78.js +72 -71
  293. package/dist/es/standards-sdk.es78.js.map +1 -1
  294. package/dist/es/standards-sdk.es79.js +71 -143
  295. package/dist/es/standards-sdk.es79.js.map +1 -1
  296. package/dist/es/standards-sdk.es80.js +136 -62
  297. package/dist/es/standards-sdk.es80.js.map +1 -1
  298. package/dist/es/standards-sdk.es81.js +45 -380
  299. package/dist/es/standards-sdk.es81.js.map +1 -1
  300. package/dist/es/standards-sdk.es82.js +130 -222
  301. package/dist/es/standards-sdk.es82.js.map +1 -1
  302. package/dist/es/standards-sdk.es83.js +444 -313
  303. package/dist/es/standards-sdk.es83.js.map +1 -1
  304. package/dist/es/standards-sdk.es84.js +364 -88
  305. package/dist/es/standards-sdk.es84.js.map +1 -1
  306. package/dist/es/standards-sdk.es85.js +89 -125
  307. package/dist/es/standards-sdk.es85.js.map +1 -1
  308. package/dist/es/standards-sdk.es86.js +125 -8
  309. package/dist/es/standards-sdk.es86.js.map +1 -1
  310. package/dist/es/standards-sdk.es87.js +6 -45
  311. package/dist/es/standards-sdk.es87.js.map +1 -1
  312. package/dist/es/standards-sdk.es88.js +44 -98
  313. package/dist/es/standards-sdk.es88.js.map +1 -1
  314. package/dist/es/standards-sdk.es89.js +84 -331
  315. package/dist/es/standards-sdk.es89.js.map +1 -1
  316. package/dist/es/standards-sdk.es9.js +2 -2
  317. package/dist/es/standards-sdk.es90.js +160 -93
  318. package/dist/es/standards-sdk.es90.js.map +1 -1
  319. package/dist/es/standards-sdk.es91.js +275 -55
  320. package/dist/es/standards-sdk.es91.js.map +1 -1
  321. package/dist/es/standards-sdk.es92.js +55 -43
  322. package/dist/es/standards-sdk.es92.js.map +1 -1
  323. package/dist/es/standards-sdk.es93.js +44 -145
  324. package/dist/es/standards-sdk.es93.js.map +1 -1
  325. package/dist/es/standards-sdk.es94.js +113 -30
  326. package/dist/es/standards-sdk.es94.js.map +1 -1
  327. package/dist/es/standards-sdk.es95.js +59 -22
  328. package/dist/es/standards-sdk.es95.js.map +1 -1
  329. package/dist/es/standards-sdk.es96.js +28 -23
  330. package/dist/es/standards-sdk.es96.js.map +1 -1
  331. package/dist/es/standards-sdk.es97.js +23 -238
  332. package/dist/es/standards-sdk.es97.js.map +1 -1
  333. package/dist/es/standards-sdk.es98.js +225 -267
  334. package/dist/es/standards-sdk.es98.js.map +1 -1
  335. package/dist/es/standards-sdk.es99.js +220 -95
  336. package/dist/es/standards-sdk.es99.js.map +1 -1
  337. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es167.js","sources":["../../src/services/registry-broker/client/encryption.ts"],"sourcesContent":["import * as path from 'path';\nimport { Buffer } from 'buffer';\nimport { randomBytes } from 'crypto';\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nimport type {\n AutoRegisterEncryptionKeyOptions,\n CipherEnvelope,\n ClientEncryptionOptions,\n DecryptCipherEnvelopeOptions,\n DeriveSharedSecretOptions,\n EncryptCipherEnvelopeOptions,\n EphemeralKeyPair,\n EnsureAgentKeyOptions,\n RegisterEncryptionKeyPayload,\n RegisterEncryptionKeyResponse,\n SharedSecretInput,\n} from '../types';\nimport { registerEncryptionKeyResponseSchema } from '../schemas';\nimport { optionalImport } from '../../../utils/dynamic-import';\nimport type {\n RegistryBrokerClient,\n GenerateEncryptionKeyPairOptions,\n} from './base-client';\n\ntype FsModule = {\n existsSync: (path: string) => boolean;\n readFileSync: (path: string, encoding: BufferEncoding) => string;\n writeFileSync: (path: string, data: string) => void;\n appendFileSync: (path: string, data: string) => void;\n};\n\nconst getFs = async (): Promise<FsModule | null> => {\n const fsModule = await optionalImport<Partial<FsModule>>('node:fs');\n\n if (\n fsModule &&\n typeof fsModule.existsSync === 'function' &&\n typeof fsModule.readFileSync === 'function' &&\n typeof fsModule.writeFileSync === 'function' &&\n typeof fsModule.appendFileSync === 'function'\n ) {\n return fsModule as FsModule;\n }\n\n return null;\n};\n\nexport interface RegistryBrokerEncryptionApi {\n registerKey: (\n payload: RegisterEncryptionKeyPayload,\n ) => Promise<RegisterEncryptionKeyResponse>;\n generateEphemeralKeyPair: () => EphemeralKeyPair;\n deriveSharedSecret: (options: DeriveSharedSecretOptions) => Buffer;\n encryptCipherEnvelope: (\n options: EncryptCipherEnvelopeOptions,\n ) => CipherEnvelope;\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) => string;\n ensureAgentKey: (\n options: EnsureAgentKeyOptions,\n ) => Promise<{ publicKey: string; privateKey?: string }>;\n}\n\nexport async function registerEncryptionKey(\n client: RegistryBrokerClient,\n payload: RegisterEncryptionKeyPayload,\n): Promise<RegisterEncryptionKeyResponse> {\n const raw = await client.requestJson('/encryption/keys', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n registerEncryptionKeyResponseSchema,\n 'register encryption key response',\n );\n}\n\nfunction normalizeAutoRegisterIdentity(\n config: AutoRegisterEncryptionKeyOptions,\n): Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n> | null {\n const identity: Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n > = {};\n if (config.uaid) {\n identity.uaid = config.uaid;\n }\n if (config.ledgerAccountId) {\n identity.ledgerAccountId = config.ledgerAccountId;\n if (config.ledgerNetwork) {\n identity.ledgerNetwork = config.ledgerNetwork;\n }\n }\n if (config.email) {\n identity.email = config.email;\n }\n if (identity.uaid || identity.ledgerAccountId || identity.email) {\n return identity;\n }\n return null;\n}\n\nfunction derivePublicKeyFromPrivateKey(\n client: RegistryBrokerClient,\n privateKey: string,\n): string {\n const normalized = client.hexToBuffer(privateKey);\n const publicKey = secp256k1.getPublicKey(normalized, true);\n return Buffer.from(publicKey).toString('hex');\n}\n\nasync function resolveAutoRegisterKeyMaterial(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (config.publicKey?.trim()) {\n return { publicKey: config.publicKey.trim() };\n }\n let privateKey = config.privateKey?.trim();\n const envVar = config.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {\n privateKey = process.env[envVar]?.trim();\n }\n if (!privateKey && config.generateIfMissing) {\n const pair = await client.generateEncryptionKeyPair({\n keyType: config.keyType ?? 'secp256k1',\n envVar,\n envPath: config.envPath,\n overwrite: config.overwriteEnv,\n });\n return { publicKey: pair.publicKey, privateKey: pair.privateKey };\n }\n if (privateKey) {\n const publicKey = derivePublicKeyFromPrivateKey(client, privateKey);\n return { publicKey, privateKey };\n }\n return null;\n}\n\nexport async function autoRegisterEncryptionKey(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n const identity = normalizeAutoRegisterIdentity(config);\n if (!identity) {\n throw new Error(\n 'Auto-registration requires uaid, ledgerAccountId, or email',\n );\n }\n const material = await resolveAutoRegisterKeyMaterial(client, config);\n if (!material) {\n throw new Error(\n 'Unable to resolve encryption public key for auto-registration',\n );\n }\n await registerEncryptionKey(client, {\n keyType: config.keyType ?? 'secp256k1',\n publicKey: material.publicKey,\n ...identity,\n });\n return material;\n}\n\nexport async function ensureAgentEncryptionKey(\n client: RegistryBrokerClient,\n options: EnsureAgentKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n return autoRegisterEncryptionKey(client, {\n ...options,\n uaid: options.uaid,\n enabled: true,\n });\n}\n\nexport function createEncryptionApi(\n client: RegistryBrokerClient,\n): RegistryBrokerEncryptionApi {\n return {\n registerKey: (payload: RegisterEncryptionKeyPayload) =>\n registerEncryptionKey(client, payload),\n generateEphemeralKeyPair: () => client.createEphemeralKeyPair(),\n deriveSharedSecret: (options: DeriveSharedSecretOptions) =>\n client.deriveSharedSecret(options),\n encryptCipherEnvelope: (options: EncryptCipherEnvelopeOptions) =>\n client.buildCipherEnvelope(options),\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) =>\n client.openCipherEnvelope(options),\n ensureAgentKey: (options: EnsureAgentKeyOptions) =>\n ensureAgentEncryptionKey(client, options),\n };\n}\n\nexport async function bootstrapEncryptionOptions(\n client: RegistryBrokerClient,\n options?: ClientEncryptionOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (!options?.autoRegister || options.autoRegister.enabled === false) {\n return null;\n }\n return autoRegisterEncryptionKey(client, options.autoRegister);\n}\n\nexport async function generateEncryptionKeyPair(\n client: RegistryBrokerClient,\n options: GenerateEncryptionKeyPairOptions = {},\n): Promise<{\n privateKey: string;\n publicKey: string;\n envPath?: string;\n envVar: string;\n}> {\n client.assertNodeRuntime('generateEncryptionKeyPair');\n\n const keyType = options.keyType ?? 'secp256k1';\n if (keyType !== 'secp256k1') {\n throw new Error('Only secp256k1 key generation is supported currently');\n }\n\n const privateKeyBytes = randomBytes(32);\n const privateKey = Buffer.from(privateKeyBytes).toString('hex');\n const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);\n const publicKey = Buffer.from(publicKeyBytes).toString('hex');\n\n const envVar = options.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n const resolvedPath = options.envPath\n ? path.resolve(options.envPath)\n : undefined;\n\n if (resolvedPath) {\n const fsModule = await getFs();\n\n if (!fsModule) {\n throw new Error(\n 'File system module is not available; cannot write encryption key env file',\n );\n }\n\n const envLine = `${envVar}=${privateKey}`;\n if (fsModule.existsSync(resolvedPath)) {\n const content = fsModule.readFileSync(resolvedPath, 'utf-8');\n const lineRegex = new RegExp(`^${envVar}=.*$`, 'm');\n if (lineRegex.test(content)) {\n if (!options.overwrite) {\n throw new Error(\n `${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`,\n );\n }\n const updated = content.replace(lineRegex, envLine);\n fsModule.writeFileSync(resolvedPath, updated);\n } else {\n const needsNewline = !content.endsWith('\\n');\n fsModule.appendFileSync(\n resolvedPath,\n `${needsNewline ? '\\n' : ''}${envLine}\\n`,\n );\n }\n } else {\n fsModule.writeFileSync(resolvedPath, `${envLine}\\n`);\n }\n }\n\n return {\n privateKey,\n publicKey,\n envPath: resolvedPath,\n envVar,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es167.js","sources":["../../src/utils/parsers/util-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { Transaction, Long, FileId, ContractId } from '@hashgraph/sdk';\nimport {\n UtilPrngData,\n NetworkFreezeData,\n SystemDeleteData,\n SystemUndeleteData,\n NodeCreateData,\n NodeUpdateData,\n NodeDeleteData,\n} from '../transaction-parser-types';\nimport {\n parseKey,\n extractTransactionBody,\n hasTransactionType,\n} from './parser-utils';\n\n/**\n * Utility and System Operations Parser\n *\n * Handles parsing for utility and system transaction types including:\n * - Pseudo-random number generation (PRNG)\n * - Network freeze operations\n * - System delete/undelete operations\n * - Node management operations\n * - Proper dual-branch parsing (regular vs signed transactions)\n * - Comprehensive protobuf extraction\n */\nexport class UtilParser {\n /**\n * Parse Utility/System Service transaction using unified dual-branch approach\n * This handles both regular transactions and signed transaction variants\n */\n static parseUtilTransaction(\n transaction: Transaction,\n originalBytes?: Uint8Array,\n ): {\n type?: string;\n humanReadableType?: string;\n utilPrng?: UtilPrngData;\n networkFreeze?: NetworkFreezeData;\n systemDelete?: SystemDeleteData;\n systemUndelete?: SystemUndeleteData;\n nodeCreate?: NodeCreateData;\n nodeUpdate?: NodeUpdateData;\n nodeDelete?: NodeDeleteData;\n [key: string]: unknown;\n } {\n try {\n if (originalBytes || transaction.toBytes) {\n try {\n const bytesToParse = originalBytes || transaction.toBytes();\n const decoded = proto.TransactionList.decode(bytesToParse);\n\n if (decoded.transactionList && decoded.transactionList.length > 0) {\n const tx = decoded.transactionList[0];\n let txBody: proto.ITransactionBody | null = null;\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n txBody = proto.TransactionBody.decode(tx.bodyBytes);\n } else if (\n tx.signedTransactionBytes &&\n tx.signedTransactionBytes.length > 0\n ) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n txBody = proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n if (txBody) {\n const protoResult = this.parseFromProtobufTxBody(txBody);\n if (protoResult.type && protoResult.type !== 'UNKNOWN') {\n return protoResult;\n }\n }\n }\n } catch (protoError) {}\n }\n\n return this.parseFromTransactionInternals(transaction);\n } catch (error) {\n return {\n type: 'UNKNOWN',\n humanReadableType: 'Unknown Utility Transaction',\n };\n }\n }\n\n /**\n * Parse utility transaction from protobuf TransactionBody\n * Handles all utility operations from decoded protobuf data\n */\n private static parseFromProtobufTxBody(txBody: proto.ITransactionBody): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n if (txBody.utilPrng) {\n const utilPrng = this.parseUtilPrng(txBody.utilPrng);\n if (utilPrng) {\n return {\n type: 'PRNG',\n humanReadableType: 'Pseudo Random Number',\n utilPrng,\n };\n }\n }\n\n if (txBody.freeze) {\n const networkFreeze = this.parseNetworkFreezeFromProto(txBody.freeze);\n if (networkFreeze) {\n return {\n type: 'FREEZE',\n humanReadableType: 'Network Freeze',\n freeze: networkFreeze,\n };\n }\n }\n\n if (txBody.systemDelete) {\n const systemDelete = this.parseSystemDeleteFromProto(txBody.systemDelete);\n if (systemDelete) {\n return {\n type: 'SYSTEMDELETE',\n humanReadableType: 'System Delete',\n systemDelete,\n };\n }\n }\n\n if (txBody.systemUndelete) {\n const systemUndelete = this.parseSystemUndeleteFromProto(\n txBody.systemUndelete,\n );\n if (systemUndelete) {\n return {\n type: 'SYSTEMUNDELETE',\n humanReadableType: 'System Undelete',\n systemUndelete,\n };\n }\n }\n\n if (txBody.nodeCreate) {\n const nodeCreate = this.parseNodeCreateFromProto(txBody.nodeCreate);\n if (nodeCreate) {\n return {\n type: 'NODECREATE',\n humanReadableType: 'Node Create',\n nodeCreate,\n };\n }\n }\n\n if (txBody.nodeUpdate) {\n const nodeUpdate = this.parseNodeUpdateFromProto(txBody.nodeUpdate);\n if (nodeUpdate) {\n return {\n type: 'NODEUPDATE',\n humanReadableType: 'Node Update',\n nodeUpdate,\n };\n }\n }\n\n if (txBody.nodeDelete) {\n const nodeDelete = this.parseNodeDeleteFromProto(txBody.nodeDelete);\n if (nodeDelete) {\n return {\n type: 'NODEDELETE',\n humanReadableType: 'Node Delete',\n nodeDelete,\n };\n }\n }\n\n return {};\n }\n\n /**\n * Extract utility data from Transaction internal fields\n * This handles cases where data is stored in Transaction object internals\n */\n private static parseFromTransactionInternals(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const tx = transaction as unknown as {\n _range?: number;\n _startTime?: { toString(): string };\n _endTime?: { toString(): string };\n _updateFile?: { toString(): string };\n _fileHash?: Uint8Array;\n _freezeType?: string;\n _fileId?: { toString(): string };\n _contractId?: { toString(): string };\n _expirationTime?: { toString(): string };\n _nodeId?: number;\n _accountId?: { toString(): string };\n _description?: string;\n _gossipEndpoint?: Array<unknown>;\n _serviceEndpoint?: Array<unknown>;\n _gossipCaCertificate?: Uint8Array;\n _grpcCertificateHash?: Uint8Array;\n _adminKey?: unknown;\n constructor?: { name?: string };\n };\n\n if (hasTransactionType(transaction, 'utilPrng')) {\n const utilPrng: UtilPrngData = {};\n if (tx._range && tx._range !== 0) {\n utilPrng.range = tx._range;\n }\n\n return {\n type: 'PRNG',\n humanReadableType: 'Pseudo Random Number',\n utilPrng,\n };\n }\n\n if (hasTransactionType(transaction, 'freeze')) {\n const networkFreeze: NetworkFreezeData = {};\n\n if (tx._startTime) {\n networkFreeze.startTime = tx._startTime.toString();\n }\n if (tx._endTime) {\n networkFreeze.endTime = tx._endTime.toString();\n }\n if (tx._updateFile) {\n networkFreeze.updateFile = tx._updateFile.toString();\n }\n if (tx._fileHash) {\n networkFreeze.fileHash = Buffer.from(tx._fileHash).toString('hex');\n }\n if (tx._freezeType) {\n networkFreeze.freezeType = tx._freezeType as any;\n }\n\n return {\n type: 'FREEZE',\n humanReadableType: 'Network Freeze',\n freeze: networkFreeze,\n };\n }\n\n if (hasTransactionType(transaction, 'systemDelete')) {\n const systemDelete: SystemDeleteData = {};\n\n if (tx._fileId) {\n systemDelete.fileId = tx._fileId.toString();\n } else if (tx._contractId) {\n systemDelete.contractId = tx._contractId.toString();\n }\n\n if (tx._expirationTime) {\n systemDelete.expirationTime = tx._expirationTime.toString();\n }\n\n return {\n type: 'SYSTEMDELETE',\n humanReadableType: 'System Delete',\n systemDelete,\n };\n }\n\n if (hasTransactionType(transaction, 'systemUndelete')) {\n const systemUndelete: SystemUndeleteData = {};\n\n if (tx._fileId) {\n systemUndelete.fileId = tx._fileId.toString();\n } else if (tx._contractId) {\n systemUndelete.contractId = tx._contractId.toString();\n }\n\n return {\n type: 'SYSTEMUNDELETE',\n humanReadableType: 'System Undelete',\n systemUndelete,\n };\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n\n /**\n * Parse Network Freeze from protobuf data\n */\n private static parseNetworkFreezeFromProto(\n body: proto.IFreezeTransactionBody,\n ): NetworkFreezeData | undefined {\n if (!body) return undefined;\n\n const data: NetworkFreezeData = {};\n\n if (body.startTime?.seconds) {\n data.startTime = `${Long.fromValue(\n body.startTime.seconds,\n ).toString()}.${body.startTime.nanos ?? 0}`;\n }\n\n if (body.updateFile) {\n data.updateFile = new FileId(\n body.updateFile.shardNum ?? 0,\n body.updateFile.realmNum ?? 0,\n body.updateFile.fileNum ?? 0,\n ).toString();\n }\n\n if (body.fileHash && body.fileHash.length > 0) {\n data.fileHash = Buffer.from(body.fileHash).toString('hex');\n }\n\n if (body.freezeType !== undefined) {\n const freezeTypes = [\n 'FREEZE_ONLY',\n 'PREPARE_UPGRADE',\n 'FREEZE_UPGRADE',\n 'FREEZE_ABORT',\n ];\n data.freezeType = (freezeTypes[body.freezeType] as any) || 'FREEZE_ONLY';\n }\n\n return data;\n }\n\n /**\n * Parse System Delete from protobuf data\n */\n private static parseSystemDeleteFromProto(\n body: proto.ISystemDeleteTransactionBody,\n ): SystemDeleteData | undefined {\n if (!body) return undefined;\n\n const data: SystemDeleteData = {};\n\n if (body.fileID) {\n data.fileId = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0,\n ).toString();\n } else if (body.contractID) {\n data.contractId = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n\n if (body.expirationTime?.seconds) {\n data.expirationTime = Long.fromValue(\n body.expirationTime.seconds,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Parse System Undelete from protobuf data\n */\n private static parseSystemUndeleteFromProto(\n body: proto.ISystemUndeleteTransactionBody,\n ): SystemUndeleteData | undefined {\n if (!body) return undefined;\n\n const data: SystemUndeleteData = {};\n\n if (body.fileID) {\n data.fileId = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0,\n ).toString();\n } else if (body.contractID) {\n data.contractId = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Parse Node Create from protobuf data\n */\n private static parseNodeCreateFromProto(\n body: any,\n ): NodeCreateData | undefined {\n if (!body) return undefined;\n\n const data: NodeCreateData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n /**\n * Parse Node Update from protobuf data\n */\n private static parseNodeUpdateFromProto(\n body: any,\n ): NodeUpdateData | undefined {\n if (!body) return undefined;\n\n const data: NodeUpdateData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n /**\n * Parse Node Delete from protobuf data\n */\n private static parseNodeDeleteFromProto(\n body: any,\n ): NodeDeleteData | undefined {\n if (!body) return undefined;\n\n const data: NodeDeleteData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n static parseUtilPrng(\n body: proto.IUtilPrngTransactionBody,\n ): UtilPrngData | undefined {\n if (!body) return undefined;\n const data: UtilPrngData = {};\n if (body.range && body.range !== 0) {\n data.range = body.range;\n }\n return data;\n }\n\n static parseFreeze(\n body: proto.IFreezeTransactionBody,\n ): NetworkFreezeData | undefined {\n return this.parseNetworkFreezeFromProto(body);\n }\n\n /**\n * Parse Utility/System Service transaction from Transaction object\n * This is the unified entry point that delegates to the comprehensive parsing logic\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n return this.parseUtilTransaction(transaction);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,225 +1,79 @@
1
- import { searchResponseSchema, statsResponseSchema, registriesResponseSchema, additionalRegistryCatalogResponseSchema, popularResponseSchema, protocolsResponseSchema, detectProtocolResponseSchema, registrySearchByNamespaceSchema, vectorSearchResponseSchema, searchStatusResponseSchema, websocketStatsResponseSchema, metricsSummaryResponseSchema, searchFacetsResponseSchema } from "./standards-sdk.es139.js";
2
- import { buildSearchQuery } from "./standards-sdk.es169.js";
3
- import { RegistryBrokerError } from "./standards-sdk.es140.js";
4
- function buildVectorFallbackSearchParams(request) {
5
- const params = {
6
- q: request.query
7
- };
8
- let effectiveLimit;
9
- if (typeof request.limit === "number" && Number.isFinite(request.limit)) {
10
- effectiveLimit = request.limit;
11
- params.limit = request.limit;
1
+ import { proto } from "@hashgraph/proto";
2
+ import { ContractId } from "@hashgraph/sdk";
3
+ import { Buffer } from "buffer";
4
+ function parseKey(key) {
5
+ if (!key) {
6
+ return void 0;
12
7
  }
13
- if (typeof request.offset === "number" && Number.isFinite(request.offset) && request.offset > 0) {
14
- const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;
15
- params.limit = limit;
16
- params.page = Math.floor(request.offset / limit) + 1;
8
+ if (key.contractID) {
9
+ return `ContractID: ${new ContractId(
10
+ key.contractID.shardNum ?? 0,
11
+ key.contractID.realmNum ?? 0,
12
+ key.contractID.contractNum ?? 0
13
+ ).toString()}`;
17
14
  }
18
- if (request.filter?.registry) {
19
- params.registry = request.filter.registry;
15
+ if (key.ed25519) {
16
+ return `ED25519: ${Buffer.from(key.ed25519).toString("hex")}`;
20
17
  }
21
- if (request.filter?.protocols?.length) {
22
- params.protocols = [...request.filter.protocols];
18
+ if (key.ECDSASecp256k1) {
19
+ return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(
20
+ "hex"
21
+ )}`;
23
22
  }
24
- if (request.filter?.adapter?.length) {
25
- params.adapters = [...request.filter.adapter];
23
+ if (key?.keyList?.keys?.length > 0) {
24
+ const keys = key.keyList.keys.map((k) => parseKey(k)).filter(Boolean);
25
+ return `KeyList (${keys.length} keys): [${keys.join(", ")}]`;
26
26
  }
27
- if (request.filter?.capabilities?.length) {
28
- params.capabilities = request.filter.capabilities.map(
29
- (value) => typeof value === "number" ? value.toString(10) : value
30
- );
27
+ if (key?.thresholdKey?.keys?.keys?.length > 0) {
28
+ const keys = key.thresholdKey.keys.keys.map((k) => parseKey(k)).filter(Boolean);
29
+ return `ThresholdKey (${key.thresholdKey.threshold} of ${keys.length}): [${keys.join(", ")}]`;
31
30
  }
32
- if (request.filter?.type) {
33
- params.type = request.filter.type;
31
+ if (key.delegatableContractId) {
32
+ return `DelegatableContractID: ${new ContractId(
33
+ key.delegatableContractId.shardNum ?? 0,
34
+ key.delegatableContractId.realmNum ?? 0,
35
+ key.delegatableContractId.contractNum ?? 0
36
+ ).toString()}`;
34
37
  }
35
- return params;
36
- }
37
- function convertSearchResultToVectorResponse(result) {
38
- const hits = result.hits.map((agent) => ({
39
- agent,
40
- score: 0,
41
- highlights: {}
42
- }));
43
- const total = result.total;
44
- const limit = result.limit;
45
- const page = result.page;
46
- const totalVisible = page * limit;
47
- const limited = total > totalVisible || page > 1;
48
- return {
49
- hits,
50
- total,
51
- took: 0,
52
- totalAvailable: total,
53
- visible: hits.length,
54
- limited,
55
- credits_used: 0
56
- };
57
- }
58
- async function search(client, params = {}) {
59
- const query = buildSearchQuery(params);
60
- const raw = await client.requestJson(`/search${query}`, {
61
- method: "GET"
62
- });
63
- return client.parseWithSchema(raw, searchResponseSchema, "search response");
64
- }
65
- async function stats(client) {
66
- const raw = await client.requestJson("/stats", { method: "GET" });
67
- return client.parseWithSchema(raw, statsResponseSchema, "stats response");
68
- }
69
- async function registries(client) {
70
- const raw = await client.requestJson("/registries", {
71
- method: "GET"
72
- });
73
- return client.parseWithSchema(
74
- raw,
75
- registriesResponseSchema,
76
- "registries response"
77
- );
78
- }
79
- async function getAdditionalRegistries(client) {
80
- const raw = await client.requestJson(
81
- "/register/additional-registries",
82
- {
83
- method: "GET"
84
- }
85
- );
86
- return client.parseWithSchema(
87
- raw,
88
- additionalRegistryCatalogResponseSchema,
89
- "additional registry catalog response"
90
- );
91
- }
92
- async function popularSearches(client) {
93
- const raw = await client.requestJson("/popular", {
94
- method: "GET"
95
- });
96
- return client.parseWithSchema(
97
- raw,
98
- popularResponseSchema,
99
- "popular searches response"
100
- );
101
- }
102
- async function listProtocols(client) {
103
- const raw = await client.requestJson("/protocols", {
104
- method: "GET"
105
- });
106
- return client.parseWithSchema(
107
- raw,
108
- protocolsResponseSchema,
109
- "protocols response"
110
- );
111
- }
112
- async function detectProtocol(client, message) {
113
- const raw = await client.requestJson("/detect-protocol", {
114
- method: "POST",
115
- body: { message },
116
- headers: { "content-type": "application/json" }
117
- });
118
- return client.parseWithSchema(
119
- raw,
120
- detectProtocolResponseSchema,
121
- "detect protocol response"
122
- );
123
- }
124
- async function registrySearchByNamespace(client, registry, query) {
125
- const params = new URLSearchParams();
126
- if (query) {
127
- params.set("q", query);
38
+ if (Object.keys(key).length === 0) {
39
+ return "Empty Key Structure";
128
40
  }
129
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
130
- const raw = await client.requestJson(
131
- `/registries/${encodeURIComponent(registry)}/search${suffix}`,
132
- {
133
- method: "GET"
134
- }
135
- );
136
- return client.parseWithSchema(
137
- raw,
138
- registrySearchByNamespaceSchema,
139
- "registry search response"
140
- );
41
+ return "Unknown or Unset Key Type";
141
42
  }
142
- async function vectorSearch(client, request) {
43
+ function extractTransactionBody(transaction) {
143
44
  try {
144
- const raw = await client.requestJson("/search", {
145
- method: "POST",
146
- body: request,
147
- headers: { "content-type": "application/json" }
148
- });
149
- return client.parseWithSchema(
150
- raw,
151
- vectorSearchResponseSchema,
152
- "vector search response"
153
- );
154
- } catch (error) {
155
- if (error instanceof RegistryBrokerError && error.status === 501) {
156
- const fallback = await search(
157
- client,
158
- buildVectorFallbackSearchParams(request)
45
+ const bytes = transaction.toBytes ? transaction.toBytes() : void 0;
46
+ if (!bytes) {
47
+ return null;
48
+ }
49
+ const decoded = proto.TransactionList.decode(bytes);
50
+ if (!decoded.transactionList || decoded.transactionList.length === 0) {
51
+ return null;
52
+ }
53
+ const tx = decoded.transactionList[0];
54
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
55
+ return proto.TransactionBody.decode(tx.bodyBytes);
56
+ }
57
+ if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
58
+ const signedTx = proto.SignedTransaction.decode(
59
+ tx.signedTransactionBytes
159
60
  );
160
- return convertSearchResultToVectorResponse(fallback);
61
+ if (signedTx.bodyBytes) {
62
+ return proto.TransactionBody.decode(signedTx.bodyBytes);
63
+ }
161
64
  }
162
- throw error;
65
+ return null;
66
+ } catch (error) {
67
+ return null;
163
68
  }
164
69
  }
165
- async function searchStatus(client) {
166
- const raw = await client.requestJson("/search/status", {
167
- method: "GET"
168
- });
169
- return client.parseWithSchema(
170
- raw,
171
- searchStatusResponseSchema,
172
- "search status response"
173
- );
174
- }
175
- async function websocketStats(client) {
176
- const raw = await client.requestJson("/websocket/stats", {
177
- method: "GET"
178
- });
179
- return client.parseWithSchema(
180
- raw,
181
- websocketStatsResponseSchema,
182
- "websocket stats response"
183
- );
184
- }
185
- async function metricsSummary(client) {
186
- const raw = await client.requestJson("/metrics", {
187
- method: "GET"
188
- });
189
- return client.parseWithSchema(
190
- raw,
191
- metricsSummaryResponseSchema,
192
- "metrics summary response"
193
- );
194
- }
195
- async function facets(client, adapter) {
196
- const params = new URLSearchParams();
197
- if (adapter) {
198
- params.set("adapter", adapter);
199
- }
200
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
201
- const raw = await client.requestJson(`/search/facets${suffix}`, {
202
- method: "GET"
203
- });
204
- return client.parseWithSchema(
205
- raw,
206
- searchFacetsResponseSchema,
207
- "search facets response"
208
- );
70
+ function hasTransactionType(transaction, transactionField) {
71
+ const txBody = extractTransactionBody(transaction);
72
+ return !!(txBody && txBody[transactionField]);
209
73
  }
210
74
  export {
211
- detectProtocol,
212
- facets,
213
- getAdditionalRegistries,
214
- listProtocols,
215
- metricsSummary,
216
- popularSearches,
217
- registries,
218
- registrySearchByNamespace,
219
- search,
220
- searchStatus,
221
- stats,
222
- vectorSearch,
223
- websocketStats
75
+ extractTransactionBody,
76
+ hasTransactionType,
77
+ parseKey
224
78
  };
225
79
  //# sourceMappingURL=standards-sdk.es168.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es168.js","sources":["../../src/services/registry-broker/client/search.ts"],"sourcesContent":["import type {\n JsonValue,\n PopularSearchesResponse,\n ProtocolDetectionMessage,\n DetectProtocolResponse,\n ProtocolsResponse,\n RegistriesResponse,\n AdditionalRegistryCatalogResponse,\n RegistrySearchByNamespaceResponse,\n RegistryStatsResponse,\n SearchFacetsResponse,\n SearchParams,\n SearchResult,\n SearchStatusResponse,\n VectorSearchRequest,\n VectorSearchResponse,\n WebsocketStatsResponse,\n MetricsSummaryResponse,\n} from '../types';\nimport {\n additionalRegistryCatalogResponseSchema,\n detectProtocolResponseSchema,\n metricsSummaryResponseSchema,\n popularResponseSchema,\n protocolsResponseSchema,\n registriesResponseSchema,\n registrySearchByNamespaceSchema,\n searchFacetsResponseSchema,\n searchResponseSchema,\n searchStatusResponseSchema,\n statsResponseSchema,\n vectorSearchResponseSchema,\n websocketStatsResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\nimport { buildSearchQuery } from './utils';\nimport { RegistryBrokerError } from './errors';\n\nfunction buildVectorFallbackSearchParams(\n request: VectorSearchRequest,\n): SearchParams {\n const params: SearchParams = {\n q: request.query,\n };\n let effectiveLimit: number | undefined;\n if (typeof request.limit === 'number' && Number.isFinite(request.limit)) {\n effectiveLimit = request.limit;\n params.limit = request.limit;\n }\n if (\n typeof request.offset === 'number' &&\n Number.isFinite(request.offset) &&\n request.offset > 0\n ) {\n const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;\n params.limit = limit;\n params.page = Math.floor(request.offset / limit) + 1;\n }\n if (request.filter?.registry) {\n params.registry = request.filter.registry;\n }\n if (request.filter?.protocols?.length) {\n params.protocols = [...request.filter.protocols];\n }\n if (request.filter?.adapter?.length) {\n params.adapters = [...request.filter.adapter];\n }\n if (request.filter?.capabilities?.length) {\n params.capabilities = request.filter.capabilities.map(value =>\n typeof value === 'number' ? value.toString(10) : value,\n );\n }\n if (request.filter?.type) {\n params.type = request.filter.type;\n }\n return params;\n}\n\nfunction convertSearchResultToVectorResponse(\n result: SearchResult,\n): VectorSearchResponse {\n const hits = result.hits.map(agent => ({\n agent,\n score: 0,\n highlights: {},\n }));\n const total = result.total;\n const limit = result.limit;\n const page = result.page;\n const totalVisible = page * limit;\n const limited = total > totalVisible || page > 1;\n\n return {\n hits,\n total,\n took: 0,\n totalAvailable: total,\n visible: hits.length,\n limited,\n credits_used: 0,\n };\n}\n\nexport async function search(\n client: RegistryBrokerClient,\n params: SearchParams = {},\n): Promise<SearchResult> {\n const query = buildSearchQuery(params);\n const raw = await client.requestJson<JsonValue>(`/search${query}`, {\n method: 'GET',\n });\n return client.parseWithSchema(raw, searchResponseSchema, 'search response');\n}\n\nexport async function stats(\n client: RegistryBrokerClient,\n): Promise<RegistryStatsResponse> {\n const raw = await client.requestJson<JsonValue>('/stats', { method: 'GET' });\n return client.parseWithSchema(raw, statsResponseSchema, 'stats response');\n}\n\nexport async function registries(\n client: RegistryBrokerClient,\n): Promise<RegistriesResponse> {\n const raw = await client.requestJson<JsonValue>('/registries', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n registriesResponseSchema,\n 'registries response',\n );\n}\n\nexport async function getAdditionalRegistries(\n client: RegistryBrokerClient,\n): Promise<AdditionalRegistryCatalogResponse> {\n const raw = await client.requestJson<JsonValue>(\n '/register/additional-registries',\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n additionalRegistryCatalogResponseSchema,\n 'additional registry catalog response',\n );\n}\n\nexport async function popularSearches(\n client: RegistryBrokerClient,\n): Promise<PopularSearchesResponse> {\n const raw = await client.requestJson<JsonValue>('/popular', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n popularResponseSchema,\n 'popular searches response',\n );\n}\n\nexport async function listProtocols(\n client: RegistryBrokerClient,\n): Promise<ProtocolsResponse> {\n const raw = await client.requestJson<JsonValue>('/protocols', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n protocolsResponseSchema,\n 'protocols response',\n );\n}\n\nexport async function detectProtocol(\n client: RegistryBrokerClient,\n message: ProtocolDetectionMessage,\n): Promise<DetectProtocolResponse> {\n const raw = await client.requestJson<JsonValue>('/detect-protocol', {\n method: 'POST',\n body: { message },\n headers: { 'content-type': 'application/json' },\n });\n return client.parseWithSchema(\n raw,\n detectProtocolResponseSchema,\n 'detect protocol response',\n );\n}\n\nexport async function registrySearchByNamespace(\n client: RegistryBrokerClient,\n registry: string,\n query?: string,\n): Promise<RegistrySearchByNamespaceResponse> {\n const params = new URLSearchParams();\n if (query) {\n params.set('q', query);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await client.requestJson<JsonValue>(\n `/registries/${encodeURIComponent(registry)}/search${suffix}`,\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n registrySearchByNamespaceSchema,\n 'registry search response',\n );\n}\n\nexport async function vectorSearch(\n client: RegistryBrokerClient,\n request: VectorSearchRequest,\n): Promise<VectorSearchResponse> {\n try {\n const raw = await client.requestJson<JsonValue>('/search', {\n method: 'POST',\n body: request,\n headers: { 'content-type': 'application/json' },\n });\n return client.parseWithSchema(\n raw,\n vectorSearchResponseSchema,\n 'vector search response',\n );\n } catch (error) {\n if (error instanceof RegistryBrokerError && error.status === 501) {\n const fallback = await search(\n client,\n buildVectorFallbackSearchParams(request),\n );\n return convertSearchResultToVectorResponse(fallback);\n }\n throw error;\n }\n}\n\nexport async function searchStatus(\n client: RegistryBrokerClient,\n): Promise<SearchStatusResponse> {\n const raw = await client.requestJson<JsonValue>('/search/status', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n searchStatusResponseSchema,\n 'search status response',\n );\n}\n\nexport async function websocketStats(\n client: RegistryBrokerClient,\n): Promise<WebsocketStatsResponse> {\n const raw = await client.requestJson<JsonValue>('/websocket/stats', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n websocketStatsResponseSchema,\n 'websocket stats response',\n );\n}\n\nexport async function metricsSummary(\n client: RegistryBrokerClient,\n): Promise<MetricsSummaryResponse> {\n const raw = await client.requestJson<JsonValue>('/metrics', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n metricsSummaryResponseSchema,\n 'metrics summary response',\n );\n}\n\nexport async function facets(\n client: RegistryBrokerClient,\n adapter?: string,\n): Promise<SearchFacetsResponse> {\n const params = new URLSearchParams();\n if (adapter) {\n params.set('adapter', adapter);\n }\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await client.requestJson<JsonValue>(`/search/facets${suffix}`, {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n searchFacetsResponseSchema,\n 'search facets response',\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es168.js","sources":["../../src/utils/parsers/parser-utils.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Transaction } from '@hashgraph/sdk';\nimport { Buffer } from 'buffer';\n\nexport function parseKey(\n key: proto.IKey | null | undefined,\n): string | undefined {\n if (!key) {\n return undefined;\n }\n\n if (key.contractID) {\n return `ContractID: ${new ContractId(\n key.contractID.shardNum ?? 0,\n key.contractID.realmNum ?? 0,\n key.contractID.contractNum ?? 0,\n ).toString()}`;\n }\n if (key.ed25519) {\n return `ED25519: ${Buffer.from(key.ed25519).toString('hex')}`;\n }\n if (key.ECDSASecp256k1) {\n return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(\n 'hex',\n )}`;\n }\n if (key?.keyList?.keys?.length > 0) {\n const keys = key.keyList.keys.map(k => parseKey(k)).filter(Boolean);\n return `KeyList (${keys.length} keys): [${keys.join(', ')}]`;\n }\n if (key?.thresholdKey?.keys?.keys?.length > 0) {\n const keys = key.thresholdKey.keys.keys\n .map(k => parseKey(k))\n .filter(Boolean);\n return `ThresholdKey (${key.thresholdKey.threshold} of ${\n keys.length\n }): [${keys.join(', ')}]`;\n }\n if (key.delegatableContractId) {\n return `DelegatableContractID: ${new ContractId(\n key.delegatableContractId.shardNum ?? 0,\n key.delegatableContractId.realmNum ?? 0,\n key.delegatableContractId.contractNum ?? 0,\n ).toString()}`;\n }\n if (Object.keys(key).length === 0) {\n return 'Empty Key Structure';\n }\n\n return 'Unknown or Unset Key Type';\n}\n\n/**\n * Extract TransactionBody from Transaction object using protobuf parsing\n * This replaces fragile constructor name checking with reliable protobuf data\n */\nexport function extractTransactionBody(\n transaction: Transaction,\n): proto.ITransactionBody | null {\n try {\n const bytes = transaction.toBytes ? transaction.toBytes() : undefined;\n if (!bytes) {\n return null;\n }\n\n const decoded = proto.TransactionList.decode(bytes);\n if (!decoded.transactionList || decoded.transactionList.length === 0) {\n return null;\n }\n\n const tx = decoded.transactionList[0];\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n return proto.TransactionBody.decode(tx.bodyBytes);\n }\n\n if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n return proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n return null;\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Check if transaction has specific transaction type using protobuf data\n * This replaces constructor name checking with reliable protobuf field detection\n */\nexport function hasTransactionType(\n transaction: Transaction,\n transactionField: keyof proto.ITransactionBody,\n): boolean {\n const txBody = extractTransactionBody(transaction);\n return !!(txBody && txBody[transactionField]);\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SACd,KACoB;AACpB,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,IAAI,YAAY;AAClB,WAAO,eAAe,IAAI;AAAA,MACxB,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,eAAe;AAAA,IAAA,EAC9B,UAAU;AAAA,EACd;AACA,MAAI,IAAI,SAAS;AACf,WAAO,YAAY,OAAO,KAAK,IAAI,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,EAC7D;AACA,MAAI,IAAI,gBAAgB;AACtB,WAAO,oBAAoB,OAAO,KAAK,IAAI,cAAc,EAAE;AAAA,MACzD;AAAA,IAAA,CACD;AAAA,EACH;AACA,MAAI,KAAK,SAAS,MAAM,SAAS,GAAG;AAClC,UAAM,OAAO,IAAI,QAAQ,KAAK,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO;AAClE,WAAO,YAAY,KAAK,MAAM,YAAY,KAAK,KAAK,IAAI,CAAC;AAAA,EAC3D;AACA,MAAI,KAAK,cAAc,MAAM,MAAM,SAAS,GAAG;AAC7C,UAAM,OAAO,IAAI,aAAa,KAAK,KAChC,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EACpB,OAAO,OAAO;AACjB,WAAO,iBAAiB,IAAI,aAAa,SAAS,OAChD,KAAK,MACP,OAAO,KAAK,KAAK,IAAI,CAAC;AAAA,EACxB;AACA,MAAI,IAAI,uBAAuB;AAC7B,WAAO,0BAA0B,IAAI;AAAA,MACnC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,eAAe;AAAA,IAAA,EACzC,UAAU;AAAA,EACd;AACA,MAAI,OAAO,KAAK,GAAG,EAAE,WAAW,GAAG;AACjC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,SAAS,uBACd,aAC+B;AAC/B,MAAI;AACF,UAAM,QAAQ,YAAY,UAAU,YAAY,YAAY;AAC5D,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,gBAAgB,OAAO,KAAK;AAClD,QAAI,CAAC,QAAQ,mBAAmB,QAAQ,gBAAgB,WAAW,GAAG;AACpE,aAAO;AAAA,IACT;AAEA,UAAM,KAAK,QAAQ,gBAAgB,CAAC;AAEpC,QAAI,GAAG,aAAa,GAAG,UAAU,SAAS,GAAG;AAC3C,aAAO,MAAM,gBAAgB,OAAO,GAAG,SAAS;AAAA,IAClD;AAEA,QAAI,GAAG,0BAA0B,GAAG,uBAAuB,SAAS,GAAG;AACrE,YAAM,WAAW,MAAM,kBAAkB;AAAA,QACvC,GAAG;AAAA,MAAA;AAEL,UAAI,SAAS,WAAW;AACtB,eAAO,MAAM,gBAAgB,OAAO,SAAS,SAAS;AAAA,MACxD;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAMO,SAAS,mBACd,aACA,kBACS;AACT,QAAM,SAAS,uBAAuB,WAAW;AACjD,SAAO,CAAC,EAAE,UAAU,OAAO,gBAAgB;AAC7C;"}