@hashgraphonline/standards-sdk 0.1.159 → 0.1.160

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 (326) hide show
  1. package/dist/cjs/hcs-12/validation/schemas.d.ts +4 -4
  2. package/dist/cjs/hcs-14/index.d.ts +5 -0
  3. package/dist/cjs/hcs-14/index.d.ts.map +1 -1
  4. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
  5. package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  6. package/dist/cjs/hcs-14/resolvers/dns.d.ts +3 -0
  7. package/dist/cjs/hcs-14/resolvers/dns.d.ts.map +1 -0
  8. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
  9. package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  10. package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts +9 -0
  11. package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  12. package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -1
  13. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  14. package/dist/cjs/hcs-14/resolvers/types.d.ts +106 -5
  15. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  16. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
  17. package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  18. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
  19. package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  20. package/dist/cjs/hcs-14/sdk.d.ts +16 -1
  21. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  22. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  23. package/dist/cjs/services/registry-broker/schemas.d.ts +1548 -0
  24. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  25. package/dist/cjs/standards-sdk.cjs +2 -2
  26. package/dist/cjs/standards-sdk.cjs.map +1 -1
  27. package/dist/es/hcs-12/validation/schemas.d.ts +4 -4
  28. package/dist/es/hcs-14/index.d.ts +5 -0
  29. package/dist/es/hcs-14/index.d.ts.map +1 -1
  30. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
  31. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  32. package/dist/es/hcs-14/resolvers/dns.d.ts +3 -0
  33. package/dist/es/hcs-14/resolvers/dns.d.ts.map +1 -0
  34. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
  35. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  36. package/dist/es/hcs-14/resolvers/profile-utils.d.ts +9 -0
  37. package/dist/es/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  38. package/dist/es/hcs-14/resolvers/registry.d.ts +21 -1
  39. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  40. package/dist/es/hcs-14/resolvers/types.d.ts +106 -5
  41. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  42. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
  43. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  44. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
  45. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  46. package/dist/es/hcs-14/sdk.d.ts +16 -1
  47. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  48. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  49. package/dist/es/services/registry-broker/schemas.d.ts +1548 -0
  50. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  51. package/dist/es/standards-sdk.es.js +96 -83
  52. package/dist/es/standards-sdk.es.js.map +1 -1
  53. package/dist/es/standards-sdk.es100.js +41 -224
  54. package/dist/es/standards-sdk.es100.js.map +1 -1
  55. package/dist/es/standards-sdk.es101.js +249 -97
  56. package/dist/es/standards-sdk.es101.js.map +1 -1
  57. package/dist/es/standards-sdk.es102.js +95 -27
  58. package/dist/es/standards-sdk.es102.js.map +1 -1
  59. package/dist/es/standards-sdk.es103.js +97 -80
  60. package/dist/es/standards-sdk.es103.js.map +1 -1
  61. package/dist/es/standards-sdk.es104.js +29 -30
  62. package/dist/es/standards-sdk.es104.js.map +1 -1
  63. package/dist/es/standards-sdk.es105.js +229 -249
  64. package/dist/es/standards-sdk.es105.js.map +1 -1
  65. package/dist/es/standards-sdk.es106.js +103 -468
  66. package/dist/es/standards-sdk.es106.js.map +1 -1
  67. package/dist/es/standards-sdk.es107.js +32 -103
  68. package/dist/es/standards-sdk.es107.js.map +1 -1
  69. package/dist/es/standards-sdk.es108.js +79 -155
  70. package/dist/es/standards-sdk.es108.js.map +1 -1
  71. package/dist/es/standards-sdk.es109.js +28 -31
  72. package/dist/es/standards-sdk.es109.js.map +1 -1
  73. package/dist/es/standards-sdk.es11.js +1 -1
  74. package/dist/es/standards-sdk.es110.js +250 -10
  75. package/dist/es/standards-sdk.es110.js.map +1 -1
  76. package/dist/es/standards-sdk.es111.js +451 -115
  77. package/dist/es/standards-sdk.es111.js.map +1 -1
  78. package/dist/es/standards-sdk.es112.js +101 -25
  79. package/dist/es/standards-sdk.es112.js.map +1 -1
  80. package/dist/es/standards-sdk.es113.js +155 -17
  81. package/dist/es/standards-sdk.es113.js.map +1 -1
  82. package/dist/es/standards-sdk.es114.js +29 -155
  83. package/dist/es/standards-sdk.es114.js.map +1 -1
  84. package/dist/es/standards-sdk.es115.js +9 -200
  85. package/dist/es/standards-sdk.es115.js.map +1 -1
  86. package/dist/es/standards-sdk.es116.js +109 -757
  87. package/dist/es/standards-sdk.es116.js.map +1 -1
  88. package/dist/es/standards-sdk.es117.js +27 -11
  89. package/dist/es/standards-sdk.es117.js.map +1 -1
  90. package/dist/es/standards-sdk.es118.js +19 -564
  91. package/dist/es/standards-sdk.es118.js.map +1 -1
  92. package/dist/es/standards-sdk.es119.js +140 -582
  93. package/dist/es/standards-sdk.es119.js.map +1 -1
  94. package/dist/es/standards-sdk.es12.js +1 -1
  95. package/dist/es/standards-sdk.es120.js +202 -12
  96. package/dist/es/standards-sdk.es120.js.map +1 -1
  97. package/dist/es/standards-sdk.es121.js +790 -2
  98. package/dist/es/standards-sdk.es121.js.map +1 -1
  99. package/dist/es/standards-sdk.es122.js +10 -84
  100. package/dist/es/standards-sdk.es122.js.map +1 -1
  101. package/dist/es/standards-sdk.es123.js +567 -40
  102. package/dist/es/standards-sdk.es123.js.map +1 -1
  103. package/dist/es/standards-sdk.es124.js +602 -2
  104. package/dist/es/standards-sdk.es124.js.map +1 -1
  105. package/dist/es/standards-sdk.es125.js +12 -234
  106. package/dist/es/standards-sdk.es125.js.map +1 -1
  107. package/dist/es/standards-sdk.es126.js +2 -1140
  108. package/dist/es/standards-sdk.es126.js.map +1 -1
  109. package/dist/es/standards-sdk.es127.js +73 -292
  110. package/dist/es/standards-sdk.es127.js.map +1 -1
  111. package/dist/es/standards-sdk.es128.js +36 -418
  112. package/dist/es/standards-sdk.es128.js.map +1 -1
  113. package/dist/es/standards-sdk.es129.js +2 -355
  114. package/dist/es/standards-sdk.es129.js.map +1 -1
  115. package/dist/es/standards-sdk.es13.js +1 -1
  116. package/dist/es/standards-sdk.es130.js +198 -1079
  117. package/dist/es/standards-sdk.es130.js.map +1 -1
  118. package/dist/es/standards-sdk.es131.js +1107 -175
  119. package/dist/es/standards-sdk.es131.js.map +1 -1
  120. package/dist/es/standards-sdk.es132.js +218 -1479
  121. package/dist/es/standards-sdk.es132.js.map +1 -1
  122. package/dist/es/standards-sdk.es133.js +422 -1236
  123. package/dist/es/standards-sdk.es133.js.map +1 -1
  124. package/dist/es/standards-sdk.es134.js +351 -13
  125. package/dist/es/standards-sdk.es134.js.map +1 -1
  126. package/dist/es/standards-sdk.es135.js +1102 -73
  127. package/dist/es/standards-sdk.es135.js.map +1 -1
  128. package/dist/es/standards-sdk.es136.js +203 -76
  129. package/dist/es/standards-sdk.es136.js.map +1 -1
  130. package/dist/es/standards-sdk.es137.js +1459 -785
  131. package/dist/es/standards-sdk.es137.js.map +1 -1
  132. package/dist/es/standards-sdk.es138.js +1254 -59
  133. package/dist/es/standards-sdk.es138.js.map +1 -1
  134. package/dist/es/standards-sdk.es139.js +14 -156
  135. package/dist/es/standards-sdk.es139.js.map +1 -1
  136. package/dist/es/standards-sdk.es14.js +1 -1
  137. package/dist/es/standards-sdk.es140.js +87 -7
  138. package/dist/es/standards-sdk.es140.js.map +1 -1
  139. package/dist/es/standards-sdk.es141.js +74 -79
  140. package/dist/es/standards-sdk.es141.js.map +1 -1
  141. package/dist/es/standards-sdk.es142.js +889 -61
  142. package/dist/es/standards-sdk.es142.js.map +1 -1
  143. package/dist/es/standards-sdk.es143.js +60 -30
  144. package/dist/es/standards-sdk.es143.js.map +1 -1
  145. package/dist/es/standards-sdk.es144.js +159 -34
  146. package/dist/es/standards-sdk.es144.js.map +1 -1
  147. package/dist/es/standards-sdk.es145.js +7 -28
  148. package/dist/es/standards-sdk.es145.js.map +1 -1
  149. package/dist/es/standards-sdk.es146.js +70 -122
  150. package/dist/es/standards-sdk.es146.js.map +1 -1
  151. package/dist/es/standards-sdk.es147.js +58 -35
  152. package/dist/es/standards-sdk.es147.js.map +1 -1
  153. package/dist/es/standards-sdk.es148.js +30 -12482
  154. package/dist/es/standards-sdk.es148.js.map +1 -1
  155. package/dist/es/standards-sdk.es149.js +34 -242
  156. package/dist/es/standards-sdk.es149.js.map +1 -1
  157. package/dist/es/standards-sdk.es15.js +1 -1
  158. package/dist/es/standards-sdk.es150.js +41 -172
  159. package/dist/es/standards-sdk.es150.js.map +1 -1
  160. package/dist/es/standards-sdk.es151.js +115 -299
  161. package/dist/es/standards-sdk.es151.js.map +1 -1
  162. package/dist/es/standards-sdk.es152.js +36 -340
  163. package/dist/es/standards-sdk.es152.js.map +1 -1
  164. package/dist/es/standards-sdk.es153.js +12427 -398
  165. package/dist/es/standards-sdk.es153.js.map +1 -1
  166. package/dist/es/standards-sdk.es154.js +142 -301
  167. package/dist/es/standards-sdk.es154.js.map +1 -1
  168. package/dist/es/standards-sdk.es155.js +310 -64
  169. package/dist/es/standards-sdk.es155.js.map +1 -1
  170. package/dist/es/standards-sdk.es156.js +342 -13
  171. package/dist/es/standards-sdk.es156.js.map +1 -1
  172. package/dist/es/standards-sdk.es157.js +444 -64
  173. package/dist/es/standards-sdk.es157.js.map +1 -1
  174. package/dist/es/standards-sdk.es158.js +330 -55
  175. package/dist/es/standards-sdk.es158.js.map +1 -1
  176. package/dist/es/standards-sdk.es159.js +60 -68
  177. package/dist/es/standards-sdk.es159.js.map +1 -1
  178. package/dist/es/standards-sdk.es16.js +5 -5
  179. package/dist/es/standards-sdk.es160.js +14 -169
  180. package/dist/es/standards-sdk.es160.js.map +1 -1
  181. package/dist/es/standards-sdk.es161.js +179 -159
  182. package/dist/es/standards-sdk.es161.js.map +1 -1
  183. package/dist/es/standards-sdk.es162.js +49 -232
  184. package/dist/es/standards-sdk.es162.js.map +1 -1
  185. package/dist/es/standards-sdk.es163.js +71 -106
  186. package/dist/es/standards-sdk.es163.js.map +1 -1
  187. package/dist/es/standards-sdk.es164.js +70 -115
  188. package/dist/es/standards-sdk.es164.js.map +1 -1
  189. package/dist/es/standards-sdk.es165.js +60 -148
  190. package/dist/es/standards-sdk.es165.js.map +1 -1
  191. package/dist/es/standards-sdk.es166.js +149 -162
  192. package/dist/es/standards-sdk.es166.js.map +1 -1
  193. package/dist/es/standards-sdk.es167.js +195 -112
  194. package/dist/es/standards-sdk.es167.js.map +1 -1
  195. package/dist/es/standards-sdk.es168.js +208 -300
  196. package/dist/es/standards-sdk.es168.js.map +1 -1
  197. package/dist/es/standards-sdk.es169.js +106 -246
  198. package/dist/es/standards-sdk.es169.js.map +1 -1
  199. package/dist/es/standards-sdk.es170.js +107 -97
  200. package/dist/es/standards-sdk.es170.js.map +1 -1
  201. package/dist/es/standards-sdk.es171.js +164 -0
  202. package/dist/es/standards-sdk.es171.js.map +1 -0
  203. package/dist/es/standards-sdk.es172.js +188 -0
  204. package/dist/es/standards-sdk.es172.js.map +1 -0
  205. package/dist/es/standards-sdk.es173.js +142 -0
  206. package/dist/es/standards-sdk.es173.js.map +1 -0
  207. package/dist/es/standards-sdk.es174.js +334 -0
  208. package/dist/es/standards-sdk.es174.js.map +1 -0
  209. package/dist/es/standards-sdk.es175.js +262 -0
  210. package/dist/es/standards-sdk.es175.js.map +1 -0
  211. package/dist/es/standards-sdk.es176.js +119 -0
  212. package/dist/es/standards-sdk.es176.js.map +1 -0
  213. package/dist/es/standards-sdk.es18.js +12 -12
  214. package/dist/es/standards-sdk.es19.js +9 -9
  215. package/dist/es/standards-sdk.es2.js +2 -2
  216. package/dist/es/standards-sdk.es20.js +1 -1
  217. package/dist/es/standards-sdk.es21.js +1 -1
  218. package/dist/es/standards-sdk.es22.js +1 -1
  219. package/dist/es/standards-sdk.es23.js +1 -1
  220. package/dist/es/standards-sdk.es24.js +1 -1
  221. package/dist/es/standards-sdk.es25.js +1 -1
  222. package/dist/es/standards-sdk.es26.js +1 -1
  223. package/dist/es/standards-sdk.es27.js +12 -12
  224. package/dist/es/standards-sdk.es30.js +2 -2
  225. package/dist/es/standards-sdk.es31.js +4 -4
  226. package/dist/es/standards-sdk.es32.js +1 -1
  227. package/dist/es/standards-sdk.es35.js +6 -6
  228. package/dist/es/standards-sdk.es36.js +4 -4
  229. package/dist/es/standards-sdk.es37.js +2 -2
  230. package/dist/es/standards-sdk.es38.js +2 -2
  231. package/dist/es/standards-sdk.es39.js +1 -1
  232. package/dist/es/standards-sdk.es4.js +2 -2
  233. package/dist/es/standards-sdk.es40.js +1 -1
  234. package/dist/es/standards-sdk.es41.js +2 -2
  235. package/dist/es/standards-sdk.es46.js +1 -1
  236. package/dist/es/standards-sdk.es5.js +2 -2
  237. package/dist/es/standards-sdk.es51.js +1 -1
  238. package/dist/es/standards-sdk.es53.js +1 -1
  239. package/dist/es/standards-sdk.es56.js +2 -2
  240. package/dist/es/standards-sdk.es58.js +194 -13
  241. package/dist/es/standards-sdk.es58.js.map +1 -1
  242. package/dist/es/standards-sdk.es59.js +1 -1
  243. package/dist/es/standards-sdk.es6.js +2 -2
  244. package/dist/es/standards-sdk.es60.js +100 -192
  245. package/dist/es/standards-sdk.es60.js.map +1 -1
  246. package/dist/es/standards-sdk.es61.js +172 -24
  247. package/dist/es/standards-sdk.es61.js.map +1 -1
  248. package/dist/es/standards-sdk.es62.js +204 -77
  249. package/dist/es/standards-sdk.es62.js.map +1 -1
  250. package/dist/es/standards-sdk.es63.js +130 -3
  251. package/dist/es/standards-sdk.es63.js.map +1 -1
  252. package/dist/es/standards-sdk.es64.js +41 -95
  253. package/dist/es/standards-sdk.es64.js.map +1 -1
  254. package/dist/es/standards-sdk.es65.js +245 -88
  255. package/dist/es/standards-sdk.es65.js.map +1 -1
  256. package/dist/es/standards-sdk.es66.js +32 -17
  257. package/dist/es/standards-sdk.es66.js.map +1 -1
  258. package/dist/es/standards-sdk.es67.js +96 -77
  259. package/dist/es/standards-sdk.es67.js.map +1 -1
  260. package/dist/es/standards-sdk.es68.js +4 -458
  261. package/dist/es/standards-sdk.es68.js.map +1 -1
  262. package/dist/es/standards-sdk.es69.js +72 -295
  263. package/dist/es/standards-sdk.es69.js.map +1 -1
  264. package/dist/es/standards-sdk.es7.js +1 -1
  265. package/dist/es/standards-sdk.es70.js +86 -194
  266. package/dist/es/standards-sdk.es70.js.map +1 -1
  267. package/dist/es/standards-sdk.es71.js +16 -69
  268. package/dist/es/standards-sdk.es71.js.map +1 -1
  269. package/dist/es/standards-sdk.es72.js +69 -63
  270. package/dist/es/standards-sdk.es72.js.map +1 -1
  271. package/dist/es/standards-sdk.es73.js +458 -143
  272. package/dist/es/standards-sdk.es73.js.map +1 -1
  273. package/dist/es/standards-sdk.es74.js +298 -43
  274. package/dist/es/standards-sdk.es74.js.map +1 -1
  275. package/dist/es/standards-sdk.es75.js +174 -370
  276. package/dist/es/standards-sdk.es75.js.map +1 -1
  277. package/dist/es/standards-sdk.es76.js +71 -495
  278. package/dist/es/standards-sdk.es76.js.map +1 -1
  279. package/dist/es/standards-sdk.es77.js +71 -365
  280. package/dist/es/standards-sdk.es77.js.map +1 -1
  281. package/dist/es/standards-sdk.es78.js +137 -83
  282. package/dist/es/standards-sdk.es78.js.map +1 -1
  283. package/dist/es/standards-sdk.es79.js +69 -125
  284. package/dist/es/standards-sdk.es79.js.map +1 -1
  285. package/dist/es/standards-sdk.es80.js +402 -6
  286. package/dist/es/standards-sdk.es80.js.map +1 -1
  287. package/dist/es/standards-sdk.es81.js +492 -43
  288. package/dist/es/standards-sdk.es81.js.map +1 -1
  289. package/dist/es/standards-sdk.es82.js +350 -86
  290. package/dist/es/standards-sdk.es82.js.map +1 -1
  291. package/dist/es/standards-sdk.es83.js +88 -347
  292. package/dist/es/standards-sdk.es83.js.map +1 -1
  293. package/dist/es/standards-sdk.es84.js +125 -281
  294. package/dist/es/standards-sdk.es84.js.map +1 -1
  295. package/dist/es/standards-sdk.es85.js +6 -59
  296. package/dist/es/standards-sdk.es85.js.map +1 -1
  297. package/dist/es/standards-sdk.es86.js +43 -45
  298. package/dist/es/standards-sdk.es86.js.map +1 -1
  299. package/dist/es/standards-sdk.es87.js +86 -135
  300. package/dist/es/standards-sdk.es87.js.map +1 -1
  301. package/dist/es/standards-sdk.es88.js +333 -52
  302. package/dist/es/standards-sdk.es88.js.map +1 -1
  303. package/dist/es/standards-sdk.es89.js +277 -26
  304. package/dist/es/standards-sdk.es89.js.map +1 -1
  305. package/dist/es/standards-sdk.es9.js +2 -2
  306. package/dist/es/standards-sdk.es90.js +59 -23
  307. package/dist/es/standards-sdk.es90.js.map +1 -1
  308. package/dist/es/standards-sdk.es91.js +26 -217
  309. package/dist/es/standards-sdk.es91.js.map +1 -1
  310. package/dist/es/standards-sdk.es92.js +104 -236
  311. package/dist/es/standards-sdk.es92.js.map +1 -1
  312. package/dist/es/standards-sdk.es93.js +51 -141
  313. package/dist/es/standards-sdk.es93.js.map +1 -1
  314. package/dist/es/standards-sdk.es94.js +22 -137
  315. package/dist/es/standards-sdk.es94.js.map +1 -1
  316. package/dist/es/standards-sdk.es95.js +20 -44
  317. package/dist/es/standards-sdk.es95.js.map +1 -1
  318. package/dist/es/standards-sdk.es96.js +227 -252
  319. package/dist/es/standards-sdk.es96.js.map +1 -1
  320. package/dist/es/standards-sdk.es97.js +248 -68
  321. package/dist/es/standards-sdk.es97.js.map +1 -1
  322. package/dist/es/standards-sdk.es98.js +108 -52
  323. package/dist/es/standards-sdk.es98.js.map +1 -1
  324. package/dist/es/standards-sdk.es99.js +144 -29
  325. package/dist/es/standards-sdk.es99.js.map +1 -1
  326. package/package.json +13 -3
