@hashgraphonline/standards-sdk 0.1.161 → 0.1.162

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 (329) hide show
  1. package/dist/cjs/hcs-14/index.d.ts +1 -0
  2. package/dist/cjs/hcs-14/index.d.ts.map +1 -1
  3. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
  4. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
  5. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  6. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  7. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  8. package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  9. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
  10. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
  11. package/dist/cjs/hcs-14/resolvers/hiero.d.ts +1 -0
  12. package/dist/cjs/hcs-14/resolvers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -0
  14. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  15. package/dist/cjs/hcs-14/resolvers/types.d.ts +40 -5
  16. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  17. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
  18. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
  19. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
  20. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
  21. package/dist/cjs/hcs-14/sdk.d.ts +23 -1
  22. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  23. package/dist/cjs/standards-sdk.cjs +2 -2
  24. package/dist/cjs/standards-sdk.cjs.map +1 -1
  25. package/dist/es/hcs-14/index.d.ts +1 -0
  26. package/dist/es/hcs-14/index.d.ts.map +1 -1
  27. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
  28. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
  29. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
  30. package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
  31. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
  32. package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
  33. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
  34. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
  35. package/dist/es/hcs-14/resolvers/hiero.d.ts +1 -0
  36. package/dist/es/hcs-14/resolvers/hiero.d.ts.map +1 -1
  37. package/dist/es/hcs-14/resolvers/registry.d.ts +21 -0
  38. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  39. package/dist/es/hcs-14/resolvers/types.d.ts +40 -5
  40. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  41. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
  42. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
  43. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
  44. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
  45. package/dist/es/hcs-14/sdk.d.ts +23 -1
  46. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  47. package/dist/es/standards-sdk.es.js +89 -86
  48. package/dist/es/standards-sdk.es.js.map +1 -1
  49. package/dist/es/standards-sdk.es100.js +136 -124
  50. package/dist/es/standards-sdk.es100.js.map +1 -1
  51. package/dist/es/standards-sdk.es101.js +138 -42
  52. package/dist/es/standards-sdk.es101.js.map +1 -1
  53. package/dist/es/standards-sdk.es102.js +43 -259
  54. package/dist/es/standards-sdk.es102.js.map +1 -1
  55. package/dist/es/standards-sdk.es103.js +245 -82
  56. package/dist/es/standards-sdk.es103.js.map +1 -1
  57. package/dist/es/standards-sdk.es104.js +50 -49
  58. package/dist/es/standards-sdk.es104.js.map +1 -1
  59. package/dist/es/standards-sdk.es105.js +100 -29
  60. package/dist/es/standards-sdk.es105.js.map +1 -1
  61. package/dist/es/standards-sdk.es106.js +27 -229
  62. package/dist/es/standards-sdk.es106.js.map +1 -1
  63. package/dist/es/standards-sdk.es107.js +228 -109
  64. package/dist/es/standards-sdk.es107.js.map +1 -1
  65. package/dist/es/standards-sdk.es108.js +94 -15
  66. package/dist/es/standards-sdk.es108.js.map +1 -1
  67. package/dist/es/standards-sdk.es109.js +30 -80
  68. package/dist/es/standards-sdk.es109.js.map +1 -1
  69. package/dist/es/standards-sdk.es11.js +1 -1
  70. package/dist/es/standards-sdk.es110.js +80 -27
  71. package/dist/es/standards-sdk.es110.js.map +1 -1
  72. package/dist/es/standards-sdk.es111.js +27 -248
  73. package/dist/es/standards-sdk.es111.js.map +1 -1
  74. package/dist/es/standards-sdk.es112.js +246 -472
  75. package/dist/es/standards-sdk.es112.js.map +1 -1
  76. package/dist/es/standards-sdk.es113.js +458 -85
  77. package/dist/es/standards-sdk.es113.js.map +1 -1
  78. package/dist/es/standards-sdk.es114.js +96 -151
  79. package/dist/es/standards-sdk.es114.js.map +1 -1
  80. package/dist/es/standards-sdk.es115.js +155 -29
  81. package/dist/es/standards-sdk.es115.js.map +1 -1
  82. package/dist/es/standards-sdk.es116.js +26 -4
  83. package/dist/es/standards-sdk.es116.js.map +1 -1
  84. package/dist/es/standards-sdk.es117.js +10 -140
  85. package/dist/es/standards-sdk.es117.js.map +1 -1
  86. package/dist/es/standards-sdk.es118.js +140 -27
  87. package/dist/es/standards-sdk.es118.js.map +1 -1
  88. package/dist/es/standards-sdk.es119.js +27 -20
  89. package/dist/es/standards-sdk.es119.js.map +1 -1
  90. package/dist/es/standards-sdk.es12.js +1 -1
  91. package/dist/es/standards-sdk.es120.js +18 -156
  92. package/dist/es/standards-sdk.es120.js.map +1 -1
  93. package/dist/es/standards-sdk.es121.js +148 -191
  94. package/dist/es/standards-sdk.es121.js.map +1 -1
  95. package/dist/es/standards-sdk.es122.js +160 -747
  96. package/dist/es/standards-sdk.es122.js.map +1 -1
  97. package/dist/es/standards-sdk.es123.js +786 -9
  98. package/dist/es/standards-sdk.es123.js.map +1 -1
  99. package/dist/es/standards-sdk.es124.js +13 -567
  100. package/dist/es/standards-sdk.es124.js.map +1 -1
  101. package/dist/es/standards-sdk.es125.js +541 -576
  102. package/dist/es/standards-sdk.es125.js.map +1 -1
  103. package/dist/es/standards-sdk.es126.js +601 -12
  104. package/dist/es/standards-sdk.es126.js.map +1 -1
  105. package/dist/es/standards-sdk.es127.js +13 -2
  106. package/dist/es/standards-sdk.es127.js.map +1 -1
  107. package/dist/es/standards-sdk.es128.js +2 -87
  108. package/dist/es/standards-sdk.es128.js.map +1 -1
  109. package/dist/es/standards-sdk.es129.js +84 -37
  110. package/dist/es/standards-sdk.es129.js.map +1 -1
  111. package/dist/es/standards-sdk.es13.js +1 -1
  112. package/dist/es/standards-sdk.es130.js +40 -2
  113. package/dist/es/standards-sdk.es130.js.map +1 -1
  114. package/dist/es/standards-sdk.es131.js +2 -235
  115. package/dist/es/standards-sdk.es131.js.map +1 -1
  116. package/dist/es/standards-sdk.es132.js +204 -1109
  117. package/dist/es/standards-sdk.es132.js.map +1 -1
  118. package/dist/es/standards-sdk.es133.js +1059 -225
  119. package/dist/es/standards-sdk.es133.js.map +1 -1
  120. package/dist/es/standards-sdk.es134.js +303 -419
  121. package/dist/es/standards-sdk.es134.js.map +1 -1
  122. package/dist/es/standards-sdk.es135.js +418 -351
  123. package/dist/es/standards-sdk.es135.js.map +1 -1
  124. package/dist/es/standards-sdk.es136.js +347 -1108
  125. package/dist/es/standards-sdk.es136.js.map +1 -1
  126. package/dist/es/standards-sdk.es137.js +1088 -180
  127. package/dist/es/standards-sdk.es137.js.map +1 -1
  128. package/dist/es/standards-sdk.es138.js +153 -1512
  129. package/dist/es/standards-sdk.es138.js.map +1 -1
  130. package/dist/es/standards-sdk.es139.js +1567 -1255
  131. package/dist/es/standards-sdk.es139.js.map +1 -1
  132. package/dist/es/standards-sdk.es14.js +1 -1
  133. package/dist/es/standards-sdk.es140.js +1255 -17
  134. package/dist/es/standards-sdk.es140.js.map +1 -1
  135. package/dist/es/standards-sdk.es141.js +15 -85
  136. package/dist/es/standards-sdk.es141.js.map +1 -1
  137. package/dist/es/standards-sdk.es142.js +77 -71
  138. package/dist/es/standards-sdk.es142.js.map +1 -1
  139. package/dist/es/standards-sdk.es143.js +79 -891
  140. package/dist/es/standards-sdk.es143.js.map +1 -1
  141. package/dist/es/standards-sdk.es144.js +886 -53
  142. package/dist/es/standards-sdk.es144.js.map +1 -1
  143. package/dist/es/standards-sdk.es145.js +53 -152
  144. package/dist/es/standards-sdk.es145.js.map +1 -1
  145. package/dist/es/standards-sdk.es146.js +159 -7
  146. package/dist/es/standards-sdk.es146.js.map +1 -1
  147. package/dist/es/standards-sdk.es147.js +7 -86
  148. package/dist/es/standards-sdk.es147.js.map +1 -1
  149. package/dist/es/standards-sdk.es148.js +65 -44
  150. package/dist/es/standards-sdk.es148.js.map +1 -1
  151. package/dist/es/standards-sdk.es149.js +65 -30
  152. package/dist/es/standards-sdk.es149.js.map +1 -1
  153. package/dist/es/standards-sdk.es15.js +1 -1
  154. package/dist/es/standards-sdk.es150.js +30 -34
  155. package/dist/es/standards-sdk.es150.js.map +1 -1
  156. package/dist/es/standards-sdk.es151.js +34 -45
  157. package/dist/es/standards-sdk.es151.js.map +1 -1
  158. package/dist/es/standards-sdk.es152.js +48 -138
  159. package/dist/es/standards-sdk.es152.js.map +1 -1
  160. package/dist/es/standards-sdk.es153.js +133 -37
  161. package/dist/es/standards-sdk.es153.js.map +1 -1
  162. package/dist/es/standards-sdk.es154.js +34 -12474
  163. package/dist/es/standards-sdk.es154.js.map +1 -1
  164. package/dist/es/standards-sdk.es155.js +12477 -12
  165. package/dist/es/standards-sdk.es155.js.map +1 -1
  166. package/dist/es/standards-sdk.es156.js +15 -54
  167. package/dist/es/standards-sdk.es156.js.map +1 -1
  168. package/dist/es/standards-sdk.es157.js +48 -76
  169. package/dist/es/standards-sdk.es157.js.map +1 -1
  170. package/dist/es/standards-sdk.es158.js +69 -66
  171. package/dist/es/standards-sdk.es158.js.map +1 -1
  172. package/dist/es/standards-sdk.es159.js +71 -63
  173. package/dist/es/standards-sdk.es159.js.map +1 -1
  174. package/dist/es/standards-sdk.es16.js +5 -5
  175. package/dist/es/standards-sdk.es160.js +188 -160
  176. package/dist/es/standards-sdk.es160.js.map +1 -1
  177. package/dist/es/standards-sdk.es161.js +65 -314
  178. package/dist/es/standards-sdk.es161.js.map +1 -1
  179. package/dist/es/standards-sdk.es162.js +232 -336
  180. package/dist/es/standards-sdk.es162.js.map +1 -1
  181. package/dist/es/standards-sdk.es163.js +129 -410
  182. package/dist/es/standards-sdk.es163.js.map +1 -1
  183. package/dist/es/standards-sdk.es164.js +200 -209
  184. package/dist/es/standards-sdk.es164.js.map +1 -1
  185. package/dist/es/standards-sdk.es165.js +334 -64
  186. package/dist/es/standards-sdk.es165.js.map +1 -1
  187. package/dist/es/standards-sdk.es166.js +442 -231
  188. package/dist/es/standards-sdk.es166.js.map +1 -1
  189. package/dist/es/standards-sdk.es167.js +317 -158
  190. package/dist/es/standards-sdk.es167.js.map +1 -1
  191. package/dist/es/standards-sdk.es168.js +61 -207
  192. package/dist/es/standards-sdk.es168.js.map +1 -1
  193. package/dist/es/standards-sdk.es169.js +155 -222
  194. package/dist/es/standards-sdk.es169.js.map +1 -1
  195. package/dist/es/standards-sdk.es170.js +178 -75
  196. package/dist/es/standards-sdk.es170.js.map +1 -1
  197. package/dist/es/standards-sdk.es171.js +226 -113
  198. package/dist/es/standards-sdk.es171.js.map +1 -1
  199. package/dist/es/standards-sdk.es172.js +77 -119
  200. package/dist/es/standards-sdk.es172.js.map +1 -1
  201. package/dist/es/standards-sdk.es173.js +103 -162
  202. package/dist/es/standards-sdk.es173.js.map +1 -1
  203. package/dist/es/standards-sdk.es174.js +141 -119
  204. package/dist/es/standards-sdk.es174.js.map +1 -1
  205. package/dist/es/standards-sdk.es175.js +152 -298
  206. package/dist/es/standards-sdk.es175.js.map +1 -1
  207. package/dist/es/standards-sdk.es176.js +120 -240
  208. package/dist/es/standards-sdk.es176.js.map +1 -1
  209. package/dist/es/standards-sdk.es177.js +298 -83
  210. package/dist/es/standards-sdk.es177.js.map +1 -1
  211. package/dist/es/standards-sdk.es178.js +262 -0
  212. package/dist/es/standards-sdk.es178.js.map +1 -0
  213. package/dist/es/standards-sdk.es179.js +119 -0
  214. package/dist/es/standards-sdk.es179.js.map +1 -0
  215. package/dist/es/standards-sdk.es18.js +12 -12
  216. package/dist/es/standards-sdk.es19.js +9 -9
  217. package/dist/es/standards-sdk.es2.js +2 -2
  218. package/dist/es/standards-sdk.es20.js +1 -1
  219. package/dist/es/standards-sdk.es21.js +1 -1
  220. package/dist/es/standards-sdk.es22.js +1 -1
  221. package/dist/es/standards-sdk.es23.js +1 -1
  222. package/dist/es/standards-sdk.es24.js +1 -1
  223. package/dist/es/standards-sdk.es25.js +1 -1
  224. package/dist/es/standards-sdk.es26.js +1 -1
  225. package/dist/es/standards-sdk.es27.js +12 -12
  226. package/dist/es/standards-sdk.es30.js +2 -2
  227. package/dist/es/standards-sdk.es31.js +4 -4
  228. package/dist/es/standards-sdk.es32.js +1 -1
  229. package/dist/es/standards-sdk.es35.js +6 -6
  230. package/dist/es/standards-sdk.es36.js +4 -4
  231. package/dist/es/standards-sdk.es37.js +2 -2
  232. package/dist/es/standards-sdk.es38.js +2 -2
  233. package/dist/es/standards-sdk.es39.js +1 -1
  234. package/dist/es/standards-sdk.es4.js +2 -2
  235. package/dist/es/standards-sdk.es40.js +1 -1
  236. package/dist/es/standards-sdk.es41.js +2 -2
  237. package/dist/es/standards-sdk.es46.js +1 -1
  238. package/dist/es/standards-sdk.es5.js +2 -2
  239. package/dist/es/standards-sdk.es51.js +1 -1
  240. package/dist/es/standards-sdk.es53.js +1 -1
  241. package/dist/es/standards-sdk.es56.js +2 -2
  242. package/dist/es/standards-sdk.es58.js +37 -4
  243. package/dist/es/standards-sdk.es58.js.map +1 -1
  244. package/dist/es/standards-sdk.es59.js +17 -10
  245. package/dist/es/standards-sdk.es59.js.map +1 -1
  246. package/dist/es/standards-sdk.es6.js +2 -2
  247. package/dist/es/standards-sdk.es60.js +2 -1
  248. package/dist/es/standards-sdk.es60.js.map +1 -1
  249. package/dist/es/standards-sdk.es61.js +1 -0
  250. package/dist/es/standards-sdk.es61.js.map +1 -1
  251. package/dist/es/standards-sdk.es62.js +19 -5
  252. package/dist/es/standards-sdk.es62.js.map +1 -1
  253. package/dist/es/standards-sdk.es63.js +214 -153
  254. package/dist/es/standards-sdk.es63.js.map +1 -1
  255. package/dist/es/standards-sdk.es64.js +205 -84
  256. package/dist/es/standards-sdk.es64.js.map +1 -1
  257. package/dist/es/standards-sdk.es65.js +125 -40
  258. package/dist/es/standards-sdk.es65.js.map +1 -1
  259. package/dist/es/standards-sdk.es66.js +41 -261
  260. package/dist/es/standards-sdk.es66.js.map +1 -1
  261. package/dist/es/standards-sdk.es67.js +262 -24
  262. package/dist/es/standards-sdk.es67.js.map +1 -1
  263. package/dist/es/standards-sdk.es68.js +25 -87
  264. package/dist/es/standards-sdk.es68.js.map +1 -1
  265. package/dist/es/standards-sdk.es69.js +95 -3
  266. package/dist/es/standards-sdk.es69.js.map +1 -1
  267. package/dist/es/standards-sdk.es7.js +1 -1
  268. package/dist/es/standards-sdk.es70.js +3 -100
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +62 -61
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +98 -17
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +19 -77
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +77 -458
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +240 -106
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +286 -170
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +207 -71
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +72 -71
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +71 -143
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es80.js +136 -62
  289. package/dist/es/standards-sdk.es80.js.map +1 -1
  290. package/dist/es/standards-sdk.es81.js +45 -380
  291. package/dist/es/standards-sdk.es81.js.map +1 -1
  292. package/dist/es/standards-sdk.es82.js +130 -222
  293. package/dist/es/standards-sdk.es82.js.map +1 -1
  294. package/dist/es/standards-sdk.es83.js +444 -313
  295. package/dist/es/standards-sdk.es83.js.map +1 -1
  296. package/dist/es/standards-sdk.es84.js +364 -88
  297. package/dist/es/standards-sdk.es84.js.map +1 -1
  298. package/dist/es/standards-sdk.es85.js +89 -125
  299. package/dist/es/standards-sdk.es85.js.map +1 -1
  300. package/dist/es/standards-sdk.es86.js +125 -8
  301. package/dist/es/standards-sdk.es86.js.map +1 -1
  302. package/dist/es/standards-sdk.es87.js +6 -45
  303. package/dist/es/standards-sdk.es87.js.map +1 -1
  304. package/dist/es/standards-sdk.es88.js +44 -98
  305. package/dist/es/standards-sdk.es88.js.map +1 -1
  306. package/dist/es/standards-sdk.es89.js +84 -331
  307. package/dist/es/standards-sdk.es89.js.map +1 -1
  308. package/dist/es/standards-sdk.es9.js +2 -2
  309. package/dist/es/standards-sdk.es90.js +160 -93
  310. package/dist/es/standards-sdk.es90.js.map +1 -1
  311. package/dist/es/standards-sdk.es91.js +275 -55
  312. package/dist/es/standards-sdk.es91.js.map +1 -1
  313. package/dist/es/standards-sdk.es92.js +55 -43
  314. package/dist/es/standards-sdk.es92.js.map +1 -1
  315. package/dist/es/standards-sdk.es93.js +44 -145
  316. package/dist/es/standards-sdk.es93.js.map +1 -1
  317. package/dist/es/standards-sdk.es94.js +113 -30
  318. package/dist/es/standards-sdk.es94.js.map +1 -1
  319. package/dist/es/standards-sdk.es95.js +59 -22
  320. package/dist/es/standards-sdk.es95.js.map +1 -1
  321. package/dist/es/standards-sdk.es96.js +28 -23
  322. package/dist/es/standards-sdk.es96.js.map +1 -1
  323. package/dist/es/standards-sdk.es97.js +23 -238
  324. package/dist/es/standards-sdk.es97.js.map +1 -1
  325. package/dist/es/standards-sdk.es98.js +225 -267
  326. package/dist/es/standards-sdk.es98.js.map +1 -1
  327. package/dist/es/standards-sdk.es99.js +220 -95
  328. package/dist/es/standards-sdk.es99.js.map +1 -1
  329. package/package.json +5 -1
