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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  2. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/services/registry-broker/schemas.d.ts +153 -153
  5. package/dist/cjs/standards-sdk.cjs +2 -2
  6. package/dist/cjs/standards-sdk.cjs.map +1 -1
  7. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  8. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  9. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  10. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  11. package/dist/es/index.d.ts.map +1 -1
  12. package/dist/es/services/registry-broker/schemas.d.ts +153 -153
  13. package/dist/es/standards-sdk.es.js +134 -135
  14. package/dist/es/standards-sdk.es.js.map +1 -1
  15. package/dist/es/standards-sdk.es10.js +70 -90
  16. package/dist/es/standards-sdk.es10.js.map +1 -1
  17. package/dist/es/standards-sdk.es100.js +229 -27
  18. package/dist/es/standards-sdk.es100.js.map +1 -1
  19. package/dist/es/standards-sdk.es101.js +109 -228
  20. package/dist/es/standards-sdk.es101.js.map +1 -1
  21. package/dist/es/standards-sdk.es102.js +15 -94
  22. package/dist/es/standards-sdk.es102.js.map +1 -1
  23. package/dist/es/standards-sdk.es103.js +80 -30
  24. package/dist/es/standards-sdk.es103.js.map +1 -1
  25. package/dist/es/standards-sdk.es104.js +27 -80
  26. package/dist/es/standards-sdk.es104.js.map +1 -1
  27. package/dist/es/standards-sdk.es105.js +136 -25
  28. package/dist/es/standards-sdk.es105.js.map +1 -1
  29. package/dist/es/standards-sdk.es106.js +27 -140
  30. package/dist/es/standards-sdk.es106.js.map +1 -1
  31. package/dist/es/standards-sdk.es107.js +20 -27
  32. package/dist/es/standards-sdk.es107.js.map +1 -1
  33. package/dist/es/standards-sdk.es108.js +156 -18
  34. package/dist/es/standards-sdk.es108.js.map +1 -1
  35. package/dist/es/standards-sdk.es109.js +198 -148
  36. package/dist/es/standards-sdk.es109.js.map +1 -1
  37. package/dist/es/standards-sdk.es11.js +121 -45
  38. package/dist/es/standards-sdk.es11.js.map +1 -1
  39. package/dist/es/standards-sdk.es110.js +747 -167
  40. package/dist/es/standards-sdk.es110.js.map +1 -1
  41. package/dist/es/standards-sdk.es111.js +9 -786
  42. package/dist/es/standards-sdk.es111.js.map +1 -1
  43. package/dist/es/standards-sdk.es112.js +567 -13
  44. package/dist/es/standards-sdk.es112.js.map +1 -1
  45. package/dist/es/standards-sdk.es113.js +576 -541
  46. package/dist/es/standards-sdk.es113.js.map +1 -1
  47. package/dist/es/standards-sdk.es114.js +12 -601
  48. package/dist/es/standards-sdk.es114.js.map +1 -1
  49. package/dist/es/standards-sdk.es115.js +2 -13
  50. package/dist/es/standards-sdk.es115.js.map +1 -1
  51. package/dist/es/standards-sdk.es116.js +87 -2
  52. package/dist/es/standards-sdk.es116.js.map +1 -1
  53. package/dist/es/standards-sdk.es117.js +37 -84
  54. package/dist/es/standards-sdk.es117.js.map +1 -1
  55. package/dist/es/standards-sdk.es118.js +2 -40
  56. package/dist/es/standards-sdk.es118.js.map +1 -1
  57. package/dist/es/standards-sdk.es119.js +231 -2
  58. package/dist/es/standards-sdk.es119.js.map +1 -1
  59. package/dist/es/standards-sdk.es12.js +60 -159
  60. package/dist/es/standards-sdk.es12.js.map +1 -1
  61. package/dist/es/standards-sdk.es120.js +1110 -201
  62. package/dist/es/standards-sdk.es120.js.map +1 -1
  63. package/dist/es/standards-sdk.es121.js +225 -1059
  64. package/dist/es/standards-sdk.es121.js.map +1 -1
  65. package/dist/es/standards-sdk.es122.js +419 -303
  66. package/dist/es/standards-sdk.es122.js.map +1 -1
  67. package/dist/es/standards-sdk.es123.js +351 -418
  68. package/dist/es/standards-sdk.es123.js.map +1 -1
  69. package/dist/es/standards-sdk.es124.js +872 -347
  70. package/dist/es/standards-sdk.es124.js.map +1 -1
  71. package/dist/es/standards-sdk.es125.js +182 -854
  72. package/dist/es/standards-sdk.es125.js.map +1 -1
  73. package/dist/es/standards-sdk.es126.js +1512 -153
  74. package/dist/es/standards-sdk.es126.js.map +1 -1
  75. package/dist/es/standards-sdk.es127.js +157 -1547
  76. package/dist/es/standards-sdk.es127.js.map +1 -1
  77. package/dist/es/standards-sdk.es128.js +192 -162
  78. package/dist/es/standards-sdk.es128.js.map +1 -1
  79. package/dist/es/standards-sdk.es129.js +61 -164
  80. package/dist/es/standards-sdk.es129.js.map +1 -1
  81. package/dist/es/standards-sdk.es13.js +200 -60
  82. package/dist/es/standards-sdk.es13.js.map +1 -1
  83. package/dist/es/standards-sdk.es130.js +102 -85
  84. package/dist/es/standards-sdk.es130.js.map +1 -1
  85. package/dist/es/standards-sdk.es131.js +222 -96
  86. package/dist/es/standards-sdk.es131.js.map +1 -1
  87. package/dist/es/standards-sdk.es132.js +153 -220
  88. package/dist/es/standards-sdk.es132.js.map +1 -1
  89. package/dist/es/standards-sdk.es133.js +104 -162
  90. package/dist/es/standards-sdk.es133.js.map +1 -1
  91. package/dist/es/standards-sdk.es134.js +296 -92
  92. package/dist/es/standards-sdk.es134.js.map +1 -1
  93. package/dist/es/standards-sdk.es135.js +432 -294
  94. package/dist/es/standards-sdk.es135.js.map +1 -1
  95. package/dist/es/standards-sdk.es136.js +14 -461
  96. package/dist/es/standards-sdk.es136.js.map +1 -1
  97. package/dist/es/standards-sdk.es137.js +79 -15
  98. package/dist/es/standards-sdk.es137.js.map +1 -1
  99. package/dist/es/standards-sdk.es138.js +77 -71
  100. package/dist/es/standards-sdk.es138.js.map +1 -1
  101. package/dist/es/standards-sdk.es139.js +152 -80
  102. package/dist/es/standards-sdk.es139.js.map +1 -1
  103. package/dist/es/standards-sdk.es14.js +149 -178
  104. package/dist/es/standards-sdk.es14.js.map +1 -1
  105. package/dist/es/standards-sdk.es140.js +7 -159
  106. package/dist/es/standards-sdk.es140.js.map +1 -1
  107. package/dist/es/standards-sdk.es141.js +86 -7
  108. package/dist/es/standards-sdk.es141.js.map +1 -1
  109. package/dist/es/standards-sdk.es142.js +44 -65
  110. package/dist/es/standards-sdk.es142.js.map +1 -1
  111. package/dist/es/standards-sdk.es143.js +30 -65
  112. package/dist/es/standards-sdk.es143.js.map +1 -1
  113. package/dist/es/standards-sdk.es144.js +34 -30
  114. package/dist/es/standards-sdk.es144.js.map +1 -1
  115. package/dist/es/standards-sdk.es145.js +28 -34
  116. package/dist/es/standards-sdk.es145.js.map +1 -1
  117. package/dist/es/standards-sdk.es146.js +138 -28
  118. package/dist/es/standards-sdk.es146.js.map +1 -1
  119. package/dist/es/standards-sdk.es147.js +37 -133
  120. package/dist/es/standards-sdk.es147.js.map +1 -1
  121. package/dist/es/standards-sdk.es148.js +12280 -33
  122. package/dist/es/standards-sdk.es148.js.map +1 -1
  123. package/dist/es/standards-sdk.es149.js +1 -1
  124. package/dist/es/standards-sdk.es15.js +152 -151
  125. package/dist/es/standards-sdk.es15.js.map +1 -1
  126. package/dist/es/standards-sdk.es150.js +12 -12284
  127. package/dist/es/standards-sdk.es150.js.map +1 -1
  128. package/dist/es/standards-sdk.es151.js +54 -15
  129. package/dist/es/standards-sdk.es151.js.map +1 -1
  130. package/dist/es/standards-sdk.es152.js +72 -160
  131. package/dist/es/standards-sdk.es152.js.map +1 -1
  132. package/dist/es/standards-sdk.es153.js +139 -289
  133. package/dist/es/standards-sdk.es153.js.map +1 -1
  134. package/dist/es/standards-sdk.es154.js +274 -298
  135. package/dist/es/standards-sdk.es154.js.map +1 -1
  136. package/dist/es/standards-sdk.es155.js +262 -369
  137. package/dist/es/standards-sdk.es155.js.map +1 -1
  138. package/dist/es/standards-sdk.es156.js +316 -194
  139. package/dist/es/standards-sdk.es156.js.map +1 -1
  140. package/dist/es/standards-sdk.es157.js +319 -64
  141. package/dist/es/standards-sdk.es157.js.map +1 -1
  142. package/dist/es/standards-sdk.es158.js +69 -49
  143. package/dist/es/standards-sdk.es158.js.map +1 -1
  144. package/dist/es/standards-sdk.es159.js +222 -65
  145. package/dist/es/standards-sdk.es159.js.map +1 -1
  146. package/dist/es/standards-sdk.es16.js +917 -136
  147. package/dist/es/standards-sdk.es16.js.map +1 -1
  148. package/dist/es/standards-sdk.es160.js +223 -218
  149. package/dist/es/standards-sdk.es160.js.map +1 -1
  150. package/dist/es/standards-sdk.es17.js +23 -948
  151. package/dist/es/standards-sdk.es17.js.map +1 -1
  152. package/dist/es/standards-sdk.es18.js +2422 -24
  153. package/dist/es/standards-sdk.es18.js.map +1 -1
  154. package/dist/es/standards-sdk.es19.js +818 -2092
  155. package/dist/es/standards-sdk.es19.js.map +1 -1
  156. package/dist/es/standards-sdk.es2.js +654 -189
  157. package/dist/es/standards-sdk.es2.js.map +1 -1
  158. package/dist/es/standards-sdk.es20.js +205 -1092
  159. package/dist/es/standards-sdk.es20.js.map +1 -1
  160. package/dist/es/standards-sdk.es21.js +858 -221
  161. package/dist/es/standards-sdk.es21.js.map +1 -1
  162. package/dist/es/standards-sdk.es22.js +179 -903
  163. package/dist/es/standards-sdk.es22.js.map +1 -1
  164. package/dist/es/standards-sdk.es23.js +164 -179
  165. package/dist/es/standards-sdk.es23.js.map +1 -1
  166. package/dist/es/standards-sdk.es24.js +62 -118
  167. package/dist/es/standards-sdk.es24.js.map +1 -1
  168. package/dist/es/standards-sdk.es25.js +377 -57
  169. package/dist/es/standards-sdk.es25.js.map +1 -1
  170. package/dist/es/standards-sdk.es26.js +36 -394
  171. package/dist/es/standards-sdk.es26.js.map +1 -1
  172. package/dist/es/standards-sdk.es27.js +901 -50
  173. package/dist/es/standards-sdk.es27.js.map +1 -1
  174. package/dist/es/standards-sdk.es28.js +134 -922
  175. package/dist/es/standards-sdk.es28.js.map +1 -1
  176. package/dist/es/standards-sdk.es29.js +7 -134
  177. package/dist/es/standards-sdk.es29.js.map +1 -1
  178. package/dist/es/standards-sdk.es3.js +63 -680
  179. package/dist/es/standards-sdk.es3.js.map +1 -1
  180. package/dist/es/standards-sdk.es30.js +344 -7
  181. package/dist/es/standards-sdk.es30.js.map +1 -1
  182. package/dist/es/standards-sdk.es31.js +302 -287
  183. package/dist/es/standards-sdk.es31.js.map +1 -1
  184. package/dist/es/standards-sdk.es32.js +94 -322
  185. package/dist/es/standards-sdk.es32.js.map +1 -1
  186. package/dist/es/standards-sdk.es33.js +458 -101
  187. package/dist/es/standards-sdk.es33.js.map +1 -1
  188. package/dist/es/standards-sdk.es34.js +132 -451
  189. package/dist/es/standards-sdk.es34.js.map +1 -1
  190. package/dist/es/standards-sdk.es35.js +216 -130
  191. package/dist/es/standards-sdk.es35.js.map +1 -1
  192. package/dist/es/standards-sdk.es36.js +273 -196
  193. package/dist/es/standards-sdk.es36.js.map +1 -1
  194. package/dist/es/standards-sdk.es37.js +148 -87
  195. package/dist/es/standards-sdk.es37.js.map +1 -1
  196. package/dist/es/standards-sdk.es38.js +183 -320
  197. package/dist/es/standards-sdk.es38.js.map +1 -1
  198. package/dist/es/standards-sdk.es39.js +238 -161
  199. package/dist/es/standards-sdk.es39.js.map +1 -1
  200. package/dist/es/standards-sdk.es4.js +425 -63
  201. package/dist/es/standards-sdk.es4.js.map +1 -1
  202. package/dist/es/standards-sdk.es40.js +136 -254
  203. package/dist/es/standards-sdk.es40.js.map +1 -1
  204. package/dist/es/standards-sdk.es41.js +225 -176
  205. package/dist/es/standards-sdk.es41.js.map +1 -1
  206. package/dist/es/standards-sdk.es42.js +199 -261
  207. package/dist/es/standards-sdk.es42.js.map +1 -1
  208. package/dist/es/standards-sdk.es43.js +237 -199
  209. package/dist/es/standards-sdk.es43.js.map +1 -1
  210. package/dist/es/standards-sdk.es44.js +209 -201
  211. package/dist/es/standards-sdk.es44.js.map +1 -1
  212. package/dist/es/standards-sdk.es45.js +305 -201
  213. package/dist/es/standards-sdk.es45.js.map +1 -1
  214. package/dist/es/standards-sdk.es46.js +371 -261
  215. package/dist/es/standards-sdk.es46.js.map +1 -1
  216. package/dist/es/standards-sdk.es47.js +316 -372
  217. package/dist/es/standards-sdk.es47.js.map +1 -1
  218. package/dist/es/standards-sdk.es48.js +404 -336
  219. package/dist/es/standards-sdk.es48.js.map +1 -1
  220. package/dist/es/standards-sdk.es49.js +83 -449
  221. package/dist/es/standards-sdk.es49.js.map +1 -1
  222. package/dist/es/standards-sdk.es5.js +232 -354
  223. package/dist/es/standards-sdk.es5.js.map +1 -1
  224. package/dist/es/standards-sdk.es50.js +179 -89
  225. package/dist/es/standards-sdk.es50.js.map +1 -1
  226. package/dist/es/standards-sdk.es51.js +231 -165
  227. package/dist/es/standards-sdk.es51.js.map +1 -1
  228. package/dist/es/standards-sdk.es52.js +25 -262
  229. package/dist/es/standards-sdk.es52.js.map +1 -1
  230. package/dist/es/standards-sdk.es53.js +56 -26
  231. package/dist/es/standards-sdk.es53.js.map +1 -1
  232. package/dist/es/standards-sdk.es54.js +12 -57
  233. package/dist/es/standards-sdk.es54.js.map +1 -1
  234. package/dist/es/standards-sdk.es55.js +49 -12
  235. package/dist/es/standards-sdk.es55.js.map +1 -1
  236. package/dist/es/standards-sdk.es56.js +115 -43
  237. package/dist/es/standards-sdk.es56.js.map +1 -1
  238. package/dist/es/standards-sdk.es57.js +42 -115
  239. package/dist/es/standards-sdk.es57.js.map +1 -1
  240. package/dist/es/standards-sdk.es58.js +52 -43
  241. package/dist/es/standards-sdk.es58.js.map +1 -1
  242. package/dist/es/standards-sdk.es59.js +36 -50
  243. package/dist/es/standards-sdk.es59.js.map +1 -1
  244. package/dist/es/standards-sdk.es6.js +125 -246
  245. package/dist/es/standards-sdk.es6.js.map +1 -1
  246. package/dist/es/standards-sdk.es60.js +207 -39
  247. package/dist/es/standards-sdk.es60.js.map +1 -1
  248. package/dist/es/standards-sdk.es61.js +24 -201
  249. package/dist/es/standards-sdk.es61.js.map +1 -1
  250. package/dist/es/standards-sdk.es62.js +87 -25
  251. package/dist/es/standards-sdk.es62.js.map +1 -1
  252. package/dist/es/standards-sdk.es63.js +3 -51
  253. package/dist/es/standards-sdk.es63.js.map +1 -1
  254. package/dist/es/standards-sdk.es64.js +100 -3
  255. package/dist/es/standards-sdk.es64.js.map +1 -1
  256. package/dist/es/standards-sdk.es65.js +61 -62
  257. package/dist/es/standards-sdk.es65.js.map +1 -1
  258. package/dist/es/standards-sdk.es66.js +17 -98
  259. package/dist/es/standards-sdk.es66.js.map +1 -1
  260. package/dist/es/standards-sdk.es67.js +77 -19
  261. package/dist/es/standards-sdk.es67.js.map +1 -1
  262. package/dist/es/standards-sdk.es68.js +458 -77
  263. package/dist/es/standards-sdk.es68.js.map +1 -1
  264. package/dist/es/standards-sdk.es69.js +106 -240
  265. package/dist/es/standards-sdk.es69.js.map +1 -1
  266. package/dist/es/standards-sdk.es7.js +28 -183
  267. package/dist/es/standards-sdk.es7.js.map +1 -1
  268. package/dist/es/standards-sdk.es70.js +170 -286
  269. package/dist/es/standards-sdk.es70.js.map +1 -1
  270. package/dist/es/standards-sdk.es71.js +71 -207
  271. package/dist/es/standards-sdk.es71.js.map +1 -1
  272. package/dist/es/standards-sdk.es72.js +71 -72
  273. package/dist/es/standards-sdk.es72.js.map +1 -1
  274. package/dist/es/standards-sdk.es73.js +143 -71
  275. package/dist/es/standards-sdk.es73.js.map +1 -1
  276. package/dist/es/standards-sdk.es74.js +62 -136
  277. package/dist/es/standards-sdk.es74.js.map +1 -1
  278. package/dist/es/standards-sdk.es75.js +380 -45
  279. package/dist/es/standards-sdk.es75.js.map +1 -1
  280. package/dist/es/standards-sdk.es76.js +222 -130
  281. package/dist/es/standards-sdk.es76.js.map +1 -1
  282. package/dist/es/standards-sdk.es77.js +320 -444
  283. package/dist/es/standards-sdk.es77.js.map +1 -1
  284. package/dist/es/standards-sdk.es78.js +88 -371
  285. package/dist/es/standards-sdk.es78.js.map +1 -1
  286. package/dist/es/standards-sdk.es79.js +125 -89
  287. package/dist/es/standards-sdk.es79.js.map +1 -1
  288. package/dist/es/standards-sdk.es8.js +80 -29
  289. package/dist/es/standards-sdk.es8.js.map +1 -1
  290. package/dist/es/standards-sdk.es80.js +8 -125
  291. package/dist/es/standards-sdk.es80.js.map +1 -1
  292. package/dist/es/standards-sdk.es81.js +45 -6
  293. package/dist/es/standards-sdk.es81.js.map +1 -1
  294. package/dist/es/standards-sdk.es82.js +98 -44
  295. package/dist/es/standards-sdk.es82.js.map +1 -1
  296. package/dist/es/standards-sdk.es83.js +331 -84
  297. package/dist/es/standards-sdk.es83.js.map +1 -1
  298. package/dist/es/standards-sdk.es84.js +93 -160
  299. package/dist/es/standards-sdk.es84.js.map +1 -1
  300. package/dist/es/standards-sdk.es85.js +55 -275
  301. package/dist/es/standards-sdk.es85.js.map +1 -1
  302. package/dist/es/standards-sdk.es86.js +43 -55
  303. package/dist/es/standards-sdk.es86.js.map +1 -1
  304. package/dist/es/standards-sdk.es87.js +145 -44
  305. package/dist/es/standards-sdk.es87.js.map +1 -1
  306. package/dist/es/standards-sdk.es88.js +30 -113
  307. package/dist/es/standards-sdk.es88.js.map +1 -1
  308. package/dist/es/standards-sdk.es89.js +22 -59
  309. package/dist/es/standards-sdk.es89.js.map +1 -1
  310. package/dist/es/standards-sdk.es9.js +104 -80
  311. package/dist/es/standards-sdk.es9.js.map +1 -1
  312. package/dist/es/standards-sdk.es90.js +23 -28
  313. package/dist/es/standards-sdk.es90.js.map +1 -1
  314. package/dist/es/standards-sdk.es91.js +238 -23
  315. package/dist/es/standards-sdk.es91.js.map +1 -1
  316. package/dist/es/standards-sdk.es92.js +267 -225
  317. package/dist/es/standards-sdk.es92.js.map +1 -1
  318. package/dist/es/standards-sdk.es93.js +95 -220
  319. package/dist/es/standards-sdk.es93.js.map +1 -1
  320. package/dist/es/standards-sdk.es94.js +124 -136
  321. package/dist/es/standards-sdk.es94.js.map +1 -1
  322. package/dist/es/standards-sdk.es95.js +42 -138
  323. package/dist/es/standards-sdk.es95.js.map +1 -1
  324. package/dist/es/standards-sdk.es96.js +259 -43
  325. package/dist/es/standards-sdk.es96.js.map +1 -1
  326. package/dist/es/standards-sdk.es97.js +82 -245
  327. package/dist/es/standards-sdk.es97.js.map +1 -1
  328. package/dist/es/standards-sdk.es98.js +49 -50
  329. package/dist/es/standards-sdk.es98.js.map +1 -1
  330. package/dist/es/standards-sdk.es99.js +29 -100
  331. package/dist/es/standards-sdk.es99.js.map +1 -1
  332. package/dist/es/utils/dynamic-import.d.ts +5 -1
  333. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  334. package/package.json +4 -4
  335. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  336. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  337. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  338. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
  339. package/dist/es/standards-sdk.es161.js +0 -247
  340. package/dist/es/standards-sdk.es161.js.map +0 -1
