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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  2. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/services/registry-broker/schemas.d.ts +153 -153
  5. package/dist/cjs/standards-sdk.cjs +2 -2
  6. package/dist/cjs/standards-sdk.cjs.map +1 -1
  7. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  8. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  9. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  10. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  11. package/dist/es/index.d.ts.map +1 -1
  12. package/dist/es/services/registry-broker/schemas.d.ts +153 -153
  13. package/dist/es/standards-sdk.es.js +134 -135
  14. package/dist/es/standards-sdk.es.js.map +1 -1
  15. package/dist/es/standards-sdk.es10.js +70 -90
  16. package/dist/es/standards-sdk.es10.js.map +1 -1
  17. package/dist/es/standards-sdk.es100.js +229 -27
  18. package/dist/es/standards-sdk.es100.js.map +1 -1
  19. package/dist/es/standards-sdk.es101.js +109 -228
  20. package/dist/es/standards-sdk.es101.js.map +1 -1
  21. package/dist/es/standards-sdk.es102.js +15 -94
  22. package/dist/es/standards-sdk.es102.js.map +1 -1
  23. package/dist/es/standards-sdk.es103.js +80 -30
  24. package/dist/es/standards-sdk.es103.js.map +1 -1
  25. package/dist/es/standards-sdk.es104.js +27 -80
  26. package/dist/es/standards-sdk.es104.js.map +1 -1
  27. package/dist/es/standards-sdk.es105.js +136 -25
  28. package/dist/es/standards-sdk.es105.js.map +1 -1
  29. package/dist/es/standards-sdk.es106.js +27 -140
  30. package/dist/es/standards-sdk.es106.js.map +1 -1
  31. package/dist/es/standards-sdk.es107.js +20 -27
  32. package/dist/es/standards-sdk.es107.js.map +1 -1
  33. package/dist/es/standards-sdk.es108.js +156 -18
  34. package/dist/es/standards-sdk.es108.js.map +1 -1
  35. package/dist/es/standards-sdk.es109.js +198 -148
  36. package/dist/es/standards-sdk.es109.js.map +1 -1
  37. package/dist/es/standards-sdk.es11.js +121 -45
  38. package/dist/es/standards-sdk.es11.js.map +1 -1
  39. package/dist/es/standards-sdk.es110.js +747 -167
  40. package/dist/es/standards-sdk.es110.js.map +1 -1
  41. package/dist/es/standards-sdk.es111.js +9 -786
  42. package/dist/es/standards-sdk.es111.js.map +1 -1
  43. package/dist/es/standards-sdk.es112.js +567 -13
  44. package/dist/es/standards-sdk.es112.js.map +1 -1
  45. package/dist/es/standards-sdk.es113.js +576 -541
  46. package/dist/es/standards-sdk.es113.js.map +1 -1
  47. package/dist/es/standards-sdk.es114.js +12 -601
  48. package/dist/es/standards-sdk.es114.js.map +1 -1
  49. package/dist/es/standards-sdk.es115.js +2 -13
  50. package/dist/es/standards-sdk.es115.js.map +1 -1
  51. package/dist/es/standards-sdk.es116.js +87 -2
  52. package/dist/es/standards-sdk.es116.js.map +1 -1
  53. package/dist/es/standards-sdk.es117.js +37 -84
  54. package/dist/es/standards-sdk.es117.js.map +1 -1
  55. package/dist/es/standards-sdk.es118.js +2 -40
  56. package/dist/es/standards-sdk.es118.js.map +1 -1
  57. package/dist/es/standards-sdk.es119.js +231 -2
  58. package/dist/es/standards-sdk.es119.js.map +1 -1
  59. package/dist/es/standards-sdk.es12.js +60 -159
  60. package/dist/es/standards-sdk.es12.js.map +1 -1
  61. package/dist/es/standards-sdk.es120.js +1110 -201
  62. package/dist/es/standards-sdk.es120.js.map +1 -1
  63. package/dist/es/standards-sdk.es121.js +225 -1059
  64. package/dist/es/standards-sdk.es121.js.map +1 -1
  65. package/dist/es/standards-sdk.es122.js +419 -303
  66. package/dist/es/standards-sdk.es122.js.map +1 -1
  67. package/dist/es/standards-sdk.es123.js +351 -418
  68. package/dist/es/standards-sdk.es123.js.map +1 -1
  69. package/dist/es/standards-sdk.es124.js +872 -347
  70. package/dist/es/standards-sdk.es124.js.map +1 -1
  71. package/dist/es/standards-sdk.es125.js +182 -854
  72. package/dist/es/standards-sdk.es125.js.map +1 -1
  73. package/dist/es/standards-sdk.es126.js +1512 -153
  74. package/dist/es/standards-sdk.es126.js.map +1 -1
  75. package/dist/es/standards-sdk.es127.js +157 -1547
  76. package/dist/es/standards-sdk.es127.js.map +1 -1
  77. package/dist/es/standards-sdk.es128.js +192 -162
  78. package/dist/es/standards-sdk.es128.js.map +1 -1
  79. package/dist/es/standards-sdk.es129.js +61 -164
  80. package/dist/es/standards-sdk.es129.js.map +1 -1
  81. package/dist/es/standards-sdk.es13.js +200 -60
  82. package/dist/es/standards-sdk.es13.js.map +1 -1
  83. package/dist/es/standards-sdk.es130.js +102 -85
  84. package/dist/es/standards-sdk.es130.js.map +1 -1
  85. package/dist/es/standards-sdk.es131.js +222 -96
  86. package/dist/es/standards-sdk.es131.js.map +1 -1
  87. package/dist/es/standards-sdk.es132.js +153 -220
  88. package/dist/es/standards-sdk.es132.js.map +1 -1
  89. package/dist/es/standards-sdk.es133.js +104 -162
  90. package/dist/es/standards-sdk.es133.js.map +1 -1
  91. package/dist/es/standards-sdk.es134.js +296 -92
  92. package/dist/es/standards-sdk.es134.js.map +1 -1
  93. package/dist/es/standards-sdk.es135.js +432 -294
  94. package/dist/es/standards-sdk.es135.js.map +1 -1
  95. package/dist/es/standards-sdk.es136.js +14 -461
  96. package/dist/es/standards-sdk.es136.js.map +1 -1
  97. package/dist/es/standards-sdk.es137.js +79 -15
  98. package/dist/es/standards-sdk.es137.js.map +1 -1
  99. package/dist/es/standards-sdk.es138.js +77 -71
  100. package/dist/es/standards-sdk.es138.js.map +1 -1
  101. package/dist/es/standards-sdk.es139.js +152 -80
  102. package/dist/es/standards-sdk.es139.js.map +1 -1
  103. package/dist/es/standards-sdk.es14.js +149 -178
  104. package/dist/es/standards-sdk.es14.js.map +1 -1
  105. package/dist/es/standards-sdk.es140.js +7 -159
  106. package/dist/es/standards-sdk.es140.js.map +1 -1
  107. package/dist/es/standards-sdk.es141.js +86 -7
  108. package/dist/es/standards-sdk.es141.js.map +1 -1
  109. package/dist/es/standards-sdk.es142.js +44 -65
  110. package/dist/es/standards-sdk.es142.js.map +1 -1
  111. package/dist/es/standards-sdk.es143.js +30 -65
  112. package/dist/es/standards-sdk.es143.js.map +1 -1
  113. package/dist/es/standards-sdk.es144.js +34 -30
  114. package/dist/es/standards-sdk.es144.js.map +1 -1
  115. package/dist/es/standards-sdk.es145.js +28 -34
  116. package/dist/es/standards-sdk.es145.js.map +1 -1
  117. package/dist/es/standards-sdk.es146.js +138 -28
  118. package/dist/es/standards-sdk.es146.js.map +1 -1
  119. package/dist/es/standards-sdk.es147.js +37 -133
  120. package/dist/es/standards-sdk.es147.js.map +1 -1
  121. package/dist/es/standards-sdk.es148.js +12280 -33
  122. package/dist/es/standards-sdk.es148.js.map +1 -1
  123. package/dist/es/standards-sdk.es149.js +1 -1
  124. package/dist/es/standards-sdk.es15.js +152 -151
  125. package/dist/es/standards-sdk.es15.js.map +1 -1
  126. package/dist/es/standards-sdk.es150.js +12 -12284
  127. package/dist/es/standards-sdk.es150.js.map +1 -1
  128. package/dist/es/standards-sdk.es151.js +54 -15
  129. package/dist/es/standards-sdk.es151.js.map +1 -1
  130. package/dist/es/standards-sdk.es152.js +72 -160
  131. package/dist/es/standards-sdk.es152.js.map +1 -1
  132. package/dist/es/standards-sdk.es153.js +139 -289
  133. package/dist/es/standards-sdk.es153.js.map +1 -1
  134. package/dist/es/standards-sdk.es154.js +274 -298
  135. package/dist/es/standards-sdk.es154.js.map +1 -1
  136. package/dist/es/standards-sdk.es155.js +262 -369
  137. package/dist/es/standards-sdk.es155.js.map +1 -1
  138. package/dist/es/standards-sdk.es156.js +316 -194
  139. package/dist/es/standards-sdk.es156.js.map +1 -1
  140. package/dist/es/standards-sdk.es157.js +319 -64
  141. package/dist/es/standards-sdk.es157.js.map +1 -1
  142. package/dist/es/standards-sdk.es158.js +69 -49
  143. package/dist/es/standards-sdk.es158.js.map +1 -1
  144. package/dist/es/standards-sdk.es159.js +222 -65
  145. package/dist/es/standards-sdk.es159.js.map +1 -1
  146. package/dist/es/standards-sdk.es16.js +917 -136
  147. package/dist/es/standards-sdk.es16.js.map +1 -1
  148. package/dist/es/standards-sdk.es160.js +223 -218
  149. package/dist/es/standards-sdk.es160.js.map +1 -1
  150. package/dist/es/standards-sdk.es17.js +23 -948
  151. package/dist/es/standards-sdk.es17.js.map +1 -1
  152. package/dist/es/standards-sdk.es18.js +2422 -24
  153. package/dist/es/standards-sdk.es18.js.map +1 -1
  154. package/dist/es/standards-sdk.es19.js +818 -2092
  155. package/dist/es/standards-sdk.es19.js.map +1 -1
  156. package/dist/es/standards-sdk.es2.js +654 -189
  157. package/dist/es/standards-sdk.es2.js.map +1 -1
  158. package/dist/es/standards-sdk.es20.js +205 -1092
  159. package/dist/es/standards-sdk.es20.js.map +1 -1
  160. package/dist/es/standards-sdk.es21.js +858 -221
  161. package/dist/es/standards-sdk.es21.js.map +1 -1
  162. package/dist/es/standards-sdk.es22.js +179 -903
  163. package/dist/es/standards-sdk.es22.js.map +1 -1
  164. package/dist/es/standards-sdk.es23.js +164 -179
  165. package/dist/es/standards-sdk.es23.js.map +1 -1
  166. package/dist/es/standards-sdk.es24.js +62 -118
  167. package/dist/es/standards-sdk.es24.js.map +1 -1
  168. package/dist/es/standards-sdk.es25.js +377 -57
  169. package/dist/es/standards-sdk.es25.js.map +1 -1
  170. package/dist/es/standards-sdk.es26.js +36 -394
  171. package/dist/es/standards-sdk.es26.js.map +1 -1
  172. package/dist/es/standards-sdk.es27.js +901 -50
  173. package/dist/es/standards-sdk.es27.js.map +1 -1
  174. package/dist/es/standards-sdk.es28.js +134 -922
  175. package/dist/es/standards-sdk.es28.js.map +1 -1
  176. package/dist/es/standards-sdk.es29.js +7 -134
  177. package/dist/es/standards-sdk.es29.js.map +1 -1
  178. package/dist/es/standards-sdk.es3.js +63 -680
  179. package/dist/es/standards-sdk.es3.js.map +1 -1
  180. package/dist/es/standards-sdk.es30.js +344 -7
  181. package/dist/es/standards-sdk.es30.js.map +1 -1
  182. package/dist/es/standards-sdk.es31.js +302 -287
  183. package/dist/es/standards-sdk.es31.js.map +1 -1
  184. package/dist/es/standards-sdk.es32.js +94 -322
  185. package/dist/es/standards-sdk.es32.js.map +1 -1
  186. package/dist/es/standards-sdk.es33.js +458 -101
  187. package/dist/es/standards-sdk.es33.js.map +1 -1
  188. package/dist/es/standards-sdk.es34.js +132 -451
  189. package/dist/es/standards-sdk.es34.js.map +1 -1
  190. package/dist/es/standards-sdk.es35.js +216 -130
  191. package/dist/es/standards-sdk.es35.js.map +1 -1
  192. package/dist/es/standards-sdk.es36.js +273 -196
  193. package/dist/es/standards-sdk.es36.js.map +1 -1
  194. package/dist/es/standards-sdk.es37.js +148 -87
  195. package/dist/es/standards-sdk.es37.js.map +1 -1
  196. package/dist/es/standards-sdk.es38.js +183 -320
  197. package/dist/es/standards-sdk.es38.js.map +1 -1
  198. package/dist/es/standards-sdk.es39.js +238 -161
  199. package/dist/es/standards-sdk.es39.js.map +1 -1
  200. package/dist/es/standards-sdk.es4.js +425 -63
  201. package/dist/es/standards-sdk.es4.js.map +1 -1
  202. package/dist/es/standards-sdk.es40.js +136 -254
  203. package/dist/es/standards-sdk.es40.js.map +1 -1
  204. package/dist/es/standards-sdk.es41.js +225 -176
  205. package/dist/es/standards-sdk.es41.js.map +1 -1
  206. package/dist/es/standards-sdk.es42.js +199 -261
  207. package/dist/es/standards-sdk.es42.js.map +1 -1
  208. package/dist/es/standards-sdk.es43.js +237 -199
  209. package/dist/es/standards-sdk.es43.js.map +1 -1
  210. package/dist/es/standards-sdk.es44.js +209 -201
  211. package/dist/es/standards-sdk.es44.js.map +1 -1
  212. package/dist/es/standards-sdk.es45.js +305 -201
  213. package/dist/es/standards-sdk.es45.js.map +1 -1
  214. package/dist/es/standards-sdk.es46.js +371 -261
  215. package/dist/es/standards-sdk.es46.js.map +1 -1
  216. package/dist/es/standards-sdk.es47.js +316 -372
  217. package/dist/es/standards-sdk.es47.js.map +1 -1
  218. package/dist/es/standards-sdk.es48.js +404 -336
  219. package/dist/es/standards-sdk.es48.js.map +1 -1
  220. package/dist/es/standards-sdk.es49.js +83 -449
  221. package/dist/es/standards-sdk.es49.js.map +1 -1
  222. package/dist/es/standards-sdk.es5.js +232 -354
  223. package/dist/es/standards-sdk.es5.js.map +1 -1
  224. package/dist/es/standards-sdk.es50.js +179 -89
  225. package/dist/es/standards-sdk.es50.js.map +1 -1
  226. package/dist/es/standards-sdk.es51.js +231 -165
  227. package/dist/es/standards-sdk.es51.js.map +1 -1
  228. package/dist/es/standards-sdk.es52.js +25 -262
  229. package/dist/es/standards-sdk.es52.js.map +1 -1
  230. package/dist/es/standards-sdk.es53.js +56 -26
  231. package/dist/es/standards-sdk.es53.js.map +1 -1
  232. package/dist/es/standards-sdk.es54.js +12 -57
  233. package/dist/es/standards-sdk.es54.js.map +1 -1
  234. package/dist/es/standards-sdk.es55.js +49 -12
  235. package/dist/es/standards-sdk.es55.js.map +1 -1
  236. package/dist/es/standards-sdk.es56.js +115 -43
  237. package/dist/es/standards-sdk.es56.js.map +1 -1
  238. package/dist/es/standards-sdk.es57.js +42 -115
  239. package/dist/es/standards-sdk.es57.js.map +1 -1
  240. package/dist/es/standards-sdk.es58.js +52 -43
  241. package/dist/es/standards-sdk.es58.js.map +1 -1
  242. package/dist/es/standards-sdk.es59.js +36 -50
  243. package/dist/es/standards-sdk.es59.js.map +1 -1
  244. package/dist/es/standards-sdk.es6.js +125 -246
  245. package/dist/es/standards-sdk.es6.js.map +1 -1
  246. package/dist/es/standards-sdk.es60.js +207 -39
  247. package/dist/es/standards-sdk.es60.js.map +1 -1
  248. package/dist/es/standards-sdk.es61.js +24 -201
  249. package/dist/es/standards-sdk.es61.js.map +1 -1
  250. package/dist/es/standards-sdk.es62.js +87 -25
  251. package/dist/es/standards-sdk.es62.js.map +1 -1
  252. package/dist/es/standards-sdk.es63.js +3 -51
  253. package/dist/es/standards-sdk.es63.js.map +1 -1
  254. package/dist/es/standards-sdk.es64.js +100 -3
  255. package/dist/es/standards-sdk.es64.js.map +1 -1
  256. package/dist/es/standards-sdk.es65.js +61 -62
  257. package/dist/es/standards-sdk.es65.js.map +1 -1
  258. package/dist/es/standards-sdk.es66.js +17 -98
  259. package/dist/es/standards-sdk.es66.js.map +1 -1
  260. package/dist/es/standards-sdk.es67.js +77 -19
  261. package/dist/es/standards-sdk.es67.js.map +1 -1
  262. package/dist/es/standards-sdk.es68.js +458 -77
  263. package/dist/es/standards-sdk.es68.js.map +1 -1
  264. package/dist/es/standards-sdk.es69.js +106 -240
  265. package/dist/es/standards-sdk.es69.js.map +1 -1
  266. package/dist/es/standards-sdk.es7.js +28 -183
  267. package/dist/es/standards-sdk.es7.js.map +1 -1
  268. package/dist/es/standards-sdk.es70.js +170 -286
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +71 -207
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +71 -72
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +143 -71
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +62 -136
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +380 -45
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +222 -130
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +320 -444
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +88 -371
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +125 -89
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es8.js +80 -29
  289. package/dist/es/standards-sdk.es8.js.map +1 -1
  290. package/dist/es/standards-sdk.es80.js +8 -125
  291. package/dist/es/standards-sdk.es80.js.map +1 -1
  292. package/dist/es/standards-sdk.es81.js +45 -6
  293. package/dist/es/standards-sdk.es81.js.map +1 -1
  294. package/dist/es/standards-sdk.es82.js +98 -44
  295. package/dist/es/standards-sdk.es82.js.map +1 -1
  296. package/dist/es/standards-sdk.es83.js +331 -84
  297. package/dist/es/standards-sdk.es83.js.map +1 -1
  298. package/dist/es/standards-sdk.es84.js +93 -160
  299. package/dist/es/standards-sdk.es84.js.map +1 -1
  300. package/dist/es/standards-sdk.es85.js +55 -275
  301. package/dist/es/standards-sdk.es85.js.map +1 -1
  302. package/dist/es/standards-sdk.es86.js +43 -55
  303. package/dist/es/standards-sdk.es86.js.map +1 -1
  304. package/dist/es/standards-sdk.es87.js +145 -44
  305. package/dist/es/standards-sdk.es87.js.map +1 -1
  306. package/dist/es/standards-sdk.es88.js +30 -113
  307. package/dist/es/standards-sdk.es88.js.map +1 -1
  308. package/dist/es/standards-sdk.es89.js +22 -59
  309. package/dist/es/standards-sdk.es89.js.map +1 -1
  310. package/dist/es/standards-sdk.es9.js +104 -80
  311. package/dist/es/standards-sdk.es9.js.map +1 -1
  312. package/dist/es/standards-sdk.es90.js +23 -28
  313. package/dist/es/standards-sdk.es90.js.map +1 -1
  314. package/dist/es/standards-sdk.es91.js +238 -23
  315. package/dist/es/standards-sdk.es91.js.map +1 -1
  316. package/dist/es/standards-sdk.es92.js +267 -225
  317. package/dist/es/standards-sdk.es92.js.map +1 -1
  318. package/dist/es/standards-sdk.es93.js +95 -220
  319. package/dist/es/standards-sdk.es93.js.map +1 -1
  320. package/dist/es/standards-sdk.es94.js +124 -136
  321. package/dist/es/standards-sdk.es94.js.map +1 -1
  322. package/dist/es/standards-sdk.es95.js +42 -138
  323. package/dist/es/standards-sdk.es95.js.map +1 -1
  324. package/dist/es/standards-sdk.es96.js +259 -43
  325. package/dist/es/standards-sdk.es96.js.map +1 -1
  326. package/dist/es/standards-sdk.es97.js +82 -245
  327. package/dist/es/standards-sdk.es97.js.map +1 -1
  328. package/dist/es/standards-sdk.es98.js +49 -50
  329. package/dist/es/standards-sdk.es98.js.map +1 -1
  330. package/dist/es/standards-sdk.es99.js +29 -100
  331. package/dist/es/standards-sdk.es99.js.map +1 -1
  332. package/dist/es/utils/dynamic-import.d.ts +5 -1
  333. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  334. package/package.json +4 -4
  335. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  336. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  337. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  338. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
  339. package/dist/es/standards-sdk.es161.js +0 -247
  340. package/dist/es/standards-sdk.es161.js.map +0 -1