@@ -1,92 +1,146 @@
1
- import { buildMessageTx } from "./standards-sdk.es147.js";
2
- function buildHcs20SubmitMessageTx(params) {
3
- const msg = typeof params.payload === "string" ? params.payload : JSON.stringify(params.payload);
4
- return buildMessageTx({
5
- topicId: params.topicId,
6
- message: msg,
7
- transactionMemo: params.transactionMemo
8
- });
1
+ class HCS20Error extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "HCS20Error";
5
+ }
9
6
  }
10
- function buildHcs20DeployTx(params) {
11
- const payload = {
12
- p: "hcs-20",
13
- op: "deploy",
14
- name: params.name,
15
- tick: params.tick.toLowerCase().trim(),
16
- max: params.max,
17
- lim: params.lim,
18
- metadata: params.metadata,
19
- m: params.memo
20
- };
21
- return buildMessageTx({
22
- topicId: params.topicId,
23
- message: JSON.stringify(payload)
24
- });
7
+ class PointsDeploymentError extends HCS20Error {
8
+ constructor(message, tick) {
9
+ super(message);
10
+ this.tick = tick;
11
+ this.name = "PointsDeploymentError";
12
+ }
25
13
  }
26
- function buildHcs20MintTx(params) {
27
- const payload = {
28
- p: "hcs-20",
29
- op: "mint",
30
- tick: params.tick.toLowerCase().trim(),
31
- amt: params.amt,
32
- to: params.to,
33
- m: params.memo
34
- };
35
- return buildMessageTx({
36
- topicId: params.topicId,
37
- message: JSON.stringify(payload)
38
- });
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
+ }
39
22
  }