@@ -1,83 +1,107 @@
1
- import { z } from "zod";
2
- var HCS7Operation = /* @__PURE__ */ ((HCS7Operation2) => {
3
- HCS7Operation2["REGISTER_CONFIG"] = "register-config";
4
- HCS7Operation2["REGISTER"] = "register";
5
- return HCS7Operation2;
6
- })(HCS7Operation || {});
7
- var HCS7ConfigType = /* @__PURE__ */ ((HCS7ConfigType2) => {
8
- HCS7ConfigType2["EVM"] = "evm";
9
- HCS7ConfigType2["WASM"] = "wasm";
10
- return HCS7ConfigType2;
11
- })(HCS7ConfigType || {});
12
- const abiIOSchema = z.object({
13
- name: z.string().optional(),
14
- type: z.string()
15
- });
16
- const abiSchema = z.object({
17
- name: z.string(),
18
- inputs: z.array(abiIOSchema),
19
- outputs: z.array(abiIOSchema),
20
- stateMutability: z.enum(["view", "pure"]),
21
- type: z.literal("function")
22
- });
23
- const stateValueSchema = z.enum(["number", "string", "bool"]);
24
- const baseMessageSchema = z.object({
25
- p: z.literal("hcs-7"),
26
- m: z.string().optional()
27
- });
28
- const evmMessageSchema = baseMessageSchema.extend({
29
- op: z.literal(
30
- "register-config"
31
- /* REGISTER_CONFIG */
32
- ),
33
- t: z.literal(
34
- "evm"
35
- /* EVM */
36
- ),
37
- c: z.object({
38
- contractAddress: z.string().regex(/^0x[a-fA-F0-9]{40}$/, "Invalid contract address"),
39
- abi: abiSchema
40
- })
41
- });
42
- const wasmMessageSchema = baseMessageSchema.extend({
43
- op: z.literal(
44
- "register-config"
45
- /* REGISTER_CONFIG */
46
- ),
47
- t: z.literal(
48
- "wasm"
49
- /* WASM */
50
- ),
51
- c: z.object({
52
- wasmTopicId: z.string(),
53
- inputType: z.object({
54
- stateData: z.record(stateValueSchema)
55
- }),
56
- outputType: z.object({
57
- type: z.literal("string"),
58
- format: z.literal("topic-id")
59
- })
60
- })
61
- });
62
- const metadataMessageSchema = baseMessageSchema.extend({
63
- op: z.literal(
64
- "register"
65
- /* REGISTER */
66
- ),
67
- t_id: z.string(),
68
- d: z.object({
69
- weight: z.number(),
70
- tags: z.array(z.string()).nonempty()
71
- }).catchall(z.unknown())
72
- });
73
- const hcs7MessageSchema = z.union([
74
- evmMessageSchema,
75
- wasmMessageSchema,
76
- metadataMessageSchema
77
- ]);
1
+ import { Logger } from "./standards-sdk.es105.js";
2
+ import { HederaMirrorNode } from "./standards-sdk.es126.js";
3
+ import { HCS7ConfigType, HCS7Operation, hcs7MessageSchema } from "./standards-sdk.es8.js";
4
+ class HCS7BaseClient {
5
+ constructor(config) {
6
+ this.network = config.network;
7
+ this.logger = config.logger || Logger.getInstance({
8
+ level: config.logLevel || "info",
9
+ module: "HCS7Client",
10
+ silent: config.silent
11
+ });
12
+ this.mirrorNode = new HederaMirrorNode(
13
+ this.network,
14
+ this.logger,
15
+ config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : void 0
16
+ );
17
+ }
18
+ generateRegistryMemo(ttl) {
19
+ return `hcs-7:indexed:${ttl}`;
20
+ }
21
+ createConfigMessage(params) {
22
+ if (params.config.type === HCS7ConfigType.EVM) {
23
+ return {
24
+ p: "hcs-7",
25
+ op: HCS7Operation.REGISTER_CONFIG,
26
+ t: HCS7ConfigType.EVM,
27
+ c: {
28
+ contractAddress: params.config.contractAddress,
29
+ abi: params.config.abi
30
+ },
31
+ m: params.memo
32
+ };
33
+ }
34
+ return {
35
+ p: "hcs-7",
36
+ op: HCS7Operation.REGISTER_CONFIG,
37
+ t: HCS7ConfigType.WASM,
38
+ c: {
39
+ wasmTopicId: params.config.wasmTopicId,
40
+ inputType: params.config.inputType,
41
+ outputType: params.config.outputType
42
+ },
43
+ m: params.memo
44
+ };
45
+ }
46
+ createMetadataMessage(options) {
47
+ return {
48
+ p: "hcs-7",
49
+ op: HCS7Operation.REGISTER,
50
+ t_id: options.metadataTopicId,
51
+ m: options.memo,
52
+ d: {
53
+ weight: options.weight,
54
+ tags: options.tags,
55
+ ...options.data || {}
56
+ }
57
+ };
58
+ }
59
+ validateMessage(message) {
60
+ const parsed = hcs7MessageSchema.safeParse(message);
61
+ if (parsed.success) {
62
+ return { valid: true, errors: [] };
63
+ }
64
+ const errors = parsed.error.errors.map((err) => {
65
+ const path = err.path.join(".");
66
+ return path ? `${path}: ${err.message}` : err.message;
67
+ });
68
+ this.logger.debug(`HCS-7 message validation failed: ${errors.join(", ")}`);
69
+ return { valid: false, errors };
70
+ }
71
+ async getRegistry(topicId, options) {
72
+ const entries = [];
73
+ try {
74
+ const messages = await this.mirrorNode.getTopicMessages(topicId, {
75
+ limit: options?.limit,
76
+ order: options?.order,
77
+ sequenceNumber: options?.next
78
+ });
79
+ for (const message of messages) {
80
+ if (message.p !== "hcs-7") {
81
+ continue;
82
+ }
83
+ const parsed = hcs7MessageSchema.safeParse(message);
84
+ if (!parsed.success) {
85
+ continue;
86
+ }
87
+ const typedMessage = parsed.data;
88
+ entries.push({
89
+ sequenceNumber: Number(message.sequence_number),
90
+ timestamp: message.consensus_timestamp || "",
91
+ payer: message.payer || "",
92
+ message: typedMessage
93
+ });
94
+ }
95
+ } catch (error) {
96
+ this.logger.error("Failed to query HCS-7 registry", error);
97
+ }
98
+ return {
99
+ topicId,
100
+ entries
101
+ };
102
+ }
103
+ }
78
104
  export {
79
- HCS7ConfigType,
80
- HCS7Operation,
81
- hcs7MessageSchema
105
+ HCS7BaseClient
82
106
  };
