@hashgraphonline/standards-sdk 0.1.159 → 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.
- package/dist/cjs/hcs-12/validation/schemas.d.ts +4 -4
- package/dist/cjs/hcs-14/index.d.ts +5 -0
- package/dist/cjs/hcs-14/index.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/dns.d.ts +3 -0
- package/dist/cjs/hcs-14/resolvers/dns.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts +9 -0
- package/dist/cjs/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/registry.d.ts +38 -1
- package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/types.d.ts +123 -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 +10 -0
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/sdk.d.ts +31 -5
- package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
- package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +1548 -0
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +3 -3
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-12/validation/schemas.d.ts +4 -4
- package/dist/es/hcs-14/index.d.ts +5 -0
- package/dist/es/hcs-14/index.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +37 -0
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/dns.d.ts +3 -0
- package/dist/es/hcs-14/resolvers/dns.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +8 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/profile-utils.d.ts +9 -0
- package/dist/es/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/registry.d.ts +38 -1
- package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/types.d.ts +123 -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 +10 -0
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +22 -0
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/sdk.d.ts +31 -5
- package/dist/es/hcs-14/sdk.d.ts.map +1 -1
- package/dist/es/inscribe/inscriber.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +1548 -0
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +102 -85
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +138 -225
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +44 -108
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +255 -24
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +98 -80
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +91 -21
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +29 -251
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +211 -457
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +104 -96
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +26 -152
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +77 -27
- 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 +28 -9
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +247 -137
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +477 -28
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +103 -20
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +141 -141
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +31 -200
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +9 -787
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +140 -11
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +29 -567
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +17 -597
- 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 +159 -12
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +203 -2
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +774 -71
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +11 -38
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +567 -2
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +576 -209
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +12 -1139
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +2 -306
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +83 -418
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +36 -351
- 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 +2 -1116
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +215 -188
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +1055 -1482
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +306 -1236
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +419 -14
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +350 -82
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +1107 -72
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +181 -866
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +1558 -51
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +1255 -159
- 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 +17 -7
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +79 -78
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +75 -59
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +893 -30
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +60 -34
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +159 -28
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +7 -138
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +80 -36
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +44 -12461
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +30 -242
- 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 +34 -172
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +45 -322
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +120 -328
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +40 -451
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +12418 -267
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +15 -74
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +54 -15
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +70 -59
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +73 -48
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +59 -70
- 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 +160 -160
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +312 -212
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +335 -228
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +446 -112
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +320 -115
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +65 -150
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +223 -166
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +153 -120
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +178 -287
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +218 -238
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +75 -72
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +129 -0
- package/dist/es/standards-sdk.es171.js.map +1 -0
- package/dist/es/standards-sdk.es172.js +164 -0
- package/dist/es/standards-sdk.es172.js.map +1 -0
- package/dist/es/standards-sdk.es173.js +188 -0
- package/dist/es/standards-sdk.es173.js.map +1 -0
- package/dist/es/standards-sdk.es174.js +142 -0
- package/dist/es/standards-sdk.es174.js.map +1 -0
- package/dist/es/standards-sdk.es175.js +334 -0
- package/dist/es/standards-sdk.es175.js.map +1 -0
- package/dist/es/standards-sdk.es176.js +262 -0
- package/dist/es/standards-sdk.es176.js.map +1 -0
- package/dist/es/standards-sdk.es177.js +119 -0
- package/dist/es/standards-sdk.es177.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 +11 -55
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +321 -35
- 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 +39 -200
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +103 -25
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +164 -78
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +222 -3
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +122 -92
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +40 -93
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +266 -18
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +34 -77
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +85 -447
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +3 -323
- 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 +87 -194
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +99 -71
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +19 -71
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +77 -143
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +433 -44
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +254 -334
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +166 -454
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +71 -364
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +71 -89
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +143 -125
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +67 -6
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +400 -43
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +476 -81
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +332 -315
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +88 -280
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +125 -61
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +6 -47
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +44 -147
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +94 -60
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +339 -21
- 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 +279 -23
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +51 -230
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +48 -281
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +133 -140
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +54 -132
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +26 -45
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +23 -263
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +233 -95
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +260 -79
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +156 -29
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/package.json +16 -3
|
@@ -1,34 +1,104 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
class
|
|
1
|
+
import { HCS17BaseClient } from "./standards-sdk.es102.js";
|
|
2
|
+
import { buildHcs17CreateTopicTx, buildHcs17MessageTx } from "./standards-sdk.es105.js";
|
|
3
|
+
class HCS17BrowserClient extends HCS17BaseClient {
|
|
4
4
|
constructor(config) {
|
|
5
|
-
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
5
|
+
super(config);
|
|
6
|
+
this.hwc = config.hwc;
|
|
7
|
+
this.signer = config.signer;
|
|
8
|
+
}
|
|
9
|
+
ensureConnected() {
|
|
10
|
+
if (this.signer && typeof this.signer.getAccountId === "function") {
|
|
11
|
+
return this.signer.getAccountId().toString();
|
|
12
|
+
}
|
|
13
|
+
const info = this.hwc?.getAccountInfo?.();
|
|
14
|
+
const accountId = info?.accountId;
|
|
15
|
+
if (!accountId) {
|
|
16
|
+
throw new Error("No active wallet connection");
|
|
17
|
+
}
|
|
18
|
+
return accountId;
|
|
19
|
+
}
|
|
20
|
+
getSigner() {
|
|
21
|
+
if (this.signer) {
|
|
22
|
+
return this.signer;
|
|
23
|
+
}
|
|
24
|
+
this.ensureConnected();
|
|
25
|
+
const s = this.hwc?.dAppConnector?.signers?.[0];
|
|
26
|
+
if (!s) {
|
|
27
|
+
throw new Error("No active wallet signer");
|
|
28
|
+
}
|
|
29
|
+
return s;
|
|
8
30
|
}
|
|
9
31
|
/**
|
|
10
|
-
*
|
|
32
|
+
* Create an HCS‑17 state topic, signing with the connected signer.
|
|
11
33
|
*/
|
|
12
|
-
async
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
34
|
+
async createStateTopic(options) {
|
|
35
|
+
this.ensureConnected();
|
|
36
|
+
const signer = this.getSigner();
|
|
37
|
+
const ttl = options?.ttl ?? 86400;
|
|
38
|
+
const tx = buildHcs17CreateTopicTx({ ttl });
|
|
39
|
+
const frozen = await tx.freezeWithSigner(signer);
|
|
40
|
+
const res = await frozen.executeWithSigner(signer);
|
|
41
|
+
const receipt = await res.getReceiptWithSigner(signer);
|
|
42
|
+
const topicId = receipt?.topicId?.toString?.() || "";
|
|
43
|
+
this.logger.info(`Created HCS-17 state topic via wallet: ${topicId}`);
|
|
44
|
+
return topicId;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Submit an HCS‑17 message to a topic, signing with the connected signer.
|
|
48
|
+
*/
|
|
49
|
+
async submitMessage(topicId, message) {
|
|
50
|
+
const { valid, errors } = this.validateMessage(message);
|
|
51
|
+
if (!valid) {
|
|
52
|
+
throw new Error(`Invalid HCS-17 message: ${errors.join(", ")}`);
|
|
17
53
|
}
|
|
18
|
-
|
|
54
|
+
const signer = this.getSigner();
|
|
55
|
+
const tx = buildHcs17MessageTx({
|
|
56
|
+
topicId,
|
|
57
|
+
stateHash: message.state_hash,
|
|
58
|
+
accountId: message.account_id,
|
|
59
|
+
topics: message.topics,
|
|
60
|
+
memo: message.m
|
|
61
|
+
});
|
|
62
|
+
const frozen = await tx.freezeWithSigner(signer);
|
|
63
|
+
const res = await frozen.executeWithSigner(signer);
|
|
64
|
+
await res.getReceiptWithSigner(signer);
|
|
65
|
+
return {};
|
|
19
66
|
}
|
|
20
67
|
/**
|
|
21
|
-
*
|
|
68
|
+
* Compute current account state hash from topic running hashes and publish it.
|
|
22
69
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
70
|
+
async computeAndPublish(params) {
|
|
71
|
+
this.ensureConnected();
|
|
72
|
+
const signer = this.getSigner();
|
|
73
|
+
const topicStates = [];
|
|
74
|
+
for (const t of params.topics) {
|
|
75
|
+
const msgs = await this.mirrorNode.getTopicMessages(t, {
|
|
76
|
+
limit: 1,
|
|
77
|
+
order: "desc"
|
|
78
|
+
});
|
|
79
|
+
const latest = msgs[0];
|
|
80
|
+
const running = latest && latest.running_hash || "";
|
|
81
|
+
topicStates.push({ topicId: t, latestRunningHash: running });
|
|
82
|
+
}
|
|
83
|
+
const input = {
|
|
84
|
+
accountId: params.accountId,
|
|
85
|
+
publicKey: params.accountPublicKey,
|
|
86
|
+
topics: topicStates
|
|
87
|
+
};
|
|
88
|
+
const result = this.calculateAccountStateHash(input);
|
|
89
|
+
const tx = buildHcs17MessageTx({
|
|
90
|
+
topicId: params.publishTopicId,
|
|
91
|
+
stateHash: result.stateHash,
|
|
92
|
+
accountId: params.accountId,
|
|
93
|
+
topics: params.topics,
|
|
94
|
+
memo: params.memo
|
|
95
|
+
});
|
|
96
|
+
const frozen = await tx.freezeWithSigner(signer);
|
|
97
|
+
await frozen.executeWithSigner(signer);
|
|
98
|
+
return { stateHash: result.stateHash };
|
|
29
99
|
}
|
|
30
100
|
}
|
|
31
101
|
export {
|
|
32
|
-
|
|
102
|
+
HCS17BrowserClient
|
|
33
103
|
};
|
|
34
104
|
//# sourceMappingURL=standards-sdk.es104.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es104.js","sources":["../../src/hcs-
|
|
1
|
+
{"version":3,"file":"standards-sdk.es104.js","sources":["../../src/hcs-17/browser.ts"],"sourcesContent":["import { HCS17BaseClient } from './base-client';\nimport { BrowserHCS17ClientConfig, StateHashMessage } from './types';\nimport { buildHcs17CreateTopicTx, buildHcs17MessageTx } from './tx';\nimport type { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';\nimport type { DAppSigner } from '@hashgraph/hedera-wallet-connect';\nimport type { PublicKey } from '@hashgraph/sdk';\n\n/**\n * Browser client for HCS‑17 operations using a DAppSigner.\n * Builds transactions and executes via signer without helper shims.\n */\nexport class HCS17BrowserClient extends HCS17BaseClient {\n private hwc?: HashinalsWalletConnectSDK;\n private signer?: DAppSigner;\n\n constructor(config: BrowserHCS17ClientConfig) {\n super(config);\n this.hwc = config.hwc;\n this.signer = config.signer;\n }\n\n private ensureConnected(): string {\n if (\n this.signer &&\n typeof (this.signer as DAppSigner).getAccountId === 'function'\n ) {\n return (this.signer as DAppSigner).getAccountId().toString();\n }\n const info = this.hwc?.getAccountInfo?.();\n const accountId = info?.accountId;\n if (!accountId) {\n throw new Error('No active wallet connection');\n }\n return accountId;\n }\n\n private getSigner(): DAppSigner {\n if (this.signer) {\n return this.signer;\n }\n this.ensureConnected();\n const s = this.hwc?.dAppConnector?.signers?.[0];\n if (!s) {\n throw new Error('No active wallet signer');\n }\n return s as unknown as DAppSigner;\n }\n\n /**\n * Create an HCS‑17 state topic, signing with the connected signer.\n */\n async createStateTopic(options?: {\n ttl?: number;\n adminKey?: boolean | string;\n submitKey?: boolean | string;\n }): Promise<string> {\n this.ensureConnected();\n const signer = this.getSigner();\n const ttl = options?.ttl ?? 86400;\n const tx = buildHcs17CreateTopicTx({ ttl });\n const frozen = await tx.freezeWithSigner(signer);\n const res = await frozen.executeWithSigner(signer);\n const receipt = await res.getReceiptWithSigner(signer);\n const topicId = receipt?.topicId?.toString?.() || '';\n this.logger.info(`Created HCS-17 state topic via wallet: ${topicId}`);\n return topicId;\n }\n\n /**\n * Submit an HCS‑17 message to a topic, signing with the connected signer.\n */\n async submitMessage(\n topicId: string,\n message: StateHashMessage,\n ): Promise<{ transactionId?: string }> {\n const { valid, errors } = this.validateMessage(message);\n if (!valid) {\n throw new Error(`Invalid HCS-17 message: ${errors.join(', ')}`);\n }\n const signer = this.getSigner();\n const tx = buildHcs17MessageTx({\n topicId,\n stateHash: message.state_hash,\n accountId: message.account_id,\n topics: message.topics,\n memo: message.m,\n });\n const frozen = await tx.freezeWithSigner(signer);\n const res = await frozen.executeWithSigner(signer);\n await res.getReceiptWithSigner(signer);\n return {};\n }\n\n /**\n * Compute current account state hash from topic running hashes and publish it.\n */\n async computeAndPublish(params: {\n accountId: string;\n accountPublicKey: string | PublicKey;\n topics: string[];\n publishTopicId: string;\n memo?: string;\n }): Promise<{ stateHash: string }> {\n this.ensureConnected();\n const signer = this.getSigner();\n\n const topicStates: { topicId: string; latestRunningHash: string }[] = [];\n for (const t of params.topics) {\n const msgs = await this.mirrorNode.getTopicMessages(t, {\n limit: 1,\n order: 'desc',\n });\n const latest = msgs[0];\n const running = (latest && (latest as any).running_hash) || '';\n topicStates.push({ topicId: t, latestRunningHash: running });\n }\n\n const input = {\n accountId: params.accountId,\n publicKey: params.accountPublicKey,\n topics: topicStates,\n };\n const result = this.calculateAccountStateHash(input);\n const tx = buildHcs17MessageTx({\n topicId: params.publishTopicId,\n stateHash: result.stateHash,\n accountId: params.accountId,\n topics: params.topics,\n memo: params.memo,\n });\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n return { stateHash: result.stateHash };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,255 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
);
|
|
29
|
-
function validateNormalizedRelativePath(pathRaw) {
|
|
30
|
-
const path = pathRaw.trim();
|
|
31
|
-
if (!path) {
|
|
32
|
-
throw new Error("Path must be non-empty");
|
|
33
|
-
}
|
|
34
|
-
if (path.startsWith("/")) {
|
|
35
|
-
throw new Error("Path must be relative");
|
|
36
|
-
}
|
|
37
|
-
if (path.includes("\\")) {
|
|
38
|
-
throw new Error('Path must use "/" separators');
|
|
39
|
-
}
|
|
40
|
-
const segments = path.split("/");
|
|
41
|
-
for (const segment of segments) {
|
|
42
|
-
if (!segment || segment === "." || segment === "..") {
|
|
43
|
-
throw new Error(
|
|
44
|
-
'Path must be normalized (no ".", "..", or empty segments)'
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
1
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es153.js";
|
|
2
|
+
import { generateHCS17Memo } from "./standards-sdk.es101.js";
|
|
3
|
+
function buildHcs17CreateTopicTx(params) {
|
|
4
|
+
const memo = generateHCS17Memo(params.ttl);
|
|
5
|
+
return buildTopicCreateTx({
|
|
6
|
+
memo,
|
|
7
|
+
adminKey: params.adminKey,
|
|
8
|
+
submitKey: params.submitKey,
|
|
9
|
+
operatorPublicKey: params.operatorPublicKey
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function buildHcs17MessageTx(params) {
|
|
13
|
+
const payload = {
|
|
14
|
+
p: "hcs-17",
|
|
15
|
+
op: "state_hash",
|
|
16
|
+
state_hash: params.stateHash,
|
|
17
|
+
topics: params.topics,
|
|
18
|
+
account_id: params.accountId,
|
|
19
|
+
epoch: params.epoch,
|
|
20
|
+
timestamp: params.timestamp ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
21
|
+
m: params.memo
|
|
22
|
+
};
|
|
23
|
+
return buildMessageTx({
|
|
24
|
+
topicId: params.topicId,
|
|
25
|
+
message: JSON.stringify(payload),
|
|
26
|
+
transactionMemo: params.transactionMemo
|
|
27
|
+
});
|
|
48
28
|
}
|
|
49
|
-
const hcs1HrlOptionalSchema = z.string().regex(/^hcs:\/\/1\/[0-9]+\.[0-9]+\.[0-9]+$/).optional();
|
|
50
|
-
const discoveryMetadataAuthorSchema = z.union([
|
|
51
|
-
z.string().min(1),
|
|
52
|
-
z.object({
|
|
53
|
-
name: z.string().min(1),
|
|
54
|
-
contact: z.string().min(1).optional(),
|
|
55
|
-
url: z.string().url().optional()
|
|
56
|
-
}).passthrough()
|
|
57
|
-
]);
|
|
58
|
-
const hcs26DiscoveryMetadataSchema = z.object({
|
|
59
|
-
name: z.string().min(1),
|
|
60
|
-
description: z.string().min(1),
|
|
61
|
-
author: discoveryMetadataAuthorSchema,
|
|
62
|
-
license: z.string().min(1),
|
|
63
|
-
tags: z.array(
|
|
64
|
-
z.union([
|
|
65
|
-
z.number().int().positive(),
|
|
66
|
-
z.string().regex(/^(0|[1-9]\d*)$/).transform((value) => Number.parseInt(value, 10))
|
|
67
|
-
])
|
|
68
|
-
).optional(),
|
|
69
|
-
homepage: z.string().url().optional(),
|
|
70
|
-
icon: z.union([z.string().url(), decentralizedAssetUriSchema]).optional(),
|
|
71
|
-
icon_hcs1: hcs1HrlOptionalSchema,
|
|
72
|
-
languages: z.array(z.string().min(1)).optional(),
|
|
73
|
-
capabilities: z.array(z.string().min(1)).optional(),
|
|
74
|
-
repo: z.string().url().optional(),
|
|
75
|
-
commit: z.string().regex(/^[0-9a-f]{7,64}$/i, "commit must be a git commit SHA").optional()
|
|
76
|
-
}).passthrough();
|
|
77
|
-
const hcs26DiscoveryMetadataPatchSchema = hcs26DiscoveryMetadataSchema.partial().passthrough();
|
|
78
|
-
const hcs26DiscoveryRegisterSchema = z.object({
|
|
79
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
80
|
-
op: z.literal("register"),
|
|
81
|
-
t_id: topicIdSchema,
|
|
82
|
-
account_id: z.string().min(1),
|
|
83
|
-
metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),
|
|
84
|
-
m: z.string().max(500).optional(),
|
|
85
|
-
sequence_number: z.number().int().optional()
|
|
86
|
-
}).passthrough();
|
|
87
|
-
const hcs26DiscoveryRegisterLegacySchema = z.object({
|
|
88
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
89
|
-
op: z.literal("register"),
|
|
90
|
-
version_registry: topicIdSchema,
|
|
91
|
-
publisher: z.string().min(1),
|
|
92
|
-
metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),
|
|
93
|
-
m: z.string().max(500).optional(),
|
|
94
|
-
sequence_number: z.number().int().optional()
|
|
95
|
-
}).passthrough();
|
|
96
|
-
const hcs26DiscoveryUpdateSchema = z.object({
|
|
97
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
98
|
-
op: z.literal("update"),
|
|
99
|
-
uid: z.string().min(1),
|
|
100
|
-
account_id: z.string().min(1).optional(),
|
|
101
|
-
metadata: z.union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema]).optional(),
|
|
102
|
-
m: z.string().max(500).optional(),
|
|
103
|
-
sequence_number: z.number().int().optional()
|
|
104
|
-
}).passthrough();
|
|
105
|
-
const hcs26DiscoveryUpdateLegacySchema = z.object({
|
|
106
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
107
|
-
op: z.literal("update"),
|
|
108
|
-
uid: z.string().min(1),
|
|
109
|
-
publisher: z.string().min(1).optional(),
|
|
110
|
-
metadata: z.union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema]).optional(),
|
|
111
|
-
m: z.string().max(500).optional(),
|
|
112
|
-
sequence_number: z.number().int().optional()
|
|
113
|
-
}).passthrough();
|
|
114
|
-
const hcs26DiscoveryDeleteSchema = z.object({
|
|
115
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
116
|
-
op: z.literal("delete"),
|
|
117
|
-
uid: z.string().min(1),
|
|
118
|
-
m: z.string().max(500).optional(),
|
|
119
|
-
sequence_number: z.number().int().optional()
|
|
120
|
-
}).passthrough();
|
|
121
|
-
const hcs26DiscoveryMigrateSchema = z.object({
|
|
122
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
123
|
-
op: z.literal("migrate"),
|
|
124
|
-
m: z.string().max(500).optional(),
|
|
125
|
-
sequence_number: z.number().int().optional()
|
|
126
|
-
}).passthrough();
|
|
127
|
-
const checksumSchema = z.string().regex(/^sha256:[0-9a-f]{64}$/);
|
|
128
|
-
const hcs26VersionRegisterSchema = z.object({
|
|
129
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
130
|
-
op: z.literal("register"),
|
|
131
|
-
skill_uid: z.number().int().positive(),
|
|
132
|
-
version: semverSchema,
|
|
133
|
-
t_id: topicIdSchema,
|
|
134
|
-
checksum: checksumSchema.optional(),
|
|
135
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
136
|
-
m: z.string().max(500).optional(),
|
|
137
|
-
sequence_number: z.number().int().optional()
|
|
138
|
-
}).passthrough();
|
|
139
|
-
const hcs26VersionRegisterLegacySchema = z.object({
|
|
140
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
141
|
-
op: z.literal("register"),
|
|
142
|
-
skill_uid: z.number().int().positive(),
|
|
143
|
-
version: semverSchema,
|
|
144
|
-
manifest_hcs1: hcs1HrlSchema,
|
|
145
|
-
checksum: checksumSchema.optional(),
|
|
146
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
147
|
-
m: z.string().max(500).optional(),
|
|
148
|
-
sequence_number: z.number().int().optional()
|
|
149
|
-
}).passthrough();
|
|
150
|
-
const hcs26VersionUpdateSchema = z.object({
|
|
151
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
152
|
-
op: z.literal("update"),
|
|
153
|
-
uid: z.string().min(1),
|
|
154
|
-
status: z.enum(["active", "deprecated", "yanked"]).optional(),
|
|
155
|
-
m: z.string().max(500).optional(),
|
|
156
|
-
sequence_number: z.number().int().optional()
|
|
157
|
-
}).passthrough();
|
|
158
|
-
const hcs26VersionDeleteSchema = z.object({
|
|
159
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
160
|
-
op: z.literal("delete"),
|
|
161
|
-
uid: z.string().min(1),
|
|
162
|
-
m: z.string().max(500).optional(),
|
|
163
|
-
sequence_number: z.number().int().optional()
|
|
164
|
-
}).passthrough();
|
|
165
|
-
const hcs26VersionMigrateSchema = z.object({
|
|
166
|
-
p: z.literal(HCS26_PROTOCOL),
|
|
167
|
-
op: z.literal("migrate"),
|
|
168
|
-
m: z.string().max(500).optional(),
|
|
169
|
-
sequence_number: z.number().int().optional()
|
|
170
|
-
}).passthrough();
|
|
171
|
-
const hcs26ManifestFileSchema = z.object({
|
|
172
|
-
path: z.string().min(1).superRefine((value, ctx) => {
|
|
173
|
-
try {
|
|
174
|
-
validateNormalizedRelativePath(value);
|
|
175
|
-
} catch (error) {
|
|
176
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
177
|
-
ctx.addIssue({ code: z.ZodIssueCode.custom, message });
|
|
178
|
-
}
|
|
179
|
-
}),
|
|
180
|
-
hrl: hcs1HrlSchema,
|
|
181
|
-
sha256: z.string().regex(/^[0-9a-f]{64}$/),
|
|
182
|
-
mime: z.string().min(1)
|
|
183
|
-
}).passthrough();
|
|
184
|
-
const hcs26SkillManifestSchema = z.object({
|
|
185
|
-
name: z.string().min(1),
|
|
186
|
-
description: z.string().min(1),
|
|
187
|
-
version: semverSchema,
|
|
188
|
-
license: z.string().min(1),
|
|
189
|
-
author: discoveryMetadataAuthorSchema,
|
|
190
|
-
tags: z.array(
|
|
191
|
-
z.union([
|
|
192
|
-
z.number().int().positive(),
|
|
193
|
-
z.string().regex(/^(0|[1-9]\d*)$/).transform((value) => Number.parseInt(value, 10))
|
|
194
|
-
])
|
|
195
|
-
).optional(),
|
|
196
|
-
homepage: z.string().url().optional(),
|
|
197
|
-
languages: z.array(z.string().min(1)).optional(),
|
|
198
|
-
repo: z.string().url().optional(),
|
|
199
|
-
commit: z.string().regex(/^[0-9a-f]{7,64}$/i, "commit must be a git commit SHA").optional(),
|
|
200
|
-
entrypoints: z.array(
|
|
201
|
-
z.object({
|
|
202
|
-
path: z.string().min(1),
|
|
203
|
-
language: z.string().min(1),
|
|
204
|
-
args: z.array(z.string()).optional()
|
|
205
|
-
}).passthrough()
|
|
206
|
-
).optional(),
|
|
207
|
-
files: z.array(hcs26ManifestFileSchema).min(1)
|
|
208
|
-
}).passthrough().superRefine((value, ctx) => {
|
|
209
|
-
const hasSkillMd = value.files.some((file) => file.path === "SKILL.md");
|
|
210
|
-
if (!hasSkillMd) {
|
|
211
|
-
ctx.addIssue({
|
|
212
|
-
code: z.ZodIssueCode.custom,
|
|
213
|
-
message: 'SKILL.md must be present in the manifest files list with path "SKILL.md".',
|
|
214
|
-
path: ["files"]
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
const hcs26DiscoveryMessageSchema = z.union([
|
|
219
|
-
hcs26DiscoveryRegisterSchema,
|
|
220
|
-
hcs26DiscoveryRegisterLegacySchema,
|
|
221
|
-
hcs26DiscoveryUpdateSchema,
|
|
222
|
-
hcs26DiscoveryUpdateLegacySchema,
|
|
223
|
-
hcs26DiscoveryDeleteSchema,
|
|
224
|
-
hcs26DiscoveryMigrateSchema
|
|
225
|
-
]);
|
|
226
|
-
const hcs26VersionMessageSchema = z.union([
|
|
227
|
-
hcs26VersionRegisterSchema,
|
|
228
|
-
hcs26VersionRegisterLegacySchema,
|
|
229
|
-
hcs26VersionUpdateSchema,
|
|
230
|
-
hcs26VersionDeleteSchema,
|
|
231
|
-
hcs26VersionMigrateSchema
|
|
232
|
-
]);
|
|
233
29
|
export {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
hcs26DiscoveryMessageSchema,
|
|
237
|
-
hcs26DiscoveryMetadataPatchSchema,
|
|
238
|
-
hcs26DiscoveryMetadataSchema,
|
|
239
|
-
hcs26DiscoveryMigrateSchema,
|
|
240
|
-
hcs26DiscoveryRegisterLegacySchema,
|
|
241
|
-
hcs26DiscoveryRegisterSchema,
|
|
242
|
-
hcs26DiscoveryUpdateLegacySchema,
|
|
243
|
-
hcs26DiscoveryUpdateSchema,
|
|
244
|
-
hcs26ManifestFileSchema,
|
|
245
|
-
hcs26OperationEnumSchema,
|
|
246
|
-
hcs26SkillManifestSchema,
|
|
247
|
-
hcs26TopicTypeEnumSchema,
|
|
248
|
-
hcs26VersionDeleteSchema,
|
|
249
|
-
hcs26VersionMessageSchema,
|
|
250
|
-
hcs26VersionMigrateSchema,
|
|
251
|
-
hcs26VersionRegisterLegacySchema,
|
|
252
|
-
hcs26VersionRegisterSchema,
|
|
253
|
-
hcs26VersionUpdateSchema
|
|
30
|
+
buildHcs17CreateTopicTx,
|
|
31
|
+
buildHcs17MessageTx
|
|
254
32
|
};
|
|
255
33
|
//# sourceMappingURL=standards-sdk.es105.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es105.js","sources":["../../src/hcs-26/types.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { NetworkType } from '../utils/types';\n\nexport type HCS26Network = NetworkType;\n\nexport const HCS26_PROTOCOL = 'hcs-26' as const;\n\nexport const hcs26TopicTypeEnumSchema = z.union([\n z.literal(0), // discovery\n z.literal(1), // version\n z.literal(2), // reputation (optional)\n]);\n\nexport type Hcs26TopicTypeEnum = z.infer<typeof hcs26TopicTypeEnumSchema>;\n\nexport const hcs26OperationEnumSchema = z.union([\n z.literal(0), // register\n z.literal(1), // update\n z.literal(2), // delete\n z.literal(3), // migrate\n]);\n\nexport type Hcs26OperationEnum = z.infer<typeof hcs26OperationEnumSchema>;\n\nconst topicIdSchema = z.string().regex(/^[0-9]+\\.[0-9]+\\.[0-9]+$/);\nconst hcs1HrlSchema = z.string().regex(/^hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+$/);\n\nconst decentralizedAssetUriSchema = z\n .string()\n .regex(\n /^(hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+|ipfs:\\/\\/\\S+|ar:\\/\\/\\S+|ord:\\/\\/\\S+)$/,\n );\n\nconst semverSchema = z\n .string()\n .regex(\n /^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-([0-9A-Za-z.-]+))?(?:\\+[0-9A-Za-z.-]+)?$/,\n );\n\nfunction validateNormalizedRelativePath(pathRaw: string): void {\n const path = pathRaw.trim();\n if (!path) {\n throw new Error('Path must be non-empty');\n }\n if (path.startsWith('/')) {\n throw new Error('Path must be relative');\n }\n if (path.includes('\\\\')) {\n throw new Error('Path must use \"/\" separators');\n }\n const segments = path.split('/');\n for (const segment of segments) {\n if (!segment || segment === '.' || segment === '..') {\n throw new Error(\n 'Path must be normalized (no \".\", \"..\", or empty segments)',\n );\n }\n }\n}\n\nconst hcs1HrlOptionalSchema = z\n .string()\n .regex(/^hcs:\\/\\/1\\/[0-9]+\\.[0-9]+\\.[0-9]+$/)\n .optional();\n\nconst discoveryMetadataAuthorSchema = z.union([\n z.string().min(1),\n z\n .object({\n name: z.string().min(1),\n contact: z.string().min(1).optional(),\n url: z.string().url().optional(),\n })\n .passthrough(),\n]);\n\nexport const hcs26DiscoveryMetadataSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().min(1),\n author: discoveryMetadataAuthorSchema,\n license: z.string().min(1),\n tags: z\n .array(\n z.union([\n z.number().int().positive(),\n z\n .string()\n .regex(/^(0|[1-9]\\d*)$/)\n .transform(value => Number.parseInt(value, 10)),\n ]),\n )\n .optional(),\n homepage: z.string().url().optional(),\n icon: z.union([z.string().url(), decentralizedAssetUriSchema]).optional(),\n icon_hcs1: hcs1HrlOptionalSchema,\n languages: z.array(z.string().min(1)).optional(),\n capabilities: z.array(z.string().min(1)).optional(),\n repo: z.string().url().optional(),\n commit: z\n .string()\n .regex(/^[0-9a-f]{7,64}$/i, 'commit must be a git commit SHA')\n .optional(),\n })\n .passthrough();\n\nexport const hcs26DiscoveryMetadataPatchSchema = hcs26DiscoveryMetadataSchema\n .partial()\n .passthrough();\n\nexport const hcs26DiscoveryRegisterSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n t_id: topicIdSchema,\n account_id: z.string().min(1),\n metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryRegister = z.infer<\n typeof hcs26DiscoveryRegisterSchema\n>;\n\nexport const hcs26DiscoveryRegisterLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n version_registry: topicIdSchema,\n publisher: z.string().min(1),\n metadata: z.union([hcs26DiscoveryMetadataSchema, hcs1HrlSchema]),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryRegisterLegacy = z.infer<\n typeof hcs26DiscoveryRegisterLegacySchema\n>;\n\nexport const hcs26DiscoveryUpdateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n account_id: z.string().min(1).optional(),\n metadata: z\n .union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema])\n .optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryUpdate = z.infer<typeof hcs26DiscoveryUpdateSchema>;\n\nexport const hcs26DiscoveryUpdateLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n publisher: z.string().min(1).optional(),\n metadata: z\n .union([hcs26DiscoveryMetadataPatchSchema, hcs1HrlSchema])\n .optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryUpdateLegacy = z.infer<\n typeof hcs26DiscoveryUpdateLegacySchema\n>;\n\nexport const hcs26DiscoveryDeleteSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('delete'),\n uid: z.string().min(1),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryDelete = z.infer<typeof hcs26DiscoveryDeleteSchema>;\n\nexport const hcs26DiscoveryMigrateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('migrate'),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26DiscoveryMigrate = z.infer<typeof hcs26DiscoveryMigrateSchema>;\n\nconst checksumSchema = z.string().regex(/^sha256:[0-9a-f]{64}$/);\n\nexport const hcs26VersionRegisterSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n skill_uid: z.number().int().positive(),\n version: semverSchema,\n t_id: topicIdSchema,\n checksum: checksumSchema.optional(),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionRegister = z.infer<typeof hcs26VersionRegisterSchema>;\n\nexport const hcs26VersionRegisterLegacySchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('register'),\n skill_uid: z.number().int().positive(),\n version: semverSchema,\n manifest_hcs1: hcs1HrlSchema,\n checksum: checksumSchema.optional(),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionRegisterLegacy = z.infer<\n typeof hcs26VersionRegisterLegacySchema\n>;\n\nexport const hcs26VersionUpdateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('update'),\n uid: z.string().min(1),\n status: z.enum(['active', 'deprecated', 'yanked']).optional(),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionUpdate = z.infer<typeof hcs26VersionUpdateSchema>;\n\nexport const hcs26VersionDeleteSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('delete'),\n uid: z.string().min(1),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionDelete = z.infer<typeof hcs26VersionDeleteSchema>;\n\nexport const hcs26VersionMigrateSchema = z\n .object({\n p: z.literal(HCS26_PROTOCOL),\n op: z.literal('migrate'),\n m: z.string().max(500).optional(),\n sequence_number: z.number().int().optional(),\n })\n .passthrough();\n\nexport type Hcs26VersionMigrate = z.infer<typeof hcs26VersionMigrateSchema>;\n\nexport const hcs26ManifestFileSchema = z\n .object({\n path: z\n .string()\n .min(1)\n .superRefine((value, ctx) => {\n try {\n validateNormalizedRelativePath(value);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : String(error);\n ctx.addIssue({ code: z.ZodIssueCode.custom, message });\n }\n }),\n hrl: hcs1HrlSchema,\n sha256: z.string().regex(/^[0-9a-f]{64}$/),\n mime: z.string().min(1),\n })\n .passthrough();\n\nexport type Hcs26ManifestFile = z.infer<typeof hcs26ManifestFileSchema>;\n\nexport const hcs26SkillManifestSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().min(1),\n version: semverSchema,\n license: z.string().min(1),\n author: discoveryMetadataAuthorSchema,\n tags: z\n .array(\n z.union([\n z.number().int().positive(),\n z\n .string()\n .regex(/^(0|[1-9]\\d*)$/)\n .transform(value => Number.parseInt(value, 10)),\n ]),\n )\n .optional(),\n homepage: z.string().url().optional(),\n languages: z.array(z.string().min(1)).optional(),\n repo: z.string().url().optional(),\n commit: z\n .string()\n .regex(/^[0-9a-f]{7,64}$/i, 'commit must be a git commit SHA')\n .optional(),\n entrypoints: z\n .array(\n z\n .object({\n path: z.string().min(1),\n language: z.string().min(1),\n args: z.array(z.string()).optional(),\n })\n .passthrough(),\n )\n .optional(),\n files: z.array(hcs26ManifestFileSchema).min(1),\n })\n .passthrough()\n .superRefine((value, ctx) => {\n const hasSkillMd = value.files.some(file => file.path === 'SKILL.md');\n if (!hasSkillMd) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'SKILL.md must be present in the manifest files list with path \"SKILL.md\".',\n path: ['files'],\n });\n }\n });\n\nexport type Hcs26SkillManifest = z.infer<typeof hcs26SkillManifestSchema>;\n\nexport const hcs26DiscoveryMessageSchema = z.union([\n hcs26DiscoveryRegisterSchema,\n hcs26DiscoveryRegisterLegacySchema,\n hcs26DiscoveryUpdateSchema,\n hcs26DiscoveryUpdateLegacySchema,\n hcs26DiscoveryDeleteSchema,\n hcs26DiscoveryMigrateSchema,\n]);\n\nexport type Hcs26DiscoveryMessage = z.infer<typeof hcs26DiscoveryMessageSchema>;\n\nexport const hcs26VersionMessageSchema = z.union([\n hcs26VersionRegisterSchema,\n hcs26VersionRegisterLegacySchema,\n hcs26VersionUpdateSchema,\n hcs26VersionDeleteSchema,\n hcs26VersionMigrateSchema,\n]);\n\nexport type Hcs26VersionMessage = z.infer<typeof hcs26VersionMessageSchema>;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es105.js","sources":["../../src/hcs-17/tx.ts"],"sourcesContent":["import {\n PublicKey,\n KeyList,\n TopicMessageSubmitTransaction,\n TopicCreateTransaction,\n} from '@hashgraph/sdk';\nimport { buildTopicCreateTx, buildMessageTx } from '../common/tx/tx-utils';\nimport { generateHCS17Memo, StateHashMessage } from './types';\n\n/**\n * Build a TopicCreateTransaction for HCS‑17 state topics.\n */\nexport function buildHcs17CreateTopicTx(params: {\n ttl: number;\n adminKey?: boolean | string | PublicKey | KeyList;\n submitKey?: boolean | string | PublicKey | KeyList;\n operatorPublicKey?: PublicKey;\n}): TopicCreateTransaction {\n const memo = generateHCS17Memo(params.ttl);\n return buildTopicCreateTx({\n memo,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: params.operatorPublicKey,\n });\n}\n\n/**\n * Build a TopicMessageSubmitTransaction for HCS‑17 messages.\n */\n/**\n * Build a TopicMessageSubmitTransaction for HCS‑17 messages.\n */\nexport function buildHcs17MessageTx(params: {\n topicId: string;\n stateHash: string;\n accountId: string;\n topics: string[];\n memo?: string;\n epoch?: number;\n timestamp?: string;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const payload: StateHashMessage = {\n p: 'hcs-17',\n op: 'state_hash',\n state_hash: params.stateHash,\n topics: params.topics,\n account_id: params.accountId,\n epoch: params.epoch,\n timestamp: params.timestamp ?? new Date().toISOString(),\n m: params.memo,\n };\n return buildMessageTx({\n topicId: params.topicId,\n message: JSON.stringify(payload),\n transactionMemo: params.transactionMemo,\n });\n}\n"],"names":[],"mappings":";;AAYO,SAAS,wBAAwB,QAKb;AACzB,QAAM,OAAO,kBAAkB,OAAO,GAAG;AACzC,SAAO,mBAAmB;AAAA,IACxB;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,WAAW,OAAO;AAAA,IAClB,mBAAmB,OAAO;AAAA,EAAA,CAC3B;AACH;AAQO,SAAS,oBAAoB,QASF;AAChC,QAAM,UAA4B;AAAA,IAChC,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,YAAY,OAAO;AAAA,IACnB,QAAQ,OAAO;AAAA,IACf,YAAY,OAAO;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,WAAW,OAAO,cAAa,oBAAI,KAAA,GAAO,YAAA;AAAA,IAC1C,GAAG,OAAO;AAAA,EAAA;AAEZ,SAAO,eAAe;AAAA,IACpB,SAAS,OAAO;AAAA,IAChB,SAAS,KAAK,UAAU,OAAO;AAAA,IAC/B,iBAAiB,OAAO;AAAA,EAAA,CACzB;AACH;"}
|