@@ -1,37 +1,99 @@
1
- class IssuerRegistry {
2
- constructor() {
3
- this.issuers = [];
4
- }
5
- register(issuer) {
6
- this.issuers.push(issuer);
1
+ import { optionalImport } from "./standards-sdk.es152.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
7
  }
8
- list() {
9
- return [...this.issuers];
8
+ if (value && typeof value.toString === "function") {
9
+ const result = value.toString();
10
+ return typeof result === "string" && result.trim() ? result : null;
10
11
  }
11
- /** Return issuers that support a given DID method. */
12
- filterByDidMethod(method) {
13
- return this.issuers.filter((i) => i.meta.didMethods.includes(method));
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);
14
52
  }
15
- /** Return issuers that advertise a specific CAIP-2 network. */
16
- filterByCaip2(network) {
17
- return this.issuers.filter((i) => i.meta.caip2Networks?.includes(network));
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
+ };
18
71
  }
19
- /** Generic predicate-based filter. */
20
- filter(predicate) {
21
- return this.issuers.filter(predicate);
72
+ supports(method) {
73
+ return method === "hedera";
22
74
  }
23
75
  async issue(request) {
24
- for (const issuer of this.issuers) {
25
- if (issuer.supports(request.method)) {
26
- return issuer.issue(request);
27
- }
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
+ );
28
87
  }
29
- throw new Error(`No issuer registered for method: ${request.method}`);
88
+ const client = request.client;
89
+ const did = await createDID(
90
+ {},
91
+ { publisher: createHieroPublisher(client) }
92
+ );
93
+ return did.did;
30
94
  }
