@hashgraphonline/standards-sdk 0.1.160 → 0.1.161

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 (293) hide show
  1. package/dist/cjs/hcs-14/resolvers/registry.d.ts +18 -1
  2. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  3. package/dist/cjs/hcs-14/resolvers/types.d.ts +17 -0
  4. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  5. package/dist/cjs/hcs-14/sdk.d.ts +24 -13
  6. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  7. package/dist/cjs/standards-sdk.cjs +3 -3
  8. package/dist/cjs/standards-sdk.cjs.map +1 -1
  9. package/dist/es/hcs-14/resolvers/registry.d.ts +18 -1
  10. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  11. package/dist/es/hcs-14/resolvers/types.d.ts +17 -0
  12. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  13. package/dist/es/hcs-14/sdk.d.ts +24 -13
  14. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  15. package/dist/es/standards-sdk.es.js +94 -90
  16. package/dist/es/standards-sdk.es.js.map +1 -1
  17. package/dist/es/standards-sdk.es100.js +138 -42
  18. package/dist/es/standards-sdk.es100.js.map +1 -1
  19. package/dist/es/standards-sdk.es101.js +43 -259
  20. package/dist/es/standards-sdk.es101.js.map +1 -1
  21. package/dist/es/standards-sdk.es102.js +245 -82
  22. package/dist/es/standards-sdk.es102.js.map +1 -1
  23. package/dist/es/standards-sdk.es103.js +50 -49
  24. package/dist/es/standards-sdk.es103.js.map +1 -1
  25. package/dist/es/standards-sdk.es104.js +100 -29
  26. package/dist/es/standards-sdk.es104.js.map +1 -1
  27. package/dist/es/standards-sdk.es105.js +27 -229
  28. package/dist/es/standards-sdk.es105.js.map +1 -1
  29. package/dist/es/standards-sdk.es106.js +228 -109
  30. package/dist/es/standards-sdk.es106.js.map +1 -1
  31. package/dist/es/standards-sdk.es107.js +94 -15
  32. package/dist/es/standards-sdk.es107.js.map +1 -1
  33. package/dist/es/standards-sdk.es108.js +30 -80
  34. package/dist/es/standards-sdk.es108.js.map +1 -1
  35. package/dist/es/standards-sdk.es109.js +80 -27
  36. package/dist/es/standards-sdk.es109.js.map +1 -1
  37. package/dist/es/standards-sdk.es11.js +1 -1
  38. package/dist/es/standards-sdk.es110.js +27 -248
  39. package/dist/es/standards-sdk.es110.js.map +1 -1
  40. package/dist/es/standards-sdk.es111.js +246 -472
  41. package/dist/es/standards-sdk.es111.js.map +1 -1
  42. package/dist/es/standards-sdk.es112.js +458 -85
  43. package/dist/es/standards-sdk.es112.js.map +1 -1
  44. package/dist/es/standards-sdk.es113.js +96 -151
  45. package/dist/es/standards-sdk.es113.js.map +1 -1
  46. package/dist/es/standards-sdk.es114.js +155 -29
  47. package/dist/es/standards-sdk.es114.js.map +1 -1
  48. package/dist/es/standards-sdk.es115.js +26 -4
  49. package/dist/es/standards-sdk.es115.js.map +1 -1
  50. package/dist/es/standards-sdk.es116.js +10 -140
  51. package/dist/es/standards-sdk.es116.js.map +1 -1
  52. package/dist/es/standards-sdk.es117.js +140 -27
  53. package/dist/es/standards-sdk.es117.js.map +1 -1
  54. package/dist/es/standards-sdk.es118.js +27 -20
  55. package/dist/es/standards-sdk.es118.js.map +1 -1
  56. package/dist/es/standards-sdk.es119.js +18 -156
  57. package/dist/es/standards-sdk.es119.js.map +1 -1
  58. package/dist/es/standards-sdk.es12.js +1 -1
  59. package/dist/es/standards-sdk.es120.js +148 -191
  60. package/dist/es/standards-sdk.es120.js.map +1 -1
  61. package/dist/es/standards-sdk.es121.js +160 -747
  62. package/dist/es/standards-sdk.es121.js.map +1 -1
  63. package/dist/es/standards-sdk.es122.js +786 -9
  64. package/dist/es/standards-sdk.es122.js.map +1 -1
  65. package/dist/es/standards-sdk.es123.js +13 -567
  66. package/dist/es/standards-sdk.es123.js.map +1 -1
  67. package/dist/es/standards-sdk.es124.js +541 -576
  68. package/dist/es/standards-sdk.es124.js.map +1 -1
  69. package/dist/es/standards-sdk.es125.js +601 -12
  70. package/dist/es/standards-sdk.es125.js.map +1 -1
  71. package/dist/es/standards-sdk.es126.js +13 -2
  72. package/dist/es/standards-sdk.es126.js.map +1 -1
  73. package/dist/es/standards-sdk.es127.js +2 -87
  74. package/dist/es/standards-sdk.es127.js.map +1 -1
  75. package/dist/es/standards-sdk.es128.js +84 -37
  76. package/dist/es/standards-sdk.es128.js.map +1 -1
  77. package/dist/es/standards-sdk.es129.js +40 -2
  78. package/dist/es/standards-sdk.es129.js.map +1 -1
  79. package/dist/es/standards-sdk.es13.js +1 -1
  80. package/dist/es/standards-sdk.es130.js +2 -235
  81. package/dist/es/standards-sdk.es130.js.map +1 -1
  82. package/dist/es/standards-sdk.es131.js +204 -1109
  83. package/dist/es/standards-sdk.es131.js.map +1 -1
  84. package/dist/es/standards-sdk.es132.js +1059 -225
  85. package/dist/es/standards-sdk.es132.js.map +1 -1
  86. package/dist/es/standards-sdk.es133.js +303 -419
  87. package/dist/es/standards-sdk.es133.js.map +1 -1
  88. package/dist/es/standards-sdk.es134.js +418 -351
  89. package/dist/es/standards-sdk.es134.js.map +1 -1
  90. package/dist/es/standards-sdk.es135.js +347 -1108
  91. package/dist/es/standards-sdk.es135.js.map +1 -1
  92. package/dist/es/standards-sdk.es136.js +1088 -180
  93. package/dist/es/standards-sdk.es136.js.map +1 -1
  94. package/dist/es/standards-sdk.es137.js +153 -1512
  95. package/dist/es/standards-sdk.es137.js.map +1 -1
  96. package/dist/es/standards-sdk.es138.js +1567 -1255
  97. package/dist/es/standards-sdk.es138.js.map +1 -1
  98. package/dist/es/standards-sdk.es139.js +1255 -17
  99. package/dist/es/standards-sdk.es139.js.map +1 -1
  100. package/dist/es/standards-sdk.es14.js +1 -1
  101. package/dist/es/standards-sdk.es140.js +15 -85
  102. package/dist/es/standards-sdk.es140.js.map +1 -1
  103. package/dist/es/standards-sdk.es141.js +77 -71
  104. package/dist/es/standards-sdk.es141.js.map +1 -1
  105. package/dist/es/standards-sdk.es142.js +79 -891
  106. package/dist/es/standards-sdk.es142.js.map +1 -1
  107. package/dist/es/standards-sdk.es143.js +886 -53
  108. package/dist/es/standards-sdk.es143.js.map +1 -1
  109. package/dist/es/standards-sdk.es144.js +53 -152
  110. package/dist/es/standards-sdk.es144.js.map +1 -1
  111. package/dist/es/standards-sdk.es145.js +159 -7
  112. package/dist/es/standards-sdk.es145.js.map +1 -1
  113. package/dist/es/standards-sdk.es146.js +7 -86
  114. package/dist/es/standards-sdk.es146.js.map +1 -1
  115. package/dist/es/standards-sdk.es147.js +65 -44
  116. package/dist/es/standards-sdk.es147.js.map +1 -1
  117. package/dist/es/standards-sdk.es148.js +65 -30
  118. package/dist/es/standards-sdk.es148.js.map +1 -1
  119. package/dist/es/standards-sdk.es149.js +30 -34
  120. package/dist/es/standards-sdk.es149.js.map +1 -1
  121. package/dist/es/standards-sdk.es15.js +1 -1
  122. package/dist/es/standards-sdk.es150.js +34 -41
  123. package/dist/es/standards-sdk.es150.js.map +1 -1
  124. package/dist/es/standards-sdk.es151.js +45 -138
  125. package/dist/es/standards-sdk.es151.js.map +1 -1
  126. package/dist/es/standards-sdk.es152.js +133 -37
  127. package/dist/es/standards-sdk.es152.js.map +1 -1
  128. package/dist/es/standards-sdk.es153.js +34 -12474
  129. package/dist/es/standards-sdk.es153.js.map +1 -1
  130. package/dist/es/standards-sdk.es154.js +12444 -134
  131. package/dist/es/standards-sdk.es154.js.map +1 -1
  132. package/dist/es/standards-sdk.es155.js +13 -318
  133. package/dist/es/standards-sdk.es155.js.map +1 -1
  134. package/dist/es/standards-sdk.es156.js +55 -345
  135. package/dist/es/standards-sdk.es156.js.map +1 -1
  136. package/dist/es/standards-sdk.es157.js +68 -437
  137. package/dist/es/standards-sdk.es157.js.map +1 -1
  138. package/dist/es/standards-sdk.es158.js +71 -321
  139. package/dist/es/standards-sdk.es158.js.map +1 -1
  140. package/dist/es/standards-sdk.es159.js +63 -66
  141. package/dist/es/standards-sdk.es159.js.map +1 -1
  142. package/dist/es/standards-sdk.es16.js +5 -5
  143. package/dist/es/standards-sdk.es160.js +168 -13
  144. package/dist/es/standards-sdk.es160.js.map +1 -1
  145. package/dist/es/standards-sdk.es161.js +312 -232
  146. package/dist/es/standards-sdk.es161.js.map +1 -1
  147. package/dist/es/standards-sdk.es162.js +345 -55
  148. package/dist/es/standards-sdk.es162.js.map +1 -1
  149. package/dist/es/standards-sdk.es163.js +437 -68
  150. package/dist/es/standards-sdk.es163.js.map +1 -1
  151. package/dist/es/standards-sdk.es164.js +321 -71
  152. package/dist/es/standards-sdk.es164.js.map +1 -1
  153. package/dist/es/standards-sdk.es165.js +66 -63
  154. package/dist/es/standards-sdk.es165.js.map +1 -1
  155. package/dist/es/standards-sdk.es166.js +220 -150
  156. package/dist/es/standards-sdk.es166.js.map +1 -1
  157. package/dist/es/standards-sdk.es167.js +152 -202
  158. package/dist/es/standards-sdk.es167.js.map +1 -1
  159. package/dist/es/standards-sdk.es168.js +206 -223
  160. package/dist/es/standards-sdk.es168.js.map +1 -1
  161. package/dist/es/standards-sdk.es169.js +227 -107
  162. package/dist/es/standards-sdk.es169.js.map +1 -1
  163. package/dist/es/standards-sdk.es170.js +98 -105
  164. package/dist/es/standards-sdk.es170.js.map +1 -1
  165. package/dist/es/standards-sdk.es171.js +105 -140
  166. package/dist/es/standards-sdk.es171.js.map +1 -1
  167. package/dist/es/standards-sdk.es172.js +140 -164
  168. package/dist/es/standards-sdk.es172.js.map +1 -1
  169. package/dist/es/standards-sdk.es173.js +165 -119
  170. package/dist/es/standards-sdk.es173.js.map +1 -1
  171. package/dist/es/standards-sdk.es174.js +111 -303
  172. package/dist/es/standards-sdk.es174.js.map +1 -1
  173. package/dist/es/standards-sdk.es175.js +297 -225
  174. package/dist/es/standards-sdk.es175.js.map +1 -1
  175. package/dist/es/standards-sdk.es176.js +253 -110
  176. package/dist/es/standards-sdk.es176.js.map +1 -1
  177. package/dist/es/standards-sdk.es177.js +119 -0
  178. package/dist/es/standards-sdk.es177.js.map +1 -0
  179. package/dist/es/standards-sdk.es18.js +12 -12
  180. package/dist/es/standards-sdk.es19.js +9 -9
  181. package/dist/es/standards-sdk.es2.js +2 -2
  182. package/dist/es/standards-sdk.es20.js +1 -1
  183. package/dist/es/standards-sdk.es21.js +1 -1
  184. package/dist/es/standards-sdk.es22.js +1 -1
  185. package/dist/es/standards-sdk.es23.js +1 -1
  186. package/dist/es/standards-sdk.es24.js +1 -1
  187. package/dist/es/standards-sdk.es25.js +1 -1
  188. package/dist/es/standards-sdk.es26.js +1 -1
  189. package/dist/es/standards-sdk.es27.js +12 -12
  190. package/dist/es/standards-sdk.es30.js +2 -2
  191. package/dist/es/standards-sdk.es31.js +4 -4
  192. package/dist/es/standards-sdk.es32.js +1 -1
  193. package/dist/es/standards-sdk.es35.js +6 -6
  194. package/dist/es/standards-sdk.es36.js +4 -4
  195. package/dist/es/standards-sdk.es37.js +2 -2
  196. package/dist/es/standards-sdk.es38.js +2 -2
  197. package/dist/es/standards-sdk.es39.js +1 -1
  198. package/dist/es/standards-sdk.es4.js +2 -2
  199. package/dist/es/standards-sdk.es40.js +1 -1
  200. package/dist/es/standards-sdk.es41.js +2 -2
  201. package/dist/es/standards-sdk.es46.js +1 -1
  202. package/dist/es/standards-sdk.es5.js +2 -2
  203. package/dist/es/standards-sdk.es51.js +1 -1
  204. package/dist/es/standards-sdk.es53.js +1 -1
  205. package/dist/es/standards-sdk.es56.js +2 -2
  206. package/dist/es/standards-sdk.es58.js +11 -236
  207. package/dist/es/standards-sdk.es58.js.map +1 -1
  208. package/dist/es/standards-sdk.es59.js +321 -35
  209. package/dist/es/standards-sdk.es59.js.map +1 -1
  210. package/dist/es/standards-sdk.es6.js +2 -2
  211. package/dist/es/standards-sdk.es60.js +32 -101
  212. package/dist/es/standards-sdk.es60.js.map +1 -1
  213. package/dist/es/standards-sdk.es61.js +86 -156
  214. package/dist/es/standards-sdk.es61.js.map +1 -1
  215. package/dist/es/standards-sdk.es62.js +112 -153
  216. package/dist/es/standards-sdk.es62.js.map +1 -1
  217. package/dist/es/standards-sdk.es63.js +179 -87
  218. package/dist/es/standards-sdk.es63.js.map +1 -1
  219. package/dist/es/standards-sdk.es64.js +124 -40
  220. package/dist/es/standards-sdk.es64.js.map +1 -1
  221. package/dist/es/standards-sdk.es65.js +41 -251
  222. package/dist/es/standards-sdk.es65.js.map +1 -1
  223. package/dist/es/standards-sdk.es66.js +257 -24
  224. package/dist/es/standards-sdk.es66.js.map +1 -1
  225. package/dist/es/standards-sdk.es67.js +25 -87
  226. package/dist/es/standards-sdk.es67.js.map +1 -1
  227. package/dist/es/standards-sdk.es68.js +95 -3
  228. package/dist/es/standards-sdk.es68.js.map +1 -1
  229. package/dist/es/standards-sdk.es69.js +3 -100
  230. package/dist/es/standards-sdk.es69.js.map +1 -1
  231. package/dist/es/standards-sdk.es7.js +1 -1
  232. package/dist/es/standards-sdk.es70.js +62 -61
  233. package/dist/es/standards-sdk.es70.js.map +1 -1
  234. package/dist/es/standards-sdk.es71.js +98 -17
  235. package/dist/es/standards-sdk.es71.js.map +1 -1
  236. package/dist/es/standards-sdk.es72.js +19 -77
  237. package/dist/es/standards-sdk.es72.js.map +1 -1
  238. package/dist/es/standards-sdk.es73.js +77 -458
  239. package/dist/es/standards-sdk.es73.js.map +1 -1
  240. package/dist/es/standards-sdk.es74.js +240 -106
  241. package/dist/es/standards-sdk.es74.js.map +1 -1
  242. package/dist/es/standards-sdk.es75.js +286 -170
  243. package/dist/es/standards-sdk.es75.js.map +1 -1
  244. package/dist/es/standards-sdk.es76.js +207 -71
  245. package/dist/es/standards-sdk.es76.js.map +1 -1
  246. package/dist/es/standards-sdk.es77.js +72 -71
  247. package/dist/es/standards-sdk.es77.js.map +1 -1
  248. package/dist/es/standards-sdk.es78.js +71 -143
  249. package/dist/es/standards-sdk.es78.js.map +1 -1
  250. package/dist/es/standards-sdk.es79.js +136 -62
  251. package/dist/es/standards-sdk.es79.js.map +1 -1
  252. package/dist/es/standards-sdk.es80.js +45 -380
  253. package/dist/es/standards-sdk.es80.js.map +1 -1
  254. package/dist/es/standards-sdk.es81.js +130 -222
  255. package/dist/es/standards-sdk.es81.js.map +1 -1
  256. package/dist/es/standards-sdk.es82.js +444 -313
  257. package/dist/es/standards-sdk.es82.js.map +1 -1
  258. package/dist/es/standards-sdk.es83.js +364 -88
  259. package/dist/es/standards-sdk.es83.js.map +1 -1
  260. package/dist/es/standards-sdk.es84.js +89 -125
  261. package/dist/es/standards-sdk.es84.js.map +1 -1
  262. package/dist/es/standards-sdk.es85.js +125 -8
  263. package/dist/es/standards-sdk.es85.js.map +1 -1
  264. package/dist/es/standards-sdk.es86.js +6 -45
  265. package/dist/es/standards-sdk.es86.js.map +1 -1
  266. package/dist/es/standards-sdk.es87.js +44 -98
  267. package/dist/es/standards-sdk.es87.js.map +1 -1
  268. package/dist/es/standards-sdk.es88.js +84 -331
  269. package/dist/es/standards-sdk.es88.js.map +1 -1
  270. package/dist/es/standards-sdk.es89.js +160 -93
  271. package/dist/es/standards-sdk.es89.js.map +1 -1
  272. package/dist/es/standards-sdk.es9.js +2 -2
  273. package/dist/es/standards-sdk.es90.js +275 -55
  274. package/dist/es/standards-sdk.es90.js.map +1 -1
  275. package/dist/es/standards-sdk.es91.js +55 -43
  276. package/dist/es/standards-sdk.es91.js.map +1 -1
  277. package/dist/es/standards-sdk.es92.js +44 -145
  278. package/dist/es/standards-sdk.es92.js.map +1 -1
  279. package/dist/es/standards-sdk.es93.js +113 -30
  280. package/dist/es/standards-sdk.es93.js.map +1 -1
  281. package/dist/es/standards-sdk.es94.js +59 -22
  282. package/dist/es/standards-sdk.es94.js.map +1 -1
  283. package/dist/es/standards-sdk.es95.js +28 -23
  284. package/dist/es/standards-sdk.es95.js.map +1 -1
  285. package/dist/es/standards-sdk.es96.js +23 -238
  286. package/dist/es/standards-sdk.es96.js.map +1 -1
  287. package/dist/es/standards-sdk.es97.js +225 -267
  288. package/dist/es/standards-sdk.es97.js.map +1 -1
  289. package/dist/es/standards-sdk.es98.js +220 -95
  290. package/dist/es/standards-sdk.es98.js.map +1 -1
  291. package/dist/es/standards-sdk.es99.js +136 -124
  292. package/dist/es/standards-sdk.es99.js.map +1 -1
  293. package/package.json +4 -1
