@hashgraphonline/standards-sdk 0.1.141-canary.2 → 0.1.141-canary.20

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 (242) hide show
  1. package/README.md +13 -1
  2. package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  4. package/dist/cjs/hcs-21/base-client.d.ts +4 -3
  5. package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
  6. package/dist/cjs/hcs-21/index.d.ts +1 -0
  7. package/dist/cjs/hcs-21/index.d.ts.map +1 -1
  8. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  9. package/dist/cjs/hcs-21/tx.d.ts.map +1 -1
  10. package/dist/cjs/hcs-21/types.d.ts +135 -64
  11. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  12. package/dist/cjs/hcs-21/verify.d.ts +6 -0
  13. package/dist/cjs/hcs-21/verify.d.ts.map +1 -0
  14. package/dist/cjs/inscribe/inscriber.d.ts +1 -0
  15. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  16. package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
  17. package/dist/cjs/services/registry-broker/client.d.ts +4 -3
  18. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  19. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  20. package/dist/cjs/services/registry-broker/schemas.d.ts +38 -38
  21. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  22. package/dist/cjs/standards-sdk.cjs +2 -2
  23. package/dist/cjs/standards-sdk.cjs.map +1 -1
  24. package/dist/cjs/utils/dynamic-import.d.ts +1 -0
  25. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  26. package/dist/es/hcs-16/base-client.d.ts.map +1 -1
  27. package/dist/es/hcs-17/types.d.ts.map +1 -1
  28. package/dist/es/hcs-21/base-client.d.ts +4 -3
  29. package/dist/es/hcs-21/base-client.d.ts.map +1 -1
  30. package/dist/es/hcs-21/index.d.ts +1 -0
  31. package/dist/es/hcs-21/index.d.ts.map +1 -1
  32. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  33. package/dist/es/hcs-21/tx.d.ts.map +1 -1
  34. package/dist/es/hcs-21/types.d.ts +135 -64
  35. package/dist/es/hcs-21/types.d.ts.map +1 -1
  36. package/dist/es/hcs-21/verify.d.ts +6 -0
  37. package/dist/es/hcs-21/verify.d.ts.map +1 -0
  38. package/dist/es/inscribe/inscriber.d.ts +1 -0
  39. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  40. package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
  41. package/dist/es/services/registry-broker/client.d.ts +4 -3
  42. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  43. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  44. package/dist/es/services/registry-broker/schemas.d.ts +38 -38
  45. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  46. package/dist/es/standards-sdk.es.js +58 -50
  47. package/dist/es/standards-sdk.es.js.map +1 -1
  48. package/dist/es/standards-sdk.es10.js +2 -2
  49. package/dist/es/standards-sdk.es100.js +26 -229
  50. package/dist/es/standards-sdk.es100.js.map +1 -1
  51. package/dist/es/standards-sdk.es101.js +228 -109
  52. package/dist/es/standards-sdk.es101.js.map +1 -1
  53. package/dist/es/standards-sdk.es102.js +94 -15
  54. package/dist/es/standards-sdk.es102.js.map +1 -1
  55. package/dist/es/standards-sdk.es103.js +30 -80
  56. package/dist/es/standards-sdk.es103.js.map +1 -1
  57. package/dist/es/standards-sdk.es104.js +80 -27
  58. package/dist/es/standards-sdk.es104.js.map +1 -1
  59. package/dist/es/standards-sdk.es105.js +25 -136
  60. package/dist/es/standards-sdk.es105.js.map +1 -1
  61. package/dist/es/standards-sdk.es106.js +140 -27
  62. package/dist/es/standards-sdk.es106.js.map +1 -1
  63. package/dist/es/standards-sdk.es107.js +27 -20
  64. package/dist/es/standards-sdk.es107.js.map +1 -1
  65. package/dist/es/standards-sdk.es108.js +18 -156
  66. package/dist/es/standards-sdk.es108.js.map +1 -1
  67. package/dist/es/standards-sdk.es109.js +148 -196
  68. package/dist/es/standards-sdk.es109.js.map +1 -1
  69. package/dist/es/standards-sdk.es110.js +160 -747
  70. package/dist/es/standards-sdk.es110.js.map +1 -1
  71. package/dist/es/standards-sdk.es111.js +786 -9
  72. package/dist/es/standards-sdk.es111.js.map +1 -1
  73. package/dist/es/standards-sdk.es112.js +13 -567
  74. package/dist/es/standards-sdk.es112.js.map +1 -1
  75. package/dist/es/standards-sdk.es113.js +541 -576
  76. package/dist/es/standards-sdk.es113.js.map +1 -1
  77. package/dist/es/standards-sdk.es114.js +601 -12
  78. package/dist/es/standards-sdk.es114.js.map +1 -1
  79. package/dist/es/standards-sdk.es115.js +13 -2
  80. package/dist/es/standards-sdk.es115.js.map +1 -1
  81. package/dist/es/standards-sdk.es116.js +2 -83
  82. package/dist/es/standards-sdk.es116.js.map +1 -1
  83. package/dist/es/standards-sdk.es117.js +80 -36
  84. package/dist/es/standards-sdk.es117.js.map +1 -1
  85. package/dist/es/standards-sdk.es118.js +39 -2
  86. package/dist/es/standards-sdk.es118.js.map +1 -1
  87. package/dist/es/standards-sdk.es119.js +2 -223
  88. package/dist/es/standards-sdk.es119.js.map +1 -1
  89. package/dist/es/standards-sdk.es12.js +1 -1
  90. package/dist/es/standards-sdk.es120.js +193 -1110
  91. package/dist/es/standards-sdk.es120.js.map +1 -1
  92. package/dist/es/standards-sdk.es121.js +1059 -225
  93. package/dist/es/standards-sdk.es121.js.map +1 -1
  94. package/dist/es/standards-sdk.es122.js +303 -419
  95. package/dist/es/standards-sdk.es122.js.map +1 -1
  96. package/dist/es/standards-sdk.es123.js +418 -351
  97. package/dist/es/standards-sdk.es123.js.map +1 -1
  98. package/dist/es/standards-sdk.es124.js +348 -785
  99. package/dist/es/standards-sdk.es124.js.map +1 -1
  100. package/dist/es/standards-sdk.es125.js +748 -183
  101. package/dist/es/standards-sdk.es125.js.map +1 -1
  102. package/dist/es/standards-sdk.es126.js +153 -1512
  103. package/dist/es/standards-sdk.es126.js.map +1 -1
  104. package/dist/es/standards-sdk.es127.js +1373 -1977
  105. package/dist/es/standards-sdk.es127.js.map +1 -1
  106. package/dist/es/standards-sdk.es128.js +2206 -50
  107. package/dist/es/standards-sdk.es128.js.map +1 -1
  108. package/dist/es/standards-sdk.es129.js +59 -79
  109. package/dist/es/standards-sdk.es129.js.map +1 -1
  110. package/dist/es/standards-sdk.es13.js +1 -1
  111. package/dist/es/standards-sdk.es130.js +80 -152
  112. package/dist/es/standards-sdk.es130.js.map +1 -1
  113. package/dist/es/standards-sdk.es131.js +159 -7
  114. package/dist/es/standards-sdk.es131.js.map +1 -1
  115. package/dist/es/standards-sdk.es132.js +7 -86
  116. package/dist/es/standards-sdk.es132.js.map +1 -1
  117. package/dist/es/standards-sdk.es133.js +65 -44
  118. package/dist/es/standards-sdk.es133.js.map +1 -1
  119. package/dist/es/standards-sdk.es134.js +65 -28
  120. package/dist/es/standards-sdk.es134.js.map +1 -1
  121. package/dist/es/standards-sdk.es135.js +69 -125
  122. package/dist/es/standards-sdk.es135.js.map +1 -1
  123. package/dist/es/standards-sdk.es136.js +28 -42
  124. package/dist/es/standards-sdk.es136.js.map +1 -1
  125. package/dist/es/standards-sdk.es137.js +2 -2
  126. package/dist/es/standards-sdk.es138.js +138 -760
  127. package/dist/es/standards-sdk.es138.js.map +1 -1
  128. package/dist/es/standards-sdk.es139.js +746 -12254
  129. package/dist/es/standards-sdk.es139.js.map +1 -1
  130. package/dist/es/standards-sdk.es14.js +1 -1
  131. package/dist/es/standards-sdk.es140.js +12235 -133
  132. package/dist/es/standards-sdk.es140.js.map +1 -1
  133. package/dist/es/standards-sdk.es141.js +34 -314
  134. package/dist/es/standards-sdk.es141.js.map +1 -1
  135. package/dist/es/standards-sdk.es142.js +55 -345
  136. package/dist/es/standards-sdk.es142.js.map +1 -1
  137. package/dist/es/standards-sdk.es143.js +129 -410
  138. package/dist/es/standards-sdk.es143.js.map +1 -1
  139. package/dist/es/standards-sdk.es144.js +200 -209
  140. package/dist/es/standards-sdk.es144.js.map +1 -1
  141. package/dist/es/standards-sdk.es145.js +334 -64
  142. package/dist/es/standards-sdk.es145.js.map +1 -1
  143. package/dist/es/standards-sdk.es146.js +452 -55
  144. package/dist/es/standards-sdk.es146.js.map +1 -1
  145. package/dist/es/standards-sdk.es147.js +319 -52
  146. package/dist/es/standards-sdk.es147.js.map +1 -1
  147. package/dist/es/standards-sdk.es148.js +79 -0
  148. package/dist/es/standards-sdk.es148.js.map +1 -0
  149. package/dist/es/standards-sdk.es15.js +1 -1
  150. package/dist/es/standards-sdk.es16.js +1 -1
  151. package/dist/es/standards-sdk.es17.js +5 -10
  152. package/dist/es/standards-sdk.es17.js.map +1 -1
  153. package/dist/es/standards-sdk.es19.js +12 -16
  154. package/dist/es/standards-sdk.es19.js.map +1 -1
  155. package/dist/es/standards-sdk.es2.js +26 -72
  156. package/dist/es/standards-sdk.es2.js.map +1 -1
  157. package/dist/es/standards-sdk.es20.js +9 -13
  158. package/dist/es/standards-sdk.es20.js.map +1 -1
  159. package/dist/es/standards-sdk.es21.js +1 -1
  160. package/dist/es/standards-sdk.es22.js +1 -1
  161. package/dist/es/standards-sdk.es23.js +1 -1
  162. package/dist/es/standards-sdk.es24.js +1 -1
  163. package/dist/es/standards-sdk.es25.js +1 -1
  164. package/dist/es/standards-sdk.es26.js +1 -1
  165. package/dist/es/standards-sdk.es27.js +1 -1
  166. package/dist/es/standards-sdk.es28.js +12 -16
  167. package/dist/es/standards-sdk.es28.js.map +1 -1
  168. package/dist/es/standards-sdk.es3.js +2 -2
  169. package/dist/es/standards-sdk.es31.js +2 -2
  170. package/dist/es/standards-sdk.es32.js +4 -4
  171. package/dist/es/standards-sdk.es33.js +1 -1
  172. package/dist/es/standards-sdk.es36.js +7 -12
  173. package/dist/es/standards-sdk.es36.js.map +1 -1
  174. package/dist/es/standards-sdk.es37.js +4 -4
  175. package/dist/es/standards-sdk.es38.js +2 -2
  176. package/dist/es/standards-sdk.es39.js +2 -2
  177. package/dist/es/standards-sdk.es40.js +1 -1
  178. package/dist/es/standards-sdk.es41.js +1 -1
  179. package/dist/es/standards-sdk.es42.js +2 -2
  180. package/dist/es/standards-sdk.es47.js +1 -1
  181. package/dist/es/standards-sdk.es5.js +2 -2
  182. package/dist/es/standards-sdk.es52.js +1 -1
  183. package/dist/es/standards-sdk.es54.js +1 -1
  184. package/dist/es/standards-sdk.es57.js +2 -2
  185. package/dist/es/standards-sdk.es59.js +1 -1
  186. package/dist/es/standards-sdk.es6.js +2 -2
  187. package/dist/es/standards-sdk.es60.js +1 -1
  188. package/dist/es/standards-sdk.es61.js +7 -11
  189. package/dist/es/standards-sdk.es61.js.map +1 -1
  190. package/dist/es/standards-sdk.es63.js +1 -1
  191. package/dist/es/standards-sdk.es65.js +1 -1
  192. package/dist/es/standards-sdk.es66.js +2 -2
  193. package/dist/es/standards-sdk.es69.js +2 -2
  194. package/dist/es/standards-sdk.es7.js +2 -2
  195. package/dist/es/standards-sdk.es70.js +3 -3
  196. package/dist/es/standards-sdk.es71.js +2 -2
  197. package/dist/es/standards-sdk.es72.js +1 -1
  198. package/dist/es/standards-sdk.es75.js +2 -2
  199. package/dist/es/standards-sdk.es77.js +2 -2
  200. package/dist/es/standards-sdk.es78.js +4 -10
  201. package/dist/es/standards-sdk.es78.js.map +1 -1
  202. package/dist/es/standards-sdk.es79.js +1 -1
  203. package/dist/es/standards-sdk.es8.js +1 -1
  204. package/dist/es/standards-sdk.es80.js +26 -15
  205. package/dist/es/standards-sdk.es80.js.map +1 -1
  206. package/dist/es/standards-sdk.es82.js +12 -4
  207. package/dist/es/standards-sdk.es82.js.map +1 -1
  208. package/dist/es/standards-sdk.es83.js +7 -6
  209. package/dist/es/standards-sdk.es83.js.map +1 -1
  210. package/dist/es/standards-sdk.es84.js +7 -5
  211. package/dist/es/standards-sdk.es84.js.map +1 -1
  212. package/dist/es/standards-sdk.es86.js +55 -21
  213. package/dist/es/standards-sdk.es86.js.map +1 -1
  214. package/dist/es/standards-sdk.es87.js +22 -75
  215. package/dist/es/standards-sdk.es87.js.map +1 -1
  216. package/dist/es/standards-sdk.es88.js +45 -30
  217. package/dist/es/standards-sdk.es88.js.map +1 -1
  218. package/dist/es/standards-sdk.es89.js +57 -22
  219. package/dist/es/standards-sdk.es89.js.map +1 -1
  220. package/dist/es/standards-sdk.es90.js +28 -23
  221. package/dist/es/standards-sdk.es90.js.map +1 -1
  222. package/dist/es/standards-sdk.es91.js +23 -167
  223. package/dist/es/standards-sdk.es91.js.map +1 -1
  224. package/dist/es/standards-sdk.es92.js +158 -119
  225. package/dist/es/standards-sdk.es92.js.map +1 -1
  226. package/dist/es/standards-sdk.es93.js +68 -95
  227. package/dist/es/standards-sdk.es93.js.map +1 -1
  228. package/dist/es/standards-sdk.es94.js +136 -119
  229. package/dist/es/standards-sdk.es94.js.map +1 -1
  230. package/dist/es/standards-sdk.es95.js +139 -39
  231. package/dist/es/standards-sdk.es95.js.map +1 -1
  232. package/dist/es/standards-sdk.es96.js +42 -257
  233. package/dist/es/standards-sdk.es96.js.map +1 -1
  234. package/dist/es/standards-sdk.es97.js +243 -80
  235. package/dist/es/standards-sdk.es97.js.map +1 -1
  236. package/dist/es/standards-sdk.es98.js +47 -48
  237. package/dist/es/standards-sdk.es98.js.map +1 -1
  238. package/dist/es/standards-sdk.es99.js +100 -28
  239. package/dist/es/standards-sdk.es99.js.map +1 -1
  240. package/dist/es/utils/dynamic-import.d.ts +1 -0
  241. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  242. package/package.json +63 -61
