@hashgraphonline/standards-sdk 0.1.144 → 0.1.146-chore-jsr-improvements.canary.74bacb9.89

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 (442) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  4. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  5. package/dist/cjs/hcs-11/client.d.ts +2 -2
  6. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  7. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  8. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  9. package/dist/cjs/hcs-11/types.d.ts +1 -0
  10. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  11. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  12. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-15/browser.d.ts +2 -0
  14. package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
  15. package/dist/cjs/hcs-15/sdk.d.ts +7 -1
  16. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  17. package/dist/cjs/hcs-15/tx.d.ts +4 -0
  18. package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
  19. package/dist/cjs/hcs-15/types.d.ts +16 -1
  20. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  21. package/dist/cjs/hcs-16/browser.d.ts +11 -2
  22. package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
  23. package/dist/cjs/hcs-16/sdk.d.ts +62 -1
  24. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  25. package/dist/cjs/hcs-16/tx.d.ts +21 -3
  26. package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
  27. package/dist/cjs/hcs-17/base-client.d.ts +1 -0
  28. package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
  29. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  30. package/dist/cjs/hcs-17/tx.d.ts +2 -0
  31. package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
  32. package/dist/cjs/hcs-17/types.d.ts +4 -0
  33. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  34. package/dist/cjs/hcs-3/src/types.d.ts +60 -0
  35. package/dist/cjs/hcs-3/src/types.d.ts.map +1 -0
  36. package/dist/cjs/hcs-7/types.d.ts +4 -4
  37. package/dist/cjs/index.d.ts.map +1 -1
  38. package/dist/cjs/inscribe/inscriber.d.ts +89 -0
  39. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  40. package/dist/cjs/jsr-entry.d.ts +16 -0
  41. package/dist/cjs/jsr-entry.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
  43. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  44. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  45. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts +24 -0
  47. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/index.d.ts +1 -0
  49. package/dist/cjs/services/registry-broker/index.d.ts.map +1 -1
  50. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  51. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  52. package/dist/cjs/services/registry-broker/schemas.d.ts +1010 -586
  53. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  54. package/dist/cjs/services/registry-broker/types.d.ts +20 -1
  55. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  56. package/dist/cjs/standards-sdk.cjs +3 -3
  57. package/dist/cjs/standards-sdk.cjs.map +1 -1
  58. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  59. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  60. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  61. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  62. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  63. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  64. package/dist/es/hcs-10/sdk.d.ts +8 -0
  65. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  66. package/dist/es/hcs-11/client.d.ts +2 -2
  67. package/dist/es/hcs-11/client.d.ts.map +1 -1
  68. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  69. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  70. package/dist/es/hcs-11/types.d.ts +1 -0
  71. package/dist/es/hcs-11/types.d.ts.map +1 -1
  72. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  73. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  74. package/dist/es/hcs-15/browser.d.ts +2 -0
  75. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  76. package/dist/es/hcs-15/sdk.d.ts +7 -1
  77. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  78. package/dist/es/hcs-15/tx.d.ts +4 -0
  79. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  80. package/dist/es/hcs-15/types.d.ts +16 -1
  81. package/dist/es/hcs-15/types.d.ts.map +1 -1
  82. package/dist/es/hcs-16/browser.d.ts +11 -2
  83. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  84. package/dist/es/hcs-16/sdk.d.ts +62 -1
  85. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  86. package/dist/es/hcs-16/tx.d.ts +21 -3
  87. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  88. package/dist/es/hcs-17/base-client.d.ts +1 -0
  89. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  90. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  91. package/dist/es/hcs-17/tx.d.ts +2 -0
  92. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  93. package/dist/es/hcs-17/types.d.ts +4 -0
  94. package/dist/es/hcs-17/types.d.ts.map +1 -1
  95. package/dist/es/hcs-3/src/types.d.ts +60 -0
  96. package/dist/es/hcs-3/src/types.d.ts.map +1 -0
  97. package/dist/es/hcs-7/types.d.ts +4 -4
  98. package/dist/es/index.d.ts.map +1 -1
  99. package/dist/es/inscribe/inscriber.d.ts +89 -0
  100. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  101. package/dist/es/jsr-entry.d.ts +16 -0
  102. package/dist/es/jsr-entry.d.ts.map +1 -0
  103. package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
  104. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  105. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  106. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  107. package/dist/es/services/registry-broker/hol-chat-ops.d.ts +24 -0
  108. package/dist/es/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  109. package/dist/es/services/registry-broker/index.d.ts +1 -0
  110. package/dist/es/services/registry-broker/index.d.ts.map +1 -1
  111. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  112. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  113. package/dist/es/services/registry-broker/schemas.d.ts +1010 -586
  114. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  115. package/dist/es/services/registry-broker/types.d.ts +20 -1
  116. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  117. package/dist/es/standards-sdk.es.js +146 -131
  118. package/dist/es/standards-sdk.es10.js +70 -90
  119. package/dist/es/standards-sdk.es10.js.map +1 -1
  120. package/dist/es/standards-sdk.es100.js +229 -26
  121. package/dist/es/standards-sdk.es100.js.map +1 -1
  122. package/dist/es/standards-sdk.es101.js +109 -228
  123. package/dist/es/standards-sdk.es101.js.map +1 -1
  124. package/dist/es/standards-sdk.es102.js +15 -94
  125. package/dist/es/standards-sdk.es102.js.map +1 -1
  126. package/dist/es/standards-sdk.es103.js +80 -30
  127. package/dist/es/standards-sdk.es103.js.map +1 -1
  128. package/dist/es/standards-sdk.es104.js +27 -80
  129. package/dist/es/standards-sdk.es104.js.map +1 -1
  130. package/dist/es/standards-sdk.es105.js +136 -25
  131. package/dist/es/standards-sdk.es105.js.map +1 -1
  132. package/dist/es/standards-sdk.es106.js +27 -140
  133. package/dist/es/standards-sdk.es106.js.map +1 -1
  134. package/dist/es/standards-sdk.es107.js +20 -27
  135. package/dist/es/standards-sdk.es107.js.map +1 -1
  136. package/dist/es/standards-sdk.es108.js +156 -18
  137. package/dist/es/standards-sdk.es108.js.map +1 -1
  138. package/dist/es/standards-sdk.es109.js +198 -148
  139. package/dist/es/standards-sdk.es109.js.map +1 -1
  140. package/dist/es/standards-sdk.es11.js +121 -45
  141. package/dist/es/standards-sdk.es11.js.map +1 -1
  142. package/dist/es/standards-sdk.es110.js +747 -166
  143. package/dist/es/standards-sdk.es110.js.map +1 -1
  144. package/dist/es/standards-sdk.es111.js +9 -786
  145. package/dist/es/standards-sdk.es111.js.map +1 -1
  146. package/dist/es/standards-sdk.es112.js +567 -13
  147. package/dist/es/standards-sdk.es112.js.map +1 -1
  148. package/dist/es/standards-sdk.es113.js +576 -541
  149. package/dist/es/standards-sdk.es113.js.map +1 -1
  150. package/dist/es/standards-sdk.es114.js +12 -601
  151. package/dist/es/standards-sdk.es114.js.map +1 -1
  152. package/dist/es/standards-sdk.es115.js +2 -13
  153. package/dist/es/standards-sdk.es115.js.map +1 -1
  154. package/dist/es/standards-sdk.es116.js +87 -2
  155. package/dist/es/standards-sdk.es116.js.map +1 -1
  156. package/dist/es/standards-sdk.es117.js +37 -80
  157. package/dist/es/standards-sdk.es117.js.map +1 -1
  158. package/dist/es/standards-sdk.es118.js +2 -39
  159. package/dist/es/standards-sdk.es118.js.map +1 -1
  160. package/dist/es/standards-sdk.es119.js +231 -2
  161. package/dist/es/standards-sdk.es119.js.map +1 -1
  162. package/dist/es/standards-sdk.es12.js +60 -159
  163. package/dist/es/standards-sdk.es12.js.map +1 -1
  164. package/dist/es/standards-sdk.es120.js +1110 -193
  165. package/dist/es/standards-sdk.es120.js.map +1 -1
  166. package/dist/es/standards-sdk.es121.js +225 -1059
  167. package/dist/es/standards-sdk.es121.js.map +1 -1
  168. package/dist/es/standards-sdk.es122.js +419 -303
  169. package/dist/es/standards-sdk.es122.js.map +1 -1
  170. package/dist/es/standards-sdk.es123.js +351 -418
  171. package/dist/es/standards-sdk.es123.js.map +1 -1
  172. package/dist/es/standards-sdk.es124.js +1109 -347
  173. package/dist/es/standards-sdk.es124.js.map +1 -1
  174. package/dist/es/standards-sdk.es125.js +182 -854
  175. package/dist/es/standards-sdk.es125.js.map +1 -1
  176. package/dist/es/standards-sdk.es126.js +1512 -153
  177. package/dist/es/standards-sdk.es126.js.map +1 -1
  178. package/dist/es/standards-sdk.es127.js +157 -1547
  179. package/dist/es/standards-sdk.es127.js.map +1 -1
  180. package/dist/es/standards-sdk.es128.js +192 -162
  181. package/dist/es/standards-sdk.es128.js.map +1 -1
  182. package/dist/es/standards-sdk.es129.js +61 -164
  183. package/dist/es/standards-sdk.es129.js.map +1 -1
  184. package/dist/es/standards-sdk.es13.js +200 -60
  185. package/dist/es/standards-sdk.es13.js.map +1 -1
  186. package/dist/es/standards-sdk.es130.js +102 -85
  187. package/dist/es/standards-sdk.es130.js.map +1 -1
  188. package/dist/es/standards-sdk.es131.js +222 -96
  189. package/dist/es/standards-sdk.es131.js.map +1 -1
  190. package/dist/es/standards-sdk.es132.js +153 -220
  191. package/dist/es/standards-sdk.es132.js.map +1 -1
  192. package/dist/es/standards-sdk.es133.js +104 -162
  193. package/dist/es/standards-sdk.es133.js.map +1 -1
  194. package/dist/es/standards-sdk.es134.js +296 -92
  195. package/dist/es/standards-sdk.es134.js.map +1 -1
  196. package/dist/es/standards-sdk.es135.js +432 -294
  197. package/dist/es/standards-sdk.es135.js.map +1 -1
  198. package/dist/es/standards-sdk.es136.js +14 -363
  199. package/dist/es/standards-sdk.es136.js.map +1 -1
  200. package/dist/es/standards-sdk.es137.js +79 -15
  201. package/dist/es/standards-sdk.es137.js.map +1 -1
  202. package/dist/es/standards-sdk.es138.js +79 -59
  203. package/dist/es/standards-sdk.es138.js.map +1 -1
  204. package/dist/es/standards-sdk.es139.js +53 -80
  205. package/dist/es/standards-sdk.es139.js.map +1 -1
  206. package/dist/es/standards-sdk.es14.js +149 -178
  207. package/dist/es/standards-sdk.es14.js.map +1 -1
  208. package/dist/es/standards-sdk.es140.js +1 -1
  209. package/dist/es/standards-sdk.es142.js +1 -1
  210. package/dist/es/standards-sdk.es143.js +1 -1
  211. package/dist/es/standards-sdk.es144.js +30 -28
  212. package/dist/es/standards-sdk.es144.js.map +1 -1
  213. package/dist/es/standards-sdk.es145.js +34 -138
  214. package/dist/es/standards-sdk.es145.js.map +1 -1
  215. package/dist/es/standards-sdk.es146.js +28 -42
  216. package/dist/es/standards-sdk.es146.js.map +1 -1
  217. package/dist/es/standards-sdk.es147.js +105 -12256
  218. package/dist/es/standards-sdk.es147.js.map +1 -1
  219. package/dist/es/standards-sdk.es148.js +40 -15
  220. package/dist/es/standards-sdk.es148.js.map +1 -1
  221. package/dist/es/standards-sdk.es149.js +959 -56
  222. package/dist/es/standards-sdk.es149.js.map +1 -1
  223. package/dist/es/standards-sdk.es15.js +152 -151
  224. package/dist/es/standards-sdk.es15.js.map +1 -1
  225. package/dist/es/standards-sdk.es150.js +12264 -57
  226. package/dist/es/standards-sdk.es150.js.map +1 -1
  227. package/dist/es/standards-sdk.es151.js +51 -167
  228. package/dist/es/standards-sdk.es151.js.map +1 -1
  229. package/dist/es/standards-sdk.es152.js +70 -308
  230. package/dist/es/standards-sdk.es152.js.map +1 -1
  231. package/dist/es/standards-sdk.es153.js +13 -342
  232. package/dist/es/standards-sdk.es153.js.map +1 -1
  233. package/dist/es/standards-sdk.es154.js +129 -410
  234. package/dist/es/standards-sdk.es154.js.map +1 -1
  235. package/dist/es/standards-sdk.es155.js +200 -209
  236. package/dist/es/standards-sdk.es155.js.map +1 -1
  237. package/dist/es/standards-sdk.es156.js +334 -64
  238. package/dist/es/standards-sdk.es156.js.map +1 -1
  239. package/dist/es/standards-sdk.es157.js +453 -871
  240. package/dist/es/standards-sdk.es157.js.map +1 -1
  241. package/dist/es/standards-sdk.es158.js +314 -222
  242. package/dist/es/standards-sdk.es158.js.map +1 -1
  243. package/dist/es/standards-sdk.es159.js +60 -228
  244. package/dist/es/standards-sdk.es159.js.map +1 -1
  245. package/dist/es/standards-sdk.es16.js +917 -136
  246. package/dist/es/standards-sdk.es16.js.map +1 -1
  247. package/dist/es/standards-sdk.es160.js +242 -0
  248. package/dist/es/standards-sdk.es160.js.map +1 -0
  249. package/dist/es/standards-sdk.es161.js +247 -0
  250. package/dist/es/standards-sdk.es161.js.map +1 -0
  251. package/dist/es/standards-sdk.es17.js +23 -944
  252. package/dist/es/standards-sdk.es17.js.map +1 -1
  253. package/dist/es/standards-sdk.es18.js +2422 -24
  254. package/dist/es/standards-sdk.es18.js.map +1 -1
  255. package/dist/es/standards-sdk.es19.js +817 -2071
  256. package/dist/es/standards-sdk.es19.js.map +1 -1
  257. package/dist/es/standards-sdk.es2.js +654 -189
  258. package/dist/es/standards-sdk.es2.js.map +1 -1
  259. package/dist/es/standards-sdk.es20.js +205 -1091
  260. package/dist/es/standards-sdk.es20.js.map +1 -1
  261. package/dist/es/standards-sdk.es21.js +858 -221
  262. package/dist/es/standards-sdk.es21.js.map +1 -1
  263. package/dist/es/standards-sdk.es22.js +179 -903
  264. package/dist/es/standards-sdk.es22.js.map +1 -1
  265. package/dist/es/standards-sdk.es23.js +164 -179
  266. package/dist/es/standards-sdk.es23.js.map +1 -1
  267. package/dist/es/standards-sdk.es24.js +62 -118
  268. package/dist/es/standards-sdk.es24.js.map +1 -1
  269. package/dist/es/standards-sdk.es25.js +377 -52
  270. package/dist/es/standards-sdk.es25.js.map +1 -1
  271. package/dist/es/standards-sdk.es26.js +36 -394
  272. package/dist/es/standards-sdk.es26.js.map +1 -1
  273. package/dist/es/standards-sdk.es27.js +901 -50
  274. package/dist/es/standards-sdk.es27.js.map +1 -1
  275. package/dist/es/standards-sdk.es28.js +134 -902
  276. package/dist/es/standards-sdk.es28.js.map +1 -1
  277. package/dist/es/standards-sdk.es29.js +7 -134
  278. package/dist/es/standards-sdk.es29.js.map +1 -1
  279. package/dist/es/standards-sdk.es3.js +63 -680
  280. package/dist/es/standards-sdk.es3.js.map +1 -1
  281. package/dist/es/standards-sdk.es30.js +344 -7
  282. package/dist/es/standards-sdk.es30.js.map +1 -1
  283. package/dist/es/standards-sdk.es31.js +302 -287
  284. package/dist/es/standards-sdk.es31.js.map +1 -1
  285. package/dist/es/standards-sdk.es32.js +94 -322
  286. package/dist/es/standards-sdk.es32.js.map +1 -1
  287. package/dist/es/standards-sdk.es33.js +458 -101
  288. package/dist/es/standards-sdk.es33.js.map +1 -1
  289. package/dist/es/standards-sdk.es34.js +132 -451
  290. package/dist/es/standards-sdk.es34.js.map +1 -1
  291. package/dist/es/standards-sdk.es35.js +216 -130
  292. package/dist/es/standards-sdk.es35.js.map +1 -1
  293. package/dist/es/standards-sdk.es36.js +273 -195
  294. package/dist/es/standards-sdk.es36.js.map +1 -1
  295. package/dist/es/standards-sdk.es37.js +148 -87
  296. package/dist/es/standards-sdk.es37.js.map +1 -1
  297. package/dist/es/standards-sdk.es38.js +183 -320
  298. package/dist/es/standards-sdk.es38.js.map +1 -1
  299. package/dist/es/standards-sdk.es39.js +238 -161
  300. package/dist/es/standards-sdk.es39.js.map +1 -1
  301. package/dist/es/standards-sdk.es4.js +425 -63
  302. package/dist/es/standards-sdk.es4.js.map +1 -1
  303. package/dist/es/standards-sdk.es40.js +136 -254
  304. package/dist/es/standards-sdk.es40.js.map +1 -1
  305. package/dist/es/standards-sdk.es41.js +225 -176
  306. package/dist/es/standards-sdk.es41.js.map +1 -1
  307. package/dist/es/standards-sdk.es42.js +199 -261
  308. package/dist/es/standards-sdk.es42.js.map +1 -1
  309. package/dist/es/standards-sdk.es43.js +237 -199
  310. package/dist/es/standards-sdk.es43.js.map +1 -1
  311. package/dist/es/standards-sdk.es44.js +209 -201
  312. package/dist/es/standards-sdk.es44.js.map +1 -1
  313. package/dist/es/standards-sdk.es45.js +305 -201
  314. package/dist/es/standards-sdk.es45.js.map +1 -1
  315. package/dist/es/standards-sdk.es46.js +371 -261
  316. package/dist/es/standards-sdk.es46.js.map +1 -1
  317. package/dist/es/standards-sdk.es47.js +316 -371
  318. package/dist/es/standards-sdk.es47.js.map +1 -1
  319. package/dist/es/standards-sdk.es48.js +404 -336
  320. package/dist/es/standards-sdk.es48.js.map +1 -1
  321. package/dist/es/standards-sdk.es49.js +83 -449
  322. package/dist/es/standards-sdk.es49.js.map +1 -1
  323. package/dist/es/standards-sdk.es5.js +232 -354
  324. package/dist/es/standards-sdk.es5.js.map +1 -1
  325. package/dist/es/standards-sdk.es50.js +179 -89
  326. package/dist/es/standards-sdk.es50.js.map +1 -1
  327. package/dist/es/standards-sdk.es51.js +231 -165
  328. package/dist/es/standards-sdk.es51.js.map +1 -1
  329. package/dist/es/standards-sdk.es52.js +25 -262
  330. package/dist/es/standards-sdk.es52.js.map +1 -1
  331. package/dist/es/standards-sdk.es53.js +56 -26
  332. package/dist/es/standards-sdk.es53.js.map +1 -1
  333. package/dist/es/standards-sdk.es54.js +12 -57
  334. package/dist/es/standards-sdk.es54.js.map +1 -1
  335. package/dist/es/standards-sdk.es55.js +49 -12
  336. package/dist/es/standards-sdk.es55.js.map +1 -1
  337. package/dist/es/standards-sdk.es56.js +115 -43
  338. package/dist/es/standards-sdk.es56.js.map +1 -1
  339. package/dist/es/standards-sdk.es57.js +42 -115
  340. package/dist/es/standards-sdk.es57.js.map +1 -1
  341. package/dist/es/standards-sdk.es58.js +52 -43
  342. package/dist/es/standards-sdk.es58.js.map +1 -1
  343. package/dist/es/standards-sdk.es59.js +36 -50
  344. package/dist/es/standards-sdk.es59.js.map +1 -1
  345. package/dist/es/standards-sdk.es6.js +125 -246
  346. package/dist/es/standards-sdk.es6.js.map +1 -1
  347. package/dist/es/standards-sdk.es60.js +207 -39
  348. package/dist/es/standards-sdk.es60.js.map +1 -1
  349. package/dist/es/standards-sdk.es61.js +24 -200
  350. package/dist/es/standards-sdk.es61.js.map +1 -1
  351. package/dist/es/standards-sdk.es62.js +87 -25
  352. package/dist/es/standards-sdk.es62.js.map +1 -1
  353. package/dist/es/standards-sdk.es63.js +3 -51
  354. package/dist/es/standards-sdk.es63.js.map +1 -1
  355. package/dist/es/standards-sdk.es64.js +100 -3
  356. package/dist/es/standards-sdk.es64.js.map +1 -1
  357. package/dist/es/standards-sdk.es65.js +61 -62
  358. package/dist/es/standards-sdk.es65.js.map +1 -1
  359. package/dist/es/standards-sdk.es66.js +17 -98
  360. package/dist/es/standards-sdk.es66.js.map +1 -1
  361. package/dist/es/standards-sdk.es67.js +77 -19
  362. package/dist/es/standards-sdk.es67.js.map +1 -1
  363. package/dist/es/standards-sdk.es68.js +458 -77
  364. package/dist/es/standards-sdk.es68.js.map +1 -1
  365. package/dist/es/standards-sdk.es69.js +106 -240
  366. package/dist/es/standards-sdk.es69.js.map +1 -1
  367. package/dist/es/standards-sdk.es7.js +28 -183
  368. package/dist/es/standards-sdk.es7.js.map +1 -1
  369. package/dist/es/standards-sdk.es70.js +170 -286
  370. package/dist/es/standards-sdk.es70.js.map +1 -1
  371. package/dist/es/standards-sdk.es71.js +71 -207
  372. package/dist/es/standards-sdk.es71.js.map +1 -1
  373. package/dist/es/standards-sdk.es72.js +71 -72
  374. package/dist/es/standards-sdk.es72.js.map +1 -1
  375. package/dist/es/standards-sdk.es73.js +143 -71
  376. package/dist/es/standards-sdk.es73.js.map +1 -1
  377. package/dist/es/standards-sdk.es74.js +62 -136
  378. package/dist/es/standards-sdk.es74.js.map +1 -1
  379. package/dist/es/standards-sdk.es75.js +380 -45
  380. package/dist/es/standards-sdk.es75.js.map +1 -1
  381. package/dist/es/standards-sdk.es76.js +222 -130
  382. package/dist/es/standards-sdk.es76.js.map +1 -1
  383. package/dist/es/standards-sdk.es77.js +320 -444
  384. package/dist/es/standards-sdk.es77.js.map +1 -1
  385. package/dist/es/standards-sdk.es78.js +88 -370
  386. package/dist/es/standards-sdk.es78.js.map +1 -1
  387. package/dist/es/standards-sdk.es79.js +125 -89
  388. package/dist/es/standards-sdk.es79.js.map +1 -1
  389. package/dist/es/standards-sdk.es8.js +80 -29
  390. package/dist/es/standards-sdk.es8.js.map +1 -1
  391. package/dist/es/standards-sdk.es80.js +8 -125
  392. package/dist/es/standards-sdk.es80.js.map +1 -1
  393. package/dist/es/standards-sdk.es81.js +45 -6
  394. package/dist/es/standards-sdk.es81.js.map +1 -1
  395. package/dist/es/standards-sdk.es82.js +98 -44
  396. package/dist/es/standards-sdk.es82.js.map +1 -1
  397. package/dist/es/standards-sdk.es83.js +331 -84
  398. package/dist/es/standards-sdk.es83.js.map +1 -1
  399. package/dist/es/standards-sdk.es84.js +93 -160
  400. package/dist/es/standards-sdk.es84.js.map +1 -1
  401. package/dist/es/standards-sdk.es85.js +55 -275
  402. package/dist/es/standards-sdk.es85.js.map +1 -1
  403. package/dist/es/standards-sdk.es86.js +43 -55
  404. package/dist/es/standards-sdk.es86.js.map +1 -1
  405. package/dist/es/standards-sdk.es87.js +145 -22
  406. package/dist/es/standards-sdk.es87.js.map +1 -1
  407. package/dist/es/standards-sdk.es88.js +34 -47
  408. package/dist/es/standards-sdk.es88.js.map +1 -1
  409. package/dist/es/standards-sdk.es89.js +22 -57
  410. package/dist/es/standards-sdk.es89.js.map +1 -1
  411. package/dist/es/standards-sdk.es9.js +104 -80
  412. package/dist/es/standards-sdk.es9.js.map +1 -1
  413. package/dist/es/standards-sdk.es90.js +23 -28
  414. package/dist/es/standards-sdk.es90.js.map +1 -1
  415. package/dist/es/standards-sdk.es91.js +238 -23
  416. package/dist/es/standards-sdk.es91.js.map +1 -1
  417. package/dist/es/standards-sdk.es92.js +265 -152
  418. package/dist/es/standards-sdk.es92.js.map +1 -1
  419. package/dist/es/standards-sdk.es93.js +95 -68
  420. package/dist/es/standards-sdk.es93.js.map +1 -1
  421. package/dist/es/standards-sdk.es94.js +124 -136
  422. package/dist/es/standards-sdk.es94.js.map +1 -1
  423. package/dist/es/standards-sdk.es95.js +42 -138
  424. package/dist/es/standards-sdk.es95.js.map +1 -1
  425. package/dist/es/standards-sdk.es96.js +259 -42
  426. package/dist/es/standards-sdk.es96.js.map +1 -1
  427. package/dist/es/standards-sdk.es97.js +82 -243
  428. package/dist/es/standards-sdk.es97.js.map +1 -1
  429. package/dist/es/standards-sdk.es98.js +48 -47
  430. package/dist/es/standards-sdk.es98.js.map +1 -1
  431. package/dist/es/standards-sdk.es99.js +29 -100
  432. package/dist/es/standards-sdk.es99.js.map +1 -1
  433. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  434. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  435. package/dist/es/utils/dynamic-import.d.ts +5 -1
  436. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  437. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  438. package/package.json +36 -13
  439. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  440. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  441. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  442. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
