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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +24 -1
  2. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-11/types.d.ts +1 -0
  4. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  5. package/dist/cjs/hcs-12/validation/schemas.d.ts +8 -8
  6. package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
  7. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  8. package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
  9. package/dist/cjs/hcs-20/types.d.ts +9 -8
  10. package/dist/cjs/hcs-20/types.d.ts.map +1 -1
  11. package/dist/cjs/hcs-21/base-client.d.ts +14 -12
  12. package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
  13. package/dist/cjs/hcs-21/browser.d.ts +17 -7
  14. package/dist/cjs/hcs-21/browser.d.ts.map +1 -1
  15. package/dist/cjs/hcs-21/index.d.ts +1 -0
  16. package/dist/cjs/hcs-21/index.d.ts.map +1 -1
  17. package/dist/cjs/hcs-21/sdk.d.ts +70 -6
  18. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  19. package/dist/cjs/hcs-21/tx.d.ts +6 -2
  20. package/dist/cjs/hcs-21/tx.d.ts.map +1 -1
  21. package/dist/cjs/hcs-21/types.d.ts +751 -66
  22. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  23. package/dist/cjs/hcs-21/verify.d.ts +6 -0
  24. package/dist/cjs/hcs-21/verify.d.ts.map +1 -0
  25. package/dist/cjs/inscribe/inscriber.d.ts +3 -1
  26. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  27. package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
  28. package/dist/cjs/inscribe/types.d.ts +7 -0
  29. package/dist/cjs/inscribe/types.d.ts.map +1 -1
  30. package/dist/cjs/services/registry-broker/client/adapters.d.ts +20 -0
  31. package/dist/cjs/services/registry-broker/client/adapters.d.ts.map +1 -0
  32. package/dist/cjs/services/registry-broker/client/agents.d.ts +16 -0
  33. package/dist/cjs/services/registry-broker/client/agents.d.ts.map +1 -0
  34. package/dist/cjs/services/registry-broker/client/base-client.d.ts +57 -0
  35. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -0
  36. package/dist/cjs/services/registry-broker/client/chat-history.d.ts +23 -0
  37. package/dist/cjs/services/registry-broker/client/chat-history.d.ts.map +1 -0
  38. package/dist/cjs/services/registry-broker/client/chat.d.ts +33 -0
  39. package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -0
  40. package/dist/cjs/services/registry-broker/client/credits.d.ts +40 -0
  41. package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  43. package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  44. package/dist/cjs/services/registry-broker/client/encryption.d.ts +33 -0
  45. package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/client/errors.d.ts +19 -0
  47. package/dist/cjs/services/registry-broker/client/errors.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts +10 -0
  49. package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  50. package/dist/cjs/services/registry-broker/client/search.d.ts +19 -0
  51. package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -0
  52. package/dist/cjs/services/registry-broker/client/utils.d.ts +21 -0
  53. package/dist/cjs/services/registry-broker/client/utils.d.ts.map +1 -0
  54. package/dist/cjs/services/registry-broker/client.d.ts +2 -204
  55. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  56. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  57. package/dist/cjs/services/registry-broker/schemas.d.ts +1473 -177
  58. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  59. package/dist/cjs/services/registry-broker/types.d.ts +45 -3
  60. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  61. package/dist/cjs/services/types.d.ts +1 -0
  62. package/dist/cjs/services/types.d.ts.map +1 -1
  63. package/dist/cjs/standards-sdk.cjs +2 -2
  64. package/dist/cjs/standards-sdk.cjs.map +1 -1
  65. package/dist/cjs/utils/dynamic-import.d.ts +1 -0
  66. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  67. package/dist/es/hcs-11/client.d.ts.map +1 -1
  68. package/dist/es/hcs-11/types.d.ts +1 -0
  69. package/dist/es/hcs-11/types.d.ts.map +1 -1
  70. package/dist/es/hcs-12/validation/schemas.d.ts +8 -8
  71. package/dist/es/hcs-16/base-client.d.ts.map +1 -1
  72. package/dist/es/hcs-17/types.d.ts.map +1 -1
  73. package/dist/es/hcs-20/sdk.d.ts.map +1 -1
  74. package/dist/es/hcs-20/types.d.ts +9 -8
  75. package/dist/es/hcs-20/types.d.ts.map +1 -1
  76. package/dist/es/hcs-21/base-client.d.ts +14 -12
  77. package/dist/es/hcs-21/base-client.d.ts.map +1 -1
  78. package/dist/es/hcs-21/browser.d.ts +17 -7
  79. package/dist/es/hcs-21/browser.d.ts.map +1 -1
  80. package/dist/es/hcs-21/index.d.ts +1 -0
  81. package/dist/es/hcs-21/index.d.ts.map +1 -1
  82. package/dist/es/hcs-21/sdk.d.ts +70 -6
  83. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  84. package/dist/es/hcs-21/tx.d.ts +6 -2
  85. package/dist/es/hcs-21/tx.d.ts.map +1 -1
  86. package/dist/es/hcs-21/types.d.ts +751 -66
  87. package/dist/es/hcs-21/types.d.ts.map +1 -1
  88. package/dist/es/hcs-21/verify.d.ts +6 -0
  89. package/dist/es/hcs-21/verify.d.ts.map +1 -0
  90. package/dist/es/inscribe/inscriber.d.ts +3 -1
  91. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  92. package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
  93. package/dist/es/inscribe/types.d.ts +7 -0
  94. package/dist/es/inscribe/types.d.ts.map +1 -1
  95. package/dist/es/services/registry-broker/client/adapters.d.ts +20 -0
  96. package/dist/es/services/registry-broker/client/adapters.d.ts.map +1 -0
  97. package/dist/es/services/registry-broker/client/agents.d.ts +16 -0
  98. package/dist/es/services/registry-broker/client/agents.d.ts.map +1 -0
  99. package/dist/es/services/registry-broker/client/base-client.d.ts +57 -0
  100. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -0
  101. package/dist/es/services/registry-broker/client/chat-history.d.ts +23 -0
  102. package/dist/es/services/registry-broker/client/chat-history.d.ts.map +1 -0
  103. package/dist/es/services/registry-broker/client/chat.d.ts +33 -0
  104. package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -0
  105. package/dist/es/services/registry-broker/client/credits.d.ts +40 -0
  106. package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -0
  107. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
  108. package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
  109. package/dist/es/services/registry-broker/client/encryption.d.ts +33 -0
  110. package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -0
  111. package/dist/es/services/registry-broker/client/errors.d.ts +19 -0
  112. package/dist/es/services/registry-broker/client/errors.d.ts.map +1 -0
  113. package/dist/es/services/registry-broker/client/ledger-auth.d.ts +10 -0
  114. package/dist/es/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
  115. package/dist/es/services/registry-broker/client/search.d.ts +19 -0
  116. package/dist/es/services/registry-broker/client/search.d.ts.map +1 -0
  117. package/dist/es/services/registry-broker/client/utils.d.ts +21 -0
  118. package/dist/es/services/registry-broker/client/utils.d.ts.map +1 -0
  119. package/dist/es/services/registry-broker/client.d.ts +2 -204
  120. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  121. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  122. package/dist/es/services/registry-broker/schemas.d.ts +1473 -177
  123. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  124. package/dist/es/services/registry-broker/types.d.ts +45 -3
  125. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  126. package/dist/es/services/types.d.ts +1 -0
  127. package/dist/es/services/types.d.ts.map +1 -1
  128. package/dist/es/standards-sdk.es.js +73 -51
  129. package/dist/es/standards-sdk.es.js.map +1 -1
  130. package/dist/es/standards-sdk.es10.js +2 -2
  131. package/dist/es/standards-sdk.es100.js +26 -229
  132. package/dist/es/standards-sdk.es100.js.map +1 -1
  133. package/dist/es/standards-sdk.es101.js +228 -109
  134. package/dist/es/standards-sdk.es101.js.map +1 -1
  135. package/dist/es/standards-sdk.es102.js +94 -15
  136. package/dist/es/standards-sdk.es102.js.map +1 -1
  137. package/dist/es/standards-sdk.es103.js +30 -80
  138. package/dist/es/standards-sdk.es103.js.map +1 -1
  139. package/dist/es/standards-sdk.es104.js +80 -27
  140. package/dist/es/standards-sdk.es104.js.map +1 -1
  141. package/dist/es/standards-sdk.es105.js +25 -136
  142. package/dist/es/standards-sdk.es105.js.map +1 -1
  143. package/dist/es/standards-sdk.es106.js +140 -27
  144. package/dist/es/standards-sdk.es106.js.map +1 -1
  145. package/dist/es/standards-sdk.es107.js +27 -20
  146. package/dist/es/standards-sdk.es107.js.map +1 -1
  147. package/dist/es/standards-sdk.es108.js +18 -156
  148. package/dist/es/standards-sdk.es108.js.map +1 -1
  149. package/dist/es/standards-sdk.es109.js +148 -196
  150. package/dist/es/standards-sdk.es109.js.map +1 -1
  151. package/dist/es/standards-sdk.es110.js +167 -747
  152. package/dist/es/standards-sdk.es110.js.map +1 -1
  153. package/dist/es/standards-sdk.es111.js +786 -9
  154. package/dist/es/standards-sdk.es111.js.map +1 -1
  155. package/dist/es/standards-sdk.es112.js +13 -567
  156. package/dist/es/standards-sdk.es112.js.map +1 -1
  157. package/dist/es/standards-sdk.es113.js +541 -576
  158. package/dist/es/standards-sdk.es113.js.map +1 -1
  159. package/dist/es/standards-sdk.es114.js +601 -12
  160. package/dist/es/standards-sdk.es114.js.map +1 -1
  161. package/dist/es/standards-sdk.es115.js +13 -2
  162. package/dist/es/standards-sdk.es115.js.map +1 -1
  163. package/dist/es/standards-sdk.es116.js +2 -83
  164. package/dist/es/standards-sdk.es116.js.map +1 -1
  165. package/dist/es/standards-sdk.es117.js +80 -36
  166. package/dist/es/standards-sdk.es117.js.map +1 -1
  167. package/dist/es/standards-sdk.es118.js +39 -2
  168. package/dist/es/standards-sdk.es118.js.map +1 -1
  169. package/dist/es/standards-sdk.es119.js +2 -223
  170. package/dist/es/standards-sdk.es119.js.map +1 -1
  171. package/dist/es/standards-sdk.es12.js +1 -1
  172. package/dist/es/standards-sdk.es120.js +193 -1110
  173. package/dist/es/standards-sdk.es120.js.map +1 -1
  174. package/dist/es/standards-sdk.es121.js +1059 -225
  175. package/dist/es/standards-sdk.es121.js.map +1 -1
  176. package/dist/es/standards-sdk.es122.js +303 -419
  177. package/dist/es/standards-sdk.es122.js.map +1 -1
  178. package/dist/es/standards-sdk.es123.js +418 -351
  179. package/dist/es/standards-sdk.es123.js.map +1 -1
  180. package/dist/es/standards-sdk.es124.js +348 -754
  181. package/dist/es/standards-sdk.es124.js.map +1 -1
  182. package/dist/es/standards-sdk.es125.js +854 -178
  183. package/dist/es/standards-sdk.es125.js.map +1 -1
  184. package/dist/es/standards-sdk.es126.js +153 -1512
  185. package/dist/es/standards-sdk.es126.js.map +1 -1
  186. package/dist/es/standards-sdk.es127.js +1373 -1977
  187. package/dist/es/standards-sdk.es127.js.map +1 -1
  188. package/dist/es/standards-sdk.es128.js +176 -51
  189. package/dist/es/standards-sdk.es128.js.map +1 -1
  190. package/dist/es/standards-sdk.es129.js +196 -76
  191. package/dist/es/standards-sdk.es129.js.map +1 -1
  192. package/dist/es/standards-sdk.es13.js +1 -1
  193. package/dist/es/standards-sdk.es130.js +98 -153
  194. package/dist/es/standards-sdk.es130.js.map +1 -1
  195. package/dist/es/standards-sdk.es131.js +122 -8
  196. package/dist/es/standards-sdk.es131.js.map +1 -1
  197. package/dist/es/standards-sdk.es132.js +234 -73
  198. package/dist/es/standards-sdk.es132.js.map +1 -1
  199. package/dist/es/standards-sdk.es133.js +171 -56
  200. package/dist/es/standards-sdk.es133.js.map +1 -1
  201. package/dist/es/standards-sdk.es134.js +123 -29
  202. package/dist/es/standards-sdk.es134.js.map +1 -1
  203. package/dist/es/standards-sdk.es135.js +313 -125
  204. package/dist/es/standards-sdk.es135.js.map +1 -1
  205. package/dist/es/standards-sdk.es136.js +358 -34
  206. package/dist/es/standards-sdk.es136.js.map +1 -1
  207. package/dist/es/standards-sdk.es137.js +17 -732
  208. package/dist/es/standards-sdk.es137.js.map +1 -1
  209. package/dist/es/standards-sdk.es138.js +65 -12264
  210. package/dist/es/standards-sdk.es138.js.map +1 -1
  211. package/dist/es/standards-sdk.es139.js +86 -16
  212. package/dist/es/standards-sdk.es139.js.map +1 -1
  213. package/dist/es/standards-sdk.es14.js +1 -1
  214. package/dist/es/standards-sdk.es140.js +152 -49
  215. package/dist/es/standards-sdk.es140.js.map +1 -1
  216. package/dist/es/standards-sdk.es141.js +7 -64
  217. package/dist/es/standards-sdk.es141.js.map +1 -1
  218. package/dist/es/standards-sdk.es142.js +71 -157
  219. package/dist/es/standards-sdk.es142.js.map +1 -1
  220. package/dist/es/standards-sdk.es143.js +49 -306
  221. package/dist/es/standards-sdk.es143.js.map +1 -1
  222. package/dist/es/standards-sdk.es144.js +28 -346
  223. package/dist/es/standards-sdk.es144.js.map +1 -1
  224. package/dist/es/standards-sdk.es145.js +112 -427
  225. package/dist/es/standards-sdk.es145.js.map +1 -1
  226. package/dist/es/standards-sdk.es146.js +40 -329
  227. package/dist/es/standards-sdk.es146.js.map +1 -1
  228. package/dist/es/standards-sdk.es147.js +12277 -66
  229. package/dist/es/standards-sdk.es147.js.map +1 -1
  230. package/dist/es/standards-sdk.es148.js +20 -0
  231. package/dist/es/standards-sdk.es148.js.map +1 -0
  232. package/dist/es/standards-sdk.es149.js +59 -0
  233. package/dist/es/standards-sdk.es149.js.map +1 -0
  234. package/dist/es/standards-sdk.es15.js +1 -1
  235. package/dist/es/standards-sdk.es150.js +85 -0
  236. package/dist/es/standards-sdk.es150.js.map +1 -0
  237. package/dist/es/standards-sdk.es151.js +175 -0
  238. package/dist/es/standards-sdk.es151.js.map +1 -0
  239. package/dist/es/standards-sdk.es152.js +325 -0
  240. package/dist/es/standards-sdk.es152.js.map +1 -0
  241. package/dist/es/standards-sdk.es153.js +349 -0
  242. package/dist/es/standards-sdk.es153.js.map +1 -0
  243. package/dist/es/standards-sdk.es154.js +456 -0
  244. package/dist/es/standards-sdk.es154.js.map +1 -0
  245. package/dist/es/standards-sdk.es155.js +334 -0
  246. package/dist/es/standards-sdk.es155.js.map +1 -0
  247. package/dist/es/standards-sdk.es156.js +79 -0
  248. package/dist/es/standards-sdk.es156.js.map +1 -0
  249. package/dist/es/standards-sdk.es157.js +874 -0
  250. package/dist/es/standards-sdk.es157.js.map +1 -0
  251. package/dist/es/standards-sdk.es158.js +242 -0
  252. package/dist/es/standards-sdk.es158.js.map +1 -0
  253. package/dist/es/standards-sdk.es159.js +247 -0
  254. package/dist/es/standards-sdk.es159.js.map +1 -0
  255. package/dist/es/standards-sdk.es16.js +1 -1
  256. package/dist/es/standards-sdk.es17.js +13 -11
  257. package/dist/es/standards-sdk.es17.js.map +1 -1
  258. package/dist/es/standards-sdk.es19.js +20 -17
  259. package/dist/es/standards-sdk.es19.js.map +1 -1
  260. package/dist/es/standards-sdk.es20.js +17 -14
  261. package/dist/es/standards-sdk.es20.js.map +1 -1
  262. package/dist/es/standards-sdk.es21.js +1 -1
  263. package/dist/es/standards-sdk.es22.js +1 -1
  264. package/dist/es/standards-sdk.es23.js +1 -1
  265. package/dist/es/standards-sdk.es24.js +1 -1
  266. package/dist/es/standards-sdk.es25.js +1 -1
  267. package/dist/es/standards-sdk.es26.js +1 -1
  268. package/dist/es/standards-sdk.es27.js +1 -1
  269. package/dist/es/standards-sdk.es28.js +24 -19
  270. package/dist/es/standards-sdk.es28.js.map +1 -1
  271. package/dist/es/standards-sdk.es29.js.map +1 -1
  272. package/dist/es/standards-sdk.es3.js +2 -2
  273. package/dist/es/standards-sdk.es31.js +2 -2
  274. package/dist/es/standards-sdk.es32.js +4 -4
  275. package/dist/es/standards-sdk.es33.js +1 -1
  276. package/dist/es/standards-sdk.es36.js +16 -13
  277. package/dist/es/standards-sdk.es36.js.map +1 -1
  278. package/dist/es/standards-sdk.es37.js +4 -4
  279. package/dist/es/standards-sdk.es38.js +2 -2
  280. package/dist/es/standards-sdk.es39.js +2 -2
  281. package/dist/es/standards-sdk.es40.js +1 -1
  282. package/dist/es/standards-sdk.es41.js +1 -1
  283. package/dist/es/standards-sdk.es42.js +2 -2
  284. package/dist/es/standards-sdk.es47.js +1 -1
  285. package/dist/es/standards-sdk.es5.js +2 -2
  286. package/dist/es/standards-sdk.es52.js +1 -1
  287. package/dist/es/standards-sdk.es54.js +1 -1
  288. package/dist/es/standards-sdk.es57.js +2 -2
  289. package/dist/es/standards-sdk.es59.js +1 -1
  290. package/dist/es/standards-sdk.es6.js +2 -2
  291. package/dist/es/standards-sdk.es60.js +1 -1
  292. package/dist/es/standards-sdk.es61.js +15 -12
  293. package/dist/es/standards-sdk.es61.js.map +1 -1
  294. package/dist/es/standards-sdk.es63.js +1 -1
  295. package/dist/es/standards-sdk.es65.js +2 -2
  296. package/dist/es/standards-sdk.es66.js +3 -3
  297. package/dist/es/standards-sdk.es69.js +2 -2
  298. package/dist/es/standards-sdk.es7.js +2 -2
  299. package/dist/es/standards-sdk.es70.js +3 -3
  300. package/dist/es/standards-sdk.es71.js +2 -2
  301. package/dist/es/standards-sdk.es72.js +1 -1
  302. package/dist/es/standards-sdk.es73.js.map +1 -1
  303. package/dist/es/standards-sdk.es75.js +2 -2
  304. package/dist/es/standards-sdk.es77.js +5 -3
  305. package/dist/es/standards-sdk.es77.js.map +1 -1
  306. package/dist/es/standards-sdk.es78.js +12 -11
  307. package/dist/es/standards-sdk.es78.js.map +1 -1
  308. package/dist/es/standards-sdk.es79.js +1 -1
  309. package/dist/es/standards-sdk.es8.js +1 -1
  310. package/dist/es/standards-sdk.es80.js +113 -29
  311. package/dist/es/standards-sdk.es80.js.map +1 -1
  312. package/dist/es/standards-sdk.es82.js +23 -4
  313. package/dist/es/standards-sdk.es82.js.map +1 -1
  314. package/dist/es/standards-sdk.es83.js +39 -14
  315. package/dist/es/standards-sdk.es83.js.map +1 -1
  316. package/dist/es/standards-sdk.es84.js +198 -17
  317. package/dist/es/standards-sdk.es84.js.map +1 -1
  318. package/dist/es/standards-sdk.es85.js +256 -9
  319. package/dist/es/standards-sdk.es85.js.map +1 -1
  320. package/dist/es/standards-sdk.es86.js +55 -21
  321. package/dist/es/standards-sdk.es86.js.map +1 -1
  322. package/dist/es/standards-sdk.es87.js +22 -75
  323. package/dist/es/standards-sdk.es87.js.map +1 -1
  324. package/dist/es/standards-sdk.es88.js +45 -30
  325. package/dist/es/standards-sdk.es88.js.map +1 -1
  326. package/dist/es/standards-sdk.es89.js +57 -22
  327. package/dist/es/standards-sdk.es89.js.map +1 -1
  328. package/dist/es/standards-sdk.es90.js +28 -23
  329. package/dist/es/standards-sdk.es90.js.map +1 -1
  330. package/dist/es/standards-sdk.es91.js +23 -167
  331. package/dist/es/standards-sdk.es91.js.map +1 -1
  332. package/dist/es/standards-sdk.es92.js +158 -119
  333. package/dist/es/standards-sdk.es92.js.map +1 -1
  334. package/dist/es/standards-sdk.es93.js +68 -95
  335. package/dist/es/standards-sdk.es93.js.map +1 -1
  336. package/dist/es/standards-sdk.es94.js +136 -119
  337. package/dist/es/standards-sdk.es94.js.map +1 -1
  338. package/dist/es/standards-sdk.es95.js +139 -39
  339. package/dist/es/standards-sdk.es95.js.map +1 -1
  340. package/dist/es/standards-sdk.es96.js +42 -257
  341. package/dist/es/standards-sdk.es96.js.map +1 -1
  342. package/dist/es/standards-sdk.es97.js +243 -80
  343. package/dist/es/standards-sdk.es97.js.map +1 -1
  344. package/dist/es/standards-sdk.es98.js +47 -48
  345. package/dist/es/standards-sdk.es98.js.map +1 -1
  346. package/dist/es/standards-sdk.es99.js +100 -28
  347. package/dist/es/standards-sdk.es99.js.map +1 -1
  348. package/dist/es/utils/dynamic-import.d.ts +1 -0
  349. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  350. package/package.json +6 -10
