@hashgraphonline/standards-sdk 0.1.141-canary.4 → 0.1.141-canary.40
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/README.md +13 -1
- package/dist/cjs/hcs-11/client.d.ts.map +1 -1
- package/dist/cjs/hcs-11/types.d.ts +1 -0
- package/dist/cjs/hcs-11/types.d.ts.map +1 -1
- package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-17/types.d.ts.map +1 -1
- package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-20/types.d.ts +9 -8
- package/dist/cjs/hcs-20/types.d.ts.map +1 -1
- package/dist/cjs/hcs-21/base-client.d.ts +5 -3
- package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-21/browser.d.ts +17 -7
- package/dist/cjs/hcs-21/browser.d.ts.map +1 -1
- package/dist/cjs/hcs-21/index.d.ts +1 -0
- package/dist/cjs/hcs-21/index.d.ts.map +1 -1
- package/dist/cjs/hcs-21/sdk.d.ts +62 -0
- package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-21/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-21/types.d.ts +149 -65
- package/dist/cjs/hcs-21/types.d.ts.map +1 -1
- package/dist/cjs/hcs-21/verify.d.ts +6 -0
- package/dist/cjs/hcs-21/verify.d.ts.map +1 -0
- package/dist/cjs/inscribe/inscriber.d.ts +3 -1
- package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
- package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
- package/dist/cjs/inscribe/types.d.ts +5 -0
- package/dist/cjs/inscribe/types.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts +4 -3
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +24 -24
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/services/types.d.ts +1 -0
- package/dist/cjs/services/types.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/cjs/utils/dynamic-import.d.ts +1 -0
- package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
- package/dist/es/hcs-11/client.d.ts.map +1 -1
- package/dist/es/hcs-11/types.d.ts +1 -0
- package/dist/es/hcs-11/types.d.ts.map +1 -1
- package/dist/es/hcs-16/base-client.d.ts.map +1 -1
- package/dist/es/hcs-17/types.d.ts.map +1 -1
- package/dist/es/hcs-20/sdk.d.ts.map +1 -1
- package/dist/es/hcs-20/types.d.ts +9 -8
- package/dist/es/hcs-20/types.d.ts.map +1 -1
- package/dist/es/hcs-21/base-client.d.ts +5 -3
- package/dist/es/hcs-21/base-client.d.ts.map +1 -1
- package/dist/es/hcs-21/browser.d.ts +17 -7
- package/dist/es/hcs-21/browser.d.ts.map +1 -1
- package/dist/es/hcs-21/index.d.ts +1 -0
- package/dist/es/hcs-21/index.d.ts.map +1 -1
- package/dist/es/hcs-21/sdk.d.ts +62 -0
- package/dist/es/hcs-21/sdk.d.ts.map +1 -1
- package/dist/es/hcs-21/tx.d.ts.map +1 -1
- package/dist/es/hcs-21/types.d.ts +149 -65
- package/dist/es/hcs-21/types.d.ts.map +1 -1
- package/dist/es/hcs-21/verify.d.ts +6 -0
- package/dist/es/hcs-21/verify.d.ts.map +1 -0
- package/dist/es/inscribe/inscriber.d.ts +3 -1
- package/dist/es/inscribe/inscriber.d.ts.map +1 -1
- package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
- package/dist/es/inscribe/types.d.ts +5 -0
- package/dist/es/inscribe/types.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +4 -3
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +24 -24
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/services/types.d.ts +1 -0
- package/dist/es/services/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +58 -50
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es10.js +2 -2
- package/dist/es/standards-sdk.es100.js +26 -229
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +228 -109
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +94 -15
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +30 -80
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +80 -27
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +25 -136
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +140 -27
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +27 -20
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +18 -156
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +148 -196
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +160 -747
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +786 -9
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +13 -567
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +541 -576
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +601 -12
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +13 -2
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +2 -83
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +80 -36
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +39 -2
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +2 -223
- 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 +193 -1110
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +1059 -225
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +303 -419
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +418 -351
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +348 -785
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +854 -182
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +153 -1512
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +1373 -1977
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +2209 -69
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +59 -79
- 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 +80 -152
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +159 -7
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +7 -86
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +65 -44
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +65 -28
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +28 -12274
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +138 -760
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +37 -133
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +12265 -33
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +766 -17
- 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 +167 -51
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +311 -53
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +294 -120
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +322 -191
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +279 -294
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +63 -440
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +13 -327
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +49 -69
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +85 -0
- package/dist/es/standards-sdk.es148.js.map +1 -0
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es16.js +1 -1
- package/dist/es/standards-sdk.es17.js +5 -11
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +12 -17
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +9 -14
- package/dist/es/standards-sdk.es20.js.map +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 +1 -1
- package/dist/es/standards-sdk.es28.js +16 -19
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es3.js +2 -2
- package/dist/es/standards-sdk.es31.js +2 -2
- package/dist/es/standards-sdk.es32.js +4 -4
- package/dist/es/standards-sdk.es33.js +1 -1
- package/dist/es/standards-sdk.es36.js +7 -12
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +4 -4
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +1 -1
- package/dist/es/standards-sdk.es42.js +2 -2
- package/dist/es/standards-sdk.es47.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es52.js +1 -1
- package/dist/es/standards-sdk.es54.js +1 -1
- package/dist/es/standards-sdk.es57.js +2 -2
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es61.js +7 -12
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +1 -1
- package/dist/es/standards-sdk.es65.js +2 -2
- package/dist/es/standards-sdk.es66.js +3 -3
- package/dist/es/standards-sdk.es69.js +2 -2
- package/dist/es/standards-sdk.es7.js +2 -2
- package/dist/es/standards-sdk.es70.js +3 -3
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +1 -1
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +2 -2
- package/dist/es/standards-sdk.es77.js +5 -3
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +4 -10
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +1 -1
- package/dist/es/standards-sdk.es8.js +1 -1
- package/dist/es/standards-sdk.es80.js +27 -15
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +12 -4
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +31 -6
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +182 -7
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +256 -9
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +55 -21
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +22 -75
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +45 -30
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +57 -22
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es90.js +28 -23
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +23 -167
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +158 -119
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +68 -95
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +136 -119
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +139 -39
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +42 -257
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +243 -80
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +47 -48
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +100 -28
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/es/utils/dynamic-import.d.ts +1 -0
- package/dist/es/utils/dynamic-import.d.ts.map +1 -1
- package/package.json +65 -63
|
@@ -1,32 +1,104 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import { HCS17BaseClient } from "./standards-sdk.es97.js";
|
|
2
|
+
import { buildHcs17CreateTopicTx, buildHcs17MessageTx } from "./standards-sdk.es100.js";
|
|
3
|
+
class HCS17BrowserClient extends HCS17BaseClient {
|
|
4
|
+
constructor(config) {
|
|
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;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create an HCS‑17 state topic, signing with the connected signer.
|
|
33
|
+
*/
|
|
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(", ")}`);
|
|
53
|
+
}
|
|
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 {};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Compute current account state hash from topic running hashes and publish it.
|
|
69
|
+
*/
|
|
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 };
|
|
99
|
+
}
|
|
27
100
|
}
|
|
28
101
|
export {
|
|
29
|
-
|
|
30
|
-
buildHcs17MessageTx
|
|
102
|
+
HCS17BrowserClient
|
|
31
103
|
};
|
|
32
104
|
//# sourceMappingURL=standards-sdk.es99.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es99.js","sources":["../../src/hcs-17/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es99.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-import.d.ts","sourceRoot":"","sources":["../../../src/utils/dynamic-import.ts"],"names":[],"mappings":"AAwEA,wBAAsB,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAiB5E"}
|
|
1
|
+
{"version":3,"file":"dynamic-import.d.ts","sourceRoot":"","sources":["../../../src/utils/dynamic-import.ts"],"names":[],"mappings":"AAwEA,wBAAsB,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAiB5E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CA2BjE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hashgraphonline/standards-sdk",
|
|
3
|
-
"version": "0.1.141-canary.
|
|
3
|
+
"version": "0.1.141-canary.40",
|
|
4
4
|
"description": "The Hashgraph Online Standards SDK provides a complete implementation of the Hashgraph Consensus Standards (HCS), giving developers all the tools needed to build applications on Hedera.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -45,66 +45,6 @@
|
|
|
45
45
|
"default": "./dist/es/standards-sdk.es.js"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
|
-
"devDependencies": {
|
|
49
|
-
"@hashgraphonline/conversational-agent": "0.2.104",
|
|
50
|
-
"@swc/jest": "^0.2.39",
|
|
51
|
-
"@types/jest": "^29.5.14",
|
|
52
|
-
"@types/lodash": "^4.17.20",
|
|
53
|
-
"@types/mime-types": "^2.1.4",
|
|
54
|
-
"@types/node": "^22.18.12",
|
|
55
|
-
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
56
|
-
"@typescript-eslint/parser": "^8.46.2",
|
|
57
|
-
"concurrently": "^8.2.2",
|
|
58
|
-
"eslint-plugin-sonarjs": "^3.0.5",
|
|
59
|
-
"jest": "^29.7.0",
|
|
60
|
-
"jest-environment-jsdom": "^29.7.0",
|
|
61
|
-
"json-to-plain-text": "^1.2.0",
|
|
62
|
-
"localtunnel": "^2.0.2",
|
|
63
|
-
"nodemon": "^3.1.10",
|
|
64
|
-
"openai": "^4.104.0",
|
|
65
|
-
"prettier": "^3.6.2",
|
|
66
|
-
"process": "^0.11.10",
|
|
67
|
-
"rimraf": "^6.0.1",
|
|
68
|
-
"terser": "^5.44.0",
|
|
69
|
-
"ts-jest": "^29.4.5",
|
|
70
|
-
"tsx": "^4.20.6",
|
|
71
|
-
"typescript": "^5.9.3",
|
|
72
|
-
"vite": "^6.4.1",
|
|
73
|
-
"vite-plugin-dts": "^4.5.4",
|
|
74
|
-
"vite-plugin-node-polyfills": "^0.24.0",
|
|
75
|
-
"ioredis": "^5.8.2"
|
|
76
|
-
},
|
|
77
|
-
"dependencies": {
|
|
78
|
-
"@hashgraph/proto": "^2.24.0",
|
|
79
|
-
"@hashgraph/sdk": "^2.77.0",
|
|
80
|
-
"@hashgraphonline/hashinal-wc": "2.0.1",
|
|
81
|
-
"@hiero-did-sdk/registrar": "0.1.2",
|
|
82
|
-
"@hiero-did-sdk/resolver": "0.1.2",
|
|
83
|
-
"@kiloscribe/inscription-sdk": "^2.0.3",
|
|
84
|
-
"@noble/curves": "^2.0.1",
|
|
85
|
-
"agent0-sdk": "0.2.1",
|
|
86
|
-
"axios": "^1.12.2",
|
|
87
|
-
"bignumber.js": "^9.3.1",
|
|
88
|
-
"buffer": "^6.0.3",
|
|
89
|
-
"chalk": "^5.4.1",
|
|
90
|
-
"date-fns": "^4.1.0",
|
|
91
|
-
"dotenv": "^16.6.1",
|
|
92
|
-
"ethers": "^6.15.0",
|
|
93
|
-
"file-type": "^20.5.0",
|
|
94
|
-
"mime-types": "^2.1.35",
|
|
95
|
-
"viem": "^2.19.9",
|
|
96
|
-
"x402-axios": "^0.7.0",
|
|
97
|
-
"zod": "^3.25.76"
|
|
98
|
-
},
|
|
99
|
-
"peerDependenciesMeta": {
|
|
100
|
-
"ioredis": {
|
|
101
|
-
"optional": true
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"resolutions": {
|
|
105
|
-
"@hashgraphonline/standards-sdk": "0.1.132",
|
|
106
|
-
"@hashgraph/sdk": "^2.77.0"
|
|
107
|
-
},
|
|
108
48
|
"scripts": {
|
|
109
49
|
"clean": "rimraf dist",
|
|
110
50
|
"build:es": "BUILD_FORMAT=es vite build",
|
|
@@ -114,6 +54,7 @@
|
|
|
114
54
|
"cli": "([ -d cli/standards-cli/node_modules ] || pnpm --dir cli/standards-cli install) && pnpm --dir cli/standards-cli start",
|
|
115
55
|
"cli:build": "([ -d cli/standards-cli/node_modules ] || pnpm --dir cli/standards-cli install) && pnpm --dir cli/standards-cli build",
|
|
116
56
|
"cli:install": "pnpm --dir cli/standards-cli install",
|
|
57
|
+
"prepublishOnly": "npm run build",
|
|
117
58
|
"release": "npm publish --access public",
|
|
118
59
|
"release:canary": "npm run prepublishOnly && npm publish --tag canary --access public",
|
|
119
60
|
"version:canary": "npm version prerelease --preid canary --no-git-tag-version",
|
|
@@ -163,5 +104,66 @@
|
|
|
163
104
|
"lint:fix": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\" \"demo/**/*.{ts,tsx,js,jsx,json}\" \"__tests__/**/*.{ts,tsx,js,jsx,json}\"",
|
|
164
105
|
"format": "npm run lint:fix",
|
|
165
106
|
"format:check": "npm run lint"
|
|
166
|
-
}
|
|
167
|
-
|
|
107
|
+
},
|
|
108
|
+
"devDependencies": {
|
|
109
|
+
"@hashgraphonline/conversational-agent": "0.2.104",
|
|
110
|
+
"@swc/jest": "^0.2.39",
|
|
111
|
+
"@types/jest": "^29.5.14",
|
|
112
|
+
"@types/lodash": "^4.17.20",
|
|
113
|
+
"@types/mime-types": "^2.1.4",
|
|
114
|
+
"@types/node": "^22.18.12",
|
|
115
|
+
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
116
|
+
"@typescript-eslint/parser": "^8.46.2",
|
|
117
|
+
"concurrently": "^8.2.2",
|
|
118
|
+
"eslint-plugin-sonarjs": "^3.0.5",
|
|
119
|
+
"jest": "^29.7.0",
|
|
120
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
121
|
+
"json-to-plain-text": "^1.2.0",
|
|
122
|
+
"localtunnel": "^2.0.2",
|
|
123
|
+
"nodemon": "^3.1.10",
|
|
124
|
+
"openai": "^4.104.0",
|
|
125
|
+
"prettier": "^3.6.2",
|
|
126
|
+
"process": "^0.11.10",
|
|
127
|
+
"rimraf": "^6.0.1",
|
|
128
|
+
"terser": "^5.44.0",
|
|
129
|
+
"ts-jest": "^29.4.5",
|
|
130
|
+
"tsx": "^4.20.6",
|
|
131
|
+
"typescript": "^5.9.3",
|
|
132
|
+
"vite": "^6.4.1",
|
|
133
|
+
"vite-plugin-dts": "^4.5.4",
|
|
134
|
+
"vite-plugin-node-polyfills": "^0.24.0",
|
|
135
|
+
"ioredis": "^5.8.2"
|
|
136
|
+
},
|
|
137
|
+
"dependencies": {
|
|
138
|
+
"@hashgraph/proto": "^2.24.0",
|
|
139
|
+
"@hashgraph/sdk": "^2.77.0",
|
|
140
|
+
"@hashgraphonline/hashinal-wc": "2.0.1",
|
|
141
|
+
"@hiero-did-sdk/registrar": "0.1.2",
|
|
142
|
+
"@hiero-did-sdk/resolver": "0.1.2",
|
|
143
|
+
"@kiloscribe/inscription-sdk": "^2.0.4",
|
|
144
|
+
"@noble/curves": "^2.0.1",
|
|
145
|
+
"agent0-sdk": "0.2.1",
|
|
146
|
+
"axios": "^1.12.2",
|
|
147
|
+
"bignumber.js": "^9.3.1",
|
|
148
|
+
"buffer": "^6.0.3",
|
|
149
|
+
"chalk": "^5.4.1",
|
|
150
|
+
"date-fns": "^4.1.0",
|
|
151
|
+
"dotenv": "^16.6.1",
|
|
152
|
+
"ethers": "^6.15.0",
|
|
153
|
+
"file-type": "^20.5.0",
|
|
154
|
+
"mime-types": "^2.1.35",
|
|
155
|
+
"viem": "^2.19.9",
|
|
156
|
+
"x402-axios": "^0.7.0",
|
|
157
|
+
"zod": "^3.25.76"
|
|
158
|
+
},
|
|
159
|
+
"peerDependenciesMeta": {
|
|
160
|
+
"ioredis": {
|
|
161
|
+
"optional": true
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"resolutions": {
|
|
165
|
+
"@hashgraphonline/standards-sdk": "0.1.141-canary.25",
|
|
166
|
+
"@hashgraph/sdk": "^2.77.0"
|
|
167
|
+
},
|
|
168
|
+
"packageManager": "pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912"
|
|
169
|
+
}
|