@@ -1,72 +1,407 @@
1
- import { Logger } from "./standards-sdk.es106.js";
2
- import { HederaMirrorNode } from "./standards-sdk.es127.js";
3
- import { HCS20_CONSTANTS, HCS20MessageSchema } from "./standards-sdk.es73.js";
4
- import { InvalidAccountFormatError } from "./standards-sdk.es74.js";
5
- class HCS20BaseClient {
1
+ import { TopicMessageSubmitTransaction, TopicId, Hbar } from "@hashgraph/sdk";
2
+ import { HCS20BaseClient } from "./standards-sdk.es74.js";
3
+ import { PointsValidationError, TopicRegistrationError } from "./standards-sdk.es73.js";
4
+ import { BrowserHCS2Client } from "./standards-sdk.es69.js";
5
+ class BrowserHCS20Client extends HCS20BaseClient {
6
6
  constructor(config) {
7
- this.logger = config.logger || new Logger({ module: "HCS20Client" });
8
- this.network = config.network === "mainnet" ? "mainnet" : "testnet";
9
- this.mirrorNode = new HederaMirrorNode(
10
- this.network,
11
- this.logger,
12
- config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : void 0
13
- );
14
- this.registryTopicId = config.registryTopicId || HCS20_CONSTANTS.REGISTRY_TOPIC_ID;
15
- this.publicTopicId = config.publicTopicId || HCS20_CONSTANTS.PUBLIC_TOPIC_ID;
7
+ super({
8
+ network: config.network,
9
+ logger: config.logger,
10
+ mirrorNodeUrl: config.mirrorNodeUrl,
11
+ registryTopicId: config.registryTopicId,
12
+ publicTopicId: config.publicTopicId
13
+ });
14
+ this.hwc = config.hwc;
15
+ this.feeAmount = config.feeAmount || 20;
16
+ }
17
+ /**
18
+ * Get operator account ID
19
+ */
20
+ getOperatorId() {
21
+ const accountInfo = this.hwc.getAccountInfo();
22
+ if (!accountInfo?.accountId) {
23
+ throw new Error("Wallet not connected");
24
+ }
25
+ return accountInfo.accountId;
26
+ }
27
+ async createRegistryTopic() {
28
+ const hcs2Client = new BrowserHCS2Client({
29
+ hwc: this.hwc,
30
+ network: this.network
31
+ });
32
+ const topicCreateResponse = await hcs2Client.createRegistry();
33
+ if (!topicCreateResponse.success) {
34
+ throw new Error("Failed to create topic");
35
+ }
36
+ return topicCreateResponse.topicId;
16
37
  }
17
38
  /**
18
- * Validate HCS-20 message using Zod schema
39
+ * Deploy new points
19
40
  */
20
- validateMessage(message) {
41
+ async deployPoints(options) {
42
+ const operatorId = this.getOperatorId();
43
+ const { progressCallback } = options;
21
44
  try {
22
- HCS20MessageSchema.parse(message);
23
- return { valid: true };
24
- } catch (error) {
25
- if (error.errors) {
26
- const errors = error.errors.map(
27
- (e) => `${e.path.join(".")}: ${e.message}`
45
+ progressCallback?.({
46
+ stage: "creating-topic",
47
+ percentage: 20
48
+ });
49
+ let topicId;
50
+ if (options.usePrivateTopic) {
51
+ const publicKey = await this.mirrorNode.getPublicKey(operatorId);
52
+ const hcs2Client = new BrowserHCS2Client({
53
+ hwc: this.hwc,
54
+ network: this.network
55
+ });
56
+ const topicCreateResponse = await hcs2Client.createRegistry({
57
+ submitKey: publicKey.toString(),
58
+ adminKey: publicKey.toString()
59
+ });
60
+ if (!topicCreateResponse.success) {
61
+ throw new Error("Failed to create topic");
62
+ }
63
+ topicId = topicCreateResponse.topicId;
64
+ this.logger.info(`Created private topic: ${topicId}`);
65
+ } else {
66
+ topicId = this.publicTopicId;
67
+ }
68
+ progressCallback?.({
69
+ stage: "submitting-deploy",
70
+ percentage: 50,
71
+ topicId
72
+ });
73
+ const deployMessage = {
74
+ p: "hcs-20",
75
+ op: "deploy",
76
+ name: options.name,
77
+ tick: this.normalizeTick(options.tick),
78
+ max: options.maxSupply,
79
+ lim: options.limitPerMint,
80
+ metadata: options.metadata,
81
+ m: options.topicMemo
82
+ };
83
+ const validation = this.validateMessage(deployMessage);
84
+ if (!validation.valid) {
85
+ throw new PointsValidationError(
86
+ "Invalid deploy message",
87
+ validation.errors
28
88
  );
29
- return { valid: false, errors };
30
89
  }
31
- return { valid: false, errors: [error.message] };
90
+ const deployResult = await this.submitPayload(
91
+ topicId,
92
+ deployMessage,
93
+ options.usePrivateTopic
94
+ );
95
+ const deployTxId = deployResult.transactionHash?.toString() || "";
96
+ progressCallback?.({
97
+ stage: "confirming",
98
+ percentage: 80,
99
+ topicId,
100
+ deployTxId
101
+ });
102
+ await new Promise((resolve) => setTimeout(resolve, 2e3));
103
+ progressCallback?.({
104
+ stage: "complete",
105
+ percentage: 100,
106
+ topicId,
107
+ deployTxId
108
+ });
109
+ return {
110
+ name: options.name,
111
+ tick: this.normalizeTick(options.tick),
112
+ maxSupply: options.maxSupply,
113
+ limitPerMint: options.limitPerMint,
114
+ metadata: options.metadata,
115
+ topicId,
116
+ deployerAccountId: operatorId,
117
+ currentSupply: "0",
118
+ deploymentTimestamp: (/* @__PURE__ */ new Date()).toISOString(),
119
+ isPrivate: options.usePrivateTopic || false
120
+ };
121
+ } catch (error) {
122
+ progressCallback?.({
123
+ stage: "complete",
124
+ percentage: 100,
125
+ error: error instanceof Error ? error.message : "Unknown error"
126
+ });
127
+ throw error;
32
128
  }
33
129
  }
34
130
  /**
35
- * Normalize tick to lowercase and trimmed
131
+ * Mint points
36
132
  */
37
- normalizeTick(tick) {
38
- return tick.toLowerCase().trim();
133
+ async mintPoints(options) {
134
+ const { progressCallback } = options;
135
+ try {
136
+ progressCallback?.({
137
+ stage: "validating",
138
+ percentage: 20
139
+ });
140
+ progressCallback?.({
141
+ stage: "submitting",
142
+ percentage: 50
143
+ });
144
+ const mintMessage = {
145
+ p: "hcs-20",
146
+ op: "mint",
147
+ tick: this.normalizeTick(options.tick),
148
+ amt: options.amount,
149
+ to: this.accountToString(options.to),
150
+ m: options.memo
151
+ };
152
+ const topicId = options.topicId || this.publicTopicId;
153
+ const mintResult = await this.submitPayload(topicId, mintMessage, false);
154
+ const mintTxId = mintResult.transactionHash?.toString() || "";
155
+ progressCallback?.({
156
+ stage: "confirming",
157
+ percentage: 80,
158
+ mintTxId
159
+ });
160
+ await new Promise((resolve) => setTimeout(resolve, 2e3));
161
+ progressCallback?.({
162
+ stage: "complete",
163
+ percentage: 100,
164
+ mintTxId
165
+ });
166
+ return {
167
+ id: mintTxId,
168
+ operation: "mint",
169
+ tick: this.normalizeTick(options.tick),
170
+ amount: options.amount,
171
+ to: this.accountToString(options.to),
172
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
173
+ sequenceNumber: 0,
174
+ topicId,
175
+ transactionId: mintTxId,
176
+ memo: options.memo
177
+ };
178
+ } catch (error) {
179
+ progressCallback?.({
180
+ stage: "complete",
181
+ percentage: 100,
182
+ error: error instanceof Error ? error.message : "Unknown error"
183
+ });
184
+ throw error;
185
+ }
39
186
  }
40
187
  /**
41
- * Convert account to string format
188
+ * Transfer points
42
189
  */
43
- accountToString(account) {
44
- if (typeof account === "string") {
45
- if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(account)) {
46
- throw new InvalidAccountFormatError(account);
47
- }
48
- return account;
190
+ async transferPoints(options) {
191
+ const { progressCallback } = options;
192
+ try {
193
+ progressCallback?.({
194
+ stage: "validating-balance",
195
+ percentage: 20
196
+ });
197
+ progressCallback?.({
198
+ stage: "submitting",
199
+ percentage: 50
200
+ });
201
+ const transferMessage = {
202
+ p: "hcs-20",
203
+ op: "transfer",
204
+ tick: this.normalizeTick(options.tick),
205
+ amt: options.amount,
206
+ from: this.accountToString(options.from),
207
+ to: this.accountToString(options.to),
208
+ m: options.memo
209
+ };
210
+ const topicId = options.topicId || this.publicTopicId;
211
+ const transferResult = await this.submitPayload(
212
+ topicId,
213
+ transferMessage,
214
+ false
215
+ );
216
+ const transferTxId = transferResult.transactionHash?.toString() || "";
217
+ progressCallback?.({
218
+ stage: "confirming",
219
+ percentage: 80,
220
+ transferTxId
221
+ });
222
+ await new Promise((resolve) => setTimeout(resolve, 2e3));
223
+ progressCallback?.({
224
+ stage: "complete",
225
+ percentage: 100,
226
+ transferTxId
227
+ });
228
+ return {
229
+ id: transferTxId,
230
+ operation: "transfer",
231
+ tick: this.normalizeTick(options.tick),
232
+ amount: options.amount,
233
+ from: this.accountToString(options.from),
234
+ to: this.accountToString(options.to),
235
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
236
+ sequenceNumber: 0,
237
+ topicId,
238
+ transactionId: transferTxId,
239
+ memo: options.memo
240
+ };
241
+ } catch (error) {
242
+ progressCallback?.({
243
+ stage: "complete",
244
+ percentage: 100,
245
+ error: error instanceof Error ? error.message : "Unknown error"
246
+ });
247
+ throw error;
49
248
  }
50
- return account.toString();
51
249
  }
52
250
  /**
53
- * Convert topic to string format
251
+ * Burn points
54
252
  */
55
- topicToString(topic) {
56
- if (typeof topic === "string") {
57
- if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(topic)) {
58
- throw new InvalidAccountFormatError(topic);
253
+ async burnPoints(options) {
254
+ const { progressCallback } = options;
255
+ try {
256
+ progressCallback?.({
257
+ stage: "validating-balance",
258
+ percentage: 20
259
+ });
260
+ progressCallback?.({
261
+ stage: "submitting",
262
+ percentage: 50
263
+ });
264
+ const burnMessage = {
265
+ p: "hcs-20",
266
+ op: "burn",
267
+ tick: this.normalizeTick(options.tick),
268
+ amt: options.amount,
269
+ from: this.accountToString(options.from),
270
+ m: options.memo
271
+ };
272
+ const topicId = options.topicId || this.publicTopicId;
273
+ const burnResult = await this.submitPayload(topicId, burnMessage, false);
274
+ const burnTxId = burnResult.transactionHash?.toString() || "";
275
+ progressCallback?.({
276
+ stage: "confirming",
277
+ percentage: 80,
278
+ burnTxId
279
+ });
280
+ await new Promise((resolve) => setTimeout(resolve, 2e3));
281
+ progressCallback?.({
282
+ stage: "complete",
283
+ percentage: 100,
284
+ burnTxId
285
+ });
286
+ return {
287
+ id: burnTxId,
288
+ operation: "burn",
289
+ tick: this.normalizeTick(options.tick),
290
+ amount: options.amount,
291
+ from: this.accountToString(options.from),
292
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
293
+ sequenceNumber: 0,
294
+ topicId,
295
+ transactionId: burnTxId,
296
+ memo: options.memo
297
+ };
298
+ } catch (error) {
299
+ progressCallback?.({
300
+ stage: "complete",
301
+ percentage: 100,
302
+ error: error instanceof Error ? error.message : "Unknown error"
303
+ });
304
+ throw error;
305
+ }
306
+ }
307
+ /**
308
+ * Register a topic in the registry
309
+ */
310
+ async registerTopic(options) {
311
+ const { progressCallback } = options;
312
+ try {
313
+ progressCallback?.({
314
+ stage: "validating",
315
+ percentage: 20
316
+ });
317
+ const registerMessage = {
318
+ p: "hcs-20",
319
+ op: "register",
320
+ name: options.name,
321
+ metadata: options.metadata,
322
+ private: options.isPrivate,
323
+ t_id: this.topicToString(options.topicId),
324
+ m: options.memo
325
+ };
326
+ const validation = this.validateMessage(registerMessage);
327
+ if (!validation.valid) {
328
+ throw new PointsValidationError(
329
+ "Invalid register message",
330
+ validation.errors
331
+ );
59
332
  }
60
- return topic;
333
+ progressCallback?.({
334
+ stage: "submitting",
335
+ percentage: 50
336
+ });
337
+ const registerResult = await this.submitPayload(
338
+ this.registryTopicId,
339
+ registerMessage,
340
+ false
341
+ );
342
+ const registerTxId = registerResult.transactionHash?.toString() || "";
343
+ progressCallback?.({
344
+ stage: "confirming",
345
+ percentage: 80,
346
+ registerTxId
347
+ });
348
+ await new Promise((resolve) => setTimeout(resolve, 2e3));
349
+ progressCallback?.({
350
+ stage: "complete",
351
+ percentage: 100,
352
+ registerTxId
353
+ });
354
+ } catch (error) {
355
+ progressCallback?.({
356
+ stage: "complete",
357
+ percentage: 100,
358
+ error: error instanceof Error ? error.message : "Unknown error"
359
+ });
360
+ throw new TopicRegistrationError(
361
+ error instanceof Error ? error.message : "Unknown error",
362
+ this.topicToString(options.topicId)
363
+ );
61
364
  }
62
- return topic.toString();
63
365
  }
64
366
  /**
65
- * NOTE: State queries (getPointsInfo, getBalance, etc.) require an external indexing service.
66
- * The HCS-20 clients only handle message submission. Use HCS20PointsIndexer for state management.
367
+ * Submit payload to topic using HWC
67
368
  */
369
+ async submitPayload(topicId, payload, requiresFee) {
370
+ this.logger.debug(`Submitting payload to topic ${topicId}`);
371
+ let message;
372
+ if (typeof payload === "string") {
373
+ message = payload;
374
+ } else {
375
+ message = JSON.stringify(payload);
376
+ }
377
+ const transaction = new TopicMessageSubmitTransaction().setTopicId(TopicId.fromString(topicId)).setMessage(message);
378
+ if (requiresFee) {
379
+ this.logger.info(
380
+ "Topic requires fee payment, setting max transaction fee"
381
+ );
382
+ transaction.setMaxTransactionFee(new Hbar(this.feeAmount));
383
+ }
384
+ const transactionResponse = await this.hwc.executeTransactionWithErrorHandling(
385
+ transaction,
386
+ false
387
+ );
388
+ if (transactionResponse?.error) {
389
+ this.logger.error(
390
+ `Failed to submit payload: ${transactionResponse.error}`
391
+ );
392
+ throw new Error(`Failed to submit payload: ${transactionResponse.error}`);
393
+ }
394
+ if (!transactionResponse?.result) {
395
+ this.logger.error(
396
+ "Failed to submit message: receipt is null or undefined"
397
+ );
398
+ throw new Error("Failed to submit message: receipt is null or undefined");
399
+ }
400
+ this.logger.debug("Payload submitted successfully via HWC");
401
+ return transactionResponse.result;
402
+ }
68
403
  }
69
404
  export {
70
- HCS20BaseClient
405
+ BrowserHCS20Client
71
406
  };
72
407
  //# sourceMappingURL=standards-sdk.es75.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es75.js","sources":["../../src/hcs-20/base-client.ts"],"sourcesContent":["/**\n * Base client for HCS-20 Auditable Points operations\n */\n\nimport { AccountId, TopicId } from '@hashgraph/sdk';\nimport { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport type { NetworkType } from '../utils/types';\nimport {\n HCS20ClientConfig,\n HCS20MessageSchema,\n PointsInfo,\n PointsTransaction,\n HCS20_CONSTANTS,\n DeployPointsOptions,\n MintPointsOptions,\n TransferPointsOptions,\n BurnPointsOptions,\n RegisterTopicOptions,\n} from './types';\nimport { InvalidAccountFormatError } from './errors';\n\n/**\n * Abstract base class for HCS-20 clients\n */\nexport abstract class HCS20BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n protected registryTopicId: string;\n protected publicTopicId: string;\n\n constructor(config: HCS20ClientConfig) {\n this.logger = config.logger || new Logger({ module: 'HCS20Client' });\n this.network = config.network === 'mainnet' ? 'mainnet' : 'testnet';\n this.mirrorNode = new HederaMirrorNode(\n this.network,\n this.logger,\n config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : undefined,\n );\n this.registryTopicId =\n config.registryTopicId || HCS20_CONSTANTS.REGISTRY_TOPIC_ID;\n this.publicTopicId =\n config.publicTopicId || HCS20_CONSTANTS.PUBLIC_TOPIC_ID;\n }\n\n /**\n * Deploy new points\n */\n abstract deployPoints(options: DeployPointsOptions): Promise<PointsInfo>;\n\n /**\n * Mint points\n */\n abstract mintPoints(options: MintPointsOptions): Promise<PointsTransaction>;\n\n /**\n * Transfer points\n */\n abstract transferPoints(\n options: TransferPointsOptions,\n ): Promise<PointsTransaction>;\n\n /**\n * Burn points\n */\n abstract burnPoints(options: BurnPointsOptions): Promise<PointsTransaction>;\n\n /**\n * Register a topic in the registry\n */\n abstract registerTopic(options: RegisterTopicOptions): Promise<void>;\n\n /**\n * Validate HCS-20 message using Zod schema\n */\n protected validateMessage(message: any): {\n valid: boolean;\n errors?: string[];\n } {\n try {\n HCS20MessageSchema.parse(message);\n return { valid: true };\n } catch (error: any) {\n if (error.errors) {\n const errors = error.errors.map(\n (e: any) => `${e.path.join('.')}: ${e.message}`,\n );\n return { valid: false, errors };\n }\n return { valid: false, errors: [error.message] };\n }\n }\n\n /**\n * Normalize tick to lowercase and trimmed\n */\n protected normalizeTick(tick: string): string {\n return tick.toLowerCase().trim();\n }\n\n /**\n * Convert account to string format\n */\n protected accountToString(account: string | AccountId): string {\n if (typeof account === 'string') {\n if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(account)) {\n throw new InvalidAccountFormatError(account);\n }\n return account;\n }\n return account.toString();\n }\n\n /**\n * Convert topic to string format\n */\n protected topicToString(topic: string | TopicId): string {\n if (typeof topic === 'string') {\n if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(topic)) {\n throw new InvalidAccountFormatError(topic);\n }\n return topic;\n }\n return topic.toString();\n }\n\n /**\n * NOTE: State queries (getPointsInfo, getBalance, etc.) require an external indexing service.\n * The HCS-20 clients only handle message submission. Use HCS20PointsIndexer for state management.\n */\n}\n"],"names":[],"mappings":";;;;AAyBO,MAAe,gBAAgB;AAAA,EAOpC,YAAY,QAA2B;AACrC,SAAK,SAAS,OAAO,UAAU,IAAI,OAAO,EAAE,QAAQ,eAAe;AACnE,SAAK,UAAU,OAAO,YAAY,YAAY,YAAY;AAC1D,SAAK,aAAa,IAAI;AAAA,MACpB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO,gBAAgB,EAAE,WAAW,OAAO,kBAAkB;AAAA,IAAA;AAE/D,SAAK,kBACH,OAAO,mBAAmB,gBAAgB;AAC5C,SAAK,gBACH,OAAO,iBAAiB,gBAAgB;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAgCU,gBAAgB,SAGxB;AACA,QAAI;AACF,yBAAmB,MAAM,OAAO;AAChC,aAAO,EAAE,OAAO,KAAA;AAAA,IAClB,SAAS,OAAY;AACnB,UAAI,MAAM,QAAQ;AAChB,cAAM,SAAS,MAAM,OAAO;AAAA,UAC1B,CAAC,MAAW,GAAG,EAAE,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO;AAAA,QAAA;AAE/C,eAAO,EAAE,OAAO,OAAO,OAAA;AAAA,MACzB;AACA,aAAO,EAAE,OAAO,OAAO,QAAQ,CAAC,MAAM,OAAO,EAAA;AAAA,IAC/C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKU,cAAc,MAAsB;AAC5C,WAAO,KAAK,YAAA,EAAc,KAAA;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,gBAAgB,SAAqC;AAC7D,QAAI,OAAO,YAAY,UAAU;AAC/B,UAAI,CAAC,gBAAgB,qBAAqB,KAAK,OAAO,GAAG;AACvD,cAAM,IAAI,0BAA0B,OAAO;AAAA,MAC7C;AACA,aAAO;AAAA,IACT;AACA,WAAO,QAAQ,SAAA;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKU,cAAc,OAAiC;AACvD,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAI,CAAC,gBAAgB,qBAAqB,KAAK,KAAK,GAAG;AACrD,cAAM,IAAI,0BAA0B,KAAK;AAAA,MAC3C;AACA,aAAO;AAAA,IACT;AACA,WAAO,MAAM,SAAA;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAMF;"}
1
+ {"version":3,"file":"standards-sdk.es75.js","sources":["../../src/hcs-20/browser.ts"],"sourcesContent":["/**\n * Browser implementation of HCS-20 client using Hashinals WalletConnect\n */\n\nimport {\n TopicId,\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n TransactionReceipt,\n Hbar,\n AccountId,\n} from '@hashgraph/sdk';\nimport { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';\nimport { HCS20BaseClient } from './base-client';\nimport {\n DeployPointsOptions,\n MintPointsOptions,\n TransferPointsOptions,\n BurnPointsOptions,\n RegisterTopicOptions,\n PointsInfo,\n PointsTransaction,\n HCS20DeployMessage,\n HCS20MintMessage,\n HCS20TransferMessage,\n HCS20BurnMessage,\n HCS20RegisterMessage,\n} from './types';\nimport {\n PointsDeploymentError,\n TopicRegistrationError,\n PointsValidationError,\n} from './errors';\nimport { BrowserHCS2Client } from '../hcs-2/browser';\n\n/**\n * Browser-specific HCS-20 client configuration\n */\nexport interface BrowserHCS20Config {\n network: 'mainnet' | 'testnet';\n hwc: HashinalsWalletConnectSDK;\n mirrorNodeUrl?: string;\n logger?: any;\n registryTopicId?: string;\n publicTopicId?: string;\n feeAmount?: number;\n}\n\n/**\n * Browser HCS-20 client for managing auditable points\n */\nexport class BrowserHCS20Client extends HCS20BaseClient {\n private hwc: HashinalsWalletConnectSDK;\n private feeAmount: number;\n\n constructor(config: BrowserHCS20Config) {\n super({\n network: config.network,\n logger: config.logger,\n mirrorNodeUrl: config.mirrorNodeUrl,\n registryTopicId: config.registryTopicId,\n publicTopicId: config.publicTopicId,\n });\n\n this.hwc = config.hwc;\n this.feeAmount = config.feeAmount || 20;\n }\n\n /**\n * Get operator account ID\n */\n private getOperatorId(): string {\n const accountInfo = this.hwc.getAccountInfo();\n if (!accountInfo?.accountId) {\n throw new Error('Wallet not connected');\n }\n return accountInfo.accountId;\n }\n\n async createRegistryTopic(): Promise<string> {\n const hcs2Client = new BrowserHCS2Client({\n hwc: this.hwc,\n network: this.network,\n });\n\n const topicCreateResponse = await hcs2Client.createRegistry();\n\n if (!topicCreateResponse.success) {\n throw new Error('Failed to create topic');\n }\n\n return topicCreateResponse.topicId;\n }\n\n /**\n * Deploy new points\n */\n async deployPoints(options: DeployPointsOptions): Promise<PointsInfo> {\n const operatorId = this.getOperatorId();\n const { progressCallback } = options;\n\n try {\n progressCallback?.({\n stage: 'creating-topic',\n percentage: 20,\n });\n\n let topicId: string;\n\n if (options.usePrivateTopic) {\n const publicKey = await this.mirrorNode.getPublicKey(operatorId);\n\n const hcs2Client = new BrowserHCS2Client({\n hwc: this.hwc,\n network: this.network,\n });\n\n const topicCreateResponse = await hcs2Client.createRegistry({\n submitKey: publicKey.toString(),\n adminKey: publicKey.toString(),\n });\n\n if (!topicCreateResponse.success) {\n throw new Error('Failed to create topic');\n }\n\n topicId = topicCreateResponse.topicId;\n this.logger.info(`Created private topic: ${topicId}`);\n } else {\n topicId = this.publicTopicId;\n }\n\n progressCallback?.({\n stage: 'submitting-deploy',\n percentage: 50,\n topicId,\n });\n\n const deployMessage: HCS20DeployMessage = {\n p: 'hcs-20',\n op: 'deploy',\n name: options.name,\n tick: this.normalizeTick(options.tick),\n max: options.maxSupply,\n lim: options.limitPerMint,\n metadata: options.metadata,\n m: options.topicMemo,\n };\n\n const validation = this.validateMessage(deployMessage);\n if (!validation.valid) {\n throw new PointsValidationError(\n 'Invalid deploy message',\n validation.errors!,\n );\n }\n\n const deployResult = await this.submitPayload(\n topicId,\n deployMessage,\n options.usePrivateTopic,\n );\n\n const deployTxId =\n (deployResult as any).transactionHash?.toString() || '';\n\n progressCallback?.({\n stage: 'confirming',\n percentage: 80,\n topicId,\n deployTxId,\n });\n\n await new Promise(resolve => setTimeout(resolve, 2000));\n\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n topicId,\n deployTxId,\n });\n\n return {\n name: options.name,\n tick: this.normalizeTick(options.tick),\n maxSupply: options.maxSupply,\n limitPerMint: options.limitPerMint,\n metadata: options.metadata,\n topicId,\n deployerAccountId: operatorId,\n currentSupply: '0',\n deploymentTimestamp: new Date().toISOString(),\n isPrivate: options.usePrivateTopic || false,\n };\n } catch (error) {\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n throw error;\n }\n }\n\n /**\n * Mint points\n */\n async mintPoints(options: MintPointsOptions): Promise<PointsTransaction> {\n const { progressCallback } = options;\n\n try {\n progressCallback?.({\n stage: 'validating',\n percentage: 20,\n });\n\n progressCallback?.({\n stage: 'submitting',\n percentage: 50,\n });\n\n const mintMessage: HCS20MintMessage = {\n p: 'hcs-20',\n op: 'mint',\n tick: this.normalizeTick(options.tick),\n amt: options.amount,\n to: this.accountToString(options.to),\n m: options.memo,\n };\n\n const topicId = (options as any).topicId || this.publicTopicId;\n const mintResult = await this.submitPayload(topicId, mintMessage, false);\n\n const mintTxId = (mintResult as any).transactionHash?.toString() || '';\n\n progressCallback?.({\n stage: 'confirming',\n percentage: 80,\n mintTxId,\n });\n\n await new Promise(resolve => setTimeout(resolve, 2000));\n\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n mintTxId,\n });\n\n return {\n id: mintTxId,\n operation: 'mint',\n tick: this.normalizeTick(options.tick),\n amount: options.amount,\n to: this.accountToString(options.to),\n timestamp: new Date().toISOString(),\n sequenceNumber: 0,\n topicId,\n transactionId: mintTxId,\n memo: options.memo,\n };\n } catch (error) {\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n throw error;\n }\n }\n\n /**\n * Transfer points\n */\n async transferPoints(\n options: TransferPointsOptions,\n ): Promise<PointsTransaction> {\n const { progressCallback } = options;\n\n try {\n progressCallback?.({\n stage: 'validating-balance',\n percentage: 20,\n });\n\n progressCallback?.({\n stage: 'submitting',\n percentage: 50,\n });\n\n const transferMessage: HCS20TransferMessage = {\n p: 'hcs-20',\n op: 'transfer',\n tick: this.normalizeTick(options.tick),\n amt: options.amount,\n from: this.accountToString(options.from),\n to: this.accountToString(options.to),\n m: options.memo,\n };\n\n const topicId = (options as any).topicId || this.publicTopicId;\n const transferResult = await this.submitPayload(\n topicId,\n transferMessage,\n false,\n );\n\n const transferTxId =\n (transferResult as any).transactionHash?.toString() || '';\n\n progressCallback?.({\n stage: 'confirming',\n percentage: 80,\n transferTxId,\n });\n\n await new Promise(resolve => setTimeout(resolve, 2000));\n\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n transferTxId,\n });\n\n return {\n id: transferTxId,\n operation: 'transfer',\n tick: this.normalizeTick(options.tick),\n amount: options.amount,\n from: this.accountToString(options.from),\n to: this.accountToString(options.to),\n timestamp: new Date().toISOString(),\n sequenceNumber: 0,\n topicId,\n transactionId: transferTxId,\n memo: options.memo,\n };\n } catch (error) {\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n throw error;\n }\n }\n\n /**\n * Burn points\n */\n async burnPoints(options: BurnPointsOptions): Promise<PointsTransaction> {\n const { progressCallback } = options;\n\n try {\n progressCallback?.({\n stage: 'validating-balance',\n percentage: 20,\n });\n\n progressCallback?.({\n stage: 'submitting',\n percentage: 50,\n });\n\n const burnMessage: HCS20BurnMessage = {\n p: 'hcs-20',\n op: 'burn',\n tick: this.normalizeTick(options.tick),\n amt: options.amount,\n from: this.accountToString(options.from),\n m: options.memo,\n };\n\n const topicId = (options as any).topicId || this.publicTopicId;\n const burnResult = await this.submitPayload(topicId, burnMessage, false);\n\n const burnTxId = (burnResult as any).transactionHash?.toString() || '';\n\n progressCallback?.({\n stage: 'confirming',\n percentage: 80,\n burnTxId,\n });\n\n await new Promise(resolve => setTimeout(resolve, 2000));\n\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n burnTxId,\n });\n\n return {\n id: burnTxId,\n operation: 'burn',\n tick: this.normalizeTick(options.tick),\n amount: options.amount,\n from: this.accountToString(options.from),\n timestamp: new Date().toISOString(),\n sequenceNumber: 0,\n topicId,\n transactionId: burnTxId,\n memo: options.memo,\n };\n } catch (error) {\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n throw error;\n }\n }\n\n /**\n * Register a topic in the registry\n */\n async registerTopic(options: RegisterTopicOptions): Promise<void> {\n const { progressCallback } = options;\n\n try {\n progressCallback?.({\n stage: 'validating',\n percentage: 20,\n });\n\n const registerMessage: HCS20RegisterMessage = {\n p: 'hcs-20',\n op: 'register',\n name: options.name,\n metadata: options.metadata,\n private: options.isPrivate,\n t_id: this.topicToString(options.topicId),\n m: options.memo,\n };\n\n const validation = this.validateMessage(registerMessage);\n if (!validation.valid) {\n throw new PointsValidationError(\n 'Invalid register message',\n validation.errors!,\n );\n }\n\n progressCallback?.({\n stage: 'submitting',\n percentage: 50,\n });\n\n const registerResult = await this.submitPayload(\n this.registryTopicId,\n registerMessage,\n false,\n );\n\n const registerTxId =\n (registerResult as any).transactionHash?.toString() || '';\n\n progressCallback?.({\n stage: 'confirming',\n percentage: 80,\n registerTxId,\n });\n\n await new Promise(resolve => setTimeout(resolve, 2000));\n\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n registerTxId,\n });\n } catch (error) {\n progressCallback?.({\n stage: 'complete',\n percentage: 100,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n throw new TopicRegistrationError(\n error instanceof Error ? error.message : 'Unknown error',\n this.topicToString(options.topicId),\n );\n }\n }\n\n /**\n * Submit payload to topic using HWC\n */\n private async submitPayload(\n topicId: string,\n payload: object | string,\n requiresFee?: boolean,\n ): Promise<TransactionReceipt> {\n this.logger.debug(`Submitting payload to topic ${topicId}`);\n\n let message: string;\n if (typeof payload === 'string') {\n message = payload;\n } else {\n message = JSON.stringify(payload);\n }\n\n const transaction = new TopicMessageSubmitTransaction()\n .setTopicId(TopicId.fromString(topicId))\n .setMessage(message);\n\n if (requiresFee) {\n this.logger.info(\n 'Topic requires fee payment, setting max transaction fee',\n );\n transaction.setMaxTransactionFee(new Hbar(this.feeAmount));\n }\n\n const transactionResponse =\n await this.hwc.executeTransactionWithErrorHandling(\n transaction as any,\n false,\n );\n\n if (transactionResponse?.error) {\n this.logger.error(\n `Failed to submit payload: ${transactionResponse.error}`,\n );\n throw new Error(`Failed to submit payload: ${transactionResponse.error}`);\n }\n\n if (!transactionResponse?.result) {\n this.logger.error(\n 'Failed to submit message: receipt is null or undefined',\n );\n throw new Error('Failed to submit message: receipt is null or undefined');\n }\n\n this.logger.debug('Payload submitted successfully via HWC');\n return transactionResponse.result;\n }\n}\n"],"names":[],"mappings":"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"}