@hashgraphonline/standards-sdk 0.1.143 → 0.1.144-feat-solana-register.canary.5001619.81

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 (475) hide show
  1. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  2. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  3. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  4. package/dist/cjs/hcs-11/client.d.ts +2 -2
  5. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  6. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  7. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  8. package/dist/cjs/hcs-11/types.d.ts +1 -0
  9. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  10. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  11. package/dist/cjs/hcs-12/validation/schemas.d.ts +8 -8
  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-21/types.d.ts +75 -75
  35. package/dist/cjs/index.d.ts.map +1 -1
  36. package/dist/cjs/services/registry-broker/client/adapters.d.ts +20 -0
  37. package/dist/cjs/services/registry-broker/client/adapters.d.ts.map +1 -0
  38. package/dist/cjs/services/registry-broker/client/agents.d.ts +16 -0
  39. package/dist/cjs/services/registry-broker/client/agents.d.ts.map +1 -0
  40. package/dist/cjs/services/registry-broker/client/base-client.d.ts +70 -0
  41. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/chat-history.d.ts +23 -0
  43. package/dist/cjs/services/registry-broker/client/chat-history.d.ts.map +1 -0
  44. package/dist/cjs/services/registry-broker/client/chat.d.ts +33 -0
  45. package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/client/credits.d.ts +40 -0
  47. package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  49. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  50. package/dist/cjs/services/registry-broker/client/encryption.d.ts +33 -0
  51. package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -0
  52. package/dist/cjs/services/registry-broker/client/errors.d.ts +19 -0
  53. package/dist/cjs/services/registry-broker/client/errors.d.ts.map +1 -0
  54. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  55. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  56. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts +10 -0
  57. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  58. package/dist/cjs/services/registry-broker/client/search.d.ts +19 -0
  59. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -0
  60. package/dist/cjs/services/registry-broker/client/utils.d.ts +21 -0
  61. package/dist/cjs/services/registry-broker/client/utils.d.ts.map +1 -0
  62. package/dist/cjs/services/registry-broker/client.d.ts +2 -205
  63. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  64. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  65. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  66. package/dist/cjs/services/registry-broker/schemas.d.ts +2509 -816
  67. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  68. package/dist/cjs/services/registry-broker/types.d.ts +64 -2
  69. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  70. package/dist/cjs/standards-sdk.cjs +3 -3
  71. package/dist/cjs/standards-sdk.cjs.map +1 -1
  72. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  73. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  74. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  75. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  76. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  77. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  78. package/dist/es/hcs-10/sdk.d.ts +8 -0
  79. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  80. package/dist/es/hcs-11/client.d.ts +2 -2
  81. package/dist/es/hcs-11/client.d.ts.map +1 -1
  82. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  83. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  84. package/dist/es/hcs-11/types.d.ts +1 -0
  85. package/dist/es/hcs-11/types.d.ts.map +1 -1
  86. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  87. package/dist/es/hcs-12/validation/schemas.d.ts +8 -8
  88. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  89. package/dist/es/hcs-15/browser.d.ts +2 -0
  90. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  91. package/dist/es/hcs-15/sdk.d.ts +7 -1
  92. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  93. package/dist/es/hcs-15/tx.d.ts +4 -0
  94. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  95. package/dist/es/hcs-15/types.d.ts +16 -1
  96. package/dist/es/hcs-15/types.d.ts.map +1 -1
  97. package/dist/es/hcs-16/browser.d.ts +11 -2
  98. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  99. package/dist/es/hcs-16/sdk.d.ts +62 -1
  100. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  101. package/dist/es/hcs-16/tx.d.ts +21 -3
  102. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  103. package/dist/es/hcs-17/base-client.d.ts +1 -0
  104. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  105. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  106. package/dist/es/hcs-17/tx.d.ts +2 -0
  107. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  108. package/dist/es/hcs-17/types.d.ts +4 -0
  109. package/dist/es/hcs-17/types.d.ts.map +1 -1
  110. package/dist/es/hcs-21/types.d.ts +75 -75
  111. package/dist/es/index.d.ts.map +1 -1
  112. package/dist/es/services/registry-broker/client/adapters.d.ts +20 -0
  113. package/dist/es/services/registry-broker/client/adapters.d.ts.map +1 -0
  114. package/dist/es/services/registry-broker/client/agents.d.ts +16 -0
  115. package/dist/es/services/registry-broker/client/agents.d.ts.map +1 -0
  116. package/dist/es/services/registry-broker/client/base-client.d.ts +70 -0
  117. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -0
  118. package/dist/es/services/registry-broker/client/chat-history.d.ts +23 -0
  119. package/dist/es/services/registry-broker/client/chat-history.d.ts.map +1 -0
  120. package/dist/es/services/registry-broker/client/chat.d.ts +33 -0
  121. package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -0
  122. package/dist/es/services/registry-broker/client/credits.d.ts +40 -0
  123. package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -0
  124. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  125. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  126. package/dist/es/services/registry-broker/client/encryption.d.ts +33 -0
  127. package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -0
  128. package/dist/es/services/registry-broker/client/errors.d.ts +19 -0
  129. package/dist/es/services/registry-broker/client/errors.d.ts.map +1 -0
  130. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  131. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  132. package/dist/es/services/registry-broker/client/ledger-auth.d.ts +10 -0
  133. package/dist/es/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  134. package/dist/es/services/registry-broker/client/search.d.ts +19 -0
  135. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -0
  136. package/dist/es/services/registry-broker/client/utils.d.ts +21 -0
  137. package/dist/es/services/registry-broker/client/utils.d.ts.map +1 -0
  138. package/dist/es/services/registry-broker/client.d.ts +2 -205
  139. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  140. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  141. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  142. package/dist/es/services/registry-broker/schemas.d.ts +2509 -816
  143. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  144. package/dist/es/services/registry-broker/types.d.ts +64 -2
  145. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  146. package/dist/es/standards-sdk.es.js +148 -133
  147. package/dist/es/standards-sdk.es.js.map +1 -1
  148. package/dist/es/standards-sdk.es10.js +70 -90
  149. package/dist/es/standards-sdk.es10.js.map +1 -1
  150. package/dist/es/standards-sdk.es100.js +229 -26
  151. package/dist/es/standards-sdk.es100.js.map +1 -1
  152. package/dist/es/standards-sdk.es101.js +109 -228
  153. package/dist/es/standards-sdk.es101.js.map +1 -1
  154. package/dist/es/standards-sdk.es102.js +15 -94
  155. package/dist/es/standards-sdk.es102.js.map +1 -1
  156. package/dist/es/standards-sdk.es103.js +80 -30
  157. package/dist/es/standards-sdk.es103.js.map +1 -1
  158. package/dist/es/standards-sdk.es104.js +27 -80
  159. package/dist/es/standards-sdk.es104.js.map +1 -1
  160. package/dist/es/standards-sdk.es105.js +136 -25
  161. package/dist/es/standards-sdk.es105.js.map +1 -1
  162. package/dist/es/standards-sdk.es106.js +27 -140
  163. package/dist/es/standards-sdk.es106.js.map +1 -1
  164. package/dist/es/standards-sdk.es107.js +20 -27
  165. package/dist/es/standards-sdk.es107.js.map +1 -1
  166. package/dist/es/standards-sdk.es108.js +156 -18
  167. package/dist/es/standards-sdk.es108.js.map +1 -1
  168. package/dist/es/standards-sdk.es109.js +198 -148
  169. package/dist/es/standards-sdk.es109.js.map +1 -1
  170. package/dist/es/standards-sdk.es11.js +121 -45
  171. package/dist/es/standards-sdk.es11.js.map +1 -1
  172. package/dist/es/standards-sdk.es110.js +747 -160
  173. package/dist/es/standards-sdk.es110.js.map +1 -1
  174. package/dist/es/standards-sdk.es111.js +9 -786
  175. package/dist/es/standards-sdk.es111.js.map +1 -1
  176. package/dist/es/standards-sdk.es112.js +567 -13
  177. package/dist/es/standards-sdk.es112.js.map +1 -1
  178. package/dist/es/standards-sdk.es113.js +576 -541
  179. package/dist/es/standards-sdk.es113.js.map +1 -1
  180. package/dist/es/standards-sdk.es114.js +12 -601
  181. package/dist/es/standards-sdk.es114.js.map +1 -1
  182. package/dist/es/standards-sdk.es115.js +2 -13
  183. package/dist/es/standards-sdk.es115.js.map +1 -1
  184. package/dist/es/standards-sdk.es116.js +87 -2
  185. package/dist/es/standards-sdk.es116.js.map +1 -1
  186. package/dist/es/standards-sdk.es117.js +37 -80
  187. package/dist/es/standards-sdk.es117.js.map +1 -1
  188. package/dist/es/standards-sdk.es118.js +2 -39
  189. package/dist/es/standards-sdk.es118.js.map +1 -1
  190. package/dist/es/standards-sdk.es119.js +231 -2
  191. package/dist/es/standards-sdk.es119.js.map +1 -1
  192. package/dist/es/standards-sdk.es12.js +60 -159
  193. package/dist/es/standards-sdk.es12.js.map +1 -1
  194. package/dist/es/standards-sdk.es120.js +1110 -193
  195. package/dist/es/standards-sdk.es120.js.map +1 -1
  196. package/dist/es/standards-sdk.es121.js +225 -1059
  197. package/dist/es/standards-sdk.es121.js.map +1 -1
  198. package/dist/es/standards-sdk.es122.js +419 -303
  199. package/dist/es/standards-sdk.es122.js.map +1 -1
  200. package/dist/es/standards-sdk.es123.js +351 -418
  201. package/dist/es/standards-sdk.es123.js.map +1 -1
  202. package/dist/es/standards-sdk.es124.js +872 -347
  203. package/dist/es/standards-sdk.es124.js.map +1 -1
  204. package/dist/es/standards-sdk.es125.js +182 -854
  205. package/dist/es/standards-sdk.es125.js.map +1 -1
  206. package/dist/es/standards-sdk.es126.js +1512 -153
  207. package/dist/es/standards-sdk.es126.js.map +1 -1
  208. package/dist/es/standards-sdk.es127.js +157 -1547
  209. package/dist/es/standards-sdk.es127.js.map +1 -1
  210. package/dist/es/standards-sdk.es128.js +184 -2190
  211. package/dist/es/standards-sdk.es128.js.map +1 -1
  212. package/dist/es/standards-sdk.es129.js +100 -63
  213. package/dist/es/standards-sdk.es129.js.map +1 -1
  214. package/dist/es/standards-sdk.es13.js +200 -60
  215. package/dist/es/standards-sdk.es13.js.map +1 -1
  216. package/dist/es/standards-sdk.es130.js +112 -78
  217. package/dist/es/standards-sdk.es130.js.map +1 -1
  218. package/dist/es/standards-sdk.es131.js +232 -144
  219. package/dist/es/standards-sdk.es131.js.map +1 -1
  220. package/dist/es/standards-sdk.es132.js +181 -8
  221. package/dist/es/standards-sdk.es132.js.map +1 -1
  222. package/dist/es/standards-sdk.es133.js +118 -82
  223. package/dist/es/standards-sdk.es133.js.map +1 -1
  224. package/dist/es/standards-sdk.es134.js +322 -61
  225. package/dist/es/standards-sdk.es134.js.map +1 -1
  226. package/dist/es/standards-sdk.es135.js +464 -28
  227. package/dist/es/standards-sdk.es135.js.map +1 -1
  228. package/dist/es/standards-sdk.es136.js +14 -135
  229. package/dist/es/standards-sdk.es136.js.map +1 -1
  230. package/dist/es/standards-sdk.es137.js +78 -39
  231. package/dist/es/standards-sdk.es137.js.map +1 -1
  232. package/dist/es/standards-sdk.es138.js +85 -764
  233. package/dist/es/standards-sdk.es138.js.map +1 -1
  234. package/dist/es/standards-sdk.es139.js +135 -12250
  235. package/dist/es/standards-sdk.es139.js.map +1 -1
  236. package/dist/es/standards-sdk.es14.js +149 -178
  237. package/dist/es/standards-sdk.es14.js.map +1 -1
  238. package/dist/es/standards-sdk.es140.js +7 -56
  239. package/dist/es/standards-sdk.es140.js.map +1 -1
  240. package/dist/es/standards-sdk.es141.js +72 -68
  241. package/dist/es/standards-sdk.es141.js.map +1 -1
  242. package/dist/es/standards-sdk.es142.js +61 -13
  243. package/dist/es/standards-sdk.es142.js.map +1 -1
  244. package/dist/es/standards-sdk.es143.js +30 -172
  245. package/dist/es/standards-sdk.es143.js.map +1 -1
  246. package/dist/es/standards-sdk.es144.js +34 -322
  247. package/dist/es/standards-sdk.es144.js.map +1 -1
  248. package/dist/es/standards-sdk.es145.js +28 -346
  249. package/dist/es/standards-sdk.es145.js.map +1 -1
  250. package/dist/es/standards-sdk.es146.js +112 -427
  251. package/dist/es/standards-sdk.es146.js.map +1 -1
  252. package/dist/es/standards-sdk.es147.js +40 -329
  253. package/dist/es/standards-sdk.es147.js.map +1 -1
  254. package/dist/es/standards-sdk.es148.js +958 -76
  255. package/dist/es/standards-sdk.es148.js.map +1 -1
  256. package/dist/es/standards-sdk.es149.js +12292 -0
  257. package/dist/es/standards-sdk.es149.js.map +1 -0
  258. package/dist/es/standards-sdk.es15.js +152 -151
  259. package/dist/es/standards-sdk.es15.js.map +1 -1
  260. package/dist/es/standards-sdk.es150.js +59 -0
  261. package/dist/es/standards-sdk.es150.js.map +1 -0
  262. package/dist/es/standards-sdk.es151.js +87 -0
  263. package/dist/es/standards-sdk.es151.js.map +1 -0
  264. package/dist/es/standards-sdk.es152.js +20 -0
  265. package/dist/es/standards-sdk.es152.js.map +1 -0
  266. package/dist/es/standards-sdk.es153.js +175 -0
  267. package/dist/es/standards-sdk.es153.js.map +1 -0
  268. package/dist/es/standards-sdk.es154.js +325 -0
  269. package/dist/es/standards-sdk.es154.js.map +1 -0
  270. package/dist/es/standards-sdk.es155.js +349 -0
  271. package/dist/es/standards-sdk.es155.js.map +1 -0
  272. package/dist/es/standards-sdk.es156.js +456 -0
  273. package/dist/es/standards-sdk.es156.js.map +1 -0
  274. package/dist/es/standards-sdk.es157.js +334 -0
  275. package/dist/es/standards-sdk.es157.js.map +1 -0
  276. package/dist/es/standards-sdk.es158.js +79 -0
  277. package/dist/es/standards-sdk.es158.js.map +1 -0
  278. package/dist/es/standards-sdk.es159.js +242 -0
  279. package/dist/es/standards-sdk.es159.js.map +1 -0
  280. package/dist/es/standards-sdk.es16.js +917 -136
  281. package/dist/es/standards-sdk.es16.js.map +1 -1
  282. package/dist/es/standards-sdk.es160.js +247 -0
  283. package/dist/es/standards-sdk.es160.js.map +1 -0
  284. package/dist/es/standards-sdk.es17.js +23 -938
  285. package/dist/es/standards-sdk.es17.js.map +1 -1
  286. package/dist/es/standards-sdk.es18.js +2422 -24
  287. package/dist/es/standards-sdk.es18.js.map +1 -1
  288. package/dist/es/standards-sdk.es19.js +826 -2075
  289. package/dist/es/standards-sdk.es19.js.map +1 -1
  290. package/dist/es/standards-sdk.es2.js +654 -189
  291. package/dist/es/standards-sdk.es2.js.map +1 -1
  292. package/dist/es/standards-sdk.es20.js +205 -1086
  293. package/dist/es/standards-sdk.es20.js.map +1 -1
  294. package/dist/es/standards-sdk.es21.js +858 -221
  295. package/dist/es/standards-sdk.es21.js.map +1 -1
  296. package/dist/es/standards-sdk.es22.js +179 -903
  297. package/dist/es/standards-sdk.es22.js.map +1 -1
  298. package/dist/es/standards-sdk.es23.js +164 -179
  299. package/dist/es/standards-sdk.es23.js.map +1 -1
  300. package/dist/es/standards-sdk.es24.js +62 -118
  301. package/dist/es/standards-sdk.es24.js.map +1 -1
  302. package/dist/es/standards-sdk.es25.js +377 -52
  303. package/dist/es/standards-sdk.es25.js.map +1 -1
  304. package/dist/es/standards-sdk.es26.js +36 -394
  305. package/dist/es/standards-sdk.es26.js.map +1 -1
  306. package/dist/es/standards-sdk.es27.js +901 -50
  307. package/dist/es/standards-sdk.es27.js.map +1 -1
  308. package/dist/es/standards-sdk.es28.js +134 -897
  309. package/dist/es/standards-sdk.es28.js.map +1 -1
  310. package/dist/es/standards-sdk.es29.js +7 -134
  311. package/dist/es/standards-sdk.es29.js.map +1 -1
  312. package/dist/es/standards-sdk.es3.js +63 -680
  313. package/dist/es/standards-sdk.es3.js.map +1 -1
  314. package/dist/es/standards-sdk.es30.js +344 -7
  315. package/dist/es/standards-sdk.es30.js.map +1 -1
  316. package/dist/es/standards-sdk.es31.js +302 -287
  317. package/dist/es/standards-sdk.es31.js.map +1 -1
  318. package/dist/es/standards-sdk.es32.js +94 -322
  319. package/dist/es/standards-sdk.es32.js.map +1 -1
  320. package/dist/es/standards-sdk.es33.js +458 -101
  321. package/dist/es/standards-sdk.es33.js.map +1 -1
  322. package/dist/es/standards-sdk.es34.js +132 -451
  323. package/dist/es/standards-sdk.es34.js.map +1 -1
  324. package/dist/es/standards-sdk.es35.js +216 -130
  325. package/dist/es/standards-sdk.es35.js.map +1 -1
  326. package/dist/es/standards-sdk.es36.js +274 -191
  327. package/dist/es/standards-sdk.es36.js.map +1 -1
  328. package/dist/es/standards-sdk.es37.js +148 -87
  329. package/dist/es/standards-sdk.es37.js.map +1 -1
  330. package/dist/es/standards-sdk.es38.js +183 -320
  331. package/dist/es/standards-sdk.es38.js.map +1 -1
  332. package/dist/es/standards-sdk.es39.js +238 -161
  333. package/dist/es/standards-sdk.es39.js.map +1 -1
  334. package/dist/es/standards-sdk.es4.js +425 -63
  335. package/dist/es/standards-sdk.es4.js.map +1 -1
  336. package/dist/es/standards-sdk.es40.js +136 -254
  337. package/dist/es/standards-sdk.es40.js.map +1 -1
  338. package/dist/es/standards-sdk.es41.js +225 -176
  339. package/dist/es/standards-sdk.es41.js.map +1 -1
  340. package/dist/es/standards-sdk.es42.js +199 -261
  341. package/dist/es/standards-sdk.es42.js.map +1 -1
  342. package/dist/es/standards-sdk.es43.js +237 -199
  343. package/dist/es/standards-sdk.es43.js.map +1 -1
  344. package/dist/es/standards-sdk.es44.js +209 -201
  345. package/dist/es/standards-sdk.es44.js.map +1 -1
  346. package/dist/es/standards-sdk.es45.js +305 -201
  347. package/dist/es/standards-sdk.es45.js.map +1 -1
  348. package/dist/es/standards-sdk.es46.js +371 -261
  349. package/dist/es/standards-sdk.es46.js.map +1 -1
  350. package/dist/es/standards-sdk.es47.js +316 -371
  351. package/dist/es/standards-sdk.es47.js.map +1 -1
  352. package/dist/es/standards-sdk.es48.js +404 -336
  353. package/dist/es/standards-sdk.es48.js.map +1 -1
  354. package/dist/es/standards-sdk.es49.js +83 -449
  355. package/dist/es/standards-sdk.es49.js.map +1 -1
  356. package/dist/es/standards-sdk.es5.js +232 -354
  357. package/dist/es/standards-sdk.es5.js.map +1 -1
  358. package/dist/es/standards-sdk.es50.js +179 -89
  359. package/dist/es/standards-sdk.es50.js.map +1 -1
  360. package/dist/es/standards-sdk.es51.js +231 -165
  361. package/dist/es/standards-sdk.es51.js.map +1 -1
  362. package/dist/es/standards-sdk.es52.js +25 -262
  363. package/dist/es/standards-sdk.es52.js.map +1 -1
  364. package/dist/es/standards-sdk.es53.js +56 -26
  365. package/dist/es/standards-sdk.es53.js.map +1 -1
  366. package/dist/es/standards-sdk.es54.js +12 -57
  367. package/dist/es/standards-sdk.es54.js.map +1 -1
  368. package/dist/es/standards-sdk.es55.js +49 -12
  369. package/dist/es/standards-sdk.es55.js.map +1 -1
  370. package/dist/es/standards-sdk.es56.js +115 -43
  371. package/dist/es/standards-sdk.es56.js.map +1 -1
  372. package/dist/es/standards-sdk.es57.js +42 -115
  373. package/dist/es/standards-sdk.es57.js.map +1 -1
  374. package/dist/es/standards-sdk.es58.js +52 -43
  375. package/dist/es/standards-sdk.es58.js.map +1 -1
  376. package/dist/es/standards-sdk.es59.js +36 -50
  377. package/dist/es/standards-sdk.es59.js.map +1 -1
  378. package/dist/es/standards-sdk.es6.js +125 -246
  379. package/dist/es/standards-sdk.es6.js.map +1 -1
  380. package/dist/es/standards-sdk.es60.js +207 -39
  381. package/dist/es/standards-sdk.es60.js.map +1 -1
  382. package/dist/es/standards-sdk.es61.js +24 -195
  383. package/dist/es/standards-sdk.es61.js.map +1 -1
  384. package/dist/es/standards-sdk.es62.js +87 -25
  385. package/dist/es/standards-sdk.es62.js.map +1 -1
  386. package/dist/es/standards-sdk.es63.js +3 -51
  387. package/dist/es/standards-sdk.es63.js.map +1 -1
  388. package/dist/es/standards-sdk.es64.js +100 -3
  389. package/dist/es/standards-sdk.es64.js.map +1 -1
  390. package/dist/es/standards-sdk.es65.js +61 -62
  391. package/dist/es/standards-sdk.es65.js.map +1 -1
  392. package/dist/es/standards-sdk.es66.js +17 -98
  393. package/dist/es/standards-sdk.es66.js.map +1 -1
  394. package/dist/es/standards-sdk.es67.js +77 -19
  395. package/dist/es/standards-sdk.es67.js.map +1 -1
  396. package/dist/es/standards-sdk.es68.js +458 -77
  397. package/dist/es/standards-sdk.es68.js.map +1 -1
  398. package/dist/es/standards-sdk.es69.js +106 -240
  399. package/dist/es/standards-sdk.es69.js.map +1 -1
  400. package/dist/es/standards-sdk.es7.js +28 -183
  401. package/dist/es/standards-sdk.es7.js.map +1 -1
  402. package/dist/es/standards-sdk.es70.js +170 -286
  403. package/dist/es/standards-sdk.es70.js.map +1 -1
  404. package/dist/es/standards-sdk.es71.js +71 -207
  405. package/dist/es/standards-sdk.es71.js.map +1 -1
  406. package/dist/es/standards-sdk.es72.js +71 -72
  407. package/dist/es/standards-sdk.es72.js.map +1 -1
  408. package/dist/es/standards-sdk.es73.js +143 -71
  409. package/dist/es/standards-sdk.es73.js.map +1 -1
  410. package/dist/es/standards-sdk.es74.js +62 -136
  411. package/dist/es/standards-sdk.es74.js.map +1 -1
  412. package/dist/es/standards-sdk.es75.js +380 -45
  413. package/dist/es/standards-sdk.es75.js.map +1 -1
  414. package/dist/es/standards-sdk.es76.js +222 -130
  415. package/dist/es/standards-sdk.es76.js.map +1 -1
  416. package/dist/es/standards-sdk.es77.js +320 -444
  417. package/dist/es/standards-sdk.es77.js.map +1 -1
  418. package/dist/es/standards-sdk.es78.js +88 -364
  419. package/dist/es/standards-sdk.es78.js.map +1 -1
  420. package/dist/es/standards-sdk.es79.js +125 -89
  421. package/dist/es/standards-sdk.es79.js.map +1 -1
  422. package/dist/es/standards-sdk.es8.js +80 -29
  423. package/dist/es/standards-sdk.es8.js.map +1 -1
  424. package/dist/es/standards-sdk.es80.js +8 -125
  425. package/dist/es/standards-sdk.es80.js.map +1 -1
  426. package/dist/es/standards-sdk.es81.js +45 -6
  427. package/dist/es/standards-sdk.es81.js.map +1 -1
  428. package/dist/es/standards-sdk.es82.js +98 -44
  429. package/dist/es/standards-sdk.es82.js.map +1 -1
  430. package/dist/es/standards-sdk.es83.js +331 -84
  431. package/dist/es/standards-sdk.es83.js.map +1 -1
  432. package/dist/es/standards-sdk.es84.js +93 -160
  433. package/dist/es/standards-sdk.es84.js.map +1 -1
  434. package/dist/es/standards-sdk.es85.js +55 -275
  435. package/dist/es/standards-sdk.es85.js.map +1 -1
  436. package/dist/es/standards-sdk.es86.js +43 -55
  437. package/dist/es/standards-sdk.es86.js.map +1 -1
  438. package/dist/es/standards-sdk.es87.js +145 -22
  439. package/dist/es/standards-sdk.es87.js.map +1 -1
  440. package/dist/es/standards-sdk.es88.js +34 -47
  441. package/dist/es/standards-sdk.es88.js.map +1 -1
  442. package/dist/es/standards-sdk.es89.js +22 -57
  443. package/dist/es/standards-sdk.es89.js.map +1 -1
  444. package/dist/es/standards-sdk.es9.js +104 -80
  445. package/dist/es/standards-sdk.es9.js.map +1 -1
  446. package/dist/es/standards-sdk.es90.js +23 -28
  447. package/dist/es/standards-sdk.es90.js.map +1 -1
  448. package/dist/es/standards-sdk.es91.js +238 -23
  449. package/dist/es/standards-sdk.es91.js.map +1 -1
  450. package/dist/es/standards-sdk.es92.js +265 -152
  451. package/dist/es/standards-sdk.es92.js.map +1 -1
  452. package/dist/es/standards-sdk.es93.js +95 -68
  453. package/dist/es/standards-sdk.es93.js.map +1 -1
  454. package/dist/es/standards-sdk.es94.js +124 -136
  455. package/dist/es/standards-sdk.es94.js.map +1 -1
  456. package/dist/es/standards-sdk.es95.js +42 -138
  457. package/dist/es/standards-sdk.es95.js.map +1 -1
  458. package/dist/es/standards-sdk.es96.js +259 -42
  459. package/dist/es/standards-sdk.es96.js.map +1 -1
  460. package/dist/es/standards-sdk.es97.js +82 -243
  461. package/dist/es/standards-sdk.es97.js.map +1 -1
  462. package/dist/es/standards-sdk.es98.js +48 -47
  463. package/dist/es/standards-sdk.es98.js.map +1 -1
  464. package/dist/es/standards-sdk.es99.js +29 -100
  465. package/dist/es/standards-sdk.es99.js.map +1 -1
  466. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  467. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  468. package/dist/es/utils/dynamic-import.d.ts +5 -1
  469. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  470. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  471. package/package.json +16 -16
  472. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  473. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  474. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  475. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