@@ -1,146 +1,74 @@
1
- class HCS20Error extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = "HCS20Error";
5
- }
6
- }
7
- class PointsDeploymentError extends HCS20Error {
8
- constructor(message, tick) {
9
- super(message);
10
- this.tick = tick;
11
- this.name = "PointsDeploymentError";
12
- }
13
- }
14
- class PointsMintError extends HCS20Error {
15
- constructor(message, tick, requestedAmount, availableSupply) {
16
- super(message);
17
- this.tick = tick;
18
- this.requestedAmount = requestedAmount;
19
- this.availableSupply = availableSupply;
20
- this.name = "PointsMintError";
21
- }
22
- }
23
- class PointsTransferError extends HCS20Error {
24
- constructor(message, tick, from, to, amount, availableBalance) {
25
- super(message);
26
- this.tick = tick;
27
- this.from = from;
28
- this.to = to;
29
- this.amount = amount;
30
- this.availableBalance = availableBalance;
31
- this.name = "PointsTransferError";
32
- }
33
- }
34
- class PointsBurnError extends HCS20Error {
35
- constructor(message, tick, from, amount, availableBalance) {
36
- super(message);
37
- this.tick = tick;
38
- this.from = from;
39
- this.amount = amount;
40
- this.availableBalance = availableBalance;
41
- this.name = "PointsBurnError";
42
- }
43
- }
44
- class PointsValidationError extends HCS20Error {
45
- constructor(message, validationErrors) {
46
- super(message);
47
- this.validationErrors = validationErrors;
48
- this.name = "PointsValidationError";
49
- }
50
- }
51
- class PointsNotFoundError extends HCS20Error {
52
- constructor(tick) {
53
- super(`Points with tick "${tick}" not found`);
54
- this.tick = tick;
55
- this.name = "PointsNotFoundError";
56
- }
57
- }
58
- class TopicRegistrationError extends HCS20Error {
59
- constructor(message, topicId) {
60
- super(message);
61
- this.topicId = topicId;
62
- this.name = "TopicRegistrationError";
63
- }
64
- }
65
- class InsufficientBalanceError extends HCS20Error {
66
- constructor(accountId, tick, required, available) {
67
- super(
68
- `Insufficient balance for ${tick}: required ${required}, available ${available}`
69
- );
70
- this.accountId = accountId;
71
- this.tick = tick;
72
- this.required = required;
73
- this.available = available;
74
- this.name = "InsufficientBalanceError";
75
- }
76
- }
77
- class SupplyLimitExceededError extends HCS20Error {
78
- constructor(tick, requested, maxSupply, currentSupply) {
79
- super(
80
- `Supply limit exceeded for ${tick}: max ${maxSupply}, current ${currentSupply}, requested ${requested}`
81
- );
82
- this.tick = tick;
83
- this.requested = requested;
84
- this.maxSupply = maxSupply;
85
- this.currentSupply = currentSupply;
86
- this.name = "SupplyLimitExceededError";
87
- }
88
- }
89
- class MintLimitExceededError extends HCS20Error {
90
- constructor(tick, requested, limit) {
91
- super(
92
- `Mint limit exceeded for ${tick}: requested ${requested}, limit ${limit}`
93
- );
94
- this.tick = tick;
95
- this.requested = requested;
96
- this.limit = limit;
97
- this.name = "MintLimitExceededError";
98
- }
99
- }
100
- class InvalidMessageFormatError extends HCS20Error {
101
- constructor(message, messageData) {
102
- super(message);
103
- this.messageData = messageData;
104
- this.name = "InvalidMessageFormatError";
105
- }
106
- }
107
- class InvalidAccountFormatError extends HCS20Error {
108
- constructor(account) {
109
- super(`Invalid Hedera account format: ${account}`);
110
- this.account = account;
111
- this.name = "InvalidAccountFormatError";
112
- }
113
- }
114
- class InvalidTickFormatError extends HCS20Error {
115
- constructor(tick) {
116
- super(`Invalid tick format: ${tick}`);
117
- this.tick = tick;
118
- this.name = "InvalidTickFormatError";
119
- }
120
- }
121
- class InvalidNumberFormatError extends HCS20Error {
122
- constructor(value, field) {
123
- super(`Invalid number format for ${field}: ${value}`);
124
- this.value = value;
125
- this.field = field;
126
- this.name = "InvalidNumberFormatError";
127
- }
128
- }
1
+ import { z } from "zod";
2
+ const HCS20_CONSTANTS = {
3
+ PROTOCOL: "hcs-20",
4
+ PUBLIC_TOPIC_ID: "0.0.4350190",
5
+ REGISTRY_TOPIC_ID: "0.0.4362300",
6
+ MAX_NUMBER_LENGTH: 18,
7
+ MAX_NAME_LENGTH: 100,
8
+ MAX_METADATA_LENGTH: 100,
9
+ HEDERA_ACCOUNT_REGEX: /^(0|(?:[1-9]\d*))\.(0|(?:[1-9]\d*))\.(0|(?:[1-9]\d*))$/
10
+ };
11
+ const HederaAccountIdSchema = z.string().regex(
12
+ HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX,
13
+ "Invalid Hedera account ID format"
14
+ );
15
+ const NumberStringSchema = z.string().regex(/^\d+$/, "Must be a valid number").max(
16
+ HCS20_CONSTANTS.MAX_NUMBER_LENGTH,
17
+ `Max ${HCS20_CONSTANTS.MAX_NUMBER_LENGTH} digits`
18
+ );
19
+ const TickSchema = z.string().min(1, "Tick cannot be empty").transform((val) => val.toLowerCase().trim());
20
+ const HCS20BaseMessageSchema = z.object({
21
+ p: z.literal("hcs-20"),
22
+ m: z.string().optional()
23
+ });
24
+ const HCS20DeployMessageSchema = HCS20BaseMessageSchema.extend({
25
+ op: z.literal("deploy"),
26
+ name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),
27
+ tick: TickSchema,
28
+ max: NumberStringSchema,
29
+ lim: NumberStringSchema.optional(),
30
+ metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional()
31
+ });
32
+ const HCS20MintMessageSchema = HCS20BaseMessageSchema.extend({
33
+ op: z.literal("mint"),
34
+ tick: TickSchema,
35
+ amt: NumberStringSchema,
36
+ to: HederaAccountIdSchema
37
+ });
38
+ const HCS20BurnMessageSchema = HCS20BaseMessageSchema.extend({
39
+ op: z.literal("burn"),
40
+ tick: TickSchema,
41
+ amt: NumberStringSchema,
42
+ from: HederaAccountIdSchema
43
+ });
44
+ const HCS20TransferMessageSchema = HCS20BaseMessageSchema.extend({
45
+ op: z.literal("transfer"),
46
+ tick: TickSchema,
47
+ amt: NumberStringSchema,
48
+ from: HederaAccountIdSchema,
49
+ to: HederaAccountIdSchema
50
+ });
51
+ const HCS20RegisterMessageSchema = HCS20BaseMessageSchema.extend({
52
+ op: z.literal("register"),
53
+ name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),
54
+ metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional(),
55
+ private: z.boolean(),
56
+ t_id: HederaAccountIdSchema
57
+ });
58
+ const HCS20MessageSchema = z.discriminatedUnion("op", [
59
+ HCS20DeployMessageSchema,
60
+ HCS20MintMessageSchema,
61
+ HCS20BurnMessageSchema,
62
+ HCS20TransferMessageSchema,
63
+ HCS20RegisterMessageSchema
64
+ ]);
129
65
  export {
130
- HCS20Error,
131
- InsufficientBalanceError,
132
- InvalidAccountFormatError,
133
- InvalidMessageFormatError,
134
- InvalidNumberFormatError,
135
- InvalidTickFormatError,
136
- MintLimitExceededError,
137
- PointsBurnError,
138
- PointsDeploymentError,
139
- PointsMintError,
140
- PointsNotFoundError,
141
- PointsTransferError,
142
- PointsValidationError,
143
- SupplyLimitExceededError,
144
- TopicRegistrationError
66
+ HCS20BurnMessageSchema,
67
+ HCS20DeployMessageSchema,
68
+ HCS20MessageSchema,
69
+ HCS20MintMessageSchema,
70
+ HCS20RegisterMessageSchema,
71
+ HCS20TransferMessageSchema,
72
+ HCS20_CONSTANTS
145
73
  };
