@hashgraphonline/standards-sdk 0.1.190 → 0.1.191

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/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  2. package/dist/browser/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  3. package/dist/browser/hcs-25/adapters/index.d.ts +1 -0
  4. package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -1
  5. package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  6. package/dist/browser/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  7. package/dist/browser/hcs-25/collectors/catalog.d.ts +9 -2
  8. package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -1
  9. package/dist/browser/hcs-25/collectors/index.d.ts +1 -0
  10. package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -1
  11. package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  12. package/dist/browser/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  13. package/dist/browser/hcs-25/signals/index.d.ts +1 -0
  14. package/dist/browser/hcs-25/signals/index.d.ts.map +1 -1
  15. package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  16. package/dist/browser-root/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  17. package/dist/browser-root/hcs-25/adapters/index.d.ts +1 -0
  18. package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -1
  19. package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  20. package/dist/browser-root/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  21. package/dist/browser-root/hcs-25/collectors/catalog.d.ts +9 -2
  22. package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -1
  23. package/dist/browser-root/hcs-25/collectors/index.d.ts +1 -0
  24. package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -1
  25. package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  26. package/dist/browser-root/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  27. package/dist/browser-root/hcs-25/signals/index.d.ts +1 -0
  28. package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -1
  29. package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  30. package/dist/cjs/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  31. package/dist/cjs/hcs-25/adapters/index.d.ts +1 -0
  32. package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -1
  33. package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  34. package/dist/cjs/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  35. package/dist/cjs/hcs-25/collectors/catalog.d.ts +9 -2
  36. package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -1
  37. package/dist/cjs/hcs-25/collectors/index.d.ts +1 -0
  38. package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -1
  39. package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  40. package/dist/cjs/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  41. package/dist/cjs/hcs-25/signals/index.d.ts +1 -0
  42. package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -1
  43. package/dist/cjs/standards-sdk.cjs +1 -1
  44. package/dist/cjs/standards-sdk.cjs.map +1 -1
  45. package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts +22 -0
  46. package/dist/es/hcs-25/adapters/ans-trust-discovery.d.ts.map +1 -0
  47. package/dist/es/hcs-25/adapters/index.d.ts +1 -0
  48. package/dist/es/hcs-25/adapters/index.d.ts.map +1 -1
  49. package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts +32 -0
  50. package/dist/es/hcs-25/collectors/ans-trust-discovery.d.ts.map +1 -0
  51. package/dist/es/hcs-25/collectors/catalog.d.ts +9 -2
  52. package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -1
  53. package/dist/es/hcs-25/collectors/index.d.ts +1 -0
  54. package/dist/es/hcs-25/collectors/index.d.ts.map +1 -1
  55. package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts +50 -0
  56. package/dist/es/hcs-25/signals/ans-trust-discovery.d.ts.map +1 -0
  57. package/dist/es/hcs-25/signals/index.d.ts +1 -0
  58. package/dist/es/hcs-25/signals/index.d.ts.map +1 -1
  59. package/dist/es/standards-sdk.es.js +78 -71
  60. package/dist/es/standards-sdk.es.js.map +1 -1
  61. package/dist/es/standards-sdk.es101.js +2 -2
  62. package/dist/es/standards-sdk.es103.js +2 -2
  63. package/dist/es/standards-sdk.es104.js +1 -1
  64. package/dist/es/standards-sdk.es106.js +1 -1
  65. package/dist/es/standards-sdk.es108.js +2 -2
  66. package/dist/es/standards-sdk.es11.js +1 -1
  67. package/dist/es/standards-sdk.es110.js +1 -1
  68. package/dist/es/standards-sdk.es111.js +2 -2
  69. package/dist/es/standards-sdk.es115.js +3 -3
  70. package/dist/es/standards-sdk.es116.js +4 -4
  71. package/dist/es/standards-sdk.es12.js +1 -1
  72. package/dist/es/standards-sdk.es120.js +22 -4
  73. package/dist/es/standards-sdk.es120.js.map +1 -1
  74. package/dist/es/standards-sdk.es121.js +15 -12
  75. package/dist/es/standards-sdk.es121.js.map +1 -1
  76. package/dist/es/standards-sdk.es123.js +6 -5
  77. package/dist/es/standards-sdk.es123.js.map +1 -1
  78. package/dist/es/standards-sdk.es124.js +6 -5
  79. package/dist/es/standards-sdk.es124.js.map +1 -1
  80. package/dist/es/standards-sdk.es127.js +6 -5
  81. package/dist/es/standards-sdk.es127.js.map +1 -1
  82. package/dist/es/standards-sdk.es128.js +110 -136
  83. package/dist/es/standards-sdk.es128.js.map +1 -1
  84. package/dist/es/standards-sdk.es129.js +133 -141
  85. package/dist/es/standards-sdk.es129.js.map +1 -1
  86. package/dist/es/standards-sdk.es13.js +1 -1
  87. package/dist/es/standards-sdk.es130.js +135 -345
  88. package/dist/es/standards-sdk.es130.js.map +1 -1
  89. package/dist/es/standards-sdk.es131.js +332 -344
  90. package/dist/es/standards-sdk.es131.js.map +1 -1
  91. package/dist/es/standards-sdk.es132.js +338 -178
  92. package/dist/es/standards-sdk.es132.js.map +1 -1
  93. package/dist/es/standards-sdk.es133.js +200 -196
  94. package/dist/es/standards-sdk.es133.js.map +1 -1
  95. package/dist/es/standards-sdk.es134.js +216 -364
  96. package/dist/es/standards-sdk.es134.js.map +1 -1
  97. package/dist/es/standards-sdk.es135.js +358 -100
  98. package/dist/es/standards-sdk.es135.js.map +1 -1
  99. package/dist/es/standards-sdk.es136.js +91 -220
  100. package/dist/es/standards-sdk.es136.js.map +1 -1
  101. package/dist/es/standards-sdk.es137.js +173 -1250
  102. package/dist/es/standards-sdk.es137.js.map +1 -1
  103. package/dist/es/standards-sdk.es138.js +1295 -98
  104. package/dist/es/standards-sdk.es138.js.map +1 -1
  105. package/dist/es/standards-sdk.es139.js +109 -246
  106. package/dist/es/standards-sdk.es139.js.map +1 -1
  107. package/dist/es/standards-sdk.es14.js +1 -1
  108. package/dist/es/standards-sdk.es140.js +263 -97
  109. package/dist/es/standards-sdk.es140.js.map +1 -1
  110. package/dist/es/standards-sdk.es141.js +107 -248
  111. package/dist/es/standards-sdk.es141.js.map +1 -1
  112. package/dist/es/standards-sdk.es142.js +246 -472
  113. package/dist/es/standards-sdk.es142.js.map +1 -1
  114. package/dist/es/standards-sdk.es143.js +458 -85
  115. package/dist/es/standards-sdk.es143.js.map +1 -1
  116. package/dist/es/standards-sdk.es144.js +96 -151
  117. package/dist/es/standards-sdk.es144.js.map +1 -1
  118. package/dist/es/standards-sdk.es145.js +155 -29
  119. package/dist/es/standards-sdk.es145.js.map +1 -1
  120. package/dist/es/standards-sdk.es146.js +26 -4
  121. package/dist/es/standards-sdk.es146.js.map +1 -1
  122. package/dist/es/standards-sdk.es147.js +10 -180
  123. package/dist/es/standards-sdk.es147.js.map +1 -1
  124. package/dist/es/standards-sdk.es148.js +179 -26
  125. package/dist/es/standards-sdk.es148.js.map +1 -1
  126. package/dist/es/standards-sdk.es149.js +27 -20
  127. package/dist/es/standards-sdk.es149.js.map +1 -1
  128. package/dist/es/standards-sdk.es15.js +1 -1
  129. package/dist/es/standards-sdk.es150.js +18 -156
  130. package/dist/es/standards-sdk.es150.js.map +1 -1
  131. package/dist/es/standards-sdk.es151.js +148 -190
  132. package/dist/es/standards-sdk.es151.js.map +1 -1
  133. package/dist/es/standards-sdk.es152.js +159 -747
  134. package/dist/es/standards-sdk.es152.js.map +1 -1
  135. package/dist/es/standards-sdk.es153.js +786 -9
  136. package/dist/es/standards-sdk.es153.js.map +1 -1
  137. package/dist/es/standards-sdk.es154.js +13 -567
  138. package/dist/es/standards-sdk.es154.js.map +1 -1
  139. package/dist/es/standards-sdk.es155.js +541 -600
  140. package/dist/es/standards-sdk.es155.js.map +1 -1
  141. package/dist/es/standards-sdk.es156.js +625 -12
  142. package/dist/es/standards-sdk.es156.js.map +1 -1
  143. package/dist/es/standards-sdk.es157.js +13 -2
  144. package/dist/es/standards-sdk.es157.js.map +1 -1
  145. package/dist/es/standards-sdk.es158.js +2 -87
  146. package/dist/es/standards-sdk.es158.js.map +1 -1
  147. package/dist/es/standards-sdk.es159.js +84 -37
  148. package/dist/es/standards-sdk.es159.js.map +1 -1
  149. package/dist/es/standards-sdk.es16.js +6 -6
  150. package/dist/es/standards-sdk.es160.js +40 -2
  151. package/dist/es/standards-sdk.es160.js.map +1 -1
  152. package/dist/es/standards-sdk.es161.js +2 -235
  153. package/dist/es/standards-sdk.es161.js.map +1 -1
  154. package/dist/es/standards-sdk.es162.js +204 -1109
  155. package/dist/es/standards-sdk.es162.js.map +1 -1
  156. package/dist/es/standards-sdk.es163.js +1059 -225
  157. package/dist/es/standards-sdk.es163.js.map +1 -1
  158. package/dist/es/standards-sdk.es164.js +303 -419
  159. package/dist/es/standards-sdk.es164.js.map +1 -1
  160. package/dist/es/standards-sdk.es165.js +418 -351
  161. package/dist/es/standards-sdk.es165.js.map +1 -1
  162. package/dist/es/standards-sdk.es166.js +347 -1114
  163. package/dist/es/standards-sdk.es166.js.map +1 -1
  164. package/dist/es/standards-sdk.es167.js +1094 -180
  165. package/dist/es/standards-sdk.es167.js.map +1 -1
  166. package/dist/es/standards-sdk.es168.js +153 -1512
  167. package/dist/es/standards-sdk.es168.js.map +1 -1
  168. package/dist/es/standards-sdk.es169.js +1457 -1056
  169. package/dist/es/standards-sdk.es169.js.map +1 -1
  170. package/dist/es/standards-sdk.es170.js +1163 -14
  171. package/dist/es/standards-sdk.es170.js.map +1 -1
  172. package/dist/es/standards-sdk.es171.js +15 -449
  173. package/dist/es/standards-sdk.es171.js.map +1 -1
  174. package/dist/es/standards-sdk.es172.js +440 -248
  175. package/dist/es/standards-sdk.es172.js.map +1 -1
  176. package/dist/es/standards-sdk.es173.js +259 -4
  177. package/dist/es/standards-sdk.es173.js.map +1 -1
  178. package/dist/es/standards-sdk.es174.js +4 -81
  179. package/dist/es/standards-sdk.es174.js.map +1 -1
  180. package/dist/es/standards-sdk.es175.js +71 -77
  181. package/dist/es/standards-sdk.es175.js.map +1 -1
  182. package/dist/es/standards-sdk.es176.js +80 -53
  183. package/dist/es/standards-sdk.es176.js.map +1 -1
  184. package/dist/es/standards-sdk.es177.js +59 -2546
  185. package/dist/es/standards-sdk.es177.js.map +1 -1
  186. package/dist/es/standards-sdk.es178.js +2547 -159
  187. package/dist/es/standards-sdk.es178.js.map +1 -1
  188. package/dist/es/standards-sdk.es179.js +159 -7
  189. package/dist/es/standards-sdk.es179.js.map +1 -1
  190. package/dist/es/standards-sdk.es18.js +13 -13
  191. package/dist/es/standards-sdk.es180.js +7 -86
  192. package/dist/es/standards-sdk.es180.js.map +1 -1
  193. package/dist/es/standards-sdk.es181.js +65 -44
  194. package/dist/es/standards-sdk.es181.js.map +1 -1
  195. package/dist/es/standards-sdk.es182.js +57 -188
  196. package/dist/es/standards-sdk.es182.js.map +1 -1
  197. package/dist/es/standards-sdk.es183.js +27 -26
  198. package/dist/es/standards-sdk.es183.js.map +1 -1
  199. package/dist/es/standards-sdk.es184.js +191 -53
  200. package/dist/es/standards-sdk.es184.js.map +1 -1
  201. package/dist/es/standards-sdk.es185.js +21 -109
  202. package/dist/es/standards-sdk.es185.js.map +1 -1
  203. package/dist/es/standards-sdk.es186.js +49 -47
  204. package/dist/es/standards-sdk.es186.js.map +1 -1
  205. package/dist/es/standards-sdk.es187.js +89 -205
  206. package/dist/es/standards-sdk.es187.js.map +1 -1
  207. package/dist/es/standards-sdk.es188.js +35 -58
  208. package/dist/es/standards-sdk.es188.js.map +1 -1
  209. package/dist/es/standards-sdk.es189.js +48 -39
  210. package/dist/es/standards-sdk.es189.js.map +1 -1
  211. package/dist/es/standards-sdk.es19.js +10 -10
  212. package/dist/es/standards-sdk.es190.js +218 -48
  213. package/dist/es/standards-sdk.es190.js.map +1 -1
  214. package/dist/es/standards-sdk.es191.js +66 -42
  215. package/dist/es/standards-sdk.es191.js.map +1 -1
  216. package/dist/es/standards-sdk.es192.js +33 -105
  217. package/dist/es/standards-sdk.es192.js.map +1 -1
  218. package/dist/es/standards-sdk.es193.js +49 -43
  219. package/dist/es/standards-sdk.es193.js.map +1 -1
  220. package/dist/es/standards-sdk.es194.js +33 -42
  221. package/dist/es/standards-sdk.es194.js.map +1 -1
  222. package/dist/es/standards-sdk.es195.js +123 -72
  223. package/dist/es/standards-sdk.es195.js.map +1 -1
  224. package/dist/es/standards-sdk.es196.js +58 -75
  225. package/dist/es/standards-sdk.es196.js.map +1 -1
  226. package/dist/es/standards-sdk.es197.js +60 -44
  227. package/dist/es/standards-sdk.es197.js.map +1 -1
  228. package/dist/es/standards-sdk.es198.js +72 -36
  229. package/dist/es/standards-sdk.es198.js.map +1 -1
  230. package/dist/es/standards-sdk.es199.js +75 -30
  231. package/dist/es/standards-sdk.es199.js.map +1 -1
  232. package/dist/es/standards-sdk.es2.js +2 -2
  233. package/dist/es/standards-sdk.es20.js +1 -1
  234. package/dist/es/standards-sdk.es200.js +44 -34
  235. package/dist/es/standards-sdk.es200.js.map +1 -1
  236. package/dist/es/standards-sdk.es201.js +36 -48
  237. package/dist/es/standards-sdk.es201.js.map +1 -1
  238. package/dist/es/standards-sdk.es202.js +30 -138
  239. package/dist/es/standards-sdk.es202.js.map +1 -1
  240. package/dist/es/standards-sdk.es203.js +34 -42
  241. package/dist/es/standards-sdk.es203.js.map +1 -1
  242. package/dist/es/standards-sdk.es204.js +48 -12482
  243. package/dist/es/standards-sdk.es204.js.map +1 -1
  244. package/dist/es/standards-sdk.es205.js +134 -13
  245. package/dist/es/standards-sdk.es205.js.map +1 -1
  246. package/dist/es/standards-sdk.es206.js +36 -50
  247. package/dist/es/standards-sdk.es206.js.map +1 -1
  248. package/dist/es/standards-sdk.es207.js +12449 -78
  249. package/dist/es/standards-sdk.es207.js.map +1 -1
  250. package/dist/es/standards-sdk.es208.js +15 -79
  251. package/dist/es/standards-sdk.es208.js.map +1 -1
  252. package/dist/es/standards-sdk.es209.js +48 -192
  253. package/dist/es/standards-sdk.es209.js.map +1 -1
  254. package/dist/es/standards-sdk.es21.js +1 -1
  255. package/dist/es/standards-sdk.es210.js +90 -651
  256. package/dist/es/standards-sdk.es210.js.map +1 -1
  257. package/dist/es/standards-sdk.es211.js +71 -63
  258. package/dist/es/standards-sdk.es211.js.map +1 -1
  259. package/dist/es/standards-sdk.es212.js +188 -160
  260. package/dist/es/standards-sdk.es212.js.map +1 -1
  261. package/dist/es/standards-sdk.es213.js +65 -314
  262. package/dist/es/standards-sdk.es213.js.map +1 -1
  263. package/dist/es/standards-sdk.es214.js +661 -335
  264. package/dist/es/standards-sdk.es214.js.map +1 -1
  265. package/dist/es/standards-sdk.es215.js +129 -410
  266. package/dist/es/standards-sdk.es215.js.map +1 -1
  267. package/dist/es/standards-sdk.es216.js +200 -209
  268. package/dist/es/standards-sdk.es216.js.map +1 -1
  269. package/dist/es/standards-sdk.es217.js +334 -64
  270. package/dist/es/standards-sdk.es217.js.map +1 -1
  271. package/dist/es/standards-sdk.es218.js +438 -124
  272. package/dist/es/standards-sdk.es218.js.map +1 -1
  273. package/dist/es/standards-sdk.es219.js +310 -496
  274. package/dist/es/standards-sdk.es219.js.map +1 -1
  275. package/dist/es/standards-sdk.es22.js +1 -1
  276. package/dist/es/standards-sdk.es220.js +60 -243
  277. package/dist/es/standards-sdk.es220.js.map +1 -1
  278. package/dist/es/standards-sdk.es221.js +118 -175
  279. package/dist/es/standards-sdk.es221.js.map +1 -1
  280. package/dist/es/standards-sdk.es222.js +465 -67
  281. package/dist/es/standards-sdk.es222.js.map +1 -1
  282. package/dist/es/standards-sdk.es223.js +250 -143
  283. package/dist/es/standards-sdk.es223.js.map +1 -1
  284. package/dist/es/standards-sdk.es224.js +172 -160
  285. package/dist/es/standards-sdk.es224.js.map +1 -1
  286. package/dist/es/standards-sdk.es225.js +65 -630
  287. package/dist/es/standards-sdk.es225.js.map +1 -1
  288. package/dist/es/standards-sdk.es226.js +128 -161
  289. package/dist/es/standards-sdk.es226.js.map +1 -1
  290. package/dist/es/standards-sdk.es227.js +144 -195
  291. package/dist/es/standards-sdk.es227.js.map +1 -1
  292. package/dist/es/standards-sdk.es228.js +668 -223
  293. package/dist/es/standards-sdk.es228.js.map +1 -1
  294. package/dist/es/standards-sdk.es229.js +188 -0
  295. package/dist/es/standards-sdk.es229.js.map +1 -0
  296. package/dist/es/standards-sdk.es23.js +1 -1
  297. package/dist/es/standards-sdk.es230.js +238 -0
  298. package/dist/es/standards-sdk.es230.js.map +1 -0
  299. package/dist/es/standards-sdk.es231.js +242 -0
  300. package/dist/es/standards-sdk.es231.js.map +1 -0
  301. package/dist/es/standards-sdk.es24.js +1 -1
  302. package/dist/es/standards-sdk.es25.js +1 -1
  303. package/dist/es/standards-sdk.es26.js +1 -1
  304. package/dist/es/standards-sdk.es27.js +13 -13
  305. package/dist/es/standards-sdk.es30.js +2 -2
  306. package/dist/es/standards-sdk.es31.js +4 -4
  307. package/dist/es/standards-sdk.es32.js +1 -1
  308. package/dist/es/standards-sdk.es35.js +7 -7
  309. package/dist/es/standards-sdk.es36.js +4 -4
  310. package/dist/es/standards-sdk.es37.js +2 -2
  311. package/dist/es/standards-sdk.es38.js +2 -2
  312. package/dist/es/standards-sdk.es39.js +1 -1
  313. package/dist/es/standards-sdk.es4.js +2 -2
  314. package/dist/es/standards-sdk.es40.js +1 -1
  315. package/dist/es/standards-sdk.es41.js +2 -2
  316. package/dist/es/standards-sdk.es46.js +1 -1
  317. package/dist/es/standards-sdk.es5.js +2 -2
  318. package/dist/es/standards-sdk.es51.js +1 -1
  319. package/dist/es/standards-sdk.es53.js +1 -1
  320. package/dist/es/standards-sdk.es56.js +2 -2
  321. package/dist/es/standards-sdk.es59.js +1 -1
  322. package/dist/es/standards-sdk.es6.js +2 -2
  323. package/dist/es/standards-sdk.es60.js +1 -1
  324. package/dist/es/standards-sdk.es62.js +1 -1
  325. package/dist/es/standards-sdk.es63.js +2 -2
  326. package/dist/es/standards-sdk.es64.js +1 -1
  327. package/dist/es/standards-sdk.es65.js +1 -1
  328. package/dist/es/standards-sdk.es66.js +1 -1
  329. package/dist/es/standards-sdk.es67.js +8 -8
  330. package/dist/es/standards-sdk.es69.js +1 -1
  331. package/dist/es/standards-sdk.es7.js +1 -1
  332. package/dist/es/standards-sdk.es71.js +2 -2
  333. package/dist/es/standards-sdk.es72.js +3 -3
  334. package/dist/es/standards-sdk.es75.js +5 -5
  335. package/dist/es/standards-sdk.es76.js +3 -3
  336. package/dist/es/standards-sdk.es77.js +2 -2
  337. package/dist/es/standards-sdk.es78.js +1 -1
  338. package/dist/es/standards-sdk.es81.js +2 -2
  339. package/dist/es/standards-sdk.es83.js +2 -2
  340. package/dist/es/standards-sdk.es84.js +5 -5
  341. package/dist/es/standards-sdk.es85.js +1 -1
  342. package/dist/es/standards-sdk.es88.js +1 -1
  343. package/dist/es/standards-sdk.es89.js +2 -2
  344. package/dist/es/standards-sdk.es9.js +2 -2
  345. package/dist/es/standards-sdk.es90.js +4 -4
  346. package/dist/es/standards-sdk.es94.js +3 -3
  347. package/dist/es/standards-sdk.es96.js +2 -2
  348. package/dist/es/standards-sdk.es98.js +1 -1
  349. package/dist/es/standards-sdk.es99.js +3 -3
  350. package/package.json +1 -1