@@ -1,793 +1,213 @@
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.es142.js";
9
- import { FileParser } from "./standards-sdk.es143.js";
10
- import { CryptoParser } from "./standards-sdk.es144.js";
11
- import { SCSParser } from "./standards-sdk.es145.js";
12
- import { UtilParser } from "./standards-sdk.es146.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 {
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 "node:buffer";
13
+ import "node:crypto";
14
+ import "@noble/curves/secp256k1.js";
15
+ import "zod";
16
+ import "node:module";
17
+ import "./standards-sdk.es139.js";
18
+ class HRLResolver {
19
+ constructor(logLevel = "info") {
20
+ this.defaultEndpoint = "https://kiloscribe.com/api/inscription-cdn";
21
+ this.logger = Logger.getInstance({
22
+ level: logLevel,
23
+ module: "HRLResolver"
24
+ });
25
+ }
17
26
  /**
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;
27
+ * Determines if a MIME type represents binary content
28
+ */
29
+ isBinaryContentType(mimeType) {
30
+ const binaryTypes = [
31
+ "image/",
32
+ "audio/",
33
+ "video/",
34
+ "application/octet-stream",
35
+ "application/pdf",
36
+ "application/zip",
37
+ "application/gzip",
38
+ "application/x-binary",
39
+ "application/vnd.ms-",
40
+ "application/x-msdownload",
41
+ "application/x-shockwave-flash",
42
+ "font/",
43
+ "application/wasm"
44
+ ];
45
+ return binaryTypes.some((prefix) => mimeType.startsWith(prefix));
90
46
  }
91
47
  /**
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
+ * Parses an HRL string into its components
99
49
  */
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;
50
+ parseHRL(hrl) {
51
+ if (!hrl) {
52
+ return null;
109
53
  }
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
- };
54
+ const hrlPattern = /^hcs:\/\/(\d+)\/([0-9]+\.[0-9]+\.[0-9]+)$/;
55
+ const match = hrl.match(hrlPattern);
56
+ if (!match) {
57
+ return null;
207
58
  }
59
+ return {
60
+ standard: match[1],
61
+ topicId: match[2]
62
+ };
208
63
  }
