@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,35 +1,65 @@
1
- import { Client } from "@hashgraph/sdk";
2
- import { HCS12BaseClient } from "./standards-sdk.es36.js";
3
- import { createNodeOperatorContext } from "./standards-sdk.es147.js";
4
- import { RegistryType } from "./standards-sdk.es30.js";
5
- import { inscribe } from "./standards-sdk.es125.js";
6
- import { InscriptionSDK } from "./standards-sdk.es150.js";
7
- import { ActionRegistry } from "./standards-sdk.es32.js";
8
- import { BlockLoader } from "./standards-sdk.es33.js";
9
- import { AssemblyRegistry } from "./standards-sdk.es34.js";
10
- import { HashLinksRegistry } from "./standards-sdk.es35.js";
1
+ import { TopicCreateTransaction, TransactionId, AccountId, PublicKey, KeyList, TopicMessageSubmitTransaction, TopicId } from "@hashgraph/sdk";
2
+ import { HCS12BaseClient } from "./standards-sdk.es35.js";
3
+ import { RegistryType } from "./standards-sdk.es29.js";
4
+ import { inscribeWithSigner } from "./standards-sdk.es124.js";
5
+ import { InscriptionSDK } from "./standards-sdk.es148.js";
6
+ import { ActionRegistry } from "./standards-sdk.es31.js";
7
+ import { BlockLoader } from "./standards-sdk.es32.js";
8
+ import { AssemblyRegistry } from "./standards-sdk.es33.js";
9
+ import { HashLinksRegistry } from "./standards-sdk.es34.js";
11
10
  import * as mime from "mime-types";