@@ -1,793 +1,205 @@
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.es153.js";
6
- import { resolveTransactionSummary } from "./standards-sdk.es154.js";
7
- import { HTSParser } from "./standards-sdk.es162.js";
8
- import { HCSParser } from "./standards-sdk.es212.js";
9
- import { FileParser } from "./standards-sdk.es213.js";
10
- import { CryptoParser } from "./standards-sdk.es214.js";
11
- import { SCSParser } from "./standards-sdk.es215.js";
12
- import { UtilParser } from "./standards-sdk.es216.js";
13
- import { ScheduleParser } from "./standards-sdk.es163.js";
14
- import { transactionParserRegistry } from "./standards-sdk.es164.js";
15
- import { getTransactionTypeFromBody, getHumanReadableTransactionType } from "./standards-sdk.es165.js";
16
- class TransactionParser {
1
+ import axios from "axios";
2
+ import { Logger } from "./standards-sdk.es148.js";
3
+ import { HederaMirrorNode } from "./standards-sdk.es169.js";
4
+ import "buffer";
5
+ import "@noble/curves/secp256k1.js";
6
+ import "zod";
7
+ import "./standards-sdk.es178.js";
8
+ import "./standards-sdk.es172.js";
9
+ import "./standards-sdk.es176.js";
10
+ class HRLResolver {
11
+ constructor(logLevel = "info") {
12
+ this.defaultEndpoint = "https://kiloscribe.com/api/inscription-cdn";
13
+ this.logger = Logger.getInstance({
14
+ level: logLevel,
15
+ module: "HRLResolver"
16
+ });
17
+ }
17
18
  /**
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;
19
+ * Determines if a MIME type represents binary content
20
+ */
21
+ isBinaryContentType(mimeType) {
22
+ const binaryTypes = [
23
+ "image/",
24
+ "audio/",
25
+ "video/",
26
+ "application/octet-stream",
27
+ "application/pdf",
28
+ "application/zip",
29
+ "application/gzip",
30
+ "application/x-binary",
31
+ "application/vnd.ms-",
32
+ "application/x-msdownload",
33
+ "application/x-shockwave-flash",
34
+ "font/",
35
+ "application/wasm"
36
+ ];
37
+ return binaryTypes.some((prefix) => mimeType.startsWith(prefix));
90
38
  }
91
39
  /**
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
40
+ * Parses an HRL string into its components
99
41
  */
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;
42
+ parseHRL(hrl) {
43
+ if (!hrl) {
44
+ return null;
109
45
  }
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
- };
46
+ const hrlPattern = /^hcs:\/\/(\d+)\/([0-9]+\.[0-9]+\.[0-9]+)$/;
47
+ const match = hrl.match(hrlPattern);
48
+ if (!match) {
49
+ return null;
207
50
  }
51
+ return {
52
+ standard: match[1],
53
+ topicId: match[2]
54
+ };
208
55
  }
209
56
  /**
210
- * Parse a base64 encoded transaction body using registry pattern
211
- * @param transactionBodyBase64 - The base64 encoded transaction body
212
- * @returns The parsed transaction
57
+ * Validates if a string is a valid HRL
213
58
  */
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
- };
59
+ isValidHRL(hrl) {
60
+ if (!hrl || typeof hrl !== "string") {
61
+ return false;
248
62
  }
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
- };
63
+ const parsed = this.parseHRL(hrl);
64
+ if (!parsed) {
65
+ return false;
274
66
  }
