@hashgraphonline/standards-sdk 0.1.141-canary.4 → 0.1.141-canary.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/README.md +13 -1
  2. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-11/types.d.ts +1 -0
  4. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  5. package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
  6. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  7. package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
  8. package/dist/cjs/hcs-20/types.d.ts +9 -8
  9. package/dist/cjs/hcs-20/types.d.ts.map +1 -1
  10. package/dist/cjs/hcs-21/base-client.d.ts +5 -3
  11. package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
  12. package/dist/cjs/hcs-21/browser.d.ts +17 -7
  13. package/dist/cjs/hcs-21/browser.d.ts.map +1 -1
  14. package/dist/cjs/hcs-21/index.d.ts +1 -0
  15. package/dist/cjs/hcs-21/index.d.ts.map +1 -1
  16. package/dist/cjs/hcs-21/sdk.d.ts +62 -0
  17. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  18. package/dist/cjs/hcs-21/tx.d.ts.map +1 -1
  19. package/dist/cjs/hcs-21/types.d.ts +157 -73
  20. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  21. package/dist/cjs/hcs-21/verify.d.ts +6 -0
  22. package/dist/cjs/hcs-21/verify.d.ts.map +1 -0
  23. package/dist/cjs/inscribe/inscriber.d.ts +3 -1
  24. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  25. package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
  26. package/dist/cjs/inscribe/types.d.ts +5 -0
  27. package/dist/cjs/inscribe/types.d.ts.map +1 -1
  28. package/dist/cjs/services/registry-broker/client.d.ts +4 -3
  29. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  30. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  31. package/dist/cjs/services/registry-broker/schemas.d.ts +24 -24
  32. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  33. package/dist/cjs/services/types.d.ts +1 -0
  34. package/dist/cjs/services/types.d.ts.map +1 -1
  35. package/dist/cjs/standards-sdk.cjs +2 -2
  36. package/dist/cjs/standards-sdk.cjs.map +1 -1
  37. package/dist/cjs/utils/dynamic-import.d.ts +1 -0
  38. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  39. package/dist/es/hcs-11/client.d.ts.map +1 -1
  40. package/dist/es/hcs-11/types.d.ts +1 -0
  41. package/dist/es/hcs-11/types.d.ts.map +1 -1
  42. package/dist/es/hcs-16/base-client.d.ts.map +1 -1
  43. package/dist/es/hcs-17/types.d.ts.map +1 -1
  44. package/dist/es/hcs-20/sdk.d.ts.map +1 -1
  45. package/dist/es/hcs-20/types.d.ts +9 -8
  46. package/dist/es/hcs-20/types.d.ts.map +1 -1
  47. package/dist/es/hcs-21/base-client.d.ts +5 -3
  48. package/dist/es/hcs-21/base-client.d.ts.map +1 -1
  49. package/dist/es/hcs-21/browser.d.ts +17 -7
  50. package/dist/es/hcs-21/browser.d.ts.map +1 -1
  51. package/dist/es/hcs-21/index.d.ts +1 -0
  52. package/dist/es/hcs-21/index.d.ts.map +1 -1
  53. package/dist/es/hcs-21/sdk.d.ts +62 -0
  54. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  55. package/dist/es/hcs-21/tx.d.ts.map +1 -1
  56. package/dist/es/hcs-21/types.d.ts +157 -73
  57. package/dist/es/hcs-21/types.d.ts.map +1 -1
  58. package/dist/es/hcs-21/verify.d.ts +6 -0
  59. package/dist/es/hcs-21/verify.d.ts.map +1 -0
  60. package/dist/es/inscribe/inscriber.d.ts +3 -1
  61. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  62. package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
  63. package/dist/es/inscribe/types.d.ts +5 -0
  64. package/dist/es/inscribe/types.d.ts.map +1 -1
  65. package/dist/es/services/registry-broker/client.d.ts +4 -3
  66. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  67. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  68. package/dist/es/services/registry-broker/schemas.d.ts +24 -24
  69. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  70. package/dist/es/services/types.d.ts +1 -0
  71. package/dist/es/services/types.d.ts.map +1 -1
  72. package/dist/es/standards-sdk.es.js +58 -50
  73. package/dist/es/standards-sdk.es.js.map +1 -1
  74. package/dist/es/standards-sdk.es10.js +2 -2
  75. package/dist/es/standards-sdk.es100.js +26 -229
  76. package/dist/es/standards-sdk.es100.js.map +1 -1
  77. package/dist/es/standards-sdk.es101.js +228 -109
  78. package/dist/es/standards-sdk.es101.js.map +1 -1
  79. package/dist/es/standards-sdk.es102.js +94 -15
  80. package/dist/es/standards-sdk.es102.js.map +1 -1
  81. package/dist/es/standards-sdk.es103.js +30 -80
  82. package/dist/es/standards-sdk.es103.js.map +1 -1
  83. package/dist/es/standards-sdk.es104.js +80 -27
  84. package/dist/es/standards-sdk.es104.js.map +1 -1
  85. package/dist/es/standards-sdk.es105.js +25 -136
  86. package/dist/es/standards-sdk.es105.js.map +1 -1
  87. package/dist/es/standards-sdk.es106.js +140 -27
  88. package/dist/es/standards-sdk.es106.js.map +1 -1
  89. package/dist/es/standards-sdk.es107.js +27 -20
  90. package/dist/es/standards-sdk.es107.js.map +1 -1
  91. package/dist/es/standards-sdk.es108.js +18 -156
  92. package/dist/es/standards-sdk.es108.js.map +1 -1
  93. package/dist/es/standards-sdk.es109.js +148 -196
  94. package/dist/es/standards-sdk.es109.js.map +1 -1
  95. package/dist/es/standards-sdk.es110.js +160 -747
  96. package/dist/es/standards-sdk.es110.js.map +1 -1
  97. package/dist/es/standards-sdk.es111.js +786 -9
  98. package/dist/es/standards-sdk.es111.js.map +1 -1
  99. package/dist/es/standards-sdk.es112.js +13 -567
  100. package/dist/es/standards-sdk.es112.js.map +1 -1
  101. package/dist/es/standards-sdk.es113.js +541 -576
  102. package/dist/es/standards-sdk.es113.js.map +1 -1
  103. package/dist/es/standards-sdk.es114.js +601 -12
  104. package/dist/es/standards-sdk.es114.js.map +1 -1
  105. package/dist/es/standards-sdk.es115.js +13 -2
  106. package/dist/es/standards-sdk.es115.js.map +1 -1
  107. package/dist/es/standards-sdk.es116.js +2 -83
  108. package/dist/es/standards-sdk.es116.js.map +1 -1
  109. package/dist/es/standards-sdk.es117.js +80 -36
  110. package/dist/es/standards-sdk.es117.js.map +1 -1
  111. package/dist/es/standards-sdk.es118.js +39 -2
  112. package/dist/es/standards-sdk.es118.js.map +1 -1
  113. package/dist/es/standards-sdk.es119.js +2 -223
  114. package/dist/es/standards-sdk.es119.js.map +1 -1
  115. package/dist/es/standards-sdk.es120.js +193 -1110
  116. package/dist/es/standards-sdk.es120.js.map +1 -1
  117. package/dist/es/standards-sdk.es121.js +1059 -225
  118. package/dist/es/standards-sdk.es121.js.map +1 -1
  119. package/dist/es/standards-sdk.es122.js +303 -419
  120. package/dist/es/standards-sdk.es122.js.map +1 -1
  121. package/dist/es/standards-sdk.es123.js +418 -351
  122. package/dist/es/standards-sdk.es123.js.map +1 -1
  123. package/dist/es/standards-sdk.es124.js +348 -785
  124. package/dist/es/standards-sdk.es124.js.map +1 -1
  125. package/dist/es/standards-sdk.es125.js +854 -182
  126. package/dist/es/standards-sdk.es125.js.map +1 -1
  127. package/dist/es/standards-sdk.es126.js +153 -1512
  128. package/dist/es/standards-sdk.es126.js.map +1 -1
  129. package/dist/es/standards-sdk.es127.js +1373 -1977
  130. package/dist/es/standards-sdk.es127.js.map +1 -1
  131. package/dist/es/standards-sdk.es128.js +2209 -69
  132. package/dist/es/standards-sdk.es128.js.map +1 -1
  133. package/dist/es/standards-sdk.es129.js +59 -79
  134. package/dist/es/standards-sdk.es129.js.map +1 -1
  135. package/dist/es/standards-sdk.es13.js +1 -1
  136. package/dist/es/standards-sdk.es130.js +80 -152
  137. package/dist/es/standards-sdk.es130.js.map +1 -1
  138. package/dist/es/standards-sdk.es131.js +159 -7
  139. package/dist/es/standards-sdk.es131.js.map +1 -1
  140. package/dist/es/standards-sdk.es132.js +7 -86
  141. package/dist/es/standards-sdk.es132.js.map +1 -1
  142. package/dist/es/standards-sdk.es133.js +65 -44
  143. package/dist/es/standards-sdk.es133.js.map +1 -1
  144. package/dist/es/standards-sdk.es134.js +65 -28
  145. package/dist/es/standards-sdk.es134.js.map +1 -1
  146. package/dist/es/standards-sdk.es135.js +28 -12274
  147. package/dist/es/standards-sdk.es135.js.map +1 -1
  148. package/dist/es/standards-sdk.es136.js +17 -760
  149. package/dist/es/standards-sdk.es136.js.map +1 -1
  150. package/dist/es/standards-sdk.es137.js +1 -1
  151. package/dist/es/standards-sdk.es138.js +766 -42
  152. package/dist/es/standards-sdk.es138.js.map +1 -1
  153. package/dist/es/standards-sdk.es139.js +40 -15
  154. package/dist/es/standards-sdk.es139.js.map +1 -1
  155. package/dist/es/standards-sdk.es14.js +1 -1
  156. package/dist/es/standards-sdk.es140.js +12271 -53
  157. package/dist/es/standards-sdk.es140.js.map +1 -1
  158. package/dist/es/standards-sdk.es141.js +49 -57
  159. package/dist/es/standards-sdk.es141.js.map +1 -1
  160. package/dist/es/standards-sdk.es142.js +71 -161
  161. package/dist/es/standards-sdk.es142.js.map +1 -1
  162. package/dist/es/standards-sdk.es143.js +139 -289
  163. package/dist/es/standards-sdk.es143.js.map +1 -1
  164. package/dist/es/standards-sdk.es144.js +274 -298
  165. package/dist/es/standards-sdk.es144.js.map +1 -1
  166. package/dist/es/standards-sdk.es145.js +262 -369
  167. package/dist/es/standards-sdk.es145.js.map +1 -1
  168. package/dist/es/standards-sdk.es146.js +316 -194
  169. package/dist/es/standards-sdk.es146.js.map +1 -1
  170. package/dist/es/standards-sdk.es147.js +319 -64
  171. package/dist/es/standards-sdk.es147.js.map +1 -1
  172. package/dist/es/standards-sdk.es148.js +79 -0
  173. package/dist/es/standards-sdk.es148.js.map +1 -0
  174. package/dist/es/standards-sdk.es15.js +1 -1
  175. package/dist/es/standards-sdk.es16.js +1 -1
  176. package/dist/es/standards-sdk.es17.js +5 -11
  177. package/dist/es/standards-sdk.es17.js.map +1 -1
  178. package/dist/es/standards-sdk.es19.js +11 -16
  179. package/dist/es/standards-sdk.es19.js.map +1 -1
  180. package/dist/es/standards-sdk.es20.js +9 -14
  181. package/dist/es/standards-sdk.es20.js.map +1 -1
  182. package/dist/es/standards-sdk.es21.js +1 -1
  183. package/dist/es/standards-sdk.es22.js +1 -1
  184. package/dist/es/standards-sdk.es23.js +1 -1
  185. package/dist/es/standards-sdk.es24.js +1 -1
  186. package/dist/es/standards-sdk.es25.js +1 -1
  187. package/dist/es/standards-sdk.es26.js +1 -1
  188. package/dist/es/standards-sdk.es27.js +1 -1
  189. package/dist/es/standards-sdk.es28.js +15 -18
  190. package/dist/es/standards-sdk.es28.js.map +1 -1
  191. package/dist/es/standards-sdk.es29.js.map +1 -1
  192. package/dist/es/standards-sdk.es3.js +2 -2
  193. package/dist/es/standards-sdk.es31.js +2 -2
  194. package/dist/es/standards-sdk.es32.js +4 -4
  195. package/dist/es/standards-sdk.es33.js +1 -1
  196. package/dist/es/standards-sdk.es36.js +7 -12
  197. package/dist/es/standards-sdk.es36.js.map +1 -1
  198. package/dist/es/standards-sdk.es37.js +3 -3
  199. package/dist/es/standards-sdk.es38.js +2 -2
  200. package/dist/es/standards-sdk.es39.js +2 -2
  201. package/dist/es/standards-sdk.es40.js +1 -1
  202. package/dist/es/standards-sdk.es41.js +1 -1
  203. package/dist/es/standards-sdk.es42.js +2 -2
  204. package/dist/es/standards-sdk.es47.js +1 -1
  205. package/dist/es/standards-sdk.es5.js +1 -1
  206. package/dist/es/standards-sdk.es52.js +1 -1
  207. package/dist/es/standards-sdk.es54.js +1 -1
  208. package/dist/es/standards-sdk.es57.js +2 -2
  209. package/dist/es/standards-sdk.es59.js +1 -1
  210. package/dist/es/standards-sdk.es6.js +2 -2
  211. package/dist/es/standards-sdk.es60.js +1 -1
  212. package/dist/es/standards-sdk.es61.js +6 -11
  213. package/dist/es/standards-sdk.es61.js.map +1 -1
  214. package/dist/es/standards-sdk.es63.js +1 -1
  215. package/dist/es/standards-sdk.es65.js +2 -2
  216. package/dist/es/standards-sdk.es66.js +2 -2
  217. package/dist/es/standards-sdk.es69.js +1 -1
  218. package/dist/es/standards-sdk.es7.js +2 -2
  219. package/dist/es/standards-sdk.es70.js +3 -3
  220. package/dist/es/standards-sdk.es71.js +2 -2
  221. package/dist/es/standards-sdk.es72.js +1 -1
  222. package/dist/es/standards-sdk.es73.js.map +1 -1
  223. package/dist/es/standards-sdk.es75.js +2 -2
  224. package/dist/es/standards-sdk.es77.js +4 -2
  225. package/dist/es/standards-sdk.es77.js.map +1 -1
  226. package/dist/es/standards-sdk.es78.js +4 -10
  227. package/dist/es/standards-sdk.es78.js.map +1 -1
  228. package/dist/es/standards-sdk.es79.js +1 -1
  229. package/dist/es/standards-sdk.es8.js +1 -1
  230. package/dist/es/standards-sdk.es80.js +27 -15
  231. package/dist/es/standards-sdk.es80.js.map +1 -1
  232. package/dist/es/standards-sdk.es82.js +12 -4
  233. package/dist/es/standards-sdk.es82.js.map +1 -1
  234. package/dist/es/standards-sdk.es83.js +31 -6
  235. package/dist/es/standards-sdk.es83.js.map +1 -1
  236. package/dist/es/standards-sdk.es84.js +181 -6
  237. package/dist/es/standards-sdk.es84.js.map +1 -1
  238. package/dist/es/standards-sdk.es85.js +256 -9
  239. package/dist/es/standards-sdk.es85.js.map +1 -1
  240. package/dist/es/standards-sdk.es86.js +55 -21
  241. package/dist/es/standards-sdk.es86.js.map +1 -1
  242. package/dist/es/standards-sdk.es87.js +22 -75
  243. package/dist/es/standards-sdk.es87.js.map +1 -1
  244. package/dist/es/standards-sdk.es88.js +45 -30
  245. package/dist/es/standards-sdk.es88.js.map +1 -1
  246. package/dist/es/standards-sdk.es89.js +57 -22
  247. package/dist/es/standards-sdk.es89.js.map +1 -1
  248. package/dist/es/standards-sdk.es90.js +28 -23
  249. package/dist/es/standards-sdk.es90.js.map +1 -1
  250. package/dist/es/standards-sdk.es91.js +23 -167
  251. package/dist/es/standards-sdk.es91.js.map +1 -1
  252. package/dist/es/standards-sdk.es92.js +158 -119
  253. package/dist/es/standards-sdk.es92.js.map +1 -1
  254. package/dist/es/standards-sdk.es93.js +68 -95
  255. package/dist/es/standards-sdk.es93.js.map +1 -1
  256. package/dist/es/standards-sdk.es94.js +136 -119
  257. package/dist/es/standards-sdk.es94.js.map +1 -1
  258. package/dist/es/standards-sdk.es95.js +139 -39
  259. package/dist/es/standards-sdk.es95.js.map +1 -1
  260. package/dist/es/standards-sdk.es96.js +42 -257
  261. package/dist/es/standards-sdk.es96.js.map +1 -1
  262. package/dist/es/standards-sdk.es97.js +243 -80
  263. package/dist/es/standards-sdk.es97.js.map +1 -1
  264. package/dist/es/standards-sdk.es98.js +47 -48
  265. package/dist/es/standards-sdk.es98.js.map +1 -1
  266. package/dist/es/standards-sdk.es99.js +100 -28
  267. package/dist/es/standards-sdk.es99.js.map +1 -1
  268. package/dist/es/utils/dynamic-import.d.ts +1 -0
  269. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  270. package/package.json +3 -3