31
95
  }
32
- const defaultIssuerRegistry = new IssuerRegistry();
33
96
  export {
34
- IssuerRegistry,
35
- defaultIssuerRegistry
97
+ HederaHieroIssuer
36
98
  };
37
99
  //# sourceMappingURL=standards-sdk.es62.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es62.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.es62.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';\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?: unknown;\n operatorAccountId?: unknown;\n};\n\ntype AutoRenewTransactionLike = {\n getAutoRenewAccountId?: () => unknown;\n setAutoRenewAccountId?: (value: string) => unknown;\n freezeWith: (client: unknown) => {\n execute: (client: unknown) => Promise<{ getReceipt: (client: unknown) => Promise<unknown> }>;\n };\n};\n\nfunction toAccountIdString(value: unknown): string | null {\n if (typeof value === 'string' && value.trim()) {\n return value;\n }\n\n if (value && typeof (value as { toString?: () => string }).toString === 'function') {\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":";AAOA,MAAM,yBAAyB,CAAC,kBAAkB,WAAW,EAAE,KAAK,GAAG;AAEvE,IAAI,mBAAqD;AAsBzD,SAAS,kBAAkB,OAA+B;AACxD,MAAI,OAAO,UAAU,YAAY,MAAM,QAAQ;AAC7C,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,OAAQ,MAAsC,aAAa,YAAY;AAClF,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,55 +1,7 @@