12
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es148.js";
13
- class HCS12Client extends HCS12BaseClient {
11
+ class HCS12BrowserClient extends HCS12BaseClient {
14
12
  constructor(config) {
15
13
  super(config);
16
- this.operatorAccountId = config.operatorId;
17
- this.operatorCtx = createNodeOperatorContext({
18
- network: this.network,
19
- operatorId: this.operatorAccountId,
20
- operatorKey: config.operatorPrivateKey,
21
- keyType: config.keyType,
22
- mirrorNode: this.mirrorNode,
23
- logger: this.logger,
24
- client: config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
25
- });
26
- this.client = this.operatorCtx.client;
27
- this.logger.info("HCS-12 SDK Client initialized", {
14
+ this.hwc = config.hwc;
15
+ this.updateAccountFromWallet();
16
+ this.logger.info("HCS-12 Browser Client initialized", {
28
17
  network: config.network,
29
- operatorId: this.operatorAccountId,
30
- keyType: this.operatorCtx.keyType
18
+ accountId: this.accountId
31
19
  });
32
20
  }
21
+ /**
22
+ * Update account ID from wallet connect session
23
+ */
24
+ async updateAccountFromWallet() {
25
+ try {
26
+ const { accountId } = await this.getAccountAndSigner();
27
+ this.accountId = accountId;
28
+ } catch (error) {
29
+ this.logger.warn("No active wallet connection");
30
+ }
31
+ }
32
+ /**
33
+ * Get account and signer from wallet connect
34
+ */
35
+ async getAccountAndSigner() {
36
+ const accountInfo = this?.hwc?.getAccountInfo();
37
+ const accountId = accountInfo?.accountId?.toString();
38
+ const signer = this?.hwc?.dAppConnector?.signers?.find((s) => {
39
+ return s.getAccountId().toString() === accountId;
40
+ });
41
+ if (!signer || !accountId) {
42
+ this.logger.error("Failed to find signer", {
43
+ accountId,
44
+ signers: this?.hwc?.dAppConnector?.signers,
45
+ accountInfo
46
+ });
47
+ throw new Error("Failed to find signer or account");
48
+ }
49
+ return { accountId, signer };
50
+ }
51
+ /**
52
+ * Get operator account ID (throws in browser)
53
+ */
54
+ getOperatorAccountId() {
55
+ throw new Error("Browser client does not have operator account");
56
+ }
57
+ /**
58
+ * Get operator private key (throws in browser)
59
+ */
60
+ getOperatorPrivateKey() {
61
+ throw new Error("Browser client does not have operator private key");
62
+ }
33
63
  /**
34
64
  * Initialize registries with optional existing topic IDs
35
65
  */
@@ -54,7 +84,7 @@ class HCS12Client extends HCS12BaseClient {
54
84
  this._hashLinksRegistryTopicId,
55
85
  this
56
86
  );
57
- this.logger.info("Registries initialized", {
87
+ this.logger.info("Registries initialized with signer", {
58
88
  actionTopicId: this.actionRegistryTopicId,
59
89
  assemblyTopicId: this._assemblyRegistryTopicId,
60
90
  hashLinksTopicId: this._hashLinksRegistryTopicId
@@ -64,29 +94,45 @@ class HCS12Client extends HCS12BaseClient {
64
94
  * Create a new HCS topic for a registry
65
95
  */
66
96
  async createRegistryTopic(registryType, adminKey, submitKey) {
97
+ const { accountId, signer } = await this.getAccountAndSigner();
67
98
  const memos = {
68
99
  [RegistryType.ACTION]: "hcs-12:1:60:0",
69
100
  [RegistryType.ASSEMBLY]: "hcs-12:1:60:2",
70
101
  [RegistryType.HASHLINKS]: "hcs-12:1:60:3"
71
102
  };
72
103
  const memo = memos[registryType];
73
- this.logger.info("Creating registry topic", {
104
+ this.logger.info("Creating registry topic via wallet", {
74
105
  registryType: RegistryType[registryType],
75
- memo
76
- });
77
- const transaction = buildTopicCreateTx({
78
106
  memo,
79
- adminKey,
80
- submitKey,
81
- operatorPublicKey: this.client.operatorPublicKey || void 0
107
+ accountId
82
108
  });
83
- const txResponse = await transaction.execute(this.client);
84
- const receipt = await txResponse.getReceipt(this.client);
109
+ const transaction = new TopicCreateTransaction().setTopicMemo(memo).setTransactionId(TransactionId.generate(accountId));
110
+ if (adminKey) {
111
+ if (typeof adminKey === "boolean" && adminKey) {
112
+ const publicKey = await signer.getAccountKey();
113
+ transaction.setAdminKey(publicKey);
114
+ transaction.setAutoRenewAccountId(AccountId.fromString(accountId));
115
+ } else if (adminKey instanceof PublicKey || adminKey instanceof KeyList) {
116
+ transaction.setAdminKey(adminKey);
117
+ transaction.setAutoRenewAccountId(AccountId.fromString(accountId));
118
+ }
119
+ }
120
+ if (submitKey) {
121
+ if (typeof submitKey === "boolean" && submitKey) {
122
+ const publicKey = await signer.getAccountKey();
123
+ transaction.setSubmitKey(publicKey);
124
+ } else if (submitKey instanceof PublicKey || submitKey instanceof KeyList) {
125
+ transaction.setSubmitKey(submitKey);
126
+ }
127
+ }
128
+ const signedTx = await transaction.freezeWithSigner(signer);
129
+ const txResponse = await signedTx.executeWithSigner(signer);
130
+ const receipt = await txResponse.getReceiptWithSigner(signer);
85
131
  if (!receipt.topicId) {
86
132
  throw new Error("Failed to create topic: topicId is null");
87
133
  }
88
134
  const topicId = receipt.topicId.toString();
89
- this.logger.info("Registry topic created", {
135
+ this.logger.info("Registry topic created via wallet", {
90
136
  topicId,
91
137
  registryType: RegistryType[registryType]
92
138
  });
@@ -102,6 +148,14 @@ class HCS12Client extends HCS12BaseClient {
102
148
  }
103
149
  return topicId;
104
150
  }
151
+ /**
152
+ * Create a new assembly topic
153
+ */
154
+ async createAssemblyTopic() {
155
+ this.logger.info("Creating new assembly topic");
156
+ const topicId = await this.createRegistryTopic(RegistryType.ASSEMBLY);
157
+ return topicId;
158
+ }
105
159
  /**
106
160
  * Register an assembly on its own topic
107
161
  */
@@ -144,6 +198,15 @@ class HCS12Client extends HCS12BaseClient {
144
198
  });
145
199
  return this._submitMessage(assemblyTopicId, JSON.stringify(update));
146
200
  }
201
+ /**
202
+ * Store a block (definition and template) via HCS-1
203
+ */
204
+ async storeBlock(template, definition) {
205
+ if (!this.blockLoader) {
206
+ throw new Error("Block loader not initialized");
207
+ }
208
+ return this.blockLoader.storeBlock(template, definition);
209
+ }
147
210
  /**
148
211
  * Submit a message to an HCS topic
149
212
  * @deprecated Use operation-specific methods instead
@@ -158,58 +221,65 @@ class HCS12Client extends HCS12BaseClient {
158
221
  * Internal method to submit a message to an HCS topic
159
222
  */
160
223
  async _submitMessage(topicId, message, submitKey) {
161
- this.logger.debug("Submitting message to topic", {
224
+ const { accountId, signer } = await this.getAccountAndSigner();
225
+ this.logger.debug("Submitting message to topic via wallet", {
162
226
  topicId,
163
- messageLength: message.length
227
+ messageLength: message.length,
228
+ accountId
164
229
  });
165
- const transaction = buildMessageTx({ topicId, message });
166
- let transactionResponse;
230
+ const transaction = new TopicMessageSubmitTransaction().setTopicId(TopicId.fromString(topicId)).setMessage(message).setTransactionId(TransactionId.generate(accountId));
167
231
  if (submitKey) {
168
- const frozenTransaction = transaction.freezeWith(this.client);
169
- const signedTransaction = await frozenTransaction.sign(submitKey);
170
- transactionResponse = await signedTransaction.execute(this.client);
171
- } else {
172
- transactionResponse = await transaction.execute(this.client);
232
+ this.logger.warn(
233
+ "Submit key parameter ignored in browser client - using wallet signer"
234
+ );
173
235
  }
174
- const receipt = await transactionResponse.getReceipt(this.client);
175
- this.logger.info("Message submitted successfully", {
236
+ const signedTx = await transaction.freezeWithSigner(signer);
237
+ const txResponse = await signedTx.executeWithSigner(signer);
238
+ const receipt = await txResponse.getReceiptWithSigner(signer);
239
+ this.logger.info("Message submitted successfully via wallet", {
176
240
  topicId,
177
- transactionId: transactionResponse.transactionId.toString(),
241
+ transactionId: txResponse.transactionId.toString(),
178
242
  sequenceNumber: receipt.topicSequenceNumber?.toString()
179
243
  });
180
244
  return {
181
- transactionId: transactionResponse.transactionId.toString(),
245
+ transactionId: txResponse.transactionId.toString(),
182
246
  sequenceNumber: receipt.topicSequenceNumber ? Number(receipt.topicSequenceNumber) : void 0
183
247
  };
184
248
  }
185
249
  /**
186
- * Get the Hedera client instance
250
+ * Get the HashConnect instance
187
251
  */
188
- getClient() {
189
- return this.client;
252
+ getHashConnect() {
253
+ return this.hwc;
190
254
  }
191
255
  /**
192
- * Get operator account ID
256
+ * Get connected account ID
193
257
  */
194
- getOperatorAccountId() {
195
- return this.operatorAccountId;
258
+ getAccountId() {
259
+ return this.accountId;
196
260
  }
197
261
  /**
198
- * Get operator private key
262
+ * Check if wallet is connected
199
263
  */
200
- getOperatorPrivateKey() {
201
- return this.operatorCtx.operatorKey.toString();
264
+ async isConnected() {
265
+ try {
266
+ await this.getAccountAndSigner();
267
+ return true;
268
+ } catch {
269
+ return false;
270
+ }
202
271
  }
203
272
  /**
204
- * Inscribe a file using HCS-1 protocol
273
+ * Inscribe a file using HCS-1 via wallet signer (browser)
205
274
  */
206
275
  async inscribeFile(buffer, fileName, options) {
207
- this.logger.info("Inscribing file via HCS-1", { fileName });
276
+ const { accountId, signer } = await this.getAccountAndSigner();
277
+ this.logger.info("Inscribing file via HCS-1 (browser)", { fileName });
208
278
  const mimeType = mime.lookup(fileName) || "application/octet-stream";
209
279
  const sdk = await InscriptionSDK.createWithAuth({
210
- type: "server",
211
- accountId: this.operatorAccountId,
212
- privateKey: this.operatorCtx.operatorKey.toString(),
280
+ type: "client",
281
+ accountId,
282
+ signer,
213
283
  network: this.network
214
284
  });
215
285
  const inscriptionOptions = {
@@ -220,20 +290,17 @@ class HCS12Client extends HCS12BaseClient {
220
290
  progressCallback: options?.progressCallback,
221
291
  logging: {
222
292
  level: this.logger.getLevel ? this.logger.getLevel() : "info"
223
- }
293
+ },
294
+ network: this.network
224
295
  };
225
- const response = await inscribe(
296
+ const response = await inscribeWithSigner(
226
297
  {
227
298
  type: "buffer",
228
299
  buffer,
229
300
  fileName,
230
301
  mimeType
231
302
  },
232
- {
233
- accountId: this.operatorAccountId,
234
- privateKey: this.operatorCtx.operatorKey,
235
- network: this.network
236
- },
303
+ signer,
237
304
  inscriptionOptions,
238
305
  sdk
239
306
  );
@@ -243,16 +310,7 @@ class HCS12Client extends HCS12BaseClient {
243
310
  return response.inscription;
244
311
  }
245
312
  /**
246
- * Create a new assembly topic
247
- */
248
- async createAssemblyTopic() {
249
- if (!this._assemblyRegistry) {
250
- throw new Error("Assembly registry not initialized");
251
- }
252
- return this._assemblyRegistry.createAssemblyTopic();
253
- }
254
- /**
255
- * Register an action
313
+ * Register an action built with ActionBuilder
256
314
  */
257
315
  async registerAction(builder) {
258
316
  const registration = builder.build();
@@ -263,14 +321,14 @@ class HCS12Client extends HCS12BaseClient {
263
321
  this.actionRegistryTopicId,
264
322
  JSON.stringify(registration)
265
323
  );
266
- this.logger.info("Action registered", {
324
+ this.logger.info("Action registered (browser)", {
267
325
  topicId: registration.t_id,
268
326
  transactionId: result.transactionId
269
327
  });
270
328
  return builder;
271
329
  }
272
330
  /**
273
- * Register a block
331
+ * Register a block built with BlockBuilder
274
332
  */
275
333
  async registerBlock(builder) {
276
334
  const templateBuffer = builder.getTemplate();
@@ -291,7 +349,7 @@ class HCS12Client extends HCS12BaseClient {
291
349
  Buffer.from(JSON.stringify(definition, null, 2)),
292
350
  `${definition.name}-definition.json`
293
351
  );
294
- this.logger.info("Block registered", {
352
+ this.logger.info("Block registered (browser)", {
295
353
  name: definition.name,
296
354
  definitionTopicId: definitionResult.topic_id,
297
355
  templateTopicId: definition.template_t_id
@@ -300,9 +358,12 @@ class HCS12Client extends HCS12BaseClient {
300
358
  return builder;
301
359
  }
302
360
  /**
303
- * Create an assembly using AssemblyBuilder
361
+ * Create an assembly using AssemblyBuilder and wallet signer
304
362
  */
305
363
  async createAssembly(builder) {
364
+ if (!builder) {
365
+ return this.createAssemblyTopic();
366
+ }
306
367
  const registration = builder.build();
307
368
  const assemblyTopicId = await this.createAssemblyTopic();
308
369
  await this.registerAssemblyDirect(assemblyTopicId, registration);
@@ -320,7 +381,7 @@ class HCS12Client extends HCS12BaseClient {
320
381
  break;
321
382
  }
322
383
  }
323
- this.logger.info("Assembly created", {
384
+ this.logger.info("Assembly created (browser)", {
324
385
  topicId: assemblyTopicId,
325
386
  name: registration.name,
326
387
  version: registration.version,
@@ -330,6 +391,6 @@ class HCS12Client extends HCS12BaseClient {
330
391
  }
331
392
  }
332
393
  export {
333
- HCS12Client
394
+ HCS12BrowserClient
334
395
  };
335
396
  //# sourceMappingURL=standards-sdk.es37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es37.js","sources":["../../src/hcs-12/sdk.ts"],"sourcesContent":["import {\n Client,\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n TopicId,\n TransactionResponse,\n PrivateKey,\n PublicKey,\n KeyList,\n} from '@hashgraph/sdk';\nimport { HCS12BaseClient, HCS12Config } from './base-client';\nimport { Logger } from '../utils';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport {\n ActionRegistry,\n BlockLoader,\n AssemblyRegistry,\n HashLinksRegistry,\n} from './registries';\nimport {\n RegistryType,\n ActionRegistration,\n AssemblyRegistration,\n AssemblyAddBlock,\n AssemblyAddAction,\n AssemblyUpdate,\n BlockDefinition,\n} from './types';\nimport { ActionBuilder, AssemblyBuilder, BlockBuilder } from './builders';\nimport { inscribe } from '../inscribe/inscriber';\nimport { InscriptionSDK } from '@kiloscribe/inscription-sdk';\nimport type { RetrievedInscriptionResult } from '../inscribe/types';\nimport * as mime from 'mime-types';\nimport { buildTopicCreateTx, buildMessageTx } from '../common/tx/tx-utils';\n\n/**\n * Configuration for HCS-12 SDK client\n */\nexport interface HCS12ClientConfig extends HCS12Config {\n /** Operator account ID */\n operatorId: string;\n /** Operator private key */\n operatorPrivateKey: string | PrivateKey;\n}\n\n/**\n * HCS-12 SDK client for server-side HashLinks operations\n */\nexport class HCS12Client extends HCS12BaseClient {\n private client: Client;\n private operatorAccountId: string;\n private operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS12ClientConfig) {\n super(config);\n\n this.operatorAccountId = config.operatorId;\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorAccountId,\n operatorKey: config.operatorPrivateKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client:\n config.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet(),\n });\n this.client = this.operatorCtx.client;\n\n this.logger.info('HCS-12 SDK Client initialized', {\n network: config.network,\n operatorId: this.operatorAccountId,\n keyType: this.operatorCtx.keyType,\n });\n }\n\n /**\n * Initialize registries with optional existing topic IDs\n */\n initializeRegistries(topicIds?: {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n }): void {\n super.initializeRegistries(topicIds);\n\n this._actionRegistry = new ActionRegistry(\n this.network,\n this.logger,\n this.actionRegistryTopicId,\n this,\n );\n\n this._blockLoader = new BlockLoader(this.network, this.logger, this);\n\n this._assemblyRegistry = new AssemblyRegistry(\n this.network,\n this.logger,\n this._assemblyRegistryTopicId,\n this,\n );\n\n this._hashLinksRegistry = new HashLinksRegistry(\n this.network,\n this.logger,\n this._hashLinksRegistryTopicId,\n this,\n );\n\n this.logger.info('Registries initialized', {\n actionTopicId: this.actionRegistryTopicId,\n assemblyTopicId: this._assemblyRegistryTopicId,\n hashLinksTopicId: this._hashLinksRegistryTopicId,\n });\n }\n\n /**\n * Create a new HCS topic for a registry\n */\n async createRegistryTopic(\n registryType: RegistryType,\n adminKey?: boolean | PublicKey | KeyList,\n submitKey?: boolean | PublicKey | KeyList,\n ): Promise<string> {\n const memos: Record<RegistryType, string> = {\n [RegistryType.ACTION]: 'hcs-12:1:60:0',\n [RegistryType.ASSEMBLY]: 'hcs-12:1:60:2',\n [RegistryType.HASHLINKS]: 'hcs-12:1:60:3',\n };\n const memo = memos[registryType];\n\n this.logger.info('Creating registry topic', {\n registryType: RegistryType[registryType],\n memo,\n });\n\n const transaction = buildTopicCreateTx({\n memo,\n adminKey: adminKey as boolean | PublicKey | KeyList | undefined,\n submitKey: submitKey as boolean | PublicKey | KeyList | undefined,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\n });\n\n const txResponse = await transaction.execute(this.client);\n const receipt = await txResponse.getReceipt(this.client);\n\n if (!receipt.topicId) {\n throw new Error('Failed to create topic: topicId is null');\n }\n\n const topicId = receipt.topicId.toString();\n this.logger.info('Registry topic created', {\n topicId,\n registryType: RegistryType[registryType],\n });\n\n switch (registryType) {\n case RegistryType.ACTION:\n this.actionRegistryTopicId = topicId;\n break;\n case RegistryType.ASSEMBLY:\n this._assemblyRegistryTopicId = topicId;\n break;\n case RegistryType.HASHLINKS:\n break;\n }\n\n return topicId;\n }\n\n /**\n * Register an assembly on its own topic\n */\n async registerAssemblyDirect(\n assemblyTopicId: string,\n registration: AssemblyRegistration,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Registering assembly', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(registration));\n }\n\n /**\n * Add a block to an assembly\n */\n async addBlockToAssembly(\n assemblyTopicId: string,\n block: AssemblyAddBlock,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding block to assembly', {\n assemblyTopicId,\n blockTopicId: block.block_t_id,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(block));\n }\n\n /**\n * Add an action to an assembly\n */\n async addActionToAssembly(\n assemblyTopicId: string,\n action: AssemblyAddAction,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding action to assembly', {\n assemblyTopicId,\n actionTopicId: action.t_id,\n alias: action.alias,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(action));\n }\n\n /**\n * Update assembly metadata\n */\n async updateAssembly(\n assemblyTopicId: string,\n update: AssemblyUpdate,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Updating assembly', {\n assemblyTopicId,\n update,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(update));\n }\n\n /**\n * Submit a message to an HCS topic\n * @deprecated Use operation-specific methods instead\n */\n async submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.warn(\n 'submitMessage is deprecated. Use operation-specific methods instead.',\n );\n return this._submitMessage(topicId, message, submitKey);\n }\n\n /**\n * Internal method to submit a message to an HCS topic\n */\n private async _submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.debug('Submitting message to topic', {\n topicId,\n messageLength: message.length,\n });\n\n const transaction = buildMessageTx({ topicId, message });\n\n let transactionResponse: TransactionResponse;\n if (submitKey) {\n const frozenTransaction = transaction.freezeWith(this.client);\n const signedTransaction = await frozenTransaction.sign(submitKey);\n transactionResponse = await signedTransaction.execute(this.client);\n } else {\n transactionResponse = await transaction.execute(this.client);\n }\n\n const receipt = await transactionResponse.getReceipt(this.client);\n\n this.logger.info('Message submitted successfully', {\n topicId,\n transactionId: transactionResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber?.toString(),\n });\n\n return {\n transactionId: transactionResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber\n ? Number(receipt.topicSequenceNumber)\n : undefined,\n };\n }\n\n /**\n * Get the Hedera client instance\n */\n getClient(): Client {\n return this.client;\n }\n\n /**\n * Get operator account ID\n */\n getOperatorAccountId(): string {\n return this.operatorAccountId;\n }\n\n /**\n * Get operator private key\n */\n getOperatorPrivateKey(): string {\n return this.operatorCtx.operatorKey.toString();\n }\n\n /**\n * Inscribe a file using HCS-1 protocol\n */\n async inscribeFile(\n buffer: Buffer,\n fileName: string,\n options?: {\n progressCallback?: (progress: any) => void;\n waitMaxAttempts?: number;\n waitIntervalMs?: number;\n },\n ): Promise<RetrievedInscriptionResult> {\n this.logger.info('Inscribing file via HCS-1', { fileName });\n\n const mimeType = mime.lookup(fileName) || 'application/octet-stream';\n\n const sdk = await InscriptionSDK.createWithAuth({\n type: 'server',\n accountId: this.operatorAccountId,\n privateKey: this.operatorCtx.operatorKey.toString(),\n network: this.network as 'testnet' | 'mainnet',\n });\n\n const inscriptionOptions = {\n mode: 'file' as const,\n waitForConfirmation: true,\n waitMaxAttempts: options?.waitMaxAttempts || 30,\n waitIntervalMs: options?.waitIntervalMs || 4000,\n progressCallback: options?.progressCallback,\n logging: {\n level: this.logger.getLevel ? this.logger.getLevel() : 'info',\n },\n };\n\n const response = await inscribe(\n {\n type: 'buffer',\n buffer,\n fileName,\n mimeType,\n },\n {\n accountId: this.operatorAccountId,\n privateKey: this.operatorCtx.operatorKey,\n network: this.network,\n },\n inscriptionOptions,\n sdk,\n );\n\n if (!response.confirmed || !response.inscription) {\n throw new Error('Inscription failed to confirm');\n }\n\n return response.inscription;\n }\n\n /**\n * Create a new assembly topic\n */\n async createAssemblyTopic(): Promise<string> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n return this._assemblyRegistry.createAssemblyTopic();\n }\n\n /**\n * Register an action\n */\n async registerAction(builder: ActionBuilder): Promise<ActionBuilder> {\n const registration = builder.build();\n\n if (!this._actionRegistry) {\n throw new Error('Action registry not initialized');\n }\n\n const result = await this._submitMessage(\n this.actionRegistryTopicId,\n JSON.stringify(registration),\n );\n\n this.logger.info('Action registered', {\n topicId: registration.t_id,\n transactionId: result.transactionId,\n });\n\n return builder;\n }\n\n /**\n * Register a block\n */\n async registerBlock(builder: BlockBuilder): Promise<BlockBuilder> {\n const templateBuffer = builder.getTemplate();\n\n if (templateBuffer) {\n const templateResult = await this.inscribeFile(\n templateBuffer,\n `${builder.getName() || 'block'}-template.html`,\n );\n builder.setTemplateTopicId(templateResult.topic_id);\n }\n\n const definition = builder.build();\n\n if (!definition.template_t_id) {\n throw new Error(\n 'Block must have either a template buffer (via setTemplate) or template_t_id',\n );\n }\n\n const definitionResult = await this.inscribeFile(\n Buffer.from(JSON.stringify(definition, null, 2)),\n `${definition.name}-definition.json`,\n );\n\n this.logger.info('Block registered', {\n name: definition.name,\n definitionTopicId: definitionResult.topic_id,\n templateTopicId: definition.template_t_id,\n });\n\n builder.setTopicId(definitionResult.topic_id);\n return builder;\n }\n\n /**\n * Create an assembly using AssemblyBuilder\n */\n async createAssembly(builder: AssemblyBuilder): Promise<string> {\n const registration = builder.build();\n\n const assemblyTopicId = await this.createAssemblyTopic();\n\n await this.registerAssemblyDirect(assemblyTopicId, registration);\n\n const operations = builder.getOperations();\n for (const operation of operations) {\n switch (operation.op) {\n case 'add-block':\n await this.addBlockToAssembly(assemblyTopicId, operation);\n break;\n case 'add-action':\n await this.addActionToAssembly(assemblyTopicId, operation);\n break;\n case 'update':\n await this.updateAssembly(assemblyTopicId, operation);\n break;\n }\n }\n\n this.logger.info('Assembly created', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n operations: operations.length,\n });\n\n return assemblyTopicId;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es37.js","sources":["../../src/hcs-12/browser.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n TopicId,\n TransactionId,\n PrivateKey,\n PublicKey,\n KeyList,\n AccountId,\n} from '@hashgraph/sdk';\nimport type { DAppSigner } from '@hashgraph/hedera-wallet-connect';\nimport { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';\nimport { HCS12BaseClient, HCS12Config } from './base-client';\nimport {\n ActionRegistry,\n BlockLoader,\n AssemblyRegistry,\n HashLinksRegistry,\n} from './registries';\nimport {\n RegistryType,\n ActionRegistration,\n AssemblyRegistration,\n AssemblyAddBlock,\n AssemblyAddAction,\n AssemblyUpdate,\n BlockDefinition,\n} from './types';\nimport { ActionBuilder, AssemblyBuilder, BlockBuilder } from './builders';\nimport { InscriptionSDK } from '@kiloscribe/inscription-sdk';\nimport type { RetrievedInscriptionResult } from '../inscribe/types';\nimport * as mime from 'mime-types';\nimport { inscribeWithSigner } from '../inscribe/inscriber';\n\n/**\n * Configuration for HCS-12 browser client\n */\nexport interface HCS12BrowserClientConfig extends HCS12Config {\n /** HashConnect Wallet Connect SDK instance */\n hwc: HashinalsWalletConnectSDK;\n}\n\n/**\n * HCS-12 browser client for client-side HashLinks operations\n */\nexport class HCS12BrowserClient extends HCS12BaseClient {\n private hwc: HashinalsWalletConnectSDK;\n private accountId?: string;\n\n constructor(config: HCS12BrowserClientConfig) {\n super(config);\n\n this.hwc = config.hwc;\n\n this.updateAccountFromWallet();\n\n this.logger.info('HCS-12 Browser Client initialized', {\n network: config.network,\n accountId: this.accountId,\n });\n }\n\n /**\n * Update account ID from wallet connect session\n */\n private async updateAccountFromWallet(): Promise<void> {\n try {\n const { accountId } = await this.getAccountAndSigner();\n this.accountId = accountId;\n } catch (error) {\n this.logger.warn('No active wallet connection');\n }\n }\n\n /**\n * Get account and signer from wallet connect\n */\n async getAccountAndSigner(): Promise<{\n accountId: string;\n signer: DAppSigner;\n }> {\n const accountInfo = this?.hwc?.getAccountInfo();\n const accountId = accountInfo?.accountId?.toString();\n const signer = this?.hwc?.dAppConnector?.signers?.find(s => {\n return s.getAccountId().toString() === accountId;\n });\n\n if (!signer || !accountId) {\n this.logger.error('Failed to find signer', {\n accountId,\n signers: this?.hwc?.dAppConnector?.signers,\n accountInfo,\n });\n throw new Error('Failed to find signer or account');\n }\n\n return { accountId, signer };\n }\n\n /**\n * Get operator account ID (throws in browser)\n */\n getOperatorAccountId(): string {\n throw new Error('Browser client does not have operator account');\n }\n\n /**\n * Get operator private key (throws in browser)\n */\n getOperatorPrivateKey(): string {\n throw new Error('Browser client does not have operator private key');\n }\n\n /**\n * Initialize registries with optional existing topic IDs\n */\n initializeRegistries(topicIds?: {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n }): void {\n super.initializeRegistries(topicIds);\n\n this._actionRegistry = new ActionRegistry(\n this.network,\n this.logger,\n this.actionRegistryTopicId,\n this,\n );\n\n this._blockLoader = new BlockLoader(this.network, this.logger, this);\n\n this._assemblyRegistry = new AssemblyRegistry(\n this.network,\n this.logger,\n this._assemblyRegistryTopicId,\n this,\n );\n\n this._hashLinksRegistry = new HashLinksRegistry(\n this.network,\n this.logger,\n this._hashLinksRegistryTopicId,\n this,\n );\n\n this.logger.info('Registries initialized with signer', {\n actionTopicId: this.actionRegistryTopicId,\n assemblyTopicId: this._assemblyRegistryTopicId,\n hashLinksTopicId: this._hashLinksRegistryTopicId,\n });\n }\n\n /**\n * Create a new HCS topic for a registry\n */\n async createRegistryTopic(\n registryType: RegistryType,\n adminKey?: boolean | PublicKey | KeyList,\n submitKey?: boolean | PublicKey | KeyList,\n ): Promise<string> {\n const { accountId, signer } = await this.getAccountAndSigner();\n\n const memos: Record<RegistryType, string> = {\n [RegistryType.ACTION]: 'hcs-12:1:60:0',\n [RegistryType.ASSEMBLY]: 'hcs-12:1:60:2',\n [RegistryType.HASHLINKS]: 'hcs-12:1:60:3',\n };\n const memo = memos[registryType];\n\n this.logger.info('Creating registry topic via wallet', {\n registryType: RegistryType[registryType],\n memo,\n accountId,\n });\n\n const transaction = new TopicCreateTransaction()\n .setTopicMemo(memo)\n .setTransactionId(TransactionId.generate(accountId));\n\n if (adminKey) {\n if (typeof adminKey === 'boolean' && adminKey) {\n const publicKey = await signer.getAccountKey();\n transaction.setAdminKey(publicKey);\n transaction.setAutoRenewAccountId(AccountId.fromString(accountId));\n } else if (adminKey instanceof PublicKey || adminKey instanceof KeyList) {\n transaction.setAdminKey(adminKey);\n transaction.setAutoRenewAccountId(AccountId.fromString(accountId));\n }\n }\n\n if (submitKey) {\n if (typeof submitKey === 'boolean' && submitKey) {\n const publicKey = await signer.getAccountKey();\n transaction.setSubmitKey(publicKey);\n } else if (\n submitKey instanceof PublicKey ||\n submitKey instanceof KeyList\n ) {\n transaction.setSubmitKey(submitKey);\n }\n }\n\n const signedTx = await transaction.freezeWithSigner(signer);\n const txResponse = await signedTx.executeWithSigner(signer);\n const receipt = await txResponse.getReceiptWithSigner(signer);\n\n if (!receipt.topicId) {\n throw new Error('Failed to create topic: topicId is null');\n }\n\n const topicId = receipt.topicId.toString();\n this.logger.info('Registry topic created via wallet', {\n topicId,\n registryType: RegistryType[registryType],\n });\n\n switch (registryType) {\n case RegistryType.ACTION:\n this.actionRegistryTopicId = topicId;\n break;\n case RegistryType.ASSEMBLY:\n this._assemblyRegistryTopicId = topicId;\n break;\n case RegistryType.HASHLINKS:\n break;\n }\n\n return topicId;\n }\n\n /**\n * Create a new assembly topic\n */\n async createAssemblyTopic(): Promise<string> {\n this.logger.info('Creating new assembly topic');\n const topicId = await this.createRegistryTopic(RegistryType.ASSEMBLY);\n return topicId;\n }\n\n /**\n * Register an assembly on its own topic\n */\n async registerAssemblyDirect(\n assemblyTopicId: string,\n registration: AssemblyRegistration,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Registering assembly', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(registration));\n }\n\n /**\n * Add a block to an assembly\n */\n async addBlockToAssembly(\n assemblyTopicId: string,\n block: AssemblyAddBlock,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding block to assembly', {\n assemblyTopicId,\n blockTopicId: block.block_t_id,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(block));\n }\n\n /**\n * Add an action to an assembly\n */\n async addActionToAssembly(\n assemblyTopicId: string,\n action: AssemblyAddAction,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding action to assembly', {\n assemblyTopicId,\n actionTopicId: action.t_id,\n alias: action.alias,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(action));\n }\n\n /**\n * Update assembly metadata\n */\n async updateAssembly(\n assemblyTopicId: string,\n update: AssemblyUpdate,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Updating assembly', {\n assemblyTopicId,\n update,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(update));\n }\n\n /**\n * Store a block (definition and template) via HCS-1\n */\n async storeBlock(\n template: string,\n definition: BlockDefinition,\n ): Promise<{ definitionTopicId: string; templateTopicId: string }> {\n if (!this.blockLoader) {\n throw new Error('Block loader not initialized');\n }\n\n return this.blockLoader.storeBlock(template, definition);\n }\n\n /**\n * Submit a message to an HCS topic\n * @deprecated Use operation-specific methods instead\n */\n async submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.warn(\n 'submitMessage is deprecated. Use operation-specific methods instead.',\n );\n return this._submitMessage(topicId, message, submitKey);\n }\n\n /**\n * Internal method to submit a message to an HCS topic\n */\n private async _submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n const { accountId, signer } = await this.getAccountAndSigner();\n\n this.logger.debug('Submitting message to topic via wallet', {\n topicId,\n messageLength: message.length,\n accountId,\n });\n\n const transaction = new TopicMessageSubmitTransaction()\n .setTopicId(TopicId.fromString(topicId))\n .setMessage(message)\n .setTransactionId(TransactionId.generate(accountId));\n\n if (submitKey) {\n this.logger.warn(\n 'Submit key parameter ignored in browser client - using wallet signer',\n );\n }\n\n const signedTx = await transaction.freezeWithSigner(signer);\n const txResponse = await signedTx.executeWithSigner(signer);\n const receipt = await txResponse.getReceiptWithSigner(signer);\n\n this.logger.info('Message submitted successfully via wallet', {\n topicId,\n transactionId: txResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber?.toString(),\n });\n\n return {\n transactionId: txResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber\n ? Number(receipt.topicSequenceNumber)\n : undefined,\n };\n }\n\n /**\n * Get the HashConnect instance\n */\n getHashConnect(): HashinalsWalletConnectSDK {\n return this.hwc;\n }\n\n /**\n * Get connected account ID\n */\n getAccountId(): string | undefined {\n return this.accountId;\n }\n\n /**\n * Check if wallet is connected\n */\n async isConnected(): Promise<boolean> {\n try {\n await this.getAccountAndSigner();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * Inscribe a file using HCS-1 via wallet signer (browser)\n */\n async inscribeFile(\n buffer: Buffer,\n fileName: string,\n options?: {\n progressCallback?: (progress: unknown) => void;\n waitMaxAttempts?: number;\n waitIntervalMs?: number;\n },\n ): Promise<RetrievedInscriptionResult> {\n const { accountId, signer } = await this.getAccountAndSigner();\n\n this.logger.info('Inscribing file via HCS-1 (browser)', { fileName });\n\n const mimeType = mime.lookup(fileName) || 'application/octet-stream';\n\n const sdk = await InscriptionSDK.createWithAuth({\n type: 'client',\n accountId,\n signer,\n network: this.network as 'testnet' | 'mainnet',\n });\n\n const inscriptionOptions = {\n mode: 'file' as const,\n waitForConfirmation: true,\n waitMaxAttempts: options?.waitMaxAttempts || 30,\n waitIntervalMs: options?.waitIntervalMs || 4000,\n progressCallback: options?.progressCallback,\n logging: {\n level: this.logger.getLevel ? this.logger.getLevel() : 'info',\n },\n network: this.network as 'testnet' | 'mainnet',\n };\n\n const response = await inscribeWithSigner(\n {\n type: 'buffer',\n buffer,\n fileName,\n mimeType,\n },\n signer,\n inscriptionOptions,\n sdk,\n );\n\n if (!response.confirmed || !response.inscription) {\n throw new Error('Inscription failed to confirm');\n }\n\n return response.inscription;\n }\n\n /**\n * Register an action built with ActionBuilder\n */\n async registerAction(builder: ActionBuilder): Promise<ActionBuilder> {\n const registration = builder.build();\n\n if (!this._actionRegistry) {\n throw new Error('Action registry not initialized');\n }\n\n const result = await this._submitMessage(\n this.actionRegistryTopicId,\n JSON.stringify(registration),\n );\n\n this.logger.info('Action registered (browser)', {\n topicId: registration.t_id,\n transactionId: result.transactionId,\n });\n\n return builder;\n }\n\n /**\n * Register a block built with BlockBuilder\n */\n async registerBlock(builder: BlockBuilder): Promise<BlockBuilder> {\n const templateBuffer = builder.getTemplate();\n\n if (templateBuffer) {\n const templateResult = await this.inscribeFile(\n templateBuffer,\n `${builder.getName() || 'block'}-template.html`,\n );\n builder.setTemplateTopicId(templateResult.topic_id);\n }\n\n const definition = builder.build();\n\n if (!definition.template_t_id) {\n throw new Error(\n 'Block must have either a template buffer (via setTemplate) or template_t_id',\n );\n }\n\n const definitionResult = await this.inscribeFile(\n Buffer.from(JSON.stringify(definition, null, 2)),\n `${definition.name}-definition.json`,\n );\n\n this.logger.info('Block registered (browser)', {\n name: definition.name,\n definitionTopicId: definitionResult.topic_id,\n templateTopicId: definition.template_t_id,\n });\n\n builder.setTopicId(definitionResult.topic_id);\n return builder;\n }\n\n async createAssembly(): Promise<string>;\n async createAssembly(builder: AssemblyBuilder): Promise<string>;\n\n /**\n * Create an assembly using AssemblyBuilder and wallet signer\n */\n async createAssembly(builder?: AssemblyBuilder): Promise<string> {\n if (!builder) {\n return this.createAssemblyTopic();\n }\n\n const registration = builder.build();\n\n const assemblyTopicId = await this.createAssemblyTopic();\n\n await this.registerAssemblyDirect(assemblyTopicId, registration);\n\n const operations = builder.getOperations();\n for (const operation of operations) {\n switch (operation.op) {\n case 'add-block':\n await this.addBlockToAssembly(assemblyTopicId, operation);\n break;\n case 'add-action':\n await this.addActionToAssembly(assemblyTopicId, operation);\n break;\n case 'update':\n await this.updateAssembly(assemblyTopicId, operation);\n break;\n }\n }\n\n this.logger.info('Assembly created (browser)', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n operations: operations.length,\n });\n\n return assemblyTopicId;\n }\n}\n"],"names":[],"mappings":"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"}