@@ -1,32 +1,104 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
2
- import { generateHCS17Memo } from "./standards-sdk.es95.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
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
20
- m: params.memo
21
- };
22
- return buildMessageTx({
23
- topicId: params.topicId,
24
- message: JSON.stringify(payload),
25
- transactionMemo: params.transactionMemo
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
- buildHcs17CreateTopicTx,
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/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 HCS17 messages.\n */\nexport function buildHcs17MessageTx(params: {\n topicId: string;\n stateHash: string;\n accountId: string;\n topics: string[];\n memo?: 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 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,QAOF;AAChC,QAAM,UAA4B;AAAA,IAChC,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,YAAY,OAAO;AAAA,IACnB,QAAQ,OAAO;AAAA,IACf,YAAY,OAAO;AAAA,IACnB,YAAW,oBAAI,KAAA,GAAO,YAAA;AAAA,IACtB,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;"}
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,2 +1,3 @@
1
1
  export declare function optionalImport<T>(specifier: string): Promise<T | null>;
2
+ export declare function optionalImportSync<T>(specifier: string): T | null;
2
3
  //# sourceMappingURL=dynamic-import.d.ts.map
@@ -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.4",
3
+ "version": "0.1.141-canary.41",
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": [
@@ -80,7 +80,7 @@
80
80
  "@hashgraphonline/hashinal-wc": "2.0.1",
81
81
  "@hiero-did-sdk/registrar": "0.1.2",
82
82
  "@hiero-did-sdk/resolver": "0.1.2",
83
- "@kiloscribe/inscription-sdk": "^2.0.3",
83
+ "@kiloscribe/inscription-sdk": "^2.0.4",
84
84
  "@noble/curves": "^2.0.1",
85
85
  "agent0-sdk": "0.2.1",
86
86
  "axios": "^1.12.2",
@@ -102,7 +102,7 @@
102
102
  }
103
103
  },
104
104
  "resolutions": {
105
- "@hashgraphonline/standards-sdk": "0.1.132",
105
+ "@hashgraphonline/standards-sdk": "0.1.141-canary.25",
106
106
  "@hashgraph/sdk": "^2.77.0"
107
107
  },
108
108
  "scripts": {