@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,309 +1,1143 @@
1
1
  import { proto } from "@hashgraph/proto";
2
- import { hasTransactionType, parseKey } from "./standards-sdk.es147.js";
3
- import { AccountId, Long, ScheduleId } from "@hashgraph/sdk";
4
- class ScheduleParser {
2
+ import { AccountId, Long, TokenId } from "@hashgraph/sdk";
3
+ import { parseKey, hasTransactionType, extractTransactionBody } from "./standards-sdk.es156.js";
4
+ import { Buffer } from "buffer";
5
+ class HTSParser {
5
6
  /**
6
- * Parse Schedule Service transaction using unified dual-branch approach
7
- * This handles both regular transactions and signed transaction variants
7
+ * Main entry point for parsing HTS transactions from a Transaction object
8
+ * This method bridges between the Transaction object and the protobuf parsers
8
9
  */
9
- static parseScheduleTransaction(transaction, originalBytes) {
10
+ static parseHTSTransaction(transaction) {
10
11
  try {
11
- if (originalBytes || transaction.toBytes) {
12
- try {
13
- const bytesToParse = originalBytes || transaction.toBytes();
14
- const decoded = proto.TransactionList.decode(bytesToParse);
15
- if (decoded.transactionList && decoded.transactionList.length > 0) {
16
- const tx = decoded.transactionList[0];
17
- let txBody = null;
18
- if (tx.bodyBytes && tx.bodyBytes.length > 0) {
19
- txBody = proto.TransactionBody.decode(tx.bodyBytes);
20
- } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
21
- const signedTx = proto.SignedTransaction.decode(
22
- tx.signedTransactionBytes
23
- );
24
- if (signedTx.bodyBytes) {
25
- txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
26
- }
27
- }
28
- if (txBody) {
29
- const protoResult = this.parseFromProtobufTxBody(txBody);
30
- if (protoResult.type && protoResult.type !== "UNKNOWN") {
31
- return protoResult;
32
- }
33
- }
34
- }
35
- } catch (protoError) {
12
+ const transactionBody = transaction._transactionBody;
13
+ if (!transactionBody) {
14
+ return {};
15
+ }
16
+ if (transactionBody.tokenCreation) {
17
+ const tokenCreation = this.parseTokenCreate(
18
+ transactionBody.tokenCreation
19
+ );
20
+ if (tokenCreation) {
21
+ return {
22
+ type: "TOKENCREATE",
23
+ humanReadableType: "Token Creation",
24
+ tokenCreation
25
+ };
36
26
  }
37
27
  }
38
- return this.parseFromTransactionInternals(transaction);
39
- } catch (error) {
40
- return {
41
- type: "UNKNOWN",
42
- humanReadableType: "Unknown Schedule Transaction"
43
- };
44
- }
45
- }
46
- /**
47
- * Parse schedule transaction from protobuf TransactionBody
48
- * Handles all schedule operations from decoded protobuf data
49
- */
50
- static parseFromProtobufTxBody(txBody) {
51
- if (txBody.scheduleCreate) {
52
- const scheduleCreate = this.parseScheduleCreateFromProto(
53
- txBody.scheduleCreate
54
- );
55
- if (scheduleCreate) {
56
- return {
57
- type: "SCHEDULECREATE",
58
- humanReadableType: "Schedule Create",
59
- scheduleCreate
60
- };
28
+ if (transactionBody.tokenMint) {
29
+ const tokenMint = this.parseTokenMint(transactionBody.tokenMint);
30
+ if (tokenMint) {
31
+ return {
32
+ type: "TOKENMINT",
33
+ humanReadableType: "Token Mint",
34
+ tokenMint
35
+ };
36
+ }
61
37
  }
62
- }
63
- if (txBody.scheduleSign) {
64
- const scheduleSign = this.parseScheduleSignFromProto(txBody.scheduleSign);
65
- if (scheduleSign) {
66
- return {
67
- type: "SCHEDULESIGN",
68
- humanReadableType: "Schedule Sign",
69
- scheduleSign
70
- };
38
+ if (transactionBody.tokenBurn) {
39
+ const tokenBurn = this.parseTokenBurn(transactionBody.tokenBurn);
40
+ if (tokenBurn) {
41
+ return {
42
+ type: "TOKENBURN",
43
+ humanReadableType: "Token Burn",
44
+ tokenBurn
45
+ };
46
+ }
71
47
  }
72
- }
73
- if (txBody.scheduleDelete) {
74
- const scheduleDelete = this.parseScheduleDeleteFromProto(
75
- txBody.scheduleDelete
76
- );
77
- if (scheduleDelete) {
78
- return {
79
- type: "SCHEDULEDELETE",
80
- humanReadableType: "Schedule Delete",
81
- scheduleDelete
82
- };
48
+ if (transactionBody.tokenUpdate) {
49
+ const tokenUpdate = this.parseTokenUpdate(transactionBody.tokenUpdate);
50
+ if (tokenUpdate) {
51
+ return {
52
+ type: "TOKENUPDATE",
53
+ humanReadableType: "Token Update",
54
+ tokenUpdate
55
+ };
56
+ }
83
57
  }
84
- }
85
- return {};
86
- }
87
- /**
88
- * Extract schedule data from Transaction internal fields
89
- * This handles cases where data is stored in Transaction object internals
90
- */
91
- static parseFromTransactionInternals(transaction) {
92
- try {
93
- const tx = transaction;
94
- if (hasTransactionType(transaction, "scheduleCreate")) {
95
- const scheduleCreate = {
96
- scheduledTransactionBody: Buffer.from(
97
- tx._scheduledTransaction
98
- ).toString("base64"),
99
- memo: tx._scheduleMemo,
100
- adminKey: tx._adminKey ? parseKey(tx._adminKey) : void 0,
101
- payerAccountId: tx._payerAccountId?.toString(),
102
- expirationTime: tx._expirationTime?.toString(),
103
- waitForExpiry: tx._waitForExpiry || false
104
- };
105
- return {
106
- type: "SCHEDULECREATE",
107
- humanReadableType: "Schedule Create",
108
- scheduleCreate
109
- };
58
+ if (transactionBody.tokenFreeze) {
59
+ const tokenFreeze = this.parseTokenFreeze(transactionBody.tokenFreeze);
60
+ if (tokenFreeze) {
61
+ return {
62
+ type: "TOKENFREEZE",
63
+ humanReadableType: "Token Freeze",
64
+ tokenFreeze
65
+ };
66
+ }
110
67
  }
111
- if (hasTransactionType(transaction, "scheduleSign")) {
112
- const scheduleSign = {
113
- scheduleId: tx._scheduleId.toString()
114
- };
115
- return {
116
- type: "SCHEDULESIGN",
117
- humanReadableType: "Schedule Sign",
118
- scheduleSign
119
- };
68
+ if (transactionBody.tokenUnfreeze) {
69
+ const tokenUnfreeze = this.parseTokenUnfreeze(
70
+ transactionBody.tokenUnfreeze
71
+ );
72
+ if (tokenUnfreeze) {
73
+ return {
74
+ type: "TOKENUNFREEZE",
75
+ humanReadableType: "Token Unfreeze",
76
+ tokenUnfreeze
77
+ };
78
+ }
120
79
  }
121
- if (hasTransactionType(transaction, "scheduleDelete")) {
122
- const scheduleDelete = {
123
- scheduleId: tx._scheduleId.toString()
124
- };
80
+ if (transactionBody.tokenGrantKyc) {
81
+ const tokenGrantKyc = this.parseTokenGrantKyc(
82
+ transactionBody.tokenGrantKyc
83
+ );
84
+ if (tokenGrantKyc) {
85
+ return {
86
+ type: "TOKENGRANTKYC",
87
+ humanReadableType: "Token Grant KYC",
88
+ tokenGrantKyc
89
+ };
90
+ }
91
+ }
92
+ if (transactionBody.tokenRevokeKyc) {
93
+ const tokenRevokeKyc = this.parseTokenRevokeKyc(
94
+ transactionBody.tokenRevokeKyc
95
+ );
96
+ if (tokenRevokeKyc) {
97
+ return {
98
+ type: "TOKENREVOKEKYC",
99
+ humanReadableType: "Token Revoke KYC",
100
+ tokenRevokeKyc
101
+ };
102
+ }
103
+ }
104
+ if (transactionBody.tokenPause) {
105
+ const tokenPause = this.parseTokenPause(transactionBody.tokenPause);
106
+ if (tokenPause) {
107
+ return {
108
+ type: "TOKENPAUSE",
109
+ humanReadableType: "Token Pause",
110
+ tokenPause
111
+ };
112
+ }
113
+ }
114
+ if (transactionBody.tokenUnpause) {
115
+ const tokenUnpause = this.parseTokenUnpause(
116
+ transactionBody.tokenUnpause
117
+ );
118
+ if (tokenUnpause) {
119
+ return {
120
+ type: "TOKENUNPAUSE",
121
+ humanReadableType: "Token Unpause",
122
+ tokenUnpause
123
+ };
124
+ }
125
+ }
126
+ if (transactionBody.tokenWipe) {
127
+ const tokenWipeAccount = this.parseTokenWipeAccount(
128
+ transactionBody.tokenWipe
129
+ );
130
+ if (tokenWipeAccount) {
131
+ return {
132
+ type: "TOKENWIPEACCOUNT",
133
+ humanReadableType: "Token Wipe Account",
134
+ tokenWipeAccount
135
+ };
136
+ }
137
+ }
138
+ if (transactionBody.tokenDeletion) {
139
+ const tokenDelete = this.parseTokenDelete(
140
+ transactionBody.tokenDeletion
141
+ );
142
+ if (tokenDelete) {
143
+ return {
144
+ type: "TOKENDELETE",
145
+ humanReadableType: "Token Delete",
146
+ tokenDelete
147
+ };
148
+ }
149
+ }
150
+ if (transactionBody.tokenAssociate) {
151
+ const tokenAssociate = this.parseTokenAssociate(
152
+ transactionBody.tokenAssociate
153
+ );
154
+ if (tokenAssociate) {
155
+ return {
156
+ type: "TOKENASSOCIATE",
157
+ humanReadableType: "Token Associate",
158
+ tokenAssociate
159
+ };
160
+ }
161
+ }
162
+ if (transactionBody.tokenDissociate) {
163
+ const tokenDissociate = this.parseTokenDissociate(
164
+ transactionBody.tokenDissociate
165
+ );
166
+ if (tokenDissociate) {
167
+ return {
168
+ type: "TOKENDISSOCIATE",
169
+ humanReadableType: "Token Dissociate",
170
+ tokenDissociate
171
+ };
172
+ }
173
+ }
174
+ if (transactionBody.tokenFeeScheduleUpdate) {
175
+ const tokenFeeScheduleUpdate = this.parseTokenFeeScheduleUpdate(
176
+ transactionBody.tokenFeeScheduleUpdate
177
+ );
178
+ if (tokenFeeScheduleUpdate) {
179
+ return {
180
+ type: "TOKENFEESCHEDULEUPDATE",
181
+ humanReadableType: "Token Fee Schedule Update",
182
+ tokenFeeScheduleUpdate
183
+ };
184
+ }
185
+ }
186
+ const airdrop = this.parseTokenAirdrop(transaction);
187
+ if (airdrop) {
125
188
  return {
126
- type: "SCHEDULEDELETE",
127
- humanReadableType: "Schedule Delete",
128
- scheduleDelete
189
+ type: "TOKENAIRDROP",
190
+ humanReadableType: "Token Airdrop",
191
+ tokenAirdrop: airdrop
129
192
  };
130
193
  }
131
194
  return {};
132
195
  } catch (error) {
196
+ console.warn("[HTSParser] Failed to parse HTS transaction:", error);
133
197
  return {};
134
198
  }
135
199
  }
136
- /**
137
- * Parse Schedule Create from protobuf data
138
- */
139
- static parseScheduleCreateFromProto(body) {
200
+ static parseTokenCreate(body) {
140
201
  if (!body) return void 0;
141
202
  const data = {};
142
- if (body.scheduledTransactionBody) {
143
- const schedBytes = proto.SchedulableTransactionBody.encode(
144
- proto.SchedulableTransactionBody.create(body.scheduledTransactionBody)
145
- ).finish();
146
- data.scheduledTransactionBody = Buffer.from(schedBytes).toString("base64");
203
+ if (body.name) {
204
+ data.tokenName = body.name;
205
+ }
206
+ if (body.symbol) {
207
+ data.tokenSymbol = body.symbol;
208
+ }
209
+ if (body.treasury) {
210
+ data.treasuryAccountId = new AccountId(
211
+ body.treasury.shardNum ?? 0,
212
+ body.treasury.realmNum ?? 0,
213
+ body.treasury.accountNum ?? 0
214
+ ).toString();
215
+ }
216
+ if (body.initialSupply) {
217
+ data.initialSupply = Long.fromValue(body.initialSupply).toString();
218
+ }
219
+ if (body.decimals !== void 0 && body.decimals !== null) {
220
+ data.decimals = Long.fromValue(body.decimals).toNumber();
221
+ }
222
+ if (body.maxSupply) {
223
+ data.maxSupply = Long.fromValue(body.maxSupply).toString();
147
224
  }
148
225
  if (body.memo) {
149
226
  data.memo = body.memo;
150
227
  }
151
- if (body.adminKey) {
152
- data.adminKey = parseKey(body.adminKey);
228
+ if (body.tokenType !== null && body.tokenType !== void 0) {
229
+ data.tokenType = proto.TokenType[body.tokenType];
153
230
  }
154
- if (body.payerAccountID) {
155
- data.payerAccountId = new AccountId(
156
- body.payerAccountID.shardNum ?? 0,
157
- body.payerAccountID.realmNum ?? 0,
158
- body.payerAccountID.accountNum ?? 0
231
+ if (body.supplyType !== null && body.supplyType !== void 0) {
232
+ data.supplyType = proto.TokenSupplyType[body.supplyType];
233
+ }
234
+ data.adminKey = parseKey(body.adminKey);
235
+ data.kycKey = parseKey(body.kycKey);
236
+ data.freezeKey = parseKey(body.freezeKey);
237
+ data.wipeKey = parseKey(body.wipeKey);
238
+ data.supplyKey = parseKey(body.supplyKey);
239
+ data.feeScheduleKey = parseKey(body.feeScheduleKey);
240
+ data.pauseKey = parseKey(body.pauseKey);
241
+ if (body.autoRenewAccount) {
242
+ data.autoRenewAccount = new AccountId(
243
+ body.autoRenewAccount.shardNum ?? 0,
244
+ body.autoRenewAccount.realmNum ?? 0,
245
+ body.autoRenewAccount.accountNum ?? 0
159
246
  ).toString();
160
247
  }
161
- if (body.expirationTime?.seconds) {
162
- data.expirationTime = `${Long.fromValue(
163
- body.expirationTime.seconds
164
- ).toString()}.${body.expirationTime.nanos ?? 0}`;
248
+ if (body.autoRenewPeriod?.seconds) {
249
+ data.autoRenewPeriod = Long.fromValue(
250
+ body.autoRenewPeriod.seconds
251
+ ).toString();
165
252
  }
166
- if (body.waitForExpiry !== void 0) {
167
- data.waitForExpiry = body.waitForExpiry;
253
+ if (body.customFees && body.customFees.length > 0) {
254
+ data.customFees = body.customFees.map((fee) => {
255
+ const feeCollectorAccountId = fee.feeCollectorAccountId ? new AccountId(
256
+ fee.feeCollectorAccountId.shardNum ?? 0,
257
+ fee.feeCollectorAccountId.realmNum ?? 0,
258
+ fee.feeCollectorAccountId.accountNum ?? 0
259
+ ).toString() : "Not Set";
260
+ const commonFeeData = {
261
+ feeCollectorAccountId,
262
+ allCollectorsAreExempt: fee.allCollectorsAreExempt || false
263
+ };
264
+ if (fee.fixedFee) {
265
+ return {
266
+ ...commonFeeData,
267
+ feeType: "FIXED_FEE",
268
+ fixedFee: {
269
+ amount: Long.fromValue(fee.fixedFee.amount || 0).toString(),
270
+ denominatingTokenId: fee.fixedFee.denominatingTokenId ? new TokenId(
271
+ fee.fixedFee.denominatingTokenId.shardNum ?? 0,
272
+ fee.fixedFee.denominatingTokenId.realmNum ?? 0,
273
+ fee.fixedFee.denominatingTokenId.tokenNum ?? 0
274
+ ).toString() : void 0
275
+ }
276
+ };
277
+ } else if (fee.fractionalFee) {
278
+ return {
279
+ ...commonFeeData,
280
+ feeType: "FRACTIONAL_FEE",
281
+ fractionalFee: {
282
+ numerator: Long.fromValue(
283
+ fee.fractionalFee.fractionalAmount?.numerator || 0
284
+ ).toString(),
285
+ denominator: Long.fromValue(
286
+ fee.fractionalFee.fractionalAmount?.denominator || 1
287
+ ).toString(),
288
+ minimumAmount: Long.fromValue(
289
+ fee.fractionalFee.minimumAmount || 0
290
+ ).toString(),
291
+ maximumAmount: Long.fromValue(
292
+ fee.fractionalFee.maximumAmount || 0
293
+ ).toString(),
294
+ netOfTransfers: fee.fractionalFee.netOfTransfers || false
295
+ }
296
+ };
297
+ } else if (fee.royaltyFee) {
298
+ let fallbackFeeData = void 0;
299
+ if (fee.royaltyFee.fallbackFee) {
300
+ fallbackFeeData = {
301
+ amount: Long.fromValue(
302
+ fee.royaltyFee.fallbackFee.amount || 0
303
+ ).toString(),
304
+ denominatingTokenId: fee.royaltyFee.fallbackFee.denominatingTokenId ? new TokenId(
305
+ fee.royaltyFee.fallbackFee.denominatingTokenId.shardNum ?? 0,
306
+ fee.royaltyFee.fallbackFee.denominatingTokenId.realmNum ?? 0,
307
+ fee.royaltyFee.fallbackFee.denominatingTokenId.tokenNum ?? 0
308
+ ).toString() : void 0
309
+ };
310
+ }
311
+ return {
312
+ ...commonFeeData,
313
+ feeType: "ROYALTY_FEE",
314
+ royaltyFee: {
315
+ numerator: Long.fromValue(
316
+ fee.royaltyFee.exchangeValueFraction?.numerator || 0
317
+ ).toString(),
318
+ denominator: Long.fromValue(
319
+ fee.royaltyFee.exchangeValueFraction?.denominator || 1
320
+ ).toString(),
321
+ fallbackFee: fallbackFeeData
322
+ }
323
+ };
324
+ }
325
+ return {
326
+ ...commonFeeData,
327
+ feeType: "FIXED_FEE",
328
+ fixedFee: { amount: "0" }
329
+ };
330
+ });
168
331
  }
169
332
  return data;
170
333
  }
171
- /**
172
- * Parse Schedule Sign from protobuf data
173
- */
174
- static parseScheduleSignFromProto(body) {
334
+ static parseTokenMint(body) {
335
+ if (!body || !body.token || body.amount === null || body.amount === void 0) {
336
+ return void 0;
337
+ }
338
+ const data = {
339
+ tokenId: new TokenId(
340
+ body.token.shardNum ?? 0,
341
+ body.token.realmNum ?? 0,
342
+ body.token.tokenNum ?? 0
343
+ ).toString(),
344
+ amount: Long.fromValue(body.amount).toNumber()
345
+ };
346
+ if (body.metadata && body.metadata.length > 0) {
347
+ data.metadata = body.metadata.map(
348
+ (meta) => Buffer.from(meta).toString("base64")
349
+ );
350
+ }
351
+ return data;
352
+ }
353
+ static parseTokenBurn(body) {
354
+ if (!body || !body.token || body.amount === null || body.amount === void 0) {
355
+ return void 0;
356
+ }
357
+ const data = {
358
+ tokenId: new TokenId(
359
+ body.token.shardNum ?? 0,
360
+ body.token.realmNum ?? 0,
361
+ body.token.tokenNum ?? 0
362
+ ).toString(),
363
+ amount: Long.fromValue(body.amount).toNumber()
364
+ };
365
+ if (body.serialNumbers && body.serialNumbers.length > 0) {
366
+ data.serialNumbers = body.serialNumbers.map(
367
+ (sn) => Long.fromValue(sn).toNumber()
368
+ );
369
+ }
370
+ return data;
371
+ }
372
+ static parseTokenUpdate(body) {
175
373
  if (!body) return void 0;
176
374
  const data = {};
177
- if (body.scheduleID) {
178
- data.scheduleId = new ScheduleId(
179
- body.scheduleID.shardNum ?? 0,
180
- body.scheduleID.realmNum ?? 0,
181
- body.scheduleID.scheduleNum ?? 0
375
+ if (body.token) {
376
+ data.tokenId = new TokenId(
377
+ body.token.shardNum ?? 0,
378
+ body.token.realmNum ?? 0,
379
+ body.token.tokenNum ?? 0
380
+ ).toString();
381
+ }
382
+ if (body.name) {
383
+ data.name = body.name;
384
+ }
385
+ if (body.symbol) {
386
+ data.symbol = body.symbol;
387
+ }
388
+ if (body.treasury) {
389
+ data.treasuryAccountId = new AccountId(
390
+ body.treasury.shardNum ?? 0,
391
+ body.treasury.realmNum ?? 0,
392
+ body.treasury.accountNum ?? 0
393
+ ).toString();
394
+ }
395
+ data.adminKey = parseKey(body.adminKey);
396
+ data.kycKey = parseKey(body.kycKey);
397
+ data.freezeKey = parseKey(body.freezeKey);
398
+ data.wipeKey = parseKey(body.wipeKey);
399
+ data.supplyKey = parseKey(body.supplyKey);
400
+ data.feeScheduleKey = parseKey(body.feeScheduleKey);
401
+ data.pauseKey = parseKey(body.pauseKey);
402
+ if (body.autoRenewAccount) {
403
+ data.autoRenewAccountId = new AccountId(
404
+ body.autoRenewAccount.shardNum ?? 0,
405
+ body.autoRenewAccount.realmNum ?? 0,
406
+ body.autoRenewAccount.accountNum ?? 0
182
407
  ).toString();
183
408
  }
409
+ if (body.autoRenewPeriod?.seconds) {
410
+ data.autoRenewPeriod = Long.fromValue(
411
+ body.autoRenewPeriod.seconds
412
+ ).toString();
413
+ }
414
+ if (body.memo?.value !== void 0) {
415
+ data.memo = body.memo.value;
416
+ }
417
+ if (body.expiry?.seconds) {
418
+ data.expiry = `${Long.fromValue(body.expiry.seconds).toString()}.${body.expiry.nanos}`;
419
+ }
184
420
  return data;
185
421
  }
186
- /**
187
- * Parse Schedule Delete from protobuf data
188
- */
189
- static parseScheduleDeleteFromProto(body) {
422
+ static parseTokenFeeScheduleUpdate(body) {
423
+ if (!body) return void 0;
424
+ const data = {};
425
+ if (body.tokenId) {
426
+ data.tokenId = new TokenId(
427
+ body.tokenId.shardNum ?? 0,
428
+ body.tokenId.realmNum ?? 0,
429
+ body.tokenId.tokenNum ?? 0
430
+ ).toString();
431
+ }
432
+ if (body.customFees && body.customFees.length > 0) {
433
+ data.customFees = body.customFees.map((fee) => {
434
+ const feeCollectorAccountId = fee.feeCollectorAccountId ? new AccountId(
435
+ fee.feeCollectorAccountId.shardNum ?? 0,
436
+ fee.feeCollectorAccountId.realmNum ?? 0,
437
+ fee.feeCollectorAccountId.accountNum ?? 0
438
+ ).toString() : "Not Set";
439
+ const commonFeeData = {
440
+ feeCollectorAccountId,
441
+ allCollectorsAreExempt: fee.allCollectorsAreExempt || false
442
+ };
443
+ if (fee.fixedFee) {
444
+ return {
445
+ ...commonFeeData,
446
+ feeType: "FIXED_FEE",
447
+ fixedFee: {
448
+ amount: Long.fromValue(fee.fixedFee.amount || 0).toString(),
449
+ denominatingTokenId: fee.fixedFee.denominatingTokenId ? new TokenId(
450
+ fee.fixedFee.denominatingTokenId.shardNum ?? 0,
451
+ fee.fixedFee.denominatingTokenId.realmNum ?? 0,
452
+ fee.fixedFee.denominatingTokenId.tokenNum ?? 0
453
+ ).toString() : void 0
454
+ }
455
+ };
456
+ } else if (fee.fractionalFee) {
457
+ return {
458
+ ...commonFeeData,
459
+ feeType: "FRACTIONAL_FEE",
460
+ fractionalFee: {
461
+ numerator: Long.fromValue(
462
+ fee.fractionalFee.fractionalAmount?.numerator || 0
463
+ ).toString(),
464
+ denominator: Long.fromValue(
465
+ fee.fractionalFee.fractionalAmount?.denominator || 1
466
+ ).toString(),
467
+ minimumAmount: Long.fromValue(
468
+ fee.fractionalFee.minimumAmount || 0
469
+ ).toString(),
470
+ maximumAmount: Long.fromValue(
471
+ fee.fractionalFee.maximumAmount || 0
472
+ ).toString(),
473
+ netOfTransfers: fee.fractionalFee.netOfTransfers || false
474
+ }
475
+ };
476
+ } else if (fee.royaltyFee) {
477
+ let fallbackFeeData = void 0;
478
+ if (fee.royaltyFee.fallbackFee) {
479
+ fallbackFeeData = {
480
+ amount: Long.fromValue(
481
+ fee.royaltyFee.fallbackFee.amount || 0
482
+ ).toString(),
483
+ denominatingTokenId: fee.royaltyFee.fallbackFee.denominatingTokenId ? new TokenId(
484
+ fee.royaltyFee.fallbackFee.denominatingTokenId.shardNum ?? 0,
485
+ fee.royaltyFee.fallbackFee.denominatingTokenId.realmNum ?? 0,
486
+ fee.royaltyFee.fallbackFee.denominatingTokenId.tokenNum ?? 0
487
+ ).toString() : void 0
488
+ };
489
+ }
490
+ return {
491
+ ...commonFeeData,
492
+ feeType: "ROYALTY_FEE",
493
+ royaltyFee: {
494
+ numerator: Long.fromValue(
495
+ fee.royaltyFee.exchangeValueFraction?.numerator || 0
496
+ ).toString(),
497
+ denominator: Long.fromValue(
498
+ fee.royaltyFee.exchangeValueFraction?.denominator || 1
499
+ ).toString(),
500
+ fallbackFee: fallbackFeeData
501
+ }
502
+ };
503
+ }
504
+ return {
505
+ ...commonFeeData,
506
+ feeType: "FIXED_FEE",
507
+ fixedFee: { amount: "0" }
508
+ };
509
+ });
510
+ }
511
+ return data;
512
+ }
513
+ static parseTokenFreeze(body) {
514
+ if (!body) return void 0;
515
+ const data = {};
516
+ if (body.token) {
517
+ data.tokenId = new TokenId(
518
+ body.token.shardNum ?? 0,
519
+ body.token.realmNum ?? 0,
520
+ body.token.tokenNum ?? 0
521
+ ).toString();
522
+ }
523
+ if (body.account) {
524
+ data.accountId = new AccountId(
525
+ body.account.shardNum ?? 0,
526
+ body.account.realmNum ?? 0,
527
+ body.account.accountNum ?? 0
528
+ ).toString();
529
+ }
530
+ return data;
531
+ }
532
+ static parseTokenUnfreeze(body) {
533
+ if (!body) return void 0;
534
+ const data = {};
535
+ if (body.token) {
536
+ data.tokenId = new TokenId(
537
+ body.token.shardNum ?? 0,
538
+ body.token.realmNum ?? 0,
539
+ body.token.tokenNum ?? 0
540
+ ).toString();
541
+ }
542
+ if (body.account) {
543
+ data.accountId = new AccountId(
544
+ body.account.shardNum ?? 0,
545
+ body.account.realmNum ?? 0,
546
+ body.account.accountNum ?? 0
547
+ ).toString();
548
+ }
549
+ return data;
550
+ }
551
+ static parseTokenGrantKyc(body) {
552
+ if (!body) return void 0;
553
+ const data = {};
554
+ if (body.token) {
555
+ data.tokenId = new TokenId(
556
+ body.token.shardNum ?? 0,
557
+ body.token.realmNum ?? 0,
558
+ body.token.tokenNum ?? 0
559
+ ).toString();
560
+ }
561
+ if (body.account) {
562
+ data.accountId = new AccountId(
563
+ body.account.shardNum ?? 0,
564
+ body.account.realmNum ?? 0,
565
+ body.account.accountNum ?? 0
566
+ ).toString();
567
+ }
568
+ return data;
569
+ }
570
+ static parseTokenRevokeKyc(body) {
571
+ if (!body) return void 0;
572
+ const data = {};
573
+ if (body.token) {
574
+ data.tokenId = new TokenId(
575
+ body.token.shardNum ?? 0,
576
+ body.token.realmNum ?? 0,
577
+ body.token.tokenNum ?? 0
578
+ ).toString();
579
+ }
580
+ if (body.account) {
581
+ data.accountId = new AccountId(
582
+ body.account.shardNum ?? 0,
583
+ body.account.realmNum ?? 0,
584
+ body.account.accountNum ?? 0
585
+ ).toString();
586
+ }
587
+ return data;
588
+ }
589
+ static parseTokenPause(body) {
590
+ if (!body) return void 0;
591
+ const data = {};
592
+ if (body.token) {
593
+ data.tokenId = new TokenId(
594
+ body.token.shardNum ?? 0,
595
+ body.token.realmNum ?? 0,
596
+ body.token.tokenNum ?? 0
597
+ ).toString();
598
+ }
599
+ return data;
600
+ }
601
+ static parseTokenUnpause(body) {
190
602
  if (!body) return void 0;
191
603
  const data = {};
192
- if (body.scheduleID) {
193
- data.scheduleId = new ScheduleId(
194
- body.scheduleID.shardNum ?? 0,
195
- body.scheduleID.realmNum ?? 0,
196
- body.scheduleID.scheduleNum ?? 0
604
+ if (body.token) {
605
+ data.tokenId = new TokenId(
606
+ body.token.shardNum ?? 0,
607
+ body.token.realmNum ?? 0,
608
+ body.token.tokenNum ?? 0
197
609
  ).toString();
198
610
  }
199
611
  return data;
200
612
  }
613
+ static parseTokenWipeAccount(body) {
614
+ if (!body) return void 0;
615
+ const data = {};
616
+ if (body.token) {
617
+ data.tokenId = new TokenId(
618
+ body.token.shardNum ?? 0,
619
+ body.token.realmNum ?? 0,
620
+ body.token.tokenNum ?? 0
621
+ ).toString();
622
+ }
623
+ if (body.account) {
624
+ data.accountId = new AccountId(
625
+ body.account.shardNum ?? 0,
626
+ body.account.realmNum ?? 0,
627
+ body.account.accountNum ?? 0
628
+ ).toString();
629
+ }
630
+ if (body.serialNumbers && body.serialNumbers.length > 0) {
631
+ data.serialNumbers = body.serialNumbers.map(
632
+ (sn) => Long.fromValue(sn).toString()
633
+ );
634
+ }
635
+ if (body.amount) {
636
+ data.amount = Long.fromValue(body.amount).toString();
637
+ }
638
+ return data;
639
+ }
640
+ static parseTokenDelete(body) {
641
+ if (!body) return void 0;
642
+ const data = {};
643
+ if (body.token) {
644
+ data.tokenId = new TokenId(
645
+ body.token.shardNum ?? 0,
646
+ body.token.realmNum ?? 0,
647
+ body.token.tokenNum ?? 0
648
+ ).toString();
649
+ }
650
+ return data;
651
+ }
652
+ static parseTokenAssociate(body) {
653
+ if (!body) return void 0;
654
+ const data = {};
655
+ if (body.account) {
656
+ data.accountId = new AccountId(
657
+ body.account.shardNum ?? 0,
658
+ body.account.realmNum ?? 0,
659
+ body.account.accountNum ?? 0
660
+ ).toString();
661
+ }
662
+ if (body.tokens && body.tokens.length > 0) {
663
+ data.tokenIds = body.tokens.map(
664
+ (t) => new TokenId(
665
+ t.shardNum ?? 0,
666
+ t.realmNum ?? 0,
667
+ t.tokenNum ?? 0
668
+ ).toString()
669
+ );
670
+ }
671
+ return data;
672
+ }
673
+ static parseTokenDissociate(body) {
674
+ if (!body) return void 0;
675
+ const data = {};
676
+ if (body.account) {
677
+ data.accountId = new AccountId(
678
+ body.account.shardNum ?? 0,
679
+ body.account.realmNum ?? 0,
680
+ body.account.accountNum ?? 0
681
+ ).toString();
682
+ }
683
+ if (body.tokens && body.tokens.length > 0) {
684
+ data.tokenIds = body.tokens.map(
685
+ (t) => new TokenId(
686
+ t.shardNum ?? 0,
687
+ t.realmNum ?? 0,
688
+ t.tokenNum ?? 0
689
+ ).toString()
690
+ );
691
+ }
692
+ return data;
693
+ }
201
694
  /**
202
- * Legacy method: Parse schedule create transaction
203
- * @deprecated Use parseScheduleTransaction instead
695
+ * Parse token airdrop transaction for both fungible tokens and NFTs
696
+ * Extracts airdrop transfers from transaction protobuf data
204
697
  */
205
- static parseScheduleCreate(transaction) {
698
+ static parseTokenAirdrop(transaction) {
206
699
  try {
207
- const result = this.parseScheduleTransaction(transaction);
208
- return result.scheduleCreate || null;
700
+ const transactionBody = transaction._transactionBody;
701
+ if (transactionBody?.tokenAirdrop) {
702
+ const airdrop = transactionBody.tokenAirdrop;
703
+ return {
704
+ tokenTransfers: (airdrop.tokenTransfers || []).map(
705
+ (transfer) => ({
706
+ tokenId: transfer.token?.toString() || "Unknown",
707
+ transfers: (transfer.transfers || []).map((t) => ({
708
+ accountId: t.accountID?.toString() || "Unknown",
709
+ amount: t.amount?.toString() || "0",
710
+ serialNumbers: t.serialNumbers?.map((sn) => sn.toString())
711
+ }))
712
+ })
713
+ )
714
+ };
715
+ }
716
+ if (hasTransactionType(transaction, "tokenAirdrop")) {
717
+ const txBody = extractTransactionBody(transaction);
718
+ if (txBody?.tokenAirdrop) {
719
+ return this.parseTokenAirdropFromProto(txBody.tokenAirdrop);
720
+ }
721
+ }
722
+ const tx = transaction;
723
+ const tokenTransfersList = tx._tokenTransfers || [];
724
+ if (tokenTransfersList.length > 0) {
725
+ return {
726
+ tokenTransfers: tokenTransfersList.map((transfer) => ({
727
+ tokenId: transfer.tokenId?.toString() || "Unknown",
728
+ transfers: (transfer.transfers || []).map((t) => ({
729
+ accountId: t.accountId?.toString() || "Unknown",
730
+ amount: t.amount?.toString() || "0",
731
+ serialNumbers: t.serialNumbers?.map((sn) => sn.toString())
732
+ }))
733
+ }))
734
+ };
735
+ }
736
+ return null;
209
737
  } catch (error) {
210
- console.warn("[ScheduleParser] Failed to parse schedule create:", error);
738
+ console.warn("[HTSParser] Failed to parse token airdrop:", error);
211
739
  return null;
212
740
  }
213
741
  }
214
742
  /**
215
- * Legacy method: Parse schedule sign transaction
216
- * @deprecated Use parseScheduleTransaction instead
743
+ * Parse token airdrop from protobuf data for scheduled transactions
217
744
  */
218
- static parseScheduleSign(transaction) {
219
- try {
220
- const result = this.parseScheduleTransaction(transaction);
221
- return result.scheduleSign || null;
222
- } catch (error) {
223
- console.warn("[ScheduleParser] Failed to parse schedule sign:", error);
224
- return null;
745
+ static parseTokenAirdropFromProto(airdrop) {
746
+ const tokenTransfers = [];
747
+ if (airdrop.tokenTransfers) {
748
+ for (const tokenTransfer of airdrop.tokenTransfers) {
749
+ const token = tokenTransfer.token ? new TokenId(
750
+ tokenTransfer.token.shardNum ?? 0,
751
+ tokenTransfer.token.realmNum ?? 0,
752
+ tokenTransfer.token.tokenNum ?? 0
753
+ ) : null;
754
+ const transfers = [];
755
+ if (tokenTransfer.transfers) {
756
+ for (const transfer of tokenTransfer.transfers) {
757
+ const accountId = transfer.accountID ? new AccountId(
758
+ transfer.accountID.shardNum ?? 0,
759
+ transfer.accountID.realmNum ?? 0,
760
+ transfer.accountID.accountNum ?? 0
761
+ ) : null;
762
+ transfers.push({
763
+ accountId: accountId?.toString() || "Unknown",
764
+ amount: transfer.amount ? Long.fromValue(transfer.amount).toString() : "0",
765
+ serialNumbers: transfer.serialNumbers?.map(
766
+ (sn) => Long.fromValue(sn).toString()
767
+ )
768
+ });
769
+ }
770
+ }
771
+ tokenTransfers.push({
772
+ tokenId: token?.toString() || "Unknown",
773
+ transfers
774
+ });
775
+ }
225
776
  }
777
+ return { tokenTransfers };
226
778
  }
227
779
  /**
228
- * Legacy method: Parse schedule delete transaction
229
- * @deprecated Use parseScheduleTransaction instead
780
+ * Extract token creation data from Transaction object internal fields
781
+ * This handles the case where token creation data is stored in Transaction internals
230
782
  */
231
- static parseScheduleDelete(transaction) {
783
+ static extractTokenCreationFromTransaction(transaction) {
232
784
  try {
233
- const result = this.parseScheduleTransaction(transaction);
234
- return result.scheduleDelete || null;
785
+ const tx = transaction;
786
+ if (tx._tokenName || tx._tokenSymbol) {
787
+ const result = {
788
+ tokenName: tx._tokenName || "Unknown Token",
789
+ tokenSymbol: tx._tokenSymbol || "UNKNOWN",
790
+ initialSupply: tx._initialSupply?.toString() || "0",
791
+ decimals: Number(tx._decimals || 0),
792
+ treasuryAccountId: tx._treasuryAccountId?.toString() || "Unknown"
793
+ };
794
+ if (tx._maxSupply) {
795
+ result.maxSupply = tx._maxSupply.toString();
796
+ }
797
+ if (tx._tokenType) {
798
+ result.tokenType = tx._tokenType.toString ? tx._tokenType.toString() : String(tx._tokenType);
799
+ }
800
+ if (tx._supplyType) {
801
+ result.supplyType = tx._supplyType.toString ? tx._supplyType.toString() : String(tx._supplyType);
802
+ }
803
+ if (tx._tokenMemo) {
804
+ result.memo = tx._tokenMemo;
805
+ }
806
+ if (tx._adminKey) {
807
+ result.adminKey = tx._adminKey.toString();
808
+ }
809
+ if (tx._kycKey) {
810
+ result.kycKey = tx._kycKey.toString();
811
+ }
812
+ if (tx._freezeKey) {
813
+ result.freezeKey = tx._freezeKey.toString();
814
+ }
815
+ if (tx._wipeKey) {
816
+ result.wipeKey = tx._wipeKey.toString();
817
+ }
818
+ if (tx._supplyKey) {
819
+ result.supplyKey = tx._supplyKey.toString();
820
+ }
821
+ if (tx._feeScheduleKey) {
822
+ result.feeScheduleKey = tx._feeScheduleKey.toString();
823
+ }
824
+ if (tx._pauseKey) {
825
+ result.pauseKey = tx._pauseKey.toString();
826
+ }
827
+ if (tx._metadataKey) {
828
+ result.metadataKey = tx._metadataKey.toString();
829
+ }
830
+ if (tx._autoRenewAccountId) {
831
+ result.autoRenewAccount = tx._autoRenewAccountId.toString();
832
+ }
833
+ if (tx._autoRenewPeriod) {
834
+ result.autoRenewPeriod = tx._autoRenewPeriod.seconds?.toString() || tx._autoRenewPeriod.toString();
835
+ }
836
+ if (tx._expirationTime) {
837
+ result.expiry = tx._expirationTime.seconds?.toString() || tx._expirationTime.toString();
838
+ }
839
+ if (tx._customFees && Array.isArray(tx._customFees) && tx._customFees.length > 0) {
840
+ result.customFees = tx._customFees.map((fee) => {
841
+ const customFee = {
842
+ feeCollectorAccountId: fee.feeCollectorAccountId?.toString() || "",
843
+ feeType: "FIXED_FEE"
844
+ };
845
+ if (fee.fixedFee) {
846
+ customFee.feeType = "FIXED_FEE";
847
+ customFee.fixedFee = {
848
+ amount: fee.fixedFee.amount?.toString() || "0",
849
+ denominatingTokenId: fee.fixedFee.denominatingTokenId?.toString()
850
+ };
851
+ } else if (fee.fractionalFee) {
852
+ customFee.feeType = "FRACTIONAL_FEE";
853
+ customFee.fractionalFee = {
854
+ numerator: fee.fractionalFee.numerator?.toString() || "0",
855
+ denominator: fee.fractionalFee.denominator?.toString() || "1",
856
+ minimumAmount: fee.fractionalFee.minimumAmount?.toString() || "0",
857
+ maximumAmount: fee.fractionalFee.maximumAmount?.toString() || "0",
858
+ netOfTransfers: fee.fractionalFee.netOfTransfers || false
859
+ };
860
+ } else if (fee.royaltyFee) {
861
+ customFee.feeType = "ROYALTY_FEE";
862
+ customFee.royaltyFee = {
863
+ numerator: fee.royaltyFee.numerator?.toString() || "0",
864
+ denominator: fee.royaltyFee.denominator?.toString() || "1",
865
+ fallbackFee: fee.royaltyFee.fallbackFee ? {
866
+ amount: fee.royaltyFee.fallbackFee.amount?.toString() || "0",
867
+ denominatingTokenId: fee.royaltyFee.fallbackFee.denominatingTokenId?.toString()
868
+ } : void 0
869
+ };
870
+ }
871
+ customFee.allCollectorsAreExempt = fee.allCollectorsAreExempt || false;
872
+ return customFee;
873
+ });
874
+ }
875
+ return result;
876
+ }
877
+ return null;
235
878
  } catch (error) {
236
- console.warn("[ScheduleParser] Failed to parse schedule delete:", error);
237
879
  return null;
238
880
  }
239
881
  }
240
882
  /**
241
- * Parse schedule info from transaction body (for scheduled transactions)
883
+ * Extract token airdrop data from Transaction object internal fields
884
+ * This handles the case where airdrop data is stored in Transaction internals
242
885
  */
243
- static extractScheduleInfo(transaction) {
886
+ static extractTokenAirdropFromTransaction(transaction) {
244
887
  try {
245
- const transactionBody = transaction._transactionBody;
246
- if (transactionBody?.scheduleRef) {
247
- return {
248
- isScheduled: true,
249
- scheduleRef: transactionBody.scheduleRef.toString()
250
- };
251
- }
252
888
  const tx = transaction;
253
- if (tx._scheduleId || tx.scheduleId) {
254
- return {
255
- isScheduled: true,
256
- scheduleRef: (tx._scheduleId || tx.scheduleId)?.toString()
257
- };
889
+ if (tx._tokenAirdrops && Array.isArray(tx._tokenAirdrops)) {
890
+ const tokenTransfers = tx._tokenAirdrops.map((airdrop) => ({
891
+ tokenId: airdrop.tokenId?.toString() || "Unknown",
892
+ transfers: (airdrop.transfers || []).map((transfer) => ({
893
+ accountId: transfer.accountId?.toString() || "Unknown",
894
+ amount: transfer.amount?.toString() || "0",
895
+ serialNumbers: transfer.serialNumbers?.map((s) => s.toString()) || []
896
+ }))
897
+ }));
898
+ return { tokenTransfers };
258
899
  }
259
- return { isScheduled: false };
900
+ return null;
260
901
  } catch (error) {
261
- return { isScheduled: false };
902
+ return null;
262
903
  }
263
904
  }
264
905
  /**
265
- * Parse a scheduled transaction body to extract the inner transaction
266
- * This is used when a schedule contains another transaction to be executed
906
+ * Parse HTS transaction from Transaction object with comprehensive extraction
907
+ * This is the unified entry point that handles both protobuf and internal field extraction
267
908
  */
268
- static parseScheduledTransactionBody(scheduledTxBytes) {
909
+ static parseFromTransactionObject(transaction) {
269
910
  try {
270
- let bytes;
271
- if (scheduledTxBytes.startsWith("0x")) {
272
- const hexString = scheduledTxBytes.slice(2);
273
- bytes = new Uint8Array(Buffer.from(hexString, "hex"));
274
- } else {
275
- bytes = new Uint8Array(Buffer.from(scheduledTxBytes, "base64"));
911
+ try {
912
+ const bytes = transaction.toBytes ? transaction.toBytes() : void 0;
913
+ if (bytes) {
914
+ const decoded = proto.TransactionList.decode(bytes);
915
+ if (decoded.transactionList && decoded.transactionList.length > 0) {
916
+ const tx = decoded.transactionList[0];
917
+ let txBody = null;
918
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
919
+ txBody = proto.TransactionBody.decode(tx.bodyBytes);
920
+ } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
921
+ const signedTx = proto.SignedTransaction.decode(
922
+ tx.signedTransactionBytes
923
+ );
924
+ if (signedTx.bodyBytes) {
925
+ txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
926
+ }
927
+ }
928
+ if (txBody) {
929
+ if (txBody.tokenCreation) {
930
+ const tokenCreation2 = this.parseTokenCreate(
931
+ txBody.tokenCreation
932
+ );
933
+ if (tokenCreation2) {
934
+ return {
935
+ type: "TOKENCREATE",
936
+ humanReadableType: "Token Creation",
937
+ tokenCreation: tokenCreation2
938
+ };
939
+ }
940
+ }
941
+ if (txBody.tokenMint) {
942
+ const tokenMint = this.parseTokenMint(txBody.tokenMint);
943
+ if (tokenMint) {
944
+ return {
945
+ type: "TOKENMINT",
946
+ humanReadableType: "Token Mint",
947
+ tokenMint
948
+ };
949
+ }
950
+ }
951
+ if (txBody.tokenBurn) {
952
+ const tokenBurn = this.parseTokenBurn(txBody.tokenBurn);
953
+ if (tokenBurn) {
954
+ return {
955
+ type: "TOKENBURN",
956
+ humanReadableType: "Token Burn",
957
+ tokenBurn
958
+ };
959
+ }
960
+ }
961
+ if (txBody.tokenUpdate) {
962
+ const tokenUpdate = this.parseTokenUpdate(txBody.tokenUpdate);
963
+ if (tokenUpdate) {
964
+ return {
965
+ type: "TOKENUPDATE",
966
+ humanReadableType: "Token Update",
967
+ tokenUpdate
968
+ };
969
+ }
970
+ }
971
+ if (txBody.tokenFreeze) {
972
+ const tokenFreeze = this.parseTokenFreeze(txBody.tokenFreeze);
973
+ if (tokenFreeze) {
974
+ return {
975
+ type: "TOKENFREEZE",
976
+ humanReadableType: "Token Freeze",
977
+ tokenFreeze
978
+ };
979
+ }
980
+ }
981
+ if (txBody.tokenUnfreeze) {
982
+ const tokenUnfreeze = this.parseTokenUnfreeze(
983
+ txBody.tokenUnfreeze
984
+ );
985
+ if (tokenUnfreeze) {
986
+ return {
987
+ type: "TOKENUNFREEZE",
988
+ humanReadableType: "Token Unfreeze",
989
+ tokenUnfreeze
990
+ };
991
+ }
992
+ }
993
+ if (txBody.tokenGrantKyc) {
994
+ const tokenGrantKyc = this.parseTokenGrantKyc(
995
+ txBody.tokenGrantKyc
996
+ );
997
+ if (tokenGrantKyc) {
998
+ return {
999
+ type: "TOKENGRANTKYC",
1000
+ humanReadableType: "Token Grant KYC",
1001
+ tokenGrantKyc
1002
+ };
1003
+ }
1004
+ }
1005
+ if (txBody.tokenRevokeKyc) {
1006
+ const tokenRevokeKyc = this.parseTokenRevokeKyc(
1007
+ txBody.tokenRevokeKyc
1008
+ );
1009
+ if (tokenRevokeKyc) {
1010
+ return {
1011
+ type: "TOKENREVOKEKYC",
1012
+ humanReadableType: "Token Revoke KYC",
1013
+ tokenRevokeKyc
1014
+ };
1015
+ }
1016
+ }
1017
+ if (txBody.tokenPause) {
1018
+ const tokenPause = this.parseTokenPause(txBody.tokenPause);
1019
+ if (tokenPause) {
1020
+ return {
1021
+ type: "TOKENPAUSE",
1022
+ humanReadableType: "Token Pause",
1023
+ tokenPause
1024
+ };
1025
+ }
1026
+ }
1027
+ if (txBody.tokenUnpause) {
1028
+ const tokenUnpause = this.parseTokenUnpause(
1029
+ txBody.tokenUnpause
1030
+ );
1031
+ if (tokenUnpause) {
1032
+ return {
1033
+ type: "TOKENUNPAUSE",
1034
+ humanReadableType: "Token Unpause",
1035
+ tokenUnpause
1036
+ };
1037
+ }
1038
+ }
1039
+ if (txBody.tokenWipe) {
1040
+ const tokenWipeAccount = this.parseTokenWipeAccount(
1041
+ txBody.tokenWipe
1042
+ );
1043
+ if (tokenWipeAccount) {
1044
+ return {
1045
+ type: "TOKENWIPEACCOUNT",
1046
+ humanReadableType: "Token Wipe Account",
1047
+ tokenWipeAccount
1048
+ };
1049
+ }
1050
+ }
1051
+ if (txBody.tokenDeletion) {
1052
+ const tokenDelete = this.parseTokenDelete(txBody.tokenDeletion);
1053
+ if (tokenDelete) {
1054
+ return {
1055
+ type: "TOKENDELETE",
1056
+ humanReadableType: "Token Delete",
1057
+ tokenDelete
1058
+ };
1059
+ }
1060
+ }
1061
+ if (txBody.tokenAssociate) {
1062
+ const tokenAssociate = this.parseTokenAssociate(
1063
+ txBody.tokenAssociate
1064
+ );
1065
+ if (tokenAssociate) {
1066
+ return {
1067
+ type: "TOKENASSOCIATE",
1068
+ humanReadableType: "Token Associate",
1069
+ tokenAssociate
1070
+ };
1071
+ }
1072
+ }
1073
+ if (txBody.tokenDissociate) {
1074
+ const tokenDissociate = this.parseTokenDissociate(
1075
+ txBody.tokenDissociate
1076
+ );
1077
+ if (tokenDissociate) {
1078
+ return {
1079
+ type: "TOKENDISSOCIATE",
1080
+ humanReadableType: "Token Dissociate",
1081
+ tokenDissociate
1082
+ };
1083
+ }
1084
+ }
1085
+ if (txBody.tokenFeeScheduleUpdate) {
1086
+ const tokenFeeScheduleUpdate = this.parseTokenFeeScheduleUpdate(
1087
+ txBody.tokenFeeScheduleUpdate
1088
+ );
1089
+ if (tokenFeeScheduleUpdate) {
1090
+ return {
1091
+ type: "TOKENFEESCHEDULEUPDATE",
1092
+ humanReadableType: "Token Fee Schedule Update",
1093
+ tokenFeeScheduleUpdate
1094
+ };
1095
+ }
1096
+ }
1097
+ if (txBody.tokenAirdrop) {
1098
+ const tokenAirdrop2 = this.parseTokenAirdropFromProto(
1099
+ txBody.tokenAirdrop
1100
+ );
1101
+ if (tokenAirdrop2) {
1102
+ return {
1103
+ type: "TOKENAIRDROP",
1104
+ humanReadableType: "Token Airdrop",
1105
+ tokenAirdrop: tokenAirdrop2
1106
+ };
1107
+ }
1108
+ }
1109
+ }
1110
+ }
1111
+ }
1112
+ } catch (e) {
276
1113
  }
277
- const schedulableBody = proto.SchedulableTransactionBody.decode(bytes);
278
- const txType = Object.keys(schedulableBody).find(
279
- (key) => schedulableBody[key] !== null && key !== "transactionFee" && key !== "memo"
280
- );
281
- if (txType) {
1114
+ const protoResult = this.parseHTSTransaction(transaction);
1115
+ if (protoResult.type) {
1116
+ return protoResult;
1117
+ }
1118
+ const tokenCreation = this.extractTokenCreationFromTransaction(transaction);
1119
+ const tokenAirdrop = this.extractTokenAirdropFromTransaction(transaction);
1120
+ if (tokenCreation) {
282
1121
  return {
283
- type: txType.toUpperCase(),
284
- body: schedulableBody[txType],
285
- memo: schedulableBody.memo,
286
- transactionFee: schedulableBody.transactionFee?.toString()
1122
+ type: "TOKENCREATE",
1123
+ humanReadableType: "Token Creation",
1124
+ tokenCreation
287
1125
  };
288
1126
  }
289
- return null;
1127
+ if (tokenAirdrop) {
1128
+ return {
1129
+ type: "TOKENAIRDROP",
1130
+ humanReadableType: "Token Airdrop",
1131
+ tokenAirdrop
1132
+ };
1133
+ }
1134
+ return {};
290
1135
  } catch (error) {
291
- console.warn(
292
- "[ScheduleParser] Failed to parse scheduled transaction body:",
293
- error
294
- );
295
- return null;
1136
+ return {};
296
1137
  }
297
1138
  }
298
- /**
299
- * Parse Schedule Service transaction from Transaction object
300
- * This is the unified entry point that delegates to the comprehensive parsing logic
301
- */
302
- static parseFromTransactionObject(transaction) {
303
- return this.parseScheduleTransaction(transaction);
304
- }
305
1139
  }
306
1140
  export {
307
- ScheduleParser
1141
+ HTSParser
308
1142
  };
309
1143
  //# sourceMappingURL=standards-sdk.es121.js.map