@hashgraphonline/standards-sdk 0.1.144 → 0.1.145

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 (423) hide show
  1. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  2. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  3. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  4. package/dist/cjs/hcs-11/client.d.ts +2 -2
  5. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  6. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  7. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  8. package/dist/cjs/hcs-11/types.d.ts +1 -0
  9. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  10. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  11. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  12. package/dist/cjs/hcs-15/browser.d.ts +2 -0
  13. package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
  14. package/dist/cjs/hcs-15/sdk.d.ts +7 -1
  15. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  16. package/dist/cjs/hcs-15/tx.d.ts +4 -0
  17. package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
  18. package/dist/cjs/hcs-15/types.d.ts +16 -1
  19. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  20. package/dist/cjs/hcs-16/browser.d.ts +11 -2
  21. package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
  22. package/dist/cjs/hcs-16/sdk.d.ts +62 -1
  23. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  24. package/dist/cjs/hcs-16/tx.d.ts +21 -3
  25. package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
  26. package/dist/cjs/hcs-17/base-client.d.ts +1 -0
  27. package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
  28. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  29. package/dist/cjs/hcs-17/tx.d.ts +2 -0
  30. package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
  31. package/dist/cjs/hcs-17/types.d.ts +4 -0
  32. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  33. package/dist/cjs/index.d.ts.map +1 -1
  34. package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
  35. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  36. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  37. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  38. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  39. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  40. package/dist/cjs/services/registry-broker/schemas.d.ts +998 -577
  41. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  42. package/dist/cjs/services/registry-broker/types.d.ts +20 -1
  43. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  44. package/dist/cjs/standards-sdk.cjs +2 -2
  45. package/dist/cjs/standards-sdk.cjs.map +1 -1
  46. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  47. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  48. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  49. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  50. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  51. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  52. package/dist/es/hcs-10/sdk.d.ts +8 -0
  53. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  54. package/dist/es/hcs-11/client.d.ts +2 -2
  55. package/dist/es/hcs-11/client.d.ts.map +1 -1
  56. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  57. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  58. package/dist/es/hcs-11/types.d.ts +1 -0
  59. package/dist/es/hcs-11/types.d.ts.map +1 -1
  60. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  61. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  62. package/dist/es/hcs-15/browser.d.ts +2 -0
  63. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  64. package/dist/es/hcs-15/sdk.d.ts +7 -1
  65. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  66. package/dist/es/hcs-15/tx.d.ts +4 -0
  67. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  68. package/dist/es/hcs-15/types.d.ts +16 -1
  69. package/dist/es/hcs-15/types.d.ts.map +1 -1
  70. package/dist/es/hcs-16/browser.d.ts +11 -2
  71. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  72. package/dist/es/hcs-16/sdk.d.ts +62 -1
  73. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  74. package/dist/es/hcs-16/tx.d.ts +21 -3
  75. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  76. package/dist/es/hcs-17/base-client.d.ts +1 -0
  77. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  78. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  79. package/dist/es/hcs-17/tx.d.ts +2 -0
  80. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  81. package/dist/es/hcs-17/types.d.ts +4 -0
  82. package/dist/es/hcs-17/types.d.ts.map +1 -1
  83. package/dist/es/index.d.ts.map +1 -1
  84. package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
  85. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  86. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  87. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  88. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  89. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  90. package/dist/es/services/registry-broker/schemas.d.ts +998 -577
  91. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  92. package/dist/es/services/registry-broker/types.d.ts +20 -1
  93. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  94. package/dist/es/standards-sdk.es.js +141 -135
  95. package/dist/es/standards-sdk.es.js.map +1 -1
  96. package/dist/es/standards-sdk.es10.js +70 -90
  97. package/dist/es/standards-sdk.es10.js.map +1 -1
  98. package/dist/es/standards-sdk.es100.js +229 -26
  99. package/dist/es/standards-sdk.es100.js.map +1 -1
  100. package/dist/es/standards-sdk.es101.js +109 -228
  101. package/dist/es/standards-sdk.es101.js.map +1 -1
  102. package/dist/es/standards-sdk.es102.js +15 -94
  103. package/dist/es/standards-sdk.es102.js.map +1 -1
  104. package/dist/es/standards-sdk.es103.js +80 -30
  105. package/dist/es/standards-sdk.es103.js.map +1 -1
  106. package/dist/es/standards-sdk.es104.js +27 -80
  107. package/dist/es/standards-sdk.es104.js.map +1 -1
  108. package/dist/es/standards-sdk.es105.js +136 -25
  109. package/dist/es/standards-sdk.es105.js.map +1 -1
  110. package/dist/es/standards-sdk.es106.js +27 -140
  111. package/dist/es/standards-sdk.es106.js.map +1 -1
  112. package/dist/es/standards-sdk.es107.js +20 -27
  113. package/dist/es/standards-sdk.es107.js.map +1 -1
  114. package/dist/es/standards-sdk.es108.js +156 -18
  115. package/dist/es/standards-sdk.es108.js.map +1 -1
  116. package/dist/es/standards-sdk.es109.js +198 -148
  117. package/dist/es/standards-sdk.es109.js.map +1 -1
  118. package/dist/es/standards-sdk.es11.js +121 -45
  119. package/dist/es/standards-sdk.es11.js.map +1 -1
  120. package/dist/es/standards-sdk.es110.js +747 -166
  121. package/dist/es/standards-sdk.es110.js.map +1 -1
  122. package/dist/es/standards-sdk.es111.js +9 -786
  123. package/dist/es/standards-sdk.es111.js.map +1 -1
  124. package/dist/es/standards-sdk.es112.js +567 -13
  125. package/dist/es/standards-sdk.es112.js.map +1 -1
  126. package/dist/es/standards-sdk.es113.js +576 -541
  127. package/dist/es/standards-sdk.es113.js.map +1 -1
  128. package/dist/es/standards-sdk.es114.js +12 -601
  129. package/dist/es/standards-sdk.es114.js.map +1 -1
  130. package/dist/es/standards-sdk.es115.js +2 -13
  131. package/dist/es/standards-sdk.es115.js.map +1 -1
  132. package/dist/es/standards-sdk.es116.js +87 -2
  133. package/dist/es/standards-sdk.es116.js.map +1 -1
  134. package/dist/es/standards-sdk.es117.js +37 -80
  135. package/dist/es/standards-sdk.es117.js.map +1 -1
  136. package/dist/es/standards-sdk.es118.js +2 -39
  137. package/dist/es/standards-sdk.es118.js.map +1 -1
  138. package/dist/es/standards-sdk.es119.js +231 -2
  139. package/dist/es/standards-sdk.es119.js.map +1 -1
  140. package/dist/es/standards-sdk.es12.js +60 -159
  141. package/dist/es/standards-sdk.es12.js.map +1 -1
  142. package/dist/es/standards-sdk.es120.js +1110 -193
  143. package/dist/es/standards-sdk.es120.js.map +1 -1
  144. package/dist/es/standards-sdk.es121.js +225 -1059
  145. package/dist/es/standards-sdk.es121.js.map +1 -1
  146. package/dist/es/standards-sdk.es122.js +419 -303
  147. package/dist/es/standards-sdk.es122.js.map +1 -1
  148. package/dist/es/standards-sdk.es123.js +351 -418
  149. package/dist/es/standards-sdk.es123.js.map +1 -1
  150. package/dist/es/standards-sdk.es124.js +872 -347
  151. package/dist/es/standards-sdk.es124.js.map +1 -1
  152. package/dist/es/standards-sdk.es125.js +182 -854
  153. package/dist/es/standards-sdk.es125.js.map +1 -1
  154. package/dist/es/standards-sdk.es126.js +1512 -153
  155. package/dist/es/standards-sdk.es126.js.map +1 -1
  156. package/dist/es/standards-sdk.es127.js +157 -1547
  157. package/dist/es/standards-sdk.es127.js.map +1 -1
  158. package/dist/es/standards-sdk.es128.js +192 -162
  159. package/dist/es/standards-sdk.es128.js.map +1 -1
  160. package/dist/es/standards-sdk.es129.js +61 -164
  161. package/dist/es/standards-sdk.es129.js.map +1 -1
  162. package/dist/es/standards-sdk.es13.js +200 -60
  163. package/dist/es/standards-sdk.es13.js.map +1 -1
  164. package/dist/es/standards-sdk.es130.js +102 -85
  165. package/dist/es/standards-sdk.es130.js.map +1 -1
  166. package/dist/es/standards-sdk.es131.js +222 -96
  167. package/dist/es/standards-sdk.es131.js.map +1 -1
  168. package/dist/es/standards-sdk.es132.js +153 -220
  169. package/dist/es/standards-sdk.es132.js.map +1 -1
  170. package/dist/es/standards-sdk.es133.js +104 -162
  171. package/dist/es/standards-sdk.es133.js.map +1 -1
  172. package/dist/es/standards-sdk.es134.js +296 -92
  173. package/dist/es/standards-sdk.es134.js.map +1 -1
  174. package/dist/es/standards-sdk.es135.js +432 -294
  175. package/dist/es/standards-sdk.es135.js.map +1 -1
  176. package/dist/es/standards-sdk.es136.js +14 -363
  177. package/dist/es/standards-sdk.es136.js.map +1 -1
  178. package/dist/es/standards-sdk.es137.js +79 -15
  179. package/dist/es/standards-sdk.es137.js.map +1 -1
  180. package/dist/es/standards-sdk.es138.js +79 -59
  181. package/dist/es/standards-sdk.es138.js.map +1 -1
  182. package/dist/es/standards-sdk.es139.js +152 -80
  183. package/dist/es/standards-sdk.es139.js.map +1 -1
  184. package/dist/es/standards-sdk.es14.js +149 -178
  185. package/dist/es/standards-sdk.es14.js.map +1 -1
  186. package/dist/es/standards-sdk.es140.js +7 -159
  187. package/dist/es/standards-sdk.es140.js.map +1 -1
  188. package/dist/es/standards-sdk.es141.js +86 -7
  189. package/dist/es/standards-sdk.es141.js.map +1 -1
  190. package/dist/es/standards-sdk.es142.js +44 -65
  191. package/dist/es/standards-sdk.es142.js.map +1 -1
  192. package/dist/es/standards-sdk.es143.js +30 -65
  193. package/dist/es/standards-sdk.es143.js.map +1 -1
  194. package/dist/es/standards-sdk.es144.js +34 -28
  195. package/dist/es/standards-sdk.es144.js.map +1 -1
  196. package/dist/es/standards-sdk.es145.js +28 -138
  197. package/dist/es/standards-sdk.es145.js.map +1 -1
  198. package/dist/es/standards-sdk.es146.js +133 -37
  199. package/dist/es/standards-sdk.es146.js.map +1 -1
  200. package/dist/es/standards-sdk.es147.js +34 -12281
  201. package/dist/es/standards-sdk.es147.js.map +1 -1
  202. package/dist/es/standards-sdk.es148.js +12284 -12
  203. package/dist/es/standards-sdk.es148.js.map +1 -1
  204. package/dist/es/standards-sdk.es149.js +958 -56
  205. package/dist/es/standards-sdk.es149.js.map +1 -1
  206. package/dist/es/standards-sdk.es15.js +152 -151
  207. package/dist/es/standards-sdk.es15.js.map +1 -1
  208. package/dist/es/standards-sdk.es150.js +48 -74
  209. package/dist/es/standards-sdk.es150.js.map +1 -1
  210. package/dist/es/standards-sdk.es151.js +72 -160
  211. package/dist/es/standards-sdk.es151.js.map +1 -1
  212. package/dist/es/standards-sdk.es152.js +13 -318
  213. package/dist/es/standards-sdk.es152.js.map +1 -1
  214. package/dist/es/standards-sdk.es153.js +120 -294
  215. package/dist/es/standards-sdk.es153.js.map +1 -1
  216. package/dist/es/standards-sdk.es154.js +191 -322
  217. package/dist/es/standards-sdk.es154.js.map +1 -1
  218. package/dist/es/standards-sdk.es155.js +294 -279
  219. package/dist/es/standards-sdk.es155.js.map +1 -1
  220. package/dist/es/standards-sdk.es156.js +440 -63
  221. package/dist/es/standards-sdk.es156.js.map +1 -1
  222. package/dist/es/standards-sdk.es157.js +331 -871
  223. package/dist/es/standards-sdk.es157.js.map +1 -1
  224. package/dist/es/standards-sdk.es158.js +68 -231
  225. package/dist/es/standards-sdk.es158.js.map +1 -1
  226. package/dist/es/standards-sdk.es159.js +218 -223
  227. package/dist/es/standards-sdk.es159.js.map +1 -1
  228. package/dist/es/standards-sdk.es16.js +917 -136
  229. package/dist/es/standards-sdk.es16.js.map +1 -1
  230. package/dist/es/standards-sdk.es160.js +247 -0
  231. package/dist/es/standards-sdk.es160.js.map +1 -0
  232. package/dist/es/standards-sdk.es17.js +23 -944
  233. package/dist/es/standards-sdk.es17.js.map +1 -1
  234. package/dist/es/standards-sdk.es18.js +2422 -24
  235. package/dist/es/standards-sdk.es18.js.map +1 -1
  236. package/dist/es/standards-sdk.es19.js +817 -2071
  237. package/dist/es/standards-sdk.es19.js.map +1 -1
  238. package/dist/es/standards-sdk.es2.js +654 -189
  239. package/dist/es/standards-sdk.es2.js.map +1 -1
  240. package/dist/es/standards-sdk.es20.js +205 -1091
  241. package/dist/es/standards-sdk.es20.js.map +1 -1
  242. package/dist/es/standards-sdk.es21.js +858 -221
  243. package/dist/es/standards-sdk.es21.js.map +1 -1
  244. package/dist/es/standards-sdk.es22.js +179 -903
  245. package/dist/es/standards-sdk.es22.js.map +1 -1
  246. package/dist/es/standards-sdk.es23.js +164 -179
  247. package/dist/es/standards-sdk.es23.js.map +1 -1
  248. package/dist/es/standards-sdk.es24.js +62 -118
  249. package/dist/es/standards-sdk.es24.js.map +1 -1
  250. package/dist/es/standards-sdk.es25.js +377 -52
  251. package/dist/es/standards-sdk.es25.js.map +1 -1
  252. package/dist/es/standards-sdk.es26.js +36 -394
  253. package/dist/es/standards-sdk.es26.js.map +1 -1
  254. package/dist/es/standards-sdk.es27.js +901 -50
  255. package/dist/es/standards-sdk.es27.js.map +1 -1
  256. package/dist/es/standards-sdk.es28.js +134 -902
  257. package/dist/es/standards-sdk.es28.js.map +1 -1
  258. package/dist/es/standards-sdk.es29.js +7 -134
  259. package/dist/es/standards-sdk.es29.js.map +1 -1
  260. package/dist/es/standards-sdk.es3.js +63 -680
  261. package/dist/es/standards-sdk.es3.js.map +1 -1
  262. package/dist/es/standards-sdk.es30.js +344 -7
  263. package/dist/es/standards-sdk.es30.js.map +1 -1
  264. package/dist/es/standards-sdk.es31.js +302 -287
  265. package/dist/es/standards-sdk.es31.js.map +1 -1
  266. package/dist/es/standards-sdk.es32.js +94 -322
  267. package/dist/es/standards-sdk.es32.js.map +1 -1
  268. package/dist/es/standards-sdk.es33.js +458 -101
  269. package/dist/es/standards-sdk.es33.js.map +1 -1
  270. package/dist/es/standards-sdk.es34.js +132 -451
  271. package/dist/es/standards-sdk.es34.js.map +1 -1
  272. package/dist/es/standards-sdk.es35.js +216 -130
  273. package/dist/es/standards-sdk.es35.js.map +1 -1
  274. package/dist/es/standards-sdk.es36.js +273 -195
  275. package/dist/es/standards-sdk.es36.js.map +1 -1
  276. package/dist/es/standards-sdk.es37.js +148 -87
  277. package/dist/es/standards-sdk.es37.js.map +1 -1
  278. package/dist/es/standards-sdk.es38.js +183 -320
  279. package/dist/es/standards-sdk.es38.js.map +1 -1
  280. package/dist/es/standards-sdk.es39.js +238 -161
  281. package/dist/es/standards-sdk.es39.js.map +1 -1
  282. package/dist/es/standards-sdk.es4.js +425 -63
  283. package/dist/es/standards-sdk.es4.js.map +1 -1
  284. package/dist/es/standards-sdk.es40.js +136 -254
  285. package/dist/es/standards-sdk.es40.js.map +1 -1
  286. package/dist/es/standards-sdk.es41.js +225 -176
  287. package/dist/es/standards-sdk.es41.js.map +1 -1
  288. package/dist/es/standards-sdk.es42.js +199 -261
  289. package/dist/es/standards-sdk.es42.js.map +1 -1
  290. package/dist/es/standards-sdk.es43.js +237 -199
  291. package/dist/es/standards-sdk.es43.js.map +1 -1
  292. package/dist/es/standards-sdk.es44.js +209 -201
  293. package/dist/es/standards-sdk.es44.js.map +1 -1
  294. package/dist/es/standards-sdk.es45.js +305 -201
  295. package/dist/es/standards-sdk.es45.js.map +1 -1
  296. package/dist/es/standards-sdk.es46.js +371 -261
  297. package/dist/es/standards-sdk.es46.js.map +1 -1
  298. package/dist/es/standards-sdk.es47.js +316 -371
  299. package/dist/es/standards-sdk.es47.js.map +1 -1
  300. package/dist/es/standards-sdk.es48.js +404 -336
  301. package/dist/es/standards-sdk.es48.js.map +1 -1
  302. package/dist/es/standards-sdk.es49.js +83 -449
  303. package/dist/es/standards-sdk.es49.js.map +1 -1
  304. package/dist/es/standards-sdk.es5.js +232 -354
  305. package/dist/es/standards-sdk.es5.js.map +1 -1
  306. package/dist/es/standards-sdk.es50.js +179 -89
  307. package/dist/es/standards-sdk.es50.js.map +1 -1
  308. package/dist/es/standards-sdk.es51.js +231 -165
  309. package/dist/es/standards-sdk.es51.js.map +1 -1
  310. package/dist/es/standards-sdk.es52.js +25 -262
  311. package/dist/es/standards-sdk.es52.js.map +1 -1
  312. package/dist/es/standards-sdk.es53.js +56 -26
  313. package/dist/es/standards-sdk.es53.js.map +1 -1
  314. package/dist/es/standards-sdk.es54.js +12 -57
  315. package/dist/es/standards-sdk.es54.js.map +1 -1
  316. package/dist/es/standards-sdk.es55.js +49 -12
  317. package/dist/es/standards-sdk.es55.js.map +1 -1
  318. package/dist/es/standards-sdk.es56.js +115 -43
  319. package/dist/es/standards-sdk.es56.js.map +1 -1
  320. package/dist/es/standards-sdk.es57.js +42 -115
  321. package/dist/es/standards-sdk.es57.js.map +1 -1
  322. package/dist/es/standards-sdk.es58.js +52 -43
  323. package/dist/es/standards-sdk.es58.js.map +1 -1
  324. package/dist/es/standards-sdk.es59.js +36 -50
  325. package/dist/es/standards-sdk.es59.js.map +1 -1
  326. package/dist/es/standards-sdk.es6.js +125 -246
  327. package/dist/es/standards-sdk.es6.js.map +1 -1
  328. package/dist/es/standards-sdk.es60.js +207 -39
  329. package/dist/es/standards-sdk.es60.js.map +1 -1
  330. package/dist/es/standards-sdk.es61.js +24 -200
  331. package/dist/es/standards-sdk.es61.js.map +1 -1
  332. package/dist/es/standards-sdk.es62.js +87 -25
  333. package/dist/es/standards-sdk.es62.js.map +1 -1
  334. package/dist/es/standards-sdk.es63.js +3 -51
  335. package/dist/es/standards-sdk.es63.js.map +1 -1
  336. package/dist/es/standards-sdk.es64.js +100 -3
  337. package/dist/es/standards-sdk.es64.js.map +1 -1
  338. package/dist/es/standards-sdk.es65.js +61 -62
  339. package/dist/es/standards-sdk.es65.js.map +1 -1
  340. package/dist/es/standards-sdk.es66.js +17 -98
  341. package/dist/es/standards-sdk.es66.js.map +1 -1
  342. package/dist/es/standards-sdk.es67.js +77 -19
  343. package/dist/es/standards-sdk.es67.js.map +1 -1
  344. package/dist/es/standards-sdk.es68.js +458 -77
  345. package/dist/es/standards-sdk.es68.js.map +1 -1
  346. package/dist/es/standards-sdk.es69.js +106 -240
  347. package/dist/es/standards-sdk.es69.js.map +1 -1
  348. package/dist/es/standards-sdk.es7.js +28 -183
  349. package/dist/es/standards-sdk.es7.js.map +1 -1
  350. package/dist/es/standards-sdk.es70.js +170 -286
  351. package/dist/es/standards-sdk.es70.js.map +1 -1
  352. package/dist/es/standards-sdk.es71.js +71 -207
  353. package/dist/es/standards-sdk.es71.js.map +1 -1
  354. package/dist/es/standards-sdk.es72.js +71 -72
  355. package/dist/es/standards-sdk.es72.js.map +1 -1
  356. package/dist/es/standards-sdk.es73.js +143 -71
  357. package/dist/es/standards-sdk.es73.js.map +1 -1
  358. package/dist/es/standards-sdk.es74.js +62 -136
  359. package/dist/es/standards-sdk.es74.js.map +1 -1
  360. package/dist/es/standards-sdk.es75.js +380 -45
  361. package/dist/es/standards-sdk.es75.js.map +1 -1
  362. package/dist/es/standards-sdk.es76.js +222 -130
  363. package/dist/es/standards-sdk.es76.js.map +1 -1
  364. package/dist/es/standards-sdk.es77.js +320 -444
  365. package/dist/es/standards-sdk.es77.js.map +1 -1
  366. package/dist/es/standards-sdk.es78.js +88 -370
  367. package/dist/es/standards-sdk.es78.js.map +1 -1
  368. package/dist/es/standards-sdk.es79.js +125 -89
  369. package/dist/es/standards-sdk.es79.js.map +1 -1
  370. package/dist/es/standards-sdk.es8.js +80 -29
  371. package/dist/es/standards-sdk.es8.js.map +1 -1
  372. package/dist/es/standards-sdk.es80.js +8 -125
  373. package/dist/es/standards-sdk.es80.js.map +1 -1
  374. package/dist/es/standards-sdk.es81.js +45 -6
  375. package/dist/es/standards-sdk.es81.js.map +1 -1
  376. package/dist/es/standards-sdk.es82.js +98 -44
  377. package/dist/es/standards-sdk.es82.js.map +1 -1
  378. package/dist/es/standards-sdk.es83.js +331 -84
  379. package/dist/es/standards-sdk.es83.js.map +1 -1
  380. package/dist/es/standards-sdk.es84.js +93 -160
  381. package/dist/es/standards-sdk.es84.js.map +1 -1
  382. package/dist/es/standards-sdk.es85.js +55 -275
  383. package/dist/es/standards-sdk.es85.js.map +1 -1
  384. package/dist/es/standards-sdk.es86.js +43 -55
  385. package/dist/es/standards-sdk.es86.js.map +1 -1
  386. package/dist/es/standards-sdk.es87.js +145 -22
  387. package/dist/es/standards-sdk.es87.js.map +1 -1
  388. package/dist/es/standards-sdk.es88.js +34 -47
  389. package/dist/es/standards-sdk.es88.js.map +1 -1
  390. package/dist/es/standards-sdk.es89.js +22 -57
  391. package/dist/es/standards-sdk.es89.js.map +1 -1
  392. package/dist/es/standards-sdk.es9.js +104 -80
  393. package/dist/es/standards-sdk.es9.js.map +1 -1
  394. package/dist/es/standards-sdk.es90.js +23 -28
  395. package/dist/es/standards-sdk.es90.js.map +1 -1
  396. package/dist/es/standards-sdk.es91.js +238 -23
  397. package/dist/es/standards-sdk.es91.js.map +1 -1
  398. package/dist/es/standards-sdk.es92.js +265 -152
  399. package/dist/es/standards-sdk.es92.js.map +1 -1
  400. package/dist/es/standards-sdk.es93.js +95 -68
  401. package/dist/es/standards-sdk.es93.js.map +1 -1
  402. package/dist/es/standards-sdk.es94.js +124 -136
  403. package/dist/es/standards-sdk.es94.js.map +1 -1
  404. package/dist/es/standards-sdk.es95.js +42 -138
  405. package/dist/es/standards-sdk.es95.js.map +1 -1
  406. package/dist/es/standards-sdk.es96.js +259 -42
  407. package/dist/es/standards-sdk.es96.js.map +1 -1
  408. package/dist/es/standards-sdk.es97.js +82 -243
  409. package/dist/es/standards-sdk.es97.js.map +1 -1
  410. package/dist/es/standards-sdk.es98.js +48 -47
  411. package/dist/es/standards-sdk.es98.js.map +1 -1
  412. package/dist/es/standards-sdk.es99.js +29 -100
  413. package/dist/es/standards-sdk.es99.js.map +1 -1
  414. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  415. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  416. package/dist/es/utils/dynamic-import.d.ts +5 -1
  417. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  418. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  419. package/package.json +8 -7
  420. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  421. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  422. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  423. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
