@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
@@ -1,199 +1,141 @@
1
- import { Buffer } from "buffer";
2
- import { secp256k1 } from "@noble/curves/secp256k1.js";
3
- import { registerEncryptionKeyResponseSchema } from "./standards-sdk.es158.js";
4
- import { optionalImport } from "./standards-sdk.es187.js";
5
- const getFs = async () => {
6
- const fsModule = await optionalImport("node:fs") ?? await optionalImport("fs");
7
- if (fsModule && typeof fsModule.existsSync === "function" && typeof fsModule.readFileSync === "function" && typeof fsModule.writeFileSync === "function" && typeof fsModule.appendFileSync === "function") {
8
- return fsModule;
9
- }
10
- return null;
11
- };
12
- const getNodePath = async () => {
13
- const pathModule = await optionalImport("node:path") ?? await optionalImport("path");
14
- if (pathModule && typeof pathModule.resolve === "function") {
15
- return pathModule;
16
- }
17
- return null;
18
- };
19
- const getNodeCrypto = async () => {
20
- const cryptoModule = await optionalImport("node:crypto") ?? await optionalImport("crypto");
21
- if (cryptoModule && typeof cryptoModule.randomBytes === "function") {
22
- return cryptoModule;
23
- }
24
- return null;
25
- };
26
- async function registerEncryptionKey(client, payload) {
27
- const raw = await client.requestJson("/encryption/keys", {
28
- method: "POST",
29
- headers: { "content-type": "application/json" },
30
- body: payload
31
- });
32
- return client.parseWithSchema(
33
- raw,
34
- registerEncryptionKeyResponseSchema,
35
- "register encryption key response"
36
- );
37
- }
38
- function normalizeAutoRegisterIdentity(config) {
39
- const identity = {};
40
- if (config.uaid) {
41
- identity.uaid = config.uaid;
42
- }
43
- if (config.ledgerAccountId) {
44
- identity.ledgerAccountId = config.ledgerAccountId;
45
- if (config.ledgerNetwork) {
46
- identity.ledgerNetwork = config.ledgerNetwork;
1
+ import { AccountId, Client, PrivateKey } from "@hashgraph/sdk";
2
+ import { detectKeyTypeFromString } from "./standards-sdk.es155.js";
3
+ class NodeOperatorResolver {
4
+ constructor(params) {
5
+ this.mirror = params.mirrorNode;
6
+ this.logger = params.logger;
7
+ }
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
+ };
47
33
  }
48
34
  }
49
- if (config.email) {
50
- identity.email = config.email;
51
- }
52
- if (identity.uaid || identity.ledgerAccountId || identity.email) {
53
- return identity;
54
- }
55
- return null;
56
- }
57
- function derivePublicKeyFromPrivateKey(client, privateKey) {
58
- const normalized = client.hexToBuffer(privateKey);
59
- const publicKey = secp256k1.getPublicKey(normalized, true);
60
- return Buffer.from(publicKey).toString("hex");
61
- }
62
- async function resolveAutoRegisterKeyMaterial(client, config) {
63
- if (config.publicKey?.trim()) {
64
- return { publicKey: config.publicKey.trim() };
65
- }
66
- let privateKey = config.privateKey?.trim();
67
- const envVar = config.envVar ?? "RB_ENCRYPTION_PRIVATE_KEY";
68
- if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {
69
- privateKey = process.env[envVar]?.trim();
70
- }
71
- if (!privateKey && config.generateIfMissing) {
72
- const pair = await client.generateEncryptionKeyPair({
73
- keyType: config.keyType ?? "secp256k1",
74
- envVar,
75
- envPath: config.envPath,
76
- overwrite: config.overwriteEnv
77
- });
78
- return { publicKey: pair.publicKey, privateKey: pair.privateKey };
79
- }
80
- if (privateKey) {
81
- const publicKey = derivePublicKeyFromPrivateKey(client, privateKey);
82
- return { publicKey, privateKey };
83
- }
84
- return null;
85
- }
86
- async function autoRegisterEncryptionKey(client, config) {
87
- const identity = normalizeAutoRegisterIdentity(config);
88
- if (!identity) {
89
- throw new Error(
90
- "Auto-registration requires uaid, ledgerAccountId, or email"
91
- );
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);
61
+ }
92
62
  }
93
- const material = await resolveAutoRegisterKeyMaterial(client, config);
94
- if (!material) {
95
- throw new Error(
96
- "Unable to resolve encryption public key for auto-registration"
97
- );
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;
72
+ }
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
+ }
98
92
  }