40
- function buildHcs20TransferTx(params) {
41
- const payload = {
42
- p: "hcs-20",
43
- op: "transfer",
44
- tick: params.tick.toLowerCase().trim(),
45
- amt: params.amt,
46
- from: params.from,
47
- to: params.to,
48
- m: params.memo
49
- };
50
- return buildMessageTx({
51
- topicId: params.topicId,
52
- message: JSON.stringify(payload)
53
- });
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
+ }
54
33
  }
55
- function buildHcs20BurnTx(params) {
56
- const payload = {
57
- p: "hcs-20",
58
- op: "burn",
59
- tick: params.tick.toLowerCase().trim(),
60
- amt: params.amt,
61
- from: params.from,
62
- m: params.memo
63
- };
64
- return buildMessageTx({
65
- topicId: params.topicId,
66
- message: JSON.stringify(payload)
67
- });
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
+ }
68
43
  }
69
- function buildHcs20RegisterTx(params) {
70
- const payload = {
71
- p: "hcs-20",
72
- op: "register",
73
- name: params.name,
74
- metadata: params.metadata,
75
- private: params.isPrivate,
76
- t_id: params.topicId,
77
- m: params.memo
78
- };
79
- return buildMessageTx({
80
- topicId: params.registryTopicId,
81
- message: JSON.stringify(payload)
82
- });
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
+ }
83
128
  }