@@ -1,206 +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 "node:path";
5
- import "node:buffer";
6
- import "node:crypto";
7
- import "@noble/curves/secp256k1.js";
8
- import "./standards-sdk.es130.js";
9
- import "./standards-sdk.es138.js";
10
- import "zod";
11
- class HRLResolver {
12
- constructor(logLevel = "info") {
13
- this.defaultEndpoint = "https://kiloscribe.com/api/inscription-cdn";
14
- this.logger = Logger.getInstance({
15
- level: logLevel,
16
- module: "HRLResolver"
17
- });
18
- }
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.es153.js";
9
+ import { FileParser } from "./standards-sdk.es154.js";
10
+ import { CryptoParser } from "./standards-sdk.es155.js";
11
+ import { SCSParser } from "./standards-sdk.es156.js";
12
+ import { UtilParser } from "./standards-sdk.es157.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 {
19
17
  /**
20
- * Determines if a MIME type represents binary content
21
- */
22
- isBinaryContentType(mimeType) {
23
- const binaryTypes = [
24
- "image/",
25
- "audio/",
26
- "video/",
27
- "application/octet-stream",
28
- "application/pdf",
29
- "application/zip",
30
- "application/gzip",
31
- "application/x-binary",
32
- "application/vnd.ms-",
33
- "application/x-msdownload",
34
- "application/x-shockwave-flash",
35
- "font/",
36
- "application/wasm"
37
- ];
38
- 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;
39
90
  }
40
91
  /**
41
- * 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
42
99
  */
43
- parseHRL(hrl) {
44
- if (!hrl) {
45
- 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;
46
109
  }
47
- const hrlPattern = /^hcs:\/\/(\d+)\/([0-9]+\.[0-9]+\.[0-9]+)$/;
48
- const match = hrl.match(hrlPattern);
49
- if (!match) {
50
- 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
+ };
51
207
  }
52
- return {
53
- standard: match[1],
54
- topicId: match[2]
55
- };
56
208
  }