275
- const parsed = this.parseTransactionBody(scheduleResponse.transaction_body);
276
- if (scheduleResponse.memo) {
277
- parsed.memo = scheduleResponse.memo;
67
+ const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
68
+ if (!topicIdPattern.test(parsed.topicId)) {
69
+ return false;
278
70
  }
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);
71
+ return true;
296
72
  }
297
73
  /**
298
- * Get a human-readable summary of the transaction
299
- * @param parsedTx - The parsed transaction
300
- * @returns The human-readable summary of the transaction
74
+ * Validates if a string is a valid topic ID
301
75
  */
302
- static getTransactionSummary(parsedTx) {
303
- return resolveTransactionSummary(parsedTx);
76
+ isValidTopicId(topicId) {
77
+ const topicIdPattern = /^[0-9]+\.[0-9]+\.[0-9]+$/;
78
+ return topicIdPattern.test(topicId);
304
79
  }
305
80
  /**
306
- * Validate transaction bytes format and encoding
307
- * Enhanced validation with better format detection
81
+ * Resolves content from either an HRL or a topic ID
82
+ * If a topic ID is provided, it queries the topic memo to determine the HCS standard
308
83
  */
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
- };
84
+ async resolve(hrlOrTopicId, options) {
85
+ if (this.isValidHRL(hrlOrTopicId)) {
86
+ return this.resolveHRL(hrlOrTopicId, options);
315
87
  }
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
- }
88
+ if (!this.isValidTopicId(hrlOrTopicId)) {
89
+ throw new Error(`Invalid HRL or topic ID format: ${hrlOrTopicId}`);
331
90
  }
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
91
  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"));