83
107
  //# sourceMappingURL=standards-sdk.es9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es9.js","sources":["../../src/hcs-7/types.ts"],"sourcesContent":["import { AccountId, PrivateKey, TransactionReceipt } from '@hashgraph/sdk';\nimport { z } from 'zod';\nimport { Logger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\n\nexport enum HCS7Operation {\n REGISTER_CONFIG = 'register-config',\n REGISTER = 'register',\n}\n\nexport enum HCS7ConfigType {\n EVM = 'evm',\n WASM = 'wasm',\n}\n\nexport type HCS7StateValueType = 'number' | 'string' | 'bool';\n\nexport interface HCS7AbiIO {\n name?: string;\n type: string;\n}\n\nexport interface HCS7AbiDefinition {\n name: string;\n inputs: HCS7AbiIO[];\n outputs: HCS7AbiIO[];\n stateMutability: 'view' | 'pure';\n type: 'function';\n}\n\nexport interface HCS7BaseMessage {\n p: 'hcs-7';\n op: HCS7Operation;\n m?: string;\n}\n\nexport interface HCS7EvmConfigMessage extends HCS7BaseMessage {\n op: HCS7Operation.REGISTER_CONFIG;\n t: HCS7ConfigType.EVM;\n c: {\n contractAddress: string;\n abi: HCS7AbiDefinition;\n };\n}\n\nexport interface HCS7WasmConfigMessage extends HCS7BaseMessage {\n op: HCS7Operation.REGISTER_CONFIG;\n t: HCS7ConfigType.WASM;\n c: {\n wasmTopicId: string;\n inputType: {\n stateData: Record<string, HCS7StateValueType>;\n };\n outputType: {\n type: 'string';\n format: 'topic-id';\n };\n };\n}\n\nexport interface HCS7MetadataRegistrationMessage extends HCS7BaseMessage {\n op: HCS7Operation.REGISTER;\n t_id: string;\n d: {\n weight: number;\n tags: string[];\n [key: string]: unknown;\n };\n}\n\nexport type HCS7Message =\n | HCS7EvmConfigMessage\n | HCS7WasmConfigMessage\n | HCS7MetadataRegistrationMessage;\n\nexport interface HCS7ClientConfig {\n network: NetworkType;\n logLevel?: LogLevel;\n silent?: boolean;\n mirrorNodeUrl?: string;\n logger?: Logger;\n}\n\nexport interface SDKHCS7ClientConfig extends HCS7ClientConfig {\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n}\n\nexport interface HCS7TopicRegistrationResponse {\n success: boolean;\n topicId?: string;\n transactionId?: string;\n error?: string;\n}\n\nexport interface HCS7RegistryOperationResponse {\n success: boolean;\n receipt?: TransactionReceipt;\n transactionId?: string;\n sequenceNumber?: number;\n error?: string;\n}\n\nexport interface HCS7CreateRegistryOptions {\n ttl?: number;\n submitKey?: string | boolean | PrivateKey;\n adminKey?: string | boolean | PrivateKey;\n}\n\nexport interface HCS7RegisterEvmConfigInput {\n type: HCS7ConfigType.EVM;\n contractAddress: string;\n abi: HCS7AbiDefinition;\n}\n\nexport interface HCS7RegisterWasmConfigInput {\n type: HCS7ConfigType.WASM;\n wasmTopicId: string;\n inputType: {\n stateData: Record<string, HCS7StateValueType>;\n };\n outputType: {\n type: 'string';\n format: 'topic-id';\n };\n}\n\nexport type HCS7RegisterConfigInput =\n | HCS7RegisterEvmConfigInput\n | HCS7RegisterWasmConfigInput;\n\nexport interface HCS7RegisterConfigOptions {\n registryTopicId: string;\n memo?: string;\n transactionMemo?: string;\n submitKey?: string | PrivateKey;\n config: HCS7RegisterConfigInput;\n}\n\nexport interface HCS7RegisterMetadataOptions {\n registryTopicId: string;\n metadataTopicId: string;\n memo?: string;\n weight: number;\n tags: string[];\n transactionMemo?: string;\n submitKey?: string | PrivateKey;\n data?: Record<string, unknown>;\n}\n\nexport interface HCS7RegistryEntry<TMessage extends HCS7Message = HCS7Message> {\n sequenceNumber: number;\n timestamp: string;\n payer: string;\n message: TMessage;\n}\n\nexport interface HCS7RegistryTopic {\n topicId: string;\n ttl?: number;\n entries: HCS7RegistryEntry[];\n}\n\nexport interface HCS7QueryRegistryOptions {\n limit?: number;\n order?: 'asc' | 'desc';\n next?: string;\n}\n\nconst abiIOSchema = z.object({\n name: z.string().optional(),\n type: z.string(),\n});\n\nconst abiSchema = z.object({\n name: z.string(),\n inputs: z.array(abiIOSchema),\n outputs: z.array(abiIOSchema),\n stateMutability: z.enum(['view', 'pure']),\n type: z.literal('function'),\n});\n\nconst stateValueSchema = z.enum(['number', 'string', 'bool']);\n\nconst baseMessageSchema = z.object({\n p: z.literal('hcs-7'),\n m: z.string().optional(),\n});\n\nconst evmMessageSchema = baseMessageSchema.extend({\n op: z.literal(HCS7Operation.REGISTER_CONFIG),\n t: z.literal(HCS7ConfigType.EVM),\n c: z.object({\n contractAddress: z\n .string()\n .regex(/^0x[a-fA-F0-9]{40}$/, 'Invalid contract address'),\n abi: abiSchema,\n }),\n});\n\nconst wasmMessageSchema = baseMessageSchema.extend({\n op: z.literal(HCS7Operation.REGISTER_CONFIG),\n t: z.literal(HCS7ConfigType.WASM),\n c: z.object({\n wasmTopicId: z.string(),\n inputType: z.object({\n stateData: z.record(stateValueSchema),\n }),\n outputType: z.object({\n type: z.literal('string'),\n format: z.literal('topic-id'),\n }),\n }),\n});\n\nconst metadataMessageSchema = baseMessageSchema.extend({\n op: z.literal(HCS7Operation.REGISTER),\n t_id: z.string(),\n d: z\n .object({\n weight: z.number(),\n tags: z.array(z.string()).nonempty(),\n })\n .catchall(z.unknown()),\n});\n\nexport const hcs7MessageSchema = z.union([\n evmMessageSchema,\n wasmMessageSchema,\n metadataMessageSchema,\n]);\n"],"names":["HCS7Operation","HCS7ConfigType"],"mappings":";AAKO,IAAK,kCAAAA,mBAAL;AACLA,iBAAA,iBAAA,IAAkB;AAClBA,iBAAA,UAAA,IAAW;AAFD,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAKL,IAAK,mCAAAC,oBAAL;AACLA,kBAAA,KAAA,IAAM;AACNA,kBAAA,MAAA,IAAO;AAFG,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAgKZ,MAAM,cAAc,EAAE,OAAO;AAAA,EAC3B,MAAM,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,MAAM,EAAE,OAAA;AACV,CAAC;AAED,MAAM,YAAY,EAAE,OAAO;AAAA,EACzB,MAAM,EAAE,OAAA;AAAA,EACR,QAAQ,EAAE,MAAM,WAAW;AAAA,EAC3B,SAAS,EAAE,MAAM,WAAW;AAAA,EAC5B,iBAAiB,EAAE,KAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,EACxC,MAAM,EAAE,QAAQ,UAAU;AAC5B,CAAC;AAED,MAAM,mBAAmB,EAAE,KAAK,CAAC,UAAU,UAAU,MAAM,CAAC;AAE5D,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACjC,GAAG,EAAE,QAAQ,OAAO;AAAA,EACpB,GAAG,EAAE,OAAA,EAAS,SAAA;AAChB,CAAC;AAED,MAAM,mBAAmB,kBAAkB,OAAO;AAAA,EAChD,IAAI,EAAE;AAAA,IAAQ;AAAA;AAAA,EAAA;AAAA,EACd,GAAG,EAAE;AAAA,IAAQ;AAAA;AAAA,EAAA;AAAA,EACb,GAAG,EAAE,OAAO;AAAA,IACV,iBAAiB,EACd,OAAA,EACA,MAAM,uBAAuB,0BAA0B;AAAA,IAC1D,KAAK;AAAA,EAAA,CACN;AACH,CAAC;AAED,MAAM,oBAAoB,kBAAkB,OAAO;AAAA,EACjD,IAAI,EAAE;AAAA,IAAQ;AAAA;AAAA,EAAA;AAAA,EACd,GAAG,EAAE;AAAA,IAAQ;AAAA;AAAA,EAAA;AAAA,EACb,GAAG,EAAE,OAAO;AAAA,IACV,aAAa,EAAE,OAAA;AAAA,IACf,WAAW,EAAE,OAAO;AAAA,MAClB,WAAW,EAAE,OAAO,gBAAgB;AAAA,IAAA,CACrC;AAAA,IACD,YAAY,EAAE,OAAO;AAAA,MACnB,MAAM,EAAE,QAAQ,QAAQ;AAAA,MACxB,QAAQ,EAAE,QAAQ,UAAU;AAAA,IAAA,CAC7B;AAAA,EAAA,CACF;AACH,CAAC;AAED,MAAM,wBAAwB,kBAAkB,OAAO;AAAA,EACrD,IAAI,EAAE;AAAA,IAAQ;AAAA;AAAA,EAAA;AAAA,EACd,MAAM,EAAE,OAAA;AAAA,EACR,GAAG,EACA,OAAO;AAAA,IACN,QAAQ,EAAE,OAAA;AAAA,IACV,MAAM,EAAE,MAAM,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAAS,CACpC,EACA,SAAS,EAAE,SAAS;AACzB,CAAC;AAEM,MAAM,oBAAoB,EAAE,MAAM;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACF,CAAC;"}