@@ -1,32 +1,104 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es136.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.2",
3
+ "version": "0.1.141-canary.20",
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,6 +45,66 @@
45
45
  "default": "./dist/es/standards-sdk.es.js"
46
46
  }
47
47
  },
48
+ "scripts": {
49
+ "clean": "rimraf dist",
50
+ "build:es": "BUILD_FORMAT=es vite build",
51
+ "build:umd": "BUILD_FORMAT=umd vite build",
52
+ "build:cjs": "BUILD_FORMAT=cjs vite build",
53
+ "build": "npm run clean && npm run build:es && npm run build:cjs",
54
+ "cli": "([ -d cli/standards-cli/node_modules ] || pnpm --dir cli/standards-cli install) && pnpm --dir cli/standards-cli start",
55
+ "cli:build": "([ -d cli/standards-cli/node_modules ] || pnpm --dir cli/standards-cli install) && pnpm --dir cli/standards-cli build",
56
+ "cli:install": "pnpm --dir cli/standards-cli install",
57
+ "prepublishOnly": "npm run build",
58
+ "release": "npm publish --access public",
59
+ "release:canary": "npm run prepublishOnly && npm publish --tag canary --access public",
60
+ "version:canary": "npm version prerelease --preid canary --no-git-tag-version",
61
+ "publish:canary": "npm run version:canary && npm run release:canary",
62
+ "demo:inscribe": "tsx demo/inscribe-demo.ts",
63
+ "demo:hcs-10": "tsx demo/hcs-10/index.ts",
64
+ "demo:fee": "tsx demo/hcs-10/fee-demo.ts",
65
+ "demo:transact": "tsx demo/hcs-10/transact-demo.ts",
66
+ "demo:transact-agent": "tsx demo/hcs-10/transact-agent.ts",
67
+ "demo:polling-agent": "tsx demo/hcs-10/polling-agent.ts",
68
+ "demo:connection-manager": "tsx demo/hcs-10/connection-manager.ts",
69
+ "demo:hrl-content": "tsx demo/hrl-content-demo.ts",
70
+ "demo:hcs-14:issue-resolve": "tsx demo/hcs-14/issue-and-resolve-did.ts",
71
+ "demo:hcs12": "tsx demo/hcs-12/hcs12-demo.ts",
72
+ "demo:mcp-chat": "tsx demo/hcs-10/create-mcp.ts",
73
+ "demo:hcs-2:create": "tsx demo/hcs-2/create-registry.ts",
74
+ "demo:hcs-6": "tsx demo/hcs-6/dynamic-hashinal-demo.ts",
75
+ "demo:hcs-6:create-registry": "tsx demo/hcs-6/create-registry.ts",
76
+ "demo:hcs-6:query-registry": "tsx demo/hcs-6/query-registry.ts",
77
+ "demo:hcs-6:mint": "tsx demo/hcs-6/mint-hashinal.ts",
78
+ "demo:hcs-17": "tsx demo/hcs-17/state-hash-demo.ts",
79
+ "demo:hcs-7:create": "tsx demo/hcs-7/create-hcs-7-topic.ts",
80
+ "demo:hcs-15": "tsx demo/hcs-15/petal-accounts-demo.ts",
81
+ "demo:hcs-10:create-registry": "tsx demo/hcs-10/create-registry.ts",
82
+ "demo:hcs-16:create-flora": "tsx demo/hcs-16/create-flora-demo.ts",
83
+ "demo:hcs-11:profile": "tsx demo/hcs-11/inscribe-profile-with-uaid.ts",
84
+ "demo:hcs-11:resolve-uaid": "tsx demo/hcs-11/resolve-profile-uaid.ts",
85
+ "demo:hcs-20:deploy-and-mint": "tsx demo/hcs-20/deploy-and-mint.ts",
86
+ "demo:hcs-20:deploy-points": "tsx demo/hcs-20/deploy-points.ts",
87
+ "demo:hcs-20:mint-transfer-burn": "tsx demo/hcs-20/mint-transfer-burn.ts",
88
+ "demo:hcs-21": "tsx demo/hcs-21/package-declaration-demo.ts",
89
+ "demo:hcs-6:browser": "pnpm run build && pnpm --dir demo/hcs-6/browser i && pnpm --dir demo/hcs-6/browser dev",
90
+ "demo:hcs-5": "tsx demo/hcs-5/mint-hashinal.ts",
91
+ "demo:registry-broker": "tsx demo/registry-broker/registry-broker-demo.ts",
92
+ "demo:registry-broker-history": "tsx demo/registry-broker/registry-broker-history-demo.ts",
93
+ "demo:registry-broker-erc8004": "tsx demo/registry-broker/registry-broker-erc8004-demo.ts",
94
+ "demo:registry-broker-agentverse": "tsx demo/registry-broker/registry-broker-agentverse-demo.ts",
95
+ "demo:registry-broker-ping": "tsx demo/registry-broker/ping-agent-demo.ts",
96
+ "demo:registry-broker-x402": "tsx demo/registry-broker/registry-broker-x402-demo.ts",
97
+ "demo:registry-broker-erc8004-x402": "tsx demo/registry-broker/registry-broker-erc8004-x402-demo.ts",
98
+ "demo:registry-broker-x402-topup": "tsx demo/registry-broker/registry-broker-x402-topup.ts",
99
+ "watch": "nodemon --watch src --ext ts,tsx --exec \"npm run build && yalc push\"",
100
+ "test": "jest",
101
+ "test:unit-list": "jest --listTests --testPathPattern __tests__/utils/ --testPathPattern __tests__/services/ --testPathPattern __tests__/content-store/ --testPathPattern __tests__/fees/ --testPathPattern __tests__/common/tx/",
102
+ "test:unit-fast": "jest --coverage --runInBand --detectOpenHandles --testPathPattern __tests__/utils/ --testPathPattern __tests__/services/ --testPathPattern __tests__/content-store/ --testPathPattern __tests__/fees/ --testPathPattern __tests__/common/tx/",
103
+ "lint": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json}\" \"demo/**/*.{ts,tsx,js,jsx,json}\" \"__tests__/**/*.{ts,tsx,js,jsx,json}\"",
104
+ "lint:fix": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\" \"demo/**/*.{ts,tsx,js,jsx,json}\" \"__tests__/**/*.{ts,tsx,js,jsx,json}\"",
105
+ "format": "npm run lint:fix",
106
+ "format:check": "npm run lint"
107
+ },
48
108
  "devDependencies": {
49
109
  "@hashgraphonline/conversational-agent": "0.2.104",
50
110
  "@swc/jest": "^0.2.39",
@@ -105,63 +165,5 @@
105
165
  "@hashgraphonline/standards-sdk": "0.1.132",
106
166
  "@hashgraph/sdk": "^2.77.0"
107
167
  },