92
+ const mirrorNode = new HederaMirrorNode(options.network, this.logger);
93
+ const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);
94
+ const memo = topicInfo?.memo || "";
95
+ let standard = "1";
96
+ if (memo) {
97
+ const hcsMatch = memo.match(/^hcs-(\d+)/);
98
+ if (hcsMatch && hcsMatch[1]) {
99
+ standard = hcsMatch[1];
100
+ }
361
101
  }
102
+ const hrl = `hcs://${standard}/${hrlOrTopicId}`;
103
+ return this.resolveHRL(hrl, options);
362
104
  } catch (error) {
363
- throw new TransactionParsingError(
364
- "Failed to decode transaction bytes",
365
- "DECODE_ERROR",
366
- error instanceof Error ? error : void 0,
367
- transactionBytes
105
+ this.logger.error(
106
+ `Failed to get topic info for ${hrlOrTopicId}: ${error.message}`
368
107
  );
108
+ const hrl = `hcs://1/${hrlOrTopicId}`;
109
+ return this.resolveHRL(hrl, options);
369
110
  }
370
111
  }
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
112
+ async getContentWithType(hrl, options) {
113
+ if (!this.isValidHRL(hrl)) {
114
+ return {
115
+ content: hrl,
116
+ contentType: "text/plain",
117
+ isBinary: false
421
118
  };
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
119
  }
437
- }
438
- /**
439
- * Parse scheduled transaction body
440
- */
441
- static parseScheduledTransaction(transactionBytes, options = {}) {
442
120
  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
- }
121
+ const result = await this.resolveHRL(hrl, options);
122
+ return {
123
+ content: result.content,
124
+ contentType: result.contentType,
125
+ isBinary: result.isBinary
458
126
  };
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
- );
127
+ } catch (e) {
128
+ const error = e;
129
+ const logMessage = `Error resolving HRL for content and type: ${error.message}`;
130
+ this.logger.error(logMessage);
131
+ throw new Error(logMessage);
467
132
  }
