@hashgraphonline/standards-sdk 0.1.144 → 0.1.146-chore-jsr-improvements.canary.74bacb9.89

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 (442) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  4. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  5. package/dist/cjs/hcs-11/client.d.ts +2 -2
  6. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  7. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  8. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  9. package/dist/cjs/hcs-11/types.d.ts +1 -0
  10. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  11. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  12. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-15/browser.d.ts +2 -0
  14. package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
  15. package/dist/cjs/hcs-15/sdk.d.ts +7 -1
  16. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  17. package/dist/cjs/hcs-15/tx.d.ts +4 -0
  18. package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
  19. package/dist/cjs/hcs-15/types.d.ts +16 -1
  20. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  21. package/dist/cjs/hcs-16/browser.d.ts +11 -2
  22. package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
  23. package/dist/cjs/hcs-16/sdk.d.ts +62 -1
  24. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  25. package/dist/cjs/hcs-16/tx.d.ts +21 -3
  26. package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
  27. package/dist/cjs/hcs-17/base-client.d.ts +1 -0
  28. package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
  29. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  30. package/dist/cjs/hcs-17/tx.d.ts +2 -0
  31. package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
  32. package/dist/cjs/hcs-17/types.d.ts +4 -0
  33. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  34. package/dist/cjs/hcs-3/src/types.d.ts +60 -0
  35. package/dist/cjs/hcs-3/src/types.d.ts.map +1 -0
  36. package/dist/cjs/hcs-7/types.d.ts +4 -4
  37. package/dist/cjs/index.d.ts.map +1 -1
  38. package/dist/cjs/inscribe/inscriber.d.ts +89 -0
  39. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  40. package/dist/cjs/jsr-entry.d.ts +16 -0
  41. package/dist/cjs/jsr-entry.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
  43. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  44. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  45. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts +24 -0
  47. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/index.d.ts +1 -0
  49. package/dist/cjs/services/registry-broker/index.d.ts.map +1 -1
  50. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  51. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  52. package/dist/cjs/services/registry-broker/schemas.d.ts +1010 -586
  53. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  54. package/dist/cjs/services/registry-broker/types.d.ts +20 -1
  55. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  56. package/dist/cjs/standards-sdk.cjs +3 -3
  57. package/dist/cjs/standards-sdk.cjs.map +1 -1
  58. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  59. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  60. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  61. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  62. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  63. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  64. package/dist/es/hcs-10/sdk.d.ts +8 -0
  65. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  66. package/dist/es/hcs-11/client.d.ts +2 -2
  67. package/dist/es/hcs-11/client.d.ts.map +1 -1
  68. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  69. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  70. package/dist/es/hcs-11/types.d.ts +1 -0
  71. package/dist/es/hcs-11/types.d.ts.map +1 -1
  72. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  73. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  74. package/dist/es/hcs-15/browser.d.ts +2 -0
  75. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  76. package/dist/es/hcs-15/sdk.d.ts +7 -1
  77. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  78. package/dist/es/hcs-15/tx.d.ts +4 -0
  79. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  80. package/dist/es/hcs-15/types.d.ts +16 -1
  81. package/dist/es/hcs-15/types.d.ts.map +1 -1
  82. package/dist/es/hcs-16/browser.d.ts +11 -2
  83. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  84. package/dist/es/hcs-16/sdk.d.ts +62 -1
  85. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  86. package/dist/es/hcs-16/tx.d.ts +21 -3
  87. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  88. package/dist/es/hcs-17/base-client.d.ts +1 -0
  89. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  90. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  91. package/dist/es/hcs-17/tx.d.ts +2 -0
  92. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  93. package/dist/es/hcs-17/types.d.ts +4 -0
  94. package/dist/es/hcs-17/types.d.ts.map +1 -1
  95. package/dist/es/hcs-3/src/types.d.ts +60 -0
  96. package/dist/es/hcs-3/src/types.d.ts.map +1 -0
  97. package/dist/es/hcs-7/types.d.ts +4 -4
  98. package/dist/es/index.d.ts.map +1 -1
  99. package/dist/es/inscribe/inscriber.d.ts +89 -0
  100. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  101. package/dist/es/jsr-entry.d.ts +16 -0
  102. package/dist/es/jsr-entry.d.ts.map +1 -0
  103. package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
  104. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  105. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  106. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  107. package/dist/es/services/registry-broker/hol-chat-ops.d.ts +24 -0
  108. package/dist/es/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  109. package/dist/es/services/registry-broker/index.d.ts +1 -0
  110. package/dist/es/services/registry-broker/index.d.ts.map +1 -1
  111. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  112. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  113. package/dist/es/services/registry-broker/schemas.d.ts +1010 -586
  114. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  115. package/dist/es/services/registry-broker/types.d.ts +20 -1
  116. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  117. package/dist/es/standards-sdk.es.js +146 -131
  118. package/dist/es/standards-sdk.es10.js +70 -90
  119. package/dist/es/standards-sdk.es10.js.map +1 -1
  120. package/dist/es/standards-sdk.es100.js +229 -26
  121. package/dist/es/standards-sdk.es100.js.map +1 -1
  122. package/dist/es/standards-sdk.es101.js +109 -228
  123. package/dist/es/standards-sdk.es101.js.map +1 -1
  124. package/dist/es/standards-sdk.es102.js +15 -94
  125. package/dist/es/standards-sdk.es102.js.map +1 -1
  126. package/dist/es/standards-sdk.es103.js +80 -30
  127. package/dist/es/standards-sdk.es103.js.map +1 -1
  128. package/dist/es/standards-sdk.es104.js +27 -80
  129. package/dist/es/standards-sdk.es104.js.map +1 -1
  130. package/dist/es/standards-sdk.es105.js +136 -25
  131. package/dist/es/standards-sdk.es105.js.map +1 -1
  132. package/dist/es/standards-sdk.es106.js +27 -140
  133. package/dist/es/standards-sdk.es106.js.map +1 -1
  134. package/dist/es/standards-sdk.es107.js +20 -27
  135. package/dist/es/standards-sdk.es107.js.map +1 -1
  136. package/dist/es/standards-sdk.es108.js +156 -18
  137. package/dist/es/standards-sdk.es108.js.map +1 -1
  138. package/dist/es/standards-sdk.es109.js +198 -148
  139. package/dist/es/standards-sdk.es109.js.map +1 -1
  140. package/dist/es/standards-sdk.es11.js +121 -45
  141. package/dist/es/standards-sdk.es11.js.map +1 -1
  142. package/dist/es/standards-sdk.es110.js +747 -166
  143. package/dist/es/standards-sdk.es110.js.map +1 -1
  144. package/dist/es/standards-sdk.es111.js +9 -786
  145. package/dist/es/standards-sdk.es111.js.map +1 -1
  146. package/dist/es/standards-sdk.es112.js +567 -13
  147. package/dist/es/standards-sdk.es112.js.map +1 -1
  148. package/dist/es/standards-sdk.es113.js +576 -541
  149. package/dist/es/standards-sdk.es113.js.map +1 -1
  150. package/dist/es/standards-sdk.es114.js +12 -601
  151. package/dist/es/standards-sdk.es114.js.map +1 -1
  152. package/dist/es/standards-sdk.es115.js +2 -13
  153. package/dist/es/standards-sdk.es115.js.map +1 -1
  154. package/dist/es/standards-sdk.es116.js +87 -2
  155. package/dist/es/standards-sdk.es116.js.map +1 -1
  156. package/dist/es/standards-sdk.es117.js +37 -80
  157. package/dist/es/standards-sdk.es117.js.map +1 -1
  158. package/dist/es/standards-sdk.es118.js +2 -39
  159. package/dist/es/standards-sdk.es118.js.map +1 -1
  160. package/dist/es/standards-sdk.es119.js +231 -2
  161. package/dist/es/standards-sdk.es119.js.map +1 -1
  162. package/dist/es/standards-sdk.es12.js +60 -159
  163. package/dist/es/standards-sdk.es12.js.map +1 -1
  164. package/dist/es/standards-sdk.es120.js +1110 -193
  165. package/dist/es/standards-sdk.es120.js.map +1 -1
  166. package/dist/es/standards-sdk.es121.js +225 -1059
  167. package/dist/es/standards-sdk.es121.js.map +1 -1
  168. package/dist/es/standards-sdk.es122.js +419 -303
  169. package/dist/es/standards-sdk.es122.js.map +1 -1
  170. package/dist/es/standards-sdk.es123.js +351 -418
  171. package/dist/es/standards-sdk.es123.js.map +1 -1
  172. package/dist/es/standards-sdk.es124.js +1109 -347
  173. package/dist/es/standards-sdk.es124.js.map +1 -1
  174. package/dist/es/standards-sdk.es125.js +182 -854
  175. package/dist/es/standards-sdk.es125.js.map +1 -1
  176. package/dist/es/standards-sdk.es126.js +1512 -153
  177. package/dist/es/standards-sdk.es126.js.map +1 -1
  178. package/dist/es/standards-sdk.es127.js +157 -1547
  179. package/dist/es/standards-sdk.es127.js.map +1 -1
  180. package/dist/es/standards-sdk.es128.js +192 -162
  181. package/dist/es/standards-sdk.es128.js.map +1 -1
  182. package/dist/es/standards-sdk.es129.js +61 -164
  183. package/dist/es/standards-sdk.es129.js.map +1 -1
  184. package/dist/es/standards-sdk.es13.js +200 -60
  185. package/dist/es/standards-sdk.es13.js.map +1 -1
  186. package/dist/es/standards-sdk.es130.js +102 -85
  187. package/dist/es/standards-sdk.es130.js.map +1 -1
  188. package/dist/es/standards-sdk.es131.js +222 -96
  189. package/dist/es/standards-sdk.es131.js.map +1 -1
  190. package/dist/es/standards-sdk.es132.js +153 -220
  191. package/dist/es/standards-sdk.es132.js.map +1 -1
  192. package/dist/es/standards-sdk.es133.js +104 -162
  193. package/dist/es/standards-sdk.es133.js.map +1 -1
  194. package/dist/es/standards-sdk.es134.js +296 -92
  195. package/dist/es/standards-sdk.es134.js.map +1 -1
  196. package/dist/es/standards-sdk.es135.js +432 -294
  197. package/dist/es/standards-sdk.es135.js.map +1 -1
  198. package/dist/es/standards-sdk.es136.js +14 -363
  199. package/dist/es/standards-sdk.es136.js.map +1 -1
  200. package/dist/es/standards-sdk.es137.js +79 -15
  201. package/dist/es/standards-sdk.es137.js.map +1 -1
  202. package/dist/es/standards-sdk.es138.js +79 -59
  203. package/dist/es/standards-sdk.es138.js.map +1 -1
  204. package/dist/es/standards-sdk.es139.js +53 -80
  205. package/dist/es/standards-sdk.es139.js.map +1 -1
  206. package/dist/es/standards-sdk.es14.js +149 -178
  207. package/dist/es/standards-sdk.es14.js.map +1 -1
  208. package/dist/es/standards-sdk.es140.js +1 -1
  209. package/dist/es/standards-sdk.es142.js +1 -1
  210. package/dist/es/standards-sdk.es143.js +1 -1
  211. package/dist/es/standards-sdk.es144.js +30 -28
  212. package/dist/es/standards-sdk.es144.js.map +1 -1
  213. package/dist/es/standards-sdk.es145.js +34 -138
  214. package/dist/es/standards-sdk.es145.js.map +1 -1
  215. package/dist/es/standards-sdk.es146.js +28 -42
  216. package/dist/es/standards-sdk.es146.js.map +1 -1
  217. package/dist/es/standards-sdk.es147.js +105 -12256
  218. package/dist/es/standards-sdk.es147.js.map +1 -1
  219. package/dist/es/standards-sdk.es148.js +40 -15
  220. package/dist/es/standards-sdk.es148.js.map +1 -1
  221. package/dist/es/standards-sdk.es149.js +959 -56
  222. package/dist/es/standards-sdk.es149.js.map +1 -1
  223. package/dist/es/standards-sdk.es15.js +152 -151
  224. package/dist/es/standards-sdk.es15.js.map +1 -1
  225. package/dist/es/standards-sdk.es150.js +12264 -57
  226. package/dist/es/standards-sdk.es150.js.map +1 -1
  227. package/dist/es/standards-sdk.es151.js +51 -167
  228. package/dist/es/standards-sdk.es151.js.map +1 -1
  229. package/dist/es/standards-sdk.es152.js +70 -308
  230. package/dist/es/standards-sdk.es152.js.map +1 -1
  231. package/dist/es/standards-sdk.es153.js +13 -342
  232. package/dist/es/standards-sdk.es153.js.map +1 -1
  233. package/dist/es/standards-sdk.es154.js +129 -410
  234. package/dist/es/standards-sdk.es154.js.map +1 -1
  235. package/dist/es/standards-sdk.es155.js +200 -209
  236. package/dist/es/standards-sdk.es155.js.map +1 -1
  237. package/dist/es/standards-sdk.es156.js +334 -64
  238. package/dist/es/standards-sdk.es156.js.map +1 -1
  239. package/dist/es/standards-sdk.es157.js +453 -871
  240. package/dist/es/standards-sdk.es157.js.map +1 -1
  241. package/dist/es/standards-sdk.es158.js +314 -222
  242. package/dist/es/standards-sdk.es158.js.map +1 -1
  243. package/dist/es/standards-sdk.es159.js +60 -228
  244. package/dist/es/standards-sdk.es159.js.map +1 -1
  245. package/dist/es/standards-sdk.es16.js +917 -136
  246. package/dist/es/standards-sdk.es16.js.map +1 -1
  247. package/dist/es/standards-sdk.es160.js +242 -0
  248. package/dist/es/standards-sdk.es160.js.map +1 -0
  249. package/dist/es/standards-sdk.es161.js +247 -0
  250. package/dist/es/standards-sdk.es161.js.map +1 -0
  251. package/dist/es/standards-sdk.es17.js +23 -944
  252. package/dist/es/standards-sdk.es17.js.map +1 -1
  253. package/dist/es/standards-sdk.es18.js +2422 -24
  254. package/dist/es/standards-sdk.es18.js.map +1 -1
  255. package/dist/es/standards-sdk.es19.js +817 -2071
  256. package/dist/es/standards-sdk.es19.js.map +1 -1
  257. package/dist/es/standards-sdk.es2.js +654 -189
  258. package/dist/es/standards-sdk.es2.js.map +1 -1
  259. package/dist/es/standards-sdk.es20.js +205 -1091
  260. package/dist/es/standards-sdk.es20.js.map +1 -1
  261. package/dist/es/standards-sdk.es21.js +858 -221
  262. package/dist/es/standards-sdk.es21.js.map +1 -1
  263. package/dist/es/standards-sdk.es22.js +179 -903
  264. package/dist/es/standards-sdk.es22.js.map +1 -1
  265. package/dist/es/standards-sdk.es23.js +164 -179
  266. package/dist/es/standards-sdk.es23.js.map +1 -1
  267. package/dist/es/standards-sdk.es24.js +62 -118
  268. package/dist/es/standards-sdk.es24.js.map +1 -1
  269. package/dist/es/standards-sdk.es25.js +377 -52
  270. package/dist/es/standards-sdk.es25.js.map +1 -1
  271. package/dist/es/standards-sdk.es26.js +36 -394
  272. package/dist/es/standards-sdk.es26.js.map +1 -1
  273. package/dist/es/standards-sdk.es27.js +901 -50
  274. package/dist/es/standards-sdk.es27.js.map +1 -1
  275. package/dist/es/standards-sdk.es28.js +134 -902
  276. package/dist/es/standards-sdk.es28.js.map +1 -1
  277. package/dist/es/standards-sdk.es29.js +7 -134
  278. package/dist/es/standards-sdk.es29.js.map +1 -1
  279. package/dist/es/standards-sdk.es3.js +63 -680
  280. package/dist/es/standards-sdk.es3.js.map +1 -1
  281. package/dist/es/standards-sdk.es30.js +344 -7
  282. package/dist/es/standards-sdk.es30.js.map +1 -1
  283. package/dist/es/standards-sdk.es31.js +302 -287
  284. package/dist/es/standards-sdk.es31.js.map +1 -1
  285. package/dist/es/standards-sdk.es32.js +94 -322
  286. package/dist/es/standards-sdk.es32.js.map +1 -1
  287. package/dist/es/standards-sdk.es33.js +458 -101
  288. package/dist/es/standards-sdk.es33.js.map +1 -1
  289. package/dist/es/standards-sdk.es34.js +132 -451
  290. package/dist/es/standards-sdk.es34.js.map +1 -1
  291. package/dist/es/standards-sdk.es35.js +216 -130
  292. package/dist/es/standards-sdk.es35.js.map +1 -1
  293. package/dist/es/standards-sdk.es36.js +273 -195
  294. package/dist/es/standards-sdk.es36.js.map +1 -1
  295. package/dist/es/standards-sdk.es37.js +148 -87
  296. package/dist/es/standards-sdk.es37.js.map +1 -1
  297. package/dist/es/standards-sdk.es38.js +183 -320
  298. package/dist/es/standards-sdk.es38.js.map +1 -1
  299. package/dist/es/standards-sdk.es39.js +238 -161
  300. package/dist/es/standards-sdk.es39.js.map +1 -1
  301. package/dist/es/standards-sdk.es4.js +425 -63
  302. package/dist/es/standards-sdk.es4.js.map +1 -1
  303. package/dist/es/standards-sdk.es40.js +136 -254
  304. package/dist/es/standards-sdk.es40.js.map +1 -1
  305. package/dist/es/standards-sdk.es41.js +225 -176
  306. package/dist/es/standards-sdk.es41.js.map +1 -1
  307. package/dist/es/standards-sdk.es42.js +199 -261
  308. package/dist/es/standards-sdk.es42.js.map +1 -1
  309. package/dist/es/standards-sdk.es43.js +237 -199
  310. package/dist/es/standards-sdk.es43.js.map +1 -1
  311. package/dist/es/standards-sdk.es44.js +209 -201
  312. package/dist/es/standards-sdk.es44.js.map +1 -1
  313. package/dist/es/standards-sdk.es45.js +305 -201
  314. package/dist/es/standards-sdk.es45.js.map +1 -1
  315. package/dist/es/standards-sdk.es46.js +371 -261
  316. package/dist/es/standards-sdk.es46.js.map +1 -1
  317. package/dist/es/standards-sdk.es47.js +316 -371
  318. package/dist/es/standards-sdk.es47.js.map +1 -1
  319. package/dist/es/standards-sdk.es48.js +404 -336
  320. package/dist/es/standards-sdk.es48.js.map +1 -1
  321. package/dist/es/standards-sdk.es49.js +83 -449
  322. package/dist/es/standards-sdk.es49.js.map +1 -1
  323. package/dist/es/standards-sdk.es5.js +232 -354
  324. package/dist/es/standards-sdk.es5.js.map +1 -1
  325. package/dist/es/standards-sdk.es50.js +179 -89
  326. package/dist/es/standards-sdk.es50.js.map +1 -1
  327. package/dist/es/standards-sdk.es51.js +231 -165
  328. package/dist/es/standards-sdk.es51.js.map +1 -1
  329. package/dist/es/standards-sdk.es52.js +25 -262
  330. package/dist/es/standards-sdk.es52.js.map +1 -1
  331. package/dist/es/standards-sdk.es53.js +56 -26
  332. package/dist/es/standards-sdk.es53.js.map +1 -1
  333. package/dist/es/standards-sdk.es54.js +12 -57
  334. package/dist/es/standards-sdk.es54.js.map +1 -1
  335. package/dist/es/standards-sdk.es55.js +49 -12
  336. package/dist/es/standards-sdk.es55.js.map +1 -1
  337. package/dist/es/standards-sdk.es56.js +115 -43
  338. package/dist/es/standards-sdk.es56.js.map +1 -1
  339. package/dist/es/standards-sdk.es57.js +42 -115
  340. package/dist/es/standards-sdk.es57.js.map +1 -1
  341. package/dist/es/standards-sdk.es58.js +52 -43
  342. package/dist/es/standards-sdk.es58.js.map +1 -1
  343. package/dist/es/standards-sdk.es59.js +36 -50
  344. package/dist/es/standards-sdk.es59.js.map +1 -1
  345. package/dist/es/standards-sdk.es6.js +125 -246
  346. package/dist/es/standards-sdk.es6.js.map +1 -1
  347. package/dist/es/standards-sdk.es60.js +207 -39
  348. package/dist/es/standards-sdk.es60.js.map +1 -1
  349. package/dist/es/standards-sdk.es61.js +24 -200
  350. package/dist/es/standards-sdk.es61.js.map +1 -1
  351. package/dist/es/standards-sdk.es62.js +87 -25
  352. package/dist/es/standards-sdk.es62.js.map +1 -1
  353. package/dist/es/standards-sdk.es63.js +3 -51
  354. package/dist/es/standards-sdk.es63.js.map +1 -1
  355. package/dist/es/standards-sdk.es64.js +100 -3
  356. package/dist/es/standards-sdk.es64.js.map +1 -1
  357. package/dist/es/standards-sdk.es65.js +61 -62
  358. package/dist/es/standards-sdk.es65.js.map +1 -1
  359. package/dist/es/standards-sdk.es66.js +17 -98
  360. package/dist/es/standards-sdk.es66.js.map +1 -1
  361. package/dist/es/standards-sdk.es67.js +77 -19
  362. package/dist/es/standards-sdk.es67.js.map +1 -1
  363. package/dist/es/standards-sdk.es68.js +458 -77
  364. package/dist/es/standards-sdk.es68.js.map +1 -1
  365. package/dist/es/standards-sdk.es69.js +106 -240
  366. package/dist/es/standards-sdk.es69.js.map +1 -1
  367. package/dist/es/standards-sdk.es7.js +28 -183
  368. package/dist/es/standards-sdk.es7.js.map +1 -1
  369. package/dist/es/standards-sdk.es70.js +170 -286
  370. package/dist/es/standards-sdk.es70.js.map +1 -1
  371. package/dist/es/standards-sdk.es71.js +71 -207
  372. package/dist/es/standards-sdk.es71.js.map +1 -1
  373. package/dist/es/standards-sdk.es72.js +71 -72
  374. package/dist/es/standards-sdk.es72.js.map +1 -1
  375. package/dist/es/standards-sdk.es73.js +143 -71
  376. package/dist/es/standards-sdk.es73.js.map +1 -1
  377. package/dist/es/standards-sdk.es74.js +62 -136
  378. package/dist/es/standards-sdk.es74.js.map +1 -1
  379. package/dist/es/standards-sdk.es75.js +380 -45
  380. package/dist/es/standards-sdk.es75.js.map +1 -1
  381. package/dist/es/standards-sdk.es76.js +222 -130
  382. package/dist/es/standards-sdk.es76.js.map +1 -1
  383. package/dist/es/standards-sdk.es77.js +320 -444
  384. package/dist/es/standards-sdk.es77.js.map +1 -1
  385. package/dist/es/standards-sdk.es78.js +88 -370
  386. package/dist/es/standards-sdk.es78.js.map +1 -1
  387. package/dist/es/standards-sdk.es79.js +125 -89
  388. package/dist/es/standards-sdk.es79.js.map +1 -1
  389. package/dist/es/standards-sdk.es8.js +80 -29
  390. package/dist/es/standards-sdk.es8.js.map +1 -1
  391. package/dist/es/standards-sdk.es80.js +8 -125
  392. package/dist/es/standards-sdk.es80.js.map +1 -1
  393. package/dist/es/standards-sdk.es81.js +45 -6
  394. package/dist/es/standards-sdk.es81.js.map +1 -1
  395. package/dist/es/standards-sdk.es82.js +98 -44
  396. package/dist/es/standards-sdk.es82.js.map +1 -1
  397. package/dist/es/standards-sdk.es83.js +331 -84
  398. package/dist/es/standards-sdk.es83.js.map +1 -1
  399. package/dist/es/standards-sdk.es84.js +93 -160
  400. package/dist/es/standards-sdk.es84.js.map +1 -1
  401. package/dist/es/standards-sdk.es85.js +55 -275
  402. package/dist/es/standards-sdk.es85.js.map +1 -1
  403. package/dist/es/standards-sdk.es86.js +43 -55
  404. package/dist/es/standards-sdk.es86.js.map +1 -1
  405. package/dist/es/standards-sdk.es87.js +145 -22
  406. package/dist/es/standards-sdk.es87.js.map +1 -1
  407. package/dist/es/standards-sdk.es88.js +34 -47
  408. package/dist/es/standards-sdk.es88.js.map +1 -1
  409. package/dist/es/standards-sdk.es89.js +22 -57
  410. package/dist/es/standards-sdk.es89.js.map +1 -1
  411. package/dist/es/standards-sdk.es9.js +104 -80
  412. package/dist/es/standards-sdk.es9.js.map +1 -1
  413. package/dist/es/standards-sdk.es90.js +23 -28
  414. package/dist/es/standards-sdk.es90.js.map +1 -1
  415. package/dist/es/standards-sdk.es91.js +238 -23
  416. package/dist/es/standards-sdk.es91.js.map +1 -1
  417. package/dist/es/standards-sdk.es92.js +265 -152
  418. package/dist/es/standards-sdk.es92.js.map +1 -1
  419. package/dist/es/standards-sdk.es93.js +95 -68
  420. package/dist/es/standards-sdk.es93.js.map +1 -1
  421. package/dist/es/standards-sdk.es94.js +124 -136
  422. package/dist/es/standards-sdk.es94.js.map +1 -1
  423. package/dist/es/standards-sdk.es95.js +42 -138
  424. package/dist/es/standards-sdk.es95.js.map +1 -1
  425. package/dist/es/standards-sdk.es96.js +259 -42
  426. package/dist/es/standards-sdk.es96.js.map +1 -1
  427. package/dist/es/standards-sdk.es97.js +82 -243
  428. package/dist/es/standards-sdk.es97.js.map +1 -1
  429. package/dist/es/standards-sdk.es98.js +48 -47
  430. package/dist/es/standards-sdk.es98.js.map +1 -1
  431. package/dist/es/standards-sdk.es99.js +29 -100
  432. package/dist/es/standards-sdk.es99.js.map +1 -1
  433. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  434. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  435. package/dist/es/utils/dynamic-import.d.ts +5 -1
  436. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  437. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  438. package/package.json +36 -13
  439. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  440. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  441. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  442. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