@@ -1,260 +1,50 @@
1
- import { canonicalizeAgentData } from "./standards-sdk.es55.js";
2
- import { createUaid, parseHcs14Did } from "./standards-sdk.es56.js";
3
- import { isHederaNetwork, isHederaCaip10, toHederaCaip10, parseHederaCaip10, isEip155Caip10, toEip155Caip10 } from "./standards-sdk.es57.js";
4
- import { ResolverRegistry } from "./standards-sdk.es58.js";
5
- import { HieroDidResolver } from "./standards-sdk.es59.js";
6
- import { HCS11ProfileResolver } from "./standards-sdk.es60.js";
7
- import { AidDnsWebProfileResolver } from "./standards-sdk.es61.js";
8
- import { UaidDnsWebProfileResolver } from "./standards-sdk.es62.js";
9
- import { UaidDidResolutionProfileResolver } from "./standards-sdk.es63.js";
10
- import { IssuerRegistry } from "./standards-sdk.es66.js";
11
- import { HederaHieroIssuer } from "./standards-sdk.es67.js";
12
- import { Client } from "@hashgraph/sdk";
13
- import { HCS11Client } from "./standards-sdk.es27.js";
14
- import { Logger } from "./standards-sdk.es116.js";
15
- import { HederaMirrorNode } from "./standards-sdk.es137.js";
16
- import "axios";
17
- import "path";
18
- import "buffer";
19
- import "crypto";
20
- import "@noble/curves/secp256k1.js";
21
- import "./standards-sdk.es138.js";
22
- import "./standards-sdk.es140.js";
23
- import "zod";
24
- import "@hashgraph/proto";
25
- import "ethers";
26
- import "./standards-sdk.es133.js";
27
- import "./standards-sdk.es124.js";
28
- import { createNodeOperatorContext } from "./standards-sdk.es151.js";
29
- import { HCS10Client } from "./standards-sdk.es18.js";
30
- class HCS14Client {
31
- constructor(options) {
32
- this.registry = options?.registry ?? new ResolverRegistry();
33
- this.issuers = new IssuerRegistry();
34
- this.registerHederaIssuer();
35
- this.registerHederaResolver();
36
- this.registerUaidDnsWebProfileResolver();
37
- this.registerAidDnsWebProfileResolver();
38
- this.registerUaidDidResolutionProfileResolver();
39
- this.registerHcs11ProfileResolver();
40
- this.logger = Logger.getInstance({ module: "HCS-14" });
41
- this.client = options?.client;
42
- this.network = options?.network;
43
- this.operatorId = options?.operatorId;
44
- if (!this.client && options?.network && options?.operatorId && options?.privateKey) {
45
- this.configureHederaClient(
46
- options.network,
47
- options.operatorId,
48
- options.privateKey
49
- );
50
- }
51
- if (options?.privateKey) {
52
- this.operatorPrivateKey = options.privateKey;
53
- }
54
- if (options?.hcs10Client) {
55
- this.hcs10Client = options.hcs10Client;
56
- }
57
- }
58
- configureHederaClient(network, operatorId, privateKey) {
59
- const ctx = createNodeOperatorContext({
60
- network,
61
- operatorId,
62
- operatorKey: privateKey,
63
- mirrorNode: new HederaMirrorNode(network),
64
- logger: this.logger,
65
- client: Client.forName(network)
66
- });
67
- this.operatorCtx = ctx;
68
- this.client = ctx.client;
69
- this.network = network;
70
- this.operatorId = operatorId;
71
- this.operatorPrivateKey = privateKey;
72
- }
73
- async ensureInitializedHedera() {
74
- if (!this.operatorCtx) {
75
- return;
76
- }
77
- await this.operatorCtx.ensureInitialized();
78
- if (!this.operatorId) {
79
- this.operatorId = this.operatorCtx.operatorId.toString();
80
- }
81
- if (!this.operatorPrivateKey) {
82
- this.operatorPrivateKey = this.operatorCtx.operatorKey.toString();
83
- }
84
- if (!this.client) {
85
- this.client = this.operatorCtx.client;
86
- }
87
- }
88
- /**
89
- * DID issuance adapters
90
- */
91
- getIssuerRegistry() {
92
- return this.issuers;
93
- }
94
- /** Convenience: list registered issuers with metadata. */
95
- listIssuers() {
96
- return this.issuers.list();
97
- }
98
- /** Convenience: list registered resolvers with metadata. */
99
- listResolvers() {
100
- return this.registry.list();
101
- }
102
- listProfileResolvers() {
103
- return this.registry.listProfileResolvers();
104
- }
105
- listUaidProfileResolvers() {
106
- return this.registry.listUaidProfileResolvers();
107
- }
108
- /** Convenience: filter issuers by DID method. */
109
- filterIssuersByMethod(method) {
110
- return this.issuers.filterByDidMethod(method);
111
- }
112
- /** Convenience: filter resolvers by DID method. */
113
- filterResolversByMethod(method) {
114
- return this.registry.filterByDidMethod(method);
115
- }
116
- filterProfileResolversByMethod(method) {
117
- return this.registry.filterProfileResolversByDidMethod(method);
118
- }
119
- filterUaidProfileResolversByMethod(method) {
120
- return this.registry.filterUaidProfileResolversByDidMethod(method);
121
- }
122
- filterUaidProfileResolversByProfileId(profileId) {
123
- return this.registry.filterUaidProfileResolversByProfileId(profileId);
124
- }
125
- registerHederaIssuer() {
126
- this.issuers.register(new HederaHieroIssuer());
127
- }
128
- async createDid(request) {
129
- return this.issuers.issue(request);
130
- }
131
- canonicalizeAgentData(input) {
132
- return canonicalizeAgentData(input);
133
- }
134
- createUaid(input, params, options) {
135
- if (typeof input === "string") {
136
- return createUaid(input, params);
137
- }
138
- return createUaid(input, params, options);
139
- }
140
- parseHcs14Did(did) {
141
- return parseHcs14Did(did);
142
- }
143
- isHederaNetwork(value) {
144
- return isHederaNetwork(value);
145
- }
146
- isHederaCaip10(value) {
147
- return isHederaCaip10(value);
148
- }
149
- toHederaCaip10(network, accountId) {
150
- return toHederaCaip10(network, accountId);
151
- }
152
- parseHederaCaip10(value) {
153
- return parseHederaCaip10(value);
154
- }
155
- isEip155Caip10(value) {
156
- return isEip155Caip10(value);
157
- }
158
- toEip155Caip10(chainId, address) {
159
- return toEip155Caip10(chainId, address);
160
- }
161
- getResolverRegistry() {
162
- return this.registry;
163
- }
164
- registerProfileResolver(resolver) {
165
- this.registry.registerProfileResolver(resolver);
166
- }
167
- registerUaidProfileResolver(resolver) {
168
- this.registry.registerUaidProfileResolver(resolver);
169
- }
170
- registerHederaResolver() {
171
- this.registry.register(new HieroDidResolver());
1
+ import { optionalImport } from "./standards-sdk.es157.js";
2
+ let resolveTxtLoader = null;
3
+ function isNoRecordError(error) {
4
+ if (!error || typeof error !== "object") {
5
+ return false;
172
6
  }
173
- registerHcs11ProfileResolver() {
174
- this.registry.registerProfileResolver(new HCS11ProfileResolver());
7
+ const code = Reflect.get(error, "code");
8
+ if (typeof code !== "string") {
9
+ return false;
175
10
  }
176
- registerUaidDidResolutionProfileResolver() {
177
- this.registry.registerUaidProfileResolver(
178
- new UaidDidResolutionProfileResolver()
179
- );
180
- }
181
- registerAidDnsWebProfileResolver(options) {
182
- this.registry.registerUaidProfileResolver(
183
- new AidDnsWebProfileResolver(options)
184
- );
185
- }
186
- registerUaidDnsWebProfileResolver(options) {
187
- this.registry.registerUaidProfileResolver(
188
- new UaidDnsWebProfileResolver(options)
189
- );
190
- }
191
- async resolveDidProfile(did) {
192
- return this.registry.resolveDidProfile(did);
11
+ return code === "ENOTFOUND" || code === "ENODATA" || code === "ENOENT" || code === "ENONAME" || code === "NXDOMAIN";
12
+ }
13
+ async function loadResolveTxt() {
14
+ if (!resolveTxtLoader) {
15
+ resolveTxtLoader = (async () => {
16
+ const nodeDnsModule = await optionalImport(
17
+ "node:dns/promises",
18
+ { preferImport: true }
19
+ );
20
+ if (nodeDnsModule?.resolveTxt) {
21
+ return nodeDnsModule.resolveTxt;
22
+ }
23
+ const dnsModule = await optionalImport(
24
+ "dns/promises",
25
+ { preferImport: true }
26
+ );
27
+ return dnsModule?.resolveTxt ?? null;
28
+ })();
193
29
  }
194
- async resolveUaidProfile(uaid, options) {
195
- return this.registry.resolveUaidProfile(uaid, options);
30
+ return resolveTxtLoader;
31
+ }
32
+ const nodeDnsTxtLookup = async (hostname) => {
33
+ const resolveTxt = await loadResolveTxt();
34
+ if (!resolveTxt) {
35
+ return [];
196
36
  }
197
- /**
198
- * Issue a DID via adapters and immediately wrap as UAID with routing params.
199
- * For Hedera + proto=hcs-10, nativeId and uid are derived when possible.
200
- */
201
- async createDidWithUaid(options) {
202
- const did = await this.createDid(options.issue);
203
- let uid = options.uid;
204
- const proto = options.proto;
205
- let nativeId = options.nativeId;
206
- const isHedera = options.issue.method === "hedera";
207
- if (isHedera) {
208
- await this.ensureInitializedHedera();
209
- if (!nativeId) {
210
- if (!this.network || !this.operatorId) {
211
- throw new Error(
212
- "nativeId not provided and network/operatorId are not configured"
213
- );
214
- }
215
- nativeId = toHederaCaip10(this.network, this.operatorId);
216
- }
217
- if (!uid && proto === "hcs-10" && this.network && this.operatorId) {
218
- try {
219
- if (!this.hcs10Client && this.operatorPrivateKey) {
220
- this.hcs10Client = new HCS10Client({
221
- network: this.network,
222
- operatorId: this.operatorId,
223
- operatorPrivateKey: this.operatorPrivateKey,
224
- silent: true
225
- });
226
- }
227
- if (this.hcs10Client) {
228
- uid = await this.hcs10Client.getOperatorId();
229
- } else {
230
- const h11 = new HCS11Client({
231
- network: this.network,
232
- auth: { operatorId: this.operatorId },
233
- silent: true
234
- });
235
- const fetched = await h11.fetchProfileByAccountId(
236
- this.operatorId,
237
- this.network
238
- );
239
- const inbound = fetched?.topicInfo?.inboundTopic;
240
- uid = inbound ? `${inbound}@${this.operatorId}` : this.operatorId;
241
- }
242
- } catch {
243
- uid = this.operatorId;
244
- }
245
- }
37
+ try {
38
+ const response = await resolveTxt(hostname);
39
+ return response.map((chunks) => chunks.join(""));
40
+ } catch (error) {
41
+ if (isNoRecordError(error)) {
42
+ return [];
246
43
  }
247
- uid = uid ?? "0";
248
- const uaid = this.createUaid(did, {
249
- uid,
250
- proto,
251
- nativeId
252
- });
253
- const parsed = parseHcs14Did(uaid);
254
- return { did, uaid, parsed };
44
+ throw error;
255
45
  }
256
- }
46
+ };
257
47
  export {
258
- HCS14Client
48
+ nodeDnsTxtLookup
259
49
  };
260
50
  //# sourceMappingURL=standards-sdk.es65.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es65.js","sources":["../../src/hcs-14/sdk.ts"],"sourcesContent":["import {\n CanonicalizationResult,\n CanonicalAgentData,\n DidRoutingParams,\n ParsedHcs14Did,\n} from './types';\nimport { canonicalizeAgentData } from './canonical';\nimport { createUaid as createUaidFn, parseHcs14Did } from './did';\nimport {\n isHederaNetwork,\n isHederaCaip10,\n toHederaCaip10,\n parseHederaCaip10,\n isEip155Caip10,\n toEip155Caip10,\n} from './caip';\nimport {\n ResolverRegistry,\n type ResolveUaidProfileOptions,\n} from './resolvers/registry';\nimport { HieroDidResolver } from './resolvers/hiero';\nimport { HCS11ProfileResolver } from './resolvers/hcs-11-profile';\nimport {\n AidDnsWebProfileResolver,\n type AidDnsWebResolverOptions,\n} from './resolvers/aid-dns-web-profile';\nimport {\n UaidDnsWebProfileResolver,\n type UaidDnsWebResolverOptions,\n} from './resolvers/uaid-dns-web-profile';\nimport { UaidDidResolutionProfileResolver } from './resolvers/uaid-did-resolution-profile';\nimport { IssuerRegistry } from './issuers/registry';\nimport { HederaHieroIssuer } from './issuers/hiero';\nimport type { DidIssueRequest } from './issuers/types';\nimport { Client } from '@hashgraph/sdk';\nimport { HCS11Client } from '../hcs-11/client';\nimport { NetworkType, Logger, type ILogger } from '../utils';\nimport { HederaMirrorNode } from '../services';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { HCS10Client } from '../hcs-10/sdk';\n\n/**\n * HCS-14 SDK client - lightweight facade around AID/UAID helpers and resolver registry.\n */\nexport interface HCS14ClientOptions {\n client?: Client;\n network?: NetworkType;\n operatorId?: string;\n privateKey?: string;\n registry?: ResolverRegistry;\n hcs10Client?: HCS10Client;\n}\n\nexport class HCS14Client {\n private readonly registry: ResolverRegistry;\n private client?: Client;\n private network?: NetworkType;\n private operatorId?: string;\n private operatorPrivateKey?: string;\n private hcs10Client?: HCS10Client;\n private issuers: IssuerRegistry;\n private operatorCtx?: NodeOperatorContext;\n private logger: ILogger;\n\n constructor(options?: HCS14ClientOptions) {\n this.registry = options?.registry ?? new ResolverRegistry();\n this.issuers = new IssuerRegistry();\n this.registerHederaIssuer();\n this.registerHederaResolver();\n this.registerUaidDnsWebProfileResolver();\n this.registerAidDnsWebProfileResolver();\n this.registerUaidDidResolutionProfileResolver();\n this.registerHcs11ProfileResolver();\n this.logger = Logger.getInstance({ module: 'HCS-14' });\n this.client = options?.client;\n this.network = options?.network;\n this.operatorId = options?.operatorId;\n if (\n !this.client &&\n options?.network &&\n options?.operatorId &&\n options?.privateKey\n ) {\n this.configureHederaClient(\n options.network,\n options.operatorId,\n options.privateKey,\n );\n }\n if (options?.privateKey) {\n this.operatorPrivateKey = options.privateKey;\n }\n if (options?.hcs10Client) {\n this.hcs10Client = options.hcs10Client;\n }\n }\n\n configureHederaClient(\n network: NetworkType,\n operatorId: string,\n privateKey: string,\n ): void {\n const ctx = createNodeOperatorContext({\n network,\n operatorId,\n operatorKey: privateKey,\n mirrorNode: new HederaMirrorNode(network),\n logger: this.logger,\n client: Client.forName(network),\n });\n this.operatorCtx = ctx;\n this.client = ctx.client;\n this.network = network;\n this.operatorId = operatorId;\n this.operatorPrivateKey = privateKey;\n }\n\n private async ensureInitializedHedera(): Promise<void> {\n if (!this.operatorCtx) {\n return;\n }\n await this.operatorCtx.ensureInitialized();\n if (!this.operatorId) {\n this.operatorId = this.operatorCtx.operatorId.toString();\n }\n if (!this.operatorPrivateKey) {\n this.operatorPrivateKey = this.operatorCtx.operatorKey.toString();\n }\n if (!this.client) {\n this.client = this.operatorCtx.client;\n }\n }\n\n /**\n * DID issuance adapters\n */\n getIssuerRegistry(): IssuerRegistry {\n return this.issuers;\n }\n\n /** Convenience: list registered issuers with metadata. */\n listIssuers(): ReadonlyArray<import('./issuers/types').DidIssuer> {\n return this.issuers.list();\n }\n\n /** Convenience: list registered resolvers with metadata. */\n listResolvers(): ReadonlyArray<import('./resolvers/types').DidResolver> {\n return this.registry.list();\n }\n\n listProfileResolvers(): ReadonlyArray<\n import('./resolvers/types').DidProfileResolver\n > {\n return this.registry.listProfileResolvers();\n }\n\n listUaidProfileResolvers(): ReadonlyArray<\n import('./resolvers/types').UaidProfileResolver\n > {\n return this.registry.listUaidProfileResolvers();\n }\n\n /** Convenience: filter issuers by DID method. */\n filterIssuersByMethod(method: string) {\n return this.issuers.filterByDidMethod(method);\n }\n\n /** Convenience: filter resolvers by DID method. */\n filterResolversByMethod(method: string) {\n return this.registry.filterByDidMethod(method);\n }\n\n filterProfileResolversByMethod(method: string) {\n return this.registry.filterProfileResolversByDidMethod(method);\n }\n\n filterUaidProfileResolversByMethod(method: string) {\n return this.registry.filterUaidProfileResolversByDidMethod(method);\n }\n\n filterUaidProfileResolversByProfileId(profileId: string) {\n return this.registry.filterUaidProfileResolversByProfileId(profileId);\n }\n\n registerHederaIssuer(): void {\n this.issuers.register(new HederaHieroIssuer());\n }\n\n async createDid(request: DidIssueRequest): Promise<string> {\n return this.issuers.issue(request);\n }\n\n canonicalizeAgentData(input: unknown): CanonicalizationResult {\n return canonicalizeAgentData(input);\n }\n\n createUaid(existingDid: string, params?: DidRoutingParams): string;\n createUaid(\n input: CanonicalAgentData | string,\n params?: DidRoutingParams,\n options?: { includeParams?: boolean },\n ): Promise<string> | string {\n if (typeof input === 'string') {\n return createUaidFn(input, params);\n }\n return createUaidFn(input, params, options);\n }\n\n parseHcs14Did(did: string): ParsedHcs14Did {\n return parseHcs14Did(did);\n }\n\n isHederaNetwork(value: string): boolean {\n return isHederaNetwork(value);\n }\n isHederaCaip10(value: string): boolean {\n return isHederaCaip10(value);\n }\n toHederaCaip10(\n network: Parameters<typeof toHederaCaip10>[0],\n accountId: string,\n ): string {\n return toHederaCaip10(network, accountId);\n }\n parseHederaCaip10(value: string): {\n network: Parameters<typeof toHederaCaip10>[0];\n accountId: string;\n } {\n return parseHederaCaip10(value);\n }\n isEip155Caip10(value: string): boolean {\n return isEip155Caip10(value);\n }\n toEip155Caip10(chainId: number | string, address: string): string {\n return toEip155Caip10(chainId, address);\n }\n\n getResolverRegistry(): ResolverRegistry {\n return this.registry;\n }\n\n registerProfileResolver(\n resolver: import('./resolvers/types').DidProfileResolver,\n ): void {\n this.registry.registerProfileResolver(resolver);\n }\n\n registerUaidProfileResolver(\n resolver: import('./resolvers/types').UaidProfileResolver,\n ): void {\n this.registry.registerUaidProfileResolver(resolver);\n }\n\n registerHederaResolver(): void {\n this.registry.register(new HieroDidResolver());\n }\n\n registerHcs11ProfileResolver(): void {\n this.registry.registerProfileResolver(new HCS11ProfileResolver());\n }\n\n registerUaidDidResolutionProfileResolver(): void {\n this.registry.registerUaidProfileResolver(\n new UaidDidResolutionProfileResolver(),\n );\n }\n\n registerAidDnsWebProfileResolver(options?: AidDnsWebResolverOptions): void {\n this.registry.registerUaidProfileResolver(\n new AidDnsWebProfileResolver(options),\n );\n }\n\n registerUaidDnsWebProfileResolver(options?: UaidDnsWebResolverOptions): void {\n this.registry.registerUaidProfileResolver(\n new UaidDnsWebProfileResolver(options),\n );\n }\n\n async resolveDidProfile(\n did: string,\n ): Promise<import('./resolvers/types').DidResolutionProfile> {\n return this.registry.resolveDidProfile(did);\n }\n\n async resolveUaidProfile(\n uaid: string,\n options?: ResolveUaidProfileOptions,\n ): Promise<import('./resolvers/types').DidResolutionProfile | null> {\n return this.registry.resolveUaidProfile(uaid, options);\n }\n\n /**\n * Issue a DID via adapters and immediately wrap as UAID with routing params.\n * For Hedera + proto=hcs-10, nativeId and uid are derived when possible.\n */\n async createDidWithUaid(options: {\n issue: DidIssueRequest;\n uid?: string;\n proto?: string;\n nativeId?: string;\n }): Promise<{ did: string; uaid: string; parsed: ParsedHcs14Did }> {\n const did = await this.createDid(options.issue);\n let uid = options.uid;\n const proto = options.proto;\n let nativeId = options.nativeId;\n\n const isHedera = options.issue.method === 'hedera';\n if (isHedera) {\n await this.ensureInitializedHedera();\n if (!nativeId) {\n if (!this.network || !this.operatorId) {\n throw new Error(\n 'nativeId not provided and network/operatorId are not configured',\n );\n }\n nativeId = toHederaCaip10(this.network, this.operatorId);\n }\n if (!uid && proto === 'hcs-10' && this.network && this.operatorId) {\n try {\n if (!this.hcs10Client && this.operatorPrivateKey) {\n this.hcs10Client = new HCS10Client({\n network: this.network,\n operatorId: this.operatorId,\n operatorPrivateKey: this.operatorPrivateKey,\n silent: true,\n });\n }\n if (this.hcs10Client) {\n uid = await this.hcs10Client.getOperatorId();\n } else {\n const h11 = new HCS11Client({\n network: this.network,\n auth: { operatorId: this.operatorId },\n silent: true,\n });\n const fetched = await h11.fetchProfileByAccountId(\n this.operatorId,\n this.network,\n );\n const inbound = fetched?.topicInfo?.inboundTopic;\n uid = inbound ? `${inbound}@${this.operatorId}` : this.operatorId;\n }\n } catch {\n uid = this.operatorId;\n }\n }\n }\n\n uid = uid ?? '0';\n const uaid = this.createUaid(did, {\n uid,\n proto,\n nativeId,\n });\n const parsed = parseHcs14Did(uaid);\n return { did, uaid, parsed };\n }\n}\n\nexport type {\n CanonicalizationResult,\n CanonicalAgentData,\n DidRoutingParams,\n ParsedHcs14Did,\n};\n"],"names":["createUaidFn"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es65.js","sources":["../../src/hcs-14/resolvers/dns.ts"],"sourcesContent":["import { optionalImport } from '../../utils/dynamic-import';\n\ntype DnsResolveTxt = (hostname: string) => Promise<string[][]>;\n\ntype DnsPromisesModule = {\n resolveTxt?: DnsResolveTxt;\n};\n\nexport type DnsTxtLookup = (hostname: string) => Promise<string[]>;\n\nlet resolveTxtLoader: Promise<DnsResolveTxt | null> | null = null;\n\nfunction isNoRecordError(error: unknown): boolean {\n if (!error || typeof error !== 'object') {\n return false;\n }\n const code = Reflect.get(error, 'code');\n if (typeof code !== 'string') {\n return false;\n }\n return (\n code === 'ENOTFOUND' ||\n code === 'ENODATA' ||\n code === 'ENOENT' ||\n code === 'ENONAME' ||\n code === 'NXDOMAIN'\n );\n}\n\nasync function loadResolveTxt(): Promise<DnsResolveTxt | null> {\n if (!resolveTxtLoader) {\n resolveTxtLoader = (async () => {\n const nodeDnsModule = await optionalImport<DnsPromisesModule>(\n 'node:dns/promises',\n { preferImport: true },\n );\n if (nodeDnsModule?.resolveTxt) {\n return nodeDnsModule.resolveTxt;\n }\n\n const dnsModule = await optionalImport<DnsPromisesModule>(\n 'dns/promises',\n { preferImport: true },\n );\n return dnsModule?.resolveTxt ?? null;\n })();\n }\n\n return resolveTxtLoader;\n}\n\nexport const nodeDnsTxtLookup: DnsTxtLookup = async hostname => {\n const resolveTxt = await loadResolveTxt();\n if (!resolveTxt) {\n return [];\n }\n\n try {\n const response = await resolveTxt(hostname);\n return response.map(chunks => chunks.join(''));\n } catch (error) {\n if (isNoRecordError(error)) {\n return [];\n }\n throw error as Error;\n }\n};\n"],"names":[],"mappings":";AAUA,IAAI,mBAAyD;AAE7D,SAAS,gBAAgB,OAAyB;AAChD,MAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACvC,WAAO;AAAA,EACT;AACA,QAAM,OAAO,QAAQ,IAAI,OAAO,MAAM;AACtC,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AACA,SACE,SAAS,eACT,SAAS,aACT,SAAS,YACT,SAAS,aACT,SAAS;AAEb;AAEA,eAAe,iBAAgD;AAC7D,MAAI,CAAC,kBAAkB;AACrB,wBAAoB,YAAY;AAC9B,YAAM,gBAAgB,MAAM;AAAA,QAC1B;AAAA,QACA,EAAE,cAAc,KAAA;AAAA,MAAK;AAEvB,UAAI,eAAe,YAAY;AAC7B,eAAO,cAAc;AAAA,MACvB;AAEA,YAAM,YAAY,MAAM;AAAA,QACtB;AAAA,QACA,EAAE,cAAc,KAAA;AAAA,MAAK;AAEvB,aAAO,WAAW,cAAc;AAAA,IAClC,GAAA;AAAA,EACF;AAEA,SAAO;AACT;AAEO,MAAM,mBAAiC,OAAM,aAAY;AAC9D,QAAM,aAAa,MAAM,eAAA;AACzB,MAAI,CAAC,YAAY;AACf,WAAO,CAAA;AAAA,EACT;AAEA,MAAI;AACF,UAAM,WAAW,MAAM,WAAW,QAAQ;AAC1C,WAAO,SAAS,IAAI,CAAA,WAAU,OAAO,KAAK,EAAE,CAAC;AAAA,EAC/C,SAAS,OAAO;AACd,QAAI,gBAAgB,KAAK,GAAG;AAC1B,aAAO,CAAA;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;"}
@@ -1,37 +1,270 @@
1
- class IssuerRegistry {
2
- constructor() {
3
- this.issuers = [];
1
+ import { canonicalizeAgentData } from "./standards-sdk.es55.js";
2
+ import { createUaid, parseHcs14Did } from "./standards-sdk.es56.js";
3
+ import { isHederaNetwork, isHederaCaip10, toHederaCaip10, parseHederaCaip10, isEip155Caip10, toEip155Caip10 } from "./standards-sdk.es57.js";
4
+ import { ResolverRegistry } from "./standards-sdk.es59.js";
5
+ import { HieroDidResolver } from "./standards-sdk.es60.js";
6
+ import { HCS11ProfileResolver } from "./standards-sdk.es61.js";
7
+ import { AidDnsWebProfileResolver } from "./standards-sdk.es62.js";
8
+ import { UaidDnsWebProfileResolver } from "./standards-sdk.es63.js";
9
+ import { UaidDidResolutionProfileResolver } from "./standards-sdk.es64.js";
10
+ import { IssuerRegistry } from "./standards-sdk.es67.js";
11
+ import { HederaHieroIssuer } from "./standards-sdk.es68.js";
12
+ import { Client } from "@hashgraph/sdk";
13
+ import { HCS11Client } from "./standards-sdk.es27.js";
14
+ import { Logger } from "./standards-sdk.es117.js";
15
+ import { HederaMirrorNode } from "./standards-sdk.es138.js";
16
+ import "axios";
17
+ import "path";
18
+ import "buffer";
19
+ import "crypto";
20
+ import "@noble/curves/secp256k1.js";
21
+ import "./standards-sdk.es139.js";
22
+ import "./standards-sdk.es141.js";
23
+ import "zod";
24
+ import "@hashgraph/proto";
25
+ import "ethers";
26
+ import "./standards-sdk.es134.js";
27
+ import "./standards-sdk.es125.js";
28
+ import { createNodeOperatorContext } from "./standards-sdk.es152.js";
29
+ import { HCS10Client } from "./standards-sdk.es18.js";
30
+ class HCS14Client {
31
+ constructor(options) {
32
+ this.registry = options?.registry ?? new ResolverRegistry();
33
+ this.issuers = new IssuerRegistry();
34
+ this.registerHederaIssuer();
35
+ this.registerHederaResolver();
36
+ this.registerUaidDnsWebProfileResolver();
37
+ this.registerAidDnsWebProfileResolver();
38
+ this.registerUaidDidResolutionProfileResolver();
39
+ this.registerHcs11ProfileResolver();
40
+ this.logger = Logger.getInstance({ module: "HCS-14" });
41
+ this.client = options?.client;
42
+ this.network = options?.network;
43
+ this.operatorId = options?.operatorId;
44
+ if (!this.client && options?.network && options?.operatorId && options?.privateKey) {
45
+ this.configureHederaClient(
46
+ options.network,
47
+ options.operatorId,
48
+ options.privateKey
49
+ );
50
+ }
51
+ if (options?.privateKey) {
52
+ this.operatorPrivateKey = options.privateKey;
53
+ }
54
+ if (options?.hcs10Client) {
55
+ this.hcs10Client = options.hcs10Client;
56
+ }
57
+ }
58
+ configureHederaClient(network, operatorId, privateKey) {
59
+ const ctx = createNodeOperatorContext({
60
+ network,
61
+ operatorId,
62
+ operatorKey: privateKey,
63
+ mirrorNode: new HederaMirrorNode(network),
64
+ logger: this.logger,
65
+ client: Client.forName(network)
66
+ });
67
+ this.operatorCtx = ctx;
68
+ this.client = ctx.client;
69
+ this.network = network;
70
+ this.operatorId = operatorId;
71
+ this.operatorPrivateKey = privateKey;
72
+ }
73
+ async ensureInitializedHedera() {
74
+ if (!this.operatorCtx) {
75
+ return;
76
+ }
77
+ await this.operatorCtx.ensureInitialized();
78
+ if (!this.operatorId) {
79
+ this.operatorId = this.operatorCtx.operatorId.toString();
80
+ }
81
+ if (!this.operatorPrivateKey) {
82
+ this.operatorPrivateKey = this.operatorCtx.operatorKey.toString();
83
+ }
84
+ if (!this.client) {
85
+ this.client = this.operatorCtx.client;
86
+ }
87
+ }
88
+ /**
89
+ * DID issuance adapters
90
+ */
91
+ getIssuerRegistry() {
92
+ return this.issuers;
93
+ }
94
+ /** Convenience: list registered issuers with metadata. */
95
+ listIssuers() {
96
+ return this.issuers.list();
97
+ }
98
+ registerAdapter(adapter) {
99
+ this.registry.registerAdapter(adapter);
100
+ }
101
+ listAdapters() {
102
+ return this.registry.listAdapters();
103
+ }
104
+ filterAdapters(options = {}) {
105
+ return this.registry.filterAdapters(options);
106
+ }
107
+ /** @deprecated Use listAdapters()/filterAdapters() instead. */
108
+ listResolvers() {
109
+ return this.registry.list();
110
+ }
111
+ /** @deprecated Use listAdapters()/filterAdapters() instead. */
112
+ listProfileResolvers() {
113
+ return this.registry.listProfileResolvers();
114
+ }
115
+ /** @deprecated Use listAdapters()/filterAdapters() instead. */
116
+ listUaidProfileResolvers() {
117
+ return this.registry.listUaidProfileResolvers();
118
+ }
119
+ /** Convenience: filter issuers by DID method. */
120
+ filterIssuersByMethod(method) {
121
+ return this.issuers.filterByDidMethod(method);
122
+ }
123
+ /** @deprecated Use filterAdapters({ capability: 'did-resolver', didMethod }) instead. */
124
+ filterResolversByMethod(method) {
125
+ return this.registry.filterByDidMethod(method);
126
+ }
127
+ /** @deprecated Use filterAdapters({ capability: 'did-profile-resolver', didMethod }) instead. */
128
+ filterProfileResolversByMethod(method) {
129
+ return this.registry.filterProfileResolversByDidMethod(method);
4
130
  }
5
- register(issuer) {
6
- this.issuers.push(issuer);
131
+ /** @deprecated Use filterAdapters({ capability: 'uaid-profile-resolver', didMethod }) instead. */
132
+ filterUaidProfileResolversByMethod(method) {
133
+ return this.registry.filterUaidProfileResolversByDidMethod(method);
7
134
  }
8
- list() {
9
- return [...this.issuers];
135
+ /** @deprecated Use filterAdapters({ capability: 'uaid-profile-resolver', profileId }) instead. */
136
+ filterUaidProfileResolversByProfileId(profileId) {
137
+ return this.registry.filterUaidProfileResolversByProfileId(profileId);
10
138
  }
11
- /** Return issuers that support a given DID method. */
12
- filterByDidMethod(method) {
13
- return this.issuers.filter((i) => i.meta.didMethods.includes(method));
139
+ registerHederaIssuer() {
140
+ this.issuers.register(new HederaHieroIssuer());
14
141
  }
15
- /** Return issuers that advertise a specific CAIP-2 network. */
16
- filterByCaip2(network) {
17
- return this.issuers.filter((i) => i.meta.caip2Networks?.includes(network));
142
+ async createDid(request) {
143
+ return this.issuers.issue(request);
18
144
  }
19
- /** Generic predicate-based filter. */
20
- filter(predicate) {
21
- return this.issuers.filter(predicate);
145
+ canonicalizeAgentData(input) {
146
+ return canonicalizeAgentData(input);
22
147
  }
23
- async issue(request) {
24
- for (const issuer of this.issuers) {
25
- if (issuer.supports(request.method)) {
26
- return issuer.issue(request);
148
+ createUaid(input, params, options) {
149
+ if (typeof input === "string") {
150
+ return createUaid(input, params);
151
+ }
152
+ return createUaid(input, params, options);
153
+ }
154
+ parseHcs14Did(did) {
155
+ return parseHcs14Did(did);
156
+ }
157
+ isHederaNetwork(value) {
158
+ return isHederaNetwork(value);
159
+ }
160
+ isHederaCaip10(value) {
161
+ return isHederaCaip10(value);
162
+ }
163
+ toHederaCaip10(network, accountId) {
164
+ return toHederaCaip10(network, accountId);
165
+ }
166
+ parseHederaCaip10(value) {
167
+ return parseHederaCaip10(value);
168
+ }
169
+ isEip155Caip10(value) {
170
+ return isEip155Caip10(value);
171
+ }
172
+ toEip155Caip10(chainId, address) {
173
+ return toEip155Caip10(chainId, address);
174
+ }
175
+ getResolverRegistry() {
176
+ return this.registry;
177
+ }
178
+ /** @deprecated Use registerAdapter() instead. */
179
+ registerProfileResolver(resolver) {
180
+ this.registry.registerProfileResolver(resolver);
181
+ }
182
+ /** @deprecated Use registerAdapter() instead. */
183
+ registerUaidProfileResolver(resolver) {
184
+ this.registry.registerUaidProfileResolver(resolver);
185
+ }
186
+ registerHederaResolver() {
187
+ this.registry.registerAdapter(new HieroDidResolver());
188
+ }
189
+ registerHcs11ProfileResolver() {
190
+ this.registry.registerAdapter(new HCS11ProfileResolver());
191
+ }
192
+ registerUaidDidResolutionProfileResolver() {
193
+ this.registry.registerAdapter(new UaidDidResolutionProfileResolver());
194
+ }
195
+ registerAidDnsWebProfileResolver(options) {
196
+ this.registry.registerAdapter(new AidDnsWebProfileResolver(options));
197
+ }
198
+ registerUaidDnsWebProfileResolver(options) {
199
+ this.registry.registerAdapter(new UaidDnsWebProfileResolver(options));
200
+ }
201
+ async resolveDidProfile(did) {
202
+ return this.registry.resolveDidProfile(did);
203
+ }
204
+ async resolveUaidProfile(uaid, options) {
205
+ return this.registry.resolveUaidProfile(uaid, options);
206
+ }
207
+ /**
208
+ * Issue a DID via adapters and immediately wrap as UAID with routing params.
209
+ * For Hedera + proto=hcs-10, nativeId and uid are derived when possible.
210
+ */
211
+ async createDidWithUaid(options) {
212
+ const did = await this.createDid(options.issue);
213
+ let uid = options.uid;
214
+ const proto = options.proto;
215
+ let nativeId = options.nativeId;
216
+ const isHedera = options.issue.method === "hedera";
217
+ if (isHedera) {
218
+ await this.ensureInitializedHedera();
219
+ if (!nativeId) {
220
+ if (!this.network || !this.operatorId) {
221
+ throw new Error(
222
+ "nativeId not provided and network/operatorId are not configured"
223
+ );
224
+ }
225
+ nativeId = toHederaCaip10(this.network, this.operatorId);
226
+ }
227
+ if (!uid && proto === "hcs-10" && this.network && this.operatorId) {
228
+ try {
229
+ if (!this.hcs10Client && this.operatorPrivateKey) {
230
+ this.hcs10Client = new HCS10Client({
231
+ network: this.network,
232
+ operatorId: this.operatorId,
233
+ operatorPrivateKey: this.operatorPrivateKey,
234
+ silent: true
235
+ });
236
+ }
237
+ if (this.hcs10Client) {
238
+ uid = await this.hcs10Client.getOperatorId();
239
+ } else {
240
+ const h11 = new HCS11Client({
241
+ network: this.network,
242
+ auth: { operatorId: this.operatorId },
243
+ silent: true
244
+ });
245
+ const fetched = await h11.fetchProfileByAccountId(
246
+ this.operatorId,
247
+ this.network
248
+ );
249
+ const inbound = fetched?.topicInfo?.inboundTopic;
250
+ uid = inbound ? `${inbound}@${this.operatorId}` : this.operatorId;
251
+ }
252
+ } catch {
253
+ uid = this.operatorId;
254
+ }
27
255
  }
28
256
  }
29
- throw new Error(`No issuer registered for method: ${request.method}`);
257
+ uid = uid ?? "0";
258
+ const uaid = this.createUaid(did, {
259
+ uid,
260
+ proto,
261
+ nativeId
262
+ });
263
+ const parsed = parseHcs14Did(uaid);
264
+ return { did, uaid, parsed };
30
265
  }
31
266
  }
32
- const defaultIssuerRegistry = new IssuerRegistry();
33
267
  export {
34
- IssuerRegistry,
35
- defaultIssuerRegistry
268
+ HCS14Client
36
269
  };
37
270
  //# sourceMappingURL=standards-sdk.es66.js.map