1
- import { optionalImport } from "./standards-sdk.es159.js";
2
- const hieroRegistrarModuleId = ["@hiero-did-sdk", "registrar"].join("/");
3
- let registrarPromise = null;
4
- async function loadCreateDID() {
5
- if (!registrarPromise) {
6
- registrarPromise = optionalImport(
7
- hieroRegistrarModuleId
8
- ).then((mod) => mod?.createDID ?? null);
9
- }
10
- return registrarPromise;
11
- }
12
- class HederaHieroIssuer {
13
- constructor() {
14
- this.meta = {
15
- id: "hedera/hiero",
16
- didMethods: ["hedera"],
17
- caip2Networks: [
18
- "hedera:mainnet",
19
- "hedera:testnet",
20
- "hedera:previewnet",
21
- "hedera:devnet"
22
- ],
23
- caip10Namespaces: ["hedera"],
24
- displayName: "Hedera (Hiero Registrar)",
25
- description: "Issues did:hedera identifiers using the Hiero DID registrar.",
26
- homepage: "https://github.com/hiero-ledger/hiero-did-sdk-js"
27
- };
28
- }
29
- supports(method) {
30
- return method === "hedera";
31
- }
32
- async issue(request) {
33
- if (request.method !== "hedera") {
34
- throw new Error('HederaHieroIssuer only handles method "hedera"');
35
- }
36
- if (!("client" in request)) {
37
- throw new Error("Hedera client is required to issue did:hedera");
38
- }
39
- const createDID = await loadCreateDID();
40
- if (!createDID) {
41
- throw new Error(
42
- "Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed."
43
- );
44
- }
45
- const did = await createDID(
46
- {},
47
- { client: request.client }
48
- );
49
- return did.did;
50
- }
1
+ function buildHcs1Hrl(topicId) {
2
+ return `hcs://1/${topicId}`;
51
3
  }
52
4
  export {
53
- HederaHieroIssuer
5
+ buildHcs1Hrl
54
6
  };
55
7
  //# sourceMappingURL=standards-sdk.es63.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es63.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';\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\nasync function loadCreateDID(): Promise<CreateDID | null> {\n if (!registrarPromise) {\n registrarPromise = optionalImport<HieroRegistrarModule>(\n hieroRegistrarModuleId,\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 did = await createDID(\n {},\n { client: (request as DidIssueRequestHedera).client },\n );\n return did.did;\n }\n}\n"],"names":[],"mappings":";AAOA,MAAM,yBAAyB,CAAC,kBAAkB,WAAW,EAAE,KAAK,GAAG;AAEvE,IAAI,mBAAqD;AAEzD,eAAe,gBAA2C;AACxD,MAAI,CAAC,kBAAkB;AACrB,uBAAmB;AAAA,MACjB;AAAA,IAAA,EACA,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,MAAM,MAAM;AAAA,MAChB,CAAA;AAAA,MACA,EAAE,QAAS,QAAkC,OAAA;AAAA,IAAO;AAEtD,WAAO,IAAI;AAAA,EACb;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es63.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,7 +1,104 @@
1
- function buildHcs1Hrl(topicId) {
2
- return `hcs://1/${topicId}`;
1
+ import { HCS5BaseClient } from "./standards-sdk.es150.js";
2
+ import { buildHcs1Hrl } from "./standards-sdk.es63.js";
3
+ import { PrivateKey } from "@hashgraph/sdk";
4
+ import { inscribeWithSigner } from "./standards-sdk.es124.js";
5
+ import { buildHcs5MintTx } from "./standards-sdk.es66.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
+ 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
+ }
3
100
  }
