@hashgraphonline/standards-sdk 0.1.184 → 0.1.186

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 (452) hide show
  1. package/dist/browser/hcs-25/adapters/acp.d.ts +20 -0
  2. package/dist/browser/hcs-25/adapters/acp.d.ts.map +1 -0
  3. package/dist/browser/hcs-25/adapters/agentverse.d.ts +34 -0
  4. package/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -0
  5. package/dist/browser/hcs-25/adapters/availability.d.ts +22 -0
  6. package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -0
  7. package/dist/browser/hcs-25/adapters/connectivity.d.ts +25 -0
  8. package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -0
  9. package/dist/browser/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
  10. package/dist/browser/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
  11. package/dist/browser/hcs-25/adapters/ethos.d.ts +21 -0
  12. package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -0
  13. package/dist/browser/hcs-25/adapters/index.d.ts +21 -0
  14. package/dist/browser/hcs-25/adapters/index.d.ts.map +1 -0
  15. package/dist/browser/hcs-25/adapters/model-evals.d.ts +61 -0
  16. package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -0
  17. package/dist/browser/hcs-25/adapters/normalization.d.ts +20 -0
  18. package/dist/browser/hcs-25/adapters/normalization.d.ts.map +1 -0
  19. package/dist/browser/hcs-25/adapters/oss-popularity.d.ts +22 -0
  20. package/dist/browser/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
  21. package/dist/browser/hcs-25/adapters/output-verification.d.ts +27 -0
  22. package/dist/browser/hcs-25/adapters/output-verification.d.ts.map +1 -0
  23. package/dist/browser/hcs-25/adapters/simple-evals.d.ts +14 -0
  24. package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -0
  25. package/dist/browser/hcs-25/adapters/x402.d.ts +18 -0
  26. package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -0
  27. package/dist/browser/hcs-25/identifiers.d.ts +24 -0
  28. package/dist/browser/hcs-25/identifiers.d.ts.map +1 -0
  29. package/dist/browser/hcs-25/index.d.ts +6 -0
  30. package/dist/browser/hcs-25/index.d.ts.map +1 -0
  31. package/dist/browser/hcs-25/scoring.d.ts +32 -0
  32. package/dist/browser/hcs-25/scoring.d.ts.map +1 -0
  33. package/dist/browser/hcs-25/signals/index.d.ts +20 -0
  34. package/dist/browser/hcs-25/signals/index.d.ts.map +1 -0
  35. package/dist/browser/hcs-25/signals/marketplace.d.ts +296 -0
  36. package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -0
  37. package/dist/browser/hcs-25/signals/metadata.d.ts +40 -0
  38. package/dist/browser/hcs-25/signals/metadata.d.ts.map +1 -0
  39. package/dist/browser/hcs-25/signals/model-evals.d.ts +127 -0
  40. package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -0
  41. package/dist/browser/hcs-25/signals/operational.d.ts +757 -0
  42. package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -0
  43. package/dist/browser/hcs-25/signals/simple-evals.d.ts +156 -0
  44. package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -0
  45. package/dist/browser/hcs-25/types.d.ts +363 -0
  46. package/dist/browser/hcs-25/types.d.ts.map +1 -0
  47. package/dist/browser/index.d.ts +1 -0
  48. package/dist/browser/index.d.ts.map +1 -1
  49. package/dist/browser-root/hcs-25/adapters/acp.d.ts +20 -0
  50. package/dist/browser-root/hcs-25/adapters/acp.d.ts.map +1 -0
  51. package/dist/browser-root/hcs-25/adapters/agentverse.d.ts +34 -0
  52. package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -0
  53. package/dist/browser-root/hcs-25/adapters/availability.d.ts +22 -0
  54. package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -0
  55. package/dist/browser-root/hcs-25/adapters/connectivity.d.ts +25 -0
  56. package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -0
  57. package/dist/browser-root/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
  58. package/dist/browser-root/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
  59. package/dist/browser-root/hcs-25/adapters/ethos.d.ts +21 -0
  60. package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -0
  61. package/dist/browser-root/hcs-25/adapters/index.d.ts +21 -0
  62. package/dist/browser-root/hcs-25/adapters/index.d.ts.map +1 -0
  63. package/dist/browser-root/hcs-25/adapters/model-evals.d.ts +61 -0
  64. package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -0
  65. package/dist/browser-root/hcs-25/adapters/normalization.d.ts +20 -0
  66. package/dist/browser-root/hcs-25/adapters/normalization.d.ts.map +1 -0
  67. package/dist/browser-root/hcs-25/adapters/oss-popularity.d.ts +22 -0
  68. package/dist/browser-root/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
  69. package/dist/browser-root/hcs-25/adapters/output-verification.d.ts +27 -0
  70. package/dist/browser-root/hcs-25/adapters/output-verification.d.ts.map +1 -0
  71. package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts +14 -0
  72. package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -0
  73. package/dist/browser-root/hcs-25/adapters/x402.d.ts +18 -0
  74. package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -0
  75. package/dist/browser-root/hcs-25/identifiers.d.ts +24 -0
  76. package/dist/browser-root/hcs-25/identifiers.d.ts.map +1 -0
  77. package/dist/browser-root/hcs-25/index.d.ts +6 -0
  78. package/dist/browser-root/hcs-25/index.d.ts.map +1 -0
  79. package/dist/browser-root/hcs-25/scoring.d.ts +32 -0
  80. package/dist/browser-root/hcs-25/scoring.d.ts.map +1 -0
  81. package/dist/browser-root/hcs-25/signals/index.d.ts +20 -0
  82. package/dist/browser-root/hcs-25/signals/index.d.ts.map +1 -0
  83. package/dist/browser-root/hcs-25/signals/marketplace.d.ts +296 -0
  84. package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -0
  85. package/dist/browser-root/hcs-25/signals/metadata.d.ts +40 -0
  86. package/dist/browser-root/hcs-25/signals/metadata.d.ts.map +1 -0
  87. package/dist/browser-root/hcs-25/signals/model-evals.d.ts +127 -0
  88. package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -0
  89. package/dist/browser-root/hcs-25/signals/operational.d.ts +757 -0
  90. package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -0
  91. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +156 -0
  92. package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -0
  93. package/dist/browser-root/hcs-25/types.d.ts +363 -0
  94. package/dist/browser-root/hcs-25/types.d.ts.map +1 -0
  95. package/dist/browser-root/index.d.ts +1 -0
  96. package/dist/browser-root/index.d.ts.map +1 -1
  97. package/dist/cjs/hcs-25/adapters/acp.d.ts +20 -0
  98. package/dist/cjs/hcs-25/adapters/acp.d.ts.map +1 -0
  99. package/dist/cjs/hcs-25/adapters/agentverse.d.ts +34 -0
  100. package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -0
  101. package/dist/cjs/hcs-25/adapters/availability.d.ts +22 -0
  102. package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -0
  103. package/dist/cjs/hcs-25/adapters/connectivity.d.ts +25 -0
  104. package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -0
  105. package/dist/cjs/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
  106. package/dist/cjs/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
  107. package/dist/cjs/hcs-25/adapters/ethos.d.ts +21 -0
  108. package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -0
  109. package/dist/cjs/hcs-25/adapters/index.d.ts +21 -0
  110. package/dist/cjs/hcs-25/adapters/index.d.ts.map +1 -0
  111. package/dist/cjs/hcs-25/adapters/model-evals.d.ts +61 -0
  112. package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -0
  113. package/dist/cjs/hcs-25/adapters/normalization.d.ts +20 -0
  114. package/dist/cjs/hcs-25/adapters/normalization.d.ts.map +1 -0
  115. package/dist/cjs/hcs-25/adapters/oss-popularity.d.ts +22 -0
  116. package/dist/cjs/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
  117. package/dist/cjs/hcs-25/adapters/output-verification.d.ts +27 -0
  118. package/dist/cjs/hcs-25/adapters/output-verification.d.ts.map +1 -0
  119. package/dist/cjs/hcs-25/adapters/simple-evals.d.ts +14 -0
  120. package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -0
  121. package/dist/cjs/hcs-25/adapters/x402.d.ts +18 -0
  122. package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -0
  123. package/dist/cjs/hcs-25/identifiers.d.ts +24 -0
  124. package/dist/cjs/hcs-25/identifiers.d.ts.map +1 -0
  125. package/dist/cjs/hcs-25/index.d.ts +6 -0
  126. package/dist/cjs/hcs-25/index.d.ts.map +1 -0
  127. package/dist/cjs/hcs-25/scoring.d.ts +32 -0
  128. package/dist/cjs/hcs-25/scoring.d.ts.map +1 -0
  129. package/dist/cjs/hcs-25/signals/index.d.ts +20 -0
  130. package/dist/cjs/hcs-25/signals/index.d.ts.map +1 -0
  131. package/dist/cjs/hcs-25/signals/marketplace.d.ts +296 -0
  132. package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -0
  133. package/dist/cjs/hcs-25/signals/metadata.d.ts +40 -0
  134. package/dist/cjs/hcs-25/signals/metadata.d.ts.map +1 -0
  135. package/dist/cjs/hcs-25/signals/model-evals.d.ts +127 -0
  136. package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -0
  137. package/dist/cjs/hcs-25/signals/operational.d.ts +757 -0
  138. package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -0
  139. package/dist/cjs/hcs-25/signals/simple-evals.d.ts +156 -0
  140. package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -0
  141. package/dist/cjs/hcs-25/types.d.ts +363 -0
  142. package/dist/cjs/hcs-25/types.d.ts.map +1 -0
  143. package/dist/cjs/index.d.ts +1 -0
  144. package/dist/cjs/index.d.ts.map +1 -1
  145. package/dist/cjs/standards-sdk.cjs +2 -2
  146. package/dist/cjs/standards-sdk.cjs.map +1 -1
  147. package/dist/es/hcs-25/adapters/acp.d.ts +20 -0
  148. package/dist/es/hcs-25/adapters/acp.d.ts.map +1 -0
  149. package/dist/es/hcs-25/adapters/agentverse.d.ts +34 -0
  150. package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -0
  151. package/dist/es/hcs-25/adapters/availability.d.ts +22 -0
  152. package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -0
  153. package/dist/es/hcs-25/adapters/connectivity.d.ts +25 -0
  154. package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -0
  155. package/dist/es/hcs-25/adapters/erc8004-feedback.d.ts +19 -0
  156. package/dist/es/hcs-25/adapters/erc8004-feedback.d.ts.map +1 -0
  157. package/dist/es/hcs-25/adapters/ethos.d.ts +21 -0
  158. package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -0
  159. package/dist/es/hcs-25/adapters/index.d.ts +21 -0
  160. package/dist/es/hcs-25/adapters/index.d.ts.map +1 -0
  161. package/dist/es/hcs-25/adapters/model-evals.d.ts +61 -0
  162. package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -0
  163. package/dist/es/hcs-25/adapters/normalization.d.ts +20 -0
  164. package/dist/es/hcs-25/adapters/normalization.d.ts.map +1 -0
  165. package/dist/es/hcs-25/adapters/oss-popularity.d.ts +22 -0
  166. package/dist/es/hcs-25/adapters/oss-popularity.d.ts.map +1 -0
  167. package/dist/es/hcs-25/adapters/output-verification.d.ts +27 -0
  168. package/dist/es/hcs-25/adapters/output-verification.d.ts.map +1 -0
  169. package/dist/es/hcs-25/adapters/simple-evals.d.ts +14 -0
  170. package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -0
  171. package/dist/es/hcs-25/adapters/x402.d.ts +18 -0
  172. package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -0
  173. package/dist/es/hcs-25/identifiers.d.ts +24 -0
  174. package/dist/es/hcs-25/identifiers.d.ts.map +1 -0
  175. package/dist/es/hcs-25/index.d.ts +6 -0
  176. package/dist/es/hcs-25/index.d.ts.map +1 -0
  177. package/dist/es/hcs-25/scoring.d.ts +32 -0
  178. package/dist/es/hcs-25/scoring.d.ts.map +1 -0
  179. package/dist/es/hcs-25/signals/index.d.ts +20 -0
  180. package/dist/es/hcs-25/signals/index.d.ts.map +1 -0
  181. package/dist/es/hcs-25/signals/marketplace.d.ts +296 -0
  182. package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -0
  183. package/dist/es/hcs-25/signals/metadata.d.ts +40 -0
  184. package/dist/es/hcs-25/signals/metadata.d.ts.map +1 -0
  185. package/dist/es/hcs-25/signals/model-evals.d.ts +127 -0
  186. package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -0
  187. package/dist/es/hcs-25/signals/operational.d.ts +757 -0
  188. package/dist/es/hcs-25/signals/operational.d.ts.map +1 -0
  189. package/dist/es/hcs-25/signals/simple-evals.d.ts +156 -0
  190. package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -0
  191. package/dist/es/hcs-25/types.d.ts +363 -0
  192. package/dist/es/hcs-25/types.d.ts.map +1 -0
  193. package/dist/es/index.d.ts +1 -0
  194. package/dist/es/index.d.ts.map +1 -1
  195. package/dist/es/standards-sdk.es.js +131 -40
  196. package/dist/es/standards-sdk.es.js.map +1 -1
  197. package/dist/es/standards-sdk.es101.js +2 -2
  198. package/dist/es/standards-sdk.es103.js +2 -2
  199. package/dist/es/standards-sdk.es104.js +1 -1
  200. package/dist/es/standards-sdk.es106.js +1 -1
  201. package/dist/es/standards-sdk.es108.js +2 -2
  202. package/dist/es/standards-sdk.es11.js +1 -1
  203. package/dist/es/standards-sdk.es110.js +1 -1
  204. package/dist/es/standards-sdk.es111.js +2 -2
  205. package/dist/es/standards-sdk.es115.js +3 -3
  206. package/dist/es/standards-sdk.es116.js +4 -4
  207. package/dist/es/standards-sdk.es117.js +19 -251
  208. package/dist/es/standards-sdk.es117.js.map +1 -1
  209. package/dist/es/standards-sdk.es118.js +60 -475
  210. package/dist/es/standards-sdk.es118.js.map +1 -1
  211. package/dist/es/standards-sdk.es119.js +218 -86
  212. package/dist/es/standards-sdk.es119.js.map +1 -1
  213. package/dist/es/standards-sdk.es12.js +1 -1
  214. package/dist/es/standards-sdk.es120.js +225 -159
  215. package/dist/es/standards-sdk.es120.js.map +1 -1
  216. package/dist/es/standards-sdk.es121.js +50 -33
  217. package/dist/es/standards-sdk.es121.js.map +1 -1
  218. package/dist/es/standards-sdk.es122.js +250 -10
  219. package/dist/es/standards-sdk.es122.js.map +1 -1
  220. package/dist/es/standards-sdk.es123.js +448 -152
  221. package/dist/es/standards-sdk.es123.js.map +1 -1
  222. package/dist/es/standards-sdk.es124.js +101 -25
  223. package/dist/es/standards-sdk.es124.js.map +1 -1
  224. package/dist/es/standards-sdk.es125.js +155 -17
  225. package/dist/es/standards-sdk.es125.js.map +1 -1
  226. package/dist/es/standards-sdk.es126.js +29 -155
  227. package/dist/es/standards-sdk.es126.js.map +1 -1
  228. package/dist/es/standards-sdk.es127.js +9 -198
  229. package/dist/es/standards-sdk.es127.js.map +1 -1
  230. package/dist/es/standards-sdk.es128.js +146 -754
  231. package/dist/es/standards-sdk.es128.js.map +1 -1
  232. package/dist/es/standards-sdk.es129.js +27 -11
  233. package/dist/es/standards-sdk.es129.js.map +1 -1
  234. package/dist/es/standards-sdk.es13.js +1 -1
  235. package/dist/es/standards-sdk.es130.js +19 -564
  236. package/dist/es/standards-sdk.es130.js.map +1 -1
  237. package/dist/es/standards-sdk.es131.js +140 -606
  238. package/dist/es/standards-sdk.es131.js.map +1 -1
  239. package/dist/es/standards-sdk.es132.js +200 -12
  240. package/dist/es/standards-sdk.es132.js.map +1 -1
  241. package/dist/es/standards-sdk.es133.js +790 -2
  242. package/dist/es/standards-sdk.es133.js.map +1 -1
  243. package/dist/es/standards-sdk.es134.js +10 -84
  244. package/dist/es/standards-sdk.es134.js.map +1 -1
  245. package/dist/es/standards-sdk.es135.js +567 -40
  246. package/dist/es/standards-sdk.es135.js.map +1 -1
  247. package/dist/es/standards-sdk.es136.js +626 -2
  248. package/dist/es/standards-sdk.es136.js.map +1 -1
  249. package/dist/es/standards-sdk.es137.js +12 -234
  250. package/dist/es/standards-sdk.es137.js.map +1 -1
  251. package/dist/es/standards-sdk.es138.js +2 -1140
  252. package/dist/es/standards-sdk.es138.js.map +1 -1
  253. package/dist/es/standards-sdk.es139.js +73 -292
  254. package/dist/es/standards-sdk.es139.js.map +1 -1
  255. package/dist/es/standards-sdk.es14.js +1 -1
  256. package/dist/es/standards-sdk.es140.js +36 -418
  257. package/dist/es/standards-sdk.es140.js.map +1 -1
  258. package/dist/es/standards-sdk.es141.js +2 -355
  259. package/dist/es/standards-sdk.es141.js.map +1 -1
  260. package/dist/es/standards-sdk.es142.js +198 -1085
  261. package/dist/es/standards-sdk.es142.js.map +1 -1
  262. package/dist/es/standards-sdk.es143.js +1107 -175
  263. package/dist/es/standards-sdk.es143.js.map +1 -1
  264. package/dist/es/standards-sdk.es144.js +218 -1479
  265. package/dist/es/standards-sdk.es144.js.map +1 -1
  266. package/dist/es/standards-sdk.es145.js +419 -1154
  267. package/dist/es/standards-sdk.es145.js.map +1 -1
  268. package/dist/es/standards-sdk.es146.js +351 -13
  269. package/dist/es/standards-sdk.es146.js.map +1 -1
  270. package/dist/es/standards-sdk.es147.js +1077 -214
  271. package/dist/es/standards-sdk.es147.js.map +1 -1
  272. package/dist/es/standards-sdk.es148.js +208 -4
  273. package/dist/es/standards-sdk.es148.js.map +1 -1
  274. package/dist/es/standards-sdk.es149.js +1564 -78
  275. package/dist/es/standards-sdk.es149.js.map +1 -1
  276. package/dist/es/standards-sdk.es15.js +1 -1
  277. package/dist/es/standards-sdk.es150.js +1153 -83
  278. package/dist/es/standards-sdk.es150.js.map +1 -1
  279. package/dist/es/standards-sdk.es151.js +15 -58
  280. package/dist/es/standards-sdk.es151.js.map +1 -1
  281. package/dist/es/standards-sdk.es152.js +259 -2547
  282. package/dist/es/standards-sdk.es152.js.map +1 -1
  283. package/dist/es/standards-sdk.es153.js +4 -159
  284. package/dist/es/standards-sdk.es153.js.map +1 -1
  285. package/dist/es/standards-sdk.es154.js +81 -7
  286. package/dist/es/standards-sdk.es154.js.map +1 -1
  287. package/dist/es/standards-sdk.es155.js +79 -78
  288. package/dist/es/standards-sdk.es155.js.map +1 -1
  289. package/dist/es/standards-sdk.es156.js +56 -61
  290. package/dist/es/standards-sdk.es156.js.map +1 -1
  291. package/dist/es/standards-sdk.es157.js +2547 -30
  292. package/dist/es/standards-sdk.es157.js.map +1 -1
  293. package/dist/es/standards-sdk.es158.js +159 -34
  294. package/dist/es/standards-sdk.es158.js.map +1 -1
  295. package/dist/es/standards-sdk.es159.js +7 -48
  296. package/dist/es/standards-sdk.es159.js.map +1 -1
  297. package/dist/es/standards-sdk.es16.js +5 -5
  298. package/dist/es/standards-sdk.es160.js +70 -122
  299. package/dist/es/standards-sdk.es160.js.map +1 -1
  300. package/dist/es/standards-sdk.es161.js +58 -35
  301. package/dist/es/standards-sdk.es161.js.map +1 -1
  302. package/dist/es/standards-sdk.es162.js +190 -12478
  303. package/dist/es/standards-sdk.es162.js.map +1 -1
  304. package/dist/es/standards-sdk.es163.js +22 -52
  305. package/dist/es/standards-sdk.es163.js.map +1 -1
  306. package/dist/es/standards-sdk.es164.js +54 -107
  307. package/dist/es/standards-sdk.es164.js.map +1 -1
  308. package/dist/es/standards-sdk.es165.js +90 -76
  309. package/dist/es/standards-sdk.es165.js.map +1 -1
  310. package/dist/es/standards-sdk.es166.js +46 -197
  311. package/dist/es/standards-sdk.es166.js.map +1 -1
  312. package/dist/es/standards-sdk.es167.js +203 -16
  313. package/dist/es/standards-sdk.es167.js.map +1 -1
  314. package/dist/es/standards-sdk.es168.js +54 -670
  315. package/dist/es/standards-sdk.es168.js.map +1 -1
  316. package/dist/es/standards-sdk.es169.js +44 -167
  317. package/dist/es/standards-sdk.es169.js.map +1 -1
  318. package/dist/es/standards-sdk.es170.js +55 -321
  319. package/dist/es/standards-sdk.es170.js.map +1 -1
  320. package/dist/es/standards-sdk.es171.js +45 -342
  321. package/dist/es/standards-sdk.es171.js.map +1 -1
  322. package/dist/es/standards-sdk.es172.js +115 -446
  323. package/dist/es/standards-sdk.es172.js.map +1 -1
  324. package/dist/es/standards-sdk.es173.js +51 -328
  325. package/dist/es/standards-sdk.es173.js.map +1 -1
  326. package/dist/es/standards-sdk.es174.js +42 -74
  327. package/dist/es/standards-sdk.es174.js.map +1 -1
  328. package/dist/es/standards-sdk.es175.js +72 -73
  329. package/dist/es/standards-sdk.es175.js.map +1 -1
  330. package/dist/es/standards-sdk.es176.js +68 -139
  331. package/dist/es/standards-sdk.es176.js.map +1 -1
  332. package/dist/es/standards-sdk.es177.js +44 -517
  333. package/dist/es/standards-sdk.es177.js.map +1 -1
  334. package/dist/es/standards-sdk.es178.js +33 -256
  335. package/dist/es/standards-sdk.es178.js.map +1 -1
  336. package/dist/es/standards-sdk.es179.js +30 -196
  337. package/dist/es/standards-sdk.es179.js.map +1 -1
  338. package/dist/es/standards-sdk.es18.js +12 -12
  339. package/dist/es/standards-sdk.es180.js +34 -119
  340. package/dist/es/standards-sdk.es180.js.map +1 -1
  341. package/dist/es/standards-sdk.es181.js +48 -152
  342. package/dist/es/standards-sdk.es181.js.map +1 -1
  343. package/dist/es/standards-sdk.es182.js +126 -172
  344. package/dist/es/standards-sdk.es182.js.map +1 -1
  345. package/dist/es/standards-sdk.es183.js +34 -676
  346. package/dist/es/standards-sdk.es183.js.map +1 -1
  347. package/dist/es/standards-sdk.es184.js +12453 -156
  348. package/dist/es/standards-sdk.es184.js.map +1 -1
  349. package/dist/es/standards-sdk.es185.js +14 -232
  350. package/dist/es/standards-sdk.es185.js.map +1 -1
  351. package/dist/es/standards-sdk.es186.js +642 -209
  352. package/dist/es/standards-sdk.es186.js.map +1 -1
  353. package/dist/es/standards-sdk.es187.js +114 -0
  354. package/dist/es/standards-sdk.es187.js.map +1 -0
  355. package/dist/es/standards-sdk.es188.js +76 -0
  356. package/dist/es/standards-sdk.es188.js.map +1 -0
  357. package/dist/es/standards-sdk.es189.js +59 -0
  358. package/dist/es/standards-sdk.es189.js.map +1 -0
  359. package/dist/es/standards-sdk.es19.js +9 -9
  360. package/dist/es/standards-sdk.es190.js +84 -0
  361. package/dist/es/standards-sdk.es190.js.map +1 -0
  362. package/dist/es/standards-sdk.es191.js +203 -0
  363. package/dist/es/standards-sdk.es191.js.map +1 -0
  364. package/dist/es/standards-sdk.es192.js +175 -0
  365. package/dist/es/standards-sdk.es192.js.map +1 -0
  366. package/dist/es/standards-sdk.es193.js +325 -0
  367. package/dist/es/standards-sdk.es193.js.map +1 -0
  368. package/dist/es/standards-sdk.es194.js +349 -0
  369. package/dist/es/standards-sdk.es194.js.map +1 -0
  370. package/dist/es/standards-sdk.es195.js +456 -0
  371. package/dist/es/standards-sdk.es195.js.map +1 -0
  372. package/dist/es/standards-sdk.es196.js +334 -0
  373. package/dist/es/standards-sdk.es196.js.map +1 -0
  374. package/dist/es/standards-sdk.es197.js +79 -0
  375. package/dist/es/standards-sdk.es197.js.map +1 -0
  376. package/dist/es/standards-sdk.es198.js +142 -0
  377. package/dist/es/standards-sdk.es198.js.map +1 -0
  378. package/dist/es/standards-sdk.es199.js +520 -0
  379. package/dist/es/standards-sdk.es199.js.map +1 -0
  380. package/dist/es/standards-sdk.es2.js +2 -2
  381. package/dist/es/standards-sdk.es20.js +1 -1
  382. package/dist/es/standards-sdk.es200.js +262 -0
  383. package/dist/es/standards-sdk.es200.js.map +1 -0
  384. package/dist/es/standards-sdk.es201.js +199 -0
  385. package/dist/es/standards-sdk.es201.js.map +1 -0
  386. package/dist/es/standards-sdk.es202.js +122 -0
  387. package/dist/es/standards-sdk.es202.js.map +1 -0
  388. package/dist/es/standards-sdk.es203.js +155 -0
  389. package/dist/es/standards-sdk.es203.js.map +1 -0
  390. package/dist/es/standards-sdk.es204.js +187 -0
  391. package/dist/es/standards-sdk.es204.js.map +1 -0
  392. package/dist/es/standards-sdk.es205.js +687 -0
  393. package/dist/es/standards-sdk.es205.js.map +1 -0
  394. package/dist/es/standards-sdk.es206.js +188 -0
  395. package/dist/es/standards-sdk.es206.js.map +1 -0
  396. package/dist/es/standards-sdk.es207.js +238 -0
  397. package/dist/es/standards-sdk.es207.js.map +1 -0
  398. package/dist/es/standards-sdk.es208.js +242 -0
  399. package/dist/es/standards-sdk.es208.js.map +1 -0
  400. package/dist/es/standards-sdk.es21.js +1 -1
  401. package/dist/es/standards-sdk.es22.js +1 -1
  402. package/dist/es/standards-sdk.es23.js +1 -1
  403. package/dist/es/standards-sdk.es24.js +1 -1
  404. package/dist/es/standards-sdk.es25.js +1 -1
  405. package/dist/es/standards-sdk.es26.js +1 -1
  406. package/dist/es/standards-sdk.es27.js +12 -12
  407. package/dist/es/standards-sdk.es30.js +2 -2
  408. package/dist/es/standards-sdk.es31.js +4 -4
  409. package/dist/es/standards-sdk.es32.js +1 -1
  410. package/dist/es/standards-sdk.es35.js +6 -6
  411. package/dist/es/standards-sdk.es36.js +4 -4
  412. package/dist/es/standards-sdk.es37.js +2 -2
  413. package/dist/es/standards-sdk.es38.js +2 -2
  414. package/dist/es/standards-sdk.es39.js +1 -1
  415. package/dist/es/standards-sdk.es4.js +2 -2
  416. package/dist/es/standards-sdk.es40.js +1 -1
  417. package/dist/es/standards-sdk.es41.js +2 -2
  418. package/dist/es/standards-sdk.es46.js +1 -1
  419. package/dist/es/standards-sdk.es5.js +2 -2
  420. package/dist/es/standards-sdk.es51.js +1 -1
  421. package/dist/es/standards-sdk.es53.js +1 -1
  422. package/dist/es/standards-sdk.es56.js +2 -2
  423. package/dist/es/standards-sdk.es59.js +1 -1
  424. package/dist/es/standards-sdk.es6.js +2 -2
  425. package/dist/es/standards-sdk.es60.js +1 -1
  426. package/dist/es/standards-sdk.es62.js +1 -1
  427. package/dist/es/standards-sdk.es63.js +2 -2
  428. package/dist/es/standards-sdk.es64.js +1 -1
  429. package/dist/es/standards-sdk.es65.js +1 -1
  430. package/dist/es/standards-sdk.es66.js +1 -1
  431. package/dist/es/standards-sdk.es67.js +7 -7
  432. package/dist/es/standards-sdk.es69.js +1 -1
  433. package/dist/es/standards-sdk.es7.js +1 -1
  434. package/dist/es/standards-sdk.es71.js +2 -2
  435. package/dist/es/standards-sdk.es72.js +3 -3
  436. package/dist/es/standards-sdk.es75.js +5 -5
  437. package/dist/es/standards-sdk.es76.js +3 -3
  438. package/dist/es/standards-sdk.es77.js +2 -2
  439. package/dist/es/standards-sdk.es78.js +1 -1
  440. package/dist/es/standards-sdk.es81.js +2 -2
  441. package/dist/es/standards-sdk.es83.js +2 -2
  442. package/dist/es/standards-sdk.es84.js +4 -4
  443. package/dist/es/standards-sdk.es85.js +1 -1
  444. package/dist/es/standards-sdk.es88.js +1 -1
  445. package/dist/es/standards-sdk.es89.js +2 -2
  446. package/dist/es/standards-sdk.es9.js +2 -2
  447. package/dist/es/standards-sdk.es90.js +4 -4
  448. package/dist/es/standards-sdk.es94.js +3 -3
  449. package/dist/es/standards-sdk.es96.js +2 -2
  450. package/dist/es/standards-sdk.es98.js +1 -1
  451. package/dist/es/standards-sdk.es99.js +3 -3
  452. package/package.json +1 -1
