@hashgraphonline/standards-sdk 0.1.158 → 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 (336) 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 +1 -1
  23. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  24. package/dist/cjs/inscribe/inscription-cost.d.ts +12 -0
  25. package/dist/cjs/inscribe/inscription-cost.d.ts.map +1 -0
  26. package/dist/cjs/inscribe/types.d.ts +5 -1
  27. package/dist/cjs/inscribe/types.d.ts.map +1 -1
  28. package/dist/cjs/services/registry-broker/schemas.d.ts +1548 -0
  29. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  30. package/dist/cjs/standards-sdk.cjs +2 -2
  31. package/dist/cjs/standards-sdk.cjs.map +1 -1
  32. package/dist/es/hcs-12/validation/schemas.d.ts +4 -4
  33. package/dist/es/hcs-14/index.d.ts +5 -0
  34. package/dist/es/hcs-14/index.d.ts.map +1 -1
  35. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
  36. package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
  37. package/dist/es/hcs-14/resolvers/dns.d.ts +3 -0
  38. package/dist/es/hcs-14/resolvers/dns.d.ts.map +1 -0
  39. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
  40. package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
  41. package/dist/es/hcs-14/resolvers/profile-utils.d.ts +9 -0
  42. package/dist/es/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
  43. package/dist/es/hcs-14/resolvers/registry.d.ts +21 -1
  44. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  45. package/dist/es/hcs-14/resolvers/types.d.ts +106 -5
  46. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  47. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +10 -0
  48. package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
  49. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
  50. package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
  51. package/dist/es/hcs-14/sdk.d.ts +16 -1
  52. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  53. package/dist/es/inscribe/inscriber.d.ts +1 -1
  54. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  55. package/dist/es/inscribe/inscription-cost.d.ts +12 -0
  56. package/dist/es/inscribe/inscription-cost.d.ts.map +1 -0
  57. package/dist/es/inscribe/types.d.ts +5 -1
  58. package/dist/es/inscribe/types.d.ts.map +1 -1
  59. package/dist/es/services/registry-broker/schemas.d.ts +1548 -0
  60. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  61. package/dist/es/standards-sdk.es.js +96 -83
  62. package/dist/es/standards-sdk.es.js.map +1 -1
  63. package/dist/es/standards-sdk.es100.js +41 -224
  64. package/dist/es/standards-sdk.es100.js.map +1 -1
  65. package/dist/es/standards-sdk.es101.js +249 -97
  66. package/dist/es/standards-sdk.es101.js.map +1 -1
  67. package/dist/es/standards-sdk.es102.js +95 -27
  68. package/dist/es/standards-sdk.es102.js.map +1 -1
  69. package/dist/es/standards-sdk.es103.js +97 -80
  70. package/dist/es/standards-sdk.es103.js.map +1 -1
  71. package/dist/es/standards-sdk.es104.js +29 -30
  72. package/dist/es/standards-sdk.es104.js.map +1 -1
  73. package/dist/es/standards-sdk.es105.js +229 -249
  74. package/dist/es/standards-sdk.es105.js.map +1 -1
  75. package/dist/es/standards-sdk.es106.js +103 -468
  76. package/dist/es/standards-sdk.es106.js.map +1 -1
  77. package/dist/es/standards-sdk.es107.js +32 -103
  78. package/dist/es/standards-sdk.es107.js.map +1 -1
  79. package/dist/es/standards-sdk.es108.js +79 -155
  80. package/dist/es/standards-sdk.es108.js.map +1 -1
  81. package/dist/es/standards-sdk.es109.js +28 -31
  82. package/dist/es/standards-sdk.es109.js.map +1 -1
  83. package/dist/es/standards-sdk.es11.js +1 -1
  84. package/dist/es/standards-sdk.es110.js +250 -10
  85. package/dist/es/standards-sdk.es110.js.map +1 -1
  86. package/dist/es/standards-sdk.es111.js +451 -115
  87. package/dist/es/standards-sdk.es111.js.map +1 -1
  88. package/dist/es/standards-sdk.es112.js +101 -25
  89. package/dist/es/standards-sdk.es112.js.map +1 -1
  90. package/dist/es/standards-sdk.es113.js +155 -17
  91. package/dist/es/standards-sdk.es113.js.map +1 -1
  92. package/dist/es/standards-sdk.es114.js +29 -155
  93. package/dist/es/standards-sdk.es114.js.map +1 -1
  94. package/dist/es/standards-sdk.es115.js +9 -200
  95. package/dist/es/standards-sdk.es115.js.map +1 -1
  96. package/dist/es/standards-sdk.es116.js +109 -757
  97. package/dist/es/standards-sdk.es116.js.map +1 -1
  98. package/dist/es/standards-sdk.es117.js +27 -11
  99. package/dist/es/standards-sdk.es117.js.map +1 -1
  100. package/dist/es/standards-sdk.es118.js +19 -564
  101. package/dist/es/standards-sdk.es118.js.map +1 -1
  102. package/dist/es/standards-sdk.es119.js +140 -582
  103. package/dist/es/standards-sdk.es119.js.map +1 -1
  104. package/dist/es/standards-sdk.es12.js +1 -1
  105. package/dist/es/standards-sdk.es120.js +202 -12
  106. package/dist/es/standards-sdk.es120.js.map +1 -1
  107. package/dist/es/standards-sdk.es121.js +790 -2
  108. package/dist/es/standards-sdk.es121.js.map +1 -1
  109. package/dist/es/standards-sdk.es122.js +10 -84
  110. package/dist/es/standards-sdk.es122.js.map +1 -1
  111. package/dist/es/standards-sdk.es123.js +567 -40
  112. package/dist/es/standards-sdk.es123.js.map +1 -1
  113. package/dist/es/standards-sdk.es124.js +602 -2
  114. package/dist/es/standards-sdk.es124.js.map +1 -1
  115. package/dist/es/standards-sdk.es125.js +12 -234
  116. package/dist/es/standards-sdk.es125.js.map +1 -1
  117. package/dist/es/standards-sdk.es126.js +2 -1140
  118. package/dist/es/standards-sdk.es126.js.map +1 -1
  119. package/dist/es/standards-sdk.es127.js +73 -292
  120. package/dist/es/standards-sdk.es127.js.map +1 -1
  121. package/dist/es/standards-sdk.es128.js +36 -418
  122. package/dist/es/standards-sdk.es128.js.map +1 -1
  123. package/dist/es/standards-sdk.es129.js +2 -355
  124. package/dist/es/standards-sdk.es129.js.map +1 -1
  125. package/dist/es/standards-sdk.es13.js +1 -1
  126. package/dist/es/standards-sdk.es130.js +197 -1090
  127. package/dist/es/standards-sdk.es130.js.map +1 -1
  128. package/dist/es/standards-sdk.es131.js +1107 -175
  129. package/dist/es/standards-sdk.es131.js.map +1 -1
  130. package/dist/es/standards-sdk.es132.js +218 -1479
  131. package/dist/es/standards-sdk.es132.js.map +1 -1
  132. package/dist/es/standards-sdk.es133.js +422 -1236
  133. package/dist/es/standards-sdk.es133.js.map +1 -1
  134. package/dist/es/standards-sdk.es134.js +351 -13
  135. package/dist/es/standards-sdk.es134.js.map +1 -1
  136. package/dist/es/standards-sdk.es135.js +1102 -73
  137. package/dist/es/standards-sdk.es135.js.map +1 -1
  138. package/dist/es/standards-sdk.es136.js +203 -76
  139. package/dist/es/standards-sdk.es136.js.map +1 -1
  140. package/dist/es/standards-sdk.es137.js +1459 -785
  141. package/dist/es/standards-sdk.es137.js.map +1 -1
  142. package/dist/es/standards-sdk.es138.js +1254 -59
  143. package/dist/es/standards-sdk.es138.js.map +1 -1
  144. package/dist/es/standards-sdk.es139.js +14 -156
  145. package/dist/es/standards-sdk.es139.js.map +1 -1
  146. package/dist/es/standards-sdk.es14.js +1 -1
  147. package/dist/es/standards-sdk.es140.js +87 -7
  148. package/dist/es/standards-sdk.es140.js.map +1 -1
  149. package/dist/es/standards-sdk.es141.js +74 -79
  150. package/dist/es/standards-sdk.es141.js.map +1 -1
  151. package/dist/es/standards-sdk.es142.js +889 -61
  152. package/dist/es/standards-sdk.es142.js.map +1 -1
  153. package/dist/es/standards-sdk.es143.js +60 -30
  154. package/dist/es/standards-sdk.es143.js.map +1 -1
  155. package/dist/es/standards-sdk.es144.js +159 -34
  156. package/dist/es/standards-sdk.es144.js.map +1 -1
  157. package/dist/es/standards-sdk.es145.js +7 -28
  158. package/dist/es/standards-sdk.es145.js.map +1 -1
  159. package/dist/es/standards-sdk.es146.js +70 -122
  160. package/dist/es/standards-sdk.es146.js.map +1 -1
  161. package/dist/es/standards-sdk.es147.js +58 -35
  162. package/dist/es/standards-sdk.es147.js.map +1 -1
  163. package/dist/es/standards-sdk.es148.js +30 -12320
  164. package/dist/es/standards-sdk.es148.js.map +1 -1
  165. package/dist/es/standards-sdk.es149.js +34 -56
  166. package/dist/es/standards-sdk.es149.js.map +1 -1
  167. package/dist/es/standards-sdk.es15.js +1 -1
  168. package/dist/es/standards-sdk.es150.js +41 -84
  169. package/dist/es/standards-sdk.es150.js.map +1 -1
  170. package/dist/es/standards-sdk.es151.js +134 -13
  171. package/dist/es/standards-sdk.es151.js.map +1 -1
  172. package/dist/es/standards-sdk.es152.js +36 -236
  173. package/dist/es/standards-sdk.es152.js.map +1 -1
  174. package/dist/es/standards-sdk.es153.js +12444 -134
  175. package/dist/es/standards-sdk.es153.js.map +1 -1
  176. package/dist/es/standards-sdk.es154.js +139 -289
  177. package/dist/es/standards-sdk.es154.js.map +1 -1
  178. package/dist/es/standards-sdk.es155.js +274 -298
  179. package/dist/es/standards-sdk.es155.js.map +1 -1
  180. package/dist/es/standards-sdk.es156.js +262 -369
  181. package/dist/es/standards-sdk.es156.js.map +1 -1
  182. package/dist/es/standards-sdk.es157.js +316 -194
  183. package/dist/es/standards-sdk.es157.js.map +1 -1
  184. package/dist/es/standards-sdk.es158.js +319 -64
  185. package/dist/es/standards-sdk.es158.js.map +1 -1
  186. package/dist/es/standards-sdk.es159.js +61 -157
  187. package/dist/es/standards-sdk.es159.js.map +1 -1
  188. package/dist/es/standards-sdk.es16.js +5 -5
  189. package/dist/es/standards-sdk.es160.js +14 -219
  190. package/dist/es/standards-sdk.es160.js.map +1 -1
  191. package/dist/es/standards-sdk.es161.js +226 -223
  192. package/dist/es/standards-sdk.es161.js.map +1 -1
  193. package/dist/es/standards-sdk.es162.js +49 -112
  194. package/dist/es/standards-sdk.es162.js.map +1 -1
  195. package/dist/es/standards-sdk.es163.js +72 -114
  196. package/dist/es/standards-sdk.es163.js.map +1 -1
  197. package/dist/es/standards-sdk.es164.js +67 -147
  198. package/dist/es/standards-sdk.es164.js.map +1 -1
  199. package/dist/es/standards-sdk.es165.js +61 -173
  200. package/dist/es/standards-sdk.es165.js.map +1 -1
  201. package/dist/es/standards-sdk.es166.js +153 -120
  202. package/dist/es/standards-sdk.es166.js.map +1 -1
  203. package/dist/es/standards-sdk.es167.js +178 -287
  204. package/dist/es/standards-sdk.es167.js.map +1 -1
  205. package/dist/es/standards-sdk.es168.js +218 -238
  206. package/dist/es/standards-sdk.es168.js.map +1 -1
  207. package/dist/es/standards-sdk.es169.js +75 -72
  208. package/dist/es/standards-sdk.es169.js.map +1 -1
  209. package/dist/es/standards-sdk.es170.js +129 -0
  210. package/dist/es/standards-sdk.es170.js.map +1 -0
  211. package/dist/es/standards-sdk.es171.js +164 -0
  212. package/dist/es/standards-sdk.es171.js.map +1 -0
  213. package/dist/es/standards-sdk.es172.js +188 -0
  214. package/dist/es/standards-sdk.es172.js.map +1 -0
  215. package/dist/es/standards-sdk.es173.js +142 -0
  216. package/dist/es/standards-sdk.es173.js.map +1 -0
  217. package/dist/es/standards-sdk.es174.js +334 -0
  218. package/dist/es/standards-sdk.es174.js.map +1 -0
  219. package/dist/es/standards-sdk.es175.js +262 -0
  220. package/dist/es/standards-sdk.es175.js.map +1 -0
  221. package/dist/es/standards-sdk.es176.js +119 -0
  222. package/dist/es/standards-sdk.es176.js.map +1 -0
  223. package/dist/es/standards-sdk.es18.js +12 -12
  224. package/dist/es/standards-sdk.es19.js +9 -9
  225. package/dist/es/standards-sdk.es2.js +2 -2
  226. package/dist/es/standards-sdk.es20.js +1 -1
  227. package/dist/es/standards-sdk.es21.js +1 -1
  228. package/dist/es/standards-sdk.es22.js +1 -1
  229. package/dist/es/standards-sdk.es23.js +1 -1
  230. package/dist/es/standards-sdk.es24.js +1 -1
  231. package/dist/es/standards-sdk.es25.js +1 -1
  232. package/dist/es/standards-sdk.es26.js +1 -1
  233. package/dist/es/standards-sdk.es27.js +12 -12
  234. package/dist/es/standards-sdk.es30.js +2 -2
  235. package/dist/es/standards-sdk.es31.js +4 -4
  236. package/dist/es/standards-sdk.es32.js +1 -1
  237. package/dist/es/standards-sdk.es35.js +6 -6
  238. package/dist/es/standards-sdk.es36.js +4 -4
  239. package/dist/es/standards-sdk.es37.js +2 -2
  240. package/dist/es/standards-sdk.es38.js +2 -2
  241. package/dist/es/standards-sdk.es39.js +1 -1
  242. package/dist/es/standards-sdk.es4.js +2 -2
  243. package/dist/es/standards-sdk.es40.js +1 -1
  244. package/dist/es/standards-sdk.es41.js +2 -2
  245. package/dist/es/standards-sdk.es46.js +1 -1
  246. package/dist/es/standards-sdk.es5.js +2 -2
  247. package/dist/es/standards-sdk.es51.js +1 -1
  248. package/dist/es/standards-sdk.es53.js +1 -1
  249. package/dist/es/standards-sdk.es56.js +2 -2
  250. package/dist/es/standards-sdk.es58.js +194 -13
  251. package/dist/es/standards-sdk.es58.js.map +1 -1
  252. package/dist/es/standards-sdk.es59.js +1 -1
  253. package/dist/es/standards-sdk.es6.js +2 -2
  254. package/dist/es/standards-sdk.es60.js +100 -192
  255. package/dist/es/standards-sdk.es60.js.map +1 -1
  256. package/dist/es/standards-sdk.es61.js +172 -24
  257. package/dist/es/standards-sdk.es61.js.map +1 -1
  258. package/dist/es/standards-sdk.es62.js +204 -77
  259. package/dist/es/standards-sdk.es62.js.map +1 -1
  260. package/dist/es/standards-sdk.es63.js +130 -3
  261. package/dist/es/standards-sdk.es63.js.map +1 -1
  262. package/dist/es/standards-sdk.es64.js +41 -95
  263. package/dist/es/standards-sdk.es64.js.map +1 -1
  264. package/dist/es/standards-sdk.es65.js +245 -88
  265. package/dist/es/standards-sdk.es65.js.map +1 -1
  266. package/dist/es/standards-sdk.es66.js +32 -17
  267. package/dist/es/standards-sdk.es66.js.map +1 -1
  268. package/dist/es/standards-sdk.es67.js +96 -77
  269. package/dist/es/standards-sdk.es67.js.map +1 -1
  270. package/dist/es/standards-sdk.es68.js +4 -458
  271. package/dist/es/standards-sdk.es68.js.map +1 -1
  272. package/dist/es/standards-sdk.es69.js +72 -295
  273. package/dist/es/standards-sdk.es69.js.map +1 -1
  274. package/dist/es/standards-sdk.es7.js +1 -1
  275. package/dist/es/standards-sdk.es70.js +86 -194
  276. package/dist/es/standards-sdk.es70.js.map +1 -1
  277. package/dist/es/standards-sdk.es71.js +16 -69
  278. package/dist/es/standards-sdk.es71.js.map +1 -1
  279. package/dist/es/standards-sdk.es72.js +69 -63
  280. package/dist/es/standards-sdk.es72.js.map +1 -1
  281. package/dist/es/standards-sdk.es73.js +458 -143
  282. package/dist/es/standards-sdk.es73.js.map +1 -1
  283. package/dist/es/standards-sdk.es74.js +298 -43
  284. package/dist/es/standards-sdk.es74.js.map +1 -1
  285. package/dist/es/standards-sdk.es75.js +174 -370
  286. package/dist/es/standards-sdk.es75.js.map +1 -1
  287. package/dist/es/standards-sdk.es76.js +71 -495
  288. package/dist/es/standards-sdk.es76.js.map +1 -1
  289. package/dist/es/standards-sdk.es77.js +71 -365
  290. package/dist/es/standards-sdk.es77.js.map +1 -1
  291. package/dist/es/standards-sdk.es78.js +137 -83
  292. package/dist/es/standards-sdk.es78.js.map +1 -1
  293. package/dist/es/standards-sdk.es79.js +69 -125
  294. package/dist/es/standards-sdk.es79.js.map +1 -1
  295. package/dist/es/standards-sdk.es80.js +402 -6
  296. package/dist/es/standards-sdk.es80.js.map +1 -1
  297. package/dist/es/standards-sdk.es81.js +492 -43
  298. package/dist/es/standards-sdk.es81.js.map +1 -1
  299. package/dist/es/standards-sdk.es82.js +350 -86
  300. package/dist/es/standards-sdk.es82.js.map +1 -1
  301. package/dist/es/standards-sdk.es83.js +88 -347
  302. package/dist/es/standards-sdk.es83.js.map +1 -1
  303. package/dist/es/standards-sdk.es84.js +125 -281
  304. package/dist/es/standards-sdk.es84.js.map +1 -1
  305. package/dist/es/standards-sdk.es85.js +6 -59
  306. package/dist/es/standards-sdk.es85.js.map +1 -1
  307. package/dist/es/standards-sdk.es86.js +43 -45
  308. package/dist/es/standards-sdk.es86.js.map +1 -1
  309. package/dist/es/standards-sdk.es87.js +86 -135
  310. package/dist/es/standards-sdk.es87.js.map +1 -1
  311. package/dist/es/standards-sdk.es88.js +333 -52
  312. package/dist/es/standards-sdk.es88.js.map +1 -1
  313. package/dist/es/standards-sdk.es89.js +277 -26
  314. package/dist/es/standards-sdk.es89.js.map +1 -1
  315. package/dist/es/standards-sdk.es9.js +2 -2
  316. package/dist/es/standards-sdk.es90.js +59 -23
  317. package/dist/es/standards-sdk.es90.js.map +1 -1
  318. package/dist/es/standards-sdk.es91.js +26 -217
  319. package/dist/es/standards-sdk.es91.js.map +1 -1
  320. package/dist/es/standards-sdk.es92.js +104 -236
  321. package/dist/es/standards-sdk.es92.js.map +1 -1
  322. package/dist/es/standards-sdk.es93.js +51 -141
  323. package/dist/es/standards-sdk.es93.js.map +1 -1
  324. package/dist/es/standards-sdk.es94.js +22 -137
  325. package/dist/es/standards-sdk.es94.js.map +1 -1
  326. package/dist/es/standards-sdk.es95.js +20 -44
  327. package/dist/es/standards-sdk.es95.js.map +1 -1
  328. package/dist/es/standards-sdk.es96.js +227 -252
  329. package/dist/es/standards-sdk.es96.js.map +1 -1
  330. package/dist/es/standards-sdk.es97.js +248 -68
  331. package/dist/es/standards-sdk.es97.js.map +1 -1
  332. package/dist/es/standards-sdk.es98.js +108 -52
  333. package/dist/es/standards-sdk.es98.js.map +1 -1
  334. package/dist/es/standards-sdk.es99.js +144 -29
  335. package/dist/es/standards-sdk.es99.js.map +1 -1
  336. package/package.json +14 -4