146
74
  //# sourceMappingURL=standards-sdk.es79.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es79.js","sources":["../../src/hcs-20/errors.ts"],"sourcesContent":["/**\n * HCS-20 Specific Error Classes\n */\n\n/**\n * Base error class for HCS-20 operations\n */\nexport class HCS20Error extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'HCS20Error';\n }\n}\n\n/**\n * Error thrown when points deployment fails\n */\nexport class PointsDeploymentError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick?: string,\n ) {\n super(message);\n this.name = 'PointsDeploymentError';\n }\n}\n\n/**\n * Error thrown when points minting fails\n */\nexport class PointsMintError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick: string,\n public readonly requestedAmount: string,\n public readonly availableSupply?: string,\n ) {\n super(message);\n this.name = 'PointsMintError';\n }\n}\n\n/**\n * Error thrown when points transfer fails\n */\nexport class PointsTransferError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick: string,\n public readonly from: string,\n public readonly to: string,\n public readonly amount: string,\n public readonly availableBalance?: string,\n ) {\n super(message);\n this.name = 'PointsTransferError';\n }\n}\n\n/**\n * Error thrown when points burn fails\n */\nexport class PointsBurnError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick: string,\n public readonly from: string,\n public readonly amount: string,\n public readonly availableBalance?: string,\n ) {\n super(message);\n this.name = 'PointsBurnError';\n }\n}\n\n/**\n * Error thrown when points validation fails\n */\nexport class PointsValidationError extends HCS20Error {\n constructor(\n message: string,\n public readonly validationErrors: string[],\n ) {\n super(message);\n this.name = 'PointsValidationError';\n }\n}\n\n/**\n * Error thrown when points are not found\n */\nexport class PointsNotFoundError extends HCS20Error {\n constructor(public readonly tick: string) {\n super(`Points with tick \"${tick}\" not found`);\n this.name = 'PointsNotFoundError';\n }\n}\n\n/**\n * Error thrown when topic registration fails\n */\nexport class TopicRegistrationError extends HCS20Error {\n constructor(\n message: string,\n public readonly topicId: string,\n ) {\n super(message);\n this.name = 'TopicRegistrationError';\n }\n}\n\n/**\n * Error thrown when insufficient balance\n */\nexport class InsufficientBalanceError extends HCS20Error {\n constructor(\n public readonly accountId: string,\n public readonly tick: string,\n public readonly required: string,\n public readonly available: string,\n ) {\n super(\n `Insufficient balance for ${tick}: required ${required}, available ${available}`,\n );\n this.name = 'InsufficientBalanceError';\n }\n}\n\n/**\n * Error thrown when supply limit is exceeded\n */\nexport class SupplyLimitExceededError extends HCS20Error {\n constructor(\n public readonly tick: string,\n public readonly requested: string,\n public readonly maxSupply: string,\n public readonly currentSupply: string,\n ) {\n super(\n `Supply limit exceeded for ${tick}: max ${maxSupply}, current ${currentSupply}, requested ${requested}`,\n );\n this.name = 'SupplyLimitExceededError';\n }\n}\n\n/**\n * Error thrown when mint limit is exceeded\n */\nexport class MintLimitExceededError extends HCS20Error {\n constructor(\n public readonly tick: string,\n public readonly requested: string,\n public readonly limit: string,\n ) {\n super(\n `Mint limit exceeded for ${tick}: requested ${requested}, limit ${limit}`,\n );\n this.name = 'MintLimitExceededError';\n }\n}\n\n/**\n * Error thrown when HCS-20 message format is invalid\n */\nexport class InvalidMessageFormatError extends HCS20Error {\n constructor(\n message: string,\n public readonly messageData?: any,\n ) {\n super(message);\n this.name = 'InvalidMessageFormatError';\n }\n}\n\n/**\n * Error thrown when account format is invalid\n */\nexport class InvalidAccountFormatError extends HCS20Error {\n constructor(public readonly account: string) {\n super(`Invalid Hedera account format: ${account}`);\n this.name = 'InvalidAccountFormatError';\n }\n}\n\n/**\n * Error thrown when tick format is invalid\n */\nexport class InvalidTickFormatError extends HCS20Error {\n constructor(public readonly tick: string) {\n super(`Invalid tick format: ${tick}`);\n this.name = 'InvalidTickFormatError';\n }\n}\n\n/**\n * Error thrown when number format is invalid\n */\nexport class InvalidNumberFormatError extends HCS20Error {\n constructor(\n public readonly value: string,\n public readonly field: string,\n ) {\n super(`Invalid number format for ${field}: ${value}`);\n this.name = 'InvalidNumberFormatError';\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es79.js","sources":["../../src/hcs-20/types.ts"],"sourcesContent":["/**\n * HCS-20 Auditable Points Standard Types\n */\n\nimport { z } from 'zod';\nimport { AccountId, TopicId, PrivateKey } from '@hashgraph/sdk';\nimport type { ILogger } from '../utils/logger';\n\n/**\n * HCS-20 Constants\n */\nexport const HCS20_CONSTANTS = {\n PROTOCOL: 'hcs-20',\n PUBLIC_TOPIC_ID: '0.0.4350190',\n REGISTRY_TOPIC_ID: '0.0.4362300',\n MAX_NUMBER_LENGTH: 18,\n MAX_NAME_LENGTH: 100,\n MAX_METADATA_LENGTH: 100,\n HEDERA_ACCOUNT_REGEX:\n /^(0|(?:[1-9]\\d*))\\.(0|(?:[1-9]\\d*))\\.(0|(?:[1-9]\\d*))$/,\n} as const;\n\n/**\n * Hedera Account ID validator\n */\nconst HederaAccountIdSchema = z\n .string()\n .regex(\n HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX,\n 'Invalid Hedera account ID format',\n );\n\n/**\n * Number string validator\n */\nconst NumberStringSchema = z\n .string()\n .regex(/^\\d+$/, 'Must be a valid number')\n .max(\n HCS20_CONSTANTS.MAX_NUMBER_LENGTH,\n `Max ${HCS20_CONSTANTS.MAX_NUMBER_LENGTH} digits`,\n );\n\n/**\n * Tick validator\n */\nconst TickSchema = z\n .string()\n .min(1, 'Tick cannot be empty')\n .transform(val => val.toLowerCase().trim());\n\n/**\n * Base HCS-20 Message Schema\n */\nconst HCS20BaseMessageSchema = z.object({\n p: z.literal('hcs-20'),\n m: z.string().optional(),\n});\n\n/**\n * Deploy Points Operation Schema\n */\nexport const HCS20DeployMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('deploy'),\n name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),\n tick: TickSchema,\n max: NumberStringSchema,\n lim: NumberStringSchema.optional(),\n metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional(),\n});\n\n/**\n * Mint Points Operation Schema\n */\nexport const HCS20MintMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('mint'),\n tick: TickSchema,\n amt: NumberStringSchema,\n to: HederaAccountIdSchema,\n});\n\n/**\n * Burn Points Operation Schema\n */\nexport const HCS20BurnMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('burn'),\n tick: TickSchema,\n amt: NumberStringSchema,\n from: HederaAccountIdSchema,\n});\n\n/**\n * Transfer Points Operation Schema\n */\nexport const HCS20TransferMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('transfer'),\n tick: TickSchema,\n amt: NumberStringSchema,\n from: HederaAccountIdSchema,\n to: HederaAccountIdSchema,\n});\n\n/**\n * Register Topic Operation Schema\n */\nexport const HCS20RegisterMessageSchema = HCS20BaseMessageSchema.extend({\n op: z.literal('register'),\n name: z.string().min(1).max(HCS20_CONSTANTS.MAX_NAME_LENGTH),\n metadata: z.string().max(HCS20_CONSTANTS.MAX_METADATA_LENGTH).optional(),\n private: z.boolean(),\n t_id: HederaAccountIdSchema,\n});\n\n/**\n * Union schema for all HCS-20 messages\n */\nexport const HCS20MessageSchema = z.discriminatedUnion('op', [\n HCS20DeployMessageSchema,\n HCS20MintMessageSchema,\n HCS20BurnMessageSchema,\n HCS20TransferMessageSchema,\n HCS20RegisterMessageSchema,\n]);\n\n/**\n * Inferred types from schemas\n */\nexport type HCS20BaseMessage = z.infer<typeof HCS20BaseMessageSchema>;\nexport type HCS20DeployMessage = z.infer<typeof HCS20DeployMessageSchema>;\nexport type HCS20MintMessage = z.infer<typeof HCS20MintMessageSchema>;\nexport type HCS20BurnMessage = z.infer<typeof HCS20BurnMessageSchema>;\nexport type HCS20TransferMessage = z.infer<typeof HCS20TransferMessageSchema>;\nexport type HCS20RegisterMessage = z.infer<typeof HCS20RegisterMessageSchema>;\nexport type HCS20Message = z.infer<typeof HCS20MessageSchema>;\nexport type HCS20Operation = HCS20Message['op'];\n\n/**\n * Points Configuration\n */\nexport interface PointsConfig {\n name: string;\n tick: string;\n maxSupply: string;\n limitPerMint?: string;\n metadata?: string;\n}\n\n/**\n * Points Information\n */\nexport interface PointsInfo extends PointsConfig {\n topicId: string;\n deployerAccountId: string;\n currentSupply: string;\n deploymentTimestamp: string;\n isPrivate: boolean;\n}\n\n/**\n * Points Balance\n */\nexport interface PointsBalance {\n tick: string;\n accountId: string;\n balance: string;\n lastUpdated: string;\n}\n\n/**\n * Points Transaction\n */\nexport interface PointsTransaction {\n id: string;\n operation: HCS20Operation;\n tick: string;\n amount?: string;\n from?: string;\n to?: string;\n timestamp: string;\n sequenceNumber: number;\n topicId: string;\n transactionId: string;\n memo?: string;\n}\n\n/**\n * HCS-20 Client Configuration\n */\nexport interface HCS20ClientConfig {\n mirrorNodeUrl?: string;\n logger?: ILogger;\n network?: 'mainnet' | 'testnet';\n registryTopicId?: string;\n publicTopicId?: string;\n}\n\n/**\n * Browser-specific HCS-20 Client Configuration\n */\nexport interface BrowserHCS20ClientConfig extends HCS20ClientConfig {\n walletConnectProjectId?: string;\n hwcMetadata?: {\n name: string;\n description: string;\n icons: string[];\n url: string;\n };\n}\n\n/**\n * SDK-specific HCS-20 Client Configuration\n */\nexport interface SDKHCS20ClientConfig extends HCS20ClientConfig {\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n}\n\n/**\n * Deploy Points Progress\n */\nexport interface DeployPointsProgress {\n stage: 'creating-topic' | 'submitting-deploy' | 'confirming' | 'complete';\n percentage: number;\n topicId?: string;\n deployTxId?: string;\n error?: string;\n}\n\n/**\n * Deploy Points Options\n */\nexport interface DeployPointsOptions extends PointsConfig {\n usePrivateTopic?: boolean;\n topicMemo?: string;\n progressCallback?: (data: DeployPointsProgress) => void;\n}\n\n/**\n * Mint Points Progress\n */\nexport interface MintPointsProgress {\n stage: 'validating' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n mintTxId?: string;\n error?: string;\n}\n\n/**\n * Mint Points Options\n */\nexport interface MintPointsOptions {\n tick: string;\n amount: string;\n to: string | AccountId;\n memo?: string;\n topicId?: string | TopicId;\n progressCallback?: (data: MintPointsProgress) => void;\n disableMirrorCheck?: boolean;\n}\n\n/**\n * Transfer Points Progress\n */\nexport interface TransferPointsProgress {\n stage: 'validating-balance' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n transferTxId?: string;\n error?: string;\n}\n\n/**\n * Transfer Points Options\n */\nexport interface TransferPointsOptions {\n tick: string;\n amount: string;\n from: string | AccountId;\n to: string | AccountId;\n memo?: string;\n topicId?: string | TopicId;\n progressCallback?: (data: TransferPointsProgress) => void;\n}\n\n/**\n * Burn Points Progress\n */\nexport interface BurnPointsProgress {\n stage: 'validating-balance' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n burnTxId?: string;\n error?: string;\n}\n\n/**\n * Burn Points Options\n */\nexport interface BurnPointsOptions {\n tick: string;\n amount: string;\n from: string | AccountId;\n memo?: string;\n topicId?: string | TopicId;\n progressCallback?: (data: BurnPointsProgress) => void;\n}\n\n/**\n * Register Topic Progress\n */\nexport interface RegisterTopicProgress {\n stage: 'validating' | 'submitting' | 'confirming' | 'complete';\n percentage: number;\n registerTxId?: string;\n error?: string;\n}\n\n/**\n * Register Topic Options\n */\nexport interface RegisterTopicOptions {\n topicId: string | TopicId;\n name: string;\n metadata?: string;\n isPrivate: boolean;\n memo?: string;\n progressCallback?: (data: RegisterTopicProgress) => void;\n}\n\n/**\n * Query Points Options\n */\nexport interface QueryPointsOptions {\n tick?: string;\n accountId?: string | AccountId;\n topicId?: string | TopicId;\n limit?: number;\n order?: 'asc' | 'desc';\n}\n\n/**\n * Points Query Result\n */\nexport interface PointsQueryResult {\n points: PointsInfo[];\n balances?: PointsBalance[];\n transactions?: PointsTransaction[];\n totalCount: number;\n hasMore: boolean;\n nextCursor?: string;\n}\n\n/**\n * Points State\n */\nexport interface PointsState {\n deployedPoints: Map<string, PointsInfo>;\n balances: Map<string, Map<string, PointsBalance>>;\n transactions: PointsTransaction[];\n lastProcessedSequence: number;\n lastProcessedTimestamp: string;\n}\n\n/**\n * HCS-20 Registry Entry\n */\nexport interface HCS20RegistryEntry {\n name: string;\n topicId: string;\n metadata?: string;\n isPrivate: boolean;\n registeredAt: string;\n registeredBy: string;\n}\n"],"names":[],"mappings":";AAWO,MAAM,kBAAkB;AAAA,EAC7B,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,sBACE;AACJ;AAKA,MAAM,wBAAwB,EAC3B,OAAA,EACA;AAAA,EACC,gBAAgB;AAAA,EAChB;AACF;AAKF,MAAM,qBAAqB,EACxB,OAAA,EACA,MAAM,SAAS,wBAAwB,EACvC;AAAA,EACC,gBAAgB;AAAA,EAChB,OAAO,gBAAgB,iBAAiB;AAC1C;AAKF,MAAM,aAAa,EAChB,OAAA,EACA,IAAI,GAAG,sBAAsB,EAC7B,UAAU,CAAA,QAAO,IAAI,YAAA,EAAc,MAAM;AAK5C,MAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,GAAG,EAAE,QAAQ,QAAQ;AAAA,EACrB,GAAG,EAAE,OAAA,EAAS,SAAA;AAChB,CAAC;AAKM,MAAM,2BAA2B,uBAAuB,OAAO;AAAA,EACpE,IAAI,EAAE,QAAQ,QAAQ;AAAA,EACtB,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,IAAI,gBAAgB,eAAe;AAAA,EAC3D,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK,mBAAmB,SAAA;AAAA,EACxB,UAAU,EAAE,OAAA,EAAS,IAAI,gBAAgB,mBAAmB,EAAE,SAAA;AAChE,CAAC;AAKM,MAAM,yBAAyB,uBAAuB,OAAO;AAAA,EAClE,IAAI,EAAE,QAAQ,MAAM;AAAA,EACpB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,IAAI;AACN,CAAC;AAKM,MAAM,yBAAyB,uBAAuB,OAAO;AAAA,EAClE,IAAI,EAAE,QAAQ,MAAM;AAAA,EACpB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AACR,CAAC;AAKM,MAAM,6BAA6B,uBAAuB,OAAO;AAAA,EACtE,IAAI,EAAE,QAAQ,UAAU;AAAA,EACxB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AACN,CAAC;AAKM,MAAM,6BAA6B,uBAAuB,OAAO;AAAA,EACtE,IAAI,EAAE,QAAQ,UAAU;AAAA,EACxB,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,IAAI,gBAAgB,eAAe;AAAA,EAC3D,UAAU,EAAE,OAAA,EAAS,IAAI,gBAAgB,mBAAmB,EAAE,SAAA;AAAA,EAC9D,SAAS,EAAE,QAAA;AAAA,EACX,MAAM;AACR,CAAC;AAKM,MAAM,qBAAqB,EAAE,mBAAmB,MAAM;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;"}
