@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 +1 @@
1
- {"version":3,"file":"standards-sdk.es67.js","sources":["../../src/hcs-14/issuers/registry.ts"],"sourcesContent":["/**\n * Issuer registry for HCS-14 DID adapters.\n */\n\nimport { DidIssueRequest, DidIssuer, IssuerRegistryApi } from './types';\n\nexport class IssuerRegistry implements IssuerRegistryApi {\n private issuers: DidIssuer[] = [];\n\n register(issuer: DidIssuer): void {\n this.issuers.push(issuer);\n }\n\n list(): DidIssuer[] {\n return [...this.issuers];\n }\n\n /** Return issuers that support a given DID method. */\n filterByDidMethod(method: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.didMethods.includes(method));\n }\n\n /** Return issuers that advertise a specific CAIP-2 network. */\n filterByCaip2(network: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.caip2Networks?.includes(network));\n }\n\n /** Generic predicate-based filter. */\n filter(predicate: (issuer: DidIssuer) => boolean): DidIssuer[] {\n return this.issuers.filter(predicate);\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n for (const issuer of this.issuers) {\n if (issuer.supports(request.method)) {\n return issuer.issue(request);\n }\n }\n throw new Error(`No issuer registered for method: ${request.method}`);\n }\n}\n\nexport const defaultIssuerRegistry = new IssuerRegistry();\n"],"names":[],"mappings":"AAMO,MAAM,eAA4C;AAAA,EAAlD,cAAA;AACL,SAAQ,UAAuB,CAAA;AAAA,EAAC;AAAA,EAEhC,SAAS,QAAyB;AAChC,SAAK,QAAQ,KAAK,MAAM;AAAA,EAC1B;AAAA,EAEA,OAAoB;AAClB,WAAO,CAAC,GAAG,KAAK,OAAO;AAAA,EACzB;AAAA;AAAA,EAGA,kBAAkB,QAA6B;AAC7C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,WAAW,SAAS,MAAM,CAAC;AAAA,EACpE;AAAA;AAAA,EAGA,cAAc,SAA8B;AAC1C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,eAAe,SAAS,OAAO,CAAC;AAAA,EACzE;AAAA;AAAA,EAGA,OAAO,WAAwD;AAC7D,WAAO,KAAK,QAAQ,OAAO,SAAS;AAAA,EACtC;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,eAAW,UAAU,KAAK,SAAS;AACjC,UAAI,OAAO,SAAS,QAAQ,MAAM,GAAG;AACnC,eAAO,OAAO,MAAM,OAAO;AAAA,MAC7B;AAAA,IACF;AACA,UAAM,IAAI,MAAM,oCAAoC,QAAQ,MAAM,EAAE;AAAA,EACtE;AACF;AAEO,MAAM,wBAAwB,IAAI,eAAA;"}
1
+ {"version":3,"file":"standards-sdk.es67.js","sources":["../../src/hcs-14/sdk.ts"],"sourcesContent":["import {\n CanonicalizationResult,\n CanonicalAgentData,\n DidRoutingParams,\n ParsedHcs14Did,\n} from './types';\nimport { canonicalizeAgentData } from './canonical';\nimport { createUaid as createUaidFn, parseHcs14Did } from './did';\nimport {\n isHederaNetwork,\n isHederaCaip10,\n toHederaCaip10,\n parseHederaCaip10,\n isEip155Caip10,\n toEip155Caip10,\n} from './caip';\nimport {\n ResolverRegistry,\n type ResolveUaidProfileOptions,\n} from './resolvers/registry';\nimport type {\n DidProfileResolver,\n DidResolutionProfile,\n DidResolver,\n ResolverAdapter,\n ResolverAdapterFilterOptions,\n ResolverAdapterRecord,\n UaidProfileResolver,\n} from './resolvers/types';\nimport { HieroDidResolver } from './resolvers/hiero';\nimport { HCS11ProfileResolver } from './resolvers/hcs-11-profile';\nimport {\n AidDnsWebProfileResolver,\n type AidDnsWebResolverOptions,\n} from './resolvers/aid-dns-web-profile';\nimport {\n AnsDnsWebProfileResolver,\n type AnsDnsWebResolverOptions,\n} from './resolvers/ans-dns-web-profile';\nimport {\n UaidDnsWebProfileResolver,\n type UaidDnsWebResolverOptions,\n} from './resolvers/uaid-dns-web-profile';\nimport { UaidDidResolutionProfileResolver } from './resolvers/uaid-did-resolution-profile';\nimport { IssuerRegistry } from './issuers/registry';\nimport { HederaHieroIssuer } from './issuers/hiero';\nimport type { DidIssueRequest } from './issuers/types';\nimport { Client } from '@hashgraph/sdk';\nimport { HCS11Client } from '../hcs-11/client';\nimport { NetworkType, Logger, type ILogger } from '../utils';\nimport { HederaMirrorNode } from '../services';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { HCS10Client } from '../hcs-10/sdk';\n\n/**\n * HCS-14 SDK client - lightweight facade around AID/UAID helpers and resolver registry.\n */\nexport interface HCS14ClientOptions {\n client?: Client;\n network?: NetworkType;\n operatorId?: string;\n privateKey?: string;\n registry?: ResolverRegistry;\n hcs10Client?: HCS10Client;\n}\n\nexport class HCS14Client {\n private readonly registry: ResolverRegistry;\n private client?: Client;\n private network?: NetworkType;\n private operatorId?: string;\n private operatorPrivateKey?: string;\n private hcs10Client?: HCS10Client;\n private issuers: IssuerRegistry;\n private operatorCtx?: NodeOperatorContext;\n private logger: ILogger;\n\n constructor(options?: HCS14ClientOptions) {\n this.registry = options?.registry ?? new ResolverRegistry();\n this.issuers = new IssuerRegistry();\n this.registerHederaIssuer();\n this.registerHederaResolver();\n this.registerUaidDnsWebProfileResolver();\n this.registerAnsDnsWebProfileResolver();\n this.registerAidDnsWebProfileResolver();\n this.registerUaidDidResolutionProfileResolver();\n this.registerHcs11ProfileResolver();\n this.logger = Logger.getInstance({ module: 'HCS-14' });\n this.client = options?.client;\n this.network = options?.network;\n this.operatorId = options?.operatorId;\n if (\n !this.client &&\n options?.network &&\n options?.operatorId &&\n options?.privateKey\n ) {\n this.configureHederaClient(\n options.network,\n options.operatorId,\n options.privateKey,\n );\n }\n if (options?.privateKey) {\n this.operatorPrivateKey = options.privateKey;\n }\n if (options?.hcs10Client) {\n this.hcs10Client = options.hcs10Client;\n }\n }\n\n configureHederaClient(\n network: NetworkType,\n operatorId: string,\n privateKey: string,\n ): void {\n const ctx = createNodeOperatorContext({\n network,\n operatorId,\n operatorKey: privateKey,\n mirrorNode: new HederaMirrorNode(network),\n logger: this.logger,\n client: Client.forName(network),\n });\n this.operatorCtx = ctx;\n this.client = ctx.client;\n this.network = network;\n this.operatorId = operatorId;\n this.operatorPrivateKey = privateKey;\n }\n\n private async ensureInitializedHedera(): Promise<void> {\n if (!this.operatorCtx) {\n return;\n }\n await this.operatorCtx.ensureInitialized();\n if (!this.operatorId) {\n this.operatorId = this.operatorCtx.operatorId.toString();\n }\n if (!this.operatorPrivateKey) {\n this.operatorPrivateKey = this.operatorCtx.operatorKey.toString();\n }\n if (!this.client) {\n this.client = this.operatorCtx.client;\n }\n }\n\n /**\n * DID issuance adapters\n */\n getIssuerRegistry(): IssuerRegistry {\n return this.issuers;\n }\n\n /** Convenience: list registered issuers with metadata. */\n listIssuers(): ReadonlyArray<import('./issuers/types').DidIssuer> {\n return this.issuers.list();\n }\n\n registerAdapter(adapter: ResolverAdapter): void {\n this.registry.registerAdapter(adapter);\n }\n\n listAdapters(): ReadonlyArray<ResolverAdapterRecord> {\n return this.registry.listAdapters();\n }\n\n filterAdapters(\n options: ResolverAdapterFilterOptions & { capability: 'did-resolver' },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'did-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions & {\n capability: 'did-profile-resolver';\n },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'did-profile-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions & {\n capability: 'uaid-profile-resolver';\n },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'uaid-profile-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions & {\n profileId: string;\n capability?: undefined;\n },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'uaid-profile-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions = {},\n ): ReadonlyArray<ResolverAdapterRecord> {\n return this.registry.filterAdapters(options);\n }\n\n /** @deprecated Use listAdapters()/filterAdapters() instead. */\n listResolvers(): ReadonlyArray<DidResolver> {\n return this.registry.list();\n }\n\n /** @deprecated Use listAdapters()/filterAdapters() instead. */\n listProfileResolvers(): ReadonlyArray<DidProfileResolver> {\n return this.registry.listProfileResolvers();\n }\n\n /** @deprecated Use listAdapters()/filterAdapters() instead. */\n listUaidProfileResolvers(): ReadonlyArray<UaidProfileResolver> {\n return this.registry.listUaidProfileResolvers();\n }\n\n /** Convenience: filter issuers by DID method. */\n filterIssuersByMethod(method: string) {\n return this.issuers.filterByDidMethod(method);\n }\n\n /** @deprecated Use filterAdapters({ capability: 'did-resolver', didMethod }) instead. */\n filterResolversByMethod(method: string) {\n return this.registry.filterByDidMethod(method);\n }\n\n /** @deprecated Use filterAdapters({ capability: 'did-profile-resolver', didMethod }) instead. */\n filterProfileResolversByMethod(method: string) {\n return this.registry.filterProfileResolversByDidMethod(method);\n }\n\n /** @deprecated Use filterAdapters({ capability: 'uaid-profile-resolver', didMethod }) instead. */\n filterUaidProfileResolversByMethod(method: string) {\n return this.registry.filterUaidProfileResolversByDidMethod(method);\n }\n\n /** @deprecated Use filterAdapters({ capability: 'uaid-profile-resolver', profileId }) instead. */\n filterUaidProfileResolversByProfileId(profileId: string) {\n return this.registry.filterUaidProfileResolversByProfileId(profileId);\n }\n\n registerHederaIssuer(): void {\n this.issuers.register(new HederaHieroIssuer());\n }\n\n async createDid(request: DidIssueRequest): Promise<string> {\n return this.issuers.issue(request);\n }\n\n canonicalizeAgentData(input: unknown): CanonicalizationResult {\n return canonicalizeAgentData(input);\n }\n\n createUaid(existingDid: string, params?: DidRoutingParams): string;\n createUaid(\n input: CanonicalAgentData | string,\n params?: DidRoutingParams,\n options?: { includeParams?: boolean },\n ): Promise<string> | string {\n if (typeof input === 'string') {\n return createUaidFn(input, params);\n }\n return createUaidFn(input, params, options);\n }\n\n parseHcs14Did(did: string): ParsedHcs14Did {\n return parseHcs14Did(did);\n }\n\n isHederaNetwork(value: string): boolean {\n return isHederaNetwork(value);\n }\n isHederaCaip10(value: string): boolean {\n return isHederaCaip10(value);\n }\n toHederaCaip10(\n network: Parameters<typeof toHederaCaip10>[0],\n accountId: string,\n ): string {\n return toHederaCaip10(network, accountId);\n }\n parseHederaCaip10(value: string): {\n network: Parameters<typeof toHederaCaip10>[0];\n accountId: string;\n } {\n return parseHederaCaip10(value);\n }\n isEip155Caip10(value: string): boolean {\n return isEip155Caip10(value);\n }\n toEip155Caip10(chainId: number | string, address: string): string {\n return toEip155Caip10(chainId, address);\n }\n\n getResolverRegistry(): ResolverRegistry {\n return this.registry;\n }\n\n /** @deprecated Use registerAdapter() instead. */\n registerProfileResolver(resolver: DidProfileResolver): void {\n this.registry.registerProfileResolver(resolver);\n }\n\n /** @deprecated Use registerAdapter() instead. */\n registerUaidProfileResolver(resolver: UaidProfileResolver): void {\n this.registry.registerUaidProfileResolver(resolver);\n }\n\n registerHederaResolver(): void {\n this.registry.registerAdapter(new HieroDidResolver());\n }\n\n registerHcs11ProfileResolver(): void {\n this.registry.registerAdapter(new HCS11ProfileResolver());\n }\n\n registerUaidDidResolutionProfileResolver(): void {\n this.registry.registerAdapter(new UaidDidResolutionProfileResolver());\n }\n\n registerAidDnsWebProfileResolver(options?: AidDnsWebResolverOptions): void {\n this.registry.registerAdapter(new AidDnsWebProfileResolver(options));\n }\n\n registerAnsDnsWebProfileResolver(options?: AnsDnsWebResolverOptions): void {\n this.registry.registerAdapter(new AnsDnsWebProfileResolver(options));\n }\n\n registerUaidDnsWebProfileResolver(options?: UaidDnsWebResolverOptions): void {\n this.registry.registerAdapter(new UaidDnsWebProfileResolver(options));\n }\n\n async resolveDidProfile(did: string): Promise<DidResolutionProfile> {\n return this.registry.resolveDidProfile(did);\n }\n\n async resolveUaidProfile(\n uaid: string,\n options?: ResolveUaidProfileOptions,\n ): Promise<DidResolutionProfile | null> {\n return this.registry.resolveUaidProfile(uaid, options);\n }\n\n /**\n * Issue a DID via adapters and immediately wrap as UAID with routing params.\n * For Hedera + proto=hcs-10, nativeId and uid are derived when possible.\n */\n async createDidWithUaid(options: {\n issue: DidIssueRequest;\n uid?: string;\n proto?: string;\n nativeId?: string;\n }): Promise<{ did: string; uaid: string; parsed: ParsedHcs14Did }> {\n const did = await this.createDid(options.issue);\n let uid = options.uid;\n const proto = options.proto;\n let nativeId = options.nativeId;\n\n const isHedera = options.issue.method === 'hedera';\n if (isHedera) {\n await this.ensureInitializedHedera();\n if (!nativeId) {\n if (!this.network || !this.operatorId) {\n throw new Error(\n 'nativeId not provided and network/operatorId are not configured',\n );\n }\n nativeId = toHederaCaip10(this.network, this.operatorId);\n }\n if (!uid && proto === 'hcs-10' && this.network && this.operatorId) {\n try {\n if (!this.hcs10Client && this.operatorPrivateKey) {\n this.hcs10Client = new HCS10Client({\n network: this.network,\n operatorId: this.operatorId,\n operatorPrivateKey: this.operatorPrivateKey,\n silent: true,\n });\n }\n if (this.hcs10Client) {\n uid = await this.hcs10Client.getOperatorId();\n } else {\n const h11 = new HCS11Client({\n network: this.network,\n auth: { operatorId: this.operatorId },\n silent: true,\n });\n const fetched = await h11.fetchProfileByAccountId(\n this.operatorId,\n this.network,\n );\n const inbound = fetched?.topicInfo?.inboundTopic;\n uid = inbound ? `${inbound}@${this.operatorId}` : this.operatorId;\n }\n } catch {\n uid = this.operatorId;\n }\n }\n }\n\n uid = uid ?? '0';\n const uaid = this.createUaid(did, {\n uid,\n proto,\n nativeId,\n });\n const parsed = parseHcs14Did(uaid);\n return { did, uaid, parsed };\n }\n}\n\nexport type {\n CanonicalizationResult,\n CanonicalAgentData,\n DidRoutingParams,\n ParsedHcs14Did,\n};\n"],"names":["createUaidFn"],"mappings":"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"}
@@ -1,99 +1,37 @@
1
- import { optionalImport } from "./standards-sdk.es157.js";
2
- const hieroRegistrarModuleId = ["@hiero-did-sdk", "registrar"].join("/");
3
- let registrarPromise = null;
4
- function toAccountIdString(value) {
5
- if (typeof value === "string" && value.trim()) {
6
- return value;
1
+ class IssuerRegistry {
2
+ constructor() {
3
+ this.issuers = [];
7
4
  }
8
- if (value && typeof value.toString === "function") {
9
- const result = value.toString();
10
- return typeof result === "string" && result.trim() ? result : null;
5
+ register(issuer) {
6
+ this.issuers.push(issuer);
11
7
  }
12
- return null;
13
- }
14
- function createHieroPublisher(client) {
15
- return {
16
- network: () => {
17
- const ledgerId = client.ledgerId;
18
- if (!ledgerId) {
19
- throw new Error("Hedera SDK Client must be configured with a network");
20
- }
21
- if (ledgerId.isMainnet()) return "mainnet";
22
- if (ledgerId.isTestnet()) return "testnet";
23
- if (ledgerId.isPreviewnet()) return "previewnet";
24
- if (ledgerId.isLocalNode()) return "local-node";
25
- throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);
26
- },
27
- publicKey: () => {
28
- if (!client.operatorPublicKey) {
29
- throw new Error(
30
- "Hedera SDK Client must be configured with an operator account"
31
- );
32
- }
33
- return client.operatorPublicKey;
34
- },
35
- publish: async (transaction) => {
36
- const current = typeof transaction.getAutoRenewAccountId === "function" ? transaction.getAutoRenewAccountId() : null;
37
- const autoRenewAccountId = toAccountIdString(client.operatorAccountId);
38
- if (!current && autoRenewAccountId && typeof transaction.setAutoRenewAccountId === "function") {
39
- transaction.setAutoRenewAccountId(autoRenewAccountId);
40
- }
41
- const response = await transaction.freezeWith(client).execute(client);
42
- return response.getReceipt(client);
43
- }
44
- };
45
- }
46
- async function loadCreateDID() {
47
- if (!registrarPromise) {
48
- registrarPromise = optionalImport(
49
- hieroRegistrarModuleId,
50
- { preferImport: true }
51
- ).then((mod) => mod?.createDID ?? null);
8
+ list() {
9
+ return [...this.issuers];
52
10
  }
53
- return registrarPromise;
54
- }
55
- class HederaHieroIssuer {
56
- constructor() {
57
- this.meta = {
58
- id: "hedera/hiero",
59
- didMethods: ["hedera"],
60
- caip2Networks: [
61
- "hedera:mainnet",
62
- "hedera:testnet",
63
- "hedera:previewnet",
64
- "hedera:devnet"
65
- ],
66
- caip10Namespaces: ["hedera"],
67
- displayName: "Hedera (Hiero Registrar)",
68
- description: "Issues did:hedera identifiers using the Hiero DID registrar.",
69
- homepage: "https://github.com/hiero-ledger/hiero-did-sdk-js"
70
- };
11
+ /** Return issuers that support a given DID method. */
12
+ filterByDidMethod(method) {
13
+ return this.issuers.filter((i) => i.meta.didMethods.includes(method));
14
+ }
15
+ /** Return issuers that advertise a specific CAIP-2 network. */
16
+ filterByCaip2(network) {
17
+ return this.issuers.filter((i) => i.meta.caip2Networks?.includes(network));
71
18
  }
72
- supports(method) {
73
- return method === "hedera";
19
+ /** Generic predicate-based filter. */
20
+ filter(predicate) {
21
+ return this.issuers.filter(predicate);
74
22
  }
75
23
  async issue(request) {
76
- if (request.method !== "hedera") {
77
- throw new Error('HederaHieroIssuer only handles method "hedera"');
78
- }
79
- if (!("client" in request)) {
80
- throw new Error("Hedera client is required to issue did:hedera");
81
- }
82
- const createDID = await loadCreateDID();
83
- if (!createDID) {
84
- throw new Error(
85
- "Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed."
86
- );
24
+ for (const issuer of this.issuers) {
25
+ if (issuer.supports(request.method)) {
26
+ return issuer.issue(request);
27
+ }
87
28
  }
88
- const client = request.client;
89
- const did = await createDID(
90
- {},
91
- { publisher: createHieroPublisher(client) }
92
- );
93
- return did.did;
29
+ throw new Error(`No issuer registered for method: ${request.method}`);
94
30
  }
95
31
  }
32
+ const defaultIssuerRegistry = new IssuerRegistry();
96
33
  export {
97
- HederaHieroIssuer
34
+ IssuerRegistry,
35
+ defaultIssuerRegistry
98
36
  };
99
37
  //# sourceMappingURL=standards-sdk.es68.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es68.js","sources":["../../src/hcs-14/issuers/hiero.ts"],"sourcesContent":["import { DidIssueRequest, DidIssueRequestHedera, DidIssuer } from './types';\nimport type { AdapterMeta } from '../adapters/types';\nimport { optionalImport } from '../../utils/dynamic-import';\nimport type { PublicKey, TransactionReceipt } from '@hashgraph/sdk';\n\ntype CreateDID = typeof import('@hiero-did-sdk/registrar').createDID;\ntype HieroRegistrarModule = typeof import('@hiero-did-sdk/registrar');\n\nconst hieroRegistrarModuleId = ['@hiero-did-sdk', 'registrar'].join('/');\n\nlet registrarPromise: Promise<CreateDID | null> | null = null;\n\ntype PublisherClientLike = {\n ledgerId?: {\n isMainnet: () => boolean;\n isTestnet: () => boolean;\n isPreviewnet: () => boolean;\n isLocalNode: () => boolean;\n toString: () => string;\n };\n operatorPublicKey?: PublicKey;\n operatorAccountId?: { toString: () => string };\n};\n\ntype AutoRenewTransactionLike = {\n getAutoRenewAccountId?: () => unknown;\n setAutoRenewAccountId?: (value: string) => void;\n freezeWith: (client: PublisherClientLike) => {\n execute: (client: PublisherClientLike) => Promise<{\n getReceipt: (client: PublisherClientLike) => Promise<TransactionReceipt>;\n }>;\n };\n};\n\nfunction toAccountIdString(value: unknown): string | null {\n if (typeof value === 'string' && value.trim()) {\n return value;\n }\n\n if (\n value &&\n typeof (value as { toString?: () => string }).toString === 'function'\n ) {\n const result = (value as { toString: () => string }).toString();\n return typeof result === 'string' && result.trim() ? result : null;\n }\n\n return null;\n}\n\nfunction createHieroPublisher(client: PublisherClientLike) {\n return {\n network: () => {\n const ledgerId = client.ledgerId;\n if (!ledgerId) {\n throw new Error('Hedera SDK Client must be configured with a network');\n }\n if (ledgerId.isMainnet()) return 'mainnet';\n if (ledgerId.isTestnet()) return 'testnet';\n if (ledgerId.isPreviewnet()) return 'previewnet';\n if (ledgerId.isLocalNode()) return 'local-node';\n throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);\n },\n publicKey: () => {\n if (!client.operatorPublicKey) {\n throw new Error(\n 'Hedera SDK Client must be configured with an operator account',\n );\n }\n return client.operatorPublicKey;\n },\n publish: async (transaction: AutoRenewTransactionLike) => {\n const current =\n typeof transaction.getAutoRenewAccountId === 'function'\n ? transaction.getAutoRenewAccountId()\n : null;\n const autoRenewAccountId = toAccountIdString(client.operatorAccountId);\n\n if (\n !current &&\n autoRenewAccountId &&\n typeof transaction.setAutoRenewAccountId === 'function'\n ) {\n transaction.setAutoRenewAccountId(autoRenewAccountId);\n }\n\n const response = await transaction.freezeWith(client).execute(client);\n return response.getReceipt(client);\n },\n };\n}\n\nasync function loadCreateDID(): Promise<CreateDID | null> {\n if (!registrarPromise) {\n // Prefer ESM to keep @hashgraph/sdk classes consistent across caller + registrar.\n registrarPromise = optionalImport<HieroRegistrarModule>(\n hieroRegistrarModuleId,\n { preferImport: true },\n ).then(mod => mod?.createDID ?? null);\n }\n return registrarPromise;\n}\n\nexport class HederaHieroIssuer implements DidIssuer {\n readonly meta: AdapterMeta = {\n id: 'hedera/hiero',\n didMethods: ['hedera'],\n caip2Networks: [\n 'hedera:mainnet',\n 'hedera:testnet',\n 'hedera:previewnet',\n 'hedera:devnet',\n ],\n caip10Namespaces: ['hedera'],\n displayName: 'Hedera (Hiero Registrar)',\n description: 'Issues did:hedera identifiers using the Hiero DID registrar.',\n homepage: 'https://github.com/hiero-ledger/hiero-did-sdk-js',\n };\n\n supports(method: string): boolean {\n return method === 'hedera';\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n if (request.method !== 'hedera') {\n throw new Error('HederaHieroIssuer only handles method \"hedera\"');\n }\n if (!('client' in request)) {\n throw new Error('Hedera client is required to issue did:hedera');\n }\n const createDID = await loadCreateDID();\n if (!createDID) {\n throw new Error(\n 'Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed.',\n );\n }\n const client = (request as DidIssueRequestHedera).client;\n const did = await createDID(\n {},\n { publisher: createHieroPublisher(client) },\n );\n return did.did;\n }\n}\n"],"names":[],"mappings":";AAQA,MAAM,yBAAyB,CAAC,kBAAkB,WAAW,EAAE,KAAK,GAAG;AAEvE,IAAI,mBAAqD;AAwBzD,SAAS,kBAAkB,OAA+B;AACxD,MAAI,OAAO,UAAU,YAAY,MAAM,QAAQ;AAC7C,WAAO;AAAA,EACT;AAEA,MACE,SACA,OAAQ,MAAsC,aAAa,YAC3D;AACA,UAAM,SAAU,MAAqC,SAAA;AACrD,WAAO,OAAO,WAAW,YAAY,OAAO,KAAA,IAAS,SAAS;AAAA,EAChE;AAEA,SAAO;AACT;AAEA,SAAS,qBAAqB,QAA6B;AACzD,SAAO;AAAA,IACL,SAAS,MAAM;AACb,YAAM,WAAW,OAAO;AACxB,UAAI,CAAC,UAAU;AACb,cAAM,IAAI,MAAM,qDAAqD;AAAA,MACvE;AACA,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,aAAA,EAAgB,QAAO;AACpC,UAAI,SAAS,YAAA,EAAe,QAAO;AACnC,YAAM,IAAI,MAAM,+BAA+B,SAAS,SAAA,CAAU,EAAE;AAAA,IACtE;AAAA,IACA,WAAW,MAAM;AACf,UAAI,CAAC,OAAO,mBAAmB;AAC7B,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAAA,MAEJ;AACA,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,SAAS,OAAO,gBAA0C;AACxD,YAAM,UACJ,OAAO,YAAY,0BAA0B,aACzC,YAAY,0BACZ;AACN,YAAM,qBAAqB,kBAAkB,OAAO,iBAAiB;AAErE,UACE,CAAC,WACD,sBACA,OAAO,YAAY,0BAA0B,YAC7C;AACA,oBAAY,sBAAsB,kBAAkB;AAAA,MACtD;AAEA,YAAM,WAAW,MAAM,YAAY,WAAW,MAAM,EAAE,QAAQ,MAAM;AACpE,aAAO,SAAS,WAAW,MAAM;AAAA,IACnC;AAAA,EAAA;AAEJ;AAEA,eAAe,gBAA2C;AACxD,MAAI,CAAC,kBAAkB;AAErB,uBAAmB;AAAA,MACjB;AAAA,MACA,EAAE,cAAc,KAAA;AAAA,IAAK,EACrB,KAAK,CAAA,QAAO,KAAK,aAAa,IAAI;AAAA,EACtC;AACA,SAAO;AACT;AAEO,MAAM,kBAAuC;AAAA,EAA7C,cAAA;AACL,SAAS,OAAoB;AAAA,MAC3B,IAAI;AAAA,MACJ,YAAY,CAAC,QAAQ;AAAA,MACrB,eAAe;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAEF,kBAAkB,CAAC,QAAQ;AAAA,MAC3B,aAAa;AAAA,MACb,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEA,SAAS,QAAyB;AAChC,WAAO,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,QAAI,QAAQ,WAAW,UAAU;AAC/B,YAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AACA,QAAI,EAAE,YAAY,UAAU;AAC1B,YAAM,IAAI,MAAM,+CAA+C;AAAA,IACjE;AACA,UAAM,YAAY,MAAM,cAAA;AACxB,QAAI,CAAC,WAAW;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AACA,UAAM,SAAU,QAAkC;AAClD,UAAM,MAAM,MAAM;AAAA,MAChB,CAAA;AAAA,MACA,EAAE,WAAW,qBAAqB,MAAM,EAAA;AAAA,IAAE;AAE5C,WAAO,IAAI;AAAA,EACb;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es68.js","sources":["../../src/hcs-14/issuers/registry.ts"],"sourcesContent":["/**\n * Issuer registry for HCS-14 DID adapters.\n */\n\nimport { DidIssueRequest, DidIssuer, IssuerRegistryApi } from './types';\n\nexport class IssuerRegistry implements IssuerRegistryApi {\n private issuers: DidIssuer[] = [];\n\n register(issuer: DidIssuer): void {\n this.issuers.push(issuer);\n }\n\n list(): DidIssuer[] {\n return [...this.issuers];\n }\n\n /** Return issuers that support a given DID method. */\n filterByDidMethod(method: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.didMethods.includes(method));\n }\n\n /** Return issuers that advertise a specific CAIP-2 network. */\n filterByCaip2(network: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.caip2Networks?.includes(network));\n }\n\n /** Generic predicate-based filter. */\n filter(predicate: (issuer: DidIssuer) => boolean): DidIssuer[] {\n return this.issuers.filter(predicate);\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n for (const issuer of this.issuers) {\n if (issuer.supports(request.method)) {\n return issuer.issue(request);\n }\n }\n throw new Error(`No issuer registered for method: ${request.method}`);\n }\n}\n\nexport const defaultIssuerRegistry = new IssuerRegistry();\n"],"names":[],"mappings":"AAMO,MAAM,eAA4C;AAAA,EAAlD,cAAA;AACL,SAAQ,UAAuB,CAAA;AAAA,EAAC;AAAA,EAEhC,SAAS,QAAyB;AAChC,SAAK,QAAQ,KAAK,MAAM;AAAA,EAC1B;AAAA,EAEA,OAAoB;AAClB,WAAO,CAAC,GAAG,KAAK,OAAO;AAAA,EACzB;AAAA;AAAA,EAGA,kBAAkB,QAA6B;AAC7C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,WAAW,SAAS,MAAM,CAAC;AAAA,EACpE;AAAA;AAAA,EAGA,cAAc,SAA8B;AAC1C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,eAAe,SAAS,OAAO,CAAC;AAAA,EACzE;AAAA;AAAA,EAGA,OAAO,WAAwD;AAC7D,WAAO,KAAK,QAAQ,OAAO,SAAS;AAAA,EACtC;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,eAAW,UAAU,KAAK,SAAS;AACjC,UAAI,OAAO,SAAS,QAAQ,MAAM,GAAG;AACnC,eAAO,OAAO,MAAM,OAAO;AAAA,MAC7B;AAAA,IACF;AACA,UAAM,IAAI,MAAM,oCAAoC,QAAQ,MAAM,EAAE;AAAA,EACtE;AACF;AAEO,MAAM,wBAAwB,IAAI,eAAA;"}
@@ -1,7 +1,99 @@
1
- function buildHcs1Hrl(topicId) {
2
- return `hcs://1/${topicId}`;
1
+ import { optionalImport } from "./standards-sdk.es158.js";
2
+ const hieroRegistrarModuleId = ["@hiero-did-sdk", "registrar"].join("/");
3
+ let registrarPromise = null;
4
+ function toAccountIdString(value) {
5
+ if (typeof value === "string" && value.trim()) {
6
+ return value;
7
+ }
8
+ if (value && typeof value.toString === "function") {
9
+ const result = value.toString();
10
+ return typeof result === "string" && result.trim() ? result : null;
11
+ }
12
+ return null;
13
+ }
14
+ function createHieroPublisher(client) {
15
+ return {
16
+ network: () => {
17
+ const ledgerId = client.ledgerId;
18
+ if (!ledgerId) {
19
+ throw new Error("Hedera SDK Client must be configured with a network");
20
+ }
21
+ if (ledgerId.isMainnet()) return "mainnet";
22
+ if (ledgerId.isTestnet()) return "testnet";
23
+ if (ledgerId.isPreviewnet()) return "previewnet";
24
+ if (ledgerId.isLocalNode()) return "local-node";
25
+ throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);
26
+ },
27
+ publicKey: () => {
28
+ if (!client.operatorPublicKey) {
29
+ throw new Error(
30
+ "Hedera SDK Client must be configured with an operator account"
31
+ );
32
+ }
33
+ return client.operatorPublicKey;
34
+ },
35
+ publish: async (transaction) => {
36
+ const current = typeof transaction.getAutoRenewAccountId === "function" ? transaction.getAutoRenewAccountId() : null;
37
+ const autoRenewAccountId = toAccountIdString(client.operatorAccountId);
38
+ if (!current && autoRenewAccountId && typeof transaction.setAutoRenewAccountId === "function") {
39
+ transaction.setAutoRenewAccountId(autoRenewAccountId);
40
+ }
41
+ const response = await transaction.freezeWith(client).execute(client);
42
+ return response.getReceipt(client);
43
+ }
44
+ };
45
+ }
46
+ async function loadCreateDID() {
47
+ if (!registrarPromise) {
48
+ registrarPromise = optionalImport(
49
+ hieroRegistrarModuleId,
50
+ { preferImport: true }
51
+ ).then((mod) => mod?.createDID ?? null);
52
+ }
53
+ return registrarPromise;
54
+ }
55
+ class HederaHieroIssuer {
56
+ constructor() {
57
+ this.meta = {
58
+ id: "hedera/hiero",
59
+ didMethods: ["hedera"],
60
+ caip2Networks: [
61
+ "hedera:mainnet",
62
+ "hedera:testnet",
63
+ "hedera:previewnet",
64
+ "hedera:devnet"
65
+ ],
66
+ caip10Namespaces: ["hedera"],
67
+ displayName: "Hedera (Hiero Registrar)",
68
+ description: "Issues did:hedera identifiers using the Hiero DID registrar.",
69
+ homepage: "https://github.com/hiero-ledger/hiero-did-sdk-js"
70
+ };
71
+ }
72
+ supports(method) {
73
+ return method === "hedera";
74
+ }
75
+ async issue(request) {
76
+ if (request.method !== "hedera") {
77
+ throw new Error('HederaHieroIssuer only handles method "hedera"');
78
+ }
79
+ if (!("client" in request)) {
80
+ throw new Error("Hedera client is required to issue did:hedera");
81
+ }
82
+ const createDID = await loadCreateDID();
83
+ if (!createDID) {
84
+ throw new Error(
85
+ "Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed."
86
+ );
87
+ }
88
+ const client = request.client;
89
+ const did = await createDID(
90
+ {},
91
+ { publisher: createHieroPublisher(client) }
92
+ );
93
+ return did.did;
94
+ }
3
95
  }
4
96
  export {
5
- buildHcs1Hrl
97
+ HederaHieroIssuer
6
98
  };
7
99
  //# sourceMappingURL=standards-sdk.es69.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es69.js","sources":["../../src/hcs-5/types.ts"],"sourcesContent":["import { Logger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { PrivateKey } from '@hashgraph/sdk';\nimport type { InscriptionOptions } from '../inscribe/types';\nimport type { InscriptionInput } from '../inscribe/inscriber';\n\n/**\n * Configuration for HCS-5 client\n */\nexport interface HCS5ClientConfig {\n network: NetworkType;\n logLevel?: LogLevel;\n silent?: boolean;\n logger?: Logger;\n operatorId: string;\n operatorKey: string | PrivateKey;\n}\n\n/**\n * Options for minting a Hashinal onto an existing HTS NFT token\n */\nexport interface HCS5MintOptions {\n tokenId: string;\n metadataTopicId?: string;\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Options for inscribing content (HCS-1) then minting as a HCS-5 Hashinal\n */\nexport interface HCS5CreateHashinalOptions {\n tokenId: string;\n inscriptionInput: InscriptionInput;\n inscriptionOptions: InscriptionOptions & { waitForConfirmation?: boolean };\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Mint response\n */\nexport interface HCS5MintResponse {\n success: boolean;\n serialNumber?: number;\n transactionId?: string;\n metadata?: string;\n error?: string;\n}\n\n/**\n * Utility to build an HRL for HCS-1\n */\nexport function buildHcs1Hrl(topicId: string): string {\n return `hcs://1/${topicId}`;\n}\n"],"names":[],"mappings":"AAqDO,SAAS,aAAa,SAAyB;AACpD,SAAO,WAAW,OAAO;AAC3B;"}
1
+ {"version":3,"file":"standards-sdk.es69.js","sources":["../../src/hcs-14/issuers/hiero.ts"],"sourcesContent":["import { DidIssueRequest, DidIssueRequestHedera, DidIssuer } from './types';\nimport type { AdapterMeta } from '../adapters/types';\nimport { optionalImport } from '../../utils/dynamic-import';\nimport type { PublicKey, TransactionReceipt } from '@hashgraph/sdk';\n\ntype CreateDID = typeof import('@hiero-did-sdk/registrar').createDID;\ntype HieroRegistrarModule = typeof import('@hiero-did-sdk/registrar');\n\nconst hieroRegistrarModuleId = ['@hiero-did-sdk', 'registrar'].join('/');\n\nlet registrarPromise: Promise<CreateDID | null> | null = null;\n\ntype PublisherClientLike = {\n ledgerId?: {\n isMainnet: () => boolean;\n isTestnet: () => boolean;\n isPreviewnet: () => boolean;\n isLocalNode: () => boolean;\n toString: () => string;\n };\n operatorPublicKey?: PublicKey;\n operatorAccountId?: { toString: () => string };\n};\n\ntype AutoRenewTransactionLike = {\n getAutoRenewAccountId?: () => unknown;\n setAutoRenewAccountId?: (value: string) => void;\n freezeWith: (client: PublisherClientLike) => {\n execute: (client: PublisherClientLike) => Promise<{\n getReceipt: (client: PublisherClientLike) => Promise<TransactionReceipt>;\n }>;\n };\n};\n\nfunction toAccountIdString(value: unknown): string | null {\n if (typeof value === 'string' && value.trim()) {\n return value;\n }\n\n if (\n value &&\n typeof (value as { toString?: () => string }).toString === 'function'\n ) {\n const result = (value as { toString: () => string }).toString();\n return typeof result === 'string' && result.trim() ? result : null;\n }\n\n return null;\n}\n\nfunction createHieroPublisher(client: PublisherClientLike) {\n return {\n network: () => {\n const ledgerId = client.ledgerId;\n if (!ledgerId) {\n throw new Error('Hedera SDK Client must be configured with a network');\n }\n if (ledgerId.isMainnet()) return 'mainnet';\n if (ledgerId.isTestnet()) return 'testnet';\n if (ledgerId.isPreviewnet()) return 'previewnet';\n if (ledgerId.isLocalNode()) return 'local-node';\n throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);\n },\n publicKey: () => {\n if (!client.operatorPublicKey) {\n throw new Error(\n 'Hedera SDK Client must be configured with an operator account',\n );\n }\n return client.operatorPublicKey;\n },\n publish: async (transaction: AutoRenewTransactionLike) => {\n const current =\n typeof transaction.getAutoRenewAccountId === 'function'\n ? transaction.getAutoRenewAccountId()\n : null;\n const autoRenewAccountId = toAccountIdString(client.operatorAccountId);\n\n if (\n !current &&\n autoRenewAccountId &&\n typeof transaction.setAutoRenewAccountId === 'function'\n ) {\n transaction.setAutoRenewAccountId(autoRenewAccountId);\n }\n\n const response = await transaction.freezeWith(client).execute(client);\n return response.getReceipt(client);\n },\n };\n}\n\nasync function loadCreateDID(): Promise<CreateDID | null> {\n if (!registrarPromise) {\n // Prefer ESM to keep @hashgraph/sdk classes consistent across caller + registrar.\n registrarPromise = optionalImport<HieroRegistrarModule>(\n hieroRegistrarModuleId,\n { preferImport: true },\n ).then(mod => mod?.createDID ?? null);\n }\n return registrarPromise;\n}\n\nexport class HederaHieroIssuer implements DidIssuer {\n readonly meta: AdapterMeta = {\n id: 'hedera/hiero',\n didMethods: ['hedera'],\n caip2Networks: [\n 'hedera:mainnet',\n 'hedera:testnet',\n 'hedera:previewnet',\n 'hedera:devnet',\n ],\n caip10Namespaces: ['hedera'],\n displayName: 'Hedera (Hiero Registrar)',\n description: 'Issues did:hedera identifiers using the Hiero DID registrar.',\n homepage: 'https://github.com/hiero-ledger/hiero-did-sdk-js',\n };\n\n supports(method: string): boolean {\n return method === 'hedera';\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n if (request.method !== 'hedera') {\n throw new Error('HederaHieroIssuer only handles method \"hedera\"');\n }\n if (!('client' in request)) {\n throw new Error('Hedera client is required to issue did:hedera');\n }\n const createDID = await loadCreateDID();\n if (!createDID) {\n throw new Error(\n 'Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed.',\n );\n }\n const client = (request as DidIssueRequestHedera).client;\n const did = await createDID(\n {},\n { publisher: createHieroPublisher(client) },\n );\n return did.did;\n }\n}\n"],"names":[],"mappings":";AAQA,MAAM,yBAAyB,CAAC,kBAAkB,WAAW,EAAE,KAAK,GAAG;AAEvE,IAAI,mBAAqD;AAwBzD,SAAS,kBAAkB,OAA+B;AACxD,MAAI,OAAO,UAAU,YAAY,MAAM,QAAQ;AAC7C,WAAO;AAAA,EACT;AAEA,MACE,SACA,OAAQ,MAAsC,aAAa,YAC3D;AACA,UAAM,SAAU,MAAqC,SAAA;AACrD,WAAO,OAAO,WAAW,YAAY,OAAO,KAAA,IAAS,SAAS;AAAA,EAChE;AAEA,SAAO;AACT;AAEA,SAAS,qBAAqB,QAA6B;AACzD,SAAO;AAAA,IACL,SAAS,MAAM;AACb,YAAM,WAAW,OAAO;AACxB,UAAI,CAAC,UAAU;AACb,cAAM,IAAI,MAAM,qDAAqD;AAAA,MACvE;AACA,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,aAAA,EAAgB,QAAO;AACpC,UAAI,SAAS,YAAA,EAAe,QAAO;AACnC,YAAM,IAAI,MAAM,+BAA+B,SAAS,SAAA,CAAU,EAAE;AAAA,IACtE;AAAA,IACA,WAAW,MAAM;AACf,UAAI,CAAC,OAAO,mBAAmB;AAC7B,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAAA,MAEJ;AACA,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,SAAS,OAAO,gBAA0C;AACxD,YAAM,UACJ,OAAO,YAAY,0BAA0B,aACzC,YAAY,0BACZ;AACN,YAAM,qBAAqB,kBAAkB,OAAO,iBAAiB;AAErE,UACE,CAAC,WACD,sBACA,OAAO,YAAY,0BAA0B,YAC7C;AACA,oBAAY,sBAAsB,kBAAkB;AAAA,MACtD;AAEA,YAAM,WAAW,MAAM,YAAY,WAAW,MAAM,EAAE,QAAQ,MAAM;AACpE,aAAO,SAAS,WAAW,MAAM;AAAA,IACnC;AAAA,EAAA;AAEJ;AAEA,eAAe,gBAA2C;AACxD,MAAI,CAAC,kBAAkB;AAErB,uBAAmB;AAAA,MACjB;AAAA,MACA,EAAE,cAAc,KAAA;AAAA,IAAK,EACrB,KAAK,CAAA,QAAO,KAAK,aAAa,IAAI;AAAA,EACtC;AACA,SAAO;AACT;AAEO,MAAM,kBAAuC;AAAA,EAA7C,cAAA;AACL,SAAS,OAAoB;AAAA,MAC3B,IAAI;AAAA,MACJ,YAAY,CAAC,QAAQ;AAAA,MACrB,eAAe;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAEF,kBAAkB,CAAC,QAAQ;AAAA,MAC3B,aAAa;AAAA,MACb,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEA,SAAS,QAAyB;AAChC,WAAO,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,QAAI,QAAQ,WAAW,UAAU;AAC/B,YAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AACA,QAAI,EAAE,YAAY,UAAU;AAC1B,YAAM,IAAI,MAAM,+CAA+C;AAAA,IACjE;AACA,UAAM,YAAY,MAAM,cAAA;AACxB,QAAI,CAAC,WAAW;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AACA,UAAM,SAAU,QAAkC;AAClD,UAAM,MAAM,MAAM;AAAA,MAChB,CAAA;AAAA,MACA,EAAE,WAAW,qBAAqB,MAAM,EAAA;AAAA,IAAE;AAE5C,WAAO,IAAI;AAAA,EACb;AACF;"}
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es153.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es154.js";
2
2
  import { HCS6Operation } from "./standards-sdk.es3.js";
3
3
  function encodeHcs6NonIndexedMemo(ttl) {
4
4
  return `hcs-6:1:${ttl}`;
@@ -1,104 +1,7 @@
1
- import { HCS5BaseClient } from "./standards-sdk.es155.js";
2
- import { buildHcs1Hrl } from "./standards-sdk.es69.js";
3
- import { PrivateKey } from "@hashgraph/sdk";
4
- import { inscribeWithSigner } from "./standards-sdk.es136.js";
5
- import { buildHcs5MintTx } from "./standards-sdk.es72.js";
6
- class HCS5BrowserClient extends HCS5BaseClient {
7
- constructor(config) {
8
- super({
9
- network: config.network,
10
- logLevel: config.logLevel,
11
- silent: config.silent,
12
- logger: void 0,
13
- operatorId: "0.0.0",
14
- operatorKey: ""
15
- });
16
- this.hwc = config.hwc;
17
- this.signer = config.signer;
18
- }
19
- getSigner() {
20
- if (this.signer) {
21
- return this.signer;
22
- }
23
- const accountId = this.hwc.getAccountInfo()?.accountId;
24
- const signer = this.hwc.dAppConnector?.signers?.find((s) => {
25
- return s.getAccountId().toString() === accountId;
26
- });
27
- if (!signer) {
28
- throw new Error("No active wallet signer");
29
- }
30
- return signer;
31
- }
32
- async mint(options) {
33
- try {
34
- if (!options.metadataTopicId) {
35
- return {
36
- success: false,
37
- error: "metadataTopicId is required for mint()"
38
- };
39
- }
40
- const metadata = buildHcs1Hrl(options.metadataTopicId);
41
- const tx = buildHcs5MintTx({ tokenId: options.tokenId, metadata });
42
- let result;
43
- if (options.supplyKey && options.supplyKey instanceof PrivateKey) {
44
- const signer = this.getSigner();
45
- await tx.freezeWithSigner(signer);
46
- const signed = await tx.sign(options.supplyKey);
47
- result = await this.hwc.executeTransactionWithErrorHandling(
48
- signed,
49
- true
50
- );
51
- } else {
52
- result = await this.hwc.executeTransactionWithErrorHandling(
53
- tx,
54
- false
55
- );
56
- }
57
- if (result.error) {
58
- return { success: false, error: result.error };
59
- }
60
- const receipt = result.result;
61
- const serial = receipt.serials?.[0] ? Number(receipt.serials[0].toString()) : void 0;
62
- return {
63
- success: true,
64
- serialNumber: serial,
65
- transactionId: receipt?.transactionId?.toString?.(),
66
- metadata
67
- };
68
- } catch (e) {
69
- return { success: false, error: String(e) };
70
- }
71
- }
72
- async createHashinal(options) {
73
- try {
74
- const signer = this.getSigner();
75
- const inscriptionOptions = {
76
- ...options.inscriptionOptions,
77
- mode: "hashinal",
78
- waitForConfirmation: true,
79
- network: this.network
80
- };
81
- const res = await inscribeWithSigner(
82
- options.inscriptionInput,
83
- signer,
84
- inscriptionOptions
85
- );
86
- const topicId = res.inscription?.jsonTopicId || res.inscription?.topic_id;
87
- if (!res.confirmed || !topicId) {
88
- return { success: false, error: "Failed to inscribe content" };
89
- }
90
- return await this.mint({
91
- tokenId: options.tokenId,
92
- metadataTopicId: topicId,
93
- supplyKey: options.supplyKey,
94
- memo: options.memo
95
- });
96
- } catch (e) {
97
- return { success: false, error: String(e) };
98
- }
99
- }
1
+ function buildHcs1Hrl(topicId) {
2
+ return `hcs://1/${topicId}`;
100
3
  }
101
4
  export {
102
- HCS5BrowserClient
5
+ buildHcs1Hrl
103
6
  };
104
7
  //# sourceMappingURL=standards-sdk.es70.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es70.js","sources":["../../src/hcs-5/browser.ts"],"sourcesContent":["import { HCS5BaseClient } from './base-client';\nimport {\n HCS5CreateHashinalOptions,\n HCS5MintOptions,\n HCS5MintResponse,\n buildHcs1Hrl,\n} from './types';\nimport type { DAppSigner } from '@hashgraph/hedera-wallet-connect';\nimport { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';\nimport { PrivateKey, TransactionReceipt } from '@hashgraph/sdk';\nimport {\n inscribeWithSigner,\n type InscriptionInput,\n type InscriptionOptions,\n} from '../inscribe/inscriber';\nimport { buildHcs5MintTx } from './tx';\n\nexport interface BrowserHCS5ClientConfig {\n network: 'testnet' | 'mainnet';\n hwc: HashinalsWalletConnectSDK;\n signer?: DAppSigner;\n logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';\n silent?: boolean;\n}\n\nexport class HCS5BrowserClient extends HCS5BaseClient {\n private hwc: HashinalsWalletConnectSDK;\n private signer?: DAppSigner;\n\n constructor(config: BrowserHCS5ClientConfig) {\n super({\n network: config.network,\n logLevel: config.logLevel,\n silent: config.silent,\n logger: undefined as never,\n operatorId: '0.0.0',\n operatorKey: '' as unknown as PrivateKey,\n });\n\n this.hwc = config.hwc;\n this.signer = config.signer;\n }\n\n private getSigner(): DAppSigner {\n if (this.signer) {\n return this.signer;\n }\n const accountId = this.hwc.getAccountInfo()?.accountId;\n const signer = this.hwc.dAppConnector?.signers?.find(s => {\n return s.getAccountId().toString() === accountId;\n });\n if (!signer) {\n throw new Error('No active wallet signer');\n }\n return signer;\n }\n\n async mint(options: HCS5MintOptions): Promise<HCS5MintResponse> {\n try {\n if (!options.metadataTopicId) {\n return {\n success: false,\n error: 'metadataTopicId is required for mint()',\n };\n }\n\n const metadata = buildHcs1Hrl(options.metadataTopicId);\n const tx = buildHcs5MintTx({ tokenId: options.tokenId, metadata });\n\n let result: { result?: TransactionReceipt; error?: string };\n\n if (options.supplyKey && options.supplyKey instanceof PrivateKey) {\n const signer = this.getSigner();\n await tx.freezeWithSigner(signer);\n const signed = await tx.sign(options.supplyKey);\n result = await this.hwc.executeTransactionWithErrorHandling(\n signed,\n true,\n );\n } else {\n result = await this.hwc.executeTransactionWithErrorHandling(\n tx as any,\n false,\n );\n }\n\n if (result.error) {\n return { success: false, error: result.error };\n }\n\n const receipt = result.result as TransactionReceipt;\n const serial = (receipt as any).serials?.[0]\n ? Number((receipt as any).serials[0].toString())\n : undefined;\n\n return {\n success: true,\n serialNumber: serial,\n transactionId: (receipt as any)?.transactionId?.toString?.(),\n metadata,\n };\n } catch (e) {\n return { success: false, error: String(e) };\n }\n }\n\n async createHashinal(\n options: HCS5CreateHashinalOptions,\n ): Promise<HCS5MintResponse> {\n try {\n const signer = this.getSigner();\n\n const inscriptionOptions: InscriptionOptions = {\n ...(options.inscriptionOptions as InscriptionOptions),\n mode: 'hashinal',\n waitForConfirmation: true,\n network: this.network,\n };\n\n const res = await inscribeWithSigner(\n options.inscriptionInput as InscriptionInput,\n signer,\n inscriptionOptions,\n );\n\n const topicId = res.inscription?.jsonTopicId || res.inscription?.topic_id;\n if (!res.confirmed || !topicId) {\n return { success: false, error: 'Failed to inscribe content' };\n }\n\n return await this.mint({\n tokenId: options.tokenId,\n metadataTopicId: topicId,\n supplyKey: options.supplyKey,\n memo: options.memo,\n });\n } catch (e) {\n return { success: false, error: String(e) };\n }\n }\n}\n"],"names":[],"mappings":";;;;;AAyBO,MAAM,0BAA0B,eAAe;AAAA,EAIpD,YAAY,QAAiC;AAC3C,UAAM;AAAA,MACJ,SAAS,OAAO;AAAA,MAChB,UAAU,OAAO;AAAA,MACjB,QAAQ,OAAO;AAAA,MACf,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA,CACd;AAED,SAAK,MAAM,OAAO;AAClB,SAAK,SAAS,OAAO;AAAA,EACvB;AAAA,EAEQ,YAAwB;AAC9B,QAAI,KAAK,QAAQ;AACf,aAAO,KAAK;AAAA,IACd;AACA,UAAM,YAAY,KAAK,IAAI,eAAA,GAAkB;AAC7C,UAAM,SAAS,KAAK,IAAI,eAAe,SAAS,KAAK,CAAA,MAAK;AACxD,aAAO,EAAE,eAAe,SAAA,MAAe;AAAA,IACzC,CAAC;AACD,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,KAAK,SAAqD;AAC9D,QAAI;AACF,UAAI,CAAC,QAAQ,iBAAiB;AAC5B,eAAO;AAAA,UACL,SAAS;AAAA,UACT,OAAO;AAAA,QAAA;AAAA,MAEX;AAEA,YAAM,WAAW,aAAa,QAAQ,eAAe;AACrD,YAAM,KAAK,gBAAgB,EAAE,SAAS,QAAQ,SAAS,UAAU;AAEjE,UAAI;AAEJ,UAAI,QAAQ,aAAa,QAAQ,qBAAqB,YAAY;AAChE,cAAM,SAAS,KAAK,UAAA;AACpB,cAAM,GAAG,iBAAiB,MAAM;AAChC,cAAM,SAAS,MAAM,GAAG,KAAK,QAAQ,SAAS;AAC9C,iBAAS,MAAM,KAAK,IAAI;AAAA,UACtB;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ,OAAO;AACL,iBAAS,MAAM,KAAK,IAAI;AAAA,UACtB;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAEA,UAAI,OAAO,OAAO;AAChB,eAAO,EAAE,SAAS,OAAO,OAAO,OAAO,MAAA;AAAA,MACzC;AAEA,YAAM,UAAU,OAAO;AACvB,YAAM,SAAU,QAAgB,UAAU,CAAC,IACvC,OAAQ,QAAgB,QAAQ,CAAC,EAAE,SAAA,CAAU,IAC7C;AAEJ,aAAO;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,QACd,eAAgB,SAAiB,eAAe,WAAA;AAAA,QAChD;AAAA,MAAA;AAAA,IAEJ,SAAS,GAAG;AACV,aAAO,EAAE,SAAS,OAAO,OAAO,OAAO,CAAC,EAAA;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,SAC2B;AAC3B,QAAI;AACF,YAAM,SAAS,KAAK,UAAA;AAEpB,YAAM,qBAAyC;AAAA,QAC7C,GAAI,QAAQ;AAAA,QACZ,MAAM;AAAA,QACN,qBAAqB;AAAA,QACrB,SAAS,KAAK;AAAA,MAAA;AAGhB,YAAM,MAAM,MAAM;AAAA,QAChB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,MAAA;AAGF,YAAM,UAAU,IAAI,aAAa,eAAe,IAAI,aAAa;AACjE,UAAI,CAAC,IAAI,aAAa,CAAC,SAAS;AAC9B,eAAO,EAAE,SAAS,OAAO,OAAO,6BAAA;AAAA,MAClC;AAEA,aAAO,MAAM,KAAK,KAAK;AAAA,QACrB,SAAS,QAAQ;AAAA,QACjB,iBAAiB;AAAA,QACjB,WAAW,QAAQ;AAAA,QACnB,MAAM,QAAQ;AAAA,MAAA,CACf;AAAA,IACH,SAAS,GAAG;AACV,aAAO,EAAE,SAAS,OAAO,OAAO,OAAO,CAAC,EAAA;AAAA,IAC1C;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es70.js","sources":["../../src/hcs-5/types.ts"],"sourcesContent":["import { Logger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { PrivateKey } from '@hashgraph/sdk';\nimport type { InscriptionOptions } from '../inscribe/types';\nimport type { InscriptionInput } from '../inscribe/inscriber';\n\n/**\n * Configuration for HCS-5 client\n */\nexport interface HCS5ClientConfig {\n network: NetworkType;\n logLevel?: LogLevel;\n silent?: boolean;\n logger?: Logger;\n operatorId: string;\n operatorKey: string | PrivateKey;\n}\n\n/**\n * Options for minting a Hashinal onto an existing HTS NFT token\n */\nexport interface HCS5MintOptions {\n tokenId: string;\n metadataTopicId?: string;\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Options for inscribing content (HCS-1) then minting as a HCS-5 Hashinal\n */\nexport interface HCS5CreateHashinalOptions {\n tokenId: string;\n inscriptionInput: InscriptionInput;\n inscriptionOptions: InscriptionOptions & { waitForConfirmation?: boolean };\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Mint response\n */\nexport interface HCS5MintResponse {\n success: boolean;\n serialNumber?: number;\n transactionId?: string;\n metadata?: string;\n error?: string;\n}\n\n/**\n * Utility to build an HRL for HCS-1\n */\nexport function buildHcs1Hrl(topicId: string): string {\n return `hcs://1/${topicId}`;\n}\n"],"names":[],"mappings":"AAqDO,SAAS,aAAa,SAAyB;AACpD,SAAO,WAAW,OAAO;AAC3B;"}
@@ -1,28 +1,36 @@
1
- import { HCS5BaseClient } from "./standards-sdk.es155.js";
2
- import { buildHcs1Hrl } from "./standards-sdk.es69.js";
3
- import { AccountId } from "@hashgraph/sdk";
4
- import { inscribe } from "./standards-sdk.es136.js";
5
- import { buildHcs5MintTx } from "./standards-sdk.es72.js";
6
- import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es152.js";
7
- class HCS5Client extends HCS5BaseClient {
1
+ import { HCS5BaseClient } from "./standards-sdk.es156.js";
2
+ import { buildHcs1Hrl } from "./standards-sdk.es70.js";
3
+ import { PrivateKey } from "@hashgraph/sdk";
4
+ import { inscribeWithSigner } from "./standards-sdk.es137.js";
5
+ import { buildHcs5MintTx } from "./standards-sdk.es73.js";
6
+ class HCS5BrowserClient extends HCS5BaseClient {
8
7
  constructor(config) {
9
- super(config);
10
- this.operatorId = AccountId.fromString(config.operatorId);
11
- this.operatorCtx = createNodeOperatorContext({
12
- network: this.network,
13
- operatorId: this.operatorId,
14
- operatorKey: config.operatorKey,
15
- mirrorNode: this.mirrorNode,
16
- logger: this.logger
8
+ super({
9
+ network: config.network,
10
+ logLevel: config.logLevel,
11
+ silent: config.silent,
12
+ logger: void 0,
13
+ operatorId: "0.0.0",
14
+ operatorKey: ""
17
15
  });
18
- this.client = this.operatorCtx.client;
16
+ this.hwc = config.hwc;
17
+ this.signer = config.signer;
19
18
  }
20
- async ensureInitialized() {
21
- await this.operatorCtx.ensureInitialized();
19
+ getSigner() {
20
+ if (this.signer) {
21
+ return this.signer;
22
+ }
23
+ const accountId = this.hwc.getAccountInfo()?.accountId;
24
+ const signer = this.hwc.dAppConnector?.signers?.find((s) => {
25
+ return s.getAccountId().toString() === accountId;
26
+ });
27
+ if (!signer) {
28
+ throw new Error("No active wallet signer");
29
+ }
30
+ return signer;
22
31
  }
23
32
  async mint(options) {
24
33
  try {
25
- await this.ensureInitialized();
26
34
  if (!options.metadataTopicId) {
27
35
  return {
28
36
  success: false,
@@ -31,57 +39,54 @@ class HCS5Client extends HCS5BaseClient {
31
39
  }
32
40
  const metadata = buildHcs1Hrl(options.metadataTopicId);
33
41
  const tx = buildHcs5MintTx({ tokenId: options.tokenId, metadata });
34
- const frozen = await tx.freezeWith(this.client);
35
- if (options.supplyKey) {
36
- const resolver = new NodeOperatorResolver({
37
- mirrorNode: this.mirrorNode,
38
- logger: this.logger
39
- });
40
- const privKey = typeof options.supplyKey === "string" ? await resolver.resolveSupplyKey(
41
- options.tokenId,
42
- options.supplyKey,
43
- this.operatorCtx.keyType
44
- ) : options.supplyKey;
45
- await frozen.sign(privKey);
42
+ let result;
43
+ if (options.supplyKey && options.supplyKey instanceof PrivateKey) {
44
+ const signer = this.getSigner();
45
+ await tx.freezeWithSigner(signer);
46
+ const signed = await tx.sign(options.supplyKey);
47
+ result = await this.hwc.executeTransactionWithErrorHandling(
48
+ signed,
49
+ true
50
+ );
51
+ } else {
52
+ result = await this.hwc.executeTransactionWithErrorHandling(
53
+ tx,
54
+ false
55
+ );
56
+ }
57
+ if (result.error) {
58
+ return { success: false, error: result.error };
46
59
  }
47
- const resp = await frozen.execute(this.client);
48
- const receipt = await resp.getReceipt(this.client);
49
- const serial = receipt.serials && receipt.serials[0] ? Number(receipt.serials[0].toString()) : void 0;
60
+ const receipt = result.result;
61
+ const serial = receipt.serials?.[0] ? Number(receipt.serials[0].toString()) : void 0;
50
62
  return {
51
63
  success: true,
52
64
  serialNumber: serial,
53
- transactionId: resp.transactionId?.toString?.(),
65
+ transactionId: receipt?.transactionId?.toString?.(),
54
66
  metadata
55
67
  };
56
68
  } catch (e) {
57
- const error = e;
58
- this.logger.error(`Failed to mint HCS-5 Hashinal: ${error.message}`);
59
- return { success: false, error: error.message };
69
+ return { success: false, error: String(e) };
60
70
  }
61
71
  }
62
72
  async createHashinal(options) {
63
73
  try {
64
- await this.ensureInitialized();
65
- const inscription = await inscribe(
74
+ const signer = this.getSigner();
75
+ const inscriptionOptions = {
76
+ ...options.inscriptionOptions,
77
+ mode: "hashinal",
78
+ waitForConfirmation: true,
79
+ network: this.network
80
+ };
81
+ const res = await inscribeWithSigner(
66
82
  options.inscriptionInput,
67
- {
68
- accountId: this.operatorId.toString(),
69
- privateKey: this.operatorCtx.operatorKey,
70
- network: this.network
71
- },
72
- {
73
- ...options.inscriptionOptions || {},
74
- mode: "hashinal",
75
- waitForConfirmation: true
76
- }
83
+ signer,
84
+ inscriptionOptions
77
85
  );
78
- if (!inscription.confirmed || !inscription.inscription) {
86
+ const topicId = res.inscription?.jsonTopicId || res.inscription?.topic_id;
87
+ if (!res.confirmed || !topicId) {
79
88
  return { success: false, error: "Failed to inscribe content" };
80
89
  }
81
- const topicId = inscription.inscription.jsonTopicId || inscription.inscription.topic_id;
82
- if (!topicId) {
83
- return { success: false, error: "No topic ID from inscription" };
84
- }
85
90
  return await this.mint({
86
91
  tokenId: options.tokenId,
87
92
  metadataTopicId: topicId,
@@ -89,15 +94,11 @@ class HCS5Client extends HCS5BaseClient {
89
94
  memo: options.memo
90
95
  });
91
96
  } catch (e) {
92
- const error = e;
93
- this.logger.error(
94
- `Failed to inscribe and mint HCS-5 Hashinal: ${error.message}`
95
- );
96
- return { success: false, error: error.message };
97
+ return { success: false, error: String(e) };
97
98
  }
98
99
  }
99
100
  }
100
101
  export {
101
- HCS5Client
102
+ HCS5BrowserClient
102
103
  };
103
104
  //# sourceMappingURL=standards-sdk.es71.js.map