@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,499 +1,375 @@
1
- import { AccountId, Client, Status, TopicCreateTransaction } from "@hashgraph/sdk";
2
- import { HCS20BaseClient } from "./standards-sdk.es75.js";
3
- import { PointsDeploymentError, PointsValidationError, PointsTransferError, PointsBurnError } from "./standards-sdk.es74.js";
4
- import { sleep } from "./standards-sdk.es116.js";
5
- import { createNodeOperatorContext } from "./standards-sdk.es145.js";
6
- import { HCS2Client } from "./standards-sdk.es69.js";
7
- import { buildHcs20DeployTx, buildHcs20MintTx, buildHcs20TransferTx, buildHcs20BurnTx, buildHcs20RegisterTx } from "./standards-sdk.es79.js";
8
- class HCS20Client extends HCS20BaseClient {
9
- constructor(config) {
10
- super(config);
11
- this.operatorAccountId = typeof config.operatorId === "string" ? AccountId.fromString(config.operatorId) : config.operatorId;
12
- this.operatorId = this.operatorAccountId.toString();
13
- const baseClient = this.network === "mainnet" ? Client.forMainnet() : Client.forTestnet();
14
- this.operatorCtx = createNodeOperatorContext({
15
- network: this.network,
16
- operatorId: this.operatorId,
17
- operatorKey: config.operatorKey,
18
- keyType: config.keyType,
19
- mirrorNode: this.mirrorNode,
20
- logger: this.logger,
21
- client: baseClient
1
+ import { Logger } from "./standards-sdk.es105.js";
2
+ import { HederaMirrorNode } from "./standards-sdk.es126.js";
3
+ import "./standards-sdk.es127.js";
4
+ import "./standards-sdk.es128.js";
5
+ import "./standards-sdk.es129.js";
6
+ import "./standards-sdk.es130.js";
7
+ import "./standards-sdk.es131.js";
8
+ import "./standards-sdk.es132.js";
9
+ import "./standards-sdk.es133.js";
10
+ import "./standards-sdk.es134.js";
11
+ import "buffer";
12
+ import "crypto";
13
+ import "@noble/curves/secp256k1.js";
14
+ import "zod";
15
+ import "./standards-sdk.es149.js";
16
+ import "./standards-sdk.es138.js";
17
+ import { HCS20_CONSTANTS, HCS20MessageSchema } from "./standards-sdk.es72.js";
18
+ class HCS20PointsIndexer {
19
+ constructor(network, logger, mirrorNodeUrl) {
20
+ this.isProcessing = false;
21
+ this.lastIndexedSequence = /* @__PURE__ */ new Map();
22
+ this.logger = logger || new Logger({
23
+ level: "info",
24
+ module: "HCS20PointsIndexer"
22
25
  });
23
- this.client = this.operatorCtx.client;
24
- void this.operatorCtx.ensureInitialized();
26
+ this.mirrorNode = new HederaMirrorNode(network, this.logger, {
27
+ customUrl: mirrorNodeUrl
28
+ });
29
+ this.state = this.initializeState();
25
30
  }
26
31
  /**
27
- * Ensure operator is initialized before operations
32
+ * Initialize empty state
28
33
  */
29
- async ensureInitialized() {
30
- await this.operatorCtx.ensureInitialized();
34
+ initializeState() {
35
+ return {
36
+ deployedPoints: /* @__PURE__ */ new Map(),
37
+ balances: /* @__PURE__ */ new Map(),
38
+ transactions: [],
39
+ lastProcessedSequence: 0,
40
+ lastProcessedTimestamp: (/* @__PURE__ */ new Date()).toISOString()
41
+ };
31
42
  }
32
43
  /**
33
- * Submit a payload to a topic
44
+ * Get current state snapshot
34
45
  */
35
- async submitPayload(transaction, submitKey) {
36
- let transactionResponse;
37
- if (submitKey) {
38
- const frozenTransaction = transaction.freezeWith(this.client);
39
- const signedTransaction = await frozenTransaction.sign(submitKey);
40
- transactionResponse = await signedTransaction.execute(this.client);
41
- } else {
42
- transactionResponse = await transaction.execute(this.client);
43
- }
44
- const receipt = await transactionResponse.getReceipt(this.client);
45
- if (!receipt || receipt.status !== Status.Success) {
46
- throw new Error("Failed to submit message to topic");
47
- }
46
+ getState() {
48
47
  return {
49
- receipt,
50
- transactionId: transactionResponse.transactionId.toString()
48
+ ...this.state,
49
+ deployedPoints: new Map(this.state.deployedPoints),
50
+ balances: new Map(this.state.balances),
51
+ transactions: [...this.state.transactions]
51
52
  };
52
53
  }
53
54
  /**
54
- * Create a public topic for HCS-20 (for testnet)
55
+ * Get points info for a specific tick
55
56
  */
56
- async createPublicTopic(memo) {
57
- await this.ensureInitialized();
58
- this.logger.info("Creating public HCS-20 topic...");
59
- const topicCreateTx = await new TopicCreateTransaction().setTopicMemo(memo || "HCS-20 Public Topic").execute(this.client);
60
- const receipt = await topicCreateTx.getReceipt(this.client);
61
- if (receipt.status !== Status.Success || !receipt.topicId) {
62
- throw new Error("Failed to create public topic");
63
- }
64
- const topicId = receipt.topicId.toString();
65
- this.logger.info(`Created public topic: ${topicId}`);
66
- this.publicTopicId = topicId;
67
- return topicId;
57
+ getPointsInfo(tick) {
58
+ return this.state.deployedPoints.get(this.normalizeTick(tick));
68
59
  }
69
60
  /**
70
- * Create a registry topic for HCS-20
61
+ * Get balance for an account and tick
71
62
  */
72
- async createRegistryTopic() {
73
- await this.ensureInitialized();
74
- this.logger.info("Creating HCS-20 registry topic...");
75
- const hcs2Client = new HCS2Client({
76
- operatorId: this.operatorId,
77
- operatorKey: this.operatorCtx.operatorKey,
78
- network: this.network
79
- });
80
- const topicCreateResponse = await hcs2Client.createRegistry({
81
- submitKey: this.operatorCtx.operatorKey,
82
- adminKey: this.operatorCtx.operatorKey
83
- });
84
- if (!topicCreateResponse.success) {
85
- throw new Error("Failed to create registry topic");
86
- }
87
- const topicId = topicCreateResponse.topicId;
88
- this.logger.info(`Created registry topic: ${topicId}`);
89
- this.registryTopicId = topicId;
90
- return topicId;
63
+ getBalance(tick, accountId) {
64
+ const normalizedTick = this.normalizeTick(tick);
65
+ const tickBalances = this.state.balances.get(normalizedTick);
66
+ if (!tickBalances) return "0";
67
+ const balance = tickBalances.get(accountId);
68
+ return balance?.balance || "0";
91
69
  }
92
70
  /**
93
- * Deploy new points
71
+ * Start indexing process
94
72
  */
95
- async deployPoints(options) {
96
- await this.ensureInitialized();
97
- const { progressCallback } = options;
98
- try {
99
- progressCallback?.({
100
- stage: "creating-topic",
101
- percentage: 20
102
- });
103
- let topicId;
104
- const hcs2Client = new HCS2Client({
105
- operatorId: this.operatorId,
106
- operatorKey: this.operatorCtx.operatorKey,
107
- network: this.network
108
- });
109
- if (options.usePrivateTopic) {
110
- const topicCreateResponse = await hcs2Client.createRegistry({
111
- submitKey: this.operatorCtx.operatorKey,
112
- adminKey: this.operatorCtx.operatorKey
113
- });
114
- if (!topicCreateResponse.success) {
115
- throw new PointsDeploymentError(
116
- "Failed to create topic",
117
- options.tick
118
- );
119
- }
120
- topicId = topicCreateResponse.topicId;
121
- this.logger.info(`Created private topic: ${topicId}`);
122
- } else {
123
- topicId = this.publicTopicId;
124
- }
125
- progressCallback?.({
126
- stage: "submitting-deploy",
127
- percentage: 50,
128
- topicId
129
- });
130
- const deployMessage = {
131
- p: "hcs-20",
132
- op: "deploy",
133
- name: options.name,
134
- tick: this.normalizeTick(options.tick),
135
- max: options.maxSupply,
136
- lim: options.limitPerMint,
137
- metadata: options.metadata,
138
- m: options.topicMemo
139
- };
140
- const validation = this.validateMessage(deployMessage);
141
- if (!validation.valid) {
142
- throw new PointsValidationError(
143
- "Invalid deploy message",
144
- validation.errors
73
+ async startIndexing(options) {
74
+ if (this.isProcessing) {
75
+ this.logger.warn("Indexing already in progress");
76
+ return;
77
+ }
78
+ this.isProcessing = true;
79
+ const includePublicTopic = options?.includePublicTopic !== false;
80
+ const includeRegistryTopic = options?.includeRegistryTopic !== false;
81
+ const publicTopicId = includePublicTopic ? options?.publicTopicId || HCS20_CONSTANTS.PUBLIC_TOPIC_ID : null;
82
+ const registryTopicId = includeRegistryTopic ? options?.registryTopicId || HCS20_CONSTANTS.REGISTRY_TOPIC_ID : null;
83
+ const pollInterval = options?.pollInterval || 3e4;
84
+ await this.indexTopics(
85
+ publicTopicId,
86
+ registryTopicId,
87
+ options?.privateTopics
88
+ );
89
+ const pollTopics = async () => {
90
+ if (!this.isProcessing) return;
91
+ try {
92
+ await this.indexTopics(
93
+ publicTopicId,
94
+ registryTopicId,
95
+ options?.privateTopics
145
96
  );
97
+ } catch (error) {
98
+ this.logger.error("Polling error:", error);
146
99
  }
147
- const deployTransaction = buildHcs20DeployTx({
148
- topicId,
149
- name: options.name,
150
- tick: options.tick,
151
- max: options.maxSupply,
152
- lim: options.limitPerMint,
153
- metadata: options.metadata,
154
- memo: options.topicMemo
155
- });
156
- const { transactionId: deployTxId } = await this.submitPayload(deployTransaction);
157
- progressCallback?.({
158
- stage: "confirming",
159
- percentage: 80,
160
- topicId,
161
- deployTxId
162
- });
163
- await this.waitForMirrorNodeConfirmation(topicId, deployTxId);
164
- progressCallback?.({
165
- stage: "complete",
166
- percentage: 100,
167
- topicId,
168
- deployTxId
169
- });
170
- const pointsInfo = {
171
- name: options.name,
172
- tick: this.normalizeTick(options.tick),
173
- maxSupply: options.maxSupply,
174
- limitPerMint: options.limitPerMint,
175
- metadata: options.metadata,
176
- topicId,
177
- deployerAccountId: this.operatorId,
178
- currentSupply: "0",
179
- deploymentTimestamp: (/* @__PURE__ */ new Date()).toISOString(),
180
- isPrivate: options.usePrivateTopic || false
181
- };
182
- return pointsInfo;
183
- } catch (error) {
184
- progressCallback?.({
185
- stage: "complete",
186
- percentage: 100,
187
- error: error instanceof Error ? error.message : "Unknown error"
188
- });
189
- throw error;
100
+ if (this.isProcessing) {
101
+ setTimeout(pollTopics, pollInterval);
102
+ }
103
+ };
104
+ setTimeout(pollTopics, pollInterval);
105
+ }
106
+ /**
107
+ * Index topics once and wait for completion
108
+ */
109
+ async indexOnce(options) {
110
+ const includePublicTopic = options?.includePublicTopic !== false;
111
+ const includeRegistryTopic = options?.includeRegistryTopic !== false;
112
+ const publicTopicId = includePublicTopic ? options?.publicTopicId || HCS20_CONSTANTS.PUBLIC_TOPIC_ID : null;
113
+ const registryTopicId = includeRegistryTopic ? options?.registryTopicId || HCS20_CONSTANTS.REGISTRY_TOPIC_ID : null;
114
+ await this.indexTopics(
115
+ publicTopicId,
116
+ registryTopicId,
117
+ options?.privateTopics
118
+ );
119
+ }
120
+ /**
121
+ * Stop indexing process
122
+ */
123
+ stopIndexing() {
124
+ this.isProcessing = false;
125
+ this.logger.info("Indexing stopped");
126
+ }
127
+ /**
128
+ * Index topics and update state
129
+ */
130
+ async indexTopics(publicTopicId, registryTopicId, privateTopics) {
131
+ this.logger.debug("Starting indexing cycle");
132
+ if (publicTopicId) {
133
+ await this.indexTopic(publicTopicId, false);
134
+ }
135
+ const registeredTopics = registryTopicId ? await this.getRegisteredTopics(registryTopicId) : [];
136
+ const topicsToIndex = [...registeredTopics, ...privateTopics || []];
137
+ for (const topicId of topicsToIndex) {
138
+ await this.indexTopic(topicId, true);
190
139
  }
140
+ this.logger.debug("Indexing cycle complete");
191
141
  }
192
142
  /**
193
- * Mint points
143
+ * Get registered topics from registry
194
144
  */
195
- async mintPoints(options) {
196
- await this.ensureInitialized();
197
- const { progressCallback } = options;
145
+ async getRegisteredTopics(registryTopicId) {
146
+ const topics = [];
198
147
  try {
199
- progressCallback?.({
200
- stage: "validating",
201
- percentage: 20
202
- });
203
- const normalizedTick = this.normalizeTick(options.tick);
204
- progressCallback?.({
205
- stage: "submitting",
206
- percentage: 50
148
+ const messages = await this.mirrorNode.getTopicMessages(registryTopicId, {
149
+ limit: 100,
150
+ order: "asc"
207
151
  });
208
- const topicId = options.topicId ? this.topicToString(options.topicId) : this.publicTopicId;
209
- const mintTransaction = buildHcs20MintTx({
210
- topicId,
211
- tick: options.tick,
212
- amt: options.amount,
213
- to: this.accountToString(options.to),
214
- memo: options.memo
152
+ messages.filter(
153
+ (message) => message.p === "hcs-20" && message.op === "register" && typeof message.t_id === "string"
154
+ ).forEach((message) => {
155
+ topics.push(message.t_id);
215
156
  });
216
- const { transactionId: mintTxId } = await this.submitPayload(mintTransaction);
217
- progressCallback?.({
218
- stage: "confirming",
219
- percentage: 80,
220
- mintTxId
221
- });
222
- if (!options.disableMirrorCheck) {
223
- await this.waitForMirrorNodeConfirmation(topicId, mintTxId);
224
- }
225
- progressCallback?.({
226
- stage: "complete",
227
- percentage: 100,
228
- mintTxId
229
- });
230
- const transaction = {
231
- id: mintTxId,
232
- operation: "mint",
233
- tick: normalizedTick,
234
- amount: options.amount,
235
- to: this.accountToString(options.to),
236
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
237
- sequenceNumber: 0,
238
- topicId,
239
- transactionId: mintTxId,
240
- memo: options.memo
241
- };
242
- return transaction;
243
157
  } catch (error) {
244
- progressCallback?.({
245
- stage: "complete",
246
- percentage: 100,
247
- error: error instanceof Error ? error.message : "Unknown error"
248
- });
249
- throw error;
158
+ this.logger.error("Failed to fetch registry messages:", error);
250
159
  }
160
+ return topics;
251
161
  }
252
162
  /**
253
- * Transfer points
163
+ * Index a single topic
254
164
  */
255
- async transferPoints(options) {
256
- await this.ensureInitialized();
257
- const { progressCallback } = options;
165
+ async indexTopic(topicId, isPrivate) {
258
166
  try {
259
- progressCallback?.({
260
- stage: "validating-balance",
261
- percentage: 20
167
+ const lastSequence = this.lastIndexedSequence.get(topicId);
168
+ this.logger.debug(
169
+ `Indexing topic ${topicId}, starting from sequence ${lastSequence || 0}`
170
+ );
171
+ const messages = await this.mirrorNode.getTopicMessages(topicId, {
172
+ sequenceNumber: lastSequence ? lastSequence + 1 : void 0,
173
+ limit: 1e3,
174
+ order: "asc"
262
175
  });
263
- const normalizedTick = this.normalizeTick(options.tick);
264
- const fromAccount = this.accountToString(options.from);
265
- const toAccount = this.accountToString(options.to);
266
- if (fromAccount !== this.operatorId) {
267
- throw new PointsTransferError(
268
- "For public topics, transaction payer must match sender",
269
- options.tick,
270
- fromAccount,
271
- toAccount,
272
- options.amount
176
+ this.logger.debug(
177
+ `Fetched ${messages.length} messages from topic ${topicId}`
178
+ );
179
+ let maxSequence = lastSequence || 0;
180
+ for (const message of messages) {
181
+ if (message.p !== "hcs-20") {
182
+ continue;
183
+ }
184
+ const parseResult = HCS20MessageSchema.safeParse(message);
185
+ if (!parseResult.success) {
186
+ this.logger.debug("Skipping message due to schema mismatch");
187
+ continue;
188
+ }
189
+ const parsedMsg = parseResult.data;
190
+ const sequenceNumber = message.sequence_number ?? 0;
191
+ this.logger.debug(
192
+ `Found HCS-20 message: op=${parsedMsg.op}, sequence=${sequenceNumber}`
273
193
  );
194
+ if (sequenceNumber > maxSequence) {
195
+ maxSequence = sequenceNumber;
196
+ }
197
+ const topicMessage = {
198
+ consensus_timestamp: message.consensus_timestamp ?? "",
199
+ sequence_number: sequenceNumber,
200
+ payer_account_id: message.payer_account_id ?? message.payer ?? "",
201
+ transaction_id: message.transaction_id ?? ""
202
+ };
203
+ this.processMessage(parsedMsg, topicMessage, topicId, isPrivate);
204
+ this.state.lastProcessedSequence++;
205
+ this.state.lastProcessedTimestamp = message.consensus_timestamp || "";
206
+ }
207
+ if (maxSequence > (lastSequence || 0)) {
208
+ this.lastIndexedSequence.set(topicId, maxSequence);
274
209
  }
275
- progressCallback?.({
276
- stage: "submitting",
277
- percentage: 50
278
- });
279
- const topicId = options.topicId ? this.topicToString(options.topicId) : this.publicTopicId;
280
- const transferTransaction = buildHcs20TransferTx({
281
- topicId,
282
- tick: options.tick,
283
- amt: options.amount,
284
- from: fromAccount,
285
- to: toAccount,
286
- memo: options.memo
287
- });
288
- const { transactionId: transferTxId } = await this.submitPayload(transferTransaction);
289
- progressCallback?.({
290
- stage: "confirming",
291
- percentage: 80,
292
- transferTxId
293
- });
294
- await this.waitForMirrorNodeConfirmation(topicId, transferTxId);
295
- progressCallback?.({
296
- stage: "complete",
297
- percentage: 100,
298
- transferTxId
299
- });
300
- const transaction = {
301
- id: transferTxId,
302
- operation: "transfer",
303
- tick: normalizedTick,
304
- amount: options.amount,
305
- from: fromAccount,
306
- to: toAccount,
307
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
308
- sequenceNumber: 0,
309
- topicId,
310
- transactionId: transferTxId,
311
- memo: options.memo
312
- };
313
- return transaction;
314
210
  } catch (error) {
315
- progressCallback?.({
316
- stage: "complete",
317
- percentage: 100,
318
- error: error instanceof Error ? error.message : "Unknown error"
319
- });
320
- throw error;
211
+ this.logger.error(`Failed to index topic ${topicId}:`, error);
321
212
  }
322
213
  }
323
214
  /**
324
- * Burn points
215
+ * Process a single message
325
216
  */
326
- async burnPoints(options) {
327
- await this.ensureInitialized();
328
- const { progressCallback } = options;
329
- try {
330
- progressCallback?.({
331
- stage: "validating-balance",
332
- percentage: 20
333
- });
334
- const normalizedTick = this.normalizeTick(options.tick);
335
- const fromAccount = this.accountToString(options.from);
336
- if (fromAccount !== this.operatorId) {
337
- throw new PointsBurnError(
338
- "For public topics, transaction payer must match burner",
339
- options.tick,
340
- fromAccount,
341
- options.amount
342
- );
343
- }
344
- progressCallback?.({
345
- stage: "submitting",
346
- percentage: 50
347
- });
348
- const topicId = options.topicId ? this.topicToString(options.topicId) : this.publicTopicId;
349
- const burnTransaction = buildHcs20BurnTx({
350
- topicId,
351
- tick: options.tick,
352
- amt: options.amount,
353
- from: fromAccount,
354
- memo: options.memo
355
- });
356
- const { transactionId: burnTxId } = await this.submitPayload(burnTransaction);
357
- progressCallback?.({
358
- stage: "confirming",
359
- percentage: 80,
360
- burnTxId
361
- });
362
- await this.waitForMirrorNodeConfirmation(topicId, burnTxId);
363
- progressCallback?.({
364
- stage: "complete",
365
- percentage: 100,
366
- burnTxId
367
- });
368
- const transaction = {
369
- id: burnTxId,
370
- operation: "burn",
371
- tick: normalizedTick,
372
- amount: options.amount,
373
- from: fromAccount,
374
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
375
- sequenceNumber: 0,
376
- topicId,
377
- transactionId: burnTxId,
378
- memo: options.memo
379
- };
380
- return transaction;
381
- } catch (error) {
382
- progressCallback?.({
383
- stage: "complete",
384
- percentage: 100,
385
- error: error instanceof Error ? error.message : "Unknown error"
386
- });
387
- throw error;
217
+ processMessage(msg, hcsMsg, topicId, isPrivate) {
218
+ switch (msg.op) {
219
+ case "deploy":
220
+ this.processDeployMessage(msg, hcsMsg, topicId, isPrivate);
221
+ break;
222
+ case "mint":
223
+ this.processMintMessage(msg, hcsMsg, topicId, isPrivate);
224
+ break;
225
+ case "transfer":
226
+ this.processTransferMessage(msg, hcsMsg, topicId, isPrivate);
227
+ break;
228
+ case "burn":
229
+ this.processBurnMessage(msg, hcsMsg, topicId, isPrivate);
230
+ break;
388
231
  }
389
232
  }
390
233
  /**
391
- * Register a topic in the registry
234
+ * Process deploy message
392
235
  */
393
- async registerTopic(options) {
394
- await this.ensureInitialized();
395
- const { progressCallback } = options;
396
- try {
397
- progressCallback?.({
398
- stage: "validating",
399
- percentage: 20
400
- });
401
- const registerMessage = {
402
- p: "hcs-20",
403
- op: "register",
404
- name: options.name,
405
- metadata: options.metadata,
406
- private: options.isPrivate,
407
- t_id: this.topicToString(options.topicId),
408
- m: options.memo
409
- };
410
- const validation = this.validateMessage(registerMessage);
411
- if (!validation.valid) {
412
- throw new PointsValidationError(
413
- "Invalid register message",
414
- validation.errors
415
- );
416
- }
417
- if (!this.registryTopicId) {
418
- throw new PointsDeploymentError(
419
- "Registry topic not available",
420
- options.name
421
- );
422
- }
423
- progressCallback?.({
424
- stage: "submitting",
425
- percentage: 50
426
- });
427
- const registerTransaction = buildHcs20RegisterTx({
428
- registryTopicId: this.registryTopicId,
429
- name: options.name,
430
- topicId: this.topicToString(options.topicId),
431
- isPrivate: options.isPrivate,
432
- metadata: options.metadata,
433
- memo: options.memo
434
- });
435
- const { transactionId: registerTxId } = await this.submitPayload(
436
- registerTransaction,
437
- this.operatorCtx.operatorKey
438
- );
439
- progressCallback?.({
440
- stage: "confirming",
441
- percentage: 80,
442
- registerTxId
443
- });
444
- await this.waitForMirrorNodeConfirmation(
445
- this.registryTopicId,
446
- registerTxId
447
- );
448
- progressCallback?.({
449
- stage: "complete",
450
- percentage: 100,
451
- registerTxId
452
- });
453
- this.logger.info(`Registered topic ${options.topicId} in registry`);
454
- } catch (error) {
455
- progressCallback?.({
456
- stage: "complete",
457
- percentage: 100,
458
- error: error instanceof Error ? error.message : "Unknown error"
459
- });
460
- throw error;
236
+ processDeployMessage(msg, hcsMsg, topicId, isPrivate) {
237
+ const normalizedTick = this.normalizeTick(msg.tick);
238
+ if (this.state.deployedPoints.has(normalizedTick)) {
239
+ return;
461
240
  }
241
+ const pointsInfo = {
242
+ name: msg.name,
243
+ tick: normalizedTick,
244
+ maxSupply: msg.max,
245
+ limitPerMint: msg.lim,
246
+ metadata: msg.metadata,
247
+ topicId,
248
+ deployerAccountId: hcsMsg.payer_account_id,
249
+ currentSupply: "0",
250
+ deploymentTimestamp: hcsMsg.consensus_timestamp,
251
+ isPrivate
252
+ };
253
+ this.state.deployedPoints.set(normalizedTick, pointsInfo);
254
+ this.logger.info(`Deployed points: ${normalizedTick}`);
462
255
  }
463
256
  /**
464
- * Wait for mirror node to index a message
257
+ * Process mint message
465
258
  */
466
- async waitForMirrorNodeConfirmation(topicId, transactionId, maxRetries = 10) {
467
- for (let i = 0; i < maxRetries; i++) {
468
- try {
469
- const messages = await this.mirrorNode.getTopicMessages(topicId, {
470
- limit: 10,
471
- order: "desc"
472
- });
473
- const found = messages.some((message) => {
474
- if (typeof message !== "object" || message === null) {
475
- return false;
476
- }
477
- const candidate = message;
478
- return typeof candidate.consensus_timestamp === "string";
479
- });
480
- if (found) {
481
- this.logger.debug(
482
- `Transaction ${transactionId} confirmed on mirror node`
483
- );
484
- return;
485
- }
486
- } catch (error) {
487
- this.logger.debug(`Mirror node check attempt ${i + 1} failed:`, error);
488
- }
489
- await sleep(2e3);
259
+ processMintMessage(msg, hcsMsg, topicId, isPrivate) {
260
+ const normalizedTick = this.normalizeTick(msg.tick);
261
+ const pointsInfo = this.state.deployedPoints.get(normalizedTick);
262
+ if (!pointsInfo) return;
263
+ const mintAmount = BigInt(msg.amt);
264
+ const currentSupply = BigInt(pointsInfo.currentSupply);
265
+ const maxSupply = BigInt(pointsInfo.maxSupply);
266
+ if (currentSupply + mintAmount > maxSupply) return;
267
+ if (pointsInfo.limitPerMint && mintAmount > BigInt(pointsInfo.limitPerMint))
268
+ return;
269
+ pointsInfo.currentSupply = (currentSupply + mintAmount).toString();
270
+ let tickBalances = this.state.balances.get(normalizedTick);
271
+ if (!tickBalances) {
272
+ tickBalances = /* @__PURE__ */ new Map();
273
+ this.state.balances.set(normalizedTick, tickBalances);
490
274
  }
491
- this.logger.warn(
492
- `Transaction ${transactionId} not found on mirror node after ${maxRetries} attempts`
493
- );
275
+ const currentBalance = tickBalances.get(msg.to);
276
+ const newBalance = currentBalance ? (BigInt(currentBalance.balance) + mintAmount).toString() : msg.amt;
277
+ tickBalances.set(msg.to, {
278
+ tick: normalizedTick,
279
+ accountId: msg.to,
280
+ balance: newBalance,
281
+ lastUpdated: hcsMsg.consensus_timestamp
282
+ });
283
+ this.state.transactions.push({
284
+ id: hcsMsg.transaction_id || `${topicId}-${hcsMsg.sequence_number}`,
285
+ operation: "mint",
286
+ tick: normalizedTick,
287
+ amount: msg.amt,
288
+ to: msg.to,
289
+ timestamp: hcsMsg.consensus_timestamp,
290
+ sequenceNumber: hcsMsg.sequence_number,
291
+ topicId,
292
+ transactionId: hcsMsg.transaction_id || "",
293
+ memo: msg.m
294
+ });
295
+ }
296
+ /**
297
+ * Process transfer message
298
+ */
299
+ processTransferMessage(msg, hcsMsg, topicId, isPrivate) {
300
+ const normalizedTick = this.normalizeTick(msg.tick);
301
+ const tickBalances = this.state.balances.get(normalizedTick);
302
+ if (!tickBalances) return;
303
+ if (!isPrivate && hcsMsg.payer_account_id !== msg.from) return;
304
+ const senderBalance = tickBalances.get(msg.from);
305
+ if (!senderBalance || BigInt(senderBalance.balance) < BigInt(msg.amt))
306
+ return;
307
+ const transferAmount = BigInt(msg.amt);
308
+ senderBalance.balance = (BigInt(senderBalance.balance) - transferAmount).toString();
309
+ senderBalance.lastUpdated = hcsMsg.consensus_timestamp;
310
+ const receiverBalance = tickBalances.get(msg.to);
311
+ if (receiverBalance) {
312
+ receiverBalance.balance = (BigInt(receiverBalance.balance) + transferAmount).toString();
313
+ receiverBalance.lastUpdated = hcsMsg.consensus_timestamp;
314
+ } else {
315
+ tickBalances.set(msg.to, {
316
+ tick: normalizedTick,
317
+ accountId: msg.to,
318
+ balance: msg.amt,
319
+ lastUpdated: hcsMsg.consensus_timestamp
320
+ });
321
+ }
322
+ this.state.transactions.push({
323
+ id: hcsMsg.transaction_id || `${topicId}-${hcsMsg.sequence_number}`,
324
+ operation: "transfer",
325
+ tick: normalizedTick,
326
+ amount: msg.amt,
327
+ from: msg.from,
328
+ to: msg.to,
329
+ timestamp: hcsMsg.consensus_timestamp,
330
+ sequenceNumber: hcsMsg.sequence_number,
331
+ topicId,
332
+ transactionId: hcsMsg.transaction_id || "",
333
+ memo: msg.m
334
+ });
335
+ }
336
+ /**
337
+ * Process burn message
338
+ */
339
+ processBurnMessage(msg, hcsMsg, topicId, isPrivate) {
340
+ const normalizedTick = this.normalizeTick(msg.tick);
341
+ const pointsInfo = this.state.deployedPoints.get(normalizedTick);
342
+ const tickBalances = this.state.balances.get(normalizedTick);
343
+ if (!pointsInfo || !tickBalances) return;
344
+ if (!isPrivate && hcsMsg.payer_account_id !== msg.from) return;
345
+ const accountBalance = tickBalances.get(msg.from);
346
+ if (!accountBalance || BigInt(accountBalance.balance) < BigInt(msg.amt))
347
+ return;
348
+ const burnAmount = BigInt(msg.amt);
349
+ accountBalance.balance = (BigInt(accountBalance.balance) - burnAmount).toString();
350
+ accountBalance.lastUpdated = hcsMsg.consensus_timestamp;
351
+ pointsInfo.currentSupply = (BigInt(pointsInfo.currentSupply) - burnAmount).toString();
352
+ this.state.transactions.push({
353
+ id: hcsMsg.transaction_id || `${topicId}-${hcsMsg.sequence_number}`,
354
+ operation: "burn",
355
+ tick: normalizedTick,
356
+ amount: msg.amt,
357
+ from: msg.from,
358
+ timestamp: hcsMsg.consensus_timestamp,
359
+ sequenceNumber: hcsMsg.sequence_number,
360
+ topicId,
361
+ transactionId: hcsMsg.transaction_id || "",
362
+ memo: msg.m
363
+ });
364
+ }
365
+ /**
366
+ * Normalize tick to lowercase and trim
367
+ */
368
+ normalizeTick(tick) {
369
+ return tick.toLowerCase().trim();
494
370
  }
495
371
  }
496
372
  export {
497
- HCS20Client
373
+ HCS20PointsIndexer
498
374
  };
499
375
  //# sourceMappingURL=standards-sdk.es77.js.map