1
+ {"version":3,"file":"standards-sdk.es9.js","sources":["../../src/hcs-7/base-client.ts"],"sourcesContent":["import { ILogger, Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport {\n HCS7ClientConfig,\n HCS7ConfigType,\n HCS7Message,\n HCS7RegisterConfigInput,\n HCS7RegisterMetadataOptions,\n HCS7RegistryEntry,\n HCS7RegistryTopic,\n HCS7QueryRegistryOptions,\n HCS7Operation,\n hcs7MessageSchema,\n HCS7EvmConfigMessage,\n HCS7WasmConfigMessage,\n HCS7MetadataRegistrationMessage,\n} from './types';\n\nexport class HCS7BaseClient {\n protected readonly network: NetworkType;\n protected readonly logger: ILogger;\n protected readonly mirrorNode: HederaMirrorNode;\n\n constructor(config: HCS7ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS7Client',\n silent: config.silent,\n });\n this.mirrorNode = new HederaMirrorNode(\n this.network,\n this.logger,\n config.mirrorNodeUrl ? { customUrl: config.mirrorNodeUrl } : undefined,\n );\n }\n\n protected generateRegistryMemo(ttl: number): string {\n return `hcs-7:indexed:${ttl}`;\n }\n\n protected createConfigMessage(params: {\n config: HCS7RegisterConfigInput;\n memo?: string;\n }): HCS7EvmConfigMessage | HCS7WasmConfigMessage {\n if (params.config.type === HCS7ConfigType.EVM) {\n return {\n p: 'hcs-7',\n op: HCS7Operation.REGISTER_CONFIG,\n t: HCS7ConfigType.EVM,\n c: {\n contractAddress: params.config.contractAddress,\n abi: params.config.abi,\n },\n m: params.memo,\n };\n }\n return {\n p: 'hcs-7',\n op: HCS7Operation.REGISTER_CONFIG,\n t: HCS7ConfigType.WASM,\n c: {\n wasmTopicId: params.config.wasmTopicId,\n inputType: params.config.inputType,\n outputType: params.config.outputType,\n },\n m: params.memo,\n };\n }\n\n protected createMetadataMessage(\n options: HCS7RegisterMetadataOptions,\n ): HCS7MetadataRegistrationMessage {\n return {\n p: 'hcs-7',\n op: HCS7Operation.REGISTER,\n t_id: options.metadataTopicId,\n m: options.memo,\n d: {\n weight: options.weight,\n tags: options.tags,\n ...(options.data || {}),\n },\n };\n }\n\n protected validateMessage(message: HCS7Message): {\n valid: boolean;\n errors: string[];\n } {\n const parsed = hcs7MessageSchema.safeParse(message);\n if (parsed.success) {\n return { valid: true, errors: [] };\n }\n const errors = parsed.error.errors.map(err => {\n const path = err.path.join('.');\n return path ? `${path}: ${err.message}` : err.message;\n });\n this.logger.debug(`HCS-7 message validation failed: ${errors.join(', ')}`);\n return { valid: false, errors };\n }\n\n public async getRegistry(\n topicId: string,\n options?: HCS7QueryRegistryOptions,\n ): Promise<HCS7RegistryTopic> {\n const entries: HCS7RegistryEntry[] = [];\n try {\n const messages = await this.mirrorNode.getTopicMessages(topicId, {\n limit: options?.limit,\n order: options?.order,\n sequenceNumber: options?.next,\n });\n for (const message of messages) {\n if (message.p !== 'hcs-7') {\n continue;\n }\n const parsed = hcs7MessageSchema.safeParse(message);\n if (!parsed.success) {\n continue;\n }\n const typedMessage = parsed.data as HCS7Message;\n entries.push({\n sequenceNumber: Number(message.sequence_number),\n timestamp: message.consensus_timestamp || '',\n payer: message.payer || '',\n message: typedMessage,\n });\n }\n } catch (error) {\n this.logger.error('Failed to query HCS-7 registry', error);\n }\n return {\n topicId,\n entries,\n };\n }\n}\n"],"names":[],"mappings":";;;AAmBO,MAAM,eAAe;AAAA,EAK1B,YAAY,QAA0B;AACpC,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UACP,OAAO,YAAY;AAAA,MACjB,OAAO,OAAO,YAAY;AAAA,MAC1B,QAAQ;AAAA,MACR,QAAQ,OAAO;AAAA,IAAA,CAChB;AACH,SAAK,aAAa,IAAI;AAAA,MACpB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO,gBAAgB,EAAE,WAAW,OAAO,kBAAkB;AAAA,IAAA;AAAA,EAEjE;AAAA,EAEU,qBAAqB,KAAqB;AAClD,WAAO,iBAAiB,GAAG;AAAA,EAC7B;AAAA,EAEU,oBAAoB,QAGmB;AAC/C,QAAI,OAAO,OAAO,SAAS,eAAe,KAAK;AAC7C,aAAO;AAAA,QACL,GAAG;AAAA,QACH,IAAI,cAAc;AAAA,QAClB,GAAG,eAAe;AAAA,QAClB,GAAG;AAAA,UACD,iBAAiB,OAAO,OAAO;AAAA,UAC/B,KAAK,OAAO,OAAO;AAAA,QAAA;AAAA,QAErB,GAAG,OAAO;AAAA,MAAA;AAAA,IAEd;AACA,WAAO;AAAA,MACL,GAAG;AAAA,MACH,IAAI,cAAc;AAAA,MAClB,GAAG,eAAe;AAAA,MAClB,GAAG;AAAA,QACD,aAAa,OAAO,OAAO;AAAA,QAC3B,WAAW,OAAO,OAAO;AAAA,QACzB,YAAY,OAAO,OAAO;AAAA,MAAA;AAAA,MAE5B,GAAG,OAAO;AAAA,IAAA;AAAA,EAEd;AAAA,EAEU,sBACR,SACiC;AACjC,WAAO;AAAA,MACL,GAAG;AAAA,MACH,IAAI,cAAc;AAAA,MAClB,MAAM,QAAQ;AAAA,MACd,GAAG,QAAQ;AAAA,MACX,GAAG;AAAA,QACD,QAAQ,QAAQ;AAAA,QAChB,MAAM,QAAQ;AAAA,QACd,GAAI,QAAQ,QAAQ,CAAA;AAAA,MAAC;AAAA,IACvB;AAAA,EAEJ;AAAA,EAEU,gBAAgB,SAGxB;AACA,UAAM,SAAS,kBAAkB,UAAU,OAAO;AAClD,QAAI,OAAO,SAAS;AAClB,aAAO,EAAE,OAAO,MAAM,QAAQ,CAAA,EAAC;AAAA,IACjC;AACA,UAAM,SAAS,OAAO,MAAM,OAAO,IAAI,CAAA,QAAO;AAC5C,YAAM,OAAO,IAAI,KAAK,KAAK,GAAG;AAC9B,aAAO,OAAO,GAAG,IAAI,KAAK,IAAI,OAAO,KAAK,IAAI;AAAA,IAChD,CAAC;AACD,SAAK,OAAO,MAAM,oCAAoC,OAAO,KAAK,IAAI,CAAC,EAAE;AACzE,WAAO,EAAE,OAAO,OAAO,OAAA;AAAA,EACzB;AAAA,EAEA,MAAa,YACX,SACA,SAC4B;AAC5B,UAAM,UAA+B,CAAA;AACrC,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,WAAW,iBAAiB,SAAS;AAAA,QAC/D,OAAO,SAAS;AAAA,QAChB,OAAO,SAAS;AAAA,QAChB,gBAAgB,SAAS;AAAA,MAAA,CAC1B;AACD,iBAAW,WAAW,UAAU;AAC9B,YAAI,QAAQ,MAAM,SAAS;AACzB;AAAA,QACF;AACA,cAAM,SAAS,kBAAkB,UAAU,OAAO;AAClD,YAAI,CAAC,OAAO,SAAS;AACnB;AAAA,QACF;AACA,cAAM,eAAe,OAAO;AAC5B,gBAAQ,KAAK;AAAA,UACX,gBAAgB,OAAO,QAAQ,eAAe;AAAA,UAC9C,WAAW,QAAQ,uBAAuB;AAAA,UAC1C,OAAO,QAAQ,SAAS;AAAA,UACxB,SAAS;AAAA,QAAA,CACV;AAAA,MACH;AAAA,IACF,SAAS,OAAO;AACd,WAAK,OAAO,MAAM,kCAAkC,KAAK;AAAA,IAC3D;AACA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF;"}
@@ -1,33 +1,28 @@
1
- import { HederaMirrorNode } from "./standards-sdk.es127.js";
2
- import { Logger } from "./standards-sdk.es106.js";
3
- class HCS15BaseClient {
4
- constructor(config) {
5
- this.network = config.network;
6
- this.logger = config.logger || new Logger({
7
- module: "HCS-15",
8
- level: config.logLevel || "info"
9
- });
10
- this.mirrorNode = new HederaMirrorNode(this.network, this.logger, {
11
- customUrl: config.mirrorNodeUrl
12
- });
13
- }
14
- /**
15
- * Verify that a petal account shares the same public key as the base account.
16
- */
17
- async verifyPetalAccount(petalAccountId, baseAccountId) {
18
- try {
19
- const petalInfo = await this.mirrorNode.requestAccount(petalAccountId);
20
- const baseInfo = await this.mirrorNode.requestAccount(baseAccountId);
21
- const petalKey = petalInfo?.key?.key || "";
22
- const baseKey = baseInfo?.key?.key || "";
23
- return petalKey !== "" && petalKey === baseKey;
24
- } catch (e) {
25
- this.logger.warn("verifyPetalAccount failed", { error: String(e) });
26
- return false;
27
- }
1
+ var FloraTopicType = /* @__PURE__ */ ((FloraTopicType2) => {
2
+ FloraTopicType2[FloraTopicType2["COMMUNICATION"] = 0] = "COMMUNICATION";
3
+ FloraTopicType2[FloraTopicType2["TRANSACTION"] = 1] = "TRANSACTION";
4
+ FloraTopicType2[FloraTopicType2["STATE"] = 2] = "STATE";
5
+ return FloraTopicType2;
6
+ })(FloraTopicType || {});
7
+ var FloraOperation = /* @__PURE__ */ ((FloraOperation2) => {
8
+ FloraOperation2["FLORA_CREATED"] = "flora_created";
9
+ FloraOperation2["TRANSACTION"] = "transaction";
10
+ FloraOperation2["STATE_UPDATE"] = "state_update";
11
+ FloraOperation2["FLORA_JOIN_REQUEST"] = "flora_join_request";
12
+ FloraOperation2["FLORA_JOIN_VOTE"] = "flora_join_vote";
13
+ FloraOperation2["FLORA_JOIN_ACCEPTED"] = "flora_join_accepted";
14
+ return FloraOperation2;
15
+ })(FloraOperation || {});
16
+ class FloraError extends Error {
17
+ constructor(message, code) {
18
+ super(message);
19
+ this.code = code;
20
+ this.name = "FloraError";
28
21
  }
29
22
  }
30
23
  export {
31
- HCS15BaseClient
24
+ FloraError,
25
+ FloraOperation,
26
+ FloraTopicType
32
27
  };
33
28
  //# sourceMappingURL=standards-sdk.es90.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es90.js","sources":["../../src/hcs-15/base-client.ts"],"sourcesContent":["import { HederaMirrorNode } from '../services/mirror-node';\nimport { Logger, ILogger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Base client for HCS‑15 shared functionality across Node and Browser clients.\n */\nexport class HCS15BaseClient {\n protected readonly network: NetworkType;\n protected readonly mirrorNode: HederaMirrorNode;\n protected readonly logger: ILogger;\n\n constructor(config: {\n network: NetworkType;\n mirrorNodeUrl?: string;\n logger?: Logger;\n logLevel?: Parameters<Logger['setLogLevel']>[0];\n }) {\n this.network = config.network;\n this.logger =\n config.logger ||\n new Logger({\n module: 'HCS-15',\n level: (config.logLevel as any) || 'info',\n });\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger, {\n customUrl: config.mirrorNodeUrl,\n });\n }\n\n /**\n * Verify that a petal account shares the same public key as the base account.\n */\n public async verifyPetalAccount(\n petalAccountId: string,\n baseAccountId: string,\n ): Promise<boolean> {\n try {\n const petalInfo = await this.mirrorNode.requestAccount(petalAccountId);\n const baseInfo = await this.mirrorNode.requestAccount(baseAccountId);\n const petalKey = petalInfo?.key?.key || '';\n const baseKey = baseInfo?.key?.key || '';\n return petalKey !== '' && petalKey === baseKey;\n } catch (e) {\n this.logger.warn('verifyPetalAccount failed', { error: String(e) });\n return false;\n }\n }\n}\n"],"names":[],"mappings":";;AAOO,MAAM,gBAAgB;AAAA,EAK3B,YAAY,QAKT;AACD,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UACP,IAAI,OAAO;AAAA,MACT,QAAQ;AAAA,MACR,OAAQ,OAAO,YAAoB;AAAA,IAAA,CACpC;AACH,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,QAAQ;AAAA,MAChE,WAAW,OAAO;AAAA,IAAA,CACnB;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,mBACX,gBACA,eACkB;AAClB,QAAI;AACF,YAAM,YAAY,MAAM,KAAK,WAAW,eAAe,cAAc;AACrE,YAAM,WAAW,MAAM,KAAK,WAAW,eAAe,aAAa;AACnE,YAAM,WAAW,WAAW,KAAK,OAAO;AACxC,YAAM,UAAU,UAAU,KAAK,OAAO;AACtC,aAAO,aAAa,MAAM,aAAa;AAAA,IACzC,SAAS,GAAG;AACV,WAAK,OAAO,KAAK,6BAA6B,EAAE,OAAO,OAAO,CAAC,GAAG;AAClE,aAAO;AAAA,IACT;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es90.js","sources":["../../src/hcs-16/types.ts"],"sourcesContent":["import {\n AccountId,\n TopicId,\n PublicKey,\n Key,\n PrivateKey,\n KeyList,\n TokenId,\n} from '@hashgraph/sdk';\nimport { BaseProfile, SocialLink } from '../hcs-11/types';\n\n/**\n * HCS-16 Topic type enums\n */\nexport enum FloraTopicType {\n COMMUNICATION = 0,\n TRANSACTION = 1,\n STATE = 2,\n}\n\n/**\n * HCS-16 Flora member\n */\nexport interface FloraMember {\n accountId: string;\n publicKey?: PublicKey | string;\n privateKey?: string;\n weight?: number;\n}\n\n/**\n * HCS-16 Flora topics\n */\nexport interface FloraTopics {\n communication: TopicId;\n transaction: TopicId;\n state: TopicId;\n custom?: Array<{\n name: string;\n topicId: string;\n description?: string;\n }>;\n}\n\n/**\n * HCS-16 Flora configuration\n */\nexport interface FloraConfig {\n displayName: string;\n bio?: string;\n members: FloraMember[];\n threshold: number;\n initialBalance?: number;\n maxAutomaticTokenAssociations?: number;\n policies?: {\n membershipChange?: string;\n scheduleTxApproval?: string;\n };\n customFees?: {\n amount: number;\n feeCollectorAccountId: string;\n }[];\n metadata?: Record<string, any>;\n}\n\n/**\n * HCS-16 Flora creation result\n */\nexport interface FloraCreationResult {\n floraAccountId: AccountId;\n topics: FloraTopics;\n keyList: Key;\n transactionId: string;\n}\n\n/**\n * HCS-16 Message protocol operations\n */\nexport enum FloraOperation {\n FLORA_CREATED = 'flora_created',\n TRANSACTION = 'transaction',\n STATE_UPDATE = 'state_update',\n FLORA_JOIN_REQUEST = 'flora_join_request',\n FLORA_JOIN_VOTE = 'flora_join_vote',\n FLORA_JOIN_ACCEPTED = 'flora_join_accepted',\n}\n\n/**\n * HCS-16 Message envelope\n */\nexport interface FloraMessage {\n p: 'hcs-16';\n op: FloraOperation;\n operator_id: string;\n m?: string;\n [key: string]: unknown;\n}\n\n/**\n * HCS-16 Flora profile (extends HCS-11)\n */\nexport interface FloraProfile extends BaseProfile {\n version: string;\n type: 3;\n display_name: string;\n members: FloraMember[];\n threshold: number;\n topics: {\n communication: string;\n transaction: string;\n state: string;\n custom?: Array<{\n name: string;\n topicId: string;\n description?: string;\n }>;\n };\n alias?: string;\n bio?: string;\n socials?: SocialLink[];\n profileImage?: string;\n properties?: Record<string, unknown>;\n inboundTopicId: string;\n outboundTopicId: string;\n policies?: Record<string, string>;\n metadata?: Record<string, any>;\n}\n\n/**\n * HCS-16 errors\n */\nexport class FloraError extends Error {\n constructor(\n message: string,\n public readonly code: string,\n ) {\n super(message);\n this.name = 'FloraError';\n }\n}\n\n/**\n * Flora state update message\n */\nexport interface FloraStateUpdate {\n p: 'hcs-16';\n op: 'state_update';\n operator_id: string;\n hash: string;\n epoch?: number;\n members?: string[];\n timestamp: string;\n}\n\n/**\n * HIP-991 Custom fee configuration for transaction topics\n */\nexport interface TransactionTopicFee {\n amount: number;\n feeCollectorAccountId: string;\n denominatingTokenId?: string;\n}\n\n/**\n * Configuration for creating HCS-16 transaction topics with HIP-991 support\n */\nexport interface TransactionTopicConfig {\n memo: string;\n adminKey?: PrivateKey | KeyList;\n submitKey?: PrivateKey | KeyList;\n feeScheduleKey?: PrivateKey | KeyList;\n customFees?: TransactionTopicFee[];\n feeExemptKeys?: Key[];\n}\n\n/** credit_purchase not part of HCS-16 specification; no message type defined. */\n"],"names":["FloraTopicType","FloraOperation"],"mappings":"AAcO,IAAK,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,mBAAgB,CAAA,IAAhB;AACAA,kBAAAA,gBAAA,iBAAc,CAAA,IAAd;AACAA,kBAAAA,gBAAA,WAAQ,CAAA,IAAR;AAHU,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAgEL,IAAK,mCAAAC,oBAAL;AACLA,kBAAA,eAAA,IAAgB;AAChBA,kBAAA,aAAA,IAAc;AACdA,kBAAA,cAAA,IAAe;AACfA,kBAAA,oBAAA,IAAqB;AACrBA,kBAAA,iBAAA,IAAkB;AAClBA,kBAAA,qBAAA,IAAsB;AANZ,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAqDL,MAAM,mBAAmB,MAAM;AAAA,EACpC,YACE,SACgB,MAChB;AACA,UAAM,OAAO;AAFG,SAAA,OAAA;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;"}
@@ -1,28 +1,243 @@
1
- var FloraTopicType = /* @__PURE__ */ ((FloraTopicType2) => {
2
- FloraTopicType2[FloraTopicType2["COMMUNICATION"] = 0] = "COMMUNICATION";
3
- FloraTopicType2[FloraTopicType2["TRANSACTION"] = 1] = "TRANSACTION";
4
- FloraTopicType2[FloraTopicType2["STATE"] = 2] = "STATE";
5
- return FloraTopicType2;
6
- })(FloraTopicType || {});
7
- var FloraOperation = /* @__PURE__ */ ((FloraOperation2) => {
8
- FloraOperation2["FLORA_CREATED"] = "flora_created";
9
- FloraOperation2["TRANSACTION"] = "transaction";
10
- FloraOperation2["STATE_UPDATE"] = "state_update";
11
- FloraOperation2["FLORA_JOIN_REQUEST"] = "flora_join_request";
12
- FloraOperation2["FLORA_JOIN_VOTE"] = "flora_join_vote";
13
- FloraOperation2["FLORA_JOIN_ACCEPTED"] = "flora_join_accepted";
14
- return FloraOperation2;
15
- })(FloraOperation || {});
16
- class FloraError extends Error {
17
- constructor(message, code) {
18
- super(message);
19
- this.code = code;
20
- this.name = "FloraError";
1
+ import { AccountId, TopicCreateTransaction, CustomFixedFee, TokenId, AccountCreateTransaction, Hbar, AccountUpdateTransaction, ScheduleCreateTransaction, TopicUpdateTransaction } from "@hashgraph/sdk";
2
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es147.js";
3
+ import { FloraOperation, FloraTopicType } from "./standards-sdk.es90.js";
4
+ const HCS16_FLORA_ACCOUNT_CREATE_TRANSACTION_MEMO = "hcs-16:op:0:0";
5
+ const HCS17_STATE_HASH_TRANSACTION_MEMO = "hcs-17:op:6:2";
6
+ const HCS16_ACCOUNT_KEY_UPDATE_TRANSACTION_MEMO = "hcs-16:op:1:1";
7
+ const HCS16_TOPIC_KEY_UPDATE_TRANSACTION_MEMO = "hcs-16:op:1:1";
8
+ function normalizeTransactionMemo(value, fallback) {
9
+ if (typeof value !== "string") return fallback;
10
+ const trimmed = value.trim();
11
+ if (!trimmed) return fallback;
12
+ return trimmed;
13
+ }
14
+ function encodeHcs16FloraMemo(params) {
15
+ return `hcs-16:${params.floraAccountId}:${params.topicType}`;
16
+ }
17
+ function encodeHcs16TopicCreateTransactionMemo(topicType) {
18
+ return `hcs-16:op:${HCS16_OPERATION_ENUM_BY_OP[FloraOperation.FLORA_CREATED]}:${topicType}`;
19
+ }
20
+ const HCS16_OPERATION_ENUM_BY_OP = {
21
+ [FloraOperation.FLORA_CREATED]: 0,
22
+ [FloraOperation.TRANSACTION]: 1,
23
+ [FloraOperation.STATE_UPDATE]: 2,
24
+ [FloraOperation.FLORA_JOIN_REQUEST]: 3,
25
+ [FloraOperation.FLORA_JOIN_VOTE]: 4,
26
+ [FloraOperation.FLORA_JOIN_ACCEPTED]: 5
27
+ };
28
+ const HCS16_TOPIC_TYPE_BY_OP = {
29
+ [FloraOperation.FLORA_CREATED]: FloraTopicType.COMMUNICATION,
30
+ [FloraOperation.TRANSACTION]: FloraTopicType.TRANSACTION,
31
+ [FloraOperation.STATE_UPDATE]: FloraTopicType.STATE,
32
+ [FloraOperation.FLORA_JOIN_REQUEST]: FloraTopicType.COMMUNICATION,
33
+ [FloraOperation.FLORA_JOIN_VOTE]: FloraTopicType.COMMUNICATION,
34
+ [FloraOperation.FLORA_JOIN_ACCEPTED]: FloraTopicType.STATE
35
+ };
36
+ function encodeHcs16MessageSubmitTransactionMemo(op) {
37
+ return `hcs-16:op:${HCS16_OPERATION_ENUM_BY_OP[op]}:${HCS16_TOPIC_TYPE_BY_OP[op]}`;
38
+ }
39
+ function buildHcs16CreateFloraTopicTx(params) {
40
+ const memo = encodeHcs16FloraMemo({
41
+ floraAccountId: params.floraAccountId,
42
+ topicType: params.topicType
43
+ });
44
+ const tx = buildTopicCreateTx({
45
+ memo,
46
+ adminKey: params.adminKey,
47
+ submitKey: params.submitKey,
48
+ operatorPublicKey: params.operatorPublicKey
49
+ });
50
+ tx.setTransactionMemo(
51
+ normalizeTransactionMemo(
52
+ params.transactionMemo,
53
+ encodeHcs16TopicCreateTransactionMemo(params.topicType)
54
+ )
55
+ );
56
+ if (params.autoRenewAccountId) {
57
+ tx.setAutoRenewAccountId(AccountId.fromString(params.autoRenewAccountId));
58
+ }
59
+ return tx;
60
+ }
61
+ function buildHcs16CreateTransactionTopicTx(params) {
62
+ const tx = new TopicCreateTransaction().setTopicMemo(params.memo);
63
+ if (params.adminKey) {
64
+ tx.setAdminKey(params.adminKey);
65
+ }
66
+ if (params.submitKey) {
67
+ tx.setSubmitKey(params.submitKey);
68
+ }
69
+ if (params.feeScheduleKey) {
70
+ tx.setFeeScheduleKey(params.feeScheduleKey);
71
+ }
72
+ if (params.customFees && params.customFees.length > 0) {
73
+ const fees = params.customFees.map((fee) => {
74
+ const cf = new CustomFixedFee().setAmount(fee.amount).setFeeCollectorAccountId(
75
+ AccountId.fromString(fee.feeCollectorAccountId)
76
+ );
77
+ if (fee.denominatingTokenId) {
78
+ cf.setDenominatingTokenId(TokenId.fromString(fee.denominatingTokenId));
79
+ }
80
+ return cf;
81
+ });
82
+ tx.setCustomFees(fees);
83
+ }
84
+ if (params.feeExemptKeys && params.feeExemptKeys.length > 0) {
85
+ throw new Error("feeExemptKeys not supported by installed @hashgraph/sdk");
21
86
  }
87
+ return tx;
88
+ }
89
+ function buildHcs16CreateAccountTx(params) {
90
+ const tx = new AccountCreateTransaction().setKey(params.keyList);
91
+ const initial = typeof params.initialBalanceHbar === "number" ? params.initialBalanceHbar : 1;
92
+ tx.setInitialBalance(new Hbar(initial));
93
+ const maxAssoc = typeof params.maxAutomaticTokenAssociations === "number" ? params.maxAutomaticTokenAssociations : -1;
94
+ tx.setMaxAutomaticTokenAssociations(maxAssoc);
95
+ tx.setTransactionMemo(
96
+ normalizeTransactionMemo(
97
+ params.transactionMemo,
98
+ HCS16_FLORA_ACCOUNT_CREATE_TRANSACTION_MEMO
99
+ )
100
+ );
101
+ return tx;
102
+ }
103
+ function buildHcs16ScheduleAccountKeyUpdateTx(params) {
104
+ const inner = new AccountUpdateTransaction().setAccountId(AccountId.fromString(params.floraAccountId)).setKey(params.newKeyList);
105
+ inner.setTransactionMemo(
106
+ normalizeTransactionMemo(
107
+ params.transactionMemo ?? params.memo,
108
+ HCS16_ACCOUNT_KEY_UPDATE_TRANSACTION_MEMO
109
+ )
110
+ );
111
+ return new ScheduleCreateTransaction().setScheduledTransaction(inner);
112
+ }
113
+ function buildHcs16ScheduleTopicKeyUpdateTx(params) {
114
+ const inner = new TopicUpdateTransaction().setTopicId(params.topicId);
115
+ if (params.adminKey) {
116
+ inner.setAdminKey(params.adminKey);
117
+ }
118
+ if (params.submitKey) {
119
+ inner.setSubmitKey(params.submitKey);
120
+ }
121
+ inner.setTransactionMemo(
122
+ normalizeTransactionMemo(
123
+ params.transactionMemo ?? params.memo,
124
+ HCS16_TOPIC_KEY_UPDATE_TRANSACTION_MEMO
125
+ )
126
+ );
127
+ return new ScheduleCreateTransaction().setScheduledTransaction(inner);
128
+ }
129
+ function buildHcs16MessageTx(params) {
130
+ const payload = {
131
+ p: "hcs-16",
132
+ op: params.op,
133
+ operator_id: params.operatorId,
134
+ ...params.body || {}
135
+ };
136
+ return buildMessageTx({
137
+ topicId: params.topicId,
138
+ message: JSON.stringify(payload),
139
+ transactionMemo: normalizeTransactionMemo(
140
+ params.transactionMemo,
141
+ encodeHcs16MessageSubmitTransactionMemo(params.op)
142
+ )
143
+ });
144
+ }
145
+ function buildHcs16FloraCreatedTx(params) {
146
+ return buildHcs16MessageTx({
147
+ topicId: params.topicId,
148
+ operatorId: params.operatorId,
149
+ op: FloraOperation.FLORA_CREATED,
150
+ body: {
151
+ flora_account_id: params.floraAccountId,
152
+ topics: params.topics
153
+ }
154
+ });
155
+ }
156
+ function buildHcs16TransactionTx(params) {
157
+ return buildHcs16MessageTx({
158
+ topicId: params.topicId,
159
+ operatorId: params.operatorId,
160
+ op: FloraOperation.TRANSACTION,
161
+ body: {
162
+ schedule_id: params.scheduleId,
163
+ data: params.data,
164
+ m: params.data
165
+ }
166
+ });
167
+ }
168
+ function buildHcs16StateUpdateTx(params) {
169
+ const payload = {
170
+ p: "hcs-17",
171
+ op: "state_hash",
172
+ state_hash: params.hash,
173
+ topics: params.topics ?? [],
174
+ account_id: params.accountId ?? params.operatorId,
175
+ epoch: params.epoch,
176
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
177
+ m: params.memo
178
+ };
179
+ return buildMessageTx({
180
+ topicId: params.topicId,
181
+ message: JSON.stringify(payload),
182
+ transactionMemo: normalizeTransactionMemo(
183
+ params.transactionMemo,
184
+ HCS17_STATE_HASH_TRANSACTION_MEMO
185
+ )
186
+ });
187
+ }
188
+ function buildHcs16FloraJoinRequestTx(params) {
189
+ return buildHcs16MessageTx({
190
+ topicId: params.topicId,
191
+ operatorId: params.operatorId,
192
+ op: FloraOperation.FLORA_JOIN_REQUEST,
193
+ body: {
194
+ account_id: params.accountId,
195
+ connection_request_id: params.connectionRequestId,
196
+ connection_topic_id: params.connectionTopicId,
197
+ connection_seq: params.connectionSeq
198
+ }
199
+ });
200
+ }
201
+ function buildHcs16FloraJoinVoteTx(params) {
202
+ return buildHcs16MessageTx({
203
+ topicId: params.topicId,
204
+ operatorId: params.operatorId,
205
+ op: FloraOperation.FLORA_JOIN_VOTE,
206
+ body: {
207
+ account_id: params.accountId,
208
+ approve: params.approve,
209
+ connection_request_id: params.connectionRequestId,
210
+ connection_seq: params.connectionSeq
211
+ }
212
+ });
213
+ }
214
+ function buildHcs16FloraJoinAcceptedTx(params) {
215
+ return buildHcs16MessageTx({
216
+ topicId: params.topicId,
217
+ operatorId: params.operatorId,
218
+ op: FloraOperation.FLORA_JOIN_ACCEPTED,
219
+ body: {
220
+ members: params.members,
221
+ epoch: params.epoch
222
+ }
223
+ });
22
224
  }
23
225
  export {
24
- FloraError,
25
- FloraOperation,
26
- FloraTopicType
226
+ HCS16_ACCOUNT_KEY_UPDATE_TRANSACTION_MEMO,
227
+ HCS16_FLORA_ACCOUNT_CREATE_TRANSACTION_MEMO,
228
+ HCS16_TOPIC_KEY_UPDATE_TRANSACTION_MEMO,
229
+ HCS17_STATE_HASH_TRANSACTION_MEMO,
230
+ buildHcs16CreateAccountTx,
231
+ buildHcs16CreateFloraTopicTx,
232
+ buildHcs16CreateTransactionTopicTx,
233
+ buildHcs16FloraCreatedTx,
234
+ buildHcs16FloraJoinAcceptedTx,
235
+ buildHcs16FloraJoinRequestTx,
236
+ buildHcs16FloraJoinVoteTx,
237
+ buildHcs16MessageTx,
238
+ buildHcs16ScheduleAccountKeyUpdateTx,
239
+ buildHcs16ScheduleTopicKeyUpdateTx,
240
+ buildHcs16StateUpdateTx,
241
+ buildHcs16TransactionTx
27
242
  };
28
243
  //# sourceMappingURL=standards-sdk.es91.js.map