99
- await registerEncryptionKey(client, {
100
- keyType: config.keyType ?? "secp256k1",
101
- publicKey: material.publicKey,
102
- ...identity
103
- });
104
- return material;
105
93
  }
106
- async function ensureAgentEncryptionKey(client, options) {
107
- return autoRegisterEncryptionKey(client, {
108
- ...options,
109
- uaid: options.uaid
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
110
100
  });
111
- }
112
- function createEncryptionApi(client) {
113
- return {
114
- registerKey: (payload) => registerEncryptionKey(client, payload),
115
- generateEphemeralKeyPair: () => client.createEphemeralKeyPair(),
116
- deriveSharedSecret: (options) => client.deriveSharedSecret(options),
117
- encryptCipherEnvelope: (options) => client.buildCipherEnvelope(options),
118
- decryptCipherEnvelope: (options) => client.openCipherEnvelope(options),
119
- ensureAgentKey: (options) => ensureAgentEncryptionKey(client, options)
120
- };
121
- }
122
- async function bootstrapEncryptionOptions(client, options) {
123
- if (!options?.autoRegister || options.autoRegister.enabled === false) {
124
- return null;
125
- }
126
- return autoRegisterEncryptionKey(client, options.autoRegister);
127
- }
128
- async function generateEncryptionKeyPair(client, options = {}) {
129
- client.assertNodeRuntime("generateEncryptionKeyPair");
130
- const keyType = options.keyType ?? "secp256k1";
131
- if (keyType !== "secp256k1") {
132
- throw new Error("Only secp256k1 key generation is supported currently");
133
- }
134
- const cryptoModule = await getNodeCrypto();
135
- if (!cryptoModule) {
136
- throw new Error(
137
- "Node.js crypto module is not available; cannot generate encryption key pair"
138
- );
139
- }
140
- const privateKeyBytes = cryptoModule.randomBytes(32);
141
- const privateKey = Buffer.from(privateKeyBytes).toString("hex");
142
- const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);
143
- const publicKey = Buffer.from(publicKeyBytes).toString("hex");
144
- const envVar = options.envVar ?? "RB_ENCRYPTION_PRIVATE_KEY";
145
- const pathModule = options.envPath ? await getNodePath() : null;
146
- const resolvedPath = options.envPath && pathModule ? pathModule.resolve(options.envPath) : void 0;
147
- if (options.envPath && !resolvedPath) {
148
- throw new Error(
149
- "Node.js path module is not available; cannot resolve encryption key env path"
150
- );
151
- }
152
- if (resolvedPath) {
153
- const fsModule = await getFs();
154
- if (!fsModule) {
155
- throw new Error(
156
- "File system module is not available; cannot write encryption key env file"
101
+ let currentKeyType;
102
+ let currentPrivateKey;
103
+ const guess = resolver.bestGuessOperatorKey(
104
+ params.operatorKey,
105
+ params.keyType
106
+ );
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
157
116
  );
117
+ currentKeyType = resolved.keyType;
118
+ currentPrivateKey = resolved.privateKey;
119
+ client.setOperator(operatorId.toString(), currentPrivateKey);
120
+ } catch {
158
121
  }
159
- const envLine = `${envVar}=${privateKey}`;
160
- if (fsModule.existsSync(resolvedPath)) {
161
- const content = fsModule.readFileSync(resolvedPath, "utf-8");
162
- const lineRegex = new RegExp(`^${envVar}=.*$`, "m");
163
- if (lineRegex.test(content)) {
164
- if (!options.overwrite) {
165
- throw new Error(
166
- `${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`
167
- );
168
- }
169
- const updated = content.replace(lineRegex, envLine);
170
- fsModule.writeFileSync(resolvedPath, updated);
171
- } else {
172
- const needsNewline = !content.endsWith("\n");
173
- fsModule.appendFileSync(
174
- resolvedPath,
175
- `${needsNewline ? "\n" : ""}${envLine}
176
- `
177
- );
178
- }
179
- } else {
180
- fsModule.writeFileSync(resolvedPath, `${envLine}
181
- `);
182
- }
183
- }
122
+ })();
184
123
  return {
185
- privateKey,
186
- publicKey,
187
- envPath: resolvedPath,
188
- envVar
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
+ }
189
135
  };
190
136
  }