4
101
  export {
5
- buildHcs1Hrl
102
+ HCS5BrowserClient
6
103
  };
7
104
  //# sourceMappingURL=standards-sdk.es64.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es64.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.es64.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 tx.freezeWithSigner(signer as any);\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,WAAG,iBAAiB,MAAa;AACjC,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,36 +1,28 @@
1
- import { HCS5BaseClient } from "./standards-sdk.es151.js";
2
- import { buildHcs1Hrl } from "./standards-sdk.es64.js";
3
- import { PrivateKey } from "@hashgraph/sdk";
4
- import { inscribeWithSigner } from "./standards-sdk.es125.js";
5
- import { buildHcs5MintTx } from "./standards-sdk.es67.js";
6
- class HCS5BrowserClient extends HCS5BaseClient {
1
+ import { HCS5BaseClient } from "./standards-sdk.es150.js";
2
+ import { buildHcs1Hrl } from "./standards-sdk.es63.js";
3
+ import { AccountId } from "@hashgraph/sdk";
4
+ import { inscribe } from "./standards-sdk.es124.js";
5
+ import { buildHcs5MintTx } from "./standards-sdk.es66.js";
6
+ import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es146.js";
7
+ class HCS5Client extends HCS5BaseClient {
7
8
  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: ""
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
15
17
  });