57
209
  /**
58
- * 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
59
213
  */
60
- isValidHRL(hrl) {
61
- if (!hrl || typeof hrl !== "string") {
62
- 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
+ };
63
248
  }
64
- const parsed = this.parseHRL(hrl);
65
- if (!parsed) {
66
- 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
+ };
67
274
  }
68
- const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
69
- if (!topicIdPattern.test(parsed.topicId)) {
70
- return false;
275
+ const parsed = this.parseTransactionBody(scheduleResponse.transaction_body);
276
+ if (scheduleResponse.memo) {
277
+ parsed.memo = scheduleResponse.memo;
71
278
  }
72
- 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);
73
296
  }
74
297
  /**
75
- * 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
76
301
  */
77
- isValidTopicId(topicId) {
78
- const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
79
- return topicIdPattern.test(topicId);
302
+ static getTransactionSummary(parsedTx) {
303
+ return resolveTransactionSummary(parsedTx);
80
304
  }
81
305
  /**
82
- * Resolves content from either an HRL or a topic ID
83
- * 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
84
308
  */
85
- async resolve(hrlOrTopicId, options) {
86
- if (this.isValidHRL(hrlOrTopicId)) {
87
- 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
+ };
88
315
  }
89
- if (!this.isValidTopicId(hrlOrTopicId)) {
90
- 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
+ }
91
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) {
92
354
  try {
93
- const mirrorNode = new HederaMirrorNode(options.network, this.logger);
94
- const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);
95
- const memo = topicInfo?.memo || "";
96
- let standard = "1";
97
- if (memo) {
98
- const hcsMatch = memo.match(/^hcs-(\d+)/);
99
- if (hcsMatch && hcsMatch[1]) {
100
- standard = hcsMatch[1];
101
- }
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"));
102
361
  }
103
- const hrl = `hcs://${standard}/${hrlOrTopicId}`;
104
- return this.resolveHRL(hrl, options);
105
362
  } catch (error) {
106
- this.logger.error(
107
- `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
108
368
  );
109
- const hrl = `hcs://1/${hrlOrTopicId}`;
110
- return this.resolveHRL(hrl, options);
111
369
  }
112
370
  }