191
137
  export {
192
- autoRegisterEncryptionKey,
193
- bootstrapEncryptionOptions,
194
- createEncryptionApi,
195
- ensureAgentEncryptionKey,
196
- generateEncryptionKeyPair,
197
- registerEncryptionKey
138
+ NodeOperatorResolver,
139
+ createNodeOperatorContext
198
140
  };
199
141
  //# sourceMappingURL=standards-sdk.es202.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es202.js","sources":["../../src/services/registry-broker/client/encryption.ts"],"sourcesContent":["import { Buffer } from 'buffer';\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nimport type {\n AutoRegisterEncryptionKeyOptions,\n CipherEnvelope,\n ClientEncryptionOptions,\n DecryptCipherEnvelopeOptions,\n DeriveSharedSecretOptions,\n EncryptCipherEnvelopeOptions,\n EphemeralKeyPair,\n EnsureAgentKeyOptions,\n RegisterEncryptionKeyPayload,\n RegisterEncryptionKeyResponse,\n SharedSecretInput,\n} from '../types';\nimport { registerEncryptionKeyResponseSchema } from '../schemas';\nimport { optionalImport } from '../../../utils/dynamic-import';\nimport type {\n RegistryBrokerClient,\n GenerateEncryptionKeyPairOptions,\n} from './base-client';\n\ntype FsModule = {\n existsSync: (path: string) => boolean;\n readFileSync: (path: string, encoding: BufferEncoding) => string;\n writeFileSync: (path: string, data: string) => void;\n appendFileSync: (path: string, data: string) => void;\n};\n\ntype NodePathModule = {\n resolve: (...segments: string[]) => string;\n};\n\ntype NodeCryptoModule = {\n randomBytes: (size: number) => Buffer;\n};\n\nconst getFs = async (): Promise<FsModule | null> => {\n const fsModule =\n (await optionalImport<Partial<FsModule>>('node:fs')) ??\n (await optionalImport<Partial<FsModule>>('fs'));\n\n if (\n fsModule &&\n typeof fsModule.existsSync === 'function' &&\n typeof fsModule.readFileSync === 'function' &&\n typeof fsModule.writeFileSync === 'function' &&\n typeof fsModule.appendFileSync === 'function'\n ) {\n return fsModule as FsModule;\n }\n\n return null;\n};\n\nconst getNodePath = async (): Promise<NodePathModule | null> => {\n const pathModule =\n (await optionalImport<Partial<NodePathModule>>('node:path')) ??\n (await optionalImport<Partial<NodePathModule>>('path'));\n if (pathModule && typeof pathModule.resolve === 'function') {\n return pathModule as NodePathModule;\n }\n return null;\n};\n\nconst getNodeCrypto = async (): Promise<NodeCryptoModule | null> => {\n const cryptoModule =\n (await optionalImport<Partial<NodeCryptoModule>>('node:crypto')) ??\n (await optionalImport<Partial<NodeCryptoModule>>('crypto'));\n if (cryptoModule && typeof cryptoModule.randomBytes === 'function') {\n return cryptoModule as NodeCryptoModule;\n }\n return null;\n};\n\nexport interface RegistryBrokerEncryptionApi {\n registerKey: (\n payload: RegisterEncryptionKeyPayload,\n ) => Promise<RegisterEncryptionKeyResponse>;\n generateEphemeralKeyPair: () => EphemeralKeyPair;\n deriveSharedSecret: (options: DeriveSharedSecretOptions) => Buffer;\n encryptCipherEnvelope: (\n options: EncryptCipherEnvelopeOptions,\n ) => CipherEnvelope;\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) => string;\n ensureAgentKey: (\n options: EnsureAgentKeyOptions,\n ) => Promise<{ publicKey: string; privateKey?: string }>;\n}\n\nexport async function registerEncryptionKey(\n client: RegistryBrokerClient,\n payload: RegisterEncryptionKeyPayload,\n): Promise<RegisterEncryptionKeyResponse> {\n const raw = await client.requestJson('/encryption/keys', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n registerEncryptionKeyResponseSchema,\n 'register encryption key response',\n );\n}\n\nfunction normalizeAutoRegisterIdentity(\n config: AutoRegisterEncryptionKeyOptions,\n): Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n> | null {\n const identity: Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n > = {};\n if (config.uaid) {\n identity.uaid = config.uaid;\n }\n if (config.ledgerAccountId) {\n identity.ledgerAccountId = config.ledgerAccountId;\n if (config.ledgerNetwork) {\n identity.ledgerNetwork = config.ledgerNetwork;\n }\n }\n if (config.email) {\n identity.email = config.email;\n }\n if (identity.uaid || identity.ledgerAccountId || identity.email) {\n return identity;\n }\n return null;\n}\n\nfunction derivePublicKeyFromPrivateKey(\n client: RegistryBrokerClient,\n privateKey: string,\n): string {\n const normalized = client.hexToBuffer(privateKey);\n const publicKey = secp256k1.getPublicKey(normalized, true);\n return Buffer.from(publicKey).toString('hex');\n}\n\nasync function resolveAutoRegisterKeyMaterial(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (config.publicKey?.trim()) {\n return { publicKey: config.publicKey.trim() };\n }\n let privateKey = config.privateKey?.trim();\n const envVar = config.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {\n privateKey = process.env[envVar]?.trim();\n }\n if (!privateKey && config.generateIfMissing) {\n const pair = await client.generateEncryptionKeyPair({\n keyType: config.keyType ?? 'secp256k1',\n envVar,\n envPath: config.envPath,\n overwrite: config.overwriteEnv,\n });\n return { publicKey: pair.publicKey, privateKey: pair.privateKey };\n }\n if (privateKey) {\n const publicKey = derivePublicKeyFromPrivateKey(client, privateKey);\n return { publicKey, privateKey };\n }\n return null;\n}\n\nexport async function autoRegisterEncryptionKey(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n const identity = normalizeAutoRegisterIdentity(config);\n if (!identity) {\n throw new Error(\n 'Auto-registration requires uaid, ledgerAccountId, or email',\n );\n }\n const material = await resolveAutoRegisterKeyMaterial(client, config);\n if (!material) {\n throw new Error(\n 'Unable to resolve encryption public key for auto-registration',\n );\n }\n await registerEncryptionKey(client, {\n keyType: config.keyType ?? 'secp256k1',\n publicKey: material.publicKey,\n ...identity,\n });\n return material;\n}\n\nexport async function ensureAgentEncryptionKey(\n client: RegistryBrokerClient,\n options: EnsureAgentKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n return autoRegisterEncryptionKey(client, {\n ...options,\n uaid: options.uaid,\n enabled: true,\n });\n}\n\nexport function createEncryptionApi(\n client: RegistryBrokerClient,\n): RegistryBrokerEncryptionApi {\n return {\n registerKey: (payload: RegisterEncryptionKeyPayload) =>\n registerEncryptionKey(client, payload),\n generateEphemeralKeyPair: () => client.createEphemeralKeyPair(),\n deriveSharedSecret: (options: DeriveSharedSecretOptions) =>\n client.deriveSharedSecret(options),\n encryptCipherEnvelope: (options: EncryptCipherEnvelopeOptions) =>\n client.buildCipherEnvelope(options),\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) =>\n client.openCipherEnvelope(options),\n ensureAgentKey: (options: EnsureAgentKeyOptions) =>\n ensureAgentEncryptionKey(client, options),\n };\n}\n\nexport async function bootstrapEncryptionOptions(\n client: RegistryBrokerClient,\n options?: ClientEncryptionOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (!options?.autoRegister || options.autoRegister.enabled === false) {\n return null;\n }\n return autoRegisterEncryptionKey(client, options.autoRegister);\n}\n\nexport async function generateEncryptionKeyPair(\n client: RegistryBrokerClient,\n options: GenerateEncryptionKeyPairOptions = {},\n): Promise<{\n privateKey: string;\n publicKey: string;\n envPath?: string;\n envVar: string;\n}> {\n client.assertNodeRuntime('generateEncryptionKeyPair');\n\n const keyType = options.keyType ?? 'secp256k1';\n if (keyType !== 'secp256k1') {\n throw new Error('Only secp256k1 key generation is supported currently');\n }\n\n const cryptoModule = await getNodeCrypto();\n if (!cryptoModule) {\n throw new Error(\n 'Node.js crypto module is not available; cannot generate encryption key pair',\n );\n }\n const privateKeyBytes = cryptoModule.randomBytes(32);\n const privateKey = Buffer.from(privateKeyBytes).toString('hex');\n const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);\n const publicKey = Buffer.from(publicKeyBytes).toString('hex');\n\n const envVar = options.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n const pathModule = options.envPath ? await getNodePath() : null;\n const resolvedPath =\n options.envPath && pathModule\n ? pathModule.resolve(options.envPath)\n : undefined;\n\n if (options.envPath && !resolvedPath) {\n throw new Error(\n 'Node.js path module is not available; cannot resolve encryption key env path',\n );\n }\n\n if (resolvedPath) {\n const fsModule = await getFs();\n\n if (!fsModule) {\n throw new Error(\n 'File system module is not available; cannot write encryption key env file',\n );\n }\n\n const envLine = `${envVar}=${privateKey}`;\n if (fsModule.existsSync(resolvedPath)) {\n const content = fsModule.readFileSync(resolvedPath, 'utf-8');\n const lineRegex = new RegExp(`^${envVar}=.*$`, 'm');\n if (lineRegex.test(content)) {\n if (!options.overwrite) {\n throw new Error(\n `${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`,\n );\n }\n const updated = content.replace(lineRegex, envLine);\n fsModule.writeFileSync(resolvedPath, updated);\n } else {\n const needsNewline = !content.endsWith('\\n');\n fsModule.appendFileSync(\n resolvedPath,\n `${needsNewline ? '\\n' : ''}${envLine}\\n`,\n );\n }\n } else {\n fsModule.writeFileSync(resolvedPath, `${envLine}\\n`);\n }\n }\n\n return {\n privateKey,\n publicKey,\n envPath: resolvedPath,\n envVar,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es202.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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"}