84
129
  export {
85
- buildHcs20BurnTx,
86
- buildHcs20DeployTx,
87
- buildHcs20MintTx,
88
- buildHcs20RegisterTx,
89
- buildHcs20SubmitMessageTx,
90
- buildHcs20TransferTx
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
91
145
  };
92
146
  //# sourceMappingURL=standards-sdk.es78.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es78.js","sources":["../../src/hcs-20/tx.ts"],"sourcesContent":["import { TopicMessageSubmitTransaction } from '@hashgraph/sdk';\nimport { buildMessageTx } from '../common/tx/tx-utils';\nimport type {\n HCS20DeployMessage,\n HCS20MintMessage,\n HCS20TransferMessage,\n HCS20BurnMessage,\n HCS20RegisterMessage,\n} from './types';\n\nexport function buildHcs20SubmitMessageTx(params: {\n topicId: string;\n payload: object | string;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const msg =\n typeof params.payload === 'string'\n ? params.payload\n : JSON.stringify(params.payload);\n return buildMessageTx({\n topicId: params.topicId,\n message: msg,\n transactionMemo: params.transactionMemo,\n });\n}\n\nexport function buildHcs20DeployTx(params: {\n topicId: string;\n name: string;\n tick: string;\n max: string;\n lim?: string;\n metadata?: string;\n memo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS20DeployMessage = {\n p: 'hcs-20',\n op: 'deploy',\n name: params.name,\n tick: params.tick.toLowerCase().trim(),\n max: params.max,\n lim: params.lim,\n metadata: params.metadata,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.topicId,\n message: JSON.stringify(payload),\n });\n}\n\nexport function buildHcs20MintTx(params: {\n topicId: string;\n tick: string;\n amt: string;\n to: string;\n memo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS20MintMessage = {\n p: 'hcs-20',\n op: 'mint',\n tick: params.tick.toLowerCase().trim(),\n amt: params.amt,\n to: params.to,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.topicId,\n message: JSON.stringify(payload),\n });\n}\n\nexport function buildHcs20TransferTx(params: {\n topicId: string;\n tick: string;\n amt: string;\n from: string;\n to: string;\n memo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS20TransferMessage = {\n p: 'hcs-20',\n op: 'transfer',\n tick: params.tick.toLowerCase().trim(),\n amt: params.amt,\n from: params.from,\n to: params.to,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.topicId,\n message: JSON.stringify(payload),\n });\n}\n\nexport function buildHcs20BurnTx(params: {\n topicId: string;\n tick: string;\n amt: string;\n from: string;\n memo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS20BurnMessage = {\n p: 'hcs-20',\n op: 'burn',\n tick: params.tick.toLowerCase().trim(),\n amt: params.amt,\n from: params.from,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.topicId,\n message: JSON.stringify(payload),\n });\n}\n\nexport function buildHcs20RegisterTx(params: {\n registryTopicId: string;\n name: string;\n topicId: string;\n isPrivate: boolean;\n metadata?: string;\n memo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: HCS20RegisterMessage = {\n p: 'hcs-20',\n op: 'register',\n name: params.name,\n metadata: params.metadata,\n private: params.isPrivate,\n t_id: params.topicId,\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.registryTopicId,\n message: JSON.stringify(payload),\n });\n}\n"],"names":[],"mappings":";AAUO,SAAS,0BAA0B,QAIR;AAChC,QAAM,MACJ,OAAO,OAAO,YAAY,WACtB,OAAO,UACP,KAAK,UAAU,OAAO,OAAO;AACnC,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS;AAAA,IACT,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;AAEO,SAAS,mBAAmB,QAQD;AAChC,QAAM,UAA8B;AAAA,IAClC,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,MAAM,OAAO;AAAA,IACb,MAAM,OAAO,KAAK,YAAA,EAAc,KAAA;AAAA,IAChC,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IACZ,UAAU,OAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,EAAA,CAChC;AACH;AAEO,SAAS,iBAAiB,QAMC;AAChC,QAAM,UAA4B;AAAA,IAChC,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,MAAM,OAAO,KAAK,YAAA,EAAc,KAAA;AAAA,IAChC,KAAK,OAAO;AAAA,IACZ,IAAI,OAAO;AAAA,IACX,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,EAAA,CAChC;AACH;AAEO,SAAS,qBAAqB,QAOH;AAChC,QAAM,UAAgC;AAAA,IACpC,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,MAAM,OAAO,KAAK,YAAA,EAAc,KAAA;AAAA,IAChC,KAAK,OAAO;AAAA,IACZ,MAAM,OAAO;AAAA,IACb,IAAI,OAAO;AAAA,IACX,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,EAAA,CAChC;AACH;AAEO,SAAS,iBAAiB,QAMC;AAChC,QAAM,UAA4B;AAAA,IAChC,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,MAAM,OAAO,KAAK,YAAA,EAAc,KAAA;AAAA,IAChC,KAAK,OAAO;AAAA,IACZ,MAAM,OAAO;AAAA,IACb,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,EAAA,CAChC;AACH;AAEO,SAAS,qBAAqB,QAOH;AAChC,QAAM,UAAgC;AAAA,IACpC,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,SAAS,OAAO;AAAA,IAChB,MAAM,OAAO;AAAA,IACb,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,EAAA,CAChC;AACH;"}