@@ -1,204 +1,175 @@
1
- import { Logger } from "./standards-sdk.es106.js";
2
- class WasmBridge {
1
+ import { ContractId, AccountId } from "@hashgraph/sdk";
2
+ import { ethers } from "ethers";
3
+ import { Logger } from "./standards-sdk.es105.js";
4
+ class MapCache {
3
5
  constructor() {
4
- this.wasm = null;
5
- this.WASM_VECTOR_LEN = 0;
6
- this.cachedUint8Memory = null;
7
- this.cachedDataViewMemory = null;
8
- this.textEncoder = new TextEncoder();
9
- this.textDecoder = new TextDecoder("utf-8", {
10
- ignoreBOM: true,
11
- fatal: true
12
- });
13
- this.textDecoder.decode();
14
- this.logger = Logger.getInstance({ module: "WasmBridge" });
6
+ this.cache = /* @__PURE__ */ new Map();
15
7
  }
16
- setLogLevel(level) {
17
- this.logger.setLogLevel(level);
8
+ get(key) {
9
+ return this.cache.get(key);
18
10
  }
19
- get wasmInstance() {
20
- if (!this.wasm) {
21
- throw new Error("WASM not initialized");
22
- }
23
- return this.wasm;
11
+ set(key, value) {
12
+ this.cache.set(key, value);
24
13
  }
25
- getUint8Memory() {
26
- if (!this.wasm) {
27
- throw new Error("WASM not initialized");
28
- }
29
- if (this.cachedUint8Memory === null || this.cachedUint8Memory.byteLength === 0) {
30
- this.cachedUint8Memory = new Uint8Array(this.wasm.memory.buffer);
31
- }
32
- return this.cachedUint8Memory;
14
+ delete(key) {
15
+ this.cache.delete(key);
33
16
  }
34
- getDataViewMemory() {
35
- if (!this.wasm) {
36
- throw new Error("WASM not initialized");
37
- }
38
- if (this.cachedDataViewMemory === null || this.cachedDataViewMemory.buffer !== this.wasm.memory.buffer) {
39
- this.cachedDataViewMemory = new DataView(this.wasm.memory.buffer);
40
- }
41
- return this.cachedDataViewMemory;
17
+ clear() {
18
+ this.cache.clear();
42
19
  }
43
- encodeString(arg, view) {
44
- if (arg.length === 0) {
45
- return { read: 0, written: 0 };
46
- }
47
- const buf = this.textEncoder.encode(arg);
48
- view.set(buf);
49
- return { read: arg.length, written: buf.length };
20
+ }
21
+ class EVMBridge {
22
+ constructor(network = "mainnet-public", mirrorNodeUrl = `mirrornode.hedera.com/api/v1/contracts/call`, cache) {
23
+ this.network = network;
24
+ this.mirrorNodeUrl = mirrorNodeUrl;
25
+ this.cache = cache || new MapCache();
26
+ this.logger = Logger.getInstance({ module: "EVMBridge" });
50
27
  }
51
- passStringToWasm(arg, malloc, realloc) {
52
- if (realloc === void 0) {
53
- const buf = this.textEncoder.encode(arg);
54
- const ptr2 = malloc(buf.length, 1);
55
- const view = this.getUint8Memory();
56
- view.set(buf, ptr2);
57
- this.WASM_VECTOR_LEN = buf.length;
58
- return ptr2;
59
- }
60
- let len = this.textEncoder.encode(arg).length;
61
- let ptr = malloc(len, 1);
62
- const mem = this.getUint8Memory();
63
- let offset = 0;
64
- for (; offset < len; offset++) {
65
- const code = arg.charCodeAt(offset);
66
- if (code > 127) break;
67
- mem[ptr + offset] = code;
68
- }
69
- if (offset !== len) {
70
- if (offset !== 0) {
71
- arg = arg.slice(offset);
28
+ async executeCommands(evmConfigs, initialState = {}) {
29
+ let stateData = { ...initialState };
30
+ const results = {};
31
+ for (const config of evmConfigs) {
32
+ const cacheKey = `${config.c.contractAddress}-${config.c.abi.name}`;
33
+ const cachedResult = await this.cache.get(cacheKey);
34
+ if (cachedResult) {
35
+ results[config.c.abi.name] = JSON.parse(cachedResult);
36
+ Object.assign(stateData, results[config.c.abi.name]);
37
+ continue;
72
38
  }
73
- ptr = realloc(
74
- ptr,
75
- len,
76
- len = offset + this.textEncoder.encode(arg).length * 3,
77
- 1
78
- );
79
- const view = this.getUint8Memory().subarray(ptr + offset, ptr + len);
80
- const ret = this.encodeString(arg, view);
81
- offset += ret.written;
82
- }
83
- this.WASM_VECTOR_LEN = offset;
84
- return ptr;
85
- }
86
- getStringFromWasm(ptr, len) {
87
- ptr = ptr >>> 0;
88
- return this.textDecoder.decode(
89
- this.getUint8Memory().subarray(ptr, ptr + len)
90
- );
91
- }
92
- createWasmFunction(wasmFn) {
93
- if (!this.wasm) {
94
- throw new Error("WASM not initialized");
95
- }
96
- return (...args) => {
97
- const retptr = this.wasm.__wbindgen_add_to_stack_pointer(-16);
98
- let deferred = [0, 0];
99
39
  try {
100
- const ptrLenPairs = args.map((arg) => {
101
- const ptr = this.passStringToWasm(
102
- arg,
103
- this.wasm.__wbindgen_malloc,
104
- this.wasm.__wbindgen_realloc
40
+ const iface = new ethers.Interface([
41
+ {
42
+ ...config.c.abi
43
+ }
44
+ ]);
45
+ const command = iface.encodeFunctionData(config.c.abi.name);
46
+ const contractId = ContractId.fromSolidityAddress(
47
+ config.c.contractAddress
48
+ );
49
+ const result = await this.readFromMirrorNode(
50
+ command,
51
+ AccountId.fromString("0.0.800"),
52
+ contractId
53
+ );
54
+ this.logger.info(
55
+ `Result for ${config.c.contractAddress}:`,
56
+ result?.result
57
+ );
58
+ if (!result?.result) {
59
+ this.logger.warn(
60
+ `Failed to get result from mirror node for ${config.c.contractAddress}`
105
61
  );
106
- return [ptr, this.WASM_VECTOR_LEN];
107
- });
108
- const wasmArgs = [retptr, ...ptrLenPairs.flat()];
109
- wasmFn.apply(this.wasm, wasmArgs);
110
- const r0 = this.getDataViewMemory().getInt32(retptr + 4 * 0, true);
111
- const r1 = this.getDataViewMemory().getInt32(retptr + 4 * 1, true);
112
- deferred = [r0, r1];
113
- return this.getStringFromWasm(r0, r1);
114
- } finally {
115
- this.wasm.__wbindgen_add_to_stack_pointer(16);
116
- this.wasm.__wbindgen_free(deferred[0], deferred[1], 1);
117
- }
118
- };
119
- }
120
- async initWasm(wasmBytes) {
121
- const bridge = this;
122
- const imports = {
123
- __wbindgen_placeholder__: {
124
- __wbindgen_throw: function(ptr, len) {
125
- const message = bridge.getStringFromWasm(ptr, len);
126
- bridge.logger.error(`WASM error: ${message}`);
127
- throw new Error(message);
62
+ results[config.c.abi.name] = "0";
63
+ Object.assign(stateData, results[config.c.abi.name]);
64
+ continue;
128
65
  }
129
- }
130
- };
131
- try {
132
- this.logger.debug("Compiling WASM module");
133
- const wasmModule = await WebAssembly.compile(wasmBytes);
134
- this.logger.debug("Instantiating WASM module");
135
- const wasmInstance = await WebAssembly.instantiate(wasmModule, imports);
136
- this.wasm = wasmInstance.exports;
137
- this.logger.info("WASM module initialized successfully");
138
- return this.wasm;
139
- } catch (error) {
140
- this.logger.error("Failed to initialize WASM module", error);
141
- throw error;
142
- }
143
- }
144
- createStateData(wasmConfig, stateData = {}) {
145
- let dynamicStateData = {};
146
- if (wasmConfig?.c?.inputType?.stateData) {
147
- if (stateData.latestRoundData && Object.keys(wasmConfig.c.inputType.stateData).every(
148
- (key) => key in stateData.latestRoundData
149
- )) {
150
- dynamicStateData.latestRoundData = {};
151
- Object.entries(wasmConfig.c.inputType.stateData).forEach(([key, _]) => {
152
- dynamicStateData.latestRoundData[key] = String(
153
- stateData.latestRoundData[key]
154
- );
155
- });
156
- } else {
157
- Object.entries(wasmConfig.c.inputType.stateData).forEach(
158
- ([key, type]) => {
159
- const result = stateData[key];
160
- if (result && typeof result === "object" && "values" in result && result.values.length > 0) {
161
- dynamicStateData[key] = String(result.values[0]);
162
- } else {
163
- dynamicStateData[key] = this.getDefaultValueForType(
164
- type
165
- );
66
+ const decodedResult = iface?.decodeFunctionResult(
67
+ config.c.abi.name,
68
+ result.result
69
+ );
70
+ let processedResult = {
71
+ values: []
72
+ // Initialize array for values
73
+ };
74
+ if (decodedResult) {
75
+ config.c.abi.outputs?.forEach((output, idx) => {
76
+ const value = decodedResult[idx];
77
+ const formattedValue = formatValue(value, output.type);
78
+ processedResult.values.push(formattedValue);
79
+ if (output.name) {
80
+ processedResult[output.name] = formattedValue;
166
81
  }
167
- }
82
+ });
83
+ }
84
+ await this.cache.set(cacheKey, JSON.stringify(processedResult));
85
+ results[config.c.abi.name] = processedResult;
86
+ stateData[config.c.abi.name] = processedResult;
87
+ } catch (error) {
88
+ this.logger.error(
89
+ `Error executing command for ${config.c.contractAddress}:`,
90
+ error
168
91
  );
92
+ results[config.c.abi.name] = "0";
93
+ Object.assign(stateData, results[config.c.abi.name]);
169
94
  }
170
95
  }
171
- return dynamicStateData;
96
+ return { results, stateData };
172
97
  }
173
- getDefaultValueForType(type) {
174
- if (type.startsWith("uint") || type.startsWith("int") || type === "number") {
175
- return "0";
176
- } else if (type === "bool") {
177
- return "false";
178
- } else {
179
- return "";
180
- }
98
+ async executeCommand(evmConfig, stateData = {}) {
99
+ const { results, stateData: newStateData } = await this.executeCommands(
100
+ [evmConfig],
101
+ stateData
102
+ );
103
+ return {
104
+ result: results[evmConfig.c.abi.name],
105
+ stateData: newStateData
106
+ };
181
107
  }
182
- executeWasm(stateData, messages) {
183
- if (!this.wasm) {
184
- this.logger.error("WASM not initialized");
185
- throw new Error("WASM not initialized");
186
- }
108
+ async readFromMirrorNode(command, from, to) {
187
109
  try {
188
- this.logger.debug("Executing WASM with stateData", stateData);
189
- const fn = this.createWasmFunction(this.wasmInstance.process_state);
190
- return fn(JSON.stringify(stateData), JSON.stringify(messages));
110
+ const toAddress = to.toSolidityAddress();
111
+ const fromAddress = from.toSolidityAddress();
112
+ const response = await fetch(
113
+ `https://${this.network}.${this.mirrorNodeUrl}`,
114
+ {
115
+ method: "POST",
116
+ headers: {
117
+ "Content-Type": "application/json"
118
+ },
119
+ body: JSON.stringify({
120
+ block: "latest",
121
+ data: command,
122
+ estimate: false,
123
+ gas: 3e5,
124
+ gasPrice: 1e8,
125
+ from: fromAddress.startsWith("0x") ? fromAddress : `0x${fromAddress}`,
126
+ to: toAddress?.startsWith("0x") ? toAddress : `0x${toAddress}`,
127
+ value: 0
128
+ })
129
+ }
130
+ );
131
+ if (!response.ok) {
132
+ throw new Error(`HTTP error! status: ${response.status}`);
133
+ }
134
+ return await response.json();
191
135
  } catch (error) {
192
- this.logger.error("Error executing WASM", error);
193
- throw error;
136
+ this.logger.error("Error reading from mirror node:", error);
137
+ return null;
194
138
  }
195
139
  }
196
- getParams() {
197
- const fn = this.createWasmFunction(this.wasmInstance.get_params);
198
- return fn();
140
+ async clearCache() {
141
+ await this.cache.clear();
142
+ }
143
+ async clearCacheForContract(contractAddress, functionName) {
144
+ await this.cache.delete(`${contractAddress}-${functionName}`);
145
+ }
146
+ setLogLevel(level) {
147
+ this.logger.setLogLevel(level);
148
+ }
149
+ }
150
+ function formatValue(value, type) {
151
+ if (value === null || value === void 0) {
152
+ return "0";
153
+ }
154
+ if (value._isBigNumber) {
155
+ return value.toString();
156
+ }
157
+ if (type.startsWith("uint") || type.startsWith("int")) {
158
+ return String(value);
159
+ } else if (type === "bool") {
160
+ return value ? "true" : "false";
161
+ } else if (type === "string") {
162
+ return value;
163
+ } else if (type === "address") {
164
+ return String(value).toLowerCase();
165
+ } else if (type.endsWith("[]")) {
166
+ return Array.isArray(value) ? value.map((v) => String(v)).join(",") : "";
167
+ } else {
168
+ return String(value);
199
169
  }
200
170
  }
201
171
  export {
202
- WasmBridge
172
+ EVMBridge,
173
+ MapCache
203
174
  };
204
175
  //# sourceMappingURL=standards-sdk.es14.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es14.js","sources":["../../src/hcs-7/wasm-bridge.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\n\nexport interface BaseMessage {\n p: string;\n op: string;\n m: string;\n t?: string;\n t_id?: string;\n d?: Record<string, unknown>;\n}\n\nexport interface EVMConfig extends BaseMessage {\n c: {\n contractAddress: string;\n abi: {\n inputs: Array<{\n name: string;\n type: string;\n }>;\n name: string;\n outputs: Array<{\n name: string;\n type: string;\n }>;\n stateMutability: string;\n type: string;\n };\n };\n}\n\nexport interface WASMConfig extends BaseMessage {\n c: {\n wasmTopicId: string;\n inputType: {\n stateData: Record<string, string>;\n };\n outputType: {\n type: string;\n format: string;\n };\n };\n}\n\nexport interface WasmExports extends WebAssembly.Exports {\n __wbindgen_add_to_stack_pointer: (a: number) => number;\n __wbindgen_malloc: (a: number, b: number) => number;\n __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;\n __wbindgen_free: (a: number, b: number, c: number) => void;\n memory: WebAssembly.Memory;\n process_state: (state_json: string, messages_json: string) => string;\n get_params: () => string;\n [key: string]: any;\n}\n\nexport class WasmBridge {\n wasm: WasmExports | null = null;\n private WASM_VECTOR_LEN: number = 0;\n private cachedUint8Memory: Uint8Array | null = null;\n private cachedDataViewMemory: DataView | null = null;\n private readonly textEncoder: TextEncoder;\n private readonly textDecoder: TextDecoder;\n private logger: ILogger;\n\n constructor() {\n this.textEncoder = new TextEncoder();\n this.textDecoder = new TextDecoder('utf-8', {\n ignoreBOM: true,\n fatal: true,\n });\n this.textDecoder.decode();\n this.logger = Logger.getInstance({ module: 'WasmBridge' });\n }\n\n setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void {\n this.logger.setLogLevel(level);\n }\n\n get wasmInstance(): WasmExports {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n return this.wasm;\n }\n\n private getUint8Memory(): Uint8Array {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n if (\n this.cachedUint8Memory === null ||\n this.cachedUint8Memory.byteLength === 0\n ) {\n this.cachedUint8Memory = new Uint8Array(this.wasm.memory.buffer);\n }\n return this.cachedUint8Memory;\n }\n\n private getDataViewMemory(): DataView {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n if (\n this.cachedDataViewMemory === null ||\n this.cachedDataViewMemory.buffer !== this.wasm.memory.buffer\n ) {\n this.cachedDataViewMemory = new DataView(this.wasm.memory.buffer);\n }\n return this.cachedDataViewMemory;\n }\n\n private encodeString(\n arg: string,\n view: Uint8Array,\n ): { read: number; written: number } {\n if (arg.length === 0) {\n return { read: 0, written: 0 };\n }\n\n const buf = this.textEncoder.encode(arg);\n view.set(buf);\n return { read: arg.length, written: buf.length };\n }\n\n private passStringToWasm(\n arg: string,\n malloc: (a: number, b: number) => number,\n realloc?: (a: number, b: number, c: number, d: number) => number,\n ): number {\n if (realloc === undefined) {\n const buf = this.textEncoder.encode(arg);\n const ptr = malloc(buf.length, 1);\n const view = this.getUint8Memory();\n view.set(buf, ptr);\n this.WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = this.textEncoder.encode(arg).length;\n let ptr = malloc(len, 1);\n\n const mem = this.getUint8Memory();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7f) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(\n ptr,\n len,\n (len = offset + this.textEncoder.encode(arg).length * 3),\n 1,\n );\n const view = this.getUint8Memory().subarray(ptr + offset, ptr + len);\n const ret = this.encodeString(arg, view);\n\n offset += ret.written;\n }\n\n this.WASM_VECTOR_LEN = offset;\n return ptr;\n }\n\n private getStringFromWasm(ptr: number, len: number): string {\n ptr = ptr >>> 0;\n return this.textDecoder.decode(\n this.getUint8Memory().subarray(ptr, ptr + len),\n );\n }\n\n createWasmFunction(\n wasmFn: (...args: any[]) => any,\n ): (...args: string[]) => string {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n\n return (...args: string[]): string => {\n const retptr = this.wasm!.__wbindgen_add_to_stack_pointer(-16);\n let deferred: [number, number] = [0, 0];\n\n try {\n const ptrLenPairs = args.map(arg => {\n const ptr = this.passStringToWasm(\n arg,\n this.wasm!.__wbindgen_malloc,\n this.wasm!.__wbindgen_realloc,\n );\n return [ptr, this.WASM_VECTOR_LEN];\n });\n\n const wasmArgs = [retptr, ...ptrLenPairs.flat()];\n\n wasmFn.apply(this.wasm, wasmArgs);\n\n const r0 = this.getDataViewMemory().getInt32(retptr + 4 * 0, true);\n const r1 = this.getDataViewMemory().getInt32(retptr + 4 * 1, true);\n deferred = [r0, r1];\n\n return this.getStringFromWasm(r0, r1);\n } finally {\n this.wasm!.__wbindgen_add_to_stack_pointer(16);\n this.wasm!.__wbindgen_free(deferred[0], deferred[1], 1);\n }\n };\n }\n\n async initWasm(wasmBytes: BufferSource): Promise<WasmExports> {\n const bridge = this;\n const imports = {\n __wbindgen_placeholder__: {\n __wbindgen_throw: function (ptr: number, len: number) {\n const message = bridge.getStringFromWasm(ptr, len);\n bridge.logger.error(`WASM error: ${message}`);\n throw new Error(message);\n },\n },\n };\n\n try {\n this.logger.debug('Compiling WASM module');\n const wasmModule = await WebAssembly.compile(wasmBytes);\n this.logger.debug('Instantiating WASM module');\n const wasmInstance = await WebAssembly.instantiate(wasmModule, imports);\n this.wasm = wasmInstance.exports as WasmExports;\n this.logger.info('WASM module initialized successfully');\n return this.wasm;\n } catch (error) {\n this.logger.error('Failed to initialize WASM module', error);\n throw error;\n }\n }\n\n createStateData(wasmConfig: WASMConfig, stateData: Record<string, any> = {}) {\n let dynamicStateData: Record<string, any> = {};\n\n if (wasmConfig?.c?.inputType?.stateData) {\n if (\n stateData.latestRoundData &&\n Object.keys(wasmConfig.c.inputType.stateData).every(\n key => key in stateData.latestRoundData,\n )\n ) {\n dynamicStateData.latestRoundData = {};\n Object.entries(wasmConfig.c.inputType.stateData).forEach(([key, _]) => {\n dynamicStateData.latestRoundData[key] = String(\n stateData.latestRoundData[key],\n );\n });\n } else {\n Object.entries(wasmConfig.c.inputType.stateData).forEach(\n ([key, type]) => {\n const result = stateData[key];\n if (\n result &&\n typeof result === 'object' &&\n 'values' in result &&\n result.values.length > 0\n ) {\n dynamicStateData[key] = String(result.values[0]);\n } else {\n dynamicStateData[key] = this.getDefaultValueForType(\n type as string,\n );\n }\n },\n );\n }\n }\n return dynamicStateData;\n }\n\n private getDefaultValueForType(type: string): string {\n if (\n type.startsWith('uint') ||\n type.startsWith('int') ||\n type === 'number'\n ) {\n return '0';\n } else if (type === 'bool') {\n return 'false';\n } else {\n return '';\n }\n }\n\n executeWasm(stateData: Record<string, any>, messages: BaseMessage[]) {\n if (!this.wasm) {\n this.logger.error('WASM not initialized');\n throw new Error('WASM not initialized');\n }\n\n try {\n this.logger.debug('Executing WASM with stateData', stateData);\n const fn = this.createWasmFunction(this.wasmInstance.process_state);\n return fn(JSON.stringify(stateData), JSON.stringify(messages));\n } catch (error) {\n this.logger.error('Error executing WASM', error);\n throw error;\n }\n }\n\n getParams(): string {\n const fn = this.createWasmFunction(this.wasmInstance.get_params);\n return fn();\n }\n}\n"],"names":["ptr"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es14.js","sources":["../../src/hcs-7/evm-bridge.ts"],"sourcesContent":["import { AccountId, ContractId } from '@hashgraph/sdk';\nimport { EVMConfig } from './wasm-bridge';\nimport { ethers } from 'ethers';\nimport { Logger, ILogger } from '../utils/logger';\n\nexport interface EVMCache {\n get(key: string): Promise<string | undefined> | string | undefined;\n set(key: string, value: string): Promise<void> | void;\n delete(key: string): Promise<void> | void;\n clear(): Promise<void> | void;\n}\n\nexport class MapCache implements EVMCache {\n private cache: Map<string, string>;\n\n constructor() {\n this.cache = new Map();\n }\n\n get(key: string): string | undefined {\n return this.cache.get(key);\n }\n\n set(key: string, value: string): void {\n this.cache.set(key, value);\n }\n\n delete(key: string): void {\n this.cache.delete(key);\n }\n\n clear(): void {\n this.cache.clear();\n }\n}\n\nexport class EVMBridge {\n public network: string;\n public mirrorNodeUrl: string;\n private cache: EVMCache;\n private logger: ILogger;\n\n constructor(\n network: string = 'mainnet-public',\n mirrorNodeUrl: string = `mirrornode.hedera.com/api/v1/contracts/call`,\n cache?: EVMCache,\n ) {\n this.network = network;\n this.mirrorNodeUrl = mirrorNodeUrl;\n this.cache = cache || new MapCache();\n this.logger = Logger.getInstance({ module: 'EVMBridge' });\n }\n\n async executeCommands(\n evmConfigs: EVMConfig[],\n initialState: Record<string, string> = {},\n ): Promise<{\n results: Record<string, any>;\n stateData: Record<string, any>;\n }> {\n let stateData: Record<string, any> = { ...initialState };\n const results: Record<string, any> = {};\n\n for (const config of evmConfigs) {\n const cacheKey = `${config.c.contractAddress}-${config.c.abi.name}`;\n\n const cachedResult = await this.cache.get(cacheKey);\n if (cachedResult) {\n results[config.c.abi.name] = JSON.parse(cachedResult);\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n continue;\n }\n\n try {\n const iface = new ethers.Interface([\n {\n ...config.c.abi,\n },\n ]);\n const command = iface.encodeFunctionData(config.c.abi.name);\n const contractId = ContractId.fromSolidityAddress(\n config.c.contractAddress,\n );\n\n const result = await this.readFromMirrorNode(\n command,\n AccountId.fromString('0.0.800'),\n contractId,\n );\n\n this.logger.info(\n `Result for ${config.c.contractAddress}:`,\n result?.result,\n );\n\n if (!result?.result) {\n this.logger.warn(\n `Failed to get result from mirror node for ${config.c.contractAddress}`,\n );\n results[config.c.abi.name] = '0';\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n continue;\n }\n\n const decodedResult = iface?.decodeFunctionResult(\n config.c.abi.name,\n result.result,\n );\n let processedResult: Record<string, any> = {\n values: [], // Initialize array for values\n };\n\n if (decodedResult) {\n config.c.abi.outputs?.forEach((output, idx) => {\n const value = decodedResult[idx];\n const formattedValue = formatValue(value, output.type);\n\n processedResult.values.push(formattedValue);\n\n if (output.name) {\n processedResult[output.name] = formattedValue;\n }\n });\n }\n\n await this.cache.set(cacheKey, JSON.stringify(processedResult));\n\n results[config.c.abi.name] = processedResult;\n stateData[config.c.abi.name] = processedResult;\n } catch (error) {\n this.logger.error(\n `Error executing command for ${config.c.contractAddress}:`,\n error,\n );\n results[config.c.abi.name] = '0';\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n }\n }\n\n return { results, stateData };\n }\n\n async executeCommand(\n evmConfig: EVMConfig,\n stateData: Record<string, string> = {},\n ): Promise<any> {\n const { results, stateData: newStateData } = await this.executeCommands(\n [evmConfig],\n stateData,\n );\n return {\n result: results[evmConfig.c.abi.name],\n stateData: newStateData,\n };\n }\n\n async readFromMirrorNode(\n command: string,\n from: AccountId,\n to: ContractId,\n ): Promise<any> {\n try {\n const toAddress = to.toSolidityAddress();\n const fromAddress = from.toSolidityAddress();\n const response = await fetch(\n `https://${this.network}.${this.mirrorNodeUrl}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n block: 'latest',\n data: command,\n estimate: false,\n gas: 300_000,\n gasPrice: 100000000,\n from: fromAddress.startsWith('0x')\n ? fromAddress\n : `0x${fromAddress}`,\n to: toAddress?.startsWith('0x') ? toAddress : `0x${toAddress}`,\n value: 0,\n }),\n },\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n return await response.json();\n } catch (error) {\n this.logger.error('Error reading from mirror node:', error);\n return null;\n }\n }\n\n public async clearCache(): Promise<void> {\n await this.cache.clear();\n }\n\n public async clearCacheForContract(\n contractAddress: string,\n functionName: string,\n ): Promise<void> {\n await this.cache.delete(`${contractAddress}-${functionName}`);\n }\n\n public setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void {\n this.logger.setLogLevel(level);\n }\n}\n\nfunction formatValue(value: any, type: string): string {\n if (value === null || value === undefined) {\n return '0';\n }\n\n if (value._isBigNumber) {\n return value.toString();\n }\n\n if (type.startsWith('uint') || type.startsWith('int')) {\n return String(value);\n } else if (type === 'bool') {\n return value ? 'true' : 'false';\n } else if (type === 'string') {\n return value;\n } else if (type === 'address') {\n return String(value).toLowerCase();\n } else if (type.endsWith('[]')) {\n return Array.isArray(value) ? value.map(v => String(v)).join(',') : '';\n } else {\n return String(value);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,162 +1,10 @@
1
- import { CustomFeeType } from "./standards-sdk.es141.js";
2
- import { HederaMirrorNode } from "./standards-sdk.es127.js";
3
- class FeeConfigBuilder {
4
- constructor(options) {
5
- this.customFees = [];
6
- this.logger = options.logger;
7
- this.mirrorNode = new HederaMirrorNode(options.network, options.logger);
8
- this.defaultCollectorAccountId = options.defaultCollectorAccountId || "";
9
- }
10
- /**
11
- * Static factory method to create a FeeConfigBuilder with a single HBAR fee.
12
- * @param hbarAmount Amount in HBAR.
13
- * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.
14
- * @param network Network type ('mainnet' or 'testnet').
15
- * @param logger Logger instance.
16
- * @param exemptAccounts Optional array of account IDs exempt from this fee.
17
- * @returns A configured FeeConfigBuilder instance.
18
- */
19
- static forHbar(hbarAmount, collectorAccountId, network, logger, exemptAccounts = []) {
20
- const builder = new FeeConfigBuilder({
21
- network,
22
- logger,
23
- defaultCollectorAccountId: collectorAccountId
24
- });
25
- return builder.addHbarFee(hbarAmount, collectorAccountId, exemptAccounts);
26
- }
27
- /**
28
- * Static factory method to create a FeeConfigBuilder with a single token fee.
29
- * Automatically fetches token decimals if not provided.
30
- * @param tokenAmount Amount of tokens.
31
- * @param feeTokenId Token ID for the fee.
32
- * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.
33
- * @param network Network type ('mainnet' or 'testnet').
34
- * @param logger Logger instance.
35
- * @param exemptAccounts Optional array of account IDs exempt from this fee.
36
- * @param decimals Optional decimals for the token (fetched if omitted).
37
- * @returns A Promise resolving to a configured FeeConfigBuilder instance.
38
- */
39
- static async forToken(tokenAmount, feeTokenId, collectorAccountId, network, logger, exemptAccounts = [], decimals) {
40
- const builder = new FeeConfigBuilder({
41
- network,
42
- logger,
43
- defaultCollectorAccountId: collectorAccountId
44
- });
45
- await builder.addTokenFee(
46
- tokenAmount,
47
- feeTokenId,
48
- collectorAccountId,
49
- decimals,
50
- exemptAccounts
51
- );
52
- return builder;
53
- }
54
- /**
55
- * Adds an HBAR fee configuration to the builder.
56
- * Allows chaining multiple fee additions.
57
- * @param hbarAmount The amount in HBAR (e.g., 0.5).
58
- * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.
59
- * @param exemptAccountIds Optional. Accounts specifically exempt from *this* HBAR fee.
60
- * @returns This FeeConfigBuilder instance for chaining.
61
- */
62
- addHbarFee(hbarAmount, collectorAccountId, exemptAccountIds = []) {
63
- if (hbarAmount <= 0) {
64
- throw new Error("HBAR amount must be greater than zero");
65
- }
66
- this.customFees.push({
67
- feeAmount: {
68
- amount: hbarAmount * 1e8,
69
- decimals: 0
70
- },
71
- feeCollectorAccountId: collectorAccountId || this.defaultCollectorAccountId,
72
- feeTokenId: void 0,
73
- exemptAccounts: [...exemptAccountIds],
74
- type: CustomFeeType.FIXED_FEE
75
- });
76
- return this;
77
- }
78
- /**
79
- * Adds a token fee configuration to the builder.
80
- * Allows chaining multiple fee additions.
81
- * Fetches token decimals automatically if not provided.
82
- * @param tokenAmount The amount of the specified token.
83
- * @param feeTokenId The ID of the token to charge the fee in.
84
- * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.
85
- * @param decimals Optional. The number of decimals for the token. If omitted, it will be fetched from the mirror node.
86
- * @param exemptAccountIds Optional. Accounts specifically exempt from *this* token fee.
87
- * @returns A Promise resolving to this FeeConfigBuilder instance for chaining.
88
- */
89
- async addTokenFee(tokenAmount, feeTokenId, collectorAccountId, decimals, exemptAccountIds = []) {
90
- if (tokenAmount <= 0) {
91
- throw new Error("Token amount must be greater than zero");
92
- }
93
- if (!feeTokenId) {
94
- throw new Error("Fee token ID is required when adding a token fee");
95
- }
96
- let finalDecimals = decimals;
97
- if (finalDecimals === void 0) {
98
- try {
99
- const tokenInfo = await this.mirrorNode.getTokenInfo(feeTokenId);
100
- if (tokenInfo?.decimals) {
101
- finalDecimals = parseInt(tokenInfo.decimals, 10);
102
- this.logger.info(
103
- `Fetched decimals for ${feeTokenId}: ${finalDecimals}`
104
- );
105
- } else {
106
- this.logger.warn(
107
- `Could not fetch decimals for ${feeTokenId}, defaulting to 0.`
108
- );
109
- finalDecimals = 0;
110
- }
111
- } catch (error) {
112
- this.logger.error(
113
- `Error fetching decimals for ${feeTokenId}, defaulting to 0: ${error}`
114
- );
115
- finalDecimals = 0;
116
- }
117
- }
118
- this.customFees.push({
119
- feeAmount: {
120
- amount: tokenAmount * 10 ** finalDecimals,
121
- decimals: finalDecimals
122
- },
123
- feeCollectorAccountId: collectorAccountId || this.defaultCollectorAccountId,
124
- feeTokenId,
125
- exemptAccounts: [...exemptAccountIds],
126
- type: CustomFeeType.FIXED_FEE
127
- });
128
- return this;
129
- }
130
- /**
131
- * Builds the final TopicFeeConfig object.
132
- * @returns The TopicFeeConfig containing all added custom fees and a consolidated list of unique exempt accounts.
133
- * @throws Error if no fees have been added.
134
- * @throws Error if more than 10 fees have been added.
135
- */
136
- build() {
137
- if (this.customFees.length === 0) {
138
- throw new Error(
139
- "At least one fee must be added using addHbarFee/addTokenFee or created using forHbar/forToken"
140
- );
141
- }
142
- if (this.customFees.length > 10) {
143
- throw new Error("Maximum of 10 custom fees per topic allowed");
144
- }
145
- const allExemptAccounts = /* @__PURE__ */ new Set();
146
- this.customFees.forEach((fee) => {
147
- fee.exemptAccounts.forEach((account) => allExemptAccounts.add(account));
148
- });
149
- const resolvedCustomFees = this.customFees.map((fee) => ({
150
- ...fee,
151
- feeCollectorAccountId: fee.feeCollectorAccountId || this.defaultCollectorAccountId
152
- }));
153
- return {
154
- customFees: resolvedCustomFees,
155
- exemptAccounts: Array.from(allExemptAccounts)
156
- };
157
- }
158
- }
1
+ var CustomFeeType = /* @__PURE__ */ ((CustomFeeType2) => {
2
+ CustomFeeType2["FIXED_FEE"] = "FIXED_FEE";
3
+ CustomFeeType2["FRACTIONAL_FEE"] = "FRACTIONAL_FEE";
4
+ CustomFeeType2["ROYALTY_FEE"] = "ROYALTY_FEE";
5
+ return CustomFeeType2;
6
+ })(CustomFeeType || {});
159
7
  export {
160
- FeeConfigBuilder
8
+ CustomFeeType
161
9
  };
162
10
  //# sourceMappingURL=standards-sdk.es140.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es140.js","sources":["../../src/fees/fee-config-builder.ts"],"sourcesContent":["import {\n FeeConfigBuilderInterface,\n TokenFeeConfig,\n TopicFeeConfig,\n CustomFeeType,\n} from './types';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\n\n/**\n * FeeConfigBuilder provides a fluent interface for creating fee configurations\n * for HCS-10 topics. This makes it easy to configure fees without dealing with\n * the complexity of the underlying fee structure.\n *\n * Example usage:\n *\n * // Super simple one-liner with the factory method\n * const simpleFeeConfig = FeeConfigBuilder.forHbar(5, '0.0.12345', NetworkType.TESTNET, new Logger(), ['0.0.67890']);\n *\n * // With multiple fees:\n * const multipleFeeConfig = new FeeConfigBuilder({\n * network: NetworkType.TESTNET,\n * logger: new Logger(),\n * defaultCollectorAccountId: '0.0.12345',\n * defaultExemptAccountIds: ['0.0.67890']\n * })\n * .withHbarFee(1) // 1 HBAR fee\n * .withTokenFee(10, '0.0.54321') // 10 units of token 0.0.54321\n * .build();\n *\n * With Agent Builder\n * const agent = new AgentBuilder()\n * .setName('Fee Collector Agent')\n * .setDescription('An agent that collects fees')\n * .setInboundTopicType(InboundTopicType.FEE_BASED)\n * .setFeeConfig(FeeConfigBuilder.forHbar(1, '0.0.12345', NetworkType.TESTNET, new Logger(), ['0.0.67890']))\n * .setNetwork('testnet')\n .build();\n\n * Directly with client\n * const client = new HCS10Client(config);\n * const connectionFeeConfig = new FeeConfigBuilder({\n * network: NetworkType.TESTNET,\n * logger: new Logger(),\n * defaultCollectorAccountId: client.getAccountAndSigner().accountId,\n * defaultExemptAccountIds: ['0.0.67890']\n * })\n * .withHbarFee(0.5) // 0.5 HBAR (simple!)\n * .build();\n\n * const result = await client.handleConnectionRequest(\n * inboundTopicId,\n * requestingAccountId,\n * connectionRequestId,\n * connectionFeeConfig\n * );\n*/\nexport interface FeeConfigBuilderOptions {\n network: NetworkType;\n logger: Logger;\n defaultCollectorAccountId?: string;\n}\n\nexport class FeeConfigBuilder implements FeeConfigBuilderInterface {\n private customFees: TokenFeeConfig[] = [];\n private mirrorNode: HederaMirrorNode;\n private logger: Logger;\n private defaultCollectorAccountId: string;\n\n constructor(options: FeeConfigBuilderOptions) {\n this.logger = options.logger;\n this.mirrorNode = new HederaMirrorNode(options.network, options.logger);\n this.defaultCollectorAccountId = options.defaultCollectorAccountId || '';\n }\n\n /**\n * Static factory method to create a FeeConfigBuilder with a single HBAR fee.\n * @param hbarAmount Amount in HBAR.\n * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.\n * @param network Network type ('mainnet' or 'testnet').\n * @param logger Logger instance.\n * @param exemptAccounts Optional array of account IDs exempt from this fee.\n * @returns A configured FeeConfigBuilder instance.\n */\n static forHbar(\n hbarAmount: number,\n collectorAccountId: string | undefined,\n network: NetworkType,\n logger: Logger,\n exemptAccounts: string[] = [],\n ): FeeConfigBuilder {\n const builder = new FeeConfigBuilder({\n network,\n logger,\n defaultCollectorAccountId: collectorAccountId,\n });\n return builder.addHbarFee(hbarAmount, collectorAccountId, exemptAccounts);\n }\n\n /**\n * Static factory method to create a FeeConfigBuilder with a single token fee.\n * Automatically fetches token decimals if not provided.\n * @param tokenAmount Amount of tokens.\n * @param feeTokenId Token ID for the fee.\n * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.\n * @param network Network type ('mainnet' or 'testnet').\n * @param logger Logger instance.\n * @param exemptAccounts Optional array of account IDs exempt from this fee.\n * @param decimals Optional decimals for the token (fetched if omitted).\n * @returns A Promise resolving to a configured FeeConfigBuilder instance.\n */\n static async forToken(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId: string | undefined,\n network: NetworkType,\n logger: Logger,\n exemptAccounts: string[] = [],\n decimals?: number,\n ): Promise<FeeConfigBuilder> {\n const builder = new FeeConfigBuilder({\n network,\n logger,\n defaultCollectorAccountId: collectorAccountId,\n });\n await builder.addTokenFee(\n tokenAmount,\n feeTokenId,\n collectorAccountId,\n decimals,\n exemptAccounts,\n );\n return builder;\n }\n\n /**\n * Adds an HBAR fee configuration to the builder.\n * Allows chaining multiple fee additions.\n * @param hbarAmount The amount in HBAR (e.g., 0.5).\n * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.\n * @param exemptAccountIds Optional. Accounts specifically exempt from *this* HBAR fee.\n * @returns This FeeConfigBuilder instance for chaining.\n */\n addHbarFee(\n hbarAmount: number,\n collectorAccountId?: string,\n exemptAccountIds: string[] = [],\n ): FeeConfigBuilder {\n if (hbarAmount <= 0) {\n throw new Error('HBAR amount must be greater than zero');\n }\n\n this.customFees.push({\n feeAmount: {\n amount: hbarAmount * 100_000_000,\n decimals: 0,\n },\n feeCollectorAccountId:\n collectorAccountId || this.defaultCollectorAccountId,\n feeTokenId: undefined,\n exemptAccounts: [...exemptAccountIds],\n type: CustomFeeType.FIXED_FEE,\n });\n\n return this;\n }\n\n /**\n * Adds a token fee configuration to the builder.\n * Allows chaining multiple fee additions.\n * Fetches token decimals automatically if not provided.\n * @param tokenAmount The amount of the specified token.\n * @param feeTokenId The ID of the token to charge the fee in.\n * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.\n * @param decimals Optional. The number of decimals for the token. If omitted, it will be fetched from the mirror node.\n * @param exemptAccountIds Optional. Accounts specifically exempt from *this* token fee.\n * @returns A Promise resolving to this FeeConfigBuilder instance for chaining.\n */\n async addTokenFee(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId?: string,\n decimals?: number,\n exemptAccountIds: string[] = [],\n ): Promise<FeeConfigBuilder> {\n if (tokenAmount <= 0) {\n throw new Error('Token amount must be greater than zero');\n }\n if (!feeTokenId) {\n throw new Error('Fee token ID is required when adding a token fee');\n }\n\n let finalDecimals = decimals;\n if (finalDecimals === undefined) {\n try {\n const tokenInfo = await this.mirrorNode.getTokenInfo(feeTokenId);\n if (tokenInfo?.decimals) {\n finalDecimals = parseInt(tokenInfo.decimals, 10);\n this.logger.info(\n `Fetched decimals for ${feeTokenId}: ${finalDecimals}`,\n );\n } else {\n this.logger.warn(\n `Could not fetch decimals for ${feeTokenId}, defaulting to 0.`,\n );\n finalDecimals = 0;\n }\n } catch (error) {\n this.logger.error(\n `Error fetching decimals for ${feeTokenId}, defaulting to 0: ${error}`,\n );\n finalDecimals = 0;\n }\n }\n\n this.customFees.push({\n feeAmount: {\n amount: tokenAmount * 10 ** finalDecimals,\n decimals: finalDecimals,\n },\n feeCollectorAccountId:\n collectorAccountId || this.defaultCollectorAccountId,\n feeTokenId: feeTokenId,\n exemptAccounts: [...exemptAccountIds],\n type: CustomFeeType.FIXED_FEE,\n });\n\n return this;\n }\n\n /**\n * Builds the final TopicFeeConfig object.\n * @returns The TopicFeeConfig containing all added custom fees and a consolidated list of unique exempt accounts.\n * @throws Error if no fees have been added.\n * @throws Error if more than 10 fees have been added.\n */\n build(): TopicFeeConfig {\n if (this.customFees.length === 0) {\n throw new Error(\n 'At least one fee must be added using addHbarFee/addTokenFee or created using forHbar/forToken',\n );\n }\n\n if (this.customFees.length > 10) {\n throw new Error('Maximum of 10 custom fees per topic allowed');\n }\n\n const allExemptAccounts = new Set<string>();\n this.customFees.forEach(fee => {\n fee.exemptAccounts.forEach(account => allExemptAccounts.add(account));\n });\n\n const resolvedCustomFees = this.customFees.map(fee => ({\n ...fee,\n feeCollectorAccountId:\n fee.feeCollectorAccountId || this.defaultCollectorAccountId,\n }));\n\n return {\n customFees: resolvedCustomFees,\n exemptAccounts: Array.from(allExemptAccounts),\n };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es140.js","sources":["../../src/fees/types.ts"],"sourcesContent":["export interface FeeConfigBuilderInterface {\n addHbarFee(\n hbarAmount: number,\n collectorAccountId?: string,\n exemptAccountIds?: string[],\n ): FeeConfigBuilderInterface;\n addTokenFee(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId?: string,\n decimals?: number,\n exemptAccountIds?: string[],\n ): Promise<FeeConfigBuilderInterface>;\n build(): TopicFeeConfig;\n}\n\nexport enum CustomFeeType {\n FIXED_FEE = 'FIXED_FEE',\n FRACTIONAL_FEE = 'FRACTIONAL_FEE',\n ROYALTY_FEE = 'ROYALTY_FEE',\n}\n\nexport type FeeAmount = {\n amount: number;\n decimals?: number;\n};\n\nexport interface TokenFeeConfig {\n feeAmount: FeeAmount;\n feeCollectorAccountId: string;\n feeTokenId?: string;\n exemptAccounts: string[];\n type: CustomFeeType;\n}\n\nexport interface TopicFeeConfig {\n customFees: TokenFeeConfig[];\n exemptAccounts: string[];\n}\n"],"names":["CustomFeeType"],"mappings":"AAgBO,IAAK,kCAAAA,mBAAL;AACLA,iBAAA,WAAA,IAAY;AACZA,iBAAA,gBAAA,IAAiB;AACjBA,iBAAA,aAAA,IAAc;AAHJ,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;"}