209
64
  /**
210
- * Parse a base64 encoded transaction body using registry pattern
211
- * @param transactionBodyBase64 - The base64 encoded transaction body
212
- * @returns The parsed transaction
65
+ * Validates if a string is a valid HRL
213
66
  */
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
- };
67
+ isValidHRL(hrl) {
68
+ if (!hrl || typeof hrl !== "string") {
69
+ return false;
248
70
  }
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
- };
71
+ const parsed = this.parseHRL(hrl);
72
+ if (!parsed) {
73
+ return false;
274
74
  }
275
- const parsed = this.parseTransactionBody(scheduleResponse.transaction_body);
276
- if (scheduleResponse.memo) {
277
- parsed.memo = scheduleResponse.memo;
75
+ const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
76
+ if (!topicIdPattern.test(parsed.topicId)) {
77
+ return false;
278
78
  }
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
+ return true;
296
80
  }
297
81
  /**
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
+ * Validates if a string is a valid topic ID
301
83
  */
302
- static getTransactionSummary(parsedTx) {
303
- return resolveTransactionSummary(parsedTx);
84
+ isValidTopicId(topicId) {
85
+ const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
86
+ return topicIdPattern.test(topicId);
304
87
  }
305
88
  /**
306
- * Validate transaction bytes format and encoding
307
- * Enhanced validation with better format detection
89
+ * Resolves content from either an HRL or a topic ID
90
+ * If a topic ID is provided, it queries the topic memo to determine the HCS standard
308
91
  */
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
- };
92
+ async resolve(hrlOrTopicId, options) {
93
+ if (this.isValidHRL(hrlOrTopicId)) {
94
+ return this.resolveHRL(hrlOrTopicId, options);
315
95
  }
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
- }
96
+ if (!this.isValidTopicId(hrlOrTopicId)) {
97
+ throw new Error(`Invalid HRL or topic ID format: ${hrlOrTopicId}`);
331
98
  }
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) {
354
99
  try {
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"));
100
+ const mirrorNode = new HederaMirrorNode(options.network, this.logger);
101
+ const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);
102
+ const memo = topicInfo?.memo || "";
103
+ let standard = "1";
104
+ if (memo) {
105
+ const hcsMatch = memo.match(/^hcs-(\d+)/);
106
+ if (hcsMatch && hcsMatch[1]) {
107
+ standard = hcsMatch[1];
108
+ }
361
109
  }
110
+ const hrl = `hcs://${standard}/${hrlOrTopicId}`;
111
+ return this.resolveHRL(hrl, options);
362
112
  } catch (error) {
363
- throw new TransactionParsingError(
364
- "Failed to decode transaction bytes",
365
- "DECODE_ERROR",
366
- error instanceof Error ? error : void 0,
367
- transactionBytes
113
+ this.logger.error(
114
+ `Failed to get topic info for ${hrlOrTopicId}: ${error.message}`
368
115
  );
116
+ const hrl = `hcs://1/${hrlOrTopicId}`;
117
+ return this.resolveHRL(hrl, options);
369
118
  }
370
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;
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 = {}) {
397
- try {
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
120
+ async getContentWithType(hrl, options) {
121
+ if (!this.isValidHRL(hrl)) {
122
+ return {
123
+ content: hrl,
124
+ contentType: "text/plain",
125
+ isBinary: false
421
126
  };
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
- );
436
127
  }
437
- }
438
- /**
439
- * Parse scheduled transaction body
440
- */
441
- static parseScheduledTransaction(transactionBytes, options = {}) {
442
128
  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
- }
129
+ const result = await this.resolveHRL(hrl, options);
130
+ return {
131
+ content: result.content,
132
+ contentType: result.contentType,
133
+ isBinary: result.isBinary
458
134
  };
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
- );
135
+ } catch (e) {
136
+ const error = e;
137
+ const logMessage = `Error resolving HRL for content and type: ${error.message}`;
138
+ this.logger.error(logMessage);
139
+ throw new Error(logMessage);
467
140
  }