1
+ {"version":3,"file":"standards-sdk.es78.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,128 +1,72 @@
1
- import { z } from "zod";
2
- const HCS21_PROTOCOL = "hcs-21";
3
- const HCS21_MAX_MESSAGE_BYTES = 1024;
4
- const HCS21_SAFE_MESSAGE_BYTES = 1e3;
5
- const HCS21ManifestPointerPattern = /^(?:hcs:\/\/1\/0\.0\.\d+|ipfs:\/\/\S+|ar:\/\/\S+|oci:\/\/\S+|https?:\/\/\S+)$/;
6
- const HCS21TopicIdPattern = /^0\.0\.\d+$/;
7
- const HCS21MetadataPointerPattern = /^(?:0\.0\.\d+|hcs:\/\/1\/0\.0\.\d+(?:\/\d+)?|ipfs:\/\/\S+|ar:\/\/\S+|oci:\/\/\S+|https?:\/\/\S+)$/;
8
- var HCS21TopicType = /* @__PURE__ */ ((HCS21TopicType2) => {
9
- HCS21TopicType2[HCS21TopicType2["ADAPTER_REGISTRY"] = 0] = "ADAPTER_REGISTRY";
10
- HCS21TopicType2[HCS21TopicType2["REGISTRY_OF_REGISTRIES"] = 1] = "REGISTRY_OF_REGISTRIES";
11
- HCS21TopicType2[HCS21TopicType2["ADAPTER_CATEGORY"] = 2] = "ADAPTER_CATEGORY";
12
- return HCS21TopicType2;
13
- })(HCS21TopicType || {});
14
- const adapterPackageSchema = z.object({
15
- registry: z.string().min(1),
16
- name: z.string().min(1),
17
- version: z.string().min(1),
18
- integrity: z.string().min(1)
19
- });
20
- const adapterConfigContextSchema = z.object({
21
- type: z.string().min(1),
22
- account: z.string().min(1).optional(),
23
- threshold: z.string().min(1).optional(),
24
- ctopic: z.string().min(1).optional(),
25
- ttopic: z.string().min(1).optional(),
26
- stopic: z.string().min(1).optional()
27
- }).catchall(z.unknown());
28
- const adapterDeclarationSchema = z.object({
29
- p: z.literal(HCS21_PROTOCOL),
30
- op: z.enum(["register", "update", "delete"]),
31
- adapter_id: z.string().min(1),
32
- entity: z.string().min(1),
33
- package: adapterPackageSchema,
34
- manifest: z.string().regex(
35
- HCS21ManifestPointerPattern,
36
- "manifest must be an immutable pointer (hcs://1/<topicId>, ipfs://cid/path, ar://txid, oci://repo@digest, https://...#sha384-..)"
37
- ),
38
- manifest_sequence: z.number().int().positive().optional(),
39
- config: adapterConfigContextSchema,
40
- state_model: z.string().min(1).optional(),
41
- signature: z.string().min(1).optional()
42
- });
43
- const adapterManifestSchema = z.object({
44
- meta: z.object({
45
- spec_version: z.string().min(1),
46
- adapter_version: z.string().min(1),
47
- minimum_version: z.string().min(1).optional(),
48
- generated: z.string().min(1)
49
- }),
50
- adapter: z.object({
51
- name: z.string().min(1),
52
- id: z.string().min(1),
53
- maintainers: z.array(
54
- z.object({
55
- name: z.string().min(1),
56
- contact: z.string().min(1)
57
- })
58
- ).min(1),
59
- license: z.string().min(1)
60
- }),
61
- package: z.object({
62
- registry: z.string().min(1),
63
- dist_tag: z.string().min(1).optional(),
64
- artifacts: z.array(
65
- z.object({
66
- url: z.string().min(1),
67
- digest: z.string().min(1),
68
- signature: z.string().min(1).optional()
69
- })
70
- ).min(1)
71
- }),
72
- runtime: z.object({
73
- platforms: z.array(z.string().min(1)).min(1),
74
- primary: z.string().min(1),
75
- entry: z.string().min(1),
76
- dependencies: z.array(z.string().min(1)).optional(),
77
- env: z.array(z.string().min(1)).optional()
78
- }),
79
- capabilities: z.object({
80
- discovery: z.boolean(),
81
- communication: z.boolean(),
82
- protocols: z.array(z.string().min(1)),
83
- discovery_tags: z.array(z.string().min(1)).optional(),
84
- communication_channels: z.array(z.string().min(1)).optional(),
85
- extras: z.record(z.string(), z.unknown()).optional()
86
- }),
87
- consensus: z.object({
88
- state_model: z.string().min(1).optional(),
89
- profile_uri: z.string().min(1).optional(),
90
- entity_schema: z.string().min(1).optional(),
91
- required_fields: z.array(z.string().min(1)),
92
- hashing: z.literal("sha384")
93
- })
94
- });
95
- const registryMetadataSchema = z.object({
96
- version: z.string().min(1),
97
- name: z.string().min(1),
98
- description: z.string().min(1),
99
- operator: z.object({
100
- account: z.string().min(1),
101
- name: z.string().optional(),
102
- contact: z.string().optional()
103
- }),
104
- entityTypes: z.array(z.string().min(1)),
105
- categories: z.array(z.string().min(1)).optional(),
106
- tags: z.array(z.string().min(1)).optional(),
107
- links: z.record(z.string().min(1)).optional()
108
- });
109
- const metadataDocumentSchema = z.union([
110
- adapterManifestSchema,
111
- registryMetadataSchema
112
- ]);
1
+ import { Logger } from "./standards-sdk.es116.js";
2
+ import { HederaMirrorNode } from "./standards-sdk.es137.js";
3
+ import { HCS20_CONSTANTS, HCS20MessageSchema } from "./standards-sdk.es77.js";
4
+ import { InvalidAccountFormatError } from "./standards-sdk.es78.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
13
+ );
14
+ this.registryTopicId = config.registryTopicId || HCS20_CONSTANTS.REGISTRY_TOPIC_ID;
15
+ this.publicTopicId = config.publicTopicId || HCS20_CONSTANTS.PUBLIC_TOPIC_ID;
16
+ }
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
+ }
33
+ }
34
+ /**
35
+ * Normalize tick to lowercase and trimmed
36
+ */
37
+ normalizeTick(tick) {
38
+ return tick.toLowerCase().trim();
39
+ }
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();
51
+ }
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();
63
+ }
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
+ }
113
69
  export {
114
- HCS21ManifestPointerPattern,
115
- HCS21MetadataPointerPattern,
116
- HCS21TopicIdPattern,
117
- HCS21TopicType,
118
- HCS21_MAX_MESSAGE_BYTES,
119
- HCS21_PROTOCOL,
120
- HCS21_SAFE_MESSAGE_BYTES,
121
- adapterConfigContextSchema,
122
- adapterDeclarationSchema,
123
- adapterManifestSchema,
124
- adapterPackageSchema,
125
- metadataDocumentSchema,
126
- registryMetadataSchema
70
+ HCS20BaseClient
127
71
  };