@@ -1,72 +1,146 @@
1
- import { Logger } from "./standards-sdk.es117.js";
2
- import { HederaMirrorNode } from "./standards-sdk.es138.js";
3
- import { HCS20_CONSTANTS, HCS20MessageSchema } from "./standards-sdk.es78.js";
4
- import { InvalidAccountFormatError } from "./standards-sdk.es79.js";
5
- class HCS20BaseClient {
6
- constructor(config) {
7
- this.logger = config.logger || new Logger({ module: "HCS20Client" });
8
- this.network = config.network === "mainnet" ? "mainnet" : "testnet";
9
- this.mirrorNode = new HederaMirrorNode(
10
- this.network,
11
- this.logger,
12
- config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : void 0
1
+ class HCS20Error extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "HCS20Error";
5
+ }
6
+ }
7
+ class PointsDeploymentError extends HCS20Error {
8
+ constructor(message, tick) {
9
+ super(message);
10
+ this.tick = tick;
11
+ this.name = "PointsDeploymentError";
12
+ }
13
+ }
14
+ class PointsMintError extends HCS20Error {
15
+ constructor(message, tick, requestedAmount, availableSupply) {
16
+ super(message);
17
+ this.tick = tick;
18
+ this.requestedAmount = requestedAmount;
19
+ this.availableSupply = availableSupply;
20
+ this.name = "PointsMintError";
21
+ }
22
+ }
23
+ class PointsTransferError extends HCS20Error {
24
+ constructor(message, tick, from, to, amount, availableBalance) {
25
+ super(message);
26
+ this.tick = tick;
27
+ this.from = from;
28
+ this.to = to;
29
+ this.amount = amount;
30
+ this.availableBalance = availableBalance;
31
+ this.name = "PointsTransferError";
32
+ }
33
+ }
34
+ class PointsBurnError extends HCS20Error {
35
+ constructor(message, tick, from, amount, availableBalance) {
36
+ super(message);
37
+ this.tick = tick;
38
+ this.from = from;
39
+ this.amount = amount;
40
+ this.availableBalance = availableBalance;
41
+ this.name = "PointsBurnError";
42
+ }
43
+ }
44
+ class PointsValidationError extends HCS20Error {
45
+ constructor(message, validationErrors) {
46
+ super(message);
47
+ this.validationErrors = validationErrors;
48
+ this.name = "PointsValidationError";
49
+ }
50
+ }
51
+ class PointsNotFoundError extends HCS20Error {
52
+ constructor(tick) {
53
+ super(`Points with tick "${tick}" not found`);
54
+ this.tick = tick;
55
+ this.name = "PointsNotFoundError";
56
+ }
57
+ }
58
+ class TopicRegistrationError extends HCS20Error {
59
+ constructor(message, topicId) {
60
+ super(message);
61
+ this.topicId = topicId;
62
+ this.name = "TopicRegistrationError";
63
+ }
64
+ }
65
+ class InsufficientBalanceError extends HCS20Error {
66
+ constructor(accountId, tick, required, available) {
67
+ super(
68
+ `Insufficient balance for ${tick}: required ${required}, available ${available}`
13
69
  );
14
- this.registryTopicId = config.registryTopicId || HCS20_CONSTANTS.REGISTRY_TOPIC_ID;
15
- this.publicTopicId = config.publicTopicId || HCS20_CONSTANTS.PUBLIC_TOPIC_ID;
70
+ this.accountId = accountId;
71
+ this.tick = tick;
72
+ this.required = required;
73
+ this.available = available;
74
+ this.name = "InsufficientBalanceError";
16
75
  }
17
- /**
18
- * Validate HCS-20 message using Zod schema
19
- */
20
- validateMessage(message) {
21
- try {
22
- HCS20MessageSchema.parse(message);
23
- return { valid: true };
24
- } catch (error) {
25
- if (error.errors) {
26
- const errors = error.errors.map(
27
- (e) => `${e.path.join(".")}: ${e.message}`
28
- );
29
- return { valid: false, errors };
30
- }
31
- return { valid: false, errors: [error.message] };
32
- }
76
+ }
77
+ class SupplyLimitExceededError extends HCS20Error {
78
+ constructor(tick, requested, maxSupply, currentSupply) {
79
+ super(
80
+ `Supply limit exceeded for ${tick}: max ${maxSupply}, current ${currentSupply}, requested ${requested}`
81
+ );
82
+ this.tick = tick;
83
+ this.requested = requested;
84
+ this.maxSupply = maxSupply;
85
+ this.currentSupply = currentSupply;
86
+ this.name = "SupplyLimitExceededError";
33
87
  }
34
- /**
35
- * Normalize tick to lowercase and trimmed
36
- */
37
- normalizeTick(tick) {
38
- return tick.toLowerCase().trim();
88
+ }
89
+ class MintLimitExceededError extends HCS20Error {
90
+ constructor(tick, requested, limit) {
91
+ super(
92
+ `Mint limit exceeded for ${tick}: requested ${requested}, limit ${limit}`
93
+ );
94
+ this.tick = tick;
95
+ this.requested = requested;
96
+ this.limit = limit;
97
+ this.name = "MintLimitExceededError";
39
98
  }
40
- /**
41
- * Convert account to string format
42
- */
43
- accountToString(account) {
44
- if (typeof account === "string") {
45
- if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(account)) {
46
- throw new InvalidAccountFormatError(account);
47
- }
48
- return account;
49
- }
50
- return account.toString();
99
+ }
100
+ class InvalidMessageFormatError extends HCS20Error {
101
+ constructor(message, messageData) {
102
+ super(message);
103
+ this.messageData = messageData;
104
+ this.name = "InvalidMessageFormatError";
105
+ }
106
+ }
107
+ class InvalidAccountFormatError extends HCS20Error {
108
+ constructor(account) {
109
+ super(`Invalid Hedera account format: ${account}`);
110
+ this.account = account;
111
+ this.name = "InvalidAccountFormatError";
51
112
  }
52
- /**
53
- * Convert topic to string format
54
- */
55
- topicToString(topic) {
56
- if (typeof topic === "string") {
57
- if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(topic)) {
58
- throw new InvalidAccountFormatError(topic);
59
- }
60
- return topic;
61
- }
62
- return topic.toString();
113
+ }
114
+ class InvalidTickFormatError extends HCS20Error {
115
+ constructor(tick) {
116
+ super(`Invalid tick format: ${tick}`);
117
+ this.tick = tick;
118
+ this.name = "InvalidTickFormatError";
119
+ }
120
+ }
121
+ class InvalidNumberFormatError extends HCS20Error {
122
+ constructor(value, field) {
123
+ super(`Invalid number format for ${field}: ${value}`);
124
+ this.value = value;
125
+ this.field = field;
126
+ this.name = "InvalidNumberFormatError";
63
127
  }
64
- /**
65
- * NOTE: State queries (getPointsInfo, getBalance, etc.) require an external indexing service.
66
- * The HCS-20 clients only handle message submission. Use HCS20PointsIndexer for state management.
67
- */
68
128
  }
69
129
  export {
70
- HCS20BaseClient
130
+ HCS20Error,
131
+ InsufficientBalanceError,
132
+ InvalidAccountFormatError,
133
+ InvalidMessageFormatError,
134
+ InvalidNumberFormatError,
135
+ InvalidTickFormatError,
136
+ MintLimitExceededError,
137
+ PointsBurnError,
138
+ PointsDeploymentError,
139
+ PointsMintError,
140
+ PointsNotFoundError,
141
+ PointsTransferError,
142
+ PointsValidationError,
143
+ SupplyLimitExceededError,
144
+ TopicRegistrationError
71
145
  };
72
146
  //# sourceMappingURL=standards-sdk.es80.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es80.js","sources":["../../src/hcs-20/base-client.ts"],"sourcesContent":["/**\n * Base client for HCS-20 Auditable Points operations\n */\n\nimport { AccountId, TopicId } from '@hashgraph/sdk';\nimport { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport type { NetworkType } from '../utils/types';\nimport {\n HCS20ClientConfig,\n HCS20MessageSchema,\n PointsInfo,\n PointsTransaction,\n HCS20_CONSTANTS,\n DeployPointsOptions,\n MintPointsOptions,\n TransferPointsOptions,\n BurnPointsOptions,\n RegisterTopicOptions,\n} from './types';\nimport { InvalidAccountFormatError } from './errors';\n\n/**\n * Abstract base class for HCS-20 clients\n */\nexport abstract class HCS20BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n protected registryTopicId: string;\n protected publicTopicId: string;\n\n constructor(config: HCS20ClientConfig) {\n this.logger = config.logger || new Logger({ module: 'HCS20Client' });\n this.network = config.network === 'mainnet' ? 'mainnet' : 'testnet';\n this.mirrorNode = new HederaMirrorNode(\n this.network,\n this.logger,\n config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : undefined,\n );\n this.registryTopicId =\n config.registryTopicId || HCS20_CONSTANTS.REGISTRY_TOPIC_ID;\n this.publicTopicId =\n config.publicTopicId || HCS20_CONSTANTS.PUBLIC_TOPIC_ID;\n }\n\n /**\n * Deploy new points\n */\n abstract deployPoints(options: DeployPointsOptions): Promise<PointsInfo>;\n\n /**\n * Mint points\n */\n abstract mintPoints(options: MintPointsOptions): Promise<PointsTransaction>;\n\n /**\n * Transfer points\n */\n abstract transferPoints(\n options: TransferPointsOptions,\n ): Promise<PointsTransaction>;\n\n /**\n * Burn points\n */\n abstract burnPoints(options: BurnPointsOptions): Promise<PointsTransaction>;\n\n /**\n * Register a topic in the registry\n */\n abstract registerTopic(options: RegisterTopicOptions): Promise<void>;\n\n /**\n * Validate HCS-20 message using Zod schema\n */\n protected validateMessage(message: any): {\n valid: boolean;\n errors?: string[];\n } {\n try {\n HCS20MessageSchema.parse(message);\n return { valid: true };\n } catch (error: any) {\n if (error.errors) {\n const errors = error.errors.map(\n (e: any) => `${e.path.join('.')}: ${e.message}`,\n );\n return { valid: false, errors };\n }\n return { valid: false, errors: [error.message] };\n }\n }\n\n /**\n * Normalize tick to lowercase and trimmed\n */\n protected normalizeTick(tick: string): string {\n return tick.toLowerCase().trim();\n }\n\n /**\n * Convert account to string format\n */\n protected accountToString(account: string | AccountId): string {\n if (typeof account === 'string') {\n if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(account)) {\n throw new InvalidAccountFormatError(account);\n }\n return account;\n }\n return account.toString();\n }\n\n /**\n * Convert topic to string format\n */\n protected topicToString(topic: string | TopicId): string {\n if (typeof topic === 'string') {\n if (!HCS20_CONSTANTS.HEDERA_ACCOUNT_REGEX.test(topic)) {\n throw new InvalidAccountFormatError(topic);\n }\n return topic;\n }\n return topic.toString();\n }\n\n /**\n * NOTE: State queries (getPointsInfo, getBalance, etc.) require an external indexing service.\n * The HCS-20 clients only handle message submission. Use HCS20PointsIndexer for state management.\n */\n}\n"],"names":[],"mappings":";;;;AAyBO,MAAe,gBAAgB;AAAA,EAOpC,YAAY,QAA2B;AACrC,SAAK,SAAS,OAAO,UAAU,IAAI,OAAO,EAAE,QAAQ,eAAe;AACnE,SAAK,UAAU,OAAO,YAAY,YAAY,YAAY;AAC1D,SAAK,aAAa,IAAI;AAAA,MACpB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO,gBAAgB,EAAE,WAAW,OAAO,kBAAkB;AAAA,IAAA;AAE/D,SAAK,kBACH,OAAO,mBAAmB,gBAAgB;AAC5C,SAAK,gBACH,OAAO,iBAAiB,gBAAgB;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAgCU,gBAAgB,SAGxB;AACA,QAAI;AACF,yBAAmB,MAAM,OAAO;AAChC,aAAO,EAAE,OAAO,KAAA;AAAA,IAClB,SAAS,OAAY;AACnB,UAAI,MAAM,QAAQ;AAChB,cAAM,SAAS,MAAM,OAAO;AAAA,UAC1B,CAAC,MAAW,GAAG,EAAE,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO;AAAA,QAAA;AAE/C,eAAO,EAAE,OAAO,OAAO,OAAA;AAAA,MACzB;AACA,aAAO,EAAE,OAAO,OAAO,QAAQ,CAAC,MAAM,OAAO,EAAA;AAAA,IAC/C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKU,cAAc,MAAsB;AAC5C,WAAO,KAAK,YAAA,EAAc,KAAA;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,gBAAgB,SAAqC;AAC7D,QAAI,OAAO,YAAY,UAAU;AAC/B,UAAI,CAAC,gBAAgB,qBAAqB,KAAK,OAAO,GAAG;AACvD,cAAM,IAAI,0BAA0B,OAAO;AAAA,MAC7C;AACA,aAAO;AAAA,IACT;AACA,WAAO,QAAQ,SAAA;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKU,cAAc,OAAiC;AACvD,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAI,CAAC,gBAAgB,qBAAqB,KAAK,KAAK,GAAG;AACrD,cAAM,IAAI,0BAA0B,KAAK;AAAA,MAC3C;AACA,aAAO;AAAA,IACT;AACA,WAAO,MAAM,SAAA;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAMF;"}
1
+ {"version":3,"file":"standards-sdk.es80.js","sources":["../../src/hcs-20/errors.ts"],"sourcesContent":["/**\n * HCS-20 Specific Error Classes\n */\n\n/**\n * Base error class for HCS-20 operations\n */\nexport class HCS20Error extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'HCS20Error';\n }\n}\n\n/**\n * Error thrown when points deployment fails\n */\nexport class PointsDeploymentError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick?: string,\n ) {\n super(message);\n this.name = 'PointsDeploymentError';\n }\n}\n\n/**\n * Error thrown when points minting fails\n */\nexport class PointsMintError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick: string,\n public readonly requestedAmount: string,\n public readonly availableSupply?: string,\n ) {\n super(message);\n this.name = 'PointsMintError';\n }\n}\n\n/**\n * Error thrown when points transfer fails\n */\nexport class PointsTransferError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick: string,\n public readonly from: string,\n public readonly to: string,\n public readonly amount: string,\n public readonly availableBalance?: string,\n ) {\n super(message);\n this.name = 'PointsTransferError';\n }\n}\n\n/**\n * Error thrown when points burn fails\n */\nexport class PointsBurnError extends HCS20Error {\n constructor(\n message: string,\n public readonly tick: string,\n public readonly from: string,\n public readonly amount: string,\n public readonly availableBalance?: string,\n ) {\n super(message);\n this.name = 'PointsBurnError';\n }\n}\n\n/**\n * Error thrown when points validation fails\n */\nexport class PointsValidationError extends HCS20Error {\n constructor(\n message: string,\n public readonly validationErrors: string[],\n ) {\n super(message);\n this.name = 'PointsValidationError';\n }\n}\n\n/**\n * Error thrown when points are not found\n */\nexport class PointsNotFoundError extends HCS20Error {\n constructor(public readonly tick: string) {\n super(`Points with tick \"${tick}\" not found`);\n this.name = 'PointsNotFoundError';\n }\n}\n\n/**\n * Error thrown when topic registration fails\n */\nexport class TopicRegistrationError extends HCS20Error {\n constructor(\n message: string,\n public readonly topicId: string,\n ) {\n super(message);\n this.name = 'TopicRegistrationError';\n }\n}\n\n/**\n * Error thrown when insufficient balance\n */\nexport class InsufficientBalanceError extends HCS20Error {\n constructor(\n public readonly accountId: string,\n public readonly tick: string,\n public readonly required: string,\n public readonly available: string,\n ) {\n super(\n `Insufficient balance for ${tick}: required ${required}, available ${available}`,\n );\n this.name = 'InsufficientBalanceError';\n }\n}\n\n/**\n * Error thrown when supply limit is exceeded\n */\nexport class SupplyLimitExceededError extends HCS20Error {\n constructor(\n public readonly tick: string,\n public readonly requested: string,\n public readonly maxSupply: string,\n public readonly currentSupply: string,\n ) {\n super(\n `Supply limit exceeded for ${tick}: max ${maxSupply}, current ${currentSupply}, requested ${requested}`,\n );\n this.name = 'SupplyLimitExceededError';\n }\n}\n\n/**\n * Error thrown when mint limit is exceeded\n */\nexport class MintLimitExceededError extends HCS20Error {\n constructor(\n public readonly tick: string,\n public readonly requested: string,\n public readonly limit: string,\n ) {\n super(\n `Mint limit exceeded for ${tick}: requested ${requested}, limit ${limit}`,\n );\n this.name = 'MintLimitExceededError';\n }\n}\n\n/**\n * Error thrown when HCS-20 message format is invalid\n */\nexport class InvalidMessageFormatError extends HCS20Error {\n constructor(\n message: string,\n public readonly messageData?: any,\n ) {\n super(message);\n this.name = 'InvalidMessageFormatError';\n }\n}\n\n/**\n * Error thrown when account format is invalid\n */\nexport class InvalidAccountFormatError extends HCS20Error {\n constructor(public readonly account: string) {\n super(`Invalid Hedera account format: ${account}`);\n this.name = 'InvalidAccountFormatError';\n }\n}\n\n/**\n * Error thrown when tick format is invalid\n */\nexport class InvalidTickFormatError extends HCS20Error {\n constructor(public readonly tick: string) {\n super(`Invalid tick format: ${tick}`);\n this.name = 'InvalidTickFormatError';\n }\n}\n\n/**\n * Error thrown when number format is invalid\n */\nexport class InvalidNumberFormatError extends HCS20Error {\n constructor(\n public readonly value: string,\n public readonly field: string,\n ) {\n super(`Invalid number format for ${field}: ${value}`);\n this.name = 'InvalidNumberFormatError';\n }\n}\n"],"names":[],"mappings":"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"}