@@ -1,285 +1,153 @@
1
- import { AccountId, Client, ScheduleSignTransaction } from "@hashgraph/sdk";
2
- import "./standards-sdk.es111.js";
3
- import { HCS11Client } from "./standards-sdk.es27.js";
4
- import { createNodeOperatorContext } from "./standards-sdk.es146.js";
5
- import { HederaMirrorNode } from "./standards-sdk.es132.js";
6
- import { HCS16BaseClient } from "./standards-sdk.es94.js";
7
- import { buildHcs16CreateFloraTopicTx, buildHcs16CreateAccountTx, buildHcs16FloraCreatedTx, buildHcs16TransactionTx, buildHcs16StateUpdateTx, buildHcs16FloraJoinRequestTx, buildHcs16FloraJoinVoteTx, buildHcs16FloraJoinAcceptedTx } from "./standards-sdk.es91.js";
8
- class HCS16Client extends HCS16BaseClient {
1
+ import { AccountId, Client, PrivateKey, Hbar } from "@hashgraph/sdk";
2
+ import { createNodeOperatorContext } from "./standards-sdk.es151.js";
3
+ import { buildHcs15BaseAccountCreateTx, buildHcs15PetalAccountCreateTx } from "./standards-sdk.es91.js";
4
+ import { HCS15BaseClient } from "./standards-sdk.es94.js";
5
+ class HCS15Client extends HCS15BaseClient {
9
6
  constructor(config) {
10
- super({ network: config.network, logger: config.logger });
7
+ super(config);
11
8
  this.operatorId = AccountId.fromString(config.operatorId);
12
- const mirror = new HederaMirrorNode(config.network, this.logger);
13
9
  this.operatorCtx = createNodeOperatorContext({
14
- network: config.network,
10
+ network: this.network,
15
11
  operatorId: this.operatorId,
16
12
  operatorKey: config.operatorKey,
17
13
  keyType: config.keyType,
18
- mirrorNode: mirror,
14
+ mirrorNode: this.mirrorNode,
19
15
  logger: this.logger,
20
- client: config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
16
+ client: this.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
21
17
  });
22
18
  this.client = this.operatorCtx.client;
23
19
  }
20
+ getKeyType() {
21
+ return this.operatorCtx.keyType;
22
+ }
23
+ async close() {
24
+ try {
25
+ this.client.close();
26
+ } catch {
27
+ }
28
+ }
24
29
  async ensureOperatorReady() {
25
30
  await this.operatorCtx.ensureInitialized();
26
31
  }
27
32
  /**
28
- * Create a Flora topic with memo `hcs-16:<floraAccountId>:<topicType>`.
33
+ * Create a new base account with a newly generated ECDSA key and EVM alias.
29
34
  */
30
- async createFloraTopic(params) {
35
+ async createBaseAccount(options) {
31
36
  await this.ensureOperatorReady();
32
- const tx = buildHcs16CreateFloraTopicTx({
33
- floraAccountId: params.floraAccountId,
34
- topicType: params.topicType,
35
- adminKey: params.adminKey,
36
- submitKey: params.submitKey,
37
- operatorPublicKey: this.client.operatorPublicKey || void 0,
38
- autoRenewAccountId: params.autoRenewAccountId
39
- });
40
- const signerKeys = params.signerKeys ?? [];
41
- if (signerKeys.length > 0) {
42
- const frozen = await tx.freezeWith(this.client);
43
- let signed = frozen;
44
- for (const key of signerKeys) {
45
- signed = await signed.sign(key);
46
- }
47
- const resp2 = await signed.execute(this.client);
48
- const receipt2 = await resp2.getReceipt(this.client);
49
- if (!receipt2.topicId) {
50
- throw new Error("Failed to create Flora topic");
51
- }
52
- return receipt2.topicId.toString();
53
- }
54
- const resp = await tx.execute(this.client);
55
- const receipt = await resp.getReceipt(this.client);
56
- if (!receipt.topicId) {
57
- throw new Error("Failed to create Flora topic");
58
- }
59
- return receipt.topicId.toString();
60
- }
61
- async createFloraAccount(params) {
62
- await this.ensureOperatorReady();
63
- const tx = buildHcs16CreateAccountTx({
64
- keyList: params.keyList,
65
- initialBalanceHbar: params.initialBalanceHbar,
66
- maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations
37
+ const priv = PrivateKey.generateECDSA();
38
+ const pub = priv.publicKey;
39
+ const tx = buildHcs15BaseAccountCreateTx({
40
+ publicKey: pub,
41
+ initialBalance: new Hbar(options?.initialBalance ?? 10),
42
+ maxAutomaticTokenAssociations: options?.maxAutomaticTokenAssociations,
43
+ accountMemo: options?.accountMemo,
44
+ transactionMemo: options?.transactionMemo
67
45
  });
68
46
  const resp = await tx.execute(this.client);
69
47
  const receipt = await resp.getReceipt(this.client);
70
48
  if (!receipt.accountId) {
71
- throw new Error("Failed to create Flora account");
49
+ throw new Error("HCS-15 BASE_ACCOUNT_CREATE_FAILED");
72
50
  }
73
- return { accountId: receipt.accountId.toString(), receipt };
74
- }
75
- async sendFloraCreated(params) {
76
- await this.ensureOperatorReady();
77
- const tx = buildHcs16FloraCreatedTx(params);
78
- const resp = await tx.execute(this.client);
79
- return resp.getReceipt(this.client);
80
- }
81
- /**
82
- * Send HCS-16 transaction (preferred). scheduleId is the ScheduleId entity (e.g., 0.0.12345).
83
- */
84
- async sendTransaction(params) {
85
- await this.ensureOperatorReady();
86
- const tx = buildHcs16TransactionTx(params);
87
- const resp = await tx.execute(this.client);
88
- return resp.getReceipt(this.client);
51
+ const accountId = receipt.accountId.toString();
52
+ const evmAddress = `0x${pub.toEvmAddress()}`;
53
+ this.logger.info("Created HCS-15 base account", { accountId, evmAddress });
54
+ return {
55
+ accountId,
56
+ privateKey: priv,
57
+ privateKeyHex: priv.toStringRaw(),
58
+ publicKey: pub,
59
+ evmAddress,
60
+ receipt
61
+ };
89
62
  }
90
63
  /**
91
- * Sign a scheduled transaction by ScheduleId entity using provided signer key (PrivateKey).
92
- * The signer must be a valid member key for the scheduled transaction to count toward threshold.
64
+ * Create a Petal account that reuses the base account ECDSA key (no alias).
93
65
  */
94
- async signSchedule(params) {
95
- await this.ensureOperatorReady();
96
- const tx = await new ScheduleSignTransaction().setScheduleId(params.scheduleId).freezeWith(this.client);
97
- const signed = await tx.sign(params.signerKey);
98
- const resp = await signed.execute(this.client);
99
- return resp.getReceipt(this.client);
100
- }
101
- async sendStateUpdate(params) {
66
+ async createPetalAccount(params) {
102
67
  await this.ensureOperatorReady();
103
- const tx = buildHcs16StateUpdateTx({
104
- topicId: params.topicId,
105
- operatorId: params.operatorId,
106
- hash: params.hash,
107
- epoch: params.epoch,
108
- accountId: params.accountId,
109
- topics: params.topics,
110
- memo: params.memo,
68
+ const baseKey = typeof params.basePrivateKey === "string" ? PrivateKey.fromStringECDSA(params.basePrivateKey) : params.basePrivateKey;
69
+ const pub = baseKey.publicKey;
70
+ const tx = buildHcs15PetalAccountCreateTx({
71
+ publicKey: pub,
72
+ initialBalance: new Hbar(params.initialBalance ?? 1),
73
+ maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations,
74
+ accountMemo: params.accountMemo,
111
75
  transactionMemo: params.transactionMemo
112
76
  });
113
- if (params.signerKeys && params.signerKeys.length > 0) {
114
- const frozen = await tx.freezeWith(this.client);
115
- let signed = frozen;
116
- for (const key of params.signerKeys) {
117
- signed = await signed.sign(key);
118
- }
119
- const resp2 = await signed.execute(this.client);
120
- return resp2.getReceipt(this.client);
121
- }
122
- const resp = await tx.execute(this.client);
123
- return resp.getReceipt(this.client);
124
- }
125
- async sendFloraJoinRequest(params) {
126
- await this.ensureOperatorReady();
127
- const tx = buildHcs16FloraJoinRequestTx(params);
128
- if (params.signerKey) {
129
- const frozen = await tx.freezeWith(this.client);
130
- const signed = await frozen.sign(params.signerKey);
131
- const resp2 = await signed.execute(this.client);
132
- return resp2.getReceipt(this.client);
133
- }
134
- const resp = await tx.execute(this.client);
135
- return resp.getReceipt(this.client);
136
- }
137
- async sendFloraJoinVote(params) {
138
- await this.ensureOperatorReady();
139
- const tx = buildHcs16FloraJoinVoteTx(params);
140
- if (params.signerKey) {
141
- const frozen = await tx.freezeWith(this.client);
142
- const signed = await frozen.sign(params.signerKey);
143
- const resp2 = await signed.execute(this.client);
144
- return resp2.getReceipt(this.client);
145
- }
146
77
  const resp = await tx.execute(this.client);
147
- return resp.getReceipt(this.client);
148
- }
149
- async sendFloraJoinAccepted(params) {
150
- await this.ensureOperatorReady();
151
- const tx = buildHcs16FloraJoinAcceptedTx(params);
152
- if (params.signerKeys && params.signerKeys.length > 0) {
153
- const frozen = await tx.freezeWith(this.client);
154
- let signed = frozen;
155
- for (const key of params.signerKeys) {
156
- signed = await signed.sign(key);
157
- }
158
- const resp2 = await signed.execute(this.client);
159
- return resp2.getReceipt(this.client);
78
+ const receipt = await resp.getReceipt(this.client);
79
+ if (!receipt.accountId) {
80
+ throw new Error("HCS-15 PETAL_ACCOUNT_CREATE_FAILED");
160
81
  }
161
- const resp = await tx.execute(this.client);
162
- return resp.getReceipt(this.client);
163
- }
164
- /**
165
- * Resolve member public keys from Mirror Node and build a KeyList with the given threshold.
166
- */
167
- async assembleKeyList(params) {
168
- return super.assembleKeyList(params);
169
- }
170
- /**
171
- * Create a Flora account with a threshold KeyList, then create the three Flora topics.
172
- * Returns the Flora account ID and the topic IDs.
173
- */
174
- async createFloraAccountWithTopics(params) {
175
- await this.ensureOperatorReady();
176
- const keyList = await this.assembleKeyList({
177
- members: params.members,
178
- threshold: params.threshold
179
- });
180
- const submitList = await this.assembleSubmitKeyList(params.members);
181
- const createAcc = buildHcs16CreateAccountTx({
182
- keyList,
183
- initialBalanceHbar: typeof params.initialBalanceHbar === "number" ? params.initialBalanceHbar : 5,
184
- maxAutomaticTokenAssociations: -1
185
- });
186
- const accResp = await createAcc.execute(this.client);
187
- const accReceipt = await accResp.getReceipt(this.client);
188
- if (!accReceipt.accountId) {
189
- throw new Error("Failed to create Flora account");
82
+ const accountId = receipt.accountId.toString();
83
+ this.logger.info("Created HCS-15 petal account", { accountId });
84
+ let profile;
85
+ if (params.profile) {
86
+ profile = await this.createPetalProfile({
87
+ accountId,
88
+ basePrivateKey: baseKey,
89
+ profile: params.profile
90
+ });
190
91
  }
191
- const floraAccountId = accReceipt.accountId.toString();
192
- const {
193
- communication: commTx,
194
- transaction: trnTx,
195
- state: stateTx
196
- } = this.buildFloraTopicCreateTxs({
197
- floraAccountId,
198
- keyList,
199
- submitList,
200
- autoRenewAccountId: params.autoRenewAccountId
201
- });
202
- const commR = await commTx.execute(this.client).then((r) => r.getReceipt(this.client));
203
- const trnR = await trnTx.execute(this.client).then((r) => r.getReceipt(this.client));
204
- const stateR = await stateTx.execute(this.client).then((r) => r.getReceipt(this.client));
205
- const topics = {
206
- communication: commR.topicId.toString(),
207
- transaction: trnR.topicId.toString(),
208
- state: stateR.topicId.toString()
209
- };
210
- return { floraAccountId, topics };
92
+ return { accountId, receipt, profile };
211
93
  }
212
- async createFloraProfile(params) {
213
- await this.ensureOperatorReady();
214
- if (params.signerKeys.length === 0) {
215
- throw new Error("Flora profile creation requires signer keys");
216
- }
217
- const profile = {
218
- version: "1.0",
219
- type: 3,
220
- display_name: params.displayName,
221
- members: params.members,
222
- threshold: params.threshold,
223
- topics: params.topics,
224
- inboundTopicId: params.inboundTopicId ?? params.topics.communication,
225
- outboundTopicId: params.outboundTopicId ?? params.topics.transaction,
226
- bio: params.bio,
227
- metadata: params.metadata,
228
- policies: params.policies
229
- };
230
- const hcs11 = new HCS11Client({
94
+ async createPetalProfile(params) {
95
+ const { HCS10Client } = await import("./standards-sdk.es148.js");
96
+ const { PersonBuilder } = await import("./standards-sdk.es149.js");
97
+ const hcs10 = new HCS10Client({
231
98
  network: this.network,
232
- auth: {
233
- operatorId: this.operatorId.toString(),
234
- privateKey: this.operatorCtx.operatorKey.toString()
235
- },
99
+ operatorId: params.accountId,
100
+ operatorPrivateKey: params.basePrivateKey.toString(),
236
101
  logLevel: this.logger.getLevel()
237
102
  });
238
103
  try {
239
- await hcs11.initializeOperator();
240
- const profileResult = await hcs11.inscribeProfile(profile);
241
- if (!profileResult.success) {
242
- throw new Error(
243
- profileResult.error ?? "Failed to inscribe Flora profile"
244
- );
104
+ const builder = new PersonBuilder().setName(params.profile.displayName).setBaseAccount(params.profile.baseAccountId);
105
+ if (params.profile.alias) {
106
+ builder.setAlias(params.profile.alias);
107
+ }
108
+ if (params.profile.bio) {
109
+ builder.setBio(params.profile.bio);
110
+ }
111
+ if (params.profile.profileImage) {
112
+ builder.setProfileImage(params.profile.profileImage);
113
+ }
114
+ if (params.profile.socials) {
115
+ for (const social of params.profile.socials) {
116
+ builder.addSocial(social.platform, social.handle);
117
+ }
245
118
  }
246
- const memoResult = await hcs11.updateAccountMemoWithProfile(
247
- params.floraAccountId,
248
- profileResult.profileTopicId,
249
- params.signerKeys
250
- );
251
- if (!memoResult.success) {
252
- throw new Error(
253
- memoResult.error ?? "Failed to update Flora account memo"
254
- );
119
+ if (params.profile.properties) {
120
+ for (const [key, value] of Object.entries(params.profile.properties)) {
121
+ builder.addProperty(key, value);
122
+ }
123
+ }
124
+ const result = await hcs10.create(builder, {
125
+ ttl: params.profile.ttl ?? 300,
126
+ updateAccountMemo: true
127
+ });
128
+ if ("success" in result && result.success === false) {
129
+ throw new Error(result.error ?? "Failed to create petal profile");
130
+ }
131
+ const inboundTopicId = "inboundTopicId" in result ? result.inboundTopicId : "";
132
+ const outboundTopicId = "outboundTopicId" in result ? result.outboundTopicId : "";
133
+ const profileTopicId = "profileTopicId" in result ? result.profileTopicId : "";
134
+ if (!profileTopicId) {
135
+ throw new Error("Failed to resolve petal profile topic ID");
255
136
  }
256
137
  return {
257
- profileTopicId: profileResult.profileTopicId,
258
- transactionId: profileResult.transactionId
138
+ profileTopicId,
139
+ inboundTopicId,
140
+ outboundTopicId
259
141
  };
260
142
  } finally {
261
143
  try {
262
- hcs11.getClient().close();
144
+ hcs10.getClient().close();
263
145
  } catch {
264
146
  }
265
147
  }
266
148
  }
267
- /**
268
- * Convenience: publish flora_created on the communication topic.
269
- */
270
- async publishFloraCreated(params) {
271
- await this.ensureOperatorReady();
272
- const tx = buildHcs16FloraCreatedTx({
273
- topicId: params.communicationTopicId,
274
- operatorId: params.operatorId,
275
- floraAccountId: params.floraAccountId,
276
- topics: params.topics
277
- });
278
- const resp = await tx.execute(this.client);
279
- return resp.getReceipt(this.client);
280
- }
281
149
  }
282
150
  export {
283
- HCS16Client
151
+ HCS15Client
284
152
  };
285
153
  //# sourceMappingURL=standards-sdk.es92.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es92.js","sources":["../../src/hcs-16/sdk.ts"],"sourcesContent":["import {\n Client,\n AccountId,\n PublicKey,\n KeyList,\n TransactionReceipt,\n Hbar,\n ScheduleSignTransaction,\n PrivateKey,\n} from '@hashgraph/sdk';\nimport type { NetworkType } from '../utils/types';\nimport type { Logger } from '../utils/logger';\nimport { HCS11Client } from '../hcs-11';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS16BaseClient } from './base-client';\nimport {\n buildHcs16CreateFloraTopicTx,\n buildHcs16FloraCreatedTx,\n buildHcs16TransactionTx,\n buildHcs16StateUpdateTx,\n} from './tx';\nimport { FloraTopicType, type FloraMember, type FloraProfile } from './types';\nimport {\n buildHcs16FloraJoinRequestTx,\n buildHcs16FloraJoinVoteTx,\n buildHcs16FloraJoinAcceptedTx,\n buildHcs16CreateAccountTx,\n} from './tx';\n\nexport interface HCS16ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string;\n keyType?: 'ecdsa' | 'ed25519';\n logger?: Logger;\n}\n\nexport interface FloraProfileOptions {\n floraAccountId: string;\n displayName: string;\n members: FloraMember[];\n threshold: number;\n topics: { communication: string; transaction: string; state: string };\n inboundTopicId?: string;\n outboundTopicId?: string;\n bio?: string;\n metadata?: Record<string, unknown>;\n policies?: Record<string, string>;\n signerKeys: PrivateKey[];\n}\n\n/**\n * Node SDK client for HCS‑16 Flora operations.\n */\nexport class HCS16Client extends HCS16BaseClient {\n private readonly client: Client;\n private readonly operatorId: AccountId;\n private readonly operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS16ClientConfig) {\n super({ network: config.network, logger: config.logger });\n this.operatorId = AccountId.fromString(config.operatorId);\n const mirror = new HederaMirrorNode(config.network, this.logger);\n this.operatorCtx = createNodeOperatorContext({\n network: config.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: mirror,\n logger: this.logger,\n client:\n config.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet(),\n });\n this.client = this.operatorCtx.client;\n }\n\n private async ensureOperatorReady(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n /**\n * Create a Flora topic with memo `hcs-16:<floraAccountId>:<topicType>`.\n */\n async createFloraTopic(params: {\n floraAccountId: string;\n topicType: FloraTopicType;\n adminKey?: PublicKey | KeyList;\n submitKey?: PublicKey | KeyList;\n autoRenewAccountId?: string;\n signerKeys?: PrivateKey[];\n }): Promise<string> {\n await this.ensureOperatorReady();\n const tx = buildHcs16CreateFloraTopicTx({\n floraAccountId: params.floraAccountId,\n topicType: params.topicType,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n const signerKeys = params.signerKeys ?? [];\n if (signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.topicId) {\n throw new Error('Failed to create Flora topic');\n }\n return receipt.topicId.toString();\n }\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.topicId) {\n throw new Error('Failed to create Flora topic');\n }\n return receipt.topicId.toString();\n }\n\n async createFloraAccount(params: {\n keyList: KeyList;\n initialBalanceHbar?: number;\n maxAutomaticTokenAssociations?: number;\n }): Promise<{ accountId: string; receipt: TransactionReceipt }> {\n await this.ensureOperatorReady();\n const tx = buildHcs16CreateAccountTx({\n keyList: params.keyList,\n initialBalanceHbar: params.initialBalanceHbar,\n maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.accountId) {\n throw new Error('Failed to create Flora account');\n }\n return { accountId: receipt.accountId.toString(), receipt };\n }\n\n async sendFloraCreated(params: {\n topicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraCreatedTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Send HCS-16 transaction (preferred). scheduleId is the ScheduleId entity (e.g., 0.0.12345).\n */\n async sendTransaction(params: {\n topicId: string;\n operatorId: string;\n scheduleId: string;\n data?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16TransactionTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Sign a scheduled transaction by ScheduleId entity using provided signer key (PrivateKey).\n * The signer must be a valid member key for the scheduled transaction to count toward threshold.\n */\n async signSchedule(params: {\n scheduleId: string;\n signerKey: PrivateKey;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = await new ScheduleSignTransaction()\n .setScheduleId(params.scheduleId)\n .freezeWith(this.client);\n const signed = await tx.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendStateUpdate(params: {\n topicId: string;\n operatorId: string;\n hash: string;\n epoch?: number;\n accountId?: string;\n topics?: string[];\n memo?: string;\n transactionMemo?: string;\n signerKeys?: PrivateKey[];\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16StateUpdateTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n hash: params.hash,\n epoch: params.epoch,\n accountId: params.accountId,\n topics: params.topics,\n memo: params.memo,\n transactionMemo: params.transactionMemo,\n });\n if (params.signerKeys && params.signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of params.signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinRequest(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n connectionRequestId: number;\n connectionTopicId: string;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraJoinRequestTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinVote(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n approve: boolean;\n connectionRequestId: number;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraJoinVoteTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinAccepted(params: {\n topicId: string;\n operatorId: string;\n members: string[];\n epoch?: number;\n signerKeys?: PrivateKey[];\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraJoinAcceptedTx(params);\n if (params.signerKeys && params.signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of params.signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Resolve member public keys from Mirror Node and build a KeyList with the given threshold.\n */\n async assembleKeyList(params: {\n members: string[];\n threshold: number;\n }): Promise<KeyList> {\n return super.assembleKeyList(params);\n }\n\n /**\n * Create a Flora account with a threshold KeyList, then create the three Flora topics.\n * Returns the Flora account ID and the topic IDs.\n */\n async createFloraAccountWithTopics(params: {\n members: string[];\n threshold: number;\n initialBalanceHbar?: number;\n autoRenewAccountId?: string;\n }): Promise<{\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }> {\n await this.ensureOperatorReady();\n const keyList = await this.assembleKeyList({\n members: params.members,\n threshold: params.threshold,\n });\n const submitList = await this.assembleSubmitKeyList(params.members);\n\n const createAcc = buildHcs16CreateAccountTx({\n keyList,\n initialBalanceHbar:\n typeof params.initialBalanceHbar === 'number'\n ? params.initialBalanceHbar\n : 5,\n maxAutomaticTokenAssociations: -1,\n });\n const accResp = await createAcc.execute(this.client);\n const accReceipt = await accResp.getReceipt(this.client);\n if (!accReceipt.accountId) {\n throw new Error('Failed to create Flora account');\n }\n const floraAccountId = accReceipt.accountId.toString();\n\n const {\n communication: commTx,\n transaction: trnTx,\n state: stateTx,\n } = this.buildFloraTopicCreateTxs({\n floraAccountId,\n keyList,\n submitList,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n\n const commR = await commTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const trnR = await trnTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const stateR = await stateTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const topics = {\n communication: commR.topicId!.toString(),\n transaction: trnR.topicId!.toString(),\n state: stateR.topicId!.toString(),\n };\n return { floraAccountId, topics };\n }\n\n async createFloraProfile(params: FloraProfileOptions): Promise<{\n profileTopicId: string;\n transactionId: string;\n }> {\n await this.ensureOperatorReady();\n if (params.signerKeys.length === 0) {\n throw new Error('Flora profile creation requires signer keys');\n }\n\n const profile: FloraProfile = {\n version: '1.0',\n type: 3,\n display_name: params.displayName,\n members: params.members,\n threshold: params.threshold,\n topics: params.topics,\n inboundTopicId: params.inboundTopicId ?? params.topics.communication,\n outboundTopicId: params.outboundTopicId ?? params.topics.transaction,\n bio: params.bio,\n metadata: params.metadata,\n policies: params.policies,\n };\n\n const hcs11 = new HCS11Client({\n network: this.network,\n auth: {\n operatorId: this.operatorId.toString(),\n privateKey: this.operatorCtx.operatorKey.toString(),\n },\n logLevel: this.logger.getLevel(),\n });\n\n try {\n await hcs11.initializeOperator();\n const profileResult = await hcs11.inscribeProfile(profile);\n if (!profileResult.success) {\n throw new Error(\n profileResult.error ?? 'Failed to inscribe Flora profile',\n );\n }\n\n const memoResult = await hcs11.updateAccountMemoWithProfile(\n params.floraAccountId,\n profileResult.profileTopicId,\n params.signerKeys,\n );\n\n if (!memoResult.success) {\n throw new Error(\n memoResult.error ?? 'Failed to update Flora account memo',\n );\n }\n\n return {\n profileTopicId: profileResult.profileTopicId,\n transactionId: profileResult.transactionId,\n };\n } finally {\n try {\n hcs11.getClient().close();\n } catch {}\n }\n }\n\n /**\n * Convenience: publish flora_created on the communication topic.\n */\n async publishFloraCreated(params: {\n communicationTopicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraCreatedTx({\n topicId: params.communicationTopicId,\n operatorId: params.operatorId,\n floraAccountId: params.floraAccountId,\n topics: params.topics,\n });\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n}\n"],"names":["resp","receipt"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es92.js","sources":["../../src/hcs-15/sdk.ts"],"sourcesContent":["import {\n AccountId,\n Client,\n Hbar,\n PrivateKey,\n PublicKey,\n TransactionReceipt,\n} from '@hashgraph/sdk';\nimport { NetworkType } from '../utils/types';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport {\n buildHcs15BaseAccountCreateTx,\n buildHcs15PetalAccountCreateTx,\n} from './tx';\nimport type {\n PetalProfileOptions,\n PetalProfileResult,\n SDKHCS15ClientConfig,\n} from './types';\nimport { HCS15BaseClient } from './base-client';\n\nexport class HCS15Client extends HCS15BaseClient {\n private readonly operatorCtx: NodeOperatorContext;\n private readonly client: Client;\n private readonly operatorId: AccountId;\n\n constructor(config: SDKHCS15ClientConfig) {\n super(config);\n this.operatorId = AccountId.fromString(config.operatorId);\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client:\n this.network === 'mainnet' ? Client.forMainnet() : Client.forTestnet(),\n });\n this.client = this.operatorCtx.client;\n }\n\n public getKeyType(): 'ed25519' | 'ecdsa' {\n return this.operatorCtx.keyType;\n }\n\n public async close(): Promise<void> {\n try {\n this.client.close();\n } catch {}\n }\n\n private async ensureOperatorReady(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n /**\n * Create a new base account with a newly generated ECDSA key and EVM alias.\n */\n async createBaseAccount(options?: {\n initialBalance?: number;\n maxAutomaticTokenAssociations?: number;\n accountMemo?: string;\n transactionMemo?: string;\n }): Promise<{\n accountId: string;\n privateKey: PrivateKey;\n privateKeyHex: string;\n publicKey: PublicKey;\n evmAddress: string;\n receipt: TransactionReceipt;\n }> {\n await this.ensureOperatorReady();\n const priv = PrivateKey.generateECDSA();\n const pub = priv.publicKey;\n const tx = buildHcs15BaseAccountCreateTx({\n publicKey: pub,\n initialBalance: new Hbar(options?.initialBalance ?? 10),\n maxAutomaticTokenAssociations: options?.maxAutomaticTokenAssociations,\n accountMemo: options?.accountMemo,\n transactionMemo: options?.transactionMemo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.accountId) {\n throw new Error('HCS-15 BASE_ACCOUNT_CREATE_FAILED');\n }\n const accountId = receipt.accountId.toString();\n const evmAddress = `0x${pub.toEvmAddress()}`;\n this.logger.info('Created HCS-15 base account', { accountId, evmAddress });\n return {\n accountId,\n privateKey: priv,\n privateKeyHex: priv.toStringRaw(),\n publicKey: pub,\n evmAddress,\n receipt,\n };\n }\n\n /**\n * Create a Petal account that reuses the base account ECDSA key (no alias).\n */\n async createPetalAccount(params: {\n basePrivateKey: string | PrivateKey;\n initialBalance?: number;\n maxAutomaticTokenAssociations?: number;\n accountMemo?: string;\n transactionMemo?: string;\n profile?: PetalProfileOptions;\n }): Promise<{\n accountId: string;\n receipt: TransactionReceipt;\n profile?: PetalProfileResult;\n }> {\n await this.ensureOperatorReady();\n const baseKey =\n typeof params.basePrivateKey === 'string'\n ? PrivateKey.fromStringECDSA(params.basePrivateKey)\n : params.basePrivateKey;\n const pub = baseKey.publicKey;\n const tx = buildHcs15PetalAccountCreateTx({\n publicKey: pub,\n initialBalance: new Hbar(params.initialBalance ?? 1),\n maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations,\n accountMemo: params.accountMemo,\n transactionMemo: params.transactionMemo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.accountId) {\n throw new Error('HCS-15 PETAL_ACCOUNT_CREATE_FAILED');\n }\n const accountId = receipt.accountId.toString();\n this.logger.info('Created HCS-15 petal account', { accountId });\n let profile: PetalProfileResult | undefined;\n if (params.profile) {\n profile = await this.createPetalProfile({\n accountId,\n basePrivateKey: baseKey,\n profile: params.profile,\n });\n }\n return { accountId, receipt, profile };\n }\n\n private async createPetalProfile(params: {\n accountId: string;\n basePrivateKey: PrivateKey;\n profile: PetalProfileOptions;\n }): Promise<PetalProfileResult> {\n const { HCS10Client } = await import('../hcs-10');\n const { PersonBuilder } = await import('../hcs-11');\n const hcs10 = new HCS10Client({\n network: this.network,\n operatorId: params.accountId,\n operatorPrivateKey: params.basePrivateKey.toString(),\n logLevel: this.logger.getLevel(),\n });\n\n try {\n const builder = new PersonBuilder()\n .setName(params.profile.displayName)\n .setBaseAccount(params.profile.baseAccountId);\n\n if (params.profile.alias) {\n builder.setAlias(params.profile.alias);\n }\n\n if (params.profile.bio) {\n builder.setBio(params.profile.bio);\n }\n\n if (params.profile.profileImage) {\n builder.setProfileImage(params.profile.profileImage);\n }\n\n if (params.profile.socials) {\n for (const social of params.profile.socials) {\n builder.addSocial(social.platform, social.handle);\n }\n }\n\n if (params.profile.properties) {\n for (const [key, value] of Object.entries(params.profile.properties)) {\n builder.addProperty(key, value);\n }\n }\n\n const result = await hcs10.create(builder, {\n ttl: params.profile.ttl ?? 300,\n updateAccountMemo: true,\n });\n\n if ('success' in result && result.success === false) {\n throw new Error(result.error ?? 'Failed to create petal profile');\n }\n\n const inboundTopicId =\n 'inboundTopicId' in result ? result.inboundTopicId : '';\n const outboundTopicId =\n 'outboundTopicId' in result ? result.outboundTopicId : '';\n const profileTopicId =\n 'profileTopicId' in result ? result.profileTopicId : '';\n\n if (!profileTopicId) {\n throw new Error('Failed to resolve petal profile topic ID');\n }\n\n return {\n profileTopicId,\n inboundTopicId,\n outboundTopicId,\n };\n } finally {\n try {\n hcs10.getClient().close();\n } catch {}\n }\n }\n}\n"],"names":[],"mappings":"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"}