@hashgraphonline/standards-sdk 0.1.161 → 0.1.162
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.
- package/dist/cjs/hcs-14/index.d.ts +1 -0
- package/dist/cjs/hcs-14/index.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/hiero.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/hiero.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -0
- package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/types.d.ts +40 -5
- package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/sdk.d.ts +23 -1
- package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-14/index.d.ts +1 -0
- package/dist/es/hcs-14/index.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/hiero.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/hiero.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/registry.d.ts +21 -0
- package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/types.d.ts +40 -5
- package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/sdk.d.ts +23 -1
- package/dist/es/hcs-14/sdk.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +89 -86
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +136 -124
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +138 -42
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +43 -259
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +245 -82
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +50 -49
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +100 -29
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +27 -229
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +228 -109
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +94 -15
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +30 -80
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +80 -27
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +27 -248
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +246 -472
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +458 -85
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +96 -151
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +155 -29
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +26 -4
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +10 -140
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +140 -27
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +27 -20
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +18 -156
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +148 -191
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +160 -747
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +786 -9
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +13 -567
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +541 -576
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +601 -12
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +13 -2
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +2 -87
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +84 -37
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +40 -2
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +2 -235
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +204 -1109
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +1059 -225
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +303 -419
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +418 -351
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +347 -1108
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1088 -180
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +153 -1512
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +1567 -1255
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es140.js +1255 -17
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +15 -85
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +77 -71
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +79 -891
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +886 -53
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +53 -152
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +159 -7
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +7 -86
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +65 -44
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +65 -30
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es150.js +30 -34
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +34 -45
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +48 -138
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +133 -37
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +34 -12474
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +12477 -12
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +15 -54
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +48 -76
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +69 -66
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +71 -63
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +5 -5
- package/dist/es/standards-sdk.es160.js +188 -160
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +65 -314
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +232 -336
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +129 -410
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +200 -209
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +334 -64
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +442 -231
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +317 -158
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +61 -207
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +155 -222
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +178 -75
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +226 -113
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +77 -119
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +103 -162
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +141 -119
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +152 -298
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +120 -240
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +298 -83
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +262 -0
- package/dist/es/standards-sdk.es178.js.map +1 -0
- package/dist/es/standards-sdk.es179.js +119 -0
- package/dist/es/standards-sdk.es179.js.map +1 -0
- package/dist/es/standards-sdk.es18.js +12 -12
- package/dist/es/standards-sdk.es19.js +9 -9
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +12 -12
- package/dist/es/standards-sdk.es30.js +2 -2
- package/dist/es/standards-sdk.es31.js +4 -4
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es35.js +6 -6
- package/dist/es/standards-sdk.es36.js +4 -4
- package/dist/es/standards-sdk.es37.js +2 -2
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +1 -1
- package/dist/es/standards-sdk.es4.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +2 -2
- package/dist/es/standards-sdk.es46.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es51.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es58.js +37 -4
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +17 -10
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +2 -1
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +1 -0
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +19 -5
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +214 -153
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +205 -84
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +125 -40
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +41 -261
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +262 -24
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +25 -87
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +95 -3
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es70.js +3 -100
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +62 -61
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +98 -17
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +19 -77
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +77 -458
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +240 -106
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +286 -170
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +207 -71
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +72 -71
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +71 -143
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +136 -62
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +45 -380
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +130 -222
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +444 -313
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +364 -88
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +89 -125
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +125 -8
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +6 -45
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +44 -98
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +84 -331
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +160 -93
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +275 -55
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +55 -43
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +44 -145
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +113 -30
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +59 -22
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +28 -23
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +23 -238
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +225 -267
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +220 -95
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es67.js","sources":["../../src/hcs-14/issuers/registry.ts"],"sourcesContent":["/**\n * Issuer registry for HCS-14 DID adapters.\n */\n\nimport { DidIssueRequest, DidIssuer, IssuerRegistryApi } from './types';\n\nexport class IssuerRegistry implements IssuerRegistryApi {\n private issuers: DidIssuer[] = [];\n\n register(issuer: DidIssuer): void {\n this.issuers.push(issuer);\n }\n\n list(): DidIssuer[] {\n return [...this.issuers];\n }\n\n /** Return issuers that support a given DID method. */\n filterByDidMethod(method: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.didMethods.includes(method));\n }\n\n /** Return issuers that advertise a specific CAIP-2 network. */\n filterByCaip2(network: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.caip2Networks?.includes(network));\n }\n\n /** Generic predicate-based filter. */\n filter(predicate: (issuer: DidIssuer) => boolean): DidIssuer[] {\n return this.issuers.filter(predicate);\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n for (const issuer of this.issuers) {\n if (issuer.supports(request.method)) {\n return issuer.issue(request);\n }\n }\n throw new Error(`No issuer registered for method: ${request.method}`);\n }\n}\n\nexport const defaultIssuerRegistry = new IssuerRegistry();\n"],"names":[],"mappings":"AAMO,MAAM,eAA4C;AAAA,EAAlD,cAAA;AACL,SAAQ,UAAuB,CAAA;AAAA,EAAC;AAAA,EAEhC,SAAS,QAAyB;AAChC,SAAK,QAAQ,KAAK,MAAM;AAAA,EAC1B;AAAA,EAEA,OAAoB;AAClB,WAAO,CAAC,GAAG,KAAK,OAAO;AAAA,EACzB;AAAA;AAAA,EAGA,kBAAkB,QAA6B;AAC7C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,WAAW,SAAS,MAAM,CAAC;AAAA,EACpE;AAAA;AAAA,EAGA,cAAc,SAA8B;AAC1C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,eAAe,SAAS,OAAO,CAAC;AAAA,EACzE;AAAA;AAAA,EAGA,OAAO,WAAwD;AAC7D,WAAO,KAAK,QAAQ,OAAO,SAAS;AAAA,EACtC;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,eAAW,UAAU,KAAK,SAAS;AACjC,UAAI,OAAO,SAAS,QAAQ,MAAM,GAAG;AACnC,eAAO,OAAO,MAAM,OAAO;AAAA,MAC7B;AAAA,IACF;AACA,UAAM,IAAI,MAAM,oCAAoC,QAAQ,MAAM,EAAE;AAAA,EACtE;AACF;AAEO,MAAM,wBAAwB,IAAI,eAAA;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es67.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 type {\n DidProfileResolver,\n DidResolutionProfile,\n DidResolver,\n ResolverAdapter,\n ResolverAdapterFilterOptions,\n ResolverAdapterRecord,\n UaidProfileResolver,\n} from './resolvers/types';\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 AnsDnsWebProfileResolver,\n type AnsDnsWebResolverOptions,\n} from './resolvers/ans-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.registerAnsDnsWebProfileResolver();\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 registerAdapter(adapter: ResolverAdapter): void {\n this.registry.registerAdapter(adapter);\n }\n\n listAdapters(): ReadonlyArray<ResolverAdapterRecord> {\n return this.registry.listAdapters();\n }\n\n filterAdapters(\n options: ResolverAdapterFilterOptions & { capability: 'did-resolver' },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'did-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions & {\n capability: 'did-profile-resolver';\n },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'did-profile-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions & {\n capability: 'uaid-profile-resolver';\n },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'uaid-profile-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions & {\n profileId: string;\n capability?: undefined;\n },\n ): ReadonlyArray<\n Extract<ResolverAdapterRecord, { capability: 'uaid-profile-resolver' }>\n >;\n filterAdapters(\n options: ResolverAdapterFilterOptions = {},\n ): ReadonlyArray<ResolverAdapterRecord> {\n return this.registry.filterAdapters(options);\n }\n\n /** @deprecated Use listAdapters()/filterAdapters() instead. */\n listResolvers(): ReadonlyArray<DidResolver> {\n return this.registry.list();\n }\n\n /** @deprecated Use listAdapters()/filterAdapters() instead. */\n listProfileResolvers(): ReadonlyArray<DidProfileResolver> {\n return this.registry.listProfileResolvers();\n }\n\n /** @deprecated Use listAdapters()/filterAdapters() instead. */\n listUaidProfileResolvers(): ReadonlyArray<UaidProfileResolver> {\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 /** @deprecated Use filterAdapters({ capability: 'did-resolver', didMethod }) instead. */\n filterResolversByMethod(method: string) {\n return this.registry.filterByDidMethod(method);\n }\n\n /** @deprecated Use filterAdapters({ capability: 'did-profile-resolver', didMethod }) instead. */\n filterProfileResolversByMethod(method: string) {\n return this.registry.filterProfileResolversByDidMethod(method);\n }\n\n /** @deprecated Use filterAdapters({ capability: 'uaid-profile-resolver', didMethod }) instead. */\n filterUaidProfileResolversByMethod(method: string) {\n return this.registry.filterUaidProfileResolversByDidMethod(method);\n }\n\n /** @deprecated Use filterAdapters({ capability: 'uaid-profile-resolver', profileId }) instead. */\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 /** @deprecated Use registerAdapter() instead. */\n registerProfileResolver(resolver: DidProfileResolver): void {\n this.registry.registerProfileResolver(resolver);\n }\n\n /** @deprecated Use registerAdapter() instead. */\n registerUaidProfileResolver(resolver: UaidProfileResolver): void {\n this.registry.registerUaidProfileResolver(resolver);\n }\n\n registerHederaResolver(): void {\n this.registry.registerAdapter(new HieroDidResolver());\n }\n\n registerHcs11ProfileResolver(): void {\n this.registry.registerAdapter(new HCS11ProfileResolver());\n }\n\n registerUaidDidResolutionProfileResolver(): void {\n this.registry.registerAdapter(new UaidDidResolutionProfileResolver());\n }\n\n registerAidDnsWebProfileResolver(options?: AidDnsWebResolverOptions): void {\n this.registry.registerAdapter(new AidDnsWebProfileResolver(options));\n }\n\n registerAnsDnsWebProfileResolver(options?: AnsDnsWebResolverOptions): void {\n this.registry.registerAdapter(new AnsDnsWebProfileResolver(options));\n }\n\n registerUaidDnsWebProfileResolver(options?: UaidDnsWebResolverOptions): void {\n this.registry.registerAdapter(new UaidDnsWebProfileResolver(options));\n }\n\n async resolveDidProfile(did: string): Promise<DidResolutionProfile> {\n return this.registry.resolveDidProfile(did);\n }\n\n async resolveUaidProfile(\n uaid: string,\n options?: ResolveUaidProfileOptions,\n ): Promise<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,99 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function toAccountIdString(value) {
|
|
5
|
-
if (typeof value === "string" && value.trim()) {
|
|
6
|
-
return value;
|
|
1
|
+
class IssuerRegistry {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.issuers = [];
|
|
7
4
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return typeof result === "string" && result.trim() ? result : null;
|
|
5
|
+
register(issuer) {
|
|
6
|
+
this.issuers.push(issuer);
|
|
11
7
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
function createHieroPublisher(client) {
|
|
15
|
-
return {
|
|
16
|
-
network: () => {
|
|
17
|
-
const ledgerId = client.ledgerId;
|
|
18
|
-
if (!ledgerId) {
|
|
19
|
-
throw new Error("Hedera SDK Client must be configured with a network");
|
|
20
|
-
}
|
|
21
|
-
if (ledgerId.isMainnet()) return "mainnet";
|
|
22
|
-
if (ledgerId.isTestnet()) return "testnet";
|
|
23
|
-
if (ledgerId.isPreviewnet()) return "previewnet";
|
|
24
|
-
if (ledgerId.isLocalNode()) return "local-node";
|
|
25
|
-
throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);
|
|
26
|
-
},
|
|
27
|
-
publicKey: () => {
|
|
28
|
-
if (!client.operatorPublicKey) {
|
|
29
|
-
throw new Error(
|
|
30
|
-
"Hedera SDK Client must be configured with an operator account"
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
return client.operatorPublicKey;
|
|
34
|
-
},
|
|
35
|
-
publish: async (transaction) => {
|
|
36
|
-
const current = typeof transaction.getAutoRenewAccountId === "function" ? transaction.getAutoRenewAccountId() : null;
|
|
37
|
-
const autoRenewAccountId = toAccountIdString(client.operatorAccountId);
|
|
38
|
-
if (!current && autoRenewAccountId && typeof transaction.setAutoRenewAccountId === "function") {
|
|
39
|
-
transaction.setAutoRenewAccountId(autoRenewAccountId);
|
|
40
|
-
}
|
|
41
|
-
const response = await transaction.freezeWith(client).execute(client);
|
|
42
|
-
return response.getReceipt(client);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
async function loadCreateDID() {
|
|
47
|
-
if (!registrarPromise) {
|
|
48
|
-
registrarPromise = optionalImport(
|
|
49
|
-
hieroRegistrarModuleId,
|
|
50
|
-
{ preferImport: true }
|
|
51
|
-
).then((mod) => mod?.createDID ?? null);
|
|
8
|
+
list() {
|
|
9
|
+
return [...this.issuers];
|
|
52
10
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
caip2Networks: [
|
|
61
|
-
"hedera:mainnet",
|
|
62
|
-
"hedera:testnet",
|
|
63
|
-
"hedera:previewnet",
|
|
64
|
-
"hedera:devnet"
|
|
65
|
-
],
|
|
66
|
-
caip10Namespaces: ["hedera"],
|
|
67
|
-
displayName: "Hedera (Hiero Registrar)",
|
|
68
|
-
description: "Issues did:hedera identifiers using the Hiero DID registrar.",
|
|
69
|
-
homepage: "https://github.com/hiero-ledger/hiero-did-sdk-js"
|
|
70
|
-
};
|
|
11
|
+
/** Return issuers that support a given DID method. */
|
|
12
|
+
filterByDidMethod(method) {
|
|
13
|
+
return this.issuers.filter((i) => i.meta.didMethods.includes(method));
|
|
14
|
+
}
|
|
15
|
+
/** Return issuers that advertise a specific CAIP-2 network. */
|
|
16
|
+
filterByCaip2(network) {
|
|
17
|
+
return this.issuers.filter((i) => i.meta.caip2Networks?.includes(network));
|
|
71
18
|
}
|
|
72
|
-
|
|
73
|
-
|
|
19
|
+
/** Generic predicate-based filter. */
|
|
20
|
+
filter(predicate) {
|
|
21
|
+
return this.issuers.filter(predicate);
|
|
74
22
|
}
|
|
75
23
|
async issue(request) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
throw new Error("Hedera client is required to issue did:hedera");
|
|
81
|
-
}
|
|
82
|
-
const createDID = await loadCreateDID();
|
|
83
|
-
if (!createDID) {
|
|
84
|
-
throw new Error(
|
|
85
|
-
"Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed."
|
|
86
|
-
);
|
|
24
|
+
for (const issuer of this.issuers) {
|
|
25
|
+
if (issuer.supports(request.method)) {
|
|
26
|
+
return issuer.issue(request);
|
|
27
|
+
}
|
|
87
28
|
}
|
|
88
|
-
|
|
89
|
-
const did = await createDID(
|
|
90
|
-
{},
|
|
91
|
-
{ publisher: createHieroPublisher(client) }
|
|
92
|
-
);
|
|
93
|
-
return did.did;
|
|
29
|
+
throw new Error(`No issuer registered for method: ${request.method}`);
|
|
94
30
|
}
|
|
95
31
|
}
|
|
32
|
+
const defaultIssuerRegistry = new IssuerRegistry();
|
|
96
33
|
export {
|
|
97
|
-
|
|
34
|
+
IssuerRegistry,
|
|
35
|
+
defaultIssuerRegistry
|
|
98
36
|
};
|
|
99
37
|
//# sourceMappingURL=standards-sdk.es68.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es68.js","sources":["../../src/hcs-14/issuers/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es68.js","sources":["../../src/hcs-14/issuers/registry.ts"],"sourcesContent":["/**\n * Issuer registry for HCS-14 DID adapters.\n */\n\nimport { DidIssueRequest, DidIssuer, IssuerRegistryApi } from './types';\n\nexport class IssuerRegistry implements IssuerRegistryApi {\n private issuers: DidIssuer[] = [];\n\n register(issuer: DidIssuer): void {\n this.issuers.push(issuer);\n }\n\n list(): DidIssuer[] {\n return [...this.issuers];\n }\n\n /** Return issuers that support a given DID method. */\n filterByDidMethod(method: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.didMethods.includes(method));\n }\n\n /** Return issuers that advertise a specific CAIP-2 network. */\n filterByCaip2(network: string): DidIssuer[] {\n return this.issuers.filter(i => i.meta.caip2Networks?.includes(network));\n }\n\n /** Generic predicate-based filter. */\n filter(predicate: (issuer: DidIssuer) => boolean): DidIssuer[] {\n return this.issuers.filter(predicate);\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n for (const issuer of this.issuers) {\n if (issuer.supports(request.method)) {\n return issuer.issue(request);\n }\n }\n throw new Error(`No issuer registered for method: ${request.method}`);\n }\n}\n\nexport const defaultIssuerRegistry = new IssuerRegistry();\n"],"names":[],"mappings":"AAMO,MAAM,eAA4C;AAAA,EAAlD,cAAA;AACL,SAAQ,UAAuB,CAAA;AAAA,EAAC;AAAA,EAEhC,SAAS,QAAyB;AAChC,SAAK,QAAQ,KAAK,MAAM;AAAA,EAC1B;AAAA,EAEA,OAAoB;AAClB,WAAO,CAAC,GAAG,KAAK,OAAO;AAAA,EACzB;AAAA;AAAA,EAGA,kBAAkB,QAA6B;AAC7C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,WAAW,SAAS,MAAM,CAAC;AAAA,EACpE;AAAA;AAAA,EAGA,cAAc,SAA8B;AAC1C,WAAO,KAAK,QAAQ,OAAO,CAAA,MAAK,EAAE,KAAK,eAAe,SAAS,OAAO,CAAC;AAAA,EACzE;AAAA;AAAA,EAGA,OAAO,WAAwD;AAC7D,WAAO,KAAK,QAAQ,OAAO,SAAS;AAAA,EACtC;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,eAAW,UAAU,KAAK,SAAS;AACjC,UAAI,OAAO,SAAS,QAAQ,MAAM,GAAG;AACnC,eAAO,OAAO,MAAM,OAAO;AAAA,MAC7B;AAAA,IACF;AACA,UAAM,IAAI,MAAM,oCAAoC,QAAQ,MAAM,EAAE;AAAA,EACtE;AACF;AAEO,MAAM,wBAAwB,IAAI,eAAA;"}
|
|
@@ -1,7 +1,99 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { optionalImport } from "./standards-sdk.es158.js";
|
|
2
|
+
const hieroRegistrarModuleId = ["@hiero-did-sdk", "registrar"].join("/");
|
|
3
|
+
let registrarPromise = null;
|
|
4
|
+
function toAccountIdString(value) {
|
|
5
|
+
if (typeof value === "string" && value.trim()) {
|
|
6
|
+
return value;
|
|
7
|
+
}
|
|
8
|
+
if (value && typeof value.toString === "function") {
|
|
9
|
+
const result = value.toString();
|
|
10
|
+
return typeof result === "string" && result.trim() ? result : null;
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
function createHieroPublisher(client) {
|
|
15
|
+
return {
|
|
16
|
+
network: () => {
|
|
17
|
+
const ledgerId = client.ledgerId;
|
|
18
|
+
if (!ledgerId) {
|
|
19
|
+
throw new Error("Hedera SDK Client must be configured with a network");
|
|
20
|
+
}
|
|
21
|
+
if (ledgerId.isMainnet()) return "mainnet";
|
|
22
|
+
if (ledgerId.isTestnet()) return "testnet";
|
|
23
|
+
if (ledgerId.isPreviewnet()) return "previewnet";
|
|
24
|
+
if (ledgerId.isLocalNode()) return "local-node";
|
|
25
|
+
throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);
|
|
26
|
+
},
|
|
27
|
+
publicKey: () => {
|
|
28
|
+
if (!client.operatorPublicKey) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
"Hedera SDK Client must be configured with an operator account"
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
return client.operatorPublicKey;
|
|
34
|
+
},
|
|
35
|
+
publish: async (transaction) => {
|
|
36
|
+
const current = typeof transaction.getAutoRenewAccountId === "function" ? transaction.getAutoRenewAccountId() : null;
|
|
37
|
+
const autoRenewAccountId = toAccountIdString(client.operatorAccountId);
|
|
38
|
+
if (!current && autoRenewAccountId && typeof transaction.setAutoRenewAccountId === "function") {
|
|
39
|
+
transaction.setAutoRenewAccountId(autoRenewAccountId);
|
|
40
|
+
}
|
|
41
|
+
const response = await transaction.freezeWith(client).execute(client);
|
|
42
|
+
return response.getReceipt(client);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
async function loadCreateDID() {
|
|
47
|
+
if (!registrarPromise) {
|
|
48
|
+
registrarPromise = optionalImport(
|
|
49
|
+
hieroRegistrarModuleId,
|
|
50
|
+
{ preferImport: true }
|
|
51
|
+
).then((mod) => mod?.createDID ?? null);
|
|
52
|
+
}
|
|
53
|
+
return registrarPromise;
|
|
54
|
+
}
|
|
55
|
+
class HederaHieroIssuer {
|
|
56
|
+
constructor() {
|
|
57
|
+
this.meta = {
|
|
58
|
+
id: "hedera/hiero",
|
|
59
|
+
didMethods: ["hedera"],
|
|
60
|
+
caip2Networks: [
|
|
61
|
+
"hedera:mainnet",
|
|
62
|
+
"hedera:testnet",
|
|
63
|
+
"hedera:previewnet",
|
|
64
|
+
"hedera:devnet"
|
|
65
|
+
],
|
|
66
|
+
caip10Namespaces: ["hedera"],
|
|
67
|
+
displayName: "Hedera (Hiero Registrar)",
|
|
68
|
+
description: "Issues did:hedera identifiers using the Hiero DID registrar.",
|
|
69
|
+
homepage: "https://github.com/hiero-ledger/hiero-did-sdk-js"
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
supports(method) {
|
|
73
|
+
return method === "hedera";
|
|
74
|
+
}
|
|
75
|
+
async issue(request) {
|
|
76
|
+
if (request.method !== "hedera") {
|
|
77
|
+
throw new Error('HederaHieroIssuer only handles method "hedera"');
|
|
78
|
+
}
|
|
79
|
+
if (!("client" in request)) {
|
|
80
|
+
throw new Error("Hedera client is required to issue did:hedera");
|
|
81
|
+
}
|
|
82
|
+
const createDID = await loadCreateDID();
|
|
83
|
+
if (!createDID) {
|
|
84
|
+
throw new Error(
|
|
85
|
+
"Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed."
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
const client = request.client;
|
|
89
|
+
const did = await createDID(
|
|
90
|
+
{},
|
|
91
|
+
{ publisher: createHieroPublisher(client) }
|
|
92
|
+
);
|
|
93
|
+
return did.did;
|
|
94
|
+
}
|
|
3
95
|
}
|
|
4
96
|
export {
|
|
5
|
-
|
|
97
|
+
HederaHieroIssuer
|
|
6
98
|
};
|
|
7
99
|
//# sourceMappingURL=standards-sdk.es69.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es69.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es69.js","sources":["../../src/hcs-14/issuers/hiero.ts"],"sourcesContent":["import { DidIssueRequest, DidIssueRequestHedera, DidIssuer } from './types';\nimport type { AdapterMeta } from '../adapters/types';\nimport { optionalImport } from '../../utils/dynamic-import';\nimport type { PublicKey, TransactionReceipt } from '@hashgraph/sdk';\n\ntype CreateDID = typeof import('@hiero-did-sdk/registrar').createDID;\ntype HieroRegistrarModule = typeof import('@hiero-did-sdk/registrar');\n\nconst hieroRegistrarModuleId = ['@hiero-did-sdk', 'registrar'].join('/');\n\nlet registrarPromise: Promise<CreateDID | null> | null = null;\n\ntype PublisherClientLike = {\n ledgerId?: {\n isMainnet: () => boolean;\n isTestnet: () => boolean;\n isPreviewnet: () => boolean;\n isLocalNode: () => boolean;\n toString: () => string;\n };\n operatorPublicKey?: PublicKey;\n operatorAccountId?: { toString: () => string };\n};\n\ntype AutoRenewTransactionLike = {\n getAutoRenewAccountId?: () => unknown;\n setAutoRenewAccountId?: (value: string) => void;\n freezeWith: (client: PublisherClientLike) => {\n execute: (client: PublisherClientLike) => Promise<{\n getReceipt: (client: PublisherClientLike) => Promise<TransactionReceipt>;\n }>;\n };\n};\n\nfunction toAccountIdString(value: unknown): string | null {\n if (typeof value === 'string' && value.trim()) {\n return value;\n }\n\n if (\n value &&\n typeof (value as { toString?: () => string }).toString === 'function'\n ) {\n const result = (value as { toString: () => string }).toString();\n return typeof result === 'string' && result.trim() ? result : null;\n }\n\n return null;\n}\n\nfunction createHieroPublisher(client: PublisherClientLike) {\n return {\n network: () => {\n const ledgerId = client.ledgerId;\n if (!ledgerId) {\n throw new Error('Hedera SDK Client must be configured with a network');\n }\n if (ledgerId.isMainnet()) return 'mainnet';\n if (ledgerId.isTestnet()) return 'testnet';\n if (ledgerId.isPreviewnet()) return 'previewnet';\n if (ledgerId.isLocalNode()) return 'local-node';\n throw new Error(`Unknown network, ledger ID: ${ledgerId.toString()}`);\n },\n publicKey: () => {\n if (!client.operatorPublicKey) {\n throw new Error(\n 'Hedera SDK Client must be configured with an operator account',\n );\n }\n return client.operatorPublicKey;\n },\n publish: async (transaction: AutoRenewTransactionLike) => {\n const current =\n typeof transaction.getAutoRenewAccountId === 'function'\n ? transaction.getAutoRenewAccountId()\n : null;\n const autoRenewAccountId = toAccountIdString(client.operatorAccountId);\n\n if (\n !current &&\n autoRenewAccountId &&\n typeof transaction.setAutoRenewAccountId === 'function'\n ) {\n transaction.setAutoRenewAccountId(autoRenewAccountId);\n }\n\n const response = await transaction.freezeWith(client).execute(client);\n return response.getReceipt(client);\n },\n };\n}\n\nasync function loadCreateDID(): Promise<CreateDID | null> {\n if (!registrarPromise) {\n // Prefer ESM to keep @hashgraph/sdk classes consistent across caller + registrar.\n registrarPromise = optionalImport<HieroRegistrarModule>(\n hieroRegistrarModuleId,\n { preferImport: true },\n ).then(mod => mod?.createDID ?? null);\n }\n return registrarPromise;\n}\n\nexport class HederaHieroIssuer implements DidIssuer {\n readonly meta: AdapterMeta = {\n id: 'hedera/hiero',\n didMethods: ['hedera'],\n caip2Networks: [\n 'hedera:mainnet',\n 'hedera:testnet',\n 'hedera:previewnet',\n 'hedera:devnet',\n ],\n caip10Namespaces: ['hedera'],\n displayName: 'Hedera (Hiero Registrar)',\n description: 'Issues did:hedera identifiers using the Hiero DID registrar.',\n homepage: 'https://github.com/hiero-ledger/hiero-did-sdk-js',\n };\n\n supports(method: string): boolean {\n return method === 'hedera';\n }\n\n async issue(request: DidIssueRequest): Promise<string> {\n if (request.method !== 'hedera') {\n throw new Error('HederaHieroIssuer only handles method \"hedera\"');\n }\n if (!('client' in request)) {\n throw new Error('Hedera client is required to issue did:hedera');\n }\n const createDID = await loadCreateDID();\n if (!createDID) {\n throw new Error(\n 'Hiero registrar unavailable. Ensure @hiero-did-sdk/registrar is installed.',\n );\n }\n const client = (request as DidIssueRequestHedera).client;\n const did = await createDID(\n {},\n { publisher: createHieroPublisher(client) },\n );\n return did.did;\n }\n}\n"],"names":[],"mappings":";AAQA,MAAM,yBAAyB,CAAC,kBAAkB,WAAW,EAAE,KAAK,GAAG;AAEvE,IAAI,mBAAqD;AAwBzD,SAAS,kBAAkB,OAA+B;AACxD,MAAI,OAAO,UAAU,YAAY,MAAM,QAAQ;AAC7C,WAAO;AAAA,EACT;AAEA,MACE,SACA,OAAQ,MAAsC,aAAa,YAC3D;AACA,UAAM,SAAU,MAAqC,SAAA;AACrD,WAAO,OAAO,WAAW,YAAY,OAAO,KAAA,IAAS,SAAS;AAAA,EAChE;AAEA,SAAO;AACT;AAEA,SAAS,qBAAqB,QAA6B;AACzD,SAAO;AAAA,IACL,SAAS,MAAM;AACb,YAAM,WAAW,OAAO;AACxB,UAAI,CAAC,UAAU;AACb,cAAM,IAAI,MAAM,qDAAqD;AAAA,MACvE;AACA,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,UAAA,EAAa,QAAO;AACjC,UAAI,SAAS,aAAA,EAAgB,QAAO;AACpC,UAAI,SAAS,YAAA,EAAe,QAAO;AACnC,YAAM,IAAI,MAAM,+BAA+B,SAAS,SAAA,CAAU,EAAE;AAAA,IACtE;AAAA,IACA,WAAW,MAAM;AACf,UAAI,CAAC,OAAO,mBAAmB;AAC7B,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAAA,MAEJ;AACA,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,SAAS,OAAO,gBAA0C;AACxD,YAAM,UACJ,OAAO,YAAY,0BAA0B,aACzC,YAAY,0BACZ;AACN,YAAM,qBAAqB,kBAAkB,OAAO,iBAAiB;AAErE,UACE,CAAC,WACD,sBACA,OAAO,YAAY,0BAA0B,YAC7C;AACA,oBAAY,sBAAsB,kBAAkB;AAAA,MACtD;AAEA,YAAM,WAAW,MAAM,YAAY,WAAW,MAAM,EAAE,QAAQ,MAAM;AACpE,aAAO,SAAS,WAAW,MAAM;AAAA,IACnC;AAAA,EAAA;AAEJ;AAEA,eAAe,gBAA2C;AACxD,MAAI,CAAC,kBAAkB;AAErB,uBAAmB;AAAA,MACjB;AAAA,MACA,EAAE,cAAc,KAAA;AAAA,IAAK,EACrB,KAAK,CAAA,QAAO,KAAK,aAAa,IAAI;AAAA,EACtC;AACA,SAAO;AACT;AAEO,MAAM,kBAAuC;AAAA,EAA7C,cAAA;AACL,SAAS,OAAoB;AAAA,MAC3B,IAAI;AAAA,MACJ,YAAY,CAAC,QAAQ;AAAA,MACrB,eAAe;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAEF,kBAAkB,CAAC,QAAQ;AAAA,MAC3B,aAAa;AAAA,MACb,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEA,SAAS,QAAyB;AAChC,WAAO,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,MAAM,SAA2C;AACrD,QAAI,QAAQ,WAAW,UAAU;AAC/B,YAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AACA,QAAI,EAAE,YAAY,UAAU;AAC1B,YAAM,IAAI,MAAM,+CAA+C;AAAA,IACjE;AACA,UAAM,YAAY,MAAM,cAAA;AACxB,QAAI,CAAC,WAAW;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AACA,UAAM,SAAU,QAAkC;AAClD,UAAM,MAAM,MAAM;AAAA,MAChB,CAAA;AAAA,MACA,EAAE,WAAW,qBAAqB,MAAM,EAAA;AAAA,IAAE;AAE5C,WAAO,IAAI;AAAA,EACb;AACF;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.
|
|
1
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es154.js";
|
|
2
2
|
import { HCS6Operation } from "./standards-sdk.es3.js";
|
|
3
3
|
function encodeHcs6NonIndexedMemo(ttl) {
|
|
4
4
|
return `hcs-6:1:${ttl}`;
|
|
@@ -1,104 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { PrivateKey } from "@hashgraph/sdk";
|
|
4
|
-
import { inscribeWithSigner } from "./standards-sdk.es136.js";
|
|
5
|
-
import { buildHcs5MintTx } from "./standards-sdk.es72.js";
|
|
6
|
-
class HCS5BrowserClient extends HCS5BaseClient {
|
|
7
|
-
constructor(config) {
|
|
8
|
-
super({
|
|
9
|
-
network: config.network,
|
|
10
|
-
logLevel: config.logLevel,
|
|
11
|
-
silent: config.silent,
|
|
12
|
-
logger: void 0,
|
|
13
|
-
operatorId: "0.0.0",
|
|
14
|
-
operatorKey: ""
|
|
15
|
-
});
|
|
16
|
-
this.hwc = config.hwc;
|
|
17
|
-
this.signer = config.signer;
|
|
18
|
-
}
|
|
19
|
-
getSigner() {
|
|
20
|
-
if (this.signer) {
|
|
21
|
-
return this.signer;
|
|
22
|
-
}
|
|
23
|
-
const accountId = this.hwc.getAccountInfo()?.accountId;
|
|
24
|
-
const signer = this.hwc.dAppConnector?.signers?.find((s) => {
|
|
25
|
-
return s.getAccountId().toString() === accountId;
|
|
26
|
-
});
|
|
27
|
-
if (!signer) {
|
|
28
|
-
throw new Error("No active wallet signer");
|
|
29
|
-
}
|
|
30
|
-
return signer;
|
|
31
|
-
}
|
|
32
|
-
async mint(options) {
|
|
33
|
-
try {
|
|
34
|
-
if (!options.metadataTopicId) {
|
|
35
|
-
return {
|
|
36
|
-
success: false,
|
|
37
|
-
error: "metadataTopicId is required for mint()"
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const metadata = buildHcs1Hrl(options.metadataTopicId);
|
|
41
|
-
const tx = buildHcs5MintTx({ tokenId: options.tokenId, metadata });
|
|
42
|
-
let result;
|
|
43
|
-
if (options.supplyKey && options.supplyKey instanceof PrivateKey) {
|
|
44
|
-
const signer = this.getSigner();
|
|
45
|
-
await tx.freezeWithSigner(signer);
|
|
46
|
-
const signed = await tx.sign(options.supplyKey);
|
|
47
|
-
result = await this.hwc.executeTransactionWithErrorHandling(
|
|
48
|
-
signed,
|
|
49
|
-
true
|
|
50
|
-
);
|
|
51
|
-
} else {
|
|
52
|
-
result = await this.hwc.executeTransactionWithErrorHandling(
|
|
53
|
-
tx,
|
|
54
|
-
false
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
if (result.error) {
|
|
58
|
-
return { success: false, error: result.error };
|
|
59
|
-
}
|
|
60
|
-
const receipt = result.result;
|
|
61
|
-
const serial = receipt.serials?.[0] ? Number(receipt.serials[0].toString()) : void 0;
|
|
62
|
-
return {
|
|
63
|
-
success: true,
|
|
64
|
-
serialNumber: serial,
|
|
65
|
-
transactionId: receipt?.transactionId?.toString?.(),
|
|
66
|
-
metadata
|
|
67
|
-
};
|
|
68
|
-
} catch (e) {
|
|
69
|
-
return { success: false, error: String(e) };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
async createHashinal(options) {
|
|
73
|
-
try {
|
|
74
|
-
const signer = this.getSigner();
|
|
75
|
-
const inscriptionOptions = {
|
|
76
|
-
...options.inscriptionOptions,
|
|
77
|
-
mode: "hashinal",
|
|
78
|
-
waitForConfirmation: true,
|
|
79
|
-
network: this.network
|
|
80
|
-
};
|
|
81
|
-
const res = await inscribeWithSigner(
|
|
82
|
-
options.inscriptionInput,
|
|
83
|
-
signer,
|
|
84
|
-
inscriptionOptions
|
|
85
|
-
);
|
|
86
|
-
const topicId = res.inscription?.jsonTopicId || res.inscription?.topic_id;
|
|
87
|
-
if (!res.confirmed || !topicId) {
|
|
88
|
-
return { success: false, error: "Failed to inscribe content" };
|
|
89
|
-
}
|
|
90
|
-
return await this.mint({
|
|
91
|
-
tokenId: options.tokenId,
|
|
92
|
-
metadataTopicId: topicId,
|
|
93
|
-
supplyKey: options.supplyKey,
|
|
94
|
-
memo: options.memo
|
|
95
|
-
});
|
|
96
|
-
} catch (e) {
|
|
97
|
-
return { success: false, error: String(e) };
|
|
98
|
-
}
|
|
99
|
-
}
|
|
1
|
+
function buildHcs1Hrl(topicId) {
|
|
2
|
+
return `hcs://1/${topicId}`;
|
|
100
3
|
}
|
|
101
4
|
export {
|
|
102
|
-
|
|
5
|
+
buildHcs1Hrl
|
|
103
6
|
};
|
|
104
7
|
//# sourceMappingURL=standards-sdk.es70.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es70.js","sources":["../../src/hcs-5/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es70.js","sources":["../../src/hcs-5/types.ts"],"sourcesContent":["import { Logger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { PrivateKey } from '@hashgraph/sdk';\nimport type { InscriptionOptions } from '../inscribe/types';\nimport type { InscriptionInput } from '../inscribe/inscriber';\n\n/**\n * Configuration for HCS-5 client\n */\nexport interface HCS5ClientConfig {\n network: NetworkType;\n logLevel?: LogLevel;\n silent?: boolean;\n logger?: Logger;\n operatorId: string;\n operatorKey: string | PrivateKey;\n}\n\n/**\n * Options for minting a Hashinal onto an existing HTS NFT token\n */\nexport interface HCS5MintOptions {\n tokenId: string;\n metadataTopicId?: string;\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Options for inscribing content (HCS-1) then minting as a HCS-5 Hashinal\n */\nexport interface HCS5CreateHashinalOptions {\n tokenId: string;\n inscriptionInput: InscriptionInput;\n inscriptionOptions: InscriptionOptions & { waitForConfirmation?: boolean };\n supplyKey?: string | PrivateKey;\n memo?: string;\n}\n\n/**\n * Mint response\n */\nexport interface HCS5MintResponse {\n success: boolean;\n serialNumber?: number;\n transactionId?: string;\n metadata?: string;\n error?: string;\n}\n\n/**\n * Utility to build an HRL for HCS-1\n */\nexport function buildHcs1Hrl(topicId: string): string {\n return `hcs://1/${topicId}`;\n}\n"],"names":[],"mappings":"AAqDO,SAAS,aAAa,SAAyB;AACpD,SAAO,WAAW,OAAO;AAC3B;"}
|
|
@@ -1,28 +1,36 @@
|
|
|
1
|
-
import { HCS5BaseClient } from "./standards-sdk.
|
|
2
|
-
import { buildHcs1Hrl } from "./standards-sdk.
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { buildHcs5MintTx } from "./standards-sdk.
|
|
6
|
-
|
|
7
|
-
class HCS5Client extends HCS5BaseClient {
|
|
1
|
+
import { HCS5BaseClient } from "./standards-sdk.es156.js";
|
|
2
|
+
import { buildHcs1Hrl } from "./standards-sdk.es70.js";
|
|
3
|
+
import { PrivateKey } from "@hashgraph/sdk";
|
|
4
|
+
import { inscribeWithSigner } from "./standards-sdk.es137.js";
|
|
5
|
+
import { buildHcs5MintTx } from "./standards-sdk.es73.js";
|
|
6
|
+
class HCS5BrowserClient extends HCS5BaseClient {
|
|
8
7
|
constructor(config) {
|
|
9
|
-
super(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
logger: this.logger
|
|
8
|
+
super({
|
|
9
|
+
network: config.network,
|
|
10
|
+
logLevel: config.logLevel,
|
|
11
|
+
silent: config.silent,
|
|
12
|
+
logger: void 0,
|
|
13
|
+
operatorId: "0.0.0",
|
|
14
|
+
operatorKey: ""
|
|
17
15
|
});
|
|
18
|
-
this.
|
|
16
|
+
this.hwc = config.hwc;
|
|
17
|
+
this.signer = config.signer;
|
|
19
18
|
}
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
getSigner() {
|
|
20
|
+
if (this.signer) {
|
|
21
|
+
return this.signer;
|
|
22
|
+
}
|
|
23
|
+
const accountId = this.hwc.getAccountInfo()?.accountId;
|
|
24
|
+
const signer = this.hwc.dAppConnector?.signers?.find((s) => {
|
|
25
|
+
return s.getAccountId().toString() === accountId;
|
|
26
|
+
});
|
|
27
|
+
if (!signer) {
|
|
28
|
+
throw new Error("No active wallet signer");
|
|
29
|
+
}
|
|
30
|
+
return signer;
|
|
22
31
|
}
|
|
23
32
|
async mint(options) {
|
|
24
33
|
try {
|
|
25
|
-
await this.ensureInitialized();
|
|
26
34
|
if (!options.metadataTopicId) {
|
|
27
35
|
return {
|
|
28
36
|
success: false,
|
|
@@ -31,57 +39,54 @@ class HCS5Client extends HCS5BaseClient {
|
|
|
31
39
|
}
|
|
32
40
|
const metadata = buildHcs1Hrl(options.metadataTopicId);
|
|
33
41
|
const tx = buildHcs5MintTx({ tokenId: options.tokenId, metadata });
|
|
34
|
-
|
|
35
|
-
if (options.supplyKey) {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
let result;
|
|
43
|
+
if (options.supplyKey && options.supplyKey instanceof PrivateKey) {
|
|
44
|
+
const signer = this.getSigner();
|
|
45
|
+
await tx.freezeWithSigner(signer);
|
|
46
|
+
const signed = await tx.sign(options.supplyKey);
|
|
47
|
+
result = await this.hwc.executeTransactionWithErrorHandling(
|
|
48
|
+
signed,
|
|
49
|
+
true
|
|
50
|
+
);
|
|
51
|
+
} else {
|
|
52
|
+
result = await this.hwc.executeTransactionWithErrorHandling(
|
|
53
|
+
tx,
|
|
54
|
+
false
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
if (result.error) {
|
|
58
|
+
return { success: false, error: result.error };
|
|
46
59
|
}
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
const serial = receipt.serials && receipt.serials[0] ? Number(receipt.serials[0].toString()) : void 0;
|
|
60
|
+
const receipt = result.result;
|
|
61
|
+
const serial = receipt.serials?.[0] ? Number(receipt.serials[0].toString()) : void 0;
|
|
50
62
|
return {
|
|
51
63
|
success: true,
|
|
52
64
|
serialNumber: serial,
|
|
53
|
-
transactionId:
|
|
65
|
+
transactionId: receipt?.transactionId?.toString?.(),
|
|
54
66
|
metadata
|
|
55
67
|
};
|
|
56
68
|
} catch (e) {
|
|
57
|
-
|
|
58
|
-
this.logger.error(`Failed to mint HCS-5 Hashinal: ${error.message}`);
|
|
59
|
-
return { success: false, error: error.message };
|
|
69
|
+
return { success: false, error: String(e) };
|
|
60
70
|
}
|
|
61
71
|
}
|
|
62
72
|
async createHashinal(options) {
|
|
63
73
|
try {
|
|
64
|
-
|
|
65
|
-
const
|
|
74
|
+
const signer = this.getSigner();
|
|
75
|
+
const inscriptionOptions = {
|
|
76
|
+
...options.inscriptionOptions,
|
|
77
|
+
mode: "hashinal",
|
|
78
|
+
waitForConfirmation: true,
|
|
79
|
+
network: this.network
|
|
80
|
+
};
|
|
81
|
+
const res = await inscribeWithSigner(
|
|
66
82
|
options.inscriptionInput,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
privateKey: this.operatorCtx.operatorKey,
|
|
70
|
-
network: this.network
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
...options.inscriptionOptions || {},
|
|
74
|
-
mode: "hashinal",
|
|
75
|
-
waitForConfirmation: true
|
|
76
|
-
}
|
|
83
|
+
signer,
|
|
84
|
+
inscriptionOptions
|
|
77
85
|
);
|
|
78
|
-
|
|
86
|
+
const topicId = res.inscription?.jsonTopicId || res.inscription?.topic_id;
|
|
87
|
+
if (!res.confirmed || !topicId) {
|
|
79
88
|
return { success: false, error: "Failed to inscribe content" };
|
|
80
89
|
}
|
|
81
|
-
const topicId = inscription.inscription.jsonTopicId || inscription.inscription.topic_id;
|
|
82
|
-
if (!topicId) {
|
|
83
|
-
return { success: false, error: "No topic ID from inscription" };
|
|
84
|
-
}
|
|
85
90
|
return await this.mint({
|
|
86
91
|
tokenId: options.tokenId,
|
|
87
92
|
metadataTopicId: topicId,
|
|
@@ -89,15 +94,11 @@ class HCS5Client extends HCS5BaseClient {
|
|
|
89
94
|
memo: options.memo
|
|
90
95
|
});
|
|
91
96
|
} catch (e) {
|
|
92
|
-
|
|
93
|
-
this.logger.error(
|
|
94
|
-
`Failed to inscribe and mint HCS-5 Hashinal: ${error.message}`
|
|
95
|
-
);
|
|
96
|
-
return { success: false, error: error.message };
|
|
97
|
+
return { success: false, error: String(e) };
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
export {
|
|
101
|
-
|
|
102
|
+
HCS5BrowserClient
|
|
102
103
|
};
|
|
103
104
|
//# sourceMappingURL=standards-sdk.es71.js.map
|