@hashgraphonline/standards-sdk 0.1.141 → 0.1.143-feat-adapter-registry.canary.fb173dc.54

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 (350) hide show
  1. package/README.md +24 -1
  2. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-11/types.d.ts +1 -0
  4. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  5. package/dist/cjs/hcs-12/validation/schemas.d.ts +8 -8
  6. package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
  7. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  8. package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
  9. package/dist/cjs/hcs-20/types.d.ts +9 -8
  10. package/dist/cjs/hcs-20/types.d.ts.map +1 -1
  11. package/dist/cjs/hcs-21/base-client.d.ts +14 -12
  12. package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
  13. package/dist/cjs/hcs-21/browser.d.ts +17 -7
  14. package/dist/cjs/hcs-21/browser.d.ts.map +1 -1
  15. package/dist/cjs/hcs-21/index.d.ts +1 -0
  16. package/dist/cjs/hcs-21/index.d.ts.map +1 -1
  17. package/dist/cjs/hcs-21/sdk.d.ts +70 -6
  18. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  19. package/dist/cjs/hcs-21/tx.d.ts +6 -2
  20. package/dist/cjs/hcs-21/tx.d.ts.map +1 -1
  21. package/dist/cjs/hcs-21/types.d.ts +751 -66
  22. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  23. package/dist/cjs/hcs-21/verify.d.ts +6 -0
  24. package/dist/cjs/hcs-21/verify.d.ts.map +1 -0
  25. package/dist/cjs/inscribe/inscriber.d.ts +3 -1
  26. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  27. package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
  28. package/dist/cjs/inscribe/types.d.ts +7 -0
  29. package/dist/cjs/inscribe/types.d.ts.map +1 -1
  30. package/dist/cjs/services/registry-broker/client/adapters.d.ts +20 -0
  31. package/dist/cjs/services/registry-broker/client/adapters.d.ts.map +1 -0
  32. package/dist/cjs/services/registry-broker/client/agents.d.ts +16 -0
  33. package/dist/cjs/services/registry-broker/client/agents.d.ts.map +1 -0
  34. package/dist/cjs/services/registry-broker/client/base-client.d.ts +57 -0
  35. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -0
  36. package/dist/cjs/services/registry-broker/client/chat-history.d.ts +23 -0
  37. package/dist/cjs/services/registry-broker/client/chat-history.d.ts.map +1 -0
  38. package/dist/cjs/services/registry-broker/client/chat.d.ts +33 -0
  39. package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -0
  40. package/dist/cjs/services/registry-broker/client/credits.d.ts +40 -0
  41. package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  43. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  44. package/dist/cjs/services/registry-broker/client/encryption.d.ts +33 -0
  45. package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/client/errors.d.ts +19 -0
  47. package/dist/cjs/services/registry-broker/client/errors.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts +10 -0
  49. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  50. package/dist/cjs/services/registry-broker/client/search.d.ts +19 -0
  51. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -0
  52. package/dist/cjs/services/registry-broker/client/utils.d.ts +21 -0
  53. package/dist/cjs/services/registry-broker/client/utils.d.ts.map +1 -0
  54. package/dist/cjs/services/registry-broker/client.d.ts +2 -204
  55. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  56. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  57. package/dist/cjs/services/registry-broker/schemas.d.ts +1473 -177
  58. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  59. package/dist/cjs/services/registry-broker/types.d.ts +45 -3
  60. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  61. package/dist/cjs/services/types.d.ts +1 -0
  62. package/dist/cjs/services/types.d.ts.map +1 -1
  63. package/dist/cjs/standards-sdk.cjs +2 -2
  64. package/dist/cjs/standards-sdk.cjs.map +1 -1
  65. package/dist/cjs/utils/dynamic-import.d.ts +1 -0
  66. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  67. package/dist/es/hcs-11/client.d.ts.map +1 -1
  68. package/dist/es/hcs-11/types.d.ts +1 -0
  69. package/dist/es/hcs-11/types.d.ts.map +1 -1
  70. package/dist/es/hcs-12/validation/schemas.d.ts +8 -8
  71. package/dist/es/hcs-16/base-client.d.ts.map +1 -1
  72. package/dist/es/hcs-17/types.d.ts.map +1 -1
  73. package/dist/es/hcs-20/sdk.d.ts.map +1 -1
  74. package/dist/es/hcs-20/types.d.ts +9 -8
  75. package/dist/es/hcs-20/types.d.ts.map +1 -1
  76. package/dist/es/hcs-21/base-client.d.ts +14 -12
  77. package/dist/es/hcs-21/base-client.d.ts.map +1 -1
  78. package/dist/es/hcs-21/browser.d.ts +17 -7
  79. package/dist/es/hcs-21/browser.d.ts.map +1 -1
  80. package/dist/es/hcs-21/index.d.ts +1 -0
  81. package/dist/es/hcs-21/index.d.ts.map +1 -1
  82. package/dist/es/hcs-21/sdk.d.ts +70 -6
  83. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  84. package/dist/es/hcs-21/tx.d.ts +6 -2
  85. package/dist/es/hcs-21/tx.d.ts.map +1 -1
  86. package/dist/es/hcs-21/types.d.ts +751 -66
  87. package/dist/es/hcs-21/types.d.ts.map +1 -1
  88. package/dist/es/hcs-21/verify.d.ts +6 -0
  89. package/dist/es/hcs-21/verify.d.ts.map +1 -0
  90. package/dist/es/inscribe/inscriber.d.ts +3 -1
  91. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  92. package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
  93. package/dist/es/inscribe/types.d.ts +7 -0
  94. package/dist/es/inscribe/types.d.ts.map +1 -1
  95. package/dist/es/services/registry-broker/client/adapters.d.ts +20 -0
  96. package/dist/es/services/registry-broker/client/adapters.d.ts.map +1 -0
  97. package/dist/es/services/registry-broker/client/agents.d.ts +16 -0
  98. package/dist/es/services/registry-broker/client/agents.d.ts.map +1 -0
  99. package/dist/es/services/registry-broker/client/base-client.d.ts +57 -0
  100. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -0
  101. package/dist/es/services/registry-broker/client/chat-history.d.ts +23 -0
  102. package/dist/es/services/registry-broker/client/chat-history.d.ts.map +1 -0
  103. package/dist/es/services/registry-broker/client/chat.d.ts +33 -0
  104. package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -0
  105. package/dist/es/services/registry-broker/client/credits.d.ts +40 -0
  106. package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -0
  107. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  108. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  109. package/dist/es/services/registry-broker/client/encryption.d.ts +33 -0
  110. package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -0
  111. package/dist/es/services/registry-broker/client/errors.d.ts +19 -0
  112. package/dist/es/services/registry-broker/client/errors.d.ts.map +1 -0
  113. package/dist/es/services/registry-broker/client/ledger-auth.d.ts +10 -0
  114. package/dist/es/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  115. package/dist/es/services/registry-broker/client/search.d.ts +19 -0
  116. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -0
  117. package/dist/es/services/registry-broker/client/utils.d.ts +21 -0
  118. package/dist/es/services/registry-broker/client/utils.d.ts.map +1 -0
  119. package/dist/es/services/registry-broker/client.d.ts +2 -204
  120. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  121. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  122. package/dist/es/services/registry-broker/schemas.d.ts +1473 -177
  123. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  124. package/dist/es/services/registry-broker/types.d.ts +45 -3
  125. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  126. package/dist/es/services/types.d.ts +1 -0
  127. package/dist/es/services/types.d.ts.map +1 -1
  128. package/dist/es/standards-sdk.es.js +73 -51
  129. package/dist/es/standards-sdk.es.js.map +1 -1
  130. package/dist/es/standards-sdk.es10.js +2 -2
  131. package/dist/es/standards-sdk.es100.js +26 -229
  132. package/dist/es/standards-sdk.es100.js.map +1 -1
  133. package/dist/es/standards-sdk.es101.js +228 -109
  134. package/dist/es/standards-sdk.es101.js.map +1 -1
  135. package/dist/es/standards-sdk.es102.js +94 -15
  136. package/dist/es/standards-sdk.es102.js.map +1 -1
  137. package/dist/es/standards-sdk.es103.js +30 -80
  138. package/dist/es/standards-sdk.es103.js.map +1 -1
  139. package/dist/es/standards-sdk.es104.js +80 -27
  140. package/dist/es/standards-sdk.es104.js.map +1 -1
  141. package/dist/es/standards-sdk.es105.js +25 -136
  142. package/dist/es/standards-sdk.es105.js.map +1 -1
  143. package/dist/es/standards-sdk.es106.js +140 -27
  144. package/dist/es/standards-sdk.es106.js.map +1 -1
  145. package/dist/es/standards-sdk.es107.js +27 -20
  146. package/dist/es/standards-sdk.es107.js.map +1 -1
  147. package/dist/es/standards-sdk.es108.js +18 -156
  148. package/dist/es/standards-sdk.es108.js.map +1 -1
  149. package/dist/es/standards-sdk.es109.js +148 -196
  150. package/dist/es/standards-sdk.es109.js.map +1 -1
  151. package/dist/es/standards-sdk.es110.js +167 -747
  152. package/dist/es/standards-sdk.es110.js.map +1 -1
  153. package/dist/es/standards-sdk.es111.js +786 -9
  154. package/dist/es/standards-sdk.es111.js.map +1 -1
  155. package/dist/es/standards-sdk.es112.js +13 -567
  156. package/dist/es/standards-sdk.es112.js.map +1 -1
  157. package/dist/es/standards-sdk.es113.js +541 -576
  158. package/dist/es/standards-sdk.es113.js.map +1 -1
  159. package/dist/es/standards-sdk.es114.js +601 -12
  160. package/dist/es/standards-sdk.es114.js.map +1 -1
  161. package/dist/es/standards-sdk.es115.js +13 -2
  162. package/dist/es/standards-sdk.es115.js.map +1 -1
  163. package/dist/es/standards-sdk.es116.js +2 -83
  164. package/dist/es/standards-sdk.es116.js.map +1 -1
  165. package/dist/es/standards-sdk.es117.js +80 -36
  166. package/dist/es/standards-sdk.es117.js.map +1 -1
  167. package/dist/es/standards-sdk.es118.js +39 -2
  168. package/dist/es/standards-sdk.es118.js.map +1 -1
  169. package/dist/es/standards-sdk.es119.js +2 -223
  170. package/dist/es/standards-sdk.es119.js.map +1 -1
  171. package/dist/es/standards-sdk.es12.js +1 -1
  172. package/dist/es/standards-sdk.es120.js +193 -1110
  173. package/dist/es/standards-sdk.es120.js.map +1 -1
  174. package/dist/es/standards-sdk.es121.js +1059 -225
  175. package/dist/es/standards-sdk.es121.js.map +1 -1
  176. package/dist/es/standards-sdk.es122.js +303 -419
  177. package/dist/es/standards-sdk.es122.js.map +1 -1
  178. package/dist/es/standards-sdk.es123.js +418 -351
  179. package/dist/es/standards-sdk.es123.js.map +1 -1
  180. package/dist/es/standards-sdk.es124.js +348 -754
  181. package/dist/es/standards-sdk.es124.js.map +1 -1
  182. package/dist/es/standards-sdk.es125.js +854 -178
  183. package/dist/es/standards-sdk.es125.js.map +1 -1
  184. package/dist/es/standards-sdk.es126.js +153 -1512
  185. package/dist/es/standards-sdk.es126.js.map +1 -1
  186. package/dist/es/standards-sdk.es127.js +1373 -1977
  187. package/dist/es/standards-sdk.es127.js.map +1 -1
  188. package/dist/es/standards-sdk.es128.js +176 -51
  189. package/dist/es/standards-sdk.es128.js.map +1 -1
  190. package/dist/es/standards-sdk.es129.js +196 -76
  191. package/dist/es/standards-sdk.es129.js.map +1 -1
  192. package/dist/es/standards-sdk.es13.js +1 -1
  193. package/dist/es/standards-sdk.es130.js +98 -153
  194. package/dist/es/standards-sdk.es130.js.map +1 -1
  195. package/dist/es/standards-sdk.es131.js +122 -8
  196. package/dist/es/standards-sdk.es131.js.map +1 -1
  197. package/dist/es/standards-sdk.es132.js +234 -73
  198. package/dist/es/standards-sdk.es132.js.map +1 -1
  199. package/dist/es/standards-sdk.es133.js +171 -56
  200. package/dist/es/standards-sdk.es133.js.map +1 -1
  201. package/dist/es/standards-sdk.es134.js +123 -29
  202. package/dist/es/standards-sdk.es134.js.map +1 -1
  203. package/dist/es/standards-sdk.es135.js +313 -125
  204. package/dist/es/standards-sdk.es135.js.map +1 -1
  205. package/dist/es/standards-sdk.es136.js +358 -34
  206. package/dist/es/standards-sdk.es136.js.map +1 -1
  207. package/dist/es/standards-sdk.es137.js +17 -732
  208. package/dist/es/standards-sdk.es137.js.map +1 -1
  209. package/dist/es/standards-sdk.es138.js +65 -12264
  210. package/dist/es/standards-sdk.es138.js.map +1 -1
  211. package/dist/es/standards-sdk.es139.js +86 -16
  212. package/dist/es/standards-sdk.es139.js.map +1 -1
  213. package/dist/es/standards-sdk.es14.js +1 -1
  214. package/dist/es/standards-sdk.es140.js +152 -49
  215. package/dist/es/standards-sdk.es140.js.map +1 -1
  216. package/dist/es/standards-sdk.es141.js +7 -64
  217. package/dist/es/standards-sdk.es141.js.map +1 -1
  218. package/dist/es/standards-sdk.es142.js +71 -157
  219. package/dist/es/standards-sdk.es142.js.map +1 -1
  220. package/dist/es/standards-sdk.es143.js +49 -306
  221. package/dist/es/standards-sdk.es143.js.map +1 -1
  222. package/dist/es/standards-sdk.es144.js +28 -346
  223. package/dist/es/standards-sdk.es144.js.map +1 -1
  224. package/dist/es/standards-sdk.es145.js +112 -427
  225. package/dist/es/standards-sdk.es145.js.map +1 -1
  226. package/dist/es/standards-sdk.es146.js +40 -329
  227. package/dist/es/standards-sdk.es146.js.map +1 -1
  228. package/dist/es/standards-sdk.es147.js +12277 -66
  229. package/dist/es/standards-sdk.es147.js.map +1 -1
  230. package/dist/es/standards-sdk.es148.js +20 -0
  231. package/dist/es/standards-sdk.es148.js.map +1 -0
  232. package/dist/es/standards-sdk.es149.js +59 -0
  233. package/dist/es/standards-sdk.es149.js.map +1 -0
  234. package/dist/es/standards-sdk.es15.js +1 -1
  235. package/dist/es/standards-sdk.es150.js +85 -0
  236. package/dist/es/standards-sdk.es150.js.map +1 -0
  237. package/dist/es/standards-sdk.es151.js +175 -0
  238. package/dist/es/standards-sdk.es151.js.map +1 -0
  239. package/dist/es/standards-sdk.es152.js +325 -0
  240. package/dist/es/standards-sdk.es152.js.map +1 -0
  241. package/dist/es/standards-sdk.es153.js +349 -0
  242. package/dist/es/standards-sdk.es153.js.map +1 -0
  243. package/dist/es/standards-sdk.es154.js +456 -0
  244. package/dist/es/standards-sdk.es154.js.map +1 -0
  245. package/dist/es/standards-sdk.es155.js +334 -0
  246. package/dist/es/standards-sdk.es155.js.map +1 -0
  247. package/dist/es/standards-sdk.es156.js +79 -0
  248. package/dist/es/standards-sdk.es156.js.map +1 -0
  249. package/dist/es/standards-sdk.es157.js +874 -0
  250. package/dist/es/standards-sdk.es157.js.map +1 -0
  251. package/dist/es/standards-sdk.es158.js +242 -0
  252. package/dist/es/standards-sdk.es158.js.map +1 -0
  253. package/dist/es/standards-sdk.es159.js +247 -0
  254. package/dist/es/standards-sdk.es159.js.map +1 -0
  255. package/dist/es/standards-sdk.es16.js +1 -1
  256. package/dist/es/standards-sdk.es17.js +13 -11
  257. package/dist/es/standards-sdk.es17.js.map +1 -1
  258. package/dist/es/standards-sdk.es19.js +20 -17
  259. package/dist/es/standards-sdk.es19.js.map +1 -1
  260. package/dist/es/standards-sdk.es20.js +17 -14
  261. package/dist/es/standards-sdk.es20.js.map +1 -1
  262. package/dist/es/standards-sdk.es21.js +1 -1
  263. package/dist/es/standards-sdk.es22.js +1 -1
  264. package/dist/es/standards-sdk.es23.js +1 -1
  265. package/dist/es/standards-sdk.es24.js +1 -1
  266. package/dist/es/standards-sdk.es25.js +1 -1
  267. package/dist/es/standards-sdk.es26.js +1 -1
  268. package/dist/es/standards-sdk.es27.js +1 -1
  269. package/dist/es/standards-sdk.es28.js +24 -19
  270. package/dist/es/standards-sdk.es28.js.map +1 -1
  271. package/dist/es/standards-sdk.es29.js.map +1 -1
  272. package/dist/es/standards-sdk.es3.js +2 -2
  273. package/dist/es/standards-sdk.es31.js +2 -2
  274. package/dist/es/standards-sdk.es32.js +4 -4
  275. package/dist/es/standards-sdk.es33.js +1 -1
  276. package/dist/es/standards-sdk.es36.js +16 -13
  277. package/dist/es/standards-sdk.es36.js.map +1 -1
  278. package/dist/es/standards-sdk.es37.js +4 -4
  279. package/dist/es/standards-sdk.es38.js +2 -2
  280. package/dist/es/standards-sdk.es39.js +2 -2
  281. package/dist/es/standards-sdk.es40.js +1 -1
  282. package/dist/es/standards-sdk.es41.js +1 -1
  283. package/dist/es/standards-sdk.es42.js +2 -2
  284. package/dist/es/standards-sdk.es47.js +1 -1
  285. package/dist/es/standards-sdk.es5.js +2 -2
  286. package/dist/es/standards-sdk.es52.js +1 -1
  287. package/dist/es/standards-sdk.es54.js +1 -1
  288. package/dist/es/standards-sdk.es57.js +2 -2
  289. package/dist/es/standards-sdk.es59.js +1 -1
  290. package/dist/es/standards-sdk.es6.js +2 -2
  291. package/dist/es/standards-sdk.es60.js +1 -1
  292. package/dist/es/standards-sdk.es61.js +15 -12
  293. package/dist/es/standards-sdk.es61.js.map +1 -1
  294. package/dist/es/standards-sdk.es63.js +1 -1
  295. package/dist/es/standards-sdk.es65.js +2 -2
  296. package/dist/es/standards-sdk.es66.js +3 -3
  297. package/dist/es/standards-sdk.es69.js +2 -2
  298. package/dist/es/standards-sdk.es7.js +2 -2
  299. package/dist/es/standards-sdk.es70.js +3 -3
  300. package/dist/es/standards-sdk.es71.js +2 -2
  301. package/dist/es/standards-sdk.es72.js +1 -1
  302. package/dist/es/standards-sdk.es73.js.map +1 -1
  303. package/dist/es/standards-sdk.es75.js +2 -2
  304. package/dist/es/standards-sdk.es77.js +5 -3
  305. package/dist/es/standards-sdk.es77.js.map +1 -1
  306. package/dist/es/standards-sdk.es78.js +12 -11
  307. package/dist/es/standards-sdk.es78.js.map +1 -1
  308. package/dist/es/standards-sdk.es79.js +1 -1
  309. package/dist/es/standards-sdk.es8.js +1 -1
  310. package/dist/es/standards-sdk.es80.js +113 -29
  311. package/dist/es/standards-sdk.es80.js.map +1 -1
  312. package/dist/es/standards-sdk.es82.js +23 -4
  313. package/dist/es/standards-sdk.es82.js.map +1 -1
  314. package/dist/es/standards-sdk.es83.js +39 -14
  315. package/dist/es/standards-sdk.es83.js.map +1 -1
  316. package/dist/es/standards-sdk.es84.js +198 -17
  317. package/dist/es/standards-sdk.es84.js.map +1 -1
  318. package/dist/es/standards-sdk.es85.js +256 -9
  319. package/dist/es/standards-sdk.es85.js.map +1 -1
  320. package/dist/es/standards-sdk.es86.js +55 -21
  321. package/dist/es/standards-sdk.es86.js.map +1 -1
  322. package/dist/es/standards-sdk.es87.js +22 -75
  323. package/dist/es/standards-sdk.es87.js.map +1 -1
  324. package/dist/es/standards-sdk.es88.js +45 -30
  325. package/dist/es/standards-sdk.es88.js.map +1 -1
  326. package/dist/es/standards-sdk.es89.js +57 -22
  327. package/dist/es/standards-sdk.es89.js.map +1 -1
  328. package/dist/es/standards-sdk.es90.js +28 -23
  329. package/dist/es/standards-sdk.es90.js.map +1 -1
  330. package/dist/es/standards-sdk.es91.js +23 -167
  331. package/dist/es/standards-sdk.es91.js.map +1 -1
  332. package/dist/es/standards-sdk.es92.js +158 -119
  333. package/dist/es/standards-sdk.es92.js.map +1 -1
  334. package/dist/es/standards-sdk.es93.js +68 -95
  335. package/dist/es/standards-sdk.es93.js.map +1 -1
  336. package/dist/es/standards-sdk.es94.js +136 -119
  337. package/dist/es/standards-sdk.es94.js.map +1 -1
  338. package/dist/es/standards-sdk.es95.js +139 -39
  339. package/dist/es/standards-sdk.es95.js.map +1 -1
  340. package/dist/es/standards-sdk.es96.js +42 -257
  341. package/dist/es/standards-sdk.es96.js.map +1 -1
  342. package/dist/es/standards-sdk.es97.js +243 -80
  343. package/dist/es/standards-sdk.es97.js.map +1 -1
  344. package/dist/es/standards-sdk.es98.js +47 -48
  345. package/dist/es/standards-sdk.es98.js.map +1 -1
  346. package/dist/es/standards-sdk.es99.js +100 -28
  347. package/dist/es/standards-sdk.es99.js.map +1 -1
  348. package/dist/es/utils/dynamic-import.d.ts +1 -0
  349. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  350. package/package.json +6 -10