@@ -1,212 +1,793 @@
1
- import axios from "axios";
2
- import { Logger } from "./standards-sdk.es106.js";
3
- import { HederaMirrorNode } from "./standards-sdk.es127.js";
4
- import "./standards-sdk.es128.js";
5
- import "./standards-sdk.es129.js";
6
- import "./standards-sdk.es130.js";
7
- import "./standards-sdk.es131.js";
8
- import "./standards-sdk.es132.js";
9
- import "./standards-sdk.es133.js";
10
- import "./standards-sdk.es134.js";
11
- import "./standards-sdk.es135.js";
12
- import "buffer";
13
- import "crypto";
14
- import "@noble/curves/secp256k1.js";
15
- import "zod";
16
- import "./standards-sdk.es139.js";
17
- class HRLResolver {
18
- constructor(logLevel = "info") {
19
- this.defaultEndpoint = "https://kiloscribe.com/api/inscription-cdn";
20
- this.logger = Logger.getInstance({
21
- level: logLevel,
22
- module: "HRLResolver"
23
- });
24
- }
1
+ import { proto } from "@hashgraph/proto";
2
+ import { Buffer } from "buffer";
3
+ import { Hbar, Long, HbarUnit, Transaction } from "@hashgraph/sdk";
4
+ import { ethers } from "ethers";
5
+ import { TransactionParsingError } from "./standards-sdk.es111.js";
6
+ import { resolveTransactionSummary } from "./standards-sdk.es112.js";
7
+ import { HTSParser } from "./standards-sdk.es120.js";
8
+ import { HCSParser } from "./standards-sdk.es154.js";
9
+ import { FileParser } from "./standards-sdk.es155.js";
10
+ import { CryptoParser } from "./standards-sdk.es156.js";
11
+ import { SCSParser } from "./standards-sdk.es157.js";
12
+ import { UtilParser } from "./standards-sdk.es158.js";
13
+ import { ScheduleParser } from "./standards-sdk.es121.js";
14
+ import { transactionParserRegistry } from "./standards-sdk.es122.js";
15
+ import { getTransactionTypeFromBody, getHumanReadableTransactionType } from "./standards-sdk.es123.js";
16
+ class TransactionParser {
25
17
  /**
26
- * Determines if a MIME type represents binary content
27
- */
28
- isBinaryContentType(mimeType) {
29
- const binaryTypes = [
30
- "image/",
31
- "audio/",
32
- "video/",
33
- "application/octet-stream",
34
- "application/pdf",
35
- "application/zip",
36
- "application/gzip",
37
- "application/x-binary",
38
- "application/vnd.ms-",
39
- "application/x-msdownload",
40
- "application/x-shockwave-flash",
41
- "font/",
42
- "application/wasm"
43
- ];
44
- return binaryTypes.some((prefix) => mimeType.startsWith(prefix));
18
+ * Parse transaction bytes in any supported format (base64 or hex, regular or scheduled)
19
+ * This is the main entry point for transaction parsing with enhanced retry logic
20
+ *
21
+ * @param transactionBytes - Transaction bytes in base64 or hex format
22
+ * @param options - Parsing options and configuration
23
+ * @returns Promise resolving to ParsedTransaction
24
+ */
25
+ static async parseTransactionBytes(transactionBytes, options = {}) {
26
+ const {
27
+ enableFallback = true,
28
+ strictMode = false,
29
+ includeRaw = true,
30
+ maxRetries = 2
31
+ } = options;
32
+ const validation = this.validateTransactionBytes(transactionBytes);
33
+ if (!validation.isValid && strictMode) {
34
+ throw new TransactionParsingError(
35
+ `Invalid transaction bytes format: ${validation.error}`,
36
+ "INVALID_FORMAT",
37
+ void 0,
38
+ transactionBytes
39
+ );
40
+ }
41
+ let lastError;
42
+ let retryCount = 0;
43
+ while (retryCount <= maxRetries) {
44
+ try {
45
+ const result = await this.parseTransaction(transactionBytes, options);
46
+ result.formatDetection = {
47
+ originalFormat: validation.format || "base64",
48
+ wasConverted: validation.format === "hex",
49
+ length: transactionBytes.length
50
+ };
51
+ return result;
52
+ } catch (error) {
53
+ lastError = error instanceof Error ? error : new Error(String(error));
54
+ retryCount++;
55
+ if (!enableFallback || retryCount > maxRetries) {
56
+ if (strictMode) {
57
+ throw new TransactionParsingError(
58
+ "Failed to parse transaction after all attempts",
59
+ "PARSING_FAILED",
60
+ lastError,
61
+ transactionBytes
62
+ );
63
+ }
64
+ break;
65
+ }
66
+ try {
67
+ const result = this.parseScheduledTransaction(
68
+ transactionBytes,
69
+ options
70
+ );
71
+ result.formatDetection = {
72
+ originalFormat: validation.format || "base64",
73
+ wasConverted: false,
74
+ length: transactionBytes.length
75
+ };
76
+ return result;
77
+ } catch (scheduledError) {
78
+ }
79
+ }
80
+ }
81
+ const fallbackResult = this.createFallbackResult(
82
+ transactionBytes,
83
+ lastError,
84
+ void 0
85
+ );
86
+ if (fallbackResult.details) {
87
+ fallbackResult.details.parseAttempts = Math.max(retryCount, 1);
88
+ }
89
+ return fallbackResult;
45
90
  }
46
91
  /**
47
- * Parses an HRL string into its components
92
+ * Parse a Transaction object directly using unified delegation approach
93
+ * This method delegates to specialized parsers for clean separation of concerns
94
+ *
95
+ * @param transaction - The Transaction object to parse
96
+ * @param originalBytes - The original transaction bytes (optional, for protobuf parsing)
97
+ * @param options - Parsing options
98
+ * @returns Parsed transaction data
48
99
  */
49
- parseHRL(hrl) {
50
- if (!hrl) {
51
- return null;
100
+ static parseTransactionObject(transaction, originalBytesOrOptions, options = {}) {
101
+ let originalBytes;
102
+ let actualOptions;
103
+ if (originalBytesOrOptions && !Buffer.isBuffer(originalBytesOrOptions) && !(originalBytesOrOptions instanceof Uint8Array)) {
104
+ actualOptions = originalBytesOrOptions;
105
+ originalBytes = void 0;
106
+ } else {
107
+ originalBytes = originalBytesOrOptions;
108
+ actualOptions = options;
52
109
  }
53
- const hrlPattern = /^hcs:\/\/(\d+)\/([0-9]+\.[0-9]+\.[0-9]+)$/;
54
- const match = hrl.match(hrlPattern);
55
- if (!match) {
56
- return null;
110
+ try {
111
+ const metadata = this.extractTransactionMetadata(transaction);
112
+ const htsResult = HTSParser.parseFromTransactionObject(transaction);
113
+ const cryptoResult = CryptoParser.parseFromTransactionObject(transaction);
114
+ const hcsResult = HCSParser.parseFromTransactionObject(transaction);
115
+ const fileResult = FileParser.parseFromTransactionObject(transaction);
116
+ const scsResult = SCSParser.parseFromTransactionObject(transaction);
117
+ const scheduleResult = ScheduleParser.parseFromTransactionObject(transaction);
118
+ const utilResult = UtilParser.parseFromTransactionObject(transaction);
119
+ const results = [
120
+ htsResult,
121
+ cryptoResult,
122
+ hcsResult,
123
+ fileResult,
124
+ scsResult,
125
+ scheduleResult,
126
+ utilResult
127
+ ];
128
+ const primaryResult = results.find((result2) => result2.type && result2.type !== "UNKNOWN") || {};
129
+ let finalType = "UNKNOWN";
130
+ let finalHumanReadableType = "Unknown Transaction";
131
+ let parsedTokenCreation;
132
+ let protoParsingResult = {};
133
+ if (originalBytes || transaction.toBytes) {
134
+ try {
135
+ const bytesToParse = originalBytes || transaction.toBytes();
136
+ const decoded = proto.TransactionList.decode(bytesToParse);
137
+ if (decoded.transactionList && decoded.transactionList.length > 0) {
138
+ const tx = decoded.transactionList[0];
139
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
140
+ const txBody = proto.TransactionBody.decode(tx.bodyBytes);
141
+ const typeResult = this.detectTransactionTypeFromBody(txBody);
142
+ finalType = typeResult.type;
143
+ finalHumanReadableType = typeResult.humanReadableType;
144
+ protoParsingResult = this.parseTransactionBodyDetails(
145
+ txBody,
146
+ finalType
147
+ );
148
+ if (protoParsingResult.tokenCreation) {
149
+ parsedTokenCreation = protoParsingResult.tokenCreation;
150
+ }
151
+ } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
152
+ const signedTx = proto.SignedTransaction.decode(
153
+ tx.signedTransactionBytes
154
+ );
155
+ if (signedTx.bodyBytes) {
156
+ const txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
157
+ const typeResult = this.detectTransactionTypeFromBody(txBody);
158
+ finalType = typeResult.type;
159
+ finalHumanReadableType = typeResult.humanReadableType;
160
+ protoParsingResult = this.parseTransactionBodyDetails(
161
+ txBody,
162
+ finalType
163
+ );
164
+ if (protoParsingResult.tokenCreation) {
165
+ parsedTokenCreation = protoParsingResult.tokenCreation;
166
+ }
167
+ }
168
+ }
169
+ }
170
+ } catch (protoError) {
171
+ }
172
+ }
173
+ if (finalType === "UNKNOWN" && primaryResult.type) {
174
+ finalType = primaryResult.type;
175
+ finalHumanReadableType = primaryResult.humanReadableType || finalHumanReadableType;
176
+ }
177
+ const result = {
178
+ type: finalType,
179
+ humanReadableType: finalHumanReadableType,
180
+ transfers: [],
181
+ tokenTransfers: [],
182
+ ...metadata,
183
+ ...primaryResult,
184
+ raw: actualOptions.includeRaw ? transaction._transactionBody || {} : void 0
185
+ };
186
+ this.mergeProtoParsingResults(
187
+ result,
188
+ protoParsingResult,
189
+ htsResult,
190
+ transaction,
191
+ originalBytes
192
+ );
193
+ result.transfers = cryptoResult.transfers || result.transfers || [];
194
+ result.tokenTransfers = cryptoResult.tokenTransfers || result.tokenTransfers || [];
195
+ return result;
196
+ } catch (error) {
197
+ return {
198
+ type: "UNKNOWN",
199
+ humanReadableType: "Unknown Transaction",
200
+ transfers: [],
201
+ tokenTransfers: [],
202
+ raw: actualOptions.includeRaw ? {} : void 0,
203
+ details: {
204
+ error: `Failed to parse Transaction object: ${error instanceof Error ? error.message : String(error)}`
205
+ }
206
+ };
57
207
  }
58
- return {
59
- standard: match[1],
60
- topicId: match[2]
61
- };
62
208
  }
63
209
  /**
64
- * Validates if a string is a valid HRL
210
+ * Parse a base64 encoded transaction body using registry pattern
211
+ * @param transactionBodyBase64 - The base64 encoded transaction body
212
+ * @returns The parsed transaction
65
213
  */
66
- isValidHRL(hrl) {
67
- if (!hrl || typeof hrl !== "string") {
68
- return false;
214
+ static parseTransactionBody(transactionBodyBase64) {
215
+ try {
216
+ const buffer = ethers.decodeBase64(transactionBodyBase64);
217
+ const txBody = proto.SchedulableTransactionBody.decode(buffer);
218
+ const transactionType = this.getTransactionType(txBody);
219
+ const result = {
220
+ type: transactionType,
221
+ humanReadableType: this.getHumanReadableType(transactionType),
222
+ transfers: [],
223
+ tokenTransfers: [],
224
+ raw: txBody
225
+ };
226
+ if (txBody.memo) {
227
+ result.memo = txBody.memo;
228
+ }
229
+ if (txBody.transactionFee) {
230
+ const hbarAmount = Hbar.fromTinybars(
231
+ Long.fromValue(txBody.transactionFee)
232
+ );
233
+ result.transactionFee = hbarAmount.toString(HbarUnit.Hbar);
234
+ }
235
+ this.applySchedulableTransactionParsing(txBody, result);
236
+ return result;
237
+ } catch (error) {
238
+ return {
239
+ type: "UNKNOWN",
240
+ humanReadableType: "Unknown Transaction",
241
+ transfers: [],
242
+ tokenTransfers: [],
243
+ raw: void 0,
244
+ details: {
245
+ error: `Failed to parse transaction body: ${error instanceof Error ? error.message : String(error)}`
246
+ }
247
+ };
69
248
  }
70
- const parsed = this.parseHRL(hrl);
71
- if (!parsed) {
72
- return false;
249
+ }
250
+ /**
251
+ * Detect transaction type and human-readable type from transaction body protobuf
252
+ * Uses registry pattern to eliminate massive if-else chain
253
+ */
254
+ static detectTransactionTypeFromBody(txBody) {
255
+ return getTransactionTypeFromBody(txBody);
256
+ }
257
+ /**
258
+ * Parse details from a complete schedule response
259
+ * @param scheduleResponse - The schedule response to parse
260
+ * @returns The parsed transaction
261
+ */
262
+ static parseScheduleResponse(scheduleResponse) {
263
+ if (!scheduleResponse.transaction_body) {
264
+ return {
265
+ type: "UNKNOWN",
266
+ humanReadableType: "Unknown Transaction",
267
+ transfers: [],
268
+ tokenTransfers: [],
269
+ raw: void 0,
270
+ details: {
271
+ error: "Schedule response missing transaction_body"
272
+ }
273
+ };
73
274
  }
74
- const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
75
- if (!topicIdPattern.test(parsed.topicId)) {
76
- return false;
275
+ const parsed = this.parseTransactionBody(scheduleResponse.transaction_body);
276
+ if (scheduleResponse.memo) {
277
+ parsed.memo = scheduleResponse.memo;
77
278
  }
78
- return true;
279
+ return parsed;
280
+ }
281
+ /**
282
+ * Determine the transaction type using registry pattern
283
+ * @param txBody - The transaction body to determine the type of
284
+ * @returns The type of the transaction
285
+ */
286
+ static getTransactionType(txBody) {
287
+ return getTransactionTypeFromBody(txBody).type;
288
+ }
289
+ /**
290
+ * Convert technical transaction type to human-readable format using registry pattern
291
+ * @param type - The technical transaction type
292
+ * @returns The human-readable transaction type
293
+ */
294
+ static getHumanReadableType(type) {
295
+ return getHumanReadableTransactionType(type);
79
296
  }
80
297
  /**
81
- * Validates if a string is a valid topic ID
298
+ * Get a human-readable summary of the transaction
299
+ * @param parsedTx - The parsed transaction
300
+ * @returns The human-readable summary of the transaction
82
301
  */
83
- isValidTopicId(topicId) {
84
- const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
85
- return topicIdPattern.test(topicId);
302
+ static getTransactionSummary(parsedTx) {
303
+ return resolveTransactionSummary(parsedTx);
86
304
  }
87
305
  /**
88
- * Resolves content from either an HRL or a topic ID
89
- * If a topic ID is provided, it queries the topic memo to determine the HCS standard
306
+ * Validate transaction bytes format and encoding
307
+ * Enhanced validation with better format detection
90
308
  */
91
- async resolve(hrlOrTopicId, options) {
92
- if (this.isValidHRL(hrlOrTopicId)) {
93
- return this.resolveHRL(hrlOrTopicId, options);
309
+ static validateTransactionBytes(transactionBytes) {
310
+ if (!transactionBytes || typeof transactionBytes !== "string") {
311
+ return {
312
+ isValid: false,
313
+ error: "Transaction bytes must be a non-empty string"
314
+ };
94
315
  }
95
- if (!this.isValidTopicId(hrlOrTopicId)) {
96
- throw new Error(`Invalid HRL or topic ID format: ${hrlOrTopicId}`);
316
+ const format = this.detectTransactionFormat(transactionBytes);
317
+ const base64Regex = /^[A-Za-z0-9+/]*={0,2}$/;
318
+ const hexRegex = /^0x[0-9a-fA-F]+$/;
319
+ let isValid = false;
320
+ let error;
321
+ if (format === "hex") {
322
+ isValid = hexRegex.test(transactionBytes) && transactionBytes.length > 2;
323
+ if (!isValid) {
324
+ error = "Invalid hex format";
325
+ }
326
+ } else {
327
+ isValid = base64Regex.test(transactionBytes) && transactionBytes.length > 0;
328
+ if (!isValid) {
329
+ error = "Invalid base64 format";
330
+ }
97
331
  }
332
+ return {
333
+ isValid,
334
+ format,
335
+ error,
336
+ length: transactionBytes.length
337
+ };
338
+ }
339
+ /**
340
+ * Detects the format of transaction bytes
341
+ * @param transactionBytes - The transaction bytes to analyze
342
+ * @returns The detected format ('base64' or 'hex')
343
+ */
344
+ static detectTransactionFormat(transactionBytes) {
345
+ return transactionBytes.startsWith("0x") ? "hex" : "base64";
346
+ }
347
+ /**
348
+ * Decodes transaction bytes from string to Uint8Array
349
+ * @param transactionBytes - The transaction bytes string (base64 or hex)
350
+ * @returns Decoded Uint8Array
351
+ * @throws TransactionParsingError if decoding fails
352
+ */
353
+ static decodeTransactionBytes(transactionBytes) {
98
354
  try {
99
- const mirrorNode = new HederaMirrorNode(options.network, this.logger);
100
- const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);
101
- const memo = topicInfo?.memo || "";
102
- let standard = "1";
103
- if (memo) {
104
- const hcsMatch = memo.match(/^hcs-(\d+)/);
105
- if (hcsMatch && hcsMatch[1]) {
106
- standard = hcsMatch[1];
107
- }
355
+ const format = this.detectTransactionFormat(transactionBytes);
356
+ if (format === "hex") {
357
+ const hexString = transactionBytes.slice(2);
358
+ return new Uint8Array(Buffer.from(hexString, "hex"));
359
+ } else {
360
+ return new Uint8Array(Buffer.from(transactionBytes, "base64"));
108
361
  }
109
- const hrl = `hcs://${standard}/${hrlOrTopicId}`;
110
- return this.resolveHRL(hrl, options);
111
362
  } catch (error) {
112
- this.logger.error(
113
- `Failed to get topic info for ${hrlOrTopicId}: ${error.message}`
363
+ throw new TransactionParsingError(
364
+ "Failed to decode transaction bytes",
365
+ "DECODE_ERROR",
366
+ error instanceof Error ? error : void 0,
367
+ transactionBytes
114
368
  );
115
- const hrl = `hcs://1/${hrlOrTopicId}`;
116
- return this.resolveHRL(hrl, options);
117
369
  }
118
370
  }
119
- async getContentWithType(hrl, options) {
120
- if (!this.isValidHRL(hrl)) {
121
- return {
122
- content: hrl,
123
- contentType: "text/plain",
124
- isBinary: false
125
- };
371
+ /**
372
+ * Check if transaction bytes represent a valid Hedera transaction
373
+ */
374
+ static async isValidHederaTransaction(transactionBytes) {
375
+ try {
376
+ if (!this.validateTransactionBytes(transactionBytes).isValid) {
377
+ return false;
378
+ }
379
+ const bytes = this.decodeTransactionBytes(transactionBytes);
380
+ Transaction.fromBytes(bytes);
381
+ return true;
382
+ } catch {
383
+ return false;
126
384
  }
385
+ }
386
+ /**
387
+ * Legacy alias for decodeTransactionBytes - keeping for backward compatibility
388
+ */
389
+ static decodeBytesLegacy(transactionBytes) {
390
+ return this.decodeTransactionBytes(transactionBytes);
391
+ }
392
+ /**
393
+ * Parse transaction bytes into structured data using thin orchestration
394
+ * Delegates to specialized parsers for clean separation of concerns
395
+ */
396
+ static async parseTransaction(transactionBytes, options = {}) {
127
397
  try {
128
- const result = await this.resolveHRL(hrl, options);
129
- return {
130
- content: result.content,
131
- contentType: result.contentType,
132
- isBinary: result.isBinary
398
+ const bytes = this.decodeTransactionBytes(transactionBytes);
399
+ const transaction = Transaction.fromBytes(bytes);
400
+ const metadata = this.extractTransactionMetadataEnhanced(transaction);
401
+ const parserResults = this.runAllParsers(transaction);
402
+ const primaryResult = parserResults.find(
403
+ (result2) => result2.type && result2.type !== "UNKNOWN"
404
+ ) || {};
405
+ const protoParsingResult = this.parseFromProtobuf(bytes);
406
+ const finalType = protoParsingResult.type || primaryResult.type || "UNKNOWN";
407
+ const finalHumanReadableType = protoParsingResult.humanReadableType || primaryResult.humanReadableType || "Unknown Transaction";
408
+ const result = {
409
+ type: finalType,
410
+ humanReadableType: finalHumanReadableType,
411
+ transfers: [],
412
+ tokenTransfers: [],
413
+ details: { ...metadata },
414
+ memo: typeof metadata.memo === "string" ? metadata.memo : void 0,
415
+ transactionId: typeof metadata.transactionId === "string" ? metadata.transactionId : void 0,
416
+ nodeAccountIds: Array.isArray(metadata.nodeAccountIds) ? metadata.nodeAccountIds : [],
417
+ maxTransactionFee: typeof metadata.maxTransactionFee === "string" ? metadata.maxTransactionFee : void 0,
418
+ validStart: typeof metadata.validStart === "string" ? metadata.validStart : void 0,
419
+ validDuration: typeof metadata.validDuration === "string" ? metadata.validDuration : void 0,
420
+ raw: options.includeRaw ? {} : void 0
133
421
  };
134
- } catch (e) {
135
- const error = e;
136
- const logMessage = `Error resolving HRL for content and type: ${error.message}`;
137
- this.logger.error(logMessage);
138
- throw new Error(logMessage);
422
+ this.mergeAllResults(
423
+ result,
424
+ protoParsingResult,
425
+ primaryResult,
426
+ parserResults
427
+ );
428
+ return result;
429
+ } catch (error) {
430
+ throw new TransactionParsingError(
431
+ "Failed to parse as regular transaction",
432
+ "REGULAR_PARSING_FAILED",
433
+ error instanceof Error ? error : void 0,
434
+ transactionBytes
435
+ );
139
436
  }
140
437
  }
141
438
  /**
142
- * Resolves HRL content with proper content type detection
439
+ * Parse scheduled transaction body
143
440
  */
144
- async resolveHRL(hrl, options) {
145
- const parsed = this.parseHRL(hrl);
146
- if (!parsed) {
147
- throw new Error(`Invalid HRL format: ${hrl}`);
441
+ static parseScheduledTransaction(transactionBytes, options = {}) {
442
+ try {
443
+ const parsedTx = this.parseTransactionBody(transactionBytes);
444
+ const validation = this.validateTransactionBytes(transactionBytes);
445
+ const enhancedResult = {
446
+ ...parsedTx,
447
+ details: {
448
+ ...parsedTx.details || {},
449
+ parseMethod: "scheduled",
450
+ validation,
451
+ parseAttempts: parsedTx.details?.parseAttempts || 1
452
+ },
453
+ formatDetection: {
454
+ originalFormat: validation.format || "base64",
455
+ wasConverted: false,
456
+ length: transactionBytes.length
457
+ }
458
+ };
459
+ return enhancedResult;
460
+ } catch (error) {
461
+ throw new TransactionParsingError(
462
+ "Failed to parse as scheduled transaction",
463
+ "SCHEDULED_PARSING_FAILED",
464
+ error instanceof Error ? error : void 0,
465
+ transactionBytes
466
+ );
148
467
  }
149
- const { standard, topicId } = parsed;
150
- this.logger.debug(
151
- `Resolving HRL reference: standard=${standard}, topicId=${topicId}`
152
- );
468
+ }
469
+ /**
470
+ * Extract metadata from Transaction object (legacy method - keeping for backward compatibility)
471
+ */
472
+ static extractTransactionMetadata(transaction) {
473
+ return {
474
+ transactionId: transaction.transactionId?.toString(),
475
+ nodeAccountIds: transaction.nodeAccountIds?.map((id) => id.toString()) || [],
476
+ maxTransactionFee: transaction.maxTransactionFee?.toTinybars().toString() || "0",
477
+ memo: transaction._transactionMemo || void 0,
478
+ transfers: [],
479
+ tokenTransfers: []
480
+ };
481
+ }
482
+ /**
483
+ * Extract enhanced metadata from Transaction object
484
+ */
485
+ static extractTransactionMetadataEnhanced(transaction) {
486
+ return {
487
+ transactionId: transaction.transactionId?.toString(),
488
+ nodeAccountIds: transaction.nodeAccountIds?.map((id) => id.toString()) || [],
489
+ maxTransactionFee: transaction.maxTransactionFee?.toTinybars().toString() || "0",
490
+ memo: transaction._transactionMemo || void 0,
491
+ validStart: transaction._transactionValidStart?.toString(),
492
+ validDuration: transaction._transactionValidDuration?.toString()
493
+ };
494
+ }
495
+ /**
496
+ * Run all available parsers on a transaction
497
+ */
498
+ static runAllParsers(transaction) {
499
+ return [
500
+ HTSParser.parseFromTransactionObject(transaction),
501
+ CryptoParser.parseFromTransactionObject(transaction),
502
+ HCSParser.parseFromTransactionObject(transaction),
503
+ FileParser.parseFromTransactionObject(transaction),
504
+ SCSParser.parseFromTransactionObject(transaction),
505
+ ScheduleParser.parseFromTransactionObject(transaction),
506
+ UtilParser.parseFromTransactionObject(transaction)
507
+ ];
508
+ }
509
+ /**
510
+ * Parse transaction from protobuf bytes
511
+ */
512
+ static parseFromProtobuf(bytes) {
513
+ const result = {};
153
514
  try {
154
- const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;
155
- const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;
156
- this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);
157
- const headResponse = await axios.head(cdnUrl);
158
- const contentType = headResponse.headers["content-type"] || "";
159
- const isBinary = this.isBinaryContentType(contentType);
160
- if (isBinary || options.returnRaw) {
161
- const response2 = await axios.get(cdnUrl, {
162
- responseType: "arraybuffer"
163
- });
164
- return {
165
- content: response2.data,
166
- contentType,
167
- topicId,
168
- isBinary: true
169
- };
170
- }
171
- if (contentType === "application/json") {
172
- const response2 = await axios.get(cdnUrl, {
173
- responseType: "json"
174
- });
175
- if (!response2.data) {
176
- throw new Error(`Failed to fetch content from topic: ${topicId}`);
515
+ const decoded = proto.TransactionList.decode(bytes);
516
+ if (decoded.transactionList && decoded.transactionList.length > 0) {
517
+ const tx = decoded.transactionList[0];
518
+ let txBody = null;
519
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
520
+ txBody = proto.TransactionBody.decode(tx.bodyBytes);
521
+ } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
522
+ const signedTx = proto.SignedTransaction.decode(
523
+ tx.signedTransactionBytes
524
+ );
525
+ if (signedTx.bodyBytes) {
526
+ txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
527
+ }
528
+ }
529
+ if (txBody) {
530
+ const typeResult = this.detectTransactionTypeFromBody(txBody);
531
+ result.type = typeResult.type;
532
+ result.humanReadableType = typeResult.humanReadableType;
533
+ const details = this.parseTransactionBodyDetails(
534
+ txBody,
535
+ typeResult.type
536
+ );
537
+ Object.assign(result, details);
177
538
  }
178
- return {
179
- content: response2.data,
180
- contentType,
181
- topicId,
182
- isBinary: false
183
- };
184
539
  }
185
- const response = await axios.get(cdnUrl);
186
- if (!response.data) {
187
- throw new Error(`Failed to fetch content from topic: ${topicId}`);
540
+ } catch (error) {
541
+ }
542
+ return result;
543
+ }
544
+ /**
545
+ * Intelligently merge all parsing results
546
+ */
547
+ static mergeAllResults(result, protoResult, primaryResult, parserResults) {
548
+ const cryptoResult = parserResults.find((r) => r.transfers || r.tokenTransfers) || {};
549
+ result.transfers = cryptoResult.transfers || result.transfers || [];
550
+ result.tokenTransfers = cryptoResult.tokenTransfers || result.tokenTransfers || [];
551
+ Object.keys(protoResult).forEach((key) => {
552
+ if (protoResult[key] !== void 0 && key !== "type" && key !== "humanReadableType") {
553
+ result[key] = protoResult[key];
188
554
  }
189
- let content;
190
- if (typeof response.data === "object") {
191
- content = response.data.content || response.data.text || JSON.stringify(response.data);
555
+ });
556
+ Object.keys(primaryResult).forEach((key) => {
557
+ if (primaryResult[key] !== void 0 && !(key in result) && key !== "type" && key !== "humanReadableType") {
558
+ result[key] = primaryResult[key];
559
+ }
560
+ });
561
+ }
562
+ /**
563
+ * Apply schedulable transaction parsing using registry pattern
564
+ * Eliminates conditional logic in parseTransactionBody
565
+ */
566
+ static applySchedulableTransactionParsing(txBody, result) {
567
+ if (txBody.cryptoTransfer) {
568
+ CryptoParser.parseCryptoTransfers(txBody.cryptoTransfer, result);
569
+ }
570
+ if (txBody.cryptoDelete) {
571
+ result.cryptoDelete = CryptoParser.parseCryptoDelete(txBody.cryptoDelete);
572
+ }
573
+ if (txBody.cryptoCreateAccount) {
574
+ result.cryptoCreateAccount = CryptoParser.parseCryptoCreateAccount(
575
+ txBody.cryptoCreateAccount
576
+ );
577
+ }
578
+ if (txBody.cryptoUpdateAccount) {
579
+ result.cryptoUpdateAccount = CryptoParser.parseCryptoUpdateAccount(
580
+ txBody.cryptoUpdateAccount
581
+ );
582
+ }
583
+ if (txBody.cryptoApproveAllowance) {
584
+ result.cryptoApproveAllowance = CryptoParser.parseCryptoApproveAllowance(
585
+ txBody.cryptoApproveAllowance
586
+ );
587
+ }
588
+ if (txBody.cryptoDeleteAllowance) {
589
+ result.cryptoDeleteAllowance = CryptoParser.parseCryptoDeleteAllowance(
590
+ txBody.cryptoDeleteAllowance
591
+ );
592
+ }
593
+ if (txBody.contractCall) {
594
+ result.contractCall = SCSParser.parseContractCall(txBody.contractCall);
595
+ }
596
+ if (txBody.contractCreateInstance) {
597
+ result.contractCreate = SCSParser.parseContractCreate(
598
+ txBody.contractCreateInstance
599
+ );
600
+ }
601
+ if (txBody.contractUpdateInstance) {
602
+ result.contractUpdate = SCSParser.parseContractUpdate(
603
+ txBody.contractUpdateInstance
604
+ );
605
+ }
606
+ if (txBody.contractDeleteInstance) {
607
+ result.contractDelete = SCSParser.parseContractDelete(
608
+ txBody.contractDeleteInstance
609
+ );
610
+ }
611
+ if (txBody.tokenCreation) {
612
+ result.tokenCreation = HTSParser.parseTokenCreate(txBody.tokenCreation);
613
+ }
614
+ if (txBody.tokenMint) {
615
+ result.tokenMint = HTSParser.parseTokenMint(txBody.tokenMint);
616
+ }
617
+ if (txBody.tokenBurn) {
618
+ result.tokenBurn = HTSParser.parseTokenBurn(txBody.tokenBurn);
619
+ }
620
+ if (txBody.tokenUpdate) {
621
+ result.tokenUpdate = HTSParser.parseTokenUpdate(txBody.tokenUpdate);
622
+ }
623
+ if (txBody.tokenFeeScheduleUpdate) {
624
+ result.tokenFeeScheduleUpdate = HTSParser.parseTokenFeeScheduleUpdate(
625
+ txBody.tokenFeeScheduleUpdate
626
+ );
627
+ }
628
+ if (txBody.tokenFreeze) {
629
+ result.tokenFreeze = HTSParser.parseTokenFreeze(txBody.tokenFreeze);
630
+ }
631
+ if (txBody.tokenUnfreeze) {
632
+ result.tokenUnfreeze = HTSParser.parseTokenUnfreeze(txBody.tokenUnfreeze);
633
+ }
634
+ if (txBody.tokenGrantKyc) {
635
+ result.tokenGrantKyc = HTSParser.parseTokenGrantKyc(txBody.tokenGrantKyc);
636
+ }
637
+ if (txBody.tokenRevokeKyc) {
638
+ result.tokenRevokeKyc = HTSParser.parseTokenRevokeKyc(
639
+ txBody.tokenRevokeKyc
640
+ );
641
+ }
642
+ if (txBody.tokenPause) {
643
+ result.tokenPause = HTSParser.parseTokenPause(txBody.tokenPause);
644
+ }
645
+ if (txBody.tokenUnpause) {
646
+ result.tokenUnpause = HTSParser.parseTokenUnpause(txBody.tokenUnpause);
647
+ }
648
+ if (txBody.tokenWipe) {
649
+ result.tokenWipeAccount = HTSParser.parseTokenWipeAccount(
650
+ txBody.tokenWipe
651
+ );
652
+ }
653
+ if (txBody.tokenDeletion) {
654
+ result.tokenDelete = HTSParser.parseTokenDelete(txBody.tokenDeletion);
655
+ }
656
+ if (txBody.tokenAssociate) {
657
+ result.tokenAssociate = HTSParser.parseTokenAssociate(
658
+ txBody.tokenAssociate
659
+ );
660
+ }
661
+ if (txBody.tokenDissociate) {
662
+ result.tokenDissociate = HTSParser.parseTokenDissociate(
663
+ txBody.tokenDissociate
664
+ );
665
+ }
666
+ if (txBody.tokenAirdrop) {
667
+ result.tokenAirdrop = HTSParser.parseTokenAirdropFromProto(
668
+ txBody.tokenAirdrop
669
+ );
670
+ }
671
+ if (txBody.consensusCreateTopic) {
672
+ result.consensusCreateTopic = HCSParser.parseConsensusCreateTopic(
673
+ txBody.consensusCreateTopic
674
+ );
675
+ }
676
+ if (txBody.consensusSubmitMessage) {
677
+ result.consensusSubmitMessage = HCSParser.parseConsensusSubmitMessage(
678
+ txBody.consensusSubmitMessage
679
+ );
680
+ }
681
+ if (txBody.consensusUpdateTopic) {
682
+ result.consensusUpdateTopic = HCSParser.parseConsensusUpdateTopic(
683
+ txBody.consensusUpdateTopic
684
+ );
685
+ }
686
+ if (txBody.consensusDeleteTopic) {
687
+ result.consensusDeleteTopic = HCSParser.parseConsensusDeleteTopic(
688
+ txBody.consensusDeleteTopic
689
+ );
690
+ }
691
+ if (txBody.fileCreate) {
692
+ result.fileCreate = FileParser.parseFileCreate(txBody.fileCreate);
693
+ }
694
+ if (txBody.fileAppend) {
695
+ result.fileAppend = FileParser.parseFileAppend(txBody.fileAppend);
696
+ }
697
+ if (txBody.fileUpdate) {
698
+ result.fileUpdate = FileParser.parseFileUpdate(txBody.fileUpdate);
699
+ }
700
+ if (txBody.fileDelete) {
701
+ result.fileDelete = FileParser.parseFileDelete(txBody.fileDelete);
702
+ }
703
+ if (txBody.utilPrng) {
704
+ result.utilPrng = UtilParser.parseUtilPrng(txBody.utilPrng);
705
+ }
706
+ }
707
+ /**
708
+ * Parse transaction body details for all supported transaction types
709
+ * Uses a scalable registry pattern instead of if-else chains
710
+ */
711
+ static parseTransactionBodyDetails(txBody, transactionType) {
712
+ const result = {};
713
+ const parserConfig = transactionParserRegistry[transactionType];
714
+ if (parserConfig) {
715
+ const bodyData = txBody[parserConfig.bodyField];
716
+ if (bodyData) {
717
+ const parserResult = parserConfig.parser(bodyData);
718
+ if (parserConfig.spreadResult) {
719
+ Object.assign(result, parserResult);
720
+ } else {
721
+ result[parserConfig.resultField] = parserResult;
722
+ }
723
+ }
724
+ }
725
+ return result;
726
+ }
727
+ /**
728
+ * Merge protobuf parsing results with parser results using registry pattern
729
+ * Eliminates transactionFields array and forEach logic
730
+ */
731
+ static mergeProtoParsingResults(result, protoResult, htsResult, transaction, originalBytes) {
732
+ const fieldsToMerge = Object.values(transactionParserRegistry).map(
733
+ (config) => config.resultField
734
+ );
735
+ for (const field of fieldsToMerge) {
736
+ const protoValue = protoResult[field];
737
+ const htsValue = htsResult[field];
738
+ if (protoValue !== void 0) {
739
+ result[field] = protoValue;
740
+ } else if (htsValue !== void 0) {
741
+ result[field] = htsValue;
192
742
  } else {
193
- content = response.data;
743
+ this.handleSpecialFieldExtraction(result, field, transaction);
744
+ }
745
+ }
746
+ }
747
+ /**
748
+ * Handle special field extraction cases using registry pattern
749
+ */
750
+ static handleSpecialFieldExtraction(result, field, transaction) {
751
+ if (field === "tokenCreation" && result.type === "TOKENCREATE") {
752
+ const extracted = HTSParser.extractTokenCreationFromTransaction(transaction);
753
+ if (extracted) {
754
+ result[field] = extracted;
755
+ }
756
+ } else if (field === "tokenAirdrop" && result.type === "TOKENAIRDROP") {
757
+ const extracted = HTSParser.extractTokenAirdropFromTransaction(transaction);
758
+ if (extracted) {
759
+ result[field] = extracted;
194
760
  }
195
- return {
196
- content,
197
- contentType,
198
- topicId,
199
- isBinary: false
200
- };
201
- } catch (e) {
202
- const error = e;
203
- const logMessage = `Error resolving HRL reference: ${error.message}`;
204
- this.logger.error(logMessage);
205
- throw new Error(logMessage);
206
761
  }
207
762
  }
763
+ /**
764
+ * Create fallback result when all parsing methods fail
765
+ */
766
+ static createFallbackResult(transactionBytes, primaryError, secondaryError) {
767
+ const validation = this.validateTransactionBytes(transactionBytes);
768
+ return {
769
+ type: "UNKNOWN",
770
+ humanReadableType: "Unknown Transaction",
771
+ transfers: [],
772
+ tokenTransfers: [],
773
+ details: {
774
+ rawBytes: transactionBytes.length > 100 ? transactionBytes.substring(0, 100) + "..." : transactionBytes,
775
+ primaryError: primaryError?.message,
776
+ secondaryError: secondaryError?.message,
777
+ parseAttempts: secondaryError ? 2 : 1,
778
+ validation
779
+ },
780
+ formatDetection: {
781
+ originalFormat: validation.format || "base64",
782
+ wasConverted: false,
783
+ length: transactionBytes.length
784
+ },
785
+ raw: {}
786
+ };
787
+ }
208
788
  }
209
789
  export {
210
- HRLResolver
790
+ TransactionParser,
791
+ TransactionParsingError
211
792
  };
212
793
  //# sourceMappingURL=standards-sdk.es110.js.map