@hashgraphonline/standards-sdk 0.1.188 → 0.1.190

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 (548) hide show
  1. package/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -1
  2. package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -1
  3. package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -1
  4. package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -1
  5. package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -1
  6. package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  7. package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -1
  8. package/dist/browser/hcs-25/collectors/acp.d.ts +42 -0
  9. package/dist/browser/hcs-25/collectors/acp.d.ts.map +1 -0
  10. package/dist/browser/hcs-25/collectors/agentverse.d.ts +37 -0
  11. package/dist/browser/hcs-25/collectors/agentverse.d.ts.map +1 -0
  12. package/dist/browser/hcs-25/collectors/availability.d.ts +29 -0
  13. package/dist/browser/hcs-25/collectors/availability.d.ts.map +1 -0
  14. package/dist/browser/hcs-25/collectors/catalog.d.ts +57 -0
  15. package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -0
  16. package/dist/browser/hcs-25/collectors/connectivity.d.ts +49 -0
  17. package/dist/browser/hcs-25/collectors/connectivity.d.ts.map +1 -0
  18. package/dist/browser/hcs-25/collectors/endpoints.d.ts +9 -0
  19. package/dist/browser/hcs-25/collectors/endpoints.d.ts.map +1 -0
  20. package/dist/browser/hcs-25/collectors/erc8004.d.ts +104 -0
  21. package/dist/browser/hcs-25/collectors/erc8004.d.ts.map +1 -0
  22. package/dist/browser/hcs-25/collectors/ethos.d.ts +95 -0
  23. package/dist/browser/hcs-25/collectors/ethos.d.ts.map +1 -0
  24. package/dist/browser/hcs-25/collectors/freshness.d.ts +36 -0
  25. package/dist/browser/hcs-25/collectors/freshness.d.ts.map +1 -0
  26. package/dist/browser/hcs-25/collectors/http.d.ts +67 -0
  27. package/dist/browser/hcs-25/collectors/http.d.ts.map +1 -0
  28. package/dist/browser/hcs-25/collectors/index.d.ts +21 -0
  29. package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -0
  30. package/dist/browser/hcs-25/collectors/merge.d.ts +11 -0
  31. package/dist/browser/hcs-25/collectors/merge.d.ts.map +1 -0
  32. package/dist/browser/hcs-25/collectors/model-evals.d.ts +315 -0
  33. package/dist/browser/hcs-25/collectors/model-evals.d.ts.map +1 -0
  34. package/dist/browser/hcs-25/collectors/oss-popularity.d.ts +51 -0
  35. package/dist/browser/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  36. package/dist/browser/hcs-25/collectors/output-verification.d.ts +37 -0
  37. package/dist/browser/hcs-25/collectors/output-verification.d.ts.map +1 -0
  38. package/dist/browser/hcs-25/collectors/pipeline.d.ts +19 -0
  39. package/dist/browser/hcs-25/collectors/pipeline.d.ts.map +1 -0
  40. package/dist/browser/hcs-25/collectors/runner.d.ts +20 -0
  41. package/dist/browser/hcs-25/collectors/runner.d.ts.map +1 -0
  42. package/dist/browser/hcs-25/collectors/simple-evals.d.ts +91 -0
  43. package/dist/browser/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  44. package/dist/browser/hcs-25/collectors/types.d.ts +113 -0
  45. package/dist/browser/hcs-25/collectors/types.d.ts.map +1 -0
  46. package/dist/browser/hcs-25/collectors/x402-onchain.d.ts +105 -0
  47. package/dist/browser/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  48. package/dist/browser/hcs-25/collectors/x402.d.ts +48 -0
  49. package/dist/browser/hcs-25/collectors/x402.d.ts.map +1 -0
  50. package/dist/browser/hcs-25/index.d.ts +1 -0
  51. package/dist/browser/hcs-25/index.d.ts.map +1 -1
  52. package/dist/browser/hcs-25/signals/marketplace.d.ts +6 -6
  53. package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -1
  54. package/dist/browser/hcs-25/signals/model-evals.d.ts +12 -12
  55. package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -1
  56. package/dist/browser/hcs-25/signals/operational.d.ts +15 -12
  57. package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -1
  58. package/dist/browser/hcs-25/signals/simple-evals.d.ts +1 -1
  59. package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -1
  60. package/dist/browser/services/registry-broker/client/agent-network.d.ts +210 -66
  61. package/dist/browser/services/registry-broker/client/agent-network.d.ts.map +1 -1
  62. package/dist/browser/services/registry-broker/client.d.ts +1 -1
  63. package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
  64. package/dist/browser/standards-sdk.browser.js +37 -10
  65. package/dist/browser/standards-sdk.browser.js.map +1 -1
  66. package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
  67. package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
  68. package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
  69. package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
  70. package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
  71. package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  72. package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
  73. package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
  74. package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
  75. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
  76. package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
  77. package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
  78. package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
  79. package/dist/browser-root/hcs-25/collectors/catalog.d.ts +57 -0
  80. package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
  81. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
  82. package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
  83. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
  84. package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
  85. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
  86. package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
  87. package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
  88. package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
  89. package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
  90. package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
  91. package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
  92. package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
  93. package/dist/browser-root/hcs-25/collectors/index.d.ts +21 -0
  94. package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
  95. package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
  96. package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
  97. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
  98. package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
  99. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
  100. package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  101. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
  102. package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
  103. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
  104. package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
  105. package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
  106. package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
  107. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
  108. package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  109. package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
  110. package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
  111. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
  112. package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  113. package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
  114. package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
  115. package/dist/browser-root/hcs-25/index.d.ts +1 -0
  116. package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
  117. package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
  118. package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
  119. package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
  120. package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
  121. package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
  122. package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
  123. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
  124. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
  125. package/dist/browser-root/services/registry-broker/client/agent-network.d.ts +210 -66
  126. package/dist/browser-root/services/registry-broker/client/agent-network.d.ts.map +1 -1
  127. package/dist/browser-root/services/registry-broker/client.d.ts +1 -1
  128. package/dist/browser-root/services/registry-broker/client.d.ts.map +1 -1
  129. package/dist/browser-root/standards-sdk.root-browser.js +78 -11
  130. package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
  131. package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
  132. package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
  133. package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
  134. package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
  135. package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
  136. package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  137. package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
  138. package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
  139. package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
  140. package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
  141. package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
  142. package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
  143. package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
  144. package/dist/cjs/hcs-25/collectors/catalog.d.ts +57 -0
  145. package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
  146. package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
  147. package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
  148. package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
  149. package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
  150. package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
  151. package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
  152. package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
  153. package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
  154. package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
  155. package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
  156. package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
  157. package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
  158. package/dist/cjs/hcs-25/collectors/index.d.ts +21 -0
  159. package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
  160. package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
  161. package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
  162. package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
  163. package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
  164. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
  165. package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  166. package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
  167. package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
  168. package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
  169. package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
  170. package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
  171. package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
  172. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
  173. package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  174. package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
  175. package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
  176. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
  177. package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  178. package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
  179. package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
  180. package/dist/cjs/hcs-25/index.d.ts +1 -0
  181. package/dist/cjs/hcs-25/index.d.ts.map +1 -1
  182. package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
  183. package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
  184. package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
  185. package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
  186. package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
  187. package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
  188. package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
  189. package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
  190. package/dist/cjs/services/registry-broker/client/agent-network.d.ts +210 -66
  191. package/dist/cjs/services/registry-broker/client/agent-network.d.ts.map +1 -1
  192. package/dist/cjs/services/registry-broker/client.d.ts +1 -1
  193. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  194. package/dist/cjs/standards-sdk.cjs +2 -2
  195. package/dist/cjs/standards-sdk.cjs.map +1 -1
  196. package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
  197. package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
  198. package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
  199. package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
  200. package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
  201. package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
  202. package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
  203. package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
  204. package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
  205. package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
  206. package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
  207. package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
  208. package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
  209. package/dist/es/hcs-25/collectors/catalog.d.ts +57 -0
  210. package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
  211. package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
  212. package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
  213. package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
  214. package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
  215. package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
  216. package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
  217. package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
  218. package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
  219. package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
  220. package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
  221. package/dist/es/hcs-25/collectors/http.d.ts +67 -0
  222. package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
  223. package/dist/es/hcs-25/collectors/index.d.ts +21 -0
  224. package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
  225. package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
  226. package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
  227. package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
  228. package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
  229. package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
  230. package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
  231. package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
  232. package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
  233. package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
  234. package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
  235. package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
  236. package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
  237. package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
  238. package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
  239. package/dist/es/hcs-25/collectors/types.d.ts +113 -0
  240. package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
  241. package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
  242. package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
  243. package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
  244. package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
  245. package/dist/es/hcs-25/index.d.ts +1 -0
  246. package/dist/es/hcs-25/index.d.ts.map +1 -1
  247. package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
  248. package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
  249. package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
  250. package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
  251. package/dist/es/hcs-25/signals/operational.d.ts +15 -12
  252. package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
  253. package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
  254. package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
  255. package/dist/es/services/registry-broker/client/agent-network.d.ts +210 -66
  256. package/dist/es/services/registry-broker/client/agent-network.d.ts.map +1 -1
  257. package/dist/es/services/registry-broker/client.d.ts +1 -1
  258. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  259. package/dist/es/standards-sdk.es.js +141 -58
  260. package/dist/es/standards-sdk.es.js.map +1 -1
  261. package/dist/es/standards-sdk.es101.js +2 -2
  262. package/dist/es/standards-sdk.es103.js +2 -2
  263. package/dist/es/standards-sdk.es104.js +1 -1
  264. package/dist/es/standards-sdk.es106.js +1 -1
  265. package/dist/es/standards-sdk.es108.js +2 -2
  266. package/dist/es/standards-sdk.es11.js +1 -1
  267. package/dist/es/standards-sdk.es110.js +1 -1
  268. package/dist/es/standards-sdk.es111.js +2 -2
  269. package/dist/es/standards-sdk.es115.js +3 -3
  270. package/dist/es/standards-sdk.es116.js +4 -4
  271. package/dist/es/standards-sdk.es12.js +1 -1
  272. package/dist/es/standards-sdk.es120.js +4 -4
  273. package/dist/es/standards-sdk.es121.js +11 -11
  274. package/dist/es/standards-sdk.es122.js +176 -240
  275. package/dist/es/standards-sdk.es122.js.map +1 -1
  276. package/dist/es/standards-sdk.es123.js +41 -468
  277. package/dist/es/standards-sdk.es123.js.map +1 -1
  278. package/dist/es/standards-sdk.es124.js +28 -103
  279. package/dist/es/standards-sdk.es124.js.map +1 -1
  280. package/dist/es/standards-sdk.es125.js +185 -145
  281. package/dist/es/standards-sdk.es125.js.map +1 -1
  282. package/dist/es/standards-sdk.es126.js +13 -33
  283. package/dist/es/standards-sdk.es126.js.map +1 -1
  284. package/dist/es/standards-sdk.es127.js +44 -10
  285. package/dist/es/standards-sdk.es127.js.map +1 -1
  286. package/dist/es/standards-sdk.es128.js +150 -172
  287. package/dist/es/standards-sdk.es128.js.map +1 -1
  288. package/dist/es/standards-sdk.es129.js +166 -26
  289. package/dist/es/standards-sdk.es129.js.map +1 -1
  290. package/dist/es/standards-sdk.es13.js +1 -1
  291. package/dist/es/standards-sdk.es130.js +375 -18
  292. package/dist/es/standards-sdk.es130.js.map +1 -1
  293. package/dist/es/standards-sdk.es131.js +371 -139
  294. package/dist/es/standards-sdk.es131.js.map +1 -1
  295. package/dist/es/standards-sdk.es132.js +211 -180
  296. package/dist/es/standards-sdk.es132.js.map +1 -1
  297. package/dist/es/standards-sdk.es133.js +210 -770
  298. package/dist/es/standards-sdk.es133.js.map +1 -1
  299. package/dist/es/standards-sdk.es134.js +376 -10
  300. package/dist/es/standards-sdk.es134.js.map +1 -1
  301. package/dist/es/standards-sdk.es135.js +118 -564
  302. package/dist/es/standards-sdk.es135.js.map +1 -1
  303. package/dist/es/standards-sdk.es136.js +233 -608
  304. package/dist/es/standards-sdk.es136.js.map +1 -1
  305. package/dist/es/standards-sdk.es137.js +1328 -12
  306. package/dist/es/standards-sdk.es137.js.map +1 -1
  307. package/dist/es/standards-sdk.es138.js +133 -2
  308. package/dist/es/standards-sdk.es138.js.map +1 -1
  309. package/dist/es/standards-sdk.es139.js +258 -74
  310. package/dist/es/standards-sdk.es139.js.map +1 -1
  311. package/dist/es/standards-sdk.es14.js +1 -1
  312. package/dist/es/standards-sdk.es140.js +104 -38
  313. package/dist/es/standards-sdk.es140.js.map +1 -1
  314. package/dist/es/standards-sdk.es141.js +252 -2
  315. package/dist/es/standards-sdk.es141.js.map +1 -1
  316. package/dist/es/standards-sdk.es142.js +446 -203
  317. package/dist/es/standards-sdk.es142.js.map +1 -1
  318. package/dist/es/standards-sdk.es143.js +104 -1139
  319. package/dist/es/standards-sdk.es143.js.map +1 -1
  320. package/dist/es/standards-sdk.es144.js +144 -290
  321. package/dist/es/standards-sdk.es144.js.map +1 -1
  322. package/dist/es/standards-sdk.es145.js +31 -419
  323. package/dist/es/standards-sdk.es145.js.map +1 -1
  324. package/dist/es/standards-sdk.es146.js +10 -353
  325. package/dist/es/standards-sdk.es146.js.map +1 -1
  326. package/dist/es/standards-sdk.es147.js +144 -1084
  327. package/dist/es/standards-sdk.es147.js.map +1 -1
  328. package/dist/es/standards-sdk.es148.js +25 -204
  329. package/dist/es/standards-sdk.es148.js.map +1 -1
  330. package/dist/es/standards-sdk.es149.js +17 -1562
  331. package/dist/es/standards-sdk.es149.js.map +1 -1
  332. package/dist/es/standards-sdk.es15.js +1 -1
  333. package/dist/es/standards-sdk.es150.js +128 -1134
  334. package/dist/es/standards-sdk.es150.js.map +1 -1
  335. package/dist/es/standards-sdk.es151.js +199 -14
  336. package/dist/es/standards-sdk.es151.js.map +1 -1
  337. package/dist/es/standards-sdk.es152.js +774 -367
  338. package/dist/es/standards-sdk.es152.js.map +1 -1
  339. package/dist/es/standards-sdk.es153.js +10 -256
  340. package/dist/es/standards-sdk.es153.js.map +1 -1
  341. package/dist/es/standards-sdk.es154.js +567 -4
  342. package/dist/es/standards-sdk.es154.js.map +1 -1
  343. package/dist/es/standards-sdk.es155.js +619 -74
  344. package/dist/es/standards-sdk.es155.js.map +1 -1
  345. package/dist/es/standards-sdk.es156.js +12 -86
  346. package/dist/es/standards-sdk.es156.js.map +1 -1
  347. package/dist/es/standards-sdk.es157.js +2 -60
  348. package/dist/es/standards-sdk.es157.js.map +1 -1
  349. package/dist/es/standards-sdk.es158.js +87 -2547
  350. package/dist/es/standards-sdk.es158.js.map +1 -1
  351. package/dist/es/standards-sdk.es159.js +36 -155
  352. package/dist/es/standards-sdk.es159.js.map +1 -1
  353. package/dist/es/standards-sdk.es16.js +6 -6
  354. package/dist/es/standards-sdk.es160.js +2 -7
  355. package/dist/es/standards-sdk.es160.js.map +1 -1
  356. package/dist/es/standards-sdk.es161.js +223 -74
  357. package/dist/es/standards-sdk.es161.js.map +1 -1
  358. package/dist/es/standards-sdk.es162.js +1122 -47
  359. package/dist/es/standards-sdk.es162.js.map +1 -1
  360. package/dist/es/standards-sdk.es163.js +299 -187
  361. package/dist/es/standards-sdk.es163.js.map +1 -1
  362. package/dist/es/standards-sdk.es164.js +419 -23
  363. package/dist/es/standards-sdk.es164.js.map +1 -1
  364. package/dist/es/standards-sdk.es165.js +352 -55
  365. package/dist/es/standards-sdk.es165.js.map +1 -1
  366. package/dist/es/standards-sdk.es166.js +1113 -86
  367. package/dist/es/standards-sdk.es166.js.map +1 -1
  368. package/dist/es/standards-sdk.es167.js +200 -41
  369. package/dist/es/standards-sdk.es167.js.map +1 -1
  370. package/dist/es/standards-sdk.es168.js +1551 -188
  371. package/dist/es/standards-sdk.es168.js.map +1 -1
  372. package/dist/es/standards-sdk.es169.js +1161 -51
  373. package/dist/es/standards-sdk.es169.js.map +1 -1
  374. package/dist/es/standards-sdk.es170.js +15 -47
  375. package/dist/es/standards-sdk.es170.js.map +1 -1
  376. package/dist/es/standards-sdk.es171.js +445 -50
  377. package/dist/es/standards-sdk.es171.js.map +1 -1
  378. package/dist/es/standards-sdk.es172.js +255 -45
  379. package/dist/es/standards-sdk.es172.js.map +1 -1
  380. package/dist/es/standards-sdk.es173.js +4 -122
  381. package/dist/es/standards-sdk.es173.js.map +1 -1
  382. package/dist/es/standards-sdk.es174.js +77 -50
  383. package/dist/es/standards-sdk.es174.js.map +1 -1
  384. package/dist/es/standards-sdk.es175.js +85 -42
  385. package/dist/es/standards-sdk.es175.js.map +1 -1
  386. package/dist/es/standards-sdk.es176.js +60 -72
  387. package/dist/es/standards-sdk.es176.js.map +1 -1
  388. package/dist/es/standards-sdk.es177.js +2544 -65
  389. package/dist/es/standards-sdk.es177.js.map +1 -1
  390. package/dist/es/standards-sdk.es178.js +159 -44
  391. package/dist/es/standards-sdk.es178.js.map +1 -1
  392. package/dist/es/standards-sdk.es179.js +7 -36
  393. package/dist/es/standards-sdk.es179.js.map +1 -1
  394. package/dist/es/standards-sdk.es18.js +13 -13
  395. package/dist/es/standards-sdk.es180.js +86 -30
  396. package/dist/es/standards-sdk.es180.js.map +1 -1
  397. package/dist/es/standards-sdk.es181.js +65 -34
  398. package/dist/es/standards-sdk.es181.js.map +1 -1
  399. package/dist/es/standards-sdk.es182.js +196 -48
  400. package/dist/es/standards-sdk.es182.js.map +1 -1
  401. package/dist/es/standards-sdk.es183.js +23 -135
  402. package/dist/es/standards-sdk.es183.js.map +1 -1
  403. package/dist/es/standards-sdk.es184.js +54 -38
  404. package/dist/es/standards-sdk.es184.js.map +1 -1
  405. package/dist/es/standards-sdk.es185.js +102 -12470
  406. package/dist/es/standards-sdk.es185.js.map +1 -1
  407. package/dist/es/standards-sdk.es186.js +53 -52
  408. package/dist/es/standards-sdk.es186.js.map +1 -1
  409. package/dist/es/standards-sdk.es187.js +223 -103
  410. package/dist/es/standards-sdk.es187.js.map +1 -1
  411. package/dist/es/standards-sdk.es188.js +66 -75
  412. package/dist/es/standards-sdk.es188.js.map +1 -1
  413. package/dist/es/standards-sdk.es189.js +46 -197
  414. package/dist/es/standards-sdk.es189.js.map +1 -1
  415. package/dist/es/standards-sdk.es19.js +10 -10
  416. package/dist/es/standards-sdk.es190.js +60 -15
  417. package/dist/es/standards-sdk.es190.js.map +1 -1
  418. package/dist/es/standards-sdk.es191.js +47 -670
  419. package/dist/es/standards-sdk.es191.js.map +1 -1
  420. package/dist/es/standards-sdk.es192.js +112 -162
  421. package/dist/es/standards-sdk.es192.js.map +1 -1
  422. package/dist/es/standards-sdk.es193.js +53 -318
  423. package/dist/es/standards-sdk.es193.js.map +1 -1
  424. package/dist/es/standards-sdk.es194.js +54 -341
  425. package/dist/es/standards-sdk.es194.js.map +1 -1
  426. package/dist/es/standards-sdk.es195.js +72 -453
  427. package/dist/es/standards-sdk.es195.js.map +1 -1
  428. package/dist/es/standards-sdk.es196.js +75 -331
  429. package/dist/es/standards-sdk.es196.js.map +1 -1
  430. package/dist/es/standards-sdk.es197.js +44 -76
  431. package/dist/es/standards-sdk.es197.js.map +1 -1
  432. package/dist/es/standards-sdk.es198.js +30 -67
  433. package/dist/es/standards-sdk.es198.js.map +1 -1
  434. package/dist/es/standards-sdk.es199.js +30 -139
  435. package/dist/es/standards-sdk.es199.js.map +1 -1
  436. package/dist/es/standards-sdk.es2.js +2 -2
  437. package/dist/es/standards-sdk.es20.js +1 -1
  438. package/dist/es/standards-sdk.es200.js +34 -517
  439. package/dist/es/standards-sdk.es200.js.map +1 -1
  440. package/dist/es/standards-sdk.es201.js +48 -259
  441. package/dist/es/standards-sdk.es201.js.map +1 -1
  442. package/dist/es/standards-sdk.es202.js +127 -185
  443. package/dist/es/standards-sdk.es202.js.map +1 -1
  444. package/dist/es/standards-sdk.es203.js +36 -113
  445. package/dist/es/standards-sdk.es203.js.map +1 -1
  446. package/dist/es/standards-sdk.es204.js +12464 -134
  447. package/dist/es/standards-sdk.es204.js.map +1 -1
  448. package/dist/es/standards-sdk.es205.js +14 -181
  449. package/dist/es/standards-sdk.es205.js.map +1 -1
  450. package/dist/es/standards-sdk.es206.js +55 -683
  451. package/dist/es/standards-sdk.es206.js.map +1 -1
  452. package/dist/es/standards-sdk.es207.js +93 -167
  453. package/dist/es/standards-sdk.es207.js.map +1 -1
  454. package/dist/es/standards-sdk.es208.js +71 -225
  455. package/dist/es/standards-sdk.es208.js.map +1 -1
  456. package/dist/es/standards-sdk.es209.js +176 -215
  457. package/dist/es/standards-sdk.es209.js.map +1 -1
  458. package/dist/es/standards-sdk.es21.js +1 -1
  459. package/dist/es/standards-sdk.es210.js +675 -0
  460. package/dist/es/standards-sdk.es210.js.map +1 -0
  461. package/dist/es/standards-sdk.es211.js +76 -0
  462. package/dist/es/standards-sdk.es211.js.map +1 -0
  463. package/dist/es/standards-sdk.es212.js +175 -0
  464. package/dist/es/standards-sdk.es212.js.map +1 -0
  465. package/dist/es/standards-sdk.es213.js +325 -0
  466. package/dist/es/standards-sdk.es213.js.map +1 -0
  467. package/dist/es/standards-sdk.es214.js +349 -0
  468. package/dist/es/standards-sdk.es214.js.map +1 -0
  469. package/dist/es/standards-sdk.es215.js +456 -0
  470. package/dist/es/standards-sdk.es215.js.map +1 -0
  471. package/dist/es/standards-sdk.es216.js +334 -0
  472. package/dist/es/standards-sdk.es216.js.map +1 -0
  473. package/dist/es/standards-sdk.es217.js +79 -0
  474. package/dist/es/standards-sdk.es217.js.map +1 -0
  475. package/dist/es/standards-sdk.es218.js +142 -0
  476. package/dist/es/standards-sdk.es218.js.map +1 -0
  477. package/dist/es/standards-sdk.es219.js +520 -0
  478. package/dist/es/standards-sdk.es219.js.map +1 -0
  479. package/dist/es/standards-sdk.es22.js +1 -1
  480. package/dist/es/standards-sdk.es220.js +262 -0
  481. package/dist/es/standards-sdk.es220.js.map +1 -0
  482. package/dist/es/standards-sdk.es221.js +199 -0
  483. package/dist/es/standards-sdk.es221.js.map +1 -0
  484. package/dist/es/standards-sdk.es222.js +122 -0
  485. package/dist/es/standards-sdk.es222.js.map +1 -0
  486. package/dist/es/standards-sdk.es223.js +155 -0
  487. package/dist/es/standards-sdk.es223.js.map +1 -0
  488. package/dist/es/standards-sdk.es224.js +187 -0
  489. package/dist/es/standards-sdk.es224.js.map +1 -0
  490. package/dist/es/standards-sdk.es225.js +687 -0
  491. package/dist/es/standards-sdk.es225.js.map +1 -0
  492. package/dist/es/standards-sdk.es226.js +188 -0
  493. package/dist/es/standards-sdk.es226.js.map +1 -0
  494. package/dist/es/standards-sdk.es227.js +238 -0
  495. package/dist/es/standards-sdk.es227.js.map +1 -0
  496. package/dist/es/standards-sdk.es228.js +242 -0
  497. package/dist/es/standards-sdk.es228.js.map +1 -0
  498. package/dist/es/standards-sdk.es23.js +1 -1
  499. package/dist/es/standards-sdk.es24.js +1 -1
  500. package/dist/es/standards-sdk.es25.js +1 -1
  501. package/dist/es/standards-sdk.es26.js +1 -1
  502. package/dist/es/standards-sdk.es27.js +13 -13
  503. package/dist/es/standards-sdk.es30.js +2 -2
  504. package/dist/es/standards-sdk.es31.js +4 -4
  505. package/dist/es/standards-sdk.es32.js +1 -1
  506. package/dist/es/standards-sdk.es35.js +7 -7
  507. package/dist/es/standards-sdk.es36.js +4 -4
  508. package/dist/es/standards-sdk.es37.js +2 -2
  509. package/dist/es/standards-sdk.es38.js +2 -2
  510. package/dist/es/standards-sdk.es39.js +1 -1
  511. package/dist/es/standards-sdk.es4.js +2 -2
  512. package/dist/es/standards-sdk.es40.js +1 -1
  513. package/dist/es/standards-sdk.es41.js +2 -2
  514. package/dist/es/standards-sdk.es46.js +1 -1
  515. package/dist/es/standards-sdk.es5.js +2 -2
  516. package/dist/es/standards-sdk.es51.js +1 -1
  517. package/dist/es/standards-sdk.es53.js +1 -1
  518. package/dist/es/standards-sdk.es56.js +2 -2
  519. package/dist/es/standards-sdk.es59.js +1 -1
  520. package/dist/es/standards-sdk.es6.js +2 -2
  521. package/dist/es/standards-sdk.es60.js +1 -1
  522. package/dist/es/standards-sdk.es62.js +1 -1
  523. package/dist/es/standards-sdk.es63.js +2 -2
  524. package/dist/es/standards-sdk.es64.js +1 -1
  525. package/dist/es/standards-sdk.es65.js +1 -1
  526. package/dist/es/standards-sdk.es66.js +1 -1
  527. package/dist/es/standards-sdk.es67.js +8 -8
  528. package/dist/es/standards-sdk.es69.js +1 -1
  529. package/dist/es/standards-sdk.es7.js +1 -1
  530. package/dist/es/standards-sdk.es71.js +2 -2
  531. package/dist/es/standards-sdk.es72.js +3 -3
  532. package/dist/es/standards-sdk.es75.js +5 -5
  533. package/dist/es/standards-sdk.es76.js +3 -3
  534. package/dist/es/standards-sdk.es77.js +2 -2
  535. package/dist/es/standards-sdk.es78.js +1 -1
  536. package/dist/es/standards-sdk.es81.js +2 -2
  537. package/dist/es/standards-sdk.es83.js +2 -2
  538. package/dist/es/standards-sdk.es84.js +5 -5
  539. package/dist/es/standards-sdk.es85.js +1 -1
  540. package/dist/es/standards-sdk.es88.js +1 -1
  541. package/dist/es/standards-sdk.es89.js +2 -2
  542. package/dist/es/standards-sdk.es9.js +2 -2
  543. package/dist/es/standards-sdk.es90.js +4 -4
  544. package/dist/es/standards-sdk.es94.js +3 -3
  545. package/dist/es/standards-sdk.es96.js +2 -2
  546. package/dist/es/standards-sdk.es98.js +1 -1
  547. package/dist/es/standards-sdk.es99.js +3 -3
  548. package/package.json +1 -1