108
- "scripts": {
109
- "clean": "rimraf dist",
110
- "build:es": "BUILD_FORMAT=es vite build",
111
- "build:umd": "BUILD_FORMAT=umd vite build",
112
- "build:cjs": "BUILD_FORMAT=cjs vite build",
113
- "build": "npm run clean && npm run build:es && npm run build:cjs",
114
- "cli": "([ -d cli/standards-cli/node_modules ] || pnpm --dir cli/standards-cli install) && pnpm --dir cli/standards-cli start",
115
- "cli:build": "([ -d cli/standards-cli/node_modules ] || pnpm --dir cli/standards-cli install) && pnpm --dir cli/standards-cli build",
116
- "cli:install": "pnpm --dir cli/standards-cli install",
117
- "release": "npm publish --access public",
118
- "release:canary": "npm run prepublishOnly && npm publish --tag canary --access public",
119
- "version:canary": "npm version prerelease --preid canary --no-git-tag-version",
120
- "publish:canary": "npm run version:canary && npm run release:canary",
121
- "demo:inscribe": "tsx demo/inscribe-demo.ts",
122
- "demo:hcs-10": "tsx demo/hcs-10/index.ts",
123
- "demo:fee": "tsx demo/hcs-10/fee-demo.ts",
124
- "demo:transact": "tsx demo/hcs-10/transact-demo.ts",
125
- "demo:transact-agent": "tsx demo/hcs-10/transact-agent.ts",
126
- "demo:polling-agent": "tsx demo/hcs-10/polling-agent.ts",
127
- "demo:connection-manager": "tsx demo/hcs-10/connection-manager.ts",
128
- "demo:hrl-content": "tsx demo/hrl-content-demo.ts",
129
- "demo:hcs-14:issue-resolve": "tsx demo/hcs-14/issue-and-resolve-did.ts",
130
- "demo:hcs12": "tsx demo/hcs-12/hcs12-demo.ts",
131
- "demo:mcp-chat": "tsx demo/hcs-10/create-mcp.ts",
132
- "demo:hcs-2:create": "tsx demo/hcs-2/create-registry.ts",
133
- "demo:hcs-6": "tsx demo/hcs-6/dynamic-hashinal-demo.ts",
134
- "demo:hcs-6:create-registry": "tsx demo/hcs-6/create-registry.ts",
135
- "demo:hcs-6:query-registry": "tsx demo/hcs-6/query-registry.ts",
136
- "demo:hcs-6:mint": "tsx demo/hcs-6/mint-hashinal.ts",
137
- "demo:hcs-17": "tsx demo/hcs-17/state-hash-demo.ts",
138
- "demo:hcs-7:create": "tsx demo/hcs-7/create-hcs-7-topic.ts",
139
- "demo:hcs-15": "tsx demo/hcs-15/petal-accounts-demo.ts",
140
- "demo:hcs-10:create-registry": "tsx demo/hcs-10/create-registry.ts",
141
- "demo:hcs-16:create-flora": "tsx demo/hcs-16/create-flora-demo.ts",
142
- "demo:hcs-11:profile": "tsx demo/hcs-11/inscribe-profile-with-uaid.ts",
143
- "demo:hcs-11:resolve-uaid": "tsx demo/hcs-11/resolve-profile-uaid.ts",
144
- "demo:hcs-20:deploy-and-mint": "tsx demo/hcs-20/deploy-and-mint.ts",
145
- "demo:hcs-20:deploy-points": "tsx demo/hcs-20/deploy-points.ts",
146
- "demo:hcs-20:mint-transfer-burn": "tsx demo/hcs-20/mint-transfer-burn.ts",
147
- "demo:hcs-21": "tsx demo/hcs-21/package-declaration-demo.ts",
148
- "demo:hcs-6:browser": "pnpm run build && pnpm --dir demo/hcs-6/browser i && pnpm --dir demo/hcs-6/browser dev",
149
- "demo:hcs-5": "tsx demo/hcs-5/mint-hashinal.ts",
150
- "demo:registry-broker": "tsx demo/registry-broker/registry-broker-demo.ts",
151
- "demo:registry-broker-history": "tsx demo/registry-broker/registry-broker-history-demo.ts",
152
- "demo:registry-broker-erc8004": "tsx demo/registry-broker/registry-broker-erc8004-demo.ts",
153
- "demo:registry-broker-agentverse": "tsx demo/registry-broker/registry-broker-agentverse-demo.ts",
154
- "demo:registry-broker-ping": "tsx demo/registry-broker/ping-agent-demo.ts",
155
- "demo:registry-broker-x402": "tsx demo/registry-broker/registry-broker-x402-demo.ts",
156
- "demo:registry-broker-erc8004-x402": "tsx demo/registry-broker/registry-broker-erc8004-x402-demo.ts",
157
- "demo:registry-broker-x402-topup": "tsx demo/registry-broker/registry-broker-x402-topup.ts",
158
- "watch": "nodemon --watch src --ext ts,tsx --exec \"npm run build && yalc push\"",
159
- "test": "jest",
160
- "test:unit-list": "jest --listTests --testPathPattern __tests__/utils/ --testPathPattern __tests__/services/ --testPathPattern __tests__/content-store/ --testPathPattern __tests__/fees/ --testPathPattern __tests__/common/tx/",
161
- "test:unit-fast": "jest --coverage --runInBand --detectOpenHandles --testPathPattern __tests__/utils/ --testPathPattern __tests__/services/ --testPathPattern __tests__/content-store/ --testPathPattern __tests__/fees/ --testPathPattern __tests__/common/tx/",
162
- "lint": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json}\" \"demo/**/*.{ts,tsx,js,jsx,json}\" \"__tests__/**/*.{ts,tsx,js,jsx,json}\"",
163
- "lint:fix": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\" \"demo/**/*.{ts,tsx,js,jsx,json}\" \"__tests__/**/*.{ts,tsx,js,jsx,json}\"",
164
- "format": "npm run lint:fix",
165
- "format:check": "npm run lint"
166
- }
167
- }
168
+ "packageManager": "pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912"
169
+ }