128
72
  //# sourceMappingURL=standards-sdk.es79.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es79.js","sources":["../../src/hcs-21/types.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { QuoteResult } from '../inscribe/types';\n\nexport const HCS21_PROTOCOL = 'hcs-21';\nexport const HCS21_MAX_MESSAGE_BYTES = 1024;\nexport const HCS21_SAFE_MESSAGE_BYTES = 1000;\nexport const HCS21ManifestPointerPattern =\n /^(?:hcs:\\/\\/1\\/0\\.0\\.\\d+|ipfs:\\/\\/\\S+|ar:\\/\\/\\S+|oci:\\/\\/\\S+|https?:\\/\\/\\S+)$/;\nexport const HCS21TopicIdPattern = /^0\\.0\\.\\d+$/;\nexport const HCS21MetadataPointerPattern =\n /^(?:0\\.0\\.\\d+|hcs:\\/\\/1\\/0\\.0\\.\\d+(?:\\/\\d+)?|ipfs:\\/\\/\\S+|ar:\\/\\/\\S+|oci:\\/\\/\\S+|https?:\\/\\/\\S+)$/;\n\nexport type HCS21Operation = 'register' | 'update' | 'delete';\n\nexport interface AdapterPackage {\n registry: string;\n name: string;\n version: string;\n integrity: string;\n}\n\nexport interface AdapterConfigContext {\n type: string;\n account?: string;\n threshold?: string;\n ctopic?: string;\n ttopic?: string;\n stopic?: string;\n [key: string]: unknown;\n}\n\nexport interface AdapterDeclaration {\n p: typeof HCS21_PROTOCOL;\n op: HCS21Operation;\n adapter_id: string;\n entity: string;\n package: AdapterPackage;\n manifest: string;\n manifest_sequence?: number;\n config: AdapterConfigContext;\n state_model?: string;\n signature?: string;\n}\n\nexport interface AdapterDeclarationEnvelope {\n declaration: AdapterDeclaration;\n consensusTimestamp?: string;\n sequenceNumber: number;\n payer?: string;\n}\n\nexport enum HCS21TopicType {\n ADAPTER_REGISTRY = 0,\n REGISTRY_OF_REGISTRIES = 1,\n ADAPTER_CATEGORY = 2,\n}\n\nexport interface AdapterCategoryEntry {\n adapterId: string;\n adapterTopicId: string;\n metadata?: string;\n memo?: string;\n payer?: string;\n sequenceNumber: number;\n consensusTimestamp?: string;\n}\n\nexport interface ManifestPointer {\n pointer: string;\n topicId: string;\n sequenceNumber: number;\n manifestSequence?: number;\n jobId?: string;\n transactionId?: string;\n totalCostHbar?: string;\n costBreakdown?: QuoteResult['breakdown'];\n}\n\nexport const adapterPackageSchema = z.object({\n registry: z.string().min(1),\n name: z.string().min(1),\n version: z.string().min(1),\n integrity: z.string().min(1),\n});\n\nexport const adapterConfigContextSchema = z\n .object({\n type: z.string().min(1),\n account: z.string().min(1).optional(),\n threshold: z.string().min(1).optional(),\n ctopic: z.string().min(1).optional(),\n ttopic: z.string().min(1).optional(),\n stopic: z.string().min(1).optional(),\n })\n .catchall(z.unknown());\n\nexport const adapterDeclarationSchema = z.object({\n p: z.literal(HCS21_PROTOCOL),\n op: z.enum(['register', 'update', 'delete']),\n adapter_id: z.string().min(1),\n entity: z.string().min(1),\n package: adapterPackageSchema,\n manifest: z\n .string()\n .regex(\n HCS21ManifestPointerPattern,\n 'manifest must be an immutable pointer (hcs://1/<topicId>, ipfs://cid/path, ar://txid, oci://repo@digest, https://...#sha384-..)',\n ),\n manifest_sequence: z.number().int().positive().optional(),\n config: adapterConfigContextSchema,\n state_model: z.string().min(1).optional(),\n signature: z.string().min(1).optional(),\n});\n\nexport const adapterManifestSchema = z.object({\n meta: z.object({\n spec_version: z.string().min(1),\n adapter_version: z.string().min(1),\n minimum_version: z.string().min(1).optional(),\n generated: z.string().min(1),\n }),\n adapter: z.object({\n name: z.string().min(1),\n id: z.string().min(1),\n maintainers: z\n .array(\n z.object({\n name: z.string().min(1),\n contact: z.string().min(1),\n }),\n )\n .min(1),\n license: z.string().min(1),\n }),\n package: z.object({\n registry: z.string().min(1),\n dist_tag: z.string().min(1).optional(),\n artifacts: z\n .array(\n z.object({\n url: z.string().min(1),\n digest: z.string().min(1),\n signature: z.string().min(1).optional(),\n }),\n )\n .min(1),\n }),\n runtime: z.object({\n platforms: z.array(z.string().min(1)).min(1),\n primary: z.string().min(1),\n entry: z.string().min(1),\n dependencies: z.array(z.string().min(1)).optional(),\n env: z.array(z.string().min(1)).optional(),\n }),\n capabilities: z.object({\n discovery: z.boolean(),\n communication: z.boolean(),\n protocols: z.array(z.string().min(1)),\n discovery_tags: z.array(z.string().min(1)).optional(),\n communication_channels: z.array(z.string().min(1)).optional(),\n extras: z.record(z.string(), z.unknown()).optional(),\n }),\n consensus: z.object({\n state_model: z.string().min(1).optional(),\n profile_uri: z.string().min(1).optional(),\n entity_schema: z.string().min(1).optional(),\n required_fields: z.array(z.string().min(1)),\n hashing: z.literal('sha384'),\n }),\n});\n\nexport const registryMetadataSchema = z.object({\n version: z.string().min(1),\n name: z.string().min(1),\n description: z.string().min(1),\n operator: z.object({\n account: z.string().min(1),\n name: z.string().optional(),\n contact: z.string().optional(),\n }),\n entityTypes: z.array(z.string().min(1)),\n categories: z.array(z.string().min(1)).optional(),\n tags: z.array(z.string().min(1)).optional(),\n links: z.record(z.string().min(1)).optional(),\n});\n\nexport const metadataDocumentSchema = z.union([\n adapterManifestSchema,\n registryMetadataSchema,\n]);\n\nexport type AdapterDeclarationValidation = z.infer<\n typeof adapterDeclarationSchema\n>;\nexport type AdapterManifest = z.infer<typeof adapterManifestSchema>;\nexport type RegistryMetadataRecord = z.infer<typeof registryMetadataSchema>;\nexport type HCS21MetadataDocument = AdapterManifest | RegistryMetadataRecord;\n"],"names":["HCS21TopicType"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es79.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;"}