16
- this.hwc = config.hwc;
17
- this.signer = config.signer;
18
+ this.client = this.operatorCtx.client;
18
19
  }
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;
20
+ async ensureInitialized() {
21
+ await this.operatorCtx.ensureInitialized();
31
22
  }
32
23
  async mint(options) {
33
24
  try {
25
+ await this.ensureInitialized();
34
26
  if (!options.metadataTopicId) {
35
27
  return {
36
28
  success: false,
@@ -39,54 +31,57 @@ class HCS5BrowserClient extends HCS5BaseClient {
39
31
  }
40
32
  const metadata = buildHcs1Hrl(options.metadataTopicId);
41
33
  const tx = buildHcs5MintTx({ tokenId: options.tokenId, metadata });
42
- let result;
43
- if (options.supplyKey && options.supplyKey instanceof PrivateKey) {
44
- const signer = this.getSigner();
45
- 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 };
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);
59
46
  }
60
- const receipt = result.result;
61
- const serial = receipt.serials?.[0] ? Number(receipt.serials[0].toString()) : void 0;
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;
62
50
  return {
63
51
  success: true,
64
52
  serialNumber: serial,
65
- transactionId: receipt?.transactionId?.toString?.(),
53
+ transactionId: resp.transactionId?.toString?.(),
66
54
  metadata
67
55
  };
68
56
  } catch (e) {
69
- return { success: false, error: String(e) };
57
+ const error = e;
58
+ this.logger.error(`Failed to mint HCS-5 Hashinal: ${error.message}`);
59
+ return { success: false, error: error.message };
70
60
  }
71
61
  }