@@ -0,0 +1,334 @@
1
+ import { proto } from "@hashgraph/proto";
2
+ import { Long, FileId, ContractId } from "@hashgraph/sdk";
3
+ import { hasTransactionType } from "./standards-sdk.es217.js";
4
+ class UtilParser {
5
+ /**
6
+ * Parse Utility/System Service transaction using unified dual-branch approach
7
+ * This handles both regular transactions and signed transaction variants
8
+ */
9
+ static parseUtilTransaction(transaction, originalBytes) {
10
+ try {
11
+ if (originalBytes || transaction.toBytes) {
12
+ try {
13
+ const bytesToParse = originalBytes || transaction.toBytes();
14
+ const decoded = proto.TransactionList.decode(bytesToParse);
15
+ if (decoded.transactionList && decoded.transactionList.length > 0) {
16
+ const tx = decoded.transactionList[0];
17
+ let txBody = null;
18
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
19
+ txBody = proto.TransactionBody.decode(tx.bodyBytes);
20
+ } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
21
+ const signedTx = proto.SignedTransaction.decode(
22
+ tx.signedTransactionBytes
23
+ );
24
+ if (signedTx.bodyBytes) {
25
+ txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
26
+ }
27
+ }
28
+ if (txBody) {
29
+ const protoResult = this.parseFromProtobufTxBody(txBody);
30
+ if (protoResult.type && protoResult.type !== "UNKNOWN") {
31
+ return protoResult;
32
+ }
33
+ }
34
+ }
35
+ } catch (protoError) {
36
+ }
37
+ }
38
+ return this.parseFromTransactionInternals(transaction);
39
+ } catch (error) {
40
+ return {
41
+ type: "UNKNOWN",
42
+ humanReadableType: "Unknown Utility Transaction"
43
+ };
44
+ }
45
+ }
46
+ /**
47
+ * Parse utility transaction from protobuf TransactionBody
48
+ * Handles all utility operations from decoded protobuf data
49
+ */
50
+ static parseFromProtobufTxBody(txBody) {
51
+ if (txBody.utilPrng) {
52
+ const utilPrng = this.parseUtilPrng(txBody.utilPrng);
53
+ if (utilPrng) {
54
+ return {
55
+ type: "PRNG",
56
+ humanReadableType: "Pseudo Random Number",
57
+ utilPrng
58
+ };
59
+ }
60
+ }
61
+ if (txBody.freeze) {
62
+ const networkFreeze = this.parseNetworkFreezeFromProto(txBody.freeze);
63
+ if (networkFreeze) {
64
+ return {
65
+ type: "FREEZE",
66
+ humanReadableType: "Network Freeze",
67
+ freeze: networkFreeze
68
+ };
69
+ }
70
+ }
71
+ if (txBody.systemDelete) {
72
+ const systemDelete = this.parseSystemDeleteFromProto(txBody.systemDelete);
73
+ if (systemDelete) {
74
+ return {
75
+ type: "SYSTEMDELETE",
76
+ humanReadableType: "System Delete",
77
+ systemDelete
78
+ };
79
+ }
80
+ }
81
+ if (txBody.systemUndelete) {
82
+ const systemUndelete = this.parseSystemUndeleteFromProto(
83
+ txBody.systemUndelete
84
+ );
85
+ if (systemUndelete) {
86
+ return {
87
+ type: "SYSTEMUNDELETE",
88
+ humanReadableType: "System Undelete",
89
+ systemUndelete
90
+ };
91
+ }
92
+ }
93
+ if (txBody.nodeCreate) {
94
+ const nodeCreate = this.parseNodeCreateFromProto(txBody.nodeCreate);
95
+ if (nodeCreate) {
96
+ return {
97
+ type: "NODECREATE",
98
+ humanReadableType: "Node Create",
99
+ nodeCreate
100
+ };
101
+ }
102
+ }
103
+ if (txBody.nodeUpdate) {
104
+ const nodeUpdate = this.parseNodeUpdateFromProto(txBody.nodeUpdate);
105
+ if (nodeUpdate) {
106
+ return {
107
+ type: "NODEUPDATE",
108
+ humanReadableType: "Node Update",
109
+ nodeUpdate
110
+ };
111
+ }
112
+ }
113
+ if (txBody.nodeDelete) {
114
+ const nodeDelete = this.parseNodeDeleteFromProto(txBody.nodeDelete);
115
+ if (nodeDelete) {
116
+ return {
117
+ type: "NODEDELETE",
118
+ humanReadableType: "Node Delete",
119
+ nodeDelete
120
+ };
121
+ }
122
+ }
123
+ return {};
124
+ }
125
+ /**
126
+ * Extract utility data from Transaction internal fields
127
+ * This handles cases where data is stored in Transaction object internals
128
+ */
129
+ static parseFromTransactionInternals(transaction) {
130
+ try {
131
+ const tx = transaction;
132
+ if (hasTransactionType(transaction, "utilPrng")) {
133
+ const utilPrng = {};
134
+ if (tx._range && tx._range !== 0) {
135
+ utilPrng.range = tx._range;
136
+ }
137
+ return {
138
+ type: "PRNG",
139
+ humanReadableType: "Pseudo Random Number",
140
+ utilPrng
141
+ };
142
+ }
143
+ if (hasTransactionType(transaction, "freeze")) {
144
+ const networkFreeze = {};
145
+ if (tx._startTime) {
146
+ networkFreeze.startTime = tx._startTime.toString();
147
+ }
148
+ if (tx._endTime) {
149
+ networkFreeze.endTime = tx._endTime.toString();
150
+ }
151
+ if (tx._updateFile) {
152
+ networkFreeze.updateFile = tx._updateFile.toString();
153
+ }
154
+ if (tx._fileHash) {
155
+ networkFreeze.fileHash = Buffer.from(tx._fileHash).toString("hex");
156
+ }
157
+ if (tx._freezeType) {
158
+ networkFreeze.freezeType = tx._freezeType;
159
+ }
160
+ return {
161
+ type: "FREEZE",
162
+ humanReadableType: "Network Freeze",
163
+ freeze: networkFreeze
164
+ };
165
+ }
166
+ if (hasTransactionType(transaction, "systemDelete")) {
167
+ const systemDelete = {};
168
+ if (tx._fileId) {
169
+ systemDelete.fileId = tx._fileId.toString();
170
+ } else if (tx._contractId) {
171
+ systemDelete.contractId = tx._contractId.toString();
172
+ }
173
+ if (tx._expirationTime) {
174
+ systemDelete.expirationTime = tx._expirationTime.toString();
175
+ }
176
+ return {
177
+ type: "SYSTEMDELETE",
178
+ humanReadableType: "System Delete",
179
+ systemDelete
180
+ };
181
+ }
182
+ if (hasTransactionType(transaction, "systemUndelete")) {
183
+ const systemUndelete = {};
184
+ if (tx._fileId) {
185
+ systemUndelete.fileId = tx._fileId.toString();
186
+ } else if (tx._contractId) {
187
+ systemUndelete.contractId = tx._contractId.toString();
188
+ }
189
+ return {
190
+ type: "SYSTEMUNDELETE",
191
+ humanReadableType: "System Undelete",
192
+ systemUndelete
193
+ };
194
+ }
195
+ return {};
196
+ } catch (error) {
197
+ return {};
198
+ }
199
+ }
200
+ /**
201
+ * Parse Network Freeze from protobuf data
202
+ */
203
+ static parseNetworkFreezeFromProto(body) {
204
+ if (!body) return void 0;
205
+ const data = {};
206
+ if (body.startTime?.seconds) {
207
+ data.startTime = `${Long.fromValue(
208
+ body.startTime.seconds
209
+ ).toString()}.${body.startTime.nanos ?? 0}`;
210
+ }
211
+ if (body.updateFile) {
212
+ data.updateFile = new FileId(
213
+ body.updateFile.shardNum ?? 0,
214
+ body.updateFile.realmNum ?? 0,
215
+ body.updateFile.fileNum ?? 0
216
+ ).toString();
217
+ }
218
+ if (body.fileHash && body.fileHash.length > 0) {
219
+ data.fileHash = Buffer.from(body.fileHash).toString("hex");
220
+ }
221
+ if (body.freezeType !== void 0) {
222
+ const freezeTypes = [
223
+ "FREEZE_ONLY",
224
+ "PREPARE_UPGRADE",
225
+ "FREEZE_UPGRADE",
226
+ "FREEZE_ABORT"
227
+ ];
228
+ data.freezeType = freezeTypes[body.freezeType] || "FREEZE_ONLY";
229
+ }
230
+ return data;
231
+ }
232
+ /**
233
+ * Parse System Delete from protobuf data
234
+ */
235
+ static parseSystemDeleteFromProto(body) {
236
+ if (!body) return void 0;
237
+ const data = {};
238
+ if (body.fileID) {
239
+ data.fileId = new FileId(
240
+ body.fileID.shardNum ?? 0,
241
+ body.fileID.realmNum ?? 0,
242
+ body.fileID.fileNum ?? 0
243
+ ).toString();
244
+ } else if (body.contractID) {
245
+ data.contractId = new ContractId(
246
+ body.contractID.shardNum ?? 0,
247
+ body.contractID.realmNum ?? 0,
248
+ body.contractID.contractNum ?? 0
249
+ ).toString();
250
+ }
251
+ if (body.expirationTime?.seconds) {
252
+ data.expirationTime = Long.fromValue(
253
+ body.expirationTime.seconds
254
+ ).toString();
255
+ }
256
+ return data;
257
+ }
258
+ /**
259
+ * Parse System Undelete from protobuf data
260
+ */
261
+ static parseSystemUndeleteFromProto(body) {
262
+ if (!body) return void 0;
263
+ const data = {};
264
+ if (body.fileID) {
265
+ data.fileId = new FileId(
266
+ body.fileID.shardNum ?? 0,
267
+ body.fileID.realmNum ?? 0,
268
+ body.fileID.fileNum ?? 0
269
+ ).toString();
270
+ } else if (body.contractID) {
271
+ data.contractId = new ContractId(
272
+ body.contractID.shardNum ?? 0,
273
+ body.contractID.realmNum ?? 0,
274
+ body.contractID.contractNum ?? 0
275
+ ).toString();
276
+ }
277
+ return data;
278
+ }
279
+ /**
280
+ * Parse Node Create from protobuf data
281
+ */
282
+ static parseNodeCreateFromProto(body) {
283
+ if (!body) return void 0;
284
+ const data = {};
285
+ if (body.nodeId !== void 0) {
286
+ data.nodeId = Long.fromValue(body.nodeId).toNumber();
287
+ }
288
+ return data;
289
+ }
290
+ /**
291
+ * Parse Node Update from protobuf data
292
+ */
293
+ static parseNodeUpdateFromProto(body) {
294
+ if (!body) return void 0;
295
+ const data = {};
296
+ if (body.nodeId !== void 0) {
297
+ data.nodeId = Long.fromValue(body.nodeId).toNumber();
298
+ }
299
+ return data;
300
+ }
301
+ /**
302
+ * Parse Node Delete from protobuf data
303
+ */
304
+ static parseNodeDeleteFromProto(body) {
305
+ if (!body) return void 0;
306
+ const data = {};
307
+ if (body.nodeId !== void 0) {
308
+ data.nodeId = Long.fromValue(body.nodeId).toNumber();
309
+ }
310
+ return data;
311
+ }
312
+ static parseUtilPrng(body) {
313
+ if (!body) return void 0;
314
+ const data = {};
315
+ if (body.range && body.range !== 0) {
316
+ data.range = body.range;
317
+ }
318
+ return data;
319
+ }
320
+ static parseFreeze(body) {
321
+ return this.parseNetworkFreezeFromProto(body);
322
+ }
323
+ /**
324
+ * Parse Utility/System Service transaction from Transaction object
325
+ * This is the unified entry point that delegates to the comprehensive parsing logic
326
+ */
327
+ static parseFromTransactionObject(transaction) {
328
+ return this.parseUtilTransaction(transaction);
329
+ }
330
+ }
331
+ export {
332
+ UtilParser
333
+ };
334
+ //# sourceMappingURL=standards-sdk.es216.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standards-sdk.es216.js","sources":["../../src/utils/parsers/util-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { Transaction, Long, FileId, ContractId } from '@hashgraph/sdk';\nimport {\n UtilPrngData,\n NetworkFreezeData,\n SystemDeleteData,\n SystemUndeleteData,\n NodeCreateData,\n NodeUpdateData,\n NodeDeleteData,\n} from '../transaction-parser-types';\nimport {\n parseKey,\n extractTransactionBody,\n hasTransactionType,\n} from './parser-utils';\n\n/**\n * Utility and System Operations Parser\n *\n * Handles parsing for utility and system transaction types including:\n * - Pseudo-random number generation (PRNG)\n * - Network freeze operations\n * - System delete/undelete operations\n * - Node management operations\n * - Proper dual-branch parsing (regular vs signed transactions)\n * - Comprehensive protobuf extraction\n */\nexport class UtilParser {\n /**\n * Parse Utility/System Service transaction using unified dual-branch approach\n * This handles both regular transactions and signed transaction variants\n */\n static parseUtilTransaction(\n transaction: Transaction,\n originalBytes?: Uint8Array,\n ): {\n type?: string;\n humanReadableType?: string;\n utilPrng?: UtilPrngData;\n networkFreeze?: NetworkFreezeData;\n systemDelete?: SystemDeleteData;\n systemUndelete?: SystemUndeleteData;\n nodeCreate?: NodeCreateData;\n nodeUpdate?: NodeUpdateData;\n nodeDelete?: NodeDeleteData;\n [key: string]: unknown;\n } {\n try {\n if (originalBytes || transaction.toBytes) {\n try {\n const bytesToParse = originalBytes || transaction.toBytes();\n const decoded = proto.TransactionList.decode(bytesToParse);\n\n if (decoded.transactionList && decoded.transactionList.length > 0) {\n const tx = decoded.transactionList[0];\n let txBody: proto.ITransactionBody | null = null;\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n txBody = proto.TransactionBody.decode(tx.bodyBytes);\n } else if (\n tx.signedTransactionBytes &&\n tx.signedTransactionBytes.length > 0\n ) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n txBody = proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n if (txBody) {\n const protoResult = this.parseFromProtobufTxBody(txBody);\n if (protoResult.type && protoResult.type !== 'UNKNOWN') {\n return protoResult;\n }\n }\n }\n } catch (protoError) {}\n }\n\n return this.parseFromTransactionInternals(transaction);\n } catch (error) {\n return {\n type: 'UNKNOWN',\n humanReadableType: 'Unknown Utility Transaction',\n };\n }\n }\n\n /**\n * Parse utility transaction from protobuf TransactionBody\n * Handles all utility operations from decoded protobuf data\n */\n private static parseFromProtobufTxBody(txBody: proto.ITransactionBody): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n if (txBody.utilPrng) {\n const utilPrng = this.parseUtilPrng(txBody.utilPrng);\n if (utilPrng) {\n return {\n type: 'PRNG',\n humanReadableType: 'Pseudo Random Number',\n utilPrng,\n };\n }\n }\n\n if (txBody.freeze) {\n const networkFreeze = this.parseNetworkFreezeFromProto(txBody.freeze);\n if (networkFreeze) {\n return {\n type: 'FREEZE',\n humanReadableType: 'Network Freeze',\n freeze: networkFreeze,\n };\n }\n }\n\n if (txBody.systemDelete) {\n const systemDelete = this.parseSystemDeleteFromProto(txBody.systemDelete);\n if (systemDelete) {\n return {\n type: 'SYSTEMDELETE',\n humanReadableType: 'System Delete',\n systemDelete,\n };\n }\n }\n\n if (txBody.systemUndelete) {\n const systemUndelete = this.parseSystemUndeleteFromProto(\n txBody.systemUndelete,\n );\n if (systemUndelete) {\n return {\n type: 'SYSTEMUNDELETE',\n humanReadableType: 'System Undelete',\n systemUndelete,\n };\n }\n }\n\n if (txBody.nodeCreate) {\n const nodeCreate = this.parseNodeCreateFromProto(txBody.nodeCreate);\n if (nodeCreate) {\n return {\n type: 'NODECREATE',\n humanReadableType: 'Node Create',\n nodeCreate,\n };\n }\n }\n\n if (txBody.nodeUpdate) {\n const nodeUpdate = this.parseNodeUpdateFromProto(txBody.nodeUpdate);\n if (nodeUpdate) {\n return {\n type: 'NODEUPDATE',\n humanReadableType: 'Node Update',\n nodeUpdate,\n };\n }\n }\n\n if (txBody.nodeDelete) {\n const nodeDelete = this.parseNodeDeleteFromProto(txBody.nodeDelete);\n if (nodeDelete) {\n return {\n type: 'NODEDELETE',\n humanReadableType: 'Node Delete',\n nodeDelete,\n };\n }\n }\n\n return {};\n }\n\n /**\n * Extract utility data from Transaction internal fields\n * This handles cases where data is stored in Transaction object internals\n */\n private static parseFromTransactionInternals(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const tx = transaction as unknown as {\n _range?: number;\n _startTime?: { toString(): string };\n _endTime?: { toString(): string };\n _updateFile?: { toString(): string };\n _fileHash?: Uint8Array;\n _freezeType?: string;\n _fileId?: { toString(): string };\n _contractId?: { toString(): string };\n _expirationTime?: { toString(): string };\n _nodeId?: number;\n _accountId?: { toString(): string };\n _description?: string;\n _gossipEndpoint?: Array<unknown>;\n _serviceEndpoint?: Array<unknown>;\n _gossipCaCertificate?: Uint8Array;\n _grpcCertificateHash?: Uint8Array;\n _adminKey?: unknown;\n constructor?: { name?: string };\n };\n\n if (hasTransactionType(transaction, 'utilPrng')) {\n const utilPrng: UtilPrngData = {};\n if (tx._range && tx._range !== 0) {\n utilPrng.range = tx._range;\n }\n\n return {\n type: 'PRNG',\n humanReadableType: 'Pseudo Random Number',\n utilPrng,\n };\n }\n\n if (hasTransactionType(transaction, 'freeze')) {\n const networkFreeze: NetworkFreezeData = {};\n\n if (tx._startTime) {\n networkFreeze.startTime = tx._startTime.toString();\n }\n if (tx._endTime) {\n networkFreeze.endTime = tx._endTime.toString();\n }\n if (tx._updateFile) {\n networkFreeze.updateFile = tx._updateFile.toString();\n }\n if (tx._fileHash) {\n networkFreeze.fileHash = Buffer.from(tx._fileHash).toString('hex');\n }\n if (tx._freezeType) {\n networkFreeze.freezeType = tx._freezeType as any;\n }\n\n return {\n type: 'FREEZE',\n humanReadableType: 'Network Freeze',\n freeze: networkFreeze,\n };\n }\n\n if (hasTransactionType(transaction, 'systemDelete')) {\n const systemDelete: SystemDeleteData = {};\n\n if (tx._fileId) {\n systemDelete.fileId = tx._fileId.toString();\n } else if (tx._contractId) {\n systemDelete.contractId = tx._contractId.toString();\n }\n\n if (tx._expirationTime) {\n systemDelete.expirationTime = tx._expirationTime.toString();\n }\n\n return {\n type: 'SYSTEMDELETE',\n humanReadableType: 'System Delete',\n systemDelete,\n };\n }\n\n if (hasTransactionType(transaction, 'systemUndelete')) {\n const systemUndelete: SystemUndeleteData = {};\n\n if (tx._fileId) {\n systemUndelete.fileId = tx._fileId.toString();\n } else if (tx._contractId) {\n systemUndelete.contractId = tx._contractId.toString();\n }\n\n return {\n type: 'SYSTEMUNDELETE',\n humanReadableType: 'System Undelete',\n systemUndelete,\n };\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n\n /**\n * Parse Network Freeze from protobuf data\n */\n private static parseNetworkFreezeFromProto(\n body: proto.IFreezeTransactionBody,\n ): NetworkFreezeData | undefined {\n if (!body) return undefined;\n\n const data: NetworkFreezeData = {};\n\n if (body.startTime?.seconds) {\n data.startTime = `${Long.fromValue(\n body.startTime.seconds,\n ).toString()}.${body.startTime.nanos ?? 0}`;\n }\n\n if (body.updateFile) {\n data.updateFile = new FileId(\n body.updateFile.shardNum ?? 0,\n body.updateFile.realmNum ?? 0,\n body.updateFile.fileNum ?? 0,\n ).toString();\n }\n\n if (body.fileHash && body.fileHash.length > 0) {\n data.fileHash = Buffer.from(body.fileHash).toString('hex');\n }\n\n if (body.freezeType !== undefined) {\n const freezeTypes = [\n 'FREEZE_ONLY',\n 'PREPARE_UPGRADE',\n 'FREEZE_UPGRADE',\n 'FREEZE_ABORT',\n ];\n data.freezeType = (freezeTypes[body.freezeType] as any) || 'FREEZE_ONLY';\n }\n\n return data;\n }\n\n /**\n * Parse System Delete from protobuf data\n */\n private static parseSystemDeleteFromProto(\n body: proto.ISystemDeleteTransactionBody,\n ): SystemDeleteData | undefined {\n if (!body) return undefined;\n\n const data: SystemDeleteData = {};\n\n if (body.fileID) {\n data.fileId = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0,\n ).toString();\n } else if (body.contractID) {\n data.contractId = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n\n if (body.expirationTime?.seconds) {\n data.expirationTime = Long.fromValue(\n body.expirationTime.seconds,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Parse System Undelete from protobuf data\n */\n private static parseSystemUndeleteFromProto(\n body: proto.ISystemUndeleteTransactionBody,\n ): SystemUndeleteData | undefined {\n if (!body) return undefined;\n\n const data: SystemUndeleteData = {};\n\n if (body.fileID) {\n data.fileId = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0,\n ).toString();\n } else if (body.contractID) {\n data.contractId = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Parse Node Create from protobuf data\n */\n private static parseNodeCreateFromProto(\n body: any,\n ): NodeCreateData | undefined {\n if (!body) return undefined;\n\n const data: NodeCreateData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n /**\n * Parse Node Update from protobuf data\n */\n private static parseNodeUpdateFromProto(\n body: any,\n ): NodeUpdateData | undefined {\n if (!body) return undefined;\n\n const data: NodeUpdateData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n /**\n * Parse Node Delete from protobuf data\n */\n private static parseNodeDeleteFromProto(\n body: any,\n ): NodeDeleteData | undefined {\n if (!body) return undefined;\n\n const data: NodeDeleteData = {};\n\n if (body.nodeId !== undefined) {\n data.nodeId = Long.fromValue(body.nodeId).toNumber();\n }\n\n return data;\n }\n\n static parseUtilPrng(\n body: proto.IUtilPrngTransactionBody,\n ): UtilPrngData | undefined {\n if (!body) return undefined;\n const data: UtilPrngData = {};\n if (body.range && body.range !== 0) {\n data.range = body.range;\n }\n return data;\n }\n\n static parseFreeze(\n body: proto.IFreezeTransactionBody,\n ): NetworkFreezeData | undefined {\n return this.parseNetworkFreezeFromProto(body);\n }\n\n /**\n * Parse Utility/System Service transaction from Transaction object\n * This is the unified entry point that delegates to the comprehensive parsing logic\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n return this.parseUtilTransaction(transaction);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { proto } from "@hashgraph/proto";
2
+ import { ContractId } from "@hashgraph/sdk";
3
+ import { Buffer } from "buffer";
4
+ function parseKey(key) {
5
+ if (!key) {
6
+ return void 0;
7
+ }
8
+ if (key.contractID) {
9
+ return `ContractID: ${new ContractId(
10
+ key.contractID.shardNum ?? 0,
11
+ key.contractID.realmNum ?? 0,
12
+ key.contractID.contractNum ?? 0
13
+ ).toString()}`;
14
+ }
15
+ if (key.ed25519) {
16
+ return `ED25519: ${Buffer.from(key.ed25519).toString("hex")}`;
17
+ }
18
+ if (key.ECDSASecp256k1) {
19
+ return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(
20
+ "hex"
21
+ )}`;
22
+ }
23
+ if (key?.keyList?.keys?.length > 0) {
24
+ const keys = key.keyList.keys.map((k) => parseKey(k)).filter(Boolean);
25
+ return `KeyList (${keys.length} keys): [${keys.join(", ")}]`;
26
+ }
27
+ if (key?.thresholdKey?.keys?.keys?.length > 0) {
28
+ const keys = key.thresholdKey.keys.keys.map((k) => parseKey(k)).filter(Boolean);
29
+ return `ThresholdKey (${key.thresholdKey.threshold} of ${keys.length}): [${keys.join(", ")}]`;
30
+ }
31
+ if (key.delegatableContractId) {
32
+ return `DelegatableContractID: ${new ContractId(
33
+ key.delegatableContractId.shardNum ?? 0,
34
+ key.delegatableContractId.realmNum ?? 0,
35
+ key.delegatableContractId.contractNum ?? 0
36
+ ).toString()}`;
37
+ }
38
+ if (Object.keys(key).length === 0) {
39
+ return "Empty Key Structure";
40
+ }
41
+ return "Unknown or Unset Key Type";
42
+ }
43
+ function extractTransactionBody(transaction) {
44
+ try {
45
+ const bytes = transaction.toBytes ? transaction.toBytes() : void 0;
46
+ if (!bytes) {
47
+ return null;
48
+ }
49
+ const decoded = proto.TransactionList.decode(bytes);
50
+ if (!decoded.transactionList || decoded.transactionList.length === 0) {
51
+ return null;
52
+ }
53
+ const tx = decoded.transactionList[0];
54
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
55
+ return proto.TransactionBody.decode(tx.bodyBytes);
56
+ }
57
+ if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
58
+ const signedTx = proto.SignedTransaction.decode(
59
+ tx.signedTransactionBytes
60
+ );
61
+ if (signedTx.bodyBytes) {
62
+ return proto.TransactionBody.decode(signedTx.bodyBytes);
63
+ }
64
+ }
65
+ return null;
66
+ } catch (error) {
67
+ return null;
68
+ }
69
+ }
70
+ function hasTransactionType(transaction, transactionField) {
71
+ const txBody = extractTransactionBody(transaction);
72
+ return !!(txBody && txBody[transactionField]);
73
+ }
74
+ export {
75
+ extractTransactionBody,
76
+ hasTransactionType,
77
+ parseKey
78
+ };
79
+ //# sourceMappingURL=standards-sdk.es217.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standards-sdk.es217.js","sources":["../../src/utils/parsers/parser-utils.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Transaction } from '@hashgraph/sdk';\nimport { Buffer } from 'buffer';\n\nexport function parseKey(\n key: proto.IKey | null | undefined,\n): string | undefined {\n if (!key) {\n return undefined;\n }\n\n if (key.contractID) {\n return `ContractID: ${new ContractId(\n key.contractID.shardNum ?? 0,\n key.contractID.realmNum ?? 0,\n key.contractID.contractNum ?? 0,\n ).toString()}`;\n }\n if (key.ed25519) {\n return `ED25519: ${Buffer.from(key.ed25519).toString('hex')}`;\n }\n if (key.ECDSASecp256k1) {\n return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(\n 'hex',\n )}`;\n }\n if (key?.keyList?.keys?.length > 0) {\n const keys = key.keyList.keys.map(k => parseKey(k)).filter(Boolean);\n return `KeyList (${keys.length} keys): [${keys.join(', ')}]`;\n }\n if (key?.thresholdKey?.keys?.keys?.length > 0) {\n const keys = key.thresholdKey.keys.keys\n .map(k => parseKey(k))\n .filter(Boolean);\n return `ThresholdKey (${key.thresholdKey.threshold} of ${\n keys.length\n }): [${keys.join(', ')}]`;\n }\n if (key.delegatableContractId) {\n return `DelegatableContractID: ${new ContractId(\n key.delegatableContractId.shardNum ?? 0,\n key.delegatableContractId.realmNum ?? 0,\n key.delegatableContractId.contractNum ?? 0,\n ).toString()}`;\n }\n if (Object.keys(key).length === 0) {\n return 'Empty Key Structure';\n }\n\n return 'Unknown or Unset Key Type';\n}\n\n/**\n * Extract TransactionBody from Transaction object using protobuf parsing\n * This replaces fragile constructor name checking with reliable protobuf data\n */\nexport function extractTransactionBody(\n transaction: Transaction,\n): proto.ITransactionBody | null {\n try {\n const bytes = transaction.toBytes ? transaction.toBytes() : undefined;\n if (!bytes) {\n return null;\n }\n\n const decoded = proto.TransactionList.decode(bytes);\n if (!decoded.transactionList || decoded.transactionList.length === 0) {\n return null;\n }\n\n const tx = decoded.transactionList[0];\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n return proto.TransactionBody.decode(tx.bodyBytes);\n }\n\n if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n return proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n return null;\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Check if transaction has specific transaction type using protobuf data\n * This replaces constructor name checking with reliable protobuf field detection\n */\nexport function hasTransactionType(\n transaction: Transaction,\n transactionField: keyof proto.ITransactionBody,\n): boolean {\n const txBody = extractTransactionBody(transaction);\n return !!(txBody && txBody[transactionField]);\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SACd,KACoB;AACpB,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,IAAI,YAAY;AAClB,WAAO,eAAe,IAAI;AAAA,MACxB,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,eAAe;AAAA,IAAA,EAC9B,UAAU;AAAA,EACd;AACA,MAAI,IAAI,SAAS;AACf,WAAO,YAAY,OAAO,KAAK,IAAI,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,EAC7D;AACA,MAAI,IAAI,gBAAgB;AACtB,WAAO,oBAAoB,OAAO,KAAK,IAAI,cAAc,EAAE;AAAA,MACzD;AAAA,IAAA,CACD;AAAA,EACH;AACA,MAAI,KAAK,SAAS,MAAM,SAAS,GAAG;AAClC,UAAM,OAAO,IAAI,QAAQ,KAAK,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO;AAClE,WAAO,YAAY,KAAK,MAAM,YAAY,KAAK,KAAK,IAAI,CAAC;AAAA,EAC3D;AACA,MAAI,KAAK,cAAc,MAAM,MAAM,SAAS,GAAG;AAC7C,UAAM,OAAO,IAAI,aAAa,KAAK,KAChC,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EACpB,OAAO,OAAO;AACjB,WAAO,iBAAiB,IAAI,aAAa,SAAS,OAChD,KAAK,MACP,OAAO,KAAK,KAAK,IAAI,CAAC;AAAA,EACxB;AACA,MAAI,IAAI,uBAAuB;AAC7B,WAAO,0BAA0B,IAAI;AAAA,MACnC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,eAAe;AAAA,IAAA,EACzC,UAAU;AAAA,EACd;AACA,MAAI,OAAO,KAAK,GAAG,EAAE,WAAW,GAAG;AACjC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,SAAS,uBACd,aAC+B;AAC/B,MAAI;AACF,UAAM,QAAQ,YAAY,UAAU,YAAY,YAAY;AAC5D,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,gBAAgB,OAAO,KAAK;AAClD,QAAI,CAAC,QAAQ,mBAAmB,QAAQ,gBAAgB,WAAW,GAAG;AACpE,aAAO;AAAA,IACT;AAEA,UAAM,KAAK,QAAQ,gBAAgB,CAAC;AAEpC,QAAI,GAAG,aAAa,GAAG,UAAU,SAAS,GAAG;AAC3C,aAAO,MAAM,gBAAgB,OAAO,GAAG,SAAS;AAAA,IAClD;AAEA,QAAI,GAAG,0BAA0B,GAAG,uBAAuB,SAAS,GAAG;AACrE,YAAM,WAAW,MAAM,kBAAkB;AAAA,QACvC,GAAG;AAAA,MAAA;AAEL,UAAI,SAAS,WAAW;AACtB,eAAO,MAAM,gBAAgB,OAAO,SAAS,SAAS;AAAA,MACxD;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAMO,SAAS,mBACd,aACA,kBACS;AACT,QAAM,SAAS,uBAAuB,WAAW;AACjD,SAAO,CAAC,EAAE,UAAU,OAAO,gBAAgB;AAC7C;"}
@@ -0,0 +1,142 @@
1
+ import { Buffer } from "buffer";
2
+ import { chatHistorySnapshotResponseSchema } from "./standards-sdk.es177.js";
3
+ function identitiesMatch(a, b) {
4
+ if (!a && !b) {
5
+ return true;
6
+ }
7
+ if (!a || !b) {
8
+ return false;
9
+ }
10
+ if (a.uaid && b.uaid && a.uaid.toLowerCase() === b.uaid.toLowerCase()) {
11
+ return true;
12
+ }
13
+ if (a.ledgerAccountId && b.ledgerAccountId && a.ledgerAccountId.toLowerCase() === b.ledgerAccountId.toLowerCase()) {
14
+ return true;
15
+ }
16
+ if (a.userId && b.userId && a.userId === b.userId) {
17
+ return true;
18
+ }
19
+ if (a.email && b.email && a.email.toLowerCase() === b.email.toLowerCase()) {
20
+ return true;
21
+ }
22
+ return false;
23
+ }
24
+ async function fetchHistorySnapshot(conversationContexts, client, sessionId, options) {
25
+ if (!sessionId || sessionId.trim().length === 0) {
26
+ throw new Error("sessionId is required to fetch chat history");
27
+ }
28
+ const raw = await client.requestJson(
29
+ `/chat/session/${encodeURIComponent(sessionId)}/history`,
30
+ {
31
+ method: "GET"
32
+ }
33
+ );
34
+ const snapshot = client.parseWithSchema(
35
+ raw,
36
+ chatHistorySnapshotResponseSchema,
37
+ "chat history snapshot response"
38
+ );
39
+ return attachDecryptedHistory(
40
+ conversationContexts,
41
+ client,
42
+ sessionId,
43
+ snapshot,
44
+ options
45
+ );
46
+ }
47
+ function attachDecryptedHistory(conversationContexts, client, sessionId, snapshot, options) {
48
+ const shouldDecrypt = options?.decrypt !== void 0 ? options.decrypt : client.encryptionOptions?.autoDecryptHistory === true;
49
+ if (!shouldDecrypt) {
50
+ return snapshot;
51
+ }
52
+ const requiresContext = snapshot.history.some(
53
+ (entry) => Boolean(entry.cipherEnvelope)
54
+ );
55
+ if (!requiresContext) {
56
+ return {
57
+ ...snapshot,
58
+ decryptedHistory: snapshot.history.map((entry) => ({
59
+ entry,
60
+ plaintext: entry.content
61
+ }))
62
+ };
63
+ }
64
+ const context = resolveDecryptionContext(
65
+ conversationContexts,
66
+ client,
67
+ sessionId,
68
+ options
69
+ );
70
+ if (!context) {
71
+ throw new Error(
72
+ "Unable to decrypt chat history: encryption context unavailable"
73
+ );
74
+ }
75
+ const decryptedHistory = snapshot.history.map((entry) => ({
76
+ entry,
77
+ plaintext: decryptHistoryEntryFromContext(client, entry, context)
78
+ }));
79
+ return { ...snapshot, decryptedHistory };
80
+ }
81
+ function registerConversationContextForEncryption(conversationContexts, context) {
82
+ const normalized = {
83
+ sessionId: context.sessionId,
84
+ sharedSecret: Buffer.from(context.sharedSecret),
85
+ identity: context.identity ? { ...context.identity } : void 0
86
+ };
87
+ const entries = conversationContexts.get(context.sessionId) ?? [];
88
+ const existingIndex = entries.findIndex(
89
+ (existing) => identitiesMatch(existing.identity, normalized.identity)
90
+ );
91
+ if (existingIndex >= 0) {
92
+ entries[existingIndex] = normalized;
93
+ } else {
94
+ entries.push(normalized);
95
+ }
96
+ conversationContexts.set(context.sessionId, entries);
97
+ }
98
+ function resolveDecryptionContext(conversationContexts, client, sessionId, options) {
99
+ if (options?.sharedSecret) {
100
+ return {
101
+ sessionId,
102
+ sharedSecret: client.normalizeSharedSecret(options.sharedSecret),
103
+ identity: options.identity
104
+ };
105
+ }
106
+ const contexts = conversationContexts.get(sessionId);
107
+ if (!contexts || contexts.length === 0) {
108
+ return null;
109
+ }
110
+ if (options?.identity) {
111
+ const match = contexts.find(
112
+ (context) => identitiesMatch(context.identity, options.identity)
113
+ );
114
+ if (match) {
115
+ return match;
116
+ }
117
+ }
118
+ return contexts[0];
119
+ }
120
+ function decryptHistoryEntryFromContext(client, entry, context) {
121
+ const envelope = entry.cipherEnvelope;
122
+ if (!envelope) {
123
+ return entry.content;
124
+ }
125
+ const secret = Buffer.from(context.sharedSecret);
126
+ try {
127
+ return client.encryption.decryptCipherEnvelope({
128
+ envelope,
129
+ sharedSecret: secret
130
+ });
131
+ } catch (_error) {
132
+ return null;
133
+ }
134
+ }
135
+ export {
136
+ attachDecryptedHistory,
137
+ decryptHistoryEntryFromContext,
138
+ fetchHistorySnapshot,
139
+ registerConversationContextForEncryption,
140
+ resolveDecryptionContext
141
+ };
142
+ //# sourceMappingURL=standards-sdk.es218.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standards-sdk.es218.js","sources":["../../src/services/registry-broker/client/chat-history.ts"],"sourcesContent":["import { Buffer } from 'buffer';\nimport type {\n ChatHistoryEntry,\n ChatHistoryFetchOptions,\n ChatHistorySnapshotResponse,\n ChatHistorySnapshotWithDecryptedEntries,\n JsonValue,\n RecipientIdentity,\n} from '../types';\nimport { chatHistorySnapshotResponseSchema } from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\n\nexport interface ConversationContextInput {\n sessionId: string;\n sharedSecret: Uint8Array | Buffer;\n identity?: RecipientIdentity;\n}\n\nexport interface ConversationContextState {\n sessionId: string;\n sharedSecret: Buffer;\n identity?: RecipientIdentity;\n}\n\nfunction identitiesMatch(\n a?: RecipientIdentity,\n b?: RecipientIdentity,\n): boolean {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.uaid && b.uaid && a.uaid.toLowerCase() === b.uaid.toLowerCase()) {\n return true;\n }\n if (\n a.ledgerAccountId &&\n b.ledgerAccountId &&\n a.ledgerAccountId.toLowerCase() === b.ledgerAccountId.toLowerCase()\n ) {\n return true;\n }\n if (a.userId && b.userId && a.userId === b.userId) {\n return true;\n }\n if (a.email && b.email && a.email.toLowerCase() === b.email.toLowerCase()) {\n return true;\n }\n return false;\n}\n\nexport async function fetchHistorySnapshot(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n options?: ChatHistoryFetchOptions,\n): Promise<ChatHistorySnapshotWithDecryptedEntries> {\n if (!sessionId || sessionId.trim().length === 0) {\n throw new Error('sessionId is required to fetch chat history');\n }\n const raw = await client.requestJson<JsonValue>(\n `/chat/session/${encodeURIComponent(sessionId)}/history`,\n {\n method: 'GET',\n },\n );\n const snapshot = client.parseWithSchema(\n raw,\n chatHistorySnapshotResponseSchema,\n 'chat history snapshot response',\n );\n return attachDecryptedHistory(\n conversationContexts,\n client,\n sessionId,\n snapshot,\n options,\n );\n}\n\nexport function attachDecryptedHistory(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n snapshot: ChatHistorySnapshotResponse,\n options?: ChatHistoryFetchOptions,\n): ChatHistorySnapshotWithDecryptedEntries {\n const shouldDecrypt =\n options?.decrypt !== undefined\n ? options.decrypt\n : client.encryptionOptions?.autoDecryptHistory === true;\n if (!shouldDecrypt) {\n return snapshot;\n }\n const requiresContext = snapshot.history.some(entry =>\n Boolean(entry.cipherEnvelope),\n );\n if (!requiresContext) {\n return {\n ...snapshot,\n decryptedHistory: snapshot.history.map(entry => ({\n entry,\n plaintext: entry.content,\n })),\n };\n }\n const context = resolveDecryptionContext(\n conversationContexts,\n client,\n sessionId,\n options,\n );\n if (!context) {\n throw new Error(\n 'Unable to decrypt chat history: encryption context unavailable',\n );\n }\n const decryptedHistory = snapshot.history.map(entry => ({\n entry,\n plaintext: decryptHistoryEntryFromContext(client, entry, context),\n }));\n return { ...snapshot, decryptedHistory };\n}\n\nexport function registerConversationContextForEncryption(\n conversationContexts: Map<string, ConversationContextState[]>,\n context: ConversationContextInput,\n): void {\n const normalized: ConversationContextState = {\n sessionId: context.sessionId,\n sharedSecret: Buffer.from(context.sharedSecret),\n identity: context.identity ? { ...context.identity } : undefined,\n };\n const entries = conversationContexts.get(context.sessionId) ?? [];\n const existingIndex = entries.findIndex(existing =>\n identitiesMatch(existing.identity, normalized.identity),\n );\n if (existingIndex >= 0) {\n entries[existingIndex] = normalized;\n } else {\n entries.push(normalized);\n }\n conversationContexts.set(context.sessionId, entries);\n}\n\nexport function resolveDecryptionContext(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n options?: ChatHistoryFetchOptions,\n): ConversationContextState | null {\n if (options?.sharedSecret) {\n return {\n sessionId,\n sharedSecret: client.normalizeSharedSecret(options.sharedSecret),\n identity: options.identity,\n };\n }\n const contexts = conversationContexts.get(sessionId);\n if (!contexts || contexts.length === 0) {\n return null;\n }\n if (options?.identity) {\n const match = contexts.find(context =>\n identitiesMatch(context.identity, options.identity),\n );\n if (match) {\n return match;\n }\n }\n return contexts[0];\n}\n\nexport function decryptHistoryEntryFromContext(\n client: RegistryBrokerClient,\n entry: ChatHistoryEntry,\n context: ConversationContextState,\n): string | null {\n const envelope = entry.cipherEnvelope;\n if (!envelope) {\n return entry.content;\n }\n const secret = Buffer.from(context.sharedSecret);\n try {\n return client.encryption.decryptCipherEnvelope({\n envelope,\n sharedSecret: secret,\n });\n } catch (_error) {\n return null;\n }\n}\n"],"names":[],"mappings":"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"}