@@ -1,28 +1,33 @@
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 { 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
+ }
21
28
  }
22
29
  }
23
30
  export {
24
- FloraError,
25
- FloraOperation,
26
- FloraTopicType
31
+ HCS15BaseClient
27
32
  };
28
33
  //# sourceMappingURL=standards-sdk.es90.js.map
@@ -1 +1 @@
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
+ {"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,172 +1,28 @@
1
- import { AccountId, TopicCreateTransaction, CustomFixedFee, TokenId, AccountCreateTransaction, Hbar, AccountUpdateTransaction, ScheduleCreateTransaction, TopicUpdateTransaction } from "@hashgraph/sdk";
2
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es136.js";
3
- import { FloraOperation } from "./standards-sdk.es90.js";
4
- function encodeHcs16FloraMemo(params) {
5
- return `hcs-16:${params.floraAccountId}:${params.topicType}`;
6
- }
7
- function buildHcs16CreateFloraTopicTx(params) {
8
- const memo = encodeHcs16FloraMemo({
9
- floraAccountId: params.floraAccountId,
10
- topicType: params.topicType
11
- });
12
- const tx = buildTopicCreateTx({
13
- memo,
14
- adminKey: params.adminKey,
15
- submitKey: params.submitKey,
16
- operatorPublicKey: params.operatorPublicKey
17
- });
18
- if (params.autoRenewAccountId) {
19
- tx.setAutoRenewAccountId(AccountId.fromString(params.autoRenewAccountId));
20
- }
21
- return tx;
22
- }
23
- function buildHcs16CreateTransactionTopicTx(params) {
24
- const tx = new TopicCreateTransaction().setTopicMemo(params.memo);
25
- if (params.adminKey) {
26
- tx.setAdminKey(params.adminKey);
27
- }
28
- if (params.submitKey) {
29
- tx.setSubmitKey(params.submitKey);
30
- }
31
- if (params.feeScheduleKey) {
32
- tx.setFeeScheduleKey(params.feeScheduleKey);
33
- }
34
- if (params.customFees && params.customFees.length > 0) {
35
- const fees = params.customFees.map((fee) => {
36
- const cf = new CustomFixedFee().setAmount(fee.amount).setFeeCollectorAccountId(
37
- AccountId.fromString(fee.feeCollectorAccountId)
38
- );
39
- if (fee.denominatingTokenId) {
40
- cf.setDenominatingTokenId(TokenId.fromString(fee.denominatingTokenId));
41
- }
42
- return cf;
43
- });
44
- tx.setCustomFees(fees);
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";
45
21
  }
46
- if (params.feeExemptKeys && params.feeExemptKeys.length > 0) {
47
- throw new Error("feeExemptKeys not supported by installed @hashgraph/sdk");
48
- }
49
- return tx;
50
- }
51
- function buildHcs16CreateAccountTx(params) {
52
- const tx = new AccountCreateTransaction().setKey(params.keyList);
53
- const initial = typeof params.initialBalanceHbar === "number" ? params.initialBalanceHbar : 1;
54
- tx.setInitialBalance(new Hbar(initial));
55
- const maxAssoc = typeof params.maxAutomaticTokenAssociations === "number" ? params.maxAutomaticTokenAssociations : -1;
56
- tx.setMaxAutomaticTokenAssociations(maxAssoc);
57
- return tx;
58
- }
59
- function buildHcs16ScheduleAccountKeyUpdateTx(params) {
60
- const inner = new AccountUpdateTransaction().setAccountId(AccountId.fromString(params.floraAccountId)).setKey(params.newKeyList);
61
- if (params.memo) {
62
- inner.setTransactionMemo(params.memo);
63
- }
64
- return new ScheduleCreateTransaction().setScheduledTransaction(inner);
65
- }
66
- function buildHcs16ScheduleTopicKeyUpdateTx(params) {
67
- const inner = new TopicUpdateTransaction().setTopicId(params.topicId);
68
- if (params.adminKey) {
69
- inner.setAdminKey(params.adminKey);
70
- }
71
- if (params.submitKey) {
72
- inner.setSubmitKey(params.submitKey);
73
- }
74
- if (params.memo) {
75
- inner.setTransactionMemo(params.memo);
76
- }
77
- return new ScheduleCreateTransaction().setScheduledTransaction(inner);
78
- }
79
- function buildHcs16MessageTx(params) {
80
- const payload = {
81
- p: "hcs-16",
82
- op: params.op,
83
- operator_id: params.operatorId,
84
- ...params.body || {}
85
- };
86
- return buildMessageTx({
87
- topicId: params.topicId,
88
- message: JSON.stringify(payload)
89
- });
90
- }
91
- function buildHcs16FloraCreatedTx(params) {
92
- return buildHcs16MessageTx({
93
- topicId: params.topicId,
94
- operatorId: params.operatorId,
95
- op: FloraOperation.FLORA_CREATED,
96
- body: {
97
- flora_account_id: params.floraAccountId,
98
- topics: params.topics
99
- }
100
- });
101
- }
102
- function buildHcs16TransactionTx(params) {
103
- return buildHcs16MessageTx({
104
- topicId: params.topicId,
105
- operatorId: params.operatorId,
106
- op: FloraOperation.TRANSACTION,
107
- body: {
108
- schedule_id: params.scheduleId,
109
- data: params.data,
110
- m: params.data
111
- }
112
- });
113
- }
114
- function buildHcs16StateUpdateTx(params) {
115
- return buildHcs16MessageTx({
116
- topicId: params.topicId,
117
- operatorId: params.operatorId,
118
- op: FloraOperation.STATE_UPDATE,
119
- body: {
120
- hash: params.hash,
121
- epoch: params.epoch,
122
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
123
- }
124
- });
125
- }
126
- function buildHcs16FloraJoinRequestTx(params) {
127
- return buildHcs16MessageTx({
128
- topicId: params.topicId,
129
- operatorId: params.operatorId,
130
- op: FloraOperation.FLORA_JOIN_REQUEST,
131
- body: {
132
- candidate_account_id: params.candidateAccountId
133
- }
134
- });
135
- }
136
- function buildHcs16FloraJoinVoteTx(params) {
137
- return buildHcs16MessageTx({
138
- topicId: params.topicId,
139
- operatorId: params.operatorId,
140
- op: FloraOperation.FLORA_JOIN_VOTE,
141
- body: {
142
- candidate_account_id: params.candidateAccountId,
143
- approve: params.approve
144
- }
145
- });
146
- }
147
- function buildHcs16FloraJoinAcceptedTx(params) {
148
- return buildHcs16MessageTx({
149
- topicId: params.topicId,
150
- operatorId: params.operatorId,
151
- op: FloraOperation.FLORA_JOIN_ACCEPTED,
152
- body: {
153
- members: params.members,
154
- epoch: params.epoch
155
- }
156
- });
157
22
  }
158
23
  export {
159
- buildHcs16CreateAccountTx,
160
- buildHcs16CreateFloraTopicTx,
161
- buildHcs16CreateTransactionTopicTx,
162
- buildHcs16FloraCreatedTx,
163
- buildHcs16FloraJoinAcceptedTx,
164
- buildHcs16FloraJoinRequestTx,
165
- buildHcs16FloraJoinVoteTx,
166
- buildHcs16MessageTx,
167
- buildHcs16ScheduleAccountKeyUpdateTx,
168
- buildHcs16ScheduleTopicKeyUpdateTx,
169
- buildHcs16StateUpdateTx,
170
- buildHcs16TransactionTx
24
+ FloraError,
25
+ FloraOperation,
26
+ FloraTopicType
171
27
  };
172
28
  //# sourceMappingURL=standards-sdk.es91.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es91.js","sources":["../../src/hcs-16/tx.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n TopicUpdateTransaction,\n AccountCreateTransaction,\n AccountUpdateTransaction,\n ScheduleCreateTransaction,\n Hbar,\n PublicKey,\n KeyList,\n AccountId,\n CustomFixedFee,\n TokenId,\n} from '@hashgraph/sdk';\nimport {\n buildTopicCreateTx,\n buildMessageTx,\n type MaybeKey,\n} from '../common/tx/tx-utils';\nimport { FloraOperation, FloraTopicType, type FloraMessage } from './types';\n\nfunction encodeHcs16FloraMemo(params: {\n floraAccountId: string;\n topicType: FloraTopicType;\n}): string {\n return `hcs-16:${params.floraAccountId}:${params.topicType}`;\n}\n\n/**\n * Build a TopicCreateTransaction for HCS‑16 Flora topics (communication/transaction/state).\n */\nexport function buildHcs16CreateFloraTopicTx(params: {\n floraAccountId: string;\n topicType: FloraTopicType;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n operatorPublicKey?: PublicKey;\n autoRenewAccountId?: string;\n}): TopicCreateTransaction {\n const memo = encodeHcs16FloraMemo({\n floraAccountId: params.floraAccountId,\n topicType: params.topicType,\n });\n const tx = buildTopicCreateTx({\n memo,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: params.operatorPublicKey,\n });\n if (params.autoRenewAccountId) {\n tx.setAutoRenewAccountId(AccountId.fromString(params.autoRenewAccountId));\n }\n return tx;\n}\n\n/**\n * Build a TopicCreateTransaction for a generic HCS‑16 transaction topic with HIP‑991 fees.\n */\nexport function buildHcs16CreateTransactionTopicTx(params: {\n memo: string;\n adminKey?: KeyList | PublicKey;\n submitKey?: KeyList | PublicKey;\n feeScheduleKey?: KeyList | PublicKey;\n customFees?: Array<{\n amount: number;\n feeCollectorAccountId: string;\n denominatingTokenId?: string;\n }>;\n feeExemptKeys?: PublicKey[];\n}): TopicCreateTransaction {\n const tx = new TopicCreateTransaction().setTopicMemo(params.memo);\n if (params.adminKey) {\n tx.setAdminKey(params.adminKey);\n }\n if (params.submitKey) {\n tx.setSubmitKey(params.submitKey);\n }\n if (params.feeScheduleKey) {\n tx.setFeeScheduleKey(params.feeScheduleKey);\n }\n if (params.customFees && params.customFees.length > 0) {\n const fees = params.customFees.map(fee => {\n const cf = new CustomFixedFee()\n .setAmount(fee.amount)\n .setFeeCollectorAccountId(\n AccountId.fromString(fee.feeCollectorAccountId),\n );\n if (fee.denominatingTokenId) {\n cf.setDenominatingTokenId(TokenId.fromString(fee.denominatingTokenId));\n }\n return cf;\n });\n tx.setCustomFees(fees);\n }\n if (params.feeExemptKeys && params.feeExemptKeys.length > 0) {\n throw new Error('feeExemptKeys not supported by installed @hashgraph/sdk');\n }\n return tx;\n}\n\n/**\n * Build an AccountCreateTransaction for a Flora account given a KeyList and optional params.\n */\nexport function buildHcs16CreateAccountTx(params: {\n keyList: KeyList;\n initialBalanceHbar?: number;\n maxAutomaticTokenAssociations?: number;\n}): AccountCreateTransaction {\n const tx = new AccountCreateTransaction().setKey(params.keyList);\n const initial =\n typeof params.initialBalanceHbar === 'number'\n ? params.initialBalanceHbar\n : 1;\n tx.setInitialBalance(new Hbar(initial));\n const maxAssoc =\n typeof params.maxAutomaticTokenAssociations === 'number'\n ? params.maxAutomaticTokenAssociations\n : -1;\n tx.setMaxAutomaticTokenAssociations(maxAssoc);\n return tx;\n}\n\n/**\n * Build a ScheduleCreateTransaction that wraps an AccountUpdateTransaction to rotate the Flora account KeyList.\n * Members will sign this scheduled transaction until threshold is reached and it executes.\n */\nexport function buildHcs16ScheduleAccountKeyUpdateTx(params: {\n floraAccountId: string;\n newKeyList: KeyList;\n memo?: string;\n}): ScheduleCreateTransaction {\n const inner = new AccountUpdateTransaction()\n .setAccountId(AccountId.fromString(params.floraAccountId))\n .setKey(params.newKeyList);\n if (params.memo) {\n inner.setTransactionMemo(params.memo);\n }\n return new ScheduleCreateTransaction().setScheduledTransaction(inner);\n}\n\n/**\n * Build a ScheduleCreateTransaction that wraps a TopicUpdateTransaction to rotate topic admin/submit keys.\n * Repeat for CTopic, TTopic, and STopic as needed for membership changes.\n */\nexport function buildHcs16ScheduleTopicKeyUpdateTx(params: {\n topicId: string;\n adminKey?: KeyList | PublicKey;\n submitKey?: KeyList | PublicKey;\n memo?: string;\n}): ScheduleCreateTransaction {\n const inner = new TopicUpdateTransaction().setTopicId(params.topicId);\n if (params.adminKey) {\n inner.setAdminKey(params.adminKey);\n }\n if (params.submitKey) {\n inner.setSubmitKey(params.submitKey);\n }\n if (params.memo) {\n inner.setTransactionMemo(params.memo);\n }\n return new ScheduleCreateTransaction().setScheduledTransaction(inner);\n}\n\n/**\n * Build a TopicMessageSubmitTransaction for generic HCS‑16 messages.\n * Body fields are merged into the envelope `{ p: 'hcs-16', op, operator_id }`.\n */\nexport function buildHcs16MessageTx(params: {\n topicId: string;\n operatorId: string;\n op: FloraOperation;\n body?: Record<string, unknown>;\n}): TopicMessageSubmitTransaction {\n const payload: FloraMessage = {\n p: 'hcs-16',\n op: params.op,\n operator_id: params.operatorId,\n ...(params.body || {}),\n } as FloraMessage;\n\n return buildMessageTx({\n topicId: params.topicId,\n message: JSON.stringify(payload),\n });\n}\n\n/**\n * Build HCS‑16 flora_created message.\n */\nexport function buildHcs16FloraCreatedTx(params: {\n topicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n}): TopicMessageSubmitTransaction {\n return buildHcs16MessageTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n op: FloraOperation.FLORA_CREATED,\n body: {\n flora_account_id: params.floraAccountId,\n topics: params.topics,\n },\n });\n}\n\n/**\n * Build HCS‑16 transaction message.\n */\nexport function buildHcs16TransactionTx(params: {\n topicId: string;\n operatorId: string;\n scheduleId: string;\n data?: string;\n}): TopicMessageSubmitTransaction {\n return buildHcs16MessageTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n op: FloraOperation.TRANSACTION,\n body: {\n schedule_id: params.scheduleId,\n data: params.data,\n m: params.data,\n },\n });\n}\n\n/**\n * Build HCS‑16 state_update message.\n */\nexport function buildHcs16StateUpdateTx(params: {\n topicId: string;\n operatorId: string;\n hash: string;\n epoch?: number;\n}): TopicMessageSubmitTransaction {\n return buildHcs16MessageTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n op: FloraOperation.STATE_UPDATE,\n body: {\n hash: params.hash,\n epoch: params.epoch,\n timestamp: new Date().toISOString(),\n },\n });\n}\n\n/**\n * Build HCS‑16 flora_join_request message.\n */\nexport function buildHcs16FloraJoinRequestTx(params: {\n topicId: string;\n operatorId: string;\n candidateAccountId: string;\n}): TopicMessageSubmitTransaction {\n return buildHcs16MessageTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n op: FloraOperation.FLORA_JOIN_REQUEST,\n body: {\n candidate_account_id: params.candidateAccountId,\n },\n });\n}\n\n/**\n * Build HCS‑16 flora_join_vote message.\n */\nexport function buildHcs16FloraJoinVoteTx(params: {\n topicId: string;\n operatorId: string;\n candidateAccountId: string;\n approve: boolean;\n}): TopicMessageSubmitTransaction {\n return buildHcs16MessageTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n op: FloraOperation.FLORA_JOIN_VOTE,\n body: {\n candidate_account_id: params.candidateAccountId,\n approve: params.approve,\n },\n });\n}\n\n/**\n * Build HCS‑16 flora_join_accepted message.\n */\nexport function buildHcs16FloraJoinAcceptedTx(params: {\n topicId: string;\n operatorId: string;\n members: string[];\n epoch?: number;\n}): TopicMessageSubmitTransaction {\n return buildHcs16MessageTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n op: FloraOperation.FLORA_JOIN_ACCEPTED,\n body: {\n members: params.members,\n epoch: params.epoch,\n },\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es91.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,133 +1,172 @@
1
- import { AccountId, Client, ScheduleSignTransaction } from "@hashgraph/sdk";
2
- import { createNodeOperatorContext } from "./standards-sdk.es135.js";
3
- import { HederaMirrorNode } from "./standards-sdk.es126.js";
4
- import { HCS16BaseClient } from "./standards-sdk.es94.js";
5
- import { buildHcs16CreateFloraTopicTx, buildHcs16FloraCreatedTx, buildHcs16TransactionTx, buildHcs16StateUpdateTx, buildHcs16CreateAccountTx } from "./standards-sdk.es91.js";
6
- class HCS16Client extends HCS16BaseClient {
7
- constructor(config) {
8
- super({ network: config.network, logger: config.logger });
9
- this.operatorId = AccountId.fromString(config.operatorId);
10
- const mirror = new HederaMirrorNode(config.network, this.logger);
11
- this.operatorCtx = createNodeOperatorContext({
12
- network: config.network,
13
- operatorId: this.operatorId,
14
- operatorKey: config.operatorKey,
15
- keyType: config.keyType,
16
- mirrorNode: mirror,
17
- logger: this.logger,
18
- client: config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
19
- });
20
- this.client = this.operatorCtx.client;
1
+ import { AccountId, TopicCreateTransaction, CustomFixedFee, TokenId, AccountCreateTransaction, Hbar, AccountUpdateTransaction, ScheduleCreateTransaction, TopicUpdateTransaction } from "@hashgraph/sdk";
2
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es146.js";
3
+ import { FloraOperation } from "./standards-sdk.es91.js";
4
+ function encodeHcs16FloraMemo(params) {
5
+ return `hcs-16:${params.floraAccountId}:${params.topicType}`;
6
+ }
7
+ function buildHcs16CreateFloraTopicTx(params) {
8
+ const memo = encodeHcs16FloraMemo({
9
+ floraAccountId: params.floraAccountId,
10
+ topicType: params.topicType
11
+ });
12
+ const tx = buildTopicCreateTx({
13
+ memo,
14
+ adminKey: params.adminKey,
15
+ submitKey: params.submitKey,
16
+ operatorPublicKey: params.operatorPublicKey
17
+ });
18
+ if (params.autoRenewAccountId) {
19
+ tx.setAutoRenewAccountId(AccountId.fromString(params.autoRenewAccountId));
20
+ }
21
+ return tx;
22
+ }
23
+ function buildHcs16CreateTransactionTopicTx(params) {
24
+ const tx = new TopicCreateTransaction().setTopicMemo(params.memo);
25
+ if (params.adminKey) {
26
+ tx.setAdminKey(params.adminKey);
21
27
  }
22
- /**
23
- * Create a Flora topic with memo `hcs-16:<floraAccountId>:<topicType>`.
24
- */
25
- async createFloraTopic(params) {
26
- const tx = buildHcs16CreateFloraTopicTx({
27
- floraAccountId: params.floraAccountId,
28
- topicType: params.topicType,
29
- adminKey: params.adminKey,
30
- submitKey: params.submitKey,
31
- operatorPublicKey: this.client.operatorPublicKey || void 0,
32
- autoRenewAccountId: params.autoRenewAccountId
28
+ if (params.submitKey) {
29
+ tx.setSubmitKey(params.submitKey);
30
+ }
31
+ if (params.feeScheduleKey) {
32
+ tx.setFeeScheduleKey(params.feeScheduleKey);
33
+ }
34
+ if (params.customFees && params.customFees.length > 0) {
35
+ const fees = params.customFees.map((fee) => {
36
+ const cf = new CustomFixedFee().setAmount(fee.amount).setFeeCollectorAccountId(
37
+ AccountId.fromString(fee.feeCollectorAccountId)
38
+ );
39
+ if (fee.denominatingTokenId) {
40
+ cf.setDenominatingTokenId(TokenId.fromString(fee.denominatingTokenId));
41
+ }
42
+ return cf;
33
43
  });
34
- const resp = await tx.execute(this.client);
35
- const receipt = await resp.getReceipt(this.client);
36
- if (!receipt.topicId) {
37
- throw new Error("Failed to create Flora topic");
38
- }
39
- return receipt.topicId.toString();
44
+ tx.setCustomFees(fees);
40
45
  }
41
- async sendFloraCreated(params) {
42
- const tx = buildHcs16FloraCreatedTx(params);
43
- const resp = await tx.execute(this.client);
44
- return resp.getReceipt(this.client);
46
+ if (params.feeExemptKeys && params.feeExemptKeys.length > 0) {
47
+ throw new Error("feeExemptKeys not supported by installed @hashgraph/sdk");
45
48
  }
46
- /**
47
- * Send HCS-16 transaction (preferred). scheduleId is the ScheduleId entity (e.g., 0.0.12345).
48
- */
49
- async sendTransaction(params) {
50
- const tx = buildHcs16TransactionTx(params);
51
- const resp = await tx.execute(this.client);
52
- return resp.getReceipt(this.client);
49
+ return tx;
50
+ }
51
+ function buildHcs16CreateAccountTx(params) {
52
+ const tx = new AccountCreateTransaction().setKey(params.keyList);
53
+ const initial = typeof params.initialBalanceHbar === "number" ? params.initialBalanceHbar : 1;
54
+ tx.setInitialBalance(new Hbar(initial));
55
+ const maxAssoc = typeof params.maxAutomaticTokenAssociations === "number" ? params.maxAutomaticTokenAssociations : -1;
56
+ tx.setMaxAutomaticTokenAssociations(maxAssoc);
57
+ return tx;
58
+ }
59
+ function buildHcs16ScheduleAccountKeyUpdateTx(params) {
60
+ const inner = new AccountUpdateTransaction().setAccountId(AccountId.fromString(params.floraAccountId)).setKey(params.newKeyList);
61
+ if (params.memo) {
62
+ inner.setTransactionMemo(params.memo);
53
63
  }
54
- /**
55
- * Sign a scheduled transaction by ScheduleId entity using provided signer key (PrivateKey).
56
- * The signer must be a valid member key for the scheduled transaction to count toward threshold.
57
- */
58
- async signSchedule(params) {
59
- const tx = await new ScheduleSignTransaction().setScheduleId(params.scheduleId).freezeWith(this.client);
60
- const signed = await tx.sign(params.signerKey);
61
- const resp = await signed.execute(this.client);
62
- return resp.getReceipt(this.client);
64
+ return new ScheduleCreateTransaction().setScheduledTransaction(inner);
65
+ }
66
+ function buildHcs16ScheduleTopicKeyUpdateTx(params) {
67
+ const inner = new TopicUpdateTransaction().setTopicId(params.topicId);
68
+ if (params.adminKey) {
69
+ inner.setAdminKey(params.adminKey);
63
70
  }
64
- async sendStateUpdate(params) {
65
- const tx = buildHcs16StateUpdateTx(params);
66
- const resp = await tx.execute(this.client);
67
- return resp.getReceipt(this.client);
71
+ if (params.submitKey) {
72
+ inner.setSubmitKey(params.submitKey);
68
73
  }
69
- /**
70
- * Resolve member public keys from Mirror Node and build a KeyList with the given threshold.
71
- */
72
- async assembleKeyList(params) {
73
- return super.assembleKeyList(params);
74
+ if (params.memo) {
75
+ inner.setTransactionMemo(params.memo);
74
76
  }
75
- /**
76
- * Create a Flora account with a threshold KeyList, then create the three Flora topics.
77
- * Returns the Flora account ID and the topic IDs.
78
- */
79
- async createFloraAccountWithTopics(params) {
80
- const keyList = await this.assembleKeyList({
77
+ return new ScheduleCreateTransaction().setScheduledTransaction(inner);
78
+ }
79
+ function buildHcs16MessageTx(params) {
80
+ const payload = {
81
+ p: "hcs-16",
82
+ op: params.op,
83
+ operator_id: params.operatorId,
84
+ ...params.body || {}
85
+ };
86
+ return buildMessageTx({
87
+ topicId: params.topicId,
88
+ message: JSON.stringify(payload)
89
+ });
90
+ }
91
+ function buildHcs16FloraCreatedTx(params) {
92
+ return buildHcs16MessageTx({
93
+ topicId: params.topicId,
94
+ operatorId: params.operatorId,
95
+ op: FloraOperation.FLORA_CREATED,
96
+ body: {
97
+ flora_account_id: params.floraAccountId,
98
+ topics: params.topics
99
+ }
100
+ });
101
+ }
102
+ function buildHcs16TransactionTx(params) {
103
+ return buildHcs16MessageTx({
104
+ topicId: params.topicId,
105
+ operatorId: params.operatorId,
106
+ op: FloraOperation.TRANSACTION,
107
+ body: {
108
+ schedule_id: params.scheduleId,
109
+ data: params.data,
110
+ m: params.data
111
+ }
112
+ });
113
+ }
114
+ function buildHcs16StateUpdateTx(params) {
115
+ return buildHcs16MessageTx({
116
+ topicId: params.topicId,
117
+ operatorId: params.operatorId,
118
+ op: FloraOperation.STATE_UPDATE,
119
+ body: {
120
+ hash: params.hash,
121
+ epoch: params.epoch,
122
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
123
+ }
124
+ });
125
+ }
126
+ function buildHcs16FloraJoinRequestTx(params) {
127
+ return buildHcs16MessageTx({
128
+ topicId: params.topicId,
129
+ operatorId: params.operatorId,
130
+ op: FloraOperation.FLORA_JOIN_REQUEST,
131
+ body: {
132
+ candidate_account_id: params.candidateAccountId
133
+ }
134
+ });
135
+ }
136
+ function buildHcs16FloraJoinVoteTx(params) {
137
+ return buildHcs16MessageTx({
138
+ topicId: params.topicId,
139
+ operatorId: params.operatorId,
140
+ op: FloraOperation.FLORA_JOIN_VOTE,
141
+ body: {
142
+ candidate_account_id: params.candidateAccountId,
143
+ approve: params.approve
144
+ }
145
+ });
146
+ }
147
+ function buildHcs16FloraJoinAcceptedTx(params) {
148
+ return buildHcs16MessageTx({
149
+ topicId: params.topicId,
150
+ operatorId: params.operatorId,
151
+ op: FloraOperation.FLORA_JOIN_ACCEPTED,
152
+ body: {
81
153
  members: params.members,
82
- threshold: params.threshold
83
- });
84
- const submitList = await this.assembleSubmitKeyList(params.members);
85
- const createAcc = buildHcs16CreateAccountTx({
86
- keyList,
87
- initialBalanceHbar: typeof params.initialBalanceHbar === "number" ? params.initialBalanceHbar : 5,
88
- maxAutomaticTokenAssociations: -1
89
- });
90
- const accResp = await createAcc.execute(this.client);
91
- const accReceipt = await accResp.getReceipt(this.client);
92
- if (!accReceipt.accountId) {
93
- throw new Error("Failed to create Flora account");
154
+ epoch: params.epoch
94
155
  }
95
- const floraAccountId = accReceipt.accountId.toString();
96
- const {
97
- communication: commTx,
98
- transaction: trnTx,
99
- state: stateTx
100
- } = this.buildFloraTopicCreateTxs({
101
- floraAccountId,
102
- keyList,
103
- submitList,
104
- autoRenewAccountId: params.autoRenewAccountId
105
- });
106
- const commR = await commTx.execute(this.client).then((r) => r.getReceipt(this.client));
107
- const trnR = await trnTx.execute(this.client).then((r) => r.getReceipt(this.client));
108
- const stateR = await stateTx.execute(this.client).then((r) => r.getReceipt(this.client));
109
- const topics = {
110
- communication: commR.topicId.toString(),
111
- transaction: trnR.topicId.toString(),
112
- state: stateR.topicId.toString()
113
- };
114
- return { floraAccountId, topics };
115
- }
116
- /**
117
- * Convenience: publish flora_created on the communication topic.
118
- */
119
- async publishFloraCreated(params) {
120
- const tx = buildHcs16FloraCreatedTx({
121
- topicId: params.communicationTopicId,
122
- operatorId: params.operatorId,
123
- floraAccountId: params.floraAccountId,
124
- topics: params.topics
125
- });
126
- const resp = await tx.execute(this.client);
127
- return resp.getReceipt(this.client);
128
- }
156
+ });
129
157
  }
130
158
  export {
131
- HCS16Client
159
+ buildHcs16CreateAccountTx,
160
+ buildHcs16CreateFloraTopicTx,
161
+ buildHcs16CreateTransactionTopicTx,
162
+ buildHcs16FloraCreatedTx,
163
+ buildHcs16FloraJoinAcceptedTx,
164
+ buildHcs16FloraJoinRequestTx,
165
+ buildHcs16FloraJoinVoteTx,
166
+ buildHcs16MessageTx,
167
+ buildHcs16ScheduleAccountKeyUpdateTx,
168
+ buildHcs16ScheduleTopicKeyUpdateTx,
169
+ buildHcs16StateUpdateTx,
170
+ buildHcs16TransactionTx
132
171
  };
133
172
  //# sourceMappingURL=standards-sdk.es92.js.map