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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  2. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  3. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  4. package/dist/cjs/hcs-11/client.d.ts +2 -2
  5. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  6. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  7. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  8. package/dist/cjs/hcs-11/types.d.ts +1 -0
  9. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  10. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  11. package/dist/cjs/hcs-12/validation/schemas.d.ts +8 -8
  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-21/types.d.ts +75 -75
  35. package/dist/cjs/index.d.ts.map +1 -1
  36. package/dist/cjs/services/registry-broker/client/adapters.d.ts +20 -0
  37. package/dist/cjs/services/registry-broker/client/adapters.d.ts.map +1 -0
  38. package/dist/cjs/services/registry-broker/client/agents.d.ts +16 -0
  39. package/dist/cjs/services/registry-broker/client/agents.d.ts.map +1 -0
  40. package/dist/cjs/services/registry-broker/client/base-client.d.ts +70 -0
  41. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/chat-history.d.ts +23 -0
  43. package/dist/cjs/services/registry-broker/client/chat-history.d.ts.map +1 -0
  44. package/dist/cjs/services/registry-broker/client/chat.d.ts +33 -0
  45. package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/client/credits.d.ts +40 -0
  47. package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  49. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  50. package/dist/cjs/services/registry-broker/client/encryption.d.ts +33 -0
  51. package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -0
  52. package/dist/cjs/services/registry-broker/client/errors.d.ts +19 -0
  53. package/dist/cjs/services/registry-broker/client/errors.d.ts.map +1 -0
  54. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  55. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  56. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts +10 -0
  57. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  58. package/dist/cjs/services/registry-broker/client/search.d.ts +19 -0
  59. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -0
  60. package/dist/cjs/services/registry-broker/client/utils.d.ts +21 -0
  61. package/dist/cjs/services/registry-broker/client/utils.d.ts.map +1 -0
  62. package/dist/cjs/services/registry-broker/client.d.ts +2 -205
  63. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  64. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  65. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  66. package/dist/cjs/services/registry-broker/schemas.d.ts +2509 -816
  67. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  68. package/dist/cjs/services/registry-broker/types.d.ts +64 -2
  69. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  70. package/dist/cjs/standards-sdk.cjs +3 -3
  71. package/dist/cjs/standards-sdk.cjs.map +1 -1
  72. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  73. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  74. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  75. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  76. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  77. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  78. package/dist/es/hcs-10/sdk.d.ts +8 -0
  79. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  80. package/dist/es/hcs-11/client.d.ts +2 -2
  81. package/dist/es/hcs-11/client.d.ts.map +1 -1
  82. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  83. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  84. package/dist/es/hcs-11/types.d.ts +1 -0
  85. package/dist/es/hcs-11/types.d.ts.map +1 -1
  86. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  87. package/dist/es/hcs-12/validation/schemas.d.ts +8 -8
  88. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  89. package/dist/es/hcs-15/browser.d.ts +2 -0
  90. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  91. package/dist/es/hcs-15/sdk.d.ts +7 -1
  92. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  93. package/dist/es/hcs-15/tx.d.ts +4 -0
  94. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  95. package/dist/es/hcs-15/types.d.ts +16 -1
  96. package/dist/es/hcs-15/types.d.ts.map +1 -1
  97. package/dist/es/hcs-16/browser.d.ts +11 -2
  98. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  99. package/dist/es/hcs-16/sdk.d.ts +62 -1
  100. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  101. package/dist/es/hcs-16/tx.d.ts +21 -3
  102. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  103. package/dist/es/hcs-17/base-client.d.ts +1 -0
  104. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  105. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  106. package/dist/es/hcs-17/tx.d.ts +2 -0
  107. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  108. package/dist/es/hcs-17/types.d.ts +4 -0
  109. package/dist/es/hcs-17/types.d.ts.map +1 -1
  110. package/dist/es/hcs-21/types.d.ts +75 -75
  111. package/dist/es/index.d.ts.map +1 -1
  112. package/dist/es/services/registry-broker/client/adapters.d.ts +20 -0
  113. package/dist/es/services/registry-broker/client/adapters.d.ts.map +1 -0
  114. package/dist/es/services/registry-broker/client/agents.d.ts +16 -0
  115. package/dist/es/services/registry-broker/client/agents.d.ts.map +1 -0
  116. package/dist/es/services/registry-broker/client/base-client.d.ts +70 -0
  117. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -0
  118. package/dist/es/services/registry-broker/client/chat-history.d.ts +23 -0
  119. package/dist/es/services/registry-broker/client/chat-history.d.ts.map +1 -0
  120. package/dist/es/services/registry-broker/client/chat.d.ts +33 -0
  121. package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -0
  122. package/dist/es/services/registry-broker/client/credits.d.ts +40 -0
  123. package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -0
  124. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  125. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  126. package/dist/es/services/registry-broker/client/encryption.d.ts +33 -0
  127. package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -0
  128. package/dist/es/services/registry-broker/client/errors.d.ts +19 -0
  129. package/dist/es/services/registry-broker/client/errors.d.ts.map +1 -0
  130. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  131. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  132. package/dist/es/services/registry-broker/client/ledger-auth.d.ts +10 -0
  133. package/dist/es/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  134. package/dist/es/services/registry-broker/client/search.d.ts +19 -0
  135. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -0
  136. package/dist/es/services/registry-broker/client/utils.d.ts +21 -0
  137. package/dist/es/services/registry-broker/client/utils.d.ts.map +1 -0
  138. package/dist/es/services/registry-broker/client.d.ts +2 -205
  139. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  140. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  141. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  142. package/dist/es/services/registry-broker/schemas.d.ts +2509 -816
  143. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  144. package/dist/es/services/registry-broker/types.d.ts +64 -2
  145. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  146. package/dist/es/standards-sdk.es.js +148 -133
  147. package/dist/es/standards-sdk.es.js.map +1 -1
  148. package/dist/es/standards-sdk.es10.js +70 -90
  149. package/dist/es/standards-sdk.es10.js.map +1 -1
  150. package/dist/es/standards-sdk.es100.js +229 -26
  151. package/dist/es/standards-sdk.es100.js.map +1 -1
  152. package/dist/es/standards-sdk.es101.js +109 -228
  153. package/dist/es/standards-sdk.es101.js.map +1 -1
  154. package/dist/es/standards-sdk.es102.js +15 -94
  155. package/dist/es/standards-sdk.es102.js.map +1 -1
  156. package/dist/es/standards-sdk.es103.js +80 -30
  157. package/dist/es/standards-sdk.es103.js.map +1 -1
  158. package/dist/es/standards-sdk.es104.js +27 -80
  159. package/dist/es/standards-sdk.es104.js.map +1 -1
  160. package/dist/es/standards-sdk.es105.js +136 -25
  161. package/dist/es/standards-sdk.es105.js.map +1 -1
  162. package/dist/es/standards-sdk.es106.js +27 -140
  163. package/dist/es/standards-sdk.es106.js.map +1 -1
  164. package/dist/es/standards-sdk.es107.js +20 -27
  165. package/dist/es/standards-sdk.es107.js.map +1 -1
  166. package/dist/es/standards-sdk.es108.js +156 -18
  167. package/dist/es/standards-sdk.es108.js.map +1 -1
  168. package/dist/es/standards-sdk.es109.js +198 -148
  169. package/dist/es/standards-sdk.es109.js.map +1 -1
  170. package/dist/es/standards-sdk.es11.js +121 -45
  171. package/dist/es/standards-sdk.es11.js.map +1 -1
  172. package/dist/es/standards-sdk.es110.js +747 -160
  173. package/dist/es/standards-sdk.es110.js.map +1 -1
  174. package/dist/es/standards-sdk.es111.js +9 -786
  175. package/dist/es/standards-sdk.es111.js.map +1 -1
  176. package/dist/es/standards-sdk.es112.js +567 -13
  177. package/dist/es/standards-sdk.es112.js.map +1 -1
  178. package/dist/es/standards-sdk.es113.js +576 -541
  179. package/dist/es/standards-sdk.es113.js.map +1 -1
  180. package/dist/es/standards-sdk.es114.js +12 -601
  181. package/dist/es/standards-sdk.es114.js.map +1 -1
  182. package/dist/es/standards-sdk.es115.js +2 -13
  183. package/dist/es/standards-sdk.es115.js.map +1 -1
  184. package/dist/es/standards-sdk.es116.js +87 -2
  185. package/dist/es/standards-sdk.es116.js.map +1 -1
  186. package/dist/es/standards-sdk.es117.js +37 -80
  187. package/dist/es/standards-sdk.es117.js.map +1 -1
  188. package/dist/es/standards-sdk.es118.js +2 -39
  189. package/dist/es/standards-sdk.es118.js.map +1 -1
  190. package/dist/es/standards-sdk.es119.js +231 -2
  191. package/dist/es/standards-sdk.es119.js.map +1 -1
  192. package/dist/es/standards-sdk.es12.js +60 -159
  193. package/dist/es/standards-sdk.es12.js.map +1 -1
  194. package/dist/es/standards-sdk.es120.js +1110 -193
  195. package/dist/es/standards-sdk.es120.js.map +1 -1
  196. package/dist/es/standards-sdk.es121.js +225 -1059
  197. package/dist/es/standards-sdk.es121.js.map +1 -1
  198. package/dist/es/standards-sdk.es122.js +419 -303
  199. package/dist/es/standards-sdk.es122.js.map +1 -1
  200. package/dist/es/standards-sdk.es123.js +351 -418
  201. package/dist/es/standards-sdk.es123.js.map +1 -1
  202. package/dist/es/standards-sdk.es124.js +872 -347
  203. package/dist/es/standards-sdk.es124.js.map +1 -1
  204. package/dist/es/standards-sdk.es125.js +182 -854
  205. package/dist/es/standards-sdk.es125.js.map +1 -1
  206. package/dist/es/standards-sdk.es126.js +1512 -153
  207. package/dist/es/standards-sdk.es126.js.map +1 -1
  208. package/dist/es/standards-sdk.es127.js +157 -1547
  209. package/dist/es/standards-sdk.es127.js.map +1 -1
  210. package/dist/es/standards-sdk.es128.js +184 -2190
  211. package/dist/es/standards-sdk.es128.js.map +1 -1
  212. package/dist/es/standards-sdk.es129.js +100 -63
  213. package/dist/es/standards-sdk.es129.js.map +1 -1
  214. package/dist/es/standards-sdk.es13.js +200 -60
  215. package/dist/es/standards-sdk.es13.js.map +1 -1
  216. package/dist/es/standards-sdk.es130.js +112 -78
  217. package/dist/es/standards-sdk.es130.js.map +1 -1
  218. package/dist/es/standards-sdk.es131.js +232 -144
  219. package/dist/es/standards-sdk.es131.js.map +1 -1
  220. package/dist/es/standards-sdk.es132.js +181 -8
  221. package/dist/es/standards-sdk.es132.js.map +1 -1
  222. package/dist/es/standards-sdk.es133.js +118 -82
  223. package/dist/es/standards-sdk.es133.js.map +1 -1
  224. package/dist/es/standards-sdk.es134.js +322 -61
  225. package/dist/es/standards-sdk.es134.js.map +1 -1
  226. package/dist/es/standards-sdk.es135.js +464 -28
  227. package/dist/es/standards-sdk.es135.js.map +1 -1
  228. package/dist/es/standards-sdk.es136.js +14 -135
  229. package/dist/es/standards-sdk.es136.js.map +1 -1
  230. package/dist/es/standards-sdk.es137.js +78 -39
  231. package/dist/es/standards-sdk.es137.js.map +1 -1
  232. package/dist/es/standards-sdk.es138.js +85 -764
  233. package/dist/es/standards-sdk.es138.js.map +1 -1
  234. package/dist/es/standards-sdk.es139.js +135 -12250
  235. package/dist/es/standards-sdk.es139.js.map +1 -1
  236. package/dist/es/standards-sdk.es14.js +149 -178
  237. package/dist/es/standards-sdk.es14.js.map +1 -1
  238. package/dist/es/standards-sdk.es140.js +7 -56
  239. package/dist/es/standards-sdk.es140.js.map +1 -1
  240. package/dist/es/standards-sdk.es141.js +72 -68
  241. package/dist/es/standards-sdk.es141.js.map +1 -1
  242. package/dist/es/standards-sdk.es142.js +61 -13
  243. package/dist/es/standards-sdk.es142.js.map +1 -1
  244. package/dist/es/standards-sdk.es143.js +30 -172
  245. package/dist/es/standards-sdk.es143.js.map +1 -1
  246. package/dist/es/standards-sdk.es144.js +34 -322
  247. package/dist/es/standards-sdk.es144.js.map +1 -1
  248. package/dist/es/standards-sdk.es145.js +28 -346
  249. package/dist/es/standards-sdk.es145.js.map +1 -1
  250. package/dist/es/standards-sdk.es146.js +112 -427
  251. package/dist/es/standards-sdk.es146.js.map +1 -1
  252. package/dist/es/standards-sdk.es147.js +40 -329
  253. package/dist/es/standards-sdk.es147.js.map +1 -1
  254. package/dist/es/standards-sdk.es148.js +12279 -66
  255. package/dist/es/standards-sdk.es148.js.map +1 -1
  256. package/dist/es/standards-sdk.es149.js +961 -0
  257. package/dist/es/standards-sdk.es149.js.map +1 -0
  258. package/dist/es/standards-sdk.es15.js +152 -151
  259. package/dist/es/standards-sdk.es15.js.map +1 -1
  260. package/dist/es/standards-sdk.es150.js +20 -0
  261. package/dist/es/standards-sdk.es150.js.map +1 -0
  262. package/dist/es/standards-sdk.es151.js +59 -0
  263. package/dist/es/standards-sdk.es151.js.map +1 -0
  264. package/dist/es/standards-sdk.es152.js +87 -0
  265. package/dist/es/standards-sdk.es152.js.map +1 -0
  266. package/dist/es/standards-sdk.es153.js +175 -0
  267. package/dist/es/standards-sdk.es153.js.map +1 -0
  268. package/dist/es/standards-sdk.es154.js +325 -0
  269. package/dist/es/standards-sdk.es154.js.map +1 -0
  270. package/dist/es/standards-sdk.es155.js +349 -0
  271. package/dist/es/standards-sdk.es155.js.map +1 -0
  272. package/dist/es/standards-sdk.es156.js +456 -0
  273. package/dist/es/standards-sdk.es156.js.map +1 -0
  274. package/dist/es/standards-sdk.es157.js +334 -0
  275. package/dist/es/standards-sdk.es157.js.map +1 -0
  276. package/dist/es/standards-sdk.es158.js +79 -0
  277. package/dist/es/standards-sdk.es158.js.map +1 -0
  278. package/dist/es/standards-sdk.es159.js +242 -0
  279. package/dist/es/standards-sdk.es159.js.map +1 -0
  280. package/dist/es/standards-sdk.es16.js +917 -136
  281. package/dist/es/standards-sdk.es16.js.map +1 -1
  282. package/dist/es/standards-sdk.es160.js +247 -0
  283. package/dist/es/standards-sdk.es160.js.map +1 -0
  284. package/dist/es/standards-sdk.es17.js +23 -938
  285. package/dist/es/standards-sdk.es17.js.map +1 -1
  286. package/dist/es/standards-sdk.es18.js +2422 -24
  287. package/dist/es/standards-sdk.es18.js.map +1 -1
  288. package/dist/es/standards-sdk.es19.js +826 -2075
  289. package/dist/es/standards-sdk.es19.js.map +1 -1
  290. package/dist/es/standards-sdk.es2.js +654 -189
  291. package/dist/es/standards-sdk.es2.js.map +1 -1
  292. package/dist/es/standards-sdk.es20.js +205 -1086
  293. package/dist/es/standards-sdk.es20.js.map +1 -1
  294. package/dist/es/standards-sdk.es21.js +858 -221
  295. package/dist/es/standards-sdk.es21.js.map +1 -1
  296. package/dist/es/standards-sdk.es22.js +179 -903
  297. package/dist/es/standards-sdk.es22.js.map +1 -1
  298. package/dist/es/standards-sdk.es23.js +164 -179
  299. package/dist/es/standards-sdk.es23.js.map +1 -1
  300. package/dist/es/standards-sdk.es24.js +62 -118
  301. package/dist/es/standards-sdk.es24.js.map +1 -1
  302. package/dist/es/standards-sdk.es25.js +377 -52
  303. package/dist/es/standards-sdk.es25.js.map +1 -1
  304. package/dist/es/standards-sdk.es26.js +36 -394
  305. package/dist/es/standards-sdk.es26.js.map +1 -1
  306. package/dist/es/standards-sdk.es27.js +901 -50
  307. package/dist/es/standards-sdk.es27.js.map +1 -1
  308. package/dist/es/standards-sdk.es28.js +134 -897
  309. package/dist/es/standards-sdk.es28.js.map +1 -1
  310. package/dist/es/standards-sdk.es29.js +7 -134
  311. package/dist/es/standards-sdk.es29.js.map +1 -1
  312. package/dist/es/standards-sdk.es3.js +63 -680
  313. package/dist/es/standards-sdk.es3.js.map +1 -1
  314. package/dist/es/standards-sdk.es30.js +344 -7
  315. package/dist/es/standards-sdk.es30.js.map +1 -1
  316. package/dist/es/standards-sdk.es31.js +302 -287
  317. package/dist/es/standards-sdk.es31.js.map +1 -1
  318. package/dist/es/standards-sdk.es32.js +94 -322
  319. package/dist/es/standards-sdk.es32.js.map +1 -1
  320. package/dist/es/standards-sdk.es33.js +458 -101
  321. package/dist/es/standards-sdk.es33.js.map +1 -1
  322. package/dist/es/standards-sdk.es34.js +132 -451
  323. package/dist/es/standards-sdk.es34.js.map +1 -1
  324. package/dist/es/standards-sdk.es35.js +216 -130
  325. package/dist/es/standards-sdk.es35.js.map +1 -1
  326. package/dist/es/standards-sdk.es36.js +274 -191
  327. package/dist/es/standards-sdk.es36.js.map +1 -1
  328. package/dist/es/standards-sdk.es37.js +148 -87
  329. package/dist/es/standards-sdk.es37.js.map +1 -1
  330. package/dist/es/standards-sdk.es38.js +183 -320
  331. package/dist/es/standards-sdk.es38.js.map +1 -1
  332. package/dist/es/standards-sdk.es39.js +238 -161
  333. package/dist/es/standards-sdk.es39.js.map +1 -1
  334. package/dist/es/standards-sdk.es4.js +425 -63
  335. package/dist/es/standards-sdk.es4.js.map +1 -1
  336. package/dist/es/standards-sdk.es40.js +136 -254
  337. package/dist/es/standards-sdk.es40.js.map +1 -1
  338. package/dist/es/standards-sdk.es41.js +225 -176
  339. package/dist/es/standards-sdk.es41.js.map +1 -1
  340. package/dist/es/standards-sdk.es42.js +199 -261
  341. package/dist/es/standards-sdk.es42.js.map +1 -1
  342. package/dist/es/standards-sdk.es43.js +237 -199
  343. package/dist/es/standards-sdk.es43.js.map +1 -1
  344. package/dist/es/standards-sdk.es44.js +209 -201
  345. package/dist/es/standards-sdk.es44.js.map +1 -1
  346. package/dist/es/standards-sdk.es45.js +305 -201
  347. package/dist/es/standards-sdk.es45.js.map +1 -1
  348. package/dist/es/standards-sdk.es46.js +371 -261
  349. package/dist/es/standards-sdk.es46.js.map +1 -1
  350. package/dist/es/standards-sdk.es47.js +316 -371
  351. package/dist/es/standards-sdk.es47.js.map +1 -1
  352. package/dist/es/standards-sdk.es48.js +404 -336
  353. package/dist/es/standards-sdk.es48.js.map +1 -1
  354. package/dist/es/standards-sdk.es49.js +83 -449
  355. package/dist/es/standards-sdk.es49.js.map +1 -1
  356. package/dist/es/standards-sdk.es5.js +232 -354
  357. package/dist/es/standards-sdk.es5.js.map +1 -1
  358. package/dist/es/standards-sdk.es50.js +179 -89
  359. package/dist/es/standards-sdk.es50.js.map +1 -1
  360. package/dist/es/standards-sdk.es51.js +231 -165
  361. package/dist/es/standards-sdk.es51.js.map +1 -1
  362. package/dist/es/standards-sdk.es52.js +25 -262
  363. package/dist/es/standards-sdk.es52.js.map +1 -1
  364. package/dist/es/standards-sdk.es53.js +56 -26
  365. package/dist/es/standards-sdk.es53.js.map +1 -1
  366. package/dist/es/standards-sdk.es54.js +12 -57
  367. package/dist/es/standards-sdk.es54.js.map +1 -1
  368. package/dist/es/standards-sdk.es55.js +49 -12
  369. package/dist/es/standards-sdk.es55.js.map +1 -1
  370. package/dist/es/standards-sdk.es56.js +115 -43
  371. package/dist/es/standards-sdk.es56.js.map +1 -1
  372. package/dist/es/standards-sdk.es57.js +42 -115
  373. package/dist/es/standards-sdk.es57.js.map +1 -1
  374. package/dist/es/standards-sdk.es58.js +52 -43
  375. package/dist/es/standards-sdk.es58.js.map +1 -1
  376. package/dist/es/standards-sdk.es59.js +36 -50
  377. package/dist/es/standards-sdk.es59.js.map +1 -1
  378. package/dist/es/standards-sdk.es6.js +125 -246
  379. package/dist/es/standards-sdk.es6.js.map +1 -1
  380. package/dist/es/standards-sdk.es60.js +207 -39
  381. package/dist/es/standards-sdk.es60.js.map +1 -1
  382. package/dist/es/standards-sdk.es61.js +24 -195
  383. package/dist/es/standards-sdk.es61.js.map +1 -1
  384. package/dist/es/standards-sdk.es62.js +87 -25
  385. package/dist/es/standards-sdk.es62.js.map +1 -1
  386. package/dist/es/standards-sdk.es63.js +3 -51
  387. package/dist/es/standards-sdk.es63.js.map +1 -1
  388. package/dist/es/standards-sdk.es64.js +100 -3
  389. package/dist/es/standards-sdk.es64.js.map +1 -1
  390. package/dist/es/standards-sdk.es65.js +61 -62
  391. package/dist/es/standards-sdk.es65.js.map +1 -1
  392. package/dist/es/standards-sdk.es66.js +17 -98
  393. package/dist/es/standards-sdk.es66.js.map +1 -1
  394. package/dist/es/standards-sdk.es67.js +77 -19
  395. package/dist/es/standards-sdk.es67.js.map +1 -1
  396. package/dist/es/standards-sdk.es68.js +458 -77
  397. package/dist/es/standards-sdk.es68.js.map +1 -1
  398. package/dist/es/standards-sdk.es69.js +106 -240
  399. package/dist/es/standards-sdk.es69.js.map +1 -1
  400. package/dist/es/standards-sdk.es7.js +28 -183
  401. package/dist/es/standards-sdk.es7.js.map +1 -1
  402. package/dist/es/standards-sdk.es70.js +170 -286
  403. package/dist/es/standards-sdk.es70.js.map +1 -1
  404. package/dist/es/standards-sdk.es71.js +71 -207
  405. package/dist/es/standards-sdk.es71.js.map +1 -1
  406. package/dist/es/standards-sdk.es72.js +71 -72
  407. package/dist/es/standards-sdk.es72.js.map +1 -1
  408. package/dist/es/standards-sdk.es73.js +143 -71
  409. package/dist/es/standards-sdk.es73.js.map +1 -1
  410. package/dist/es/standards-sdk.es74.js +62 -136
  411. package/dist/es/standards-sdk.es74.js.map +1 -1
  412. package/dist/es/standards-sdk.es75.js +380 -45
  413. package/dist/es/standards-sdk.es75.js.map +1 -1
  414. package/dist/es/standards-sdk.es76.js +222 -130
  415. package/dist/es/standards-sdk.es76.js.map +1 -1
  416. package/dist/es/standards-sdk.es77.js +320 -444
  417. package/dist/es/standards-sdk.es77.js.map +1 -1
  418. package/dist/es/standards-sdk.es78.js +88 -364
  419. package/dist/es/standards-sdk.es78.js.map +1 -1
  420. package/dist/es/standards-sdk.es79.js +125 -89
  421. package/dist/es/standards-sdk.es79.js.map +1 -1
  422. package/dist/es/standards-sdk.es8.js +80 -29
  423. package/dist/es/standards-sdk.es8.js.map +1 -1
  424. package/dist/es/standards-sdk.es80.js +8 -125
  425. package/dist/es/standards-sdk.es80.js.map +1 -1
  426. package/dist/es/standards-sdk.es81.js +45 -6
  427. package/dist/es/standards-sdk.es81.js.map +1 -1
  428. package/dist/es/standards-sdk.es82.js +98 -44
  429. package/dist/es/standards-sdk.es82.js.map +1 -1
  430. package/dist/es/standards-sdk.es83.js +331 -84
  431. package/dist/es/standards-sdk.es83.js.map +1 -1
  432. package/dist/es/standards-sdk.es84.js +93 -160
  433. package/dist/es/standards-sdk.es84.js.map +1 -1
  434. package/dist/es/standards-sdk.es85.js +55 -275
  435. package/dist/es/standards-sdk.es85.js.map +1 -1
  436. package/dist/es/standards-sdk.es86.js +43 -55
  437. package/dist/es/standards-sdk.es86.js.map +1 -1
  438. package/dist/es/standards-sdk.es87.js +145 -22
  439. package/dist/es/standards-sdk.es87.js.map +1 -1
  440. package/dist/es/standards-sdk.es88.js +34 -47
  441. package/dist/es/standards-sdk.es88.js.map +1 -1
  442. package/dist/es/standards-sdk.es89.js +22 -57
  443. package/dist/es/standards-sdk.es89.js.map +1 -1
  444. package/dist/es/standards-sdk.es9.js +104 -80
  445. package/dist/es/standards-sdk.es9.js.map +1 -1
  446. package/dist/es/standards-sdk.es90.js +23 -28
  447. package/dist/es/standards-sdk.es90.js.map +1 -1
  448. package/dist/es/standards-sdk.es91.js +238 -23
  449. package/dist/es/standards-sdk.es91.js.map +1 -1
  450. package/dist/es/standards-sdk.es92.js +265 -152
  451. package/dist/es/standards-sdk.es92.js.map +1 -1
  452. package/dist/es/standards-sdk.es93.js +95 -68
  453. package/dist/es/standards-sdk.es93.js.map +1 -1
  454. package/dist/es/standards-sdk.es94.js +124 -136
  455. package/dist/es/standards-sdk.es94.js.map +1 -1
  456. package/dist/es/standards-sdk.es95.js +42 -138
  457. package/dist/es/standards-sdk.es95.js.map +1 -1
  458. package/dist/es/standards-sdk.es96.js +259 -42
  459. package/dist/es/standards-sdk.es96.js.map +1 -1
  460. package/dist/es/standards-sdk.es97.js +82 -243
  461. package/dist/es/standards-sdk.es97.js.map +1 -1
  462. package/dist/es/standards-sdk.es98.js +48 -47
  463. package/dist/es/standards-sdk.es98.js.map +1 -1
  464. package/dist/es/standards-sdk.es99.js +29 -100
  465. package/dist/es/standards-sdk.es99.js.map +1 -1
  466. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  467. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  468. package/dist/es/utils/dynamic-import.d.ts +5 -1
  469. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  470. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  471. package/package.json +15 -16
  472. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  473. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  474. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  475. 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.es136.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