113
- async getContentWithType(hrl, options) {
114
- if (!this.isValidHRL(hrl)) {
115
- return {
116
- content: hrl,
117
- contentType: "text/plain",
118
- isBinary: false
119
- };
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;
120
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 = {}) {
121
397
  try {
122
- const result = await this.resolveHRL(hrl, options);
123
- return {
124
- content: result.content,
125
- contentType: result.contentType,
126
- 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
127
421
  };
128
- } catch (e) {
129
- const error = e;
130
- const logMessage = `Error resolving HRL for content and type: ${error.message}`;
131
- this.logger.error(logMessage);
132
- 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
+ );
133
436
  }
134
437
  }
135
438
  /**
136
- * Resolves HRL content with proper content type detection
439
+ * Parse scheduled transaction body
137
440
  */
138
- async resolveHRL(hrl, options) {
139
- const parsed = this.parseHRL(hrl);
140
- if (!parsed) {
141
- 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
+ );
142
467
  }
143
- const { standard, topicId } = parsed;
144
- this.logger.debug(
145
- `Resolving HRL reference: standard=${standard}, topicId=${topicId}`
146
- );
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 = {};
147
514
  try {
148
- const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;
149
- const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;
150
- this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);
151
- const headResponse = await axios.head(cdnUrl);
152
- const contentType = headResponse.headers["content-type"] || "";
153
- const isBinary = this.isBinaryContentType(contentType);
154
- if (isBinary || options.returnRaw) {
155
- const response2 = await axios.get(cdnUrl, {
156
- responseType: "arraybuffer"
157
- });
158
- return {
159
- content: response2.data,
160
- contentType,
161
- topicId,
162
- isBinary: true
163
- };
164
- }
165
- if (contentType === "application/json") {
166
- const response2 = await axios.get(cdnUrl, {
167
- responseType: "json"
168
- });
169
- if (!response2.data) {
170
- 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);
171
538
  }
172
- return {
173
- content: response2.data,
174
- contentType,
175
- topicId,
176
- isBinary: false
177
- };
178
539
  }
179
- const response = await axios.get(cdnUrl);
180
- if (!response.data) {
181
- 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];
182
554
  }
183
- let content;
184
- if (typeof response.data === "object") {
185
- 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;
186
742
  } else {
187
- 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;
188
760
  }
189
- return {
190
- content,
191
- contentType,
192
- topicId,
193
- isBinary: false
194
- };
195
- } catch (e) {
196
- const error = e;
197
- const logMessage = `Error resolving HRL reference: ${error.message}`;
198
- this.logger.error(logMessage);
199
- throw new Error(logMessage);
200
761
  }
201
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
+ }
202
788
  }
203
789
  export {
204
- HRLResolver
790
+ TransactionParser,
791
+ TransactionParsingError
205
792
  };
206
793
  //# sourceMappingURL=standards-sdk.es110.js.map