468
141
  }
469
142
  /**
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
143
+ * Resolves HRL content with proper content type detection
484
144
  */
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 = {};
514
- try {
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);
538
- }
539
- }
540
- } catch (error) {
145
+ async resolveHRL(hrl, options) {
146
+ const parsed = this.parseHRL(hrl);
147
+ if (!parsed) {
148
+ throw new Error(`Invalid HRL format: ${hrl}`);
541
149
  }
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];
554
- }
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];
150
+ const { standard, topicId } = parsed;
151
+ this.logger.debug(
152
+ `Resolving HRL reference: standard=${standard}, topicId=${topicId}`
153
+ );
154
+ try {
155
+ const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;
156
+ const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;
157
+ this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);
158
+ const headResponse = await axios.head(cdnUrl);
159
+ const contentType = headResponse.headers["content-type"] || "";
160
+ const isBinary = this.isBinaryContentType(contentType);
161
+ if (isBinary || options.returnRaw) {
162
+ const response2 = await axios.get(cdnUrl, {
163
+ responseType: "arraybuffer"
164
+ });
165
+ return {
166
+ content: response2.data,
167
+ contentType,
168
+ topicId,
169
+ isBinary: true
170
+ };
559
171
  }
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;
172
+ if (contentType === "application/json") {
173
+ const response2 = await axios.get(cdnUrl, {
174
+ responseType: "json"
175
+ });
176
+ if (!response2.data) {
177
+ throw new Error(`Failed to fetch content from topic: ${topicId}`);
722
178
  }
179
+ return {
180
+ content: response2.data,
181
+ contentType,
182
+ topicId,
183
+ isBinary: false
184
+ };
723
185
  }
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;
742
- } else {
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;
186
+ const response = await axios.get(cdnUrl);
187
+ if (!response.data) {
188
+ throw new Error(`Failed to fetch content from topic: ${topicId}`);
755
189
  }
756
- } else if (field === "tokenAirdrop" && result.type === "TOKENAIRDROP") {
757
- const extracted = HTSParser.extractTokenAirdropFromTransaction(transaction);
758
- if (extracted) {
759
- result[field] = extracted;
190
+ let content;
191
+ if (typeof response.data === "object") {
192
+ content = response.data.content || response.data.text || JSON.stringify(response.data);
193
+ } else {
194
+ content = response.data;
760
195
  }
196
+ return {
197
+ content,
198
+ contentType,
199
+ topicId,
200
+ isBinary: false
201
+ };
202
+ } catch (e) {
203
+ const error = e;
204
+ const logMessage = `Error resolving HRL reference: ${error.message}`;
205
+ this.logger.error(logMessage);
206
+ throw new Error(logMessage);
761
207
  }
762
208
  }
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
- }
788
209
  }
789
210
  export {
790
- TransactionParser,
791
- TransactionParsingError
211
+ HRLResolver
792
212
  };
793
213
  //# sourceMappingURL=standards-sdk.es110.js.map