468
133
  }
469
134
  /**
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
135
+ * Resolves HRL content with proper content type detection
484
136
  */
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) {
137
+ async resolveHRL(hrl, options) {
138
+ const parsed = this.parseHRL(hrl);
139
+ if (!parsed) {
140
+ throw new Error(`Invalid HRL format: ${hrl}`);
541
141
  }
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];
142
+ const { standard, topicId } = parsed;
143
+ this.logger.debug(
144
+ `Resolving HRL reference: standard=${standard}, topicId=${topicId}`
145
+ );
146
+ try {
147
+ const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;
148
+ const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;
149
+ this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);
150
+ const headResponse = await axios.head(cdnUrl);
151
+ const contentType = headResponse.headers["content-type"] || "";
152
+ const isBinary = this.isBinaryContentType(contentType);
153
+ if (isBinary || options.returnRaw) {
154
+ const response2 = await axios.get(cdnUrl, {
155
+ responseType: "arraybuffer"
156
+ });
157
+ return {
158
+ content: response2.data,
159
+ contentType,
160
+ topicId,
161
+ isBinary: true
162
+ };
559
163
  }
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;
164
+ if (contentType === "application/json") {
165
+ const response2 = await axios.get(cdnUrl, {
166
+ responseType: "json"
167
+ });
168
+ if (!response2.data) {
169
+ throw new Error(`Failed to fetch content from topic: ${topicId}`);
722
170
  }
171
+ return {
172
+ content: response2.data,
173
+ contentType,
174
+ topicId,
175
+ isBinary: false
176
+ };
723
177
  }
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;
178
+ const response = await axios.get(cdnUrl);
179
+ if (!response.data) {
180
+ throw new Error(`Failed to fetch content from topic: ${topicId}`);
755
181
  }
756
- } else if (field === "tokenAirdrop" && result.type === "TOKENAIRDROP") {
757
- const extracted = HTSParser.extractTokenAirdropFromTransaction(transaction);
758
- if (extracted) {
759
- result[field] = extracted;
182
+ let content;
183
+ if (typeof response.data === "object") {
184
+ content = response.data.content || response.data.text || JSON.stringify(response.data);
185
+ } else {
186
+ content = response.data;
760
187
  }
188
+ return {
189
+ content,
190
+ contentType,
191
+ topicId,
192
+ isBinary: false
193
+ };
194
+ } catch (e) {
195
+ const error = e;
196
+ const logMessage = `Error resolving HRL reference: ${error.message}`;
197
+ this.logger.error(logMessage);
198
+ throw new Error(logMessage);
761
199
  }
762
200
  }
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
201
  }
789
202
  export {
790
- TransactionParser,
791
- TransactionParsingError
203
+ HRLResolver
792
204
  };
793
205
  //# sourceMappingURL=standards-sdk.es152.js.map