72
62
  async createHashinal(options) {
73
63
  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(
64
+ await this.ensureInitialized();
65
+ const inscription = await inscribe(
82
66
  options.inscriptionInput,
83
- signer,
84
- inscriptionOptions
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
+ }
85
77
  );
86
- const topicId = res.inscription?.jsonTopicId || res.inscription?.topic_id;
87
- if (!res.confirmed || !topicId) {
78
+ if (!inscription.confirmed || !inscription.inscription) {
88
79
  return { success: false, error: "Failed to inscribe content" };
89
80
  }
81
+ const topicId = inscription.inscription.jsonTopicId || inscription.inscription.topic_id;
82
+ if (!topicId) {
83
+ return { success: false, error: "No topic ID from inscription" };
84
+ }
90
85
  return await this.mint({
91
86
  tokenId: options.tokenId,
92
87
  metadataTopicId: topicId,
@@ -94,11 +89,15 @@ class HCS5BrowserClient extends HCS5BaseClient {
94
89
  memo: options.memo
95
90
  });
96
91
  } catch (e) {
97
- return { success: false, error: String(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 };
98
97
  }
99
98
  }
100
99
  }
101
100
  export {
102
- HCS5BrowserClient
101
+ HCS5Client
103
102
  };
104
103
  //# sourceMappingURL=standards-sdk.es65.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es65.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 tx.freezeWithSigner(signer as any);\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,WAAG,iBAAiB,MAAa;AACjC,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.es65.js","sources":["../../src/hcs-5/sdk.ts"],"sourcesContent":["import { HCS5BaseClient } from './base-client';\nimport {\n HCS5ClientConfig,\n HCS5CreateHashinalOptions,\n HCS5MintOptions,\n HCS5MintResponse,\n buildHcs1Hrl,\n} from './types';\nimport { Client, TokenId, PrivateKey, AccountId } from '@hashgraph/sdk';\nimport { NetworkType } from '../utils/types';\nimport { inscribe } from '../inscribe/inscriber';\nimport { buildHcs5MintTx, buildHcs5MintWithHrlTx } from './tx';\nimport {\n NodeOperatorResolver,\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\n\nexport class HCS5Client extends HCS5BaseClient {\n private client: Client;\n private operatorId: AccountId;\n private operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS5ClientConfig) {\n super(config);\n\n this.operatorId = AccountId.fromString(config.operatorId);\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n });\n this.client = this.operatorCtx.client;\n }\n\n private async ensureInitialized(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n async mint(options: HCS5MintOptions): Promise<HCS5MintResponse> {\n try {\n await this.ensureInitialized();\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 const frozen = await tx.freezeWith(this.client);\n\n if (options.supplyKey) {\n const resolver = new NodeOperatorResolver({\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n });\n const privKey =\n typeof options.supplyKey === 'string'\n ? await resolver.resolveSupplyKey(\n options.tokenId,\n options.supplyKey,\n this.operatorCtx.keyType,\n )\n : options.supplyKey;\n await frozen.sign(privKey);\n }\n\n const resp = await frozen.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n const serial =\n receipt.serials && receipt.serials[0]\n ? Number(receipt.serials[0].toString())\n : undefined;\n\n return {\n success: true,\n serialNumber: serial,\n transactionId: resp.transactionId?.toString?.(),\n metadata,\n };\n } catch (e) {\n const error = e as Error;\n this.logger.error(`Failed to mint HCS-5 Hashinal: ${error.message}`);\n return { success: false, error: error.message };\n }\n }\n\n async createHashinal(\n options: HCS5CreateHashinalOptions,\n ): Promise<HCS5MintResponse> {\n try {\n await this.ensureInitialized();\n const inscription = await inscribe(\n options.inscriptionInput,\n {\n accountId: this.operatorId.toString(),\n privateKey: this.operatorCtx.operatorKey,\n network: this.network,\n },\n {\n ...(options.inscriptionOptions || {}),\n mode: 'hashinal',\n waitForConfirmation: true,\n },\n );\n\n if (!inscription.confirmed || !inscription.inscription) {\n return { success: false, error: 'Failed to inscribe content' };\n }\n\n const topicId =\n inscription.inscription.jsonTopicId || inscription.inscription.topic_id;\n if (!topicId) {\n return { success: false, error: 'No topic ID from inscription' };\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 const error = e as Error;\n this.logger.error(\n `Failed to inscribe and mint HCS-5 Hashinal: ${error.message}`,\n );\n return { success: false, error: error.message };\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAkBO,MAAM,mBAAmB,eAAe;AAAA,EAK7C,YAAY,QAA0B;AACpC,UAAM,MAAM;AAEZ,SAAK,aAAa,UAAU,WAAW,OAAO,UAAU;AACxD,SAAK,cAAc,0BAA0B;AAAA,MAC3C,SAAS,KAAK;AAAA,MACd,YAAY,KAAK;AAAA,MACjB,aAAa,OAAO;AAAA,MACpB,YAAY,KAAK;AAAA,MACjB,QAAQ,KAAK;AAAA,IAAA,CACd;AACD,SAAK,SAAS,KAAK,YAAY;AAAA,EACjC;AAAA,EAEA,MAAc,oBAAmC;AAC/C,UAAM,KAAK,YAAY,kBAAA;AAAA,EACzB;AAAA,EAEA,MAAM,KAAK,SAAqD;AAC9D,QAAI;AACF,YAAM,KAAK,kBAAA;AACX,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;AACjE,YAAM,SAAS,MAAM,GAAG,WAAW,KAAK,MAAM;AAE9C,UAAI,QAAQ,WAAW;AACrB,cAAM,WAAW,IAAI,qBAAqB;AAAA,UACxC,YAAY,KAAK;AAAA,UACjB,QAAQ,KAAK;AAAA,QAAA,CACd;AACD,cAAM,UACJ,OAAO,QAAQ,cAAc,WACzB,MAAM,SAAS;AAAA,UACb,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,KAAK,YAAY;AAAA,QAAA,IAEnB,QAAQ;AACd,cAAM,OAAO,KAAK,OAAO;AAAA,MAC3B;AAEA,YAAM,OAAO,MAAM,OAAO,QAAQ,KAAK,MAAM;AAC7C,YAAM,UAAU,MAAM,KAAK,WAAW,KAAK,MAAM;AACjD,YAAM,SACJ,QAAQ,WAAW,QAAQ,QAAQ,CAAC,IAChC,OAAO,QAAQ,QAAQ,CAAC,EAAE,SAAA,CAAU,IACpC;AAEN,aAAO;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,QACd,eAAe,KAAK,eAAe,WAAA;AAAA,QACnC;AAAA,MAAA;AAAA,IAEJ,SAAS,GAAG;AACV,YAAM,QAAQ;AACd,WAAK,OAAO,MAAM,kCAAkC,MAAM,OAAO,EAAE;AACnE,aAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAA;AAAA,IACxC;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,SAC2B;AAC3B,QAAI;AACF,YAAM,KAAK,kBAAA;AACX,YAAM,cAAc,MAAM;AAAA,QACxB,QAAQ;AAAA,QACR;AAAA,UACE,WAAW,KAAK,WAAW,SAAA;AAAA,UAC3B,YAAY,KAAK,YAAY;AAAA,UAC7B,SAAS,KAAK;AAAA,QAAA;AAAA,QAEhB;AAAA,UACE,GAAI,QAAQ,sBAAsB,CAAA;AAAA,UAClC,MAAM;AAAA,UACN,qBAAqB;AAAA,QAAA;AAAA,MACvB;AAGF,UAAI,CAAC,YAAY,aAAa,CAAC,YAAY,aAAa;AACtD,eAAO,EAAE,SAAS,OAAO,OAAO,6BAAA;AAAA,MAClC;AAEA,YAAM,UACJ,YAAY,YAAY,eAAe,YAAY,YAAY;AACjE,UAAI,CAAC,SAAS;AACZ,eAAO,EAAE,SAAS,OAAO,OAAO,+BAAA;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,YAAM,QAAQ;AACd,WAAK,OAAO;AAAA,QACV,+CAA+C,MAAM,OAAO;AAAA,MAAA;AAE9D,aAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAA;AAAA,IACxC;AAAA,EACF;AACF;"}