@@ -1,122 +1,45 @@
1
- import { adaptersResponseSchema, adapterDetailsResponseSchema, adapterRegistryCategoriesResponseSchema, adapterRegistryAdaptersResponseSchema, adapterRegistryCreateCategoryResponseSchema, adapterRegistrySubmitAdapterAcceptedResponseSchema, adapterRegistrySubmissionStatusResponseSchema } from "./standards-sdk.es158.js";
2
- import { toJsonObject } from "./standards-sdk.es209.js";
3
- async function adapters(client) {
4
- const raw = await client.requestJson("/adapters", {
5
- method: "GET"
6
- });
7
- return client.parseWithSchema(
8
- raw,
9
- adaptersResponseSchema,
10
- "adapters response"
11
- );
1
+ import { TopicMessageSubmitTransaction, TopicId, TopicCreateTransaction, PublicKey, KeyList } from "@hashgraph/sdk";
2
+ function encodeHcs2RegistryMemo(indexedFlag, ttl) {
3
+ return `hcs-2:${indexedFlag}:${ttl}`;
12
4
  }
13
- async function adaptersDetailed(client) {
14
- const raw = await client.requestJson("/adapters/details", {
15
- method: "GET"
16
- });
17
- return client.parseWithSchema(
18
- raw,
19
- adapterDetailsResponseSchema,
20
- "adapter details response"
21
- );
22
- }
23
- async function adapterRegistryCategories(client) {
24
- const raw = await client.requestJson(
25
- "/adapters/registry/categories",
26
- {
27
- method: "GET"
5
+ function buildTopicCreateTx(params) {
6
+ const { memo, adminKey, submitKey, operatorPublicKey } = params;
7
+ const tx = new TopicCreateTransaction().setTopicMemo(memo);
8
+ const coerceKey = (k) => {
9
+ if (!k) return void 0;
10
+ if (k instanceof PublicKey || k instanceof KeyList) return k;
11
+ if (typeof k === "boolean") {
12
+ return k ? operatorPublicKey : void 0;
28
13
  }
29
- );
30
- return client.parseWithSchema(
31
- raw,
32
- adapterRegistryCategoriesResponseSchema,
33
- "adapter registry categories response"
34
- );
35
- }
36
- async function adapterRegistryAdapters(client, filters = {}) {
37
- const params = new URLSearchParams();
38
- if (filters.category) {
39
- params.set("category", filters.category);
40
- }
41
- if (filters.entity) {
42
- params.set("entity", filters.entity);
43
- }
44
- if (filters.keywords?.length) {
45
- params.set("keywords", filters.keywords.join(","));
46
- }
47
- if (filters.query) {
48
- params.set("query", filters.query);
49
- }
50
- if (typeof filters.limit === "number") {
51
- params.set("limit", String(filters.limit));
14
+ if (typeof k === "string") {
15
+ try {
16
+ return PublicKey.fromString(k);
17
+ } catch {
18
+ return void 0;
19
+ }
20
+ }
21
+ return void 0;
22
+ };
23
+ const admin = coerceKey(adminKey);
24
+ if (admin) {
25
+ tx.setAdminKey(admin);
52
26
  }
53
- if (typeof filters.offset === "number") {
54
- params.set("offset", String(filters.offset));
27
+ const submit = coerceKey(submitKey);
28
+ if (submit) {
29
+ tx.setSubmitKey(submit);
55
30
  }
56
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
57
- const raw = await client.requestJson(
58
- `/adapters/registry/adapters${suffix}`,
59
- {
60
- method: "GET"
61
- }
62
- );
63
- return client.parseWithSchema(
64
- raw,
65
- adapterRegistryAdaptersResponseSchema,
66
- "adapter registry adapters response"
67
- );
68
- }
69
- async function createAdapterRegistryCategory(client, payload) {
70
- const raw = await client.requestJson(
71
- "/adapters/registry/categories",
72
- {
73
- method: "POST",
74
- headers: { "content-type": "application/json" },
75
- body: toJsonObject(payload)
76
- }
77
- );
78
- const parsed = client.parseWithSchema(
79
- raw,
80
- adapterRegistryCreateCategoryResponseSchema,
81
- "adapter registry create category response"
82
- );
83
- return parsed.category;
31
+ return tx;
84
32
  }
85
- async function submitAdapterRegistryAdapter(client, payload) {
86
- const raw = await client.requestJson(
87
- "/adapters/registry/adapters",
88
- {
89
- method: "POST",
90
- headers: { "content-type": "application/json" },
91
- body: toJsonObject(payload)
92
- }
93
- );
94
- return client.parseWithSchema(
95
- raw,
96
- adapterRegistrySubmitAdapterAcceptedResponseSchema,
97
- "adapter registry submit adapter response"
98
- );
99
- }
100
- async function adapterRegistrySubmissionStatus(client, submissionId) {
101
- const raw = await client.requestJson(
102
- `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,
103
- {
104
- method: "GET"
105
- }
106
- );
107
- return client.parseWithSchema(
108
- raw,
109
- adapterRegistrySubmissionStatusResponseSchema,
110
- "adapter registry submission status response"
111
- );
33
+ function buildMessageTx(params) {
34
+ const tx = new TopicMessageSubmitTransaction().setTopicId(TopicId.fromString(params.topicId)).setMessage(params.message);
35
+ if (params.transactionMemo) {
36
+ tx.setTransactionMemo(params.transactionMemo);
37
+ }
38
+ return tx;
112
39
  }
113
40
  export {
114
- adapterRegistryAdapters,
115
- adapterRegistryCategories,
116
- adapterRegistrySubmissionStatus,
117
- adapters,
118
- adaptersDetailed,
119
- createAdapterRegistryCategory,
120
- submitAdapterRegistryAdapter
41
+ buildMessageTx,
42
+ buildTopicCreateTx,
43
+ encodeHcs2RegistryMemo
121
44
  };
122
45
  //# sourceMappingURL=standards-sdk.es203.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es203.js","sources":["../../src/services/registry-broker/client/adapters.ts"],"sourcesContent":["import type {\n AdapterDetailsResponse,\n AdapterRegistryAdaptersResponse,\n AdapterRegistryCategoriesResponse,\n AdapterRegistryCategory,\n AdapterRegistrySubmitAdapterAcceptedResponse,\n AdapterRegistrySubmissionStatusResponse,\n AdaptersResponse,\n CreateAdapterRegistryCategoryRequest,\n JsonValue,\n SubmitAdapterRegistryAdapterRequest,\n} from '../types';\nimport {\n adapterDetailsResponseSchema,\n adapterRegistryAdaptersResponseSchema,\n adapterRegistryCategoriesResponseSchema,\n adapterRegistryCreateCategoryResponseSchema,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n adapterRegistrySubmissionStatusResponseSchema,\n adaptersResponseSchema,\n} from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\nimport { toJsonObject } from './utils';\n\nexport async function adapters(\n client: RegistryBrokerClient,\n): Promise<AdaptersResponse> {\n const raw = await client.requestJson<JsonValue>('/adapters', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n adaptersResponseSchema,\n 'adapters response',\n );\n}\n\nexport async function adaptersDetailed(\n client: RegistryBrokerClient,\n): Promise<AdapterDetailsResponse> {\n const raw = await client.requestJson<JsonValue>('/adapters/details', {\n method: 'GET',\n });\n return client.parseWithSchema(\n raw,\n adapterDetailsResponseSchema,\n 'adapter details response',\n );\n}\n\nexport async function adapterRegistryCategories(\n client: RegistryBrokerClient,\n): Promise<AdapterRegistryCategoriesResponse> {\n const raw = await client.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistryCategoriesResponseSchema,\n 'adapter registry categories response',\n );\n}\n\nexport async function adapterRegistryAdapters(\n client: RegistryBrokerClient,\n filters: {\n category?: string;\n entity?: string;\n keywords?: string[];\n query?: string;\n limit?: number;\n offset?: number;\n } = {},\n): Promise<AdapterRegistryAdaptersResponse> {\n const params = new URLSearchParams();\n if (filters.category) {\n params.set('category', filters.category);\n }\n if (filters.entity) {\n params.set('entity', filters.entity);\n }\n if (filters.keywords?.length) {\n params.set('keywords', filters.keywords.join(','));\n }\n if (filters.query) {\n params.set('query', filters.query);\n }\n if (typeof filters.limit === 'number') {\n params.set('limit', String(filters.limit));\n }\n if (typeof filters.offset === 'number') {\n params.set('offset', String(filters.offset));\n }\n\n const suffix = params.size > 0 ? `?${params.toString()}` : '';\n const raw = await client.requestJson<JsonValue>(\n `/adapters/registry/adapters${suffix}`,\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistryAdaptersResponseSchema,\n 'adapter registry adapters response',\n );\n}\n\nexport async function createAdapterRegistryCategory(\n client: RegistryBrokerClient,\n payload: CreateAdapterRegistryCategoryRequest,\n): Promise<AdapterRegistryCategory> {\n const raw = await client.requestJson<JsonValue>(\n '/adapters/registry/categories',\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n },\n );\n const parsed = client.parseWithSchema(\n raw,\n adapterRegistryCreateCategoryResponseSchema,\n 'adapter registry create category response',\n );\n return parsed.category;\n}\n\nexport async function submitAdapterRegistryAdapter(\n client: RegistryBrokerClient,\n payload: SubmitAdapterRegistryAdapterRequest,\n): Promise<AdapterRegistrySubmitAdapterAcceptedResponse> {\n const raw = await client.requestJson<JsonValue>(\n '/adapters/registry/adapters',\n {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: toJsonObject(payload),\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistrySubmitAdapterAcceptedResponseSchema,\n 'adapter registry submit adapter response',\n );\n}\n\nexport async function adapterRegistrySubmissionStatus(\n client: RegistryBrokerClient,\n submissionId: string,\n): Promise<AdapterRegistrySubmissionStatusResponse> {\n const raw = await client.requestJson<JsonValue>(\n `/adapters/registry/submissions/${encodeURIComponent(submissionId)}`,\n {\n method: 'GET',\n },\n );\n return client.parseWithSchema(\n raw,\n adapterRegistrySubmissionStatusResponseSchema,\n 'adapter registry submission status response',\n );\n}\n"],"names":[],"mappings":";;AAwBA,eAAsB,SACpB,QAC2B;AAC3B,QAAM,MAAM,MAAM,OAAO,YAAuB,aAAa;AAAA,IAC3D,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,iBACpB,QACiC;AACjC,QAAM,MAAM,MAAM,OAAO,YAAuB,qBAAqB;AAAA,IACnE,QAAQ;AAAA,EAAA,CACT;AACD,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,0BACpB,QAC4C;AAC5C,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,wBACpB,QACA,UAOI,IACsC;AAC1C,QAAM,SAAS,IAAI,gBAAA;AACnB,MAAI,QAAQ,UAAU;AACpB,WAAO,IAAI,YAAY,QAAQ,QAAQ;AAAA,EACzC;AACA,MAAI,QAAQ,QAAQ;AAClB,WAAO,IAAI,UAAU,QAAQ,MAAM;AAAA,EACrC;AACA,MAAI,QAAQ,UAAU,QAAQ;AAC5B,WAAO,IAAI,YAAY,QAAQ,SAAS,KAAK,GAAG,CAAC;AAAA,EACnD;AACA,MAAI,QAAQ,OAAO;AACjB,WAAO,IAAI,SAAS,QAAQ,KAAK;AAAA,EACnC;AACA,MAAI,OAAO,QAAQ,UAAU,UAAU;AACrC,WAAO,IAAI,SAAS,OAAO,QAAQ,KAAK,CAAC;AAAA,EAC3C;AACA,MAAI,OAAO,QAAQ,WAAW,UAAU;AACtC,WAAO,IAAI,UAAU,OAAO,QAAQ,MAAM,CAAC;AAAA,EAC7C;AAEA,QAAM,SAAS,OAAO,OAAO,IAAI,IAAI,OAAO,UAAU,KAAK;AAC3D,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,8BAA8B,MAAM;AAAA,IACpC;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,8BACpB,QACA,SACkC;AAClC,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,aAAa,OAAO;AAAA,IAAA;AAAA,EAC5B;AAEF,QAAM,SAAS,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,SAAO,OAAO;AAChB;AAEA,eAAsB,6BACpB,QACA,SACuD;AACvD,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,MAC3B,MAAM,aAAa,OAAO;AAAA,IAAA;AAAA,EAC5B;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,eAAsB,gCACpB,QACA,cACkD;AAClD,QAAM,MAAM,MAAM,OAAO;AAAA,IACvB,kCAAkC,mBAAmB,YAAY,CAAC;AAAA,IAClE;AAAA,MACE,QAAQ;AAAA,IAAA;AAAA,EACV;AAEF,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"standards-sdk.es203.js","sources":["../../src/common/tx/tx-utils.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n PublicKey,\n KeyList,\n TopicId,\n} from '@hashgraph/sdk';\n\nexport type MaybeKey = boolean | string | PublicKey | KeyList | undefined;\n\nexport function encodeHcs2RegistryMemo(\n indexedFlag: 0 | 1,\n ttl: number,\n): string {\n return `hcs-2:${indexedFlag}:${ttl}`;\n}\n\nexport function buildTopicCreateTx(params: {\n memo: string;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n operatorPublicKey?: PublicKey;\n}): TopicCreateTransaction {\n const { memo, adminKey, submitKey, operatorPublicKey } = params;\n const tx = new TopicCreateTransaction().setTopicMemo(memo);\n\n const coerceKey = (k?: MaybeKey): PublicKey | KeyList | undefined => {\n if (!k) return undefined;\n if (k instanceof PublicKey || k instanceof KeyList) return k;\n if (typeof k === 'boolean') {\n return k ? operatorPublicKey : undefined;\n }\n if (typeof k === 'string') {\n try {\n return PublicKey.fromString(k);\n } catch {\n return undefined;\n }\n }\n return undefined;\n };\n\n const admin = coerceKey(adminKey);\n if (admin) {\n tx.setAdminKey(admin);\n }\n\n const submit = coerceKey(submitKey);\n if (submit) {\n tx.setSubmitKey(submit);\n }\n\n return tx;\n}\n\nexport function buildMessageTx(params: {\n topicId: string;\n message: string | Uint8Array;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const tx = new TopicMessageSubmitTransaction()\n .setTopicId(TopicId.fromString(params.topicId))\n .setMessage(params.message);\n if (params.transactionMemo) {\n tx.setTransactionMemo(params.transactionMemo);\n }\n return tx;\n}\n"],"names":[],"mappings":";AAUO,SAAS,uBACd,aACA,KACQ;AACR,SAAO,SAAS,WAAW,IAAI,GAAG;AACpC;AAEO,SAAS,mBAAmB,QAKR;AACzB,QAAM,EAAE,MAAM,UAAU,WAAW,sBAAsB;AACzD,QAAM,KAAK,IAAI,yBAAyB,aAAa,IAAI;AAEzD,QAAM,YAAY,CAAC,MAAkD;AACnE,QAAI,CAAC,EAAG,QAAO;AACf,QAAI,aAAa,aAAa,aAAa,QAAS,QAAO;AAC3D,QAAI,OAAO,MAAM,WAAW;AAC1B,aAAO,IAAI,oBAAoB;AAAA,IACjC;AACA,QAAI,OAAO,MAAM,UAAU;AACzB,UAAI;AACF,eAAO,UAAU,WAAW,CAAC;AAAA,MAC/B,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,UAAU,QAAQ;AAChC,MAAI,OAAO;AACT,OAAG,YAAY,KAAK;AAAA,EACtB;AAEA,QAAM,SAAS,UAAU,SAAS;AAClC,MAAI,QAAQ;AACV,OAAG,aAAa,MAAM;AAAA,EACxB;AAEA,SAAO;AACT;AAEO,SAAS,eAAe,QAIG;AAChC,QAAM,KAAK,IAAI,gCACZ,WAAW,QAAQ,WAAW,OAAO,OAAO,CAAC,EAC7C,WAAW,OAAO,OAAO;AAC5B,MAAI,OAAO,iBAAiB;AAC1B,OAAG,mBAAmB,OAAO,eAAe;AAAA,EAC9C;AACA,SAAO;AACT;"}