@@ -1,187 +1,141 @@
1
- import { creditBalanceResponseSchema, creditProvidersResponseSchema, hbarPurchaseIntentResponseSchema, creditPurchaseResponseSchema, x402MinimumsResponseSchema, x402CreditPurchaseResponseSchema } from "./standards-sdk.es152.js";
2
- import { normalizeHexPrivateKey } from "./standards-sdk.es186.js";
3
- import { optionalImport } from "./standards-sdk.es164.js";
4
- async function getCreditsBalance(client, params = {}) {
5
- const query = new URLSearchParams();
6
- const normalizedAccountId = params.accountId?.trim();
7
- if (normalizedAccountId) {
8
- query.set("accountId", normalizedAccountId);
1
+ import { AccountId, Client, PrivateKey } from "@hashgraph/sdk";
2
+ import { detectKeyTypeFromString } from "./standards-sdk.es136.js";
3
+ class NodeOperatorResolver {
4
+ constructor(params) {
5
+ this.mirror = params.mirrorNode;
6
+ this.logger = params.logger;
9
7
  }
10
- const suffix = query.size > 0 ? `?${query.toString()}` : "";
11
- const raw = await client.requestJson(`/credits/balance${suffix}`, {
12
- method: "GET"
13
- });
14
- return client.parseWithSchema(
15
- raw,
16
- creditBalanceResponseSchema,
17
- "credit balance response"
18
- );
19
- }
20
- async function getCreditProviders(client) {
21
- const raw = await client.requestJson("/credits/providers", {
22
- method: "GET"
23
- });
24
- return client.parseWithSchema(
25
- raw,
26
- creditProvidersResponseSchema,
27
- "credit providers response"
28
- );
29
- }
30
- async function createHbarPurchaseIntent(client, payload) {
31
- const body = {};
32
- const normalizedAccountId = payload.accountId?.trim();
33
- if (normalizedAccountId) {
34
- body.accountId = normalizedAccountId;
35
- }
36
- if (payload.credits !== void 0) {
37
- body.credits = payload.credits;
38
- }
39
- if (payload.hbarAmount !== void 0) {
40
- body.hbarAmount = payload.hbarAmount;
41
- }
42
- if (payload.memo?.trim()) {
43
- body.memo = payload.memo.trim();
8
+ /**
9
+ * Best-guess parsing for an operator key without network calls.
10
+ * - If PrivateKey: returns immediately with provided or fallback type.
11
+ * - If string with explicitType: parse directly.
12
+ * - If string without type: detect format; fallback to ECDSA.
13
+ */
14
+ bestGuessOperatorKey(operatorKeyInput, explicitType) {
15
+ if (typeof operatorKeyInput !== "string") {
16
+ return { keyType: explicitType || "ecdsa", privateKey: operatorKeyInput };
17
+ }
18
+ if (explicitType) {
19
+ const pk = explicitType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
20
+ return { keyType: explicitType, privateKey: pk };
21
+ }
22
+ try {
23
+ const detected = detectKeyTypeFromString(operatorKeyInput);
24
+ return {
25
+ keyType: detected.detectedType,
26
+ privateKey: detected.privateKey
27
+ };
28
+ } catch {
29
+ return {
30
+ keyType: "ecdsa",
31
+ privateKey: PrivateKey.fromStringECDSA(operatorKeyInput)
32
+ };
33
+ }
44
34
  }
45
- const raw = await client.requestJson(
46
- "/credits/payments/hbar/intent",
47
- {
48
- method: "POST",
49
- headers: { "content-type": "application/json" },
50
- body
35
+ /**
36
+ * Resolve an operator key using Mirror Node for key type when possible.
37
+ * - If PrivateKey: return immediately.
38
+ * - If explicitType: parse directly.
39
+ * - Else: query Mirror Node; fallback to local detection.
40
+ */
41
+ async resolveOperatorKey(operatorId, operatorKeyInput, explicitType) {
42
+ if (typeof operatorKeyInput !== "string") {
43
+ return { keyType: explicitType || "ecdsa", privateKey: operatorKeyInput };
44
+ }
45
+ if (explicitType) {
46
+ const pk = explicitType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
47
+ return { keyType: explicitType, privateKey: pk };
48
+ }
49
+ const account = typeof operatorId === "string" ? operatorId : operatorId.toString();
50
+ try {
51
+ const info = await this.mirror.requestAccount(account);
52
+ const t = info?.key?._type || "";
53
+ const keyType = t.includes("ED25519") ? "ed25519" : "ecdsa";
54
+ const privateKey = keyType === "ed25519" ? PrivateKey.fromStringED25519(operatorKeyInput) : PrivateKey.fromStringECDSA(operatorKeyInput);
55
+ return { keyType, privateKey };
56
+ } catch {
57
+ this.logger.warn(
58
+ "Mirror node key detection failed; using local detection or default ECDSA"
59
+ );
60
+ return this.bestGuessOperatorKey(operatorKeyInput);
51
61
  }
52
- );
53
- return client.parseWithSchema(
54
- raw,
55
- hbarPurchaseIntentResponseSchema,
56
- "hbar purchase intent response"
57
- );
58
- }
59
- async function loadX402Dependencies(client) {
60
- const [{ default: axios }, x402Axios, x402Types] = await Promise.all([
61
- import("axios"),
62
- optionalImport("x402-axios"),
63
- optionalImport("x402/types")
64
- ]);
65
- if (!x402Axios || !x402Types) {
66
- throw new Error(
67
- "x402-axios and x402/types are required for X402 flows. Install them to enable ledger payments."
68
- );
69
62
  }
70
- const withPaymentInterceptor = x402Axios.withPaymentInterceptor;
71
- const decodePaymentResponse = x402Axios.decodeXPaymentResponse;
72
- const createX402Signer = x402Types.createSigner;
73
- const createPaymentClient = (walletClient) => {
74
- const axiosClient = axios.create({
75
- baseURL: client.baseUrl,
76
- headers: {
77
- ...client.getDefaultHeaders(),
78
- "content-type": "application/json"
63
+ /**
64
+ * Resolve a supply key for the given token using Mirror Node token supply_key._type when possible.
65
+ */
66
+ async resolveSupplyKey(tokenId, keyInput, fallbackType, explicitType) {
67
+ try {
68
+ const info = await this.mirror.getTokenInfo(tokenId);
69
+ const t = info?.supply_key?._type || "";
70
+ if (typeof keyInput !== "string") {
71
+ return keyInput;
79
72
  }
80
- });
81
- const paymentClient = withPaymentInterceptor(axiosClient, walletClient);
82
- return paymentClient;
83
- };
84
- return { createPaymentClient, decodePaymentResponse, createX402Signer };
85
- }
86
- function calculateHbarAmountParam(hbarAmount) {
87
- const tinybars = Math.ceil(hbarAmount * 1e8);
88
- if (tinybars <= 0) {
89
- throw new Error("Calculated purchase amount must be positive");
73
+ if (explicitType) {
74
+ return explicitType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
75
+ }
76
+ if (t.includes("ED25519")) {
77
+ return PrivateKey.fromStringED25519(keyInput);
78
+ }
79
+ if (t.includes("ECDSA")) {
80
+ return PrivateKey.fromStringECDSA(keyInput);
81
+ }
82
+ return fallbackType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
83
+ } catch {
84
+ if (typeof keyInput !== "string") {
85
+ return keyInput;
86
+ }
87
+ if (explicitType) {
88
+ return explicitType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
89
+ }
90
+ return fallbackType === "ed25519" ? PrivateKey.fromStringED25519(keyInput) : PrivateKey.fromStringECDSA(keyInput);
91
+ }
90
92
  }
91
- return tinybars / 1e8;
92
93
  }
93
- async function purchaseCreditsWithHbar(client, params) {
94
- const body = {
95
- accountId: params.accountId,
96
- payerKey: params.privateKey,
97
- hbarAmount: calculateHbarAmountParam(params.hbarAmount)
98
- };
99
- if (params.memo) {
100
- body.memo = params.memo;
101
- }
102
- if (params.metadata) {
103
- body.metadata = params.metadata;
104
- }
105
- const raw = await client.requestJson("/credits/purchase", {
106
- method: "POST",
107
- headers: { "content-type": "application/json" },
108
- body
94
+ function createNodeOperatorContext(params) {
95
+ const operatorId = typeof params.operatorId === "string" ? AccountId.fromString(params.operatorId) : params.operatorId;
96
+ const client = params.client ? params.client : params.network === "mainnet" ? Client.forMainnet() : Client.forTestnet();
97
+ const resolver = new NodeOperatorResolver({
98
+ mirrorNode: params.mirrorNode,
99
+ logger: params.logger
109
100
  });
110
- return client.parseWithSchema(
111
- raw,
112
- creditPurchaseResponseSchema,
113
- "credit purchase response"
101
+ let currentKeyType;
102
+ let currentPrivateKey;
103
+ const guess = resolver.bestGuessOperatorKey(
104
+ params.operatorKey,
105
+ params.keyType
114
106
  );
115
- }
116
- async function getX402Minimums(client) {
117
- const raw = await client.requestJson(
118
- "/credits/purchase/x402/minimums",
119
- { method: "GET" }
120
- );
121
- return client.parseWithSchema(
122
- raw,
123
- x402MinimumsResponseSchema,
124
- "x402 minimums response"
125
- );
126
- }
127
- async function purchaseCreditsWithX402(client, params) {
128
- const { createPaymentClient, decodePaymentResponse } = await loadX402Dependencies(client);
129
- if (!Number.isFinite(params.credits) || params.credits <= 0) {
130
- throw new Error("credits must be a positive number");
131
- }
132
- if (params.usdAmount !== void 0 && (!Number.isFinite(params.usdAmount) || params.usdAmount <= 0)) {
133
- throw new Error("usdAmount must be a positive number when provided");
134
- }
135
- const body = {
136
- accountId: params.accountId,
137
- credits: params.credits
138
- };
139
- if (params.usdAmount !== void 0) {
140
- body.usdAmount = params.usdAmount;
141
- }
142
- if (params.description) {
143
- body.description = params.description;
144
- }
145
- if (params.metadata) {
146
- body.metadata = params.metadata;
147
- }
148
- const paymentClient = createPaymentClient(params.walletClient);
149
- const response = await paymentClient.post("/credits/purchase/x402", body);
150
- const parsed = client.parseWithSchema(
151
- response.data,
152
- x402CreditPurchaseResponseSchema,
153
- "x402 credit purchase response"
154
- );
155
- const responseHeaders = response.headers ?? {};
156
- const paymentHeader = typeof responseHeaders["x-payment-response"] === "string" ? responseHeaders["x-payment-response"] : void 0;
157
- const decodedPayment = paymentHeader !== void 0 ? decodePaymentResponse(paymentHeader) : void 0;
107
+ currentKeyType = guess.keyType;
108
+ currentPrivateKey = guess.privateKey;
109
+ client.setOperator(operatorId.toString(), currentPrivateKey);
110
+ const initPromise = (async () => {
111
+ try {
112
+ const resolved = await resolver.resolveOperatorKey(
113
+ operatorId,
114
+ params.operatorKey,
115
+ params.keyType
116
+ );
117
+ currentKeyType = resolved.keyType;
118
+ currentPrivateKey = resolved.privateKey;
119
+ client.setOperator(operatorId.toString(), currentPrivateKey);
120
+ } catch {
121
+ }
122
+ })();
158
123
  return {
159
- ...parsed,
160
- paymentResponseHeader: paymentHeader,
161
- paymentResponse: decodedPayment
124
+ client,
125
+ operatorId,
126
+ get operatorKey() {
127
+ return currentPrivateKey;
128
+ },
129
+ get keyType() {
130
+ return currentKeyType;
131
+ },
132
+ ensureInitialized: async () => {
133
+ await initPromise;
134
+ }
162
135
  };
163
136
  }
164
- async function buyCreditsWithX402(client, params) {
165
- const network = params.network ?? "base";
166
- const { createX402Signer } = await loadX402Dependencies(client);
167
- const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);
168
- const walletClient = await createX402Signer(network, normalizedKey);
169
- return purchaseCreditsWithX402(client, {
170
- accountId: params.accountId,
171
- credits: params.credits,
172
- usdAmount: params.usdAmount,
173
- description: params.description,
174
- metadata: params.metadata,
175
- walletClient
176
- });
177
- }
178
137
  export {
179
- buyCreditsWithX402,
180
- createHbarPurchaseIntent,
181
- getCreditProviders,
182
- getCreditsBalance,
183
- getX402Minimums,
184
- purchaseCreditsWithHbar,
185
- purchaseCreditsWithX402
138
+ NodeOperatorResolver,
139
+ createNodeOperatorContext
186
140
  };
187
141
  //# sourceMappingURL=standards-sdk.es182.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es182.js","sources":["../../src/services/registry-broker/client/credits.ts"],"sourcesContent":["import type {\n CreditBalanceResponse,\n CreditProvidersResponse,\n CreditPurchaseResponse,\n HbarPurchaseIntentRequest,\n HbarPurchaseIntentResponse,\n JsonObject,\n JsonValue,\n X402CreditPurchaseResponse,\n X402MinimumsResponse,\n} from '../types';\nimport {\n creditBalanceResponseSchema,\n creditProvidersResponseSchema,\n creditPurchaseResponseSchema,\n hbarPurchaseIntentResponseSchema,\n x402CreditPurchaseResponseSchema,\n x402MinimumsResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\nimport { normalizeHexPrivateKey, type X402NetworkId } from './utils';\nimport { optionalImport } from '../../../utils/dynamic-import';\n\ntype PaymentHeaders = Record<string, string | string[] | undefined>;\ntype PaymentClient = {\n post: (\n url: string,\n body: JsonObject,\n ) => Promise<{ data: JsonValue; headers?: PaymentHeaders }>;\n};\n\nexport interface PurchaseCreditsWithX402Params {\n accountId: string;\n credits: number;\n usdAmount?: number;\n description?: string;\n metadata?: JsonObject;\n walletClient: object;\n}\n\nexport interface BuyCreditsWithX402Params {\n accountId: string;\n credits: number;\n usdAmount?: number;\n description?: string;\n metadata?: JsonObject;\n evmPrivateKey: string;\n network?: X402NetworkId;\n rpcUrl?: string;\n}\n\nexport type X402PurchaseResult = X402CreditPurchaseResponse & {\n paymentResponseHeader?: string;\n paymentResponse?: unknown;\n};\n\nexport async function getCreditsBalance(\n client: RegistryBrokerClient,\n params: { accountId?: string } = {},\n): Promise<CreditBalanceResponse> {\n const query = new URLSearchParams();\n const normalizedAccountId = params.accountId?.trim();\n if (normalizedAccountId) {\n query.set('accountId', normalizedAccountId);\n }\n const suffix = query.size > 0 ? `?${query.toString()}` : '';\n const raw = await client.requestJson<JsonValue>(`/credits/balance${suffix}`, {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n creditBalanceResponseSchema,\n 'credit balance response',\n );\n}\n\nexport async function getCreditProviders(\n client: RegistryBrokerClient,\n): Promise<CreditProvidersResponse> {\n const raw = await client.requestJson<JsonValue>('/credits/providers', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n creditProvidersResponseSchema,\n 'credit providers response',\n );\n}\n\nexport async function createHbarPurchaseIntent(\n client: RegistryBrokerClient,\n payload: HbarPurchaseIntentRequest,\n): Promise<HbarPurchaseIntentResponse> {\n const body: JsonObject = {};\n const normalizedAccountId = payload.accountId?.trim();\n if (normalizedAccountId) {\n body.accountId = normalizedAccountId;\n }\n if (payload.credits !== undefined) {\n body.credits = payload.credits;\n }\n if (payload.hbarAmount !== undefined) {\n body.hbarAmount = payload.hbarAmount;\n }\n if (payload.memo?.trim()) {\n body.memo = payload.memo.trim();\n }\n\n const raw = await client.requestJson<JsonValue>(\n '/credits/payments/hbar/intent',\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body,\n },\n );\n return client.parseWithSchema(\n raw,\n hbarPurchaseIntentResponseSchema,\n 'hbar purchase intent response',\n );\n}\n\ntype LoadX402DependenciesResult = {\n createPaymentClient: (walletClient: object) => PaymentClient;\n decodePaymentResponse: (value: string) => unknown;\n createX402Signer: (\n network: X402NetworkId,\n privateKey: `0x${string}`,\n ) => Promise<object>;\n};\n\nasync function loadX402Dependencies(\n client: RegistryBrokerClient,\n): Promise<LoadX402DependenciesResult> {\n type X402AxiosModule = {\n withPaymentInterceptor: (client: unknown, walletClient: object) => unknown;\n decodeXPaymentResponse: (value: string) => unknown;\n };\n type X402TypesModule = {\n createSigner: (\n network: X402NetworkId,\n privateKey: `0x${string}`,\n ) => Promise<object>;\n };\n\n const [{ default: axios }, x402Axios, x402Types] = await Promise.all([\n import('axios'),\n optionalImport<X402AxiosModule>('x402-axios'),\n optionalImport<X402TypesModule>('x402/types'),\n ]);\n\n if (!x402Axios || !x402Types) {\n throw new Error(\n 'x402-axios and x402/types are required for X402 flows. Install them to enable ledger payments.',\n );\n }\n\n const withPaymentInterceptor = x402Axios.withPaymentInterceptor;\n const decodePaymentResponse = x402Axios.decodeXPaymentResponse;\n const createX402Signer = x402Types.createSigner;\n\n const createPaymentClient = (walletClient: object): PaymentClient => {\n const axiosClient = axios.create({\n baseURL: client.baseUrl,\n headers: {\n ...client.getDefaultHeaders(),\n 'content-type': 'application/json',\n },\n });\n const paymentClient = withPaymentInterceptor(axiosClient, walletClient);\n return paymentClient as PaymentClient;\n };\n\n return { createPaymentClient, decodePaymentResponse, createX402Signer };\n}\n\nfunction calculateHbarAmountParam(hbarAmount: number): number {\n const tinybars = Math.ceil(hbarAmount * 1e8);\n if (tinybars <= 0) {\n throw new Error('Calculated purchase amount must be positive');\n }\n return tinybars / 1e8;\n}\n\nexport async function purchaseCreditsWithHbar(\n client: RegistryBrokerClient,\n params: {\n accountId: string;\n privateKey: string;\n hbarAmount: number;\n memo?: string;\n metadata?: JsonObject;\n },\n): Promise<CreditPurchaseResponse> {\n const body: JsonObject = {\n accountId: params.accountId,\n payerKey: params.privateKey,\n hbarAmount: calculateHbarAmountParam(params.hbarAmount),\n };\n\n if (params.memo) {\n body.memo = params.memo;\n }\n\n if (params.metadata) {\n body.metadata = params.metadata;\n }\n\n const raw = await client.requestJson<JsonValue>('/credits/purchase', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body,\n });\n\n return client.parseWithSchema(\n raw,\n creditPurchaseResponseSchema,\n 'credit purchase response',\n );\n}\n\nexport async function getX402Minimums(\n client: RegistryBrokerClient,\n): Promise<X402MinimumsResponse> {\n const raw = await client.requestJson<JsonValue>(\n '/credits/purchase/x402/minimums',\n { method: 'GET' },\n );\n return client.parseWithSchema(\n raw,\n x402MinimumsResponseSchema,\n 'x402 minimums response',\n );\n}\n\nexport async function purchaseCreditsWithX402(\n client: RegistryBrokerClient,\n params: PurchaseCreditsWithX402Params,\n): Promise<X402PurchaseResult> {\n const { createPaymentClient, decodePaymentResponse } =\n await loadX402Dependencies(client);\n\n if (!Number.isFinite(params.credits) || params.credits <= 0) {\n throw new Error('credits must be a positive number');\n }\n if (\n params.usdAmount !== undefined &&\n (!Number.isFinite(params.usdAmount) || params.usdAmount <= 0)\n ) {\n throw new Error('usdAmount must be a positive number when provided');\n }\n\n const body: JsonObject = {\n accountId: params.accountId,\n credits: params.credits,\n };\n\n if (params.usdAmount !== undefined) {\n body.usdAmount = params.usdAmount;\n }\n if (params.description) {\n body.description = params.description;\n }\n if (params.metadata) {\n body.metadata = params.metadata;\n }\n\n const paymentClient = createPaymentClient(params.walletClient);\n\n const response = await paymentClient.post('/credits/purchase/x402', body);\n\n const parsed = client.parseWithSchema(\n response.data,\n x402CreditPurchaseResponseSchema,\n 'x402 credit purchase response',\n );\n\n const responseHeaders = response.headers ?? {};\n const paymentHeader =\n typeof responseHeaders['x-payment-response'] === 'string'\n ? responseHeaders['x-payment-response']\n : undefined;\n const decodedPayment =\n paymentHeader !== undefined\n ? decodePaymentResponse(paymentHeader)\n : undefined;\n\n return {\n ...parsed,\n paymentResponseHeader: paymentHeader,\n paymentResponse: decodedPayment,\n };\n}\n\nexport async function buyCreditsWithX402(\n client: RegistryBrokerClient,\n params: BuyCreditsWithX402Params,\n): Promise<X402PurchaseResult> {\n const network: X402NetworkId = params.network ?? 'base';\n const { createX402Signer } = await loadX402Dependencies(client);\n const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);\n const walletClient = await createX402Signer(network, normalizedKey);\n\n return purchaseCreditsWithX402(client, {\n accountId: params.accountId,\n credits: params.credits,\n usdAmount: params.usdAmount,\n description: params.description,\n metadata: params.metadata,\n walletClient,\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es182.js","sources":["../../src/common/node-operator-resolver.ts"],"sourcesContent":["import { AccountId, Client, PrivateKey } from '@hashgraph/sdk';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { ILogger } from '../utils/logger';\nimport { detectKeyTypeFromString } from '../utils/key-type-detector';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Resolves operator and supply private keys using Mirror Node as source of truth\n * with format-detection fallbacks for string keys.\n */\nexport class NodeOperatorResolver {\n private readonly mirror: HederaMirrorNode;\n private readonly logger: ILogger;\n\n constructor(params: { mirrorNode: HederaMirrorNode; logger: ILogger }) {\n this.mirror = params.mirrorNode;\n this.logger = params.logger;\n }\n\n /**\n * Best-guess parsing for an operator key without network calls.\n * - If PrivateKey: returns immediately with provided or fallback type.\n * - If string with explicitType: parse directly.\n * - If string without type: detect format; fallback to ECDSA.\n */\n bestGuessOperatorKey(\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): { keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey } {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n try {\n const detected = detectKeyTypeFromString(operatorKeyInput);\n return {\n keyType: detected.detectedType,\n privateKey: detected.privateKey,\n };\n } catch {\n return {\n keyType: 'ecdsa',\n privateKey: PrivateKey.fromStringECDSA(operatorKeyInput),\n };\n }\n }\n\n /**\n * Resolve an operator key using Mirror Node for key type when possible.\n * - If PrivateKey: return immediately.\n * - If explicitType: parse directly.\n * - Else: query Mirror Node; fallback to local detection.\n */\n async resolveOperatorKey(\n operatorId: string | AccountId,\n operatorKeyInput: string | PrivateKey,\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<{ keyType: 'ed25519' | 'ecdsa'; privateKey: PrivateKey }> {\n if (typeof operatorKeyInput !== 'string') {\n return { keyType: explicitType || 'ecdsa', privateKey: operatorKeyInput };\n }\n if (explicitType) {\n const pk =\n explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType: explicitType, privateKey: pk };\n }\n const account =\n typeof operatorId === 'string' ? operatorId : operatorId.toString();\n try {\n const info = await this.mirror.requestAccount(account);\n const t = info?.key?._type || '';\n const keyType: 'ed25519' | 'ecdsa' = t.includes('ED25519')\n ? 'ed25519'\n : 'ecdsa';\n const privateKey =\n keyType === 'ed25519'\n ? PrivateKey.fromStringED25519(operatorKeyInput)\n : PrivateKey.fromStringECDSA(operatorKeyInput);\n return { keyType, privateKey };\n } catch {\n this.logger.warn(\n 'Mirror node key detection failed; using local detection or default ECDSA',\n );\n return this.bestGuessOperatorKey(operatorKeyInput);\n }\n }\n\n /**\n * Resolve a supply key for the given token using Mirror Node token supply_key._type when possible.\n */\n async resolveSupplyKey(\n tokenId: string,\n keyInput: string | PrivateKey,\n fallbackType: 'ed25519' | 'ecdsa',\n explicitType?: 'ed25519' | 'ecdsa',\n ): Promise<PrivateKey> {\n try {\n const info = await this.mirror.getTokenInfo(tokenId);\n const t = info?.supply_key?._type || '';\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n if (t.includes('ED25519')) {\n return PrivateKey.fromStringED25519(keyInput);\n }\n if (t.includes('ECDSA')) {\n return PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n } catch {\n if (typeof keyInput !== 'string') {\n return keyInput;\n }\n if (explicitType) {\n return explicitType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n return fallbackType === 'ed25519'\n ? PrivateKey.fromStringED25519(keyInput)\n : PrivateKey.fromStringECDSA(keyInput);\n }\n }\n}\n\nexport interface NodeOperatorInitParams {\n network: NetworkType;\n operatorId: string | AccountId;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n mirrorNode: HederaMirrorNode;\n logger: ILogger;\n client?: Client;\n}\n\nexport interface NodeOperatorContext {\n client: Client;\n operatorId: AccountId;\n readonly operatorKey: PrivateKey;\n readonly keyType: 'ed25519' | 'ecdsa';\n ensureInitialized(): Promise<void>;\n}\n\nexport function createNodeOperatorContext(\n params: NodeOperatorInitParams,\n): NodeOperatorContext {\n const operatorId: AccountId =\n typeof params.operatorId === 'string'\n ? AccountId.fromString(params.operatorId)\n : params.operatorId;\n\n const client: Client = params.client\n ? params.client\n : params.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet();\n\n const resolver = new NodeOperatorResolver({\n mirrorNode: params.mirrorNode,\n logger: params.logger,\n });\n\n let currentKeyType: 'ed25519' | 'ecdsa';\n let currentPrivateKey: PrivateKey;\n\n const guess = resolver.bestGuessOperatorKey(\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = guess.keyType;\n currentPrivateKey = guess.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n\n const initPromise = (async () => {\n try {\n const resolved = await resolver.resolveOperatorKey(\n operatorId,\n params.operatorKey,\n params.keyType,\n );\n currentKeyType = resolved.keyType;\n currentPrivateKey = resolved.privateKey;\n client.setOperator(operatorId.toString(), currentPrivateKey);\n } catch {}\n })();\n\n return {\n client,\n operatorId,\n get operatorKey() {\n return currentPrivateKey;\n },\n get keyType() {\n return currentKeyType;\n },\n ensureInitialized: async () => {\n await initPromise;\n },\n };\n}\n"],"names":[],"mappings":"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"}