@hashgraphonline/standards-sdk 0.0.52 → 0.0.53

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 (236) hide show
  1. package/dist/es/hcs-10/base-client.d.ts +40 -45
  2. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  3. package/dist/es/hcs-10/browser.d.ts +8 -10
  4. package/dist/es/hcs-10/browser.d.ts.map +1 -1
  5. package/dist/es/hcs-10/sdk.d.ts +67 -13
  6. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  7. package/dist/es/hcs-10/types.d.ts +0 -7
  8. package/dist/es/hcs-10/types.d.ts.map +1 -1
  9. package/dist/es/hcs-11/index.d.ts +1 -1
  10. package/dist/es/hcs-11/index.d.ts.map +1 -1
  11. package/dist/es/inscribe/types.d.ts +1 -1
  12. package/dist/es/inscribe/types.d.ts.map +1 -1
  13. package/dist/es/services/mirror-node.d.ts.map +1 -1
  14. package/dist/es/standards-sdk.es.js +2 -1
  15. package/dist/es/standards-sdk.es10.js +138 -123
  16. package/dist/es/standards-sdk.es10.js.map +1 -1
  17. package/dist/es/standards-sdk.es100.js +3 -4
  18. package/dist/es/standards-sdk.es100.js.map +1 -1
  19. package/dist/es/standards-sdk.es101.js +16 -39
  20. package/dist/es/standards-sdk.es101.js.map +1 -1
  21. package/dist/es/standards-sdk.es102.js +5 -40
  22. package/dist/es/standards-sdk.es102.js.map +1 -1
  23. package/dist/es/standards-sdk.es103.js +37 -35
  24. package/dist/es/standards-sdk.es103.js.map +1 -1
  25. package/dist/es/standards-sdk.es104.js +34 -72
  26. package/dist/es/standards-sdk.es104.js.map +1 -1
  27. package/dist/es/standards-sdk.es105.js +37 -3
  28. package/dist/es/standards-sdk.es105.js.map +1 -1
  29. package/dist/es/standards-sdk.es106.js +78 -2
  30. package/dist/es/standards-sdk.es106.js.map +1 -1
  31. package/dist/es/standards-sdk.es107.js +3 -2
  32. package/dist/es/standards-sdk.es107.js.map +1 -1
  33. package/dist/es/standards-sdk.es108.js +2 -34
  34. package/dist/es/standards-sdk.es108.js.map +1 -1
  35. package/dist/es/standards-sdk.es109.js +2 -33
  36. package/dist/es/standards-sdk.es109.js.map +1 -1
  37. package/dist/es/standards-sdk.es110.js +34 -9
  38. package/dist/es/standards-sdk.es110.js.map +1 -1
  39. package/dist/es/standards-sdk.es111.js +31 -32
  40. package/dist/es/standards-sdk.es111.js.map +1 -1
  41. package/dist/es/standards-sdk.es112.js +12 -0
  42. package/dist/es/standards-sdk.es112.js.map +1 -0
  43. package/dist/es/standards-sdk.es113.js +37 -0
  44. package/dist/es/standards-sdk.es113.js.map +1 -0
  45. package/dist/es/standards-sdk.es12.js +3 -2
  46. package/dist/es/standards-sdk.es12.js.map +1 -1
  47. package/dist/es/standards-sdk.es13.js +1 -1
  48. package/dist/es/standards-sdk.es16.js +2 -1
  49. package/dist/es/standards-sdk.es16.js.map +1 -1
  50. package/dist/es/standards-sdk.es17.js +6 -3
  51. package/dist/es/standards-sdk.es17.js.map +1 -1
  52. package/dist/es/standards-sdk.es18.js.map +1 -1
  53. package/dist/es/standards-sdk.es19.js +1767 -3
  54. package/dist/es/standards-sdk.es19.js.map +1 -1
  55. package/dist/es/standards-sdk.es20.js +3 -4167
  56. package/dist/es/standards-sdk.es20.js.map +1 -1
  57. package/dist/es/standards-sdk.es21.js +4086 -960
  58. package/dist/es/standards-sdk.es21.js.map +1 -1
  59. package/dist/es/standards-sdk.es22.js +1041 -36
  60. package/dist/es/standards-sdk.es22.js.map +1 -1
  61. package/dist/es/standards-sdk.es23.js +5 -48
  62. package/dist/es/standards-sdk.es23.js.map +1 -1
  63. package/dist/es/standards-sdk.es24.js +36 -6624
  64. package/dist/es/standards-sdk.es24.js.map +1 -1
  65. package/dist/es/standards-sdk.es25.js +48 -5
  66. package/dist/es/standards-sdk.es25.js.map +1 -1
  67. package/dist/es/standards-sdk.es26.js +6627 -2
  68. package/dist/es/standards-sdk.es26.js.map +1 -1
  69. package/dist/es/standards-sdk.es27.js +2 -101
  70. package/dist/es/standards-sdk.es27.js.map +1 -1
  71. package/dist/es/standards-sdk.es28.js +419 -2
  72. package/dist/es/standards-sdk.es28.js.map +1 -1
  73. package/dist/es/standards-sdk.es29.js +2 -16
  74. package/dist/es/standards-sdk.es29.js.map +1 -1
  75. package/dist/es/standards-sdk.es30.js +120 -4
  76. package/dist/es/standards-sdk.es30.js.map +1 -1
  77. package/dist/es/standards-sdk.es31.js +101 -2282
  78. package/dist/es/standards-sdk.es31.js.map +1 -1
  79. package/dist/es/standards-sdk.es32.js +2 -2
  80. package/dist/es/standards-sdk.es32.js.map +1 -1
  81. package/dist/es/standards-sdk.es33.js +15 -418
  82. package/dist/es/standards-sdk.es33.js.map +1 -1
  83. package/dist/es/standards-sdk.es34.js +409 -2
  84. package/dist/es/standards-sdk.es34.js.map +1 -1
  85. package/dist/es/standards-sdk.es35.js +2282 -120
  86. package/dist/es/standards-sdk.es35.js.map +1 -1
  87. package/dist/es/standards-sdk.es36.js +164 -2
  88. package/dist/es/standards-sdk.es36.js.map +1 -1
  89. package/dist/es/standards-sdk.es37.js +0 -25
  90. package/dist/es/standards-sdk.es37.js.map +1 -1
  91. package/dist/es/standards-sdk.es38.js +2 -362
  92. package/dist/es/standards-sdk.es38.js.map +1 -1
  93. package/dist/es/standards-sdk.es39.js +3 -6
  94. package/dist/es/standards-sdk.es39.js.map +1 -1
  95. package/dist/es/standards-sdk.es4.js +1 -1
  96. package/dist/es/standards-sdk.es40.js +185 -169
  97. package/dist/es/standards-sdk.es40.js.map +1 -1
  98. package/dist/es/standards-sdk.es41.js +437 -80
  99. package/dist/es/standards-sdk.es41.js.map +1 -1
  100. package/dist/es/standards-sdk.es42.js +21 -110
  101. package/dist/es/standards-sdk.es42.js.map +1 -1
  102. package/dist/es/standards-sdk.es43.js +130 -43
  103. package/dist/es/standards-sdk.es43.js.map +1 -1
  104. package/dist/es/standards-sdk.es44.js +17 -9
  105. package/dist/es/standards-sdk.es44.js.map +1 -1
  106. package/dist/es/standards-sdk.es45.js +22 -90
  107. package/dist/es/standards-sdk.es45.js.map +1 -1
  108. package/dist/es/standards-sdk.es46.js +28 -3
  109. package/dist/es/standards-sdk.es46.js.map +1 -1
  110. package/dist/es/standards-sdk.es47.js +21 -2
  111. package/dist/es/standards-sdk.es47.js.map +1 -1
  112. package/dist/es/standards-sdk.es48.js +36 -104
  113. package/dist/es/standards-sdk.es48.js.map +1 -1
  114. package/dist/es/standards-sdk.es49.js +15 -71
  115. package/dist/es/standards-sdk.es49.js.map +1 -1
  116. package/dist/es/standards-sdk.es5.js +410 -134
  117. package/dist/es/standards-sdk.es5.js.map +1 -1
  118. package/dist/es/standards-sdk.es50.js +60 -5
  119. package/dist/es/standards-sdk.es50.js.map +1 -1
  120. package/dist/es/standards-sdk.es51.js +1288 -4
  121. package/dist/es/standards-sdk.es51.js.map +1 -1
  122. package/dist/es/standards-sdk.es52.js +131 -204
  123. package/dist/es/standards-sdk.es52.js.map +1 -1
  124. package/dist/es/standards-sdk.es53.js +89 -56
  125. package/dist/es/standards-sdk.es53.js.map +1 -1
  126. package/dist/es/standards-sdk.es54.js +84 -69
  127. package/dist/es/standards-sdk.es54.js.map +1 -1
  128. package/dist/es/standards-sdk.es55.js +27 -190
  129. package/dist/es/standards-sdk.es55.js.map +1 -1
  130. package/dist/es/standards-sdk.es56.js +5 -437
  131. package/dist/es/standards-sdk.es56.js.map +1 -1
  132. package/dist/es/standards-sdk.es57.js +155 -21
  133. package/dist/es/standards-sdk.es57.js.map +1 -1
  134. package/dist/es/standards-sdk.es58.js +21 -137
  135. package/dist/es/standards-sdk.es58.js.map +1 -1
  136. package/dist/es/standards-sdk.es59.js +788 -13
  137. package/dist/es/standards-sdk.es59.js.map +1 -1
  138. package/dist/es/standards-sdk.es60.js +167 -22
  139. package/dist/es/standards-sdk.es60.js.map +1 -1
  140. package/dist/es/standards-sdk.es61.js +137 -23
  141. package/dist/es/standards-sdk.es61.js.map +1 -1
  142. package/dist/es/standards-sdk.es62.js +358 -15
  143. package/dist/es/standards-sdk.es62.js.map +1 -1
  144. package/dist/es/standards-sdk.es63.js +5 -43
  145. package/dist/es/standards-sdk.es63.js.map +1 -1
  146. package/dist/es/standards-sdk.es64.js +174 -13
  147. package/dist/es/standards-sdk.es64.js.map +1 -1
  148. package/dist/es/standards-sdk.es65.js +76 -56
  149. package/dist/es/standards-sdk.es65.js.map +1 -1
  150. package/dist/es/standards-sdk.es66.js +104 -1279
  151. package/dist/es/standards-sdk.es66.js.map +1 -1
  152. package/dist/es/standards-sdk.es67.js +42 -138
  153. package/dist/es/standards-sdk.es67.js.map +1 -1
  154. package/dist/es/standards-sdk.es68.js +10 -91
  155. package/dist/es/standards-sdk.es68.js.map +1 -1
  156. package/dist/es/standards-sdk.es69.js +89 -76
  157. package/dist/es/standards-sdk.es69.js.map +1 -1
  158. package/dist/es/standards-sdk.es70.js +3 -31
  159. package/dist/es/standards-sdk.es70.js.map +1 -1
  160. package/dist/es/standards-sdk.es71.js +2 -6
  161. package/dist/es/standards-sdk.es71.js.map +1 -1
  162. package/dist/es/standards-sdk.es72.js +99 -145
  163. package/dist/es/standards-sdk.es72.js.map +1 -1
  164. package/dist/es/standards-sdk.es73.js +71 -20
  165. package/dist/es/standards-sdk.es73.js.map +1 -1
  166. package/dist/es/standards-sdk.es74.js +5 -792
  167. package/dist/es/standards-sdk.es74.js.map +1 -1
  168. package/dist/es/standards-sdk.es75.js +4 -142
  169. package/dist/es/standards-sdk.es75.js.map +1 -1
  170. package/dist/es/standards-sdk.es76.js +209 -162
  171. package/dist/es/standards-sdk.es76.js.map +1 -1
  172. package/dist/es/standards-sdk.es77.js +56 -30
  173. package/dist/es/standards-sdk.es77.js.map +1 -1
  174. package/dist/es/standards-sdk.es78.js +69 -63
  175. package/dist/es/standards-sdk.es78.js.map +1 -1
  176. package/dist/es/standards-sdk.es79.js +17 -46
  177. package/dist/es/standards-sdk.es79.js.map +1 -1
  178. package/dist/es/standards-sdk.es8.js +143 -180
  179. package/dist/es/standards-sdk.es8.js.map +1 -1
  180. package/dist/es/standards-sdk.es80.js +25 -8
  181. package/dist/es/standards-sdk.es80.js.map +1 -1
  182. package/dist/es/standards-sdk.es81.js +24 -63
  183. package/dist/es/standards-sdk.es81.js.map +1 -1
  184. package/dist/es/standards-sdk.es82.js +38 -6
  185. package/dist/es/standards-sdk.es82.js.map +1 -1
  186. package/dist/es/standards-sdk.es83.js +30 -13
  187. package/dist/es/standards-sdk.es83.js.map +1 -1
  188. package/dist/es/standards-sdk.es84.js +63 -7
  189. package/dist/es/standards-sdk.es84.js.map +1 -1
  190. package/dist/es/standards-sdk.es85.js +47 -42
  191. package/dist/es/standards-sdk.es85.js.map +1 -1
  192. package/dist/es/standards-sdk.es86.js +10 -2
  193. package/dist/es/standards-sdk.es86.js.map +1 -1
  194. package/dist/es/standards-sdk.es87.js +58 -129
  195. package/dist/es/standards-sdk.es87.js.map +1 -1
  196. package/dist/es/standards-sdk.es88.js +5 -171
  197. package/dist/es/standards-sdk.es88.js.map +1 -1
  198. package/dist/es/standards-sdk.es89.js +14 -20
  199. package/dist/es/standards-sdk.es89.js.map +1 -1
  200. package/dist/es/standards-sdk.es9.js +1 -1
  201. package/dist/es/standards-sdk.es90.js +7 -27
  202. package/dist/es/standards-sdk.es90.js.map +1 -1
  203. package/dist/es/standards-sdk.es91.js +45 -26
  204. package/dist/es/standards-sdk.es91.js.map +1 -1
  205. package/dist/es/standards-sdk.es92.js +2 -38
  206. package/dist/es/standards-sdk.es92.js.map +1 -1
  207. package/dist/es/standards-sdk.es93.js +134 -30
  208. package/dist/es/standards-sdk.es93.js.map +1 -1
  209. package/dist/es/standards-sdk.es94.js +171 -14
  210. package/dist/es/standards-sdk.es94.js.map +1 -1
  211. package/dist/es/standards-sdk.es95.js +13 -4
  212. package/dist/es/standards-sdk.es95.js.map +1 -1
  213. package/dist/es/standards-sdk.es96.js +13 -4
  214. package/dist/es/standards-sdk.es96.js.map +1 -1
  215. package/dist/es/standards-sdk.es97.js +31 -12
  216. package/dist/es/standards-sdk.es97.js.map +1 -1
  217. package/dist/es/standards-sdk.es98.js +15 -13
  218. package/dist/es/standards-sdk.es98.js.map +1 -1
  219. package/dist/es/standards-sdk.es99.js +3 -15
  220. package/dist/es/standards-sdk.es99.js.map +1 -1
  221. package/dist/umd/hcs-10/base-client.d.ts +40 -45
  222. package/dist/umd/hcs-10/base-client.d.ts.map +1 -1
  223. package/dist/umd/hcs-10/browser.d.ts +8 -10
  224. package/dist/umd/hcs-10/browser.d.ts.map +1 -1
  225. package/dist/umd/hcs-10/sdk.d.ts +67 -13
  226. package/dist/umd/hcs-10/sdk.d.ts.map +1 -1
  227. package/dist/umd/hcs-10/types.d.ts +0 -7
  228. package/dist/umd/hcs-10/types.d.ts.map +1 -1
  229. package/dist/umd/hcs-11/index.d.ts +1 -1
  230. package/dist/umd/hcs-11/index.d.ts.map +1 -1
  231. package/dist/umd/inscribe/types.d.ts +1 -1
  232. package/dist/umd/inscribe/types.d.ts.map +1 -1
  233. package/dist/umd/services/mirror-node.d.ts.map +1 -1
  234. package/dist/umd/standards-sdk.umd.js +23 -19
  235. package/dist/umd/standards-sdk.umd.js.map +1 -1
  236. package/package.json +1 -1
@@ -1,17 +1,19 @@
1
- import { KeyList, TopicCreateTransaction, Transaction, TopicMessageSubmitTransaction } from "@hashgraph/sdk";
1
+ import Buffer from "./standards-sdk.es19.js";
2
+ import { KeyList, TopicCreateTransaction, Transaction, TopicMessageSubmitTransaction, Hbar } from "@hashgraph/sdk";
2
3
  import { Logger } from "./standards-sdk.es13.js";
3
- import { HCS10BaseClient } from "./standards-sdk.es8.js";
4
- import { m as mimeTypesExports } from "./standards-sdk.es19.js";
4
+ import { InscriptionSDK } from "./standards-sdk.es26.js";
5
+ import { HCS10BaseClient, Hcs10MemoType } from "./standards-sdk.es8.js";
6
+ import { m as mimeTypesExports } from "./standards-sdk.es20.js";
5
7
  import { HCS11Client } from "./standards-sdk.es12.js";
6
8
  import { ProgressReporter } from "./standards-sdk.es15.js";
7
- import { inscribeWithSigner } from "./standards-sdk.es16.js";
8
9
  const isBrowser = typeof window !== "undefined";
9
10
  class BrowserHCSClient extends HCS10BaseClient {
10
11
  constructor(config) {
11
12
  super({
12
13
  network: config.network,
13
14
  logLevel: config.logLevel,
14
- prettyPrint: config.prettyPrint
15
+ prettyPrint: config.prettyPrint,
16
+ feeAmount: config.feeAmount
15
17
  });
16
18
  this.hcs11Client = null;
17
19
  this.hwc = config.hwc;
@@ -41,7 +43,55 @@ class BrowserHCSClient extends HCS10BaseClient {
41
43
  );
42
44
  }
43
45
  }
44
- async submitConnectionRequest(inboundTopicId, requestingAccountId, operatorId, memo) {
46
+ async sendMessage(connectionTopicId, operatorId, data, memo) {
47
+ this.logger.info("Sending message");
48
+ const payload = {
49
+ p: "hcs-10",
50
+ op: "message",
51
+ operator_id: operatorId,
52
+ data,
53
+ m: memo
54
+ };
55
+ const submissionCheck = await this.canSubmitToTopic(
56
+ connectionTopicId,
57
+ this.hwc.getAccountInfo().accountId
58
+ );
59
+ const payloadString = JSON.stringify(payload);
60
+ const isLargePayload = Buffer.from(payloadString).length > 1e3;
61
+ if (isLargePayload) {
62
+ this.logger.info(
63
+ "Message payload exceeds 1000 bytes, storing via inscription"
64
+ );
65
+ try {
66
+ const contentBuffer = Buffer.from(data);
67
+ const fileName = `message-${Date.now()}.json`;
68
+ const inscriptionResult = await this.inscribeFile(
69
+ contentBuffer,
70
+ fileName
71
+ );
72
+ if (inscriptionResult?.topic_id) {
73
+ payload.data = `hcs://1/${inscriptionResult.topic_id}`;
74
+ this.logger.info(
75
+ `Large message inscribed with topic ID: ${inscriptionResult.topic_id}`
76
+ );
77
+ } else {
78
+ throw new Error("Failed to inscribe large message content");
79
+ }
80
+ } catch (error) {
81
+ this.logger.error("Error inscribing large message:", error);
82
+ throw new Error(
83
+ `Failed to handle large message: ${error instanceof Error ? error.message : "Unknown error"}`
84
+ );
85
+ }
86
+ }
87
+ await this.submitPayload(
88
+ connectionTopicId,
89
+ payload,
90
+ void 0,
91
+ submissionCheck.requiresFee
92
+ );
93
+ }
94
+ async submitConnectionRequest(inboundTopicId, requestingAccountId, operatorId, memo, ttl = 60) {
45
95
  this.logger.info("Submitting connection request");
46
96
  const connectionRequestMessage = {
47
97
  p: "hcs-10",
@@ -85,7 +135,7 @@ class BrowserHCSClient extends HCS10BaseClient {
85
135
  async getPublicKey(accountId) {
86
136
  return await this.mirrorNode.getPublicKey(accountId);
87
137
  }
88
- async handleConnectionRequest(inboundTopicId, requestingAccountId, connectionId, connectionMemo = "Connection accepted. Looking forward to collaborating!") {
138
+ async handleConnectionRequest(inboundTopicId, requestingAccountId, connectionId, connectionMemo = "Connection accepted. Looking forward to collaborating!", ttl = 60) {
89
139
  this.logger.info("Handling connection request");
90
140
  const userAccountId = this.hwc.getAccountInfo().accountId;
91
141
  if (!userAccountId) {
@@ -99,7 +149,11 @@ class BrowserHCSClient extends HCS10BaseClient {
99
149
  throw new Error("Failed to retrieve public key");
100
150
  }
101
151
  const thresholdKey = new KeyList([accountKey, requesterKey], 1);
102
- const memo = `hcs-10:${inboundTopicId}:${connectionId}`;
152
+ const memo = this._generateHcs10Memo(Hcs10MemoType.CONNECTION, {
153
+ ttl,
154
+ inboundTopicId,
155
+ connectionId
156
+ });
103
157
  const transaction = new TopicCreateTransaction().setTopicMemo(memo).setAdminKey(thresholdKey).setSubmitKey(thresholdKey);
104
158
  this.logger.debug("Executing topic creation transaction");
105
159
  const txResponse = await this.hwc.executeTransactionWithErrorHandling(
@@ -154,19 +208,6 @@ class BrowserHCSClient extends HCS10BaseClient {
154
208
  }
155
209
  return transactionResponse.topicSequenceNumber.toNumber();
156
210
  }
157
- async submitMessage(topicId, content, metadata = {}, memo = "") {
158
- this.logger.info("Submitting message");
159
- const payload = {
160
- p: "hcs-10",
161
- op: "message",
162
- data: {
163
- content,
164
- metadata
165
- },
166
- m: memo
167
- };
168
- return await this.submitPayload(topicId, payload);
169
- }
170
211
  /**
171
212
  * Creates an agent directly, but does not register.
172
213
  * We highly recommend calling createAndRegisterAgent instead.
@@ -199,11 +240,10 @@ class BrowserHCSClient extends HCS10BaseClient {
199
240
  progressReporter.preparing("Creating agent outbound topic", 0, {
200
241
  state
201
242
  });
202
- const outboundResult = await this.createTopic(
203
- "hcs-10:0:60:1",
204
- true,
205
- true
206
- );
243
+ const outboundMemo = this._generateHcs10Memo(Hcs10MemoType.OUTBOUND, {
244
+ ttl: options?.ttl
245
+ });
246
+ const outboundResult = await this.createTopic(outboundMemo, true, true);
207
247
  if (!outboundResult.success || !outboundResult.topicId) {
208
248
  state.error = outboundResult.error || "Failed to create outbound topic";
209
249
  progressReporter.failed(
@@ -235,8 +275,11 @@ class BrowserHCSClient extends HCS10BaseClient {
235
275
  throw new Error("Failed to retrieve user account ID");
236
276
  }
237
277
  if (!state.inboundTopicId) {
238
- const memo = `hcs-10:0:60:0:${accountId}`;
239
- const inboundResult = await this.createTopic(memo, true, true);
278
+ const inboundMemo = this._generateHcs10Memo(Hcs10MemoType.INBOUND, {
279
+ accountId,
280
+ ttl: options?.ttl
281
+ });
282
+ const inboundResult = await this.createTopic(inboundMemo, true, true);
240
283
  if (!inboundResult.success || !inboundResult.topicId) {
241
284
  state.error = inboundResult.error || "Failed to create inbound topic";
242
285
  progressReporter.failed(
@@ -279,10 +322,7 @@ class BrowserHCSClient extends HCS10BaseClient {
279
322
  stage: data.stage,
280
323
  message: data.message,
281
324
  progressPercent: data.progressPercent || 0,
282
- details: {
283
- ...data.details,
284
- state: data?.details?.state ? data.details.state : state
285
- }
325
+ details: { ...data.details, state }
286
326
  });
287
327
  }
288
328
  });
@@ -355,10 +395,7 @@ class BrowserHCSClient extends HCS10BaseClient {
355
395
  stage: data.stage,
356
396
  message: data.message,
357
397
  progressPercent: data.progressPercent || 0,
358
- details: {
359
- ...data.details,
360
- state: data.details && data.details.state ? data.details.state : state
361
- }
398
+ details: { ...data.details, state }
362
399
  });
363
400
  }
364
401
  }
@@ -573,7 +610,7 @@ class BrowserHCSClient extends HCS10BaseClient {
573
610
  progressPercent: adjustedPercent,
574
611
  details: {
575
612
  ...progress.details,
576
- state: progress.details && progress.details.state ? progress.details.state : state
613
+ state: progress.details?.state || state
577
614
  }
578
615
  });
579
616
  },
@@ -612,7 +649,7 @@ class BrowserHCSClient extends HCS10BaseClient {
612
649
  progressPercent: adjustedPercent,
613
650
  details: {
614
651
  ...progress.details,
615
- state: progress.details && progress.details.state ? progress.details.state : state
652
+ state: progress.details?.state || state
616
653
  }
617
654
  });
618
655
  },
@@ -764,8 +801,8 @@ class BrowserHCSClient extends HCS10BaseClient {
764
801
  {
765
802
  alias: agentName.toLowerCase().replace(/\s+/g, "_"),
766
803
  bio: agentDescription,
767
- profileImage: void 0,
768
- socials: void 0,
804
+ profileImage: pfpTopicId ? `hcs://1/${pfpTopicId}` : void 0,
805
+ socials: formattedSocials.length > 0 ? formattedSocials : void 0,
769
806
  properties: {
770
807
  description: agentDescription,
771
808
  version: metadata.version || "1.0.0",
@@ -782,12 +819,6 @@ class BrowserHCSClient extends HCS10BaseClient {
782
819
  creator: metadata.creator
783
820
  }
784
821
  );
785
- if (pfpTopicId) {
786
- profile.profileImage = `hcs://1/${pfpTopicId}`;
787
- }
788
- if (formattedSocials.length > 0) {
789
- profile.socials = formattedSocials;
790
- }
791
822
  const profileProgress = progressReporter.createSubProgress({
792
823
  minPercent: 65,
793
824
  maxPercent: 100,
@@ -847,7 +878,10 @@ class BrowserHCSClient extends HCS10BaseClient {
847
878
  if (submitKey && publicKey) {
848
879
  transaction.setSubmitKey(publicKey);
849
880
  }
850
- const transactionResponse = await this.hwc.executeTransactionWithErrorHandling(transaction, false);
881
+ const transactionResponse = await this.hwc.executeTransactionWithErrorHandling(
882
+ transaction,
883
+ false
884
+ );
851
885
  const error = transactionResponse.error;
852
886
  if (error) {
853
887
  this.logger.error(error);
@@ -869,7 +903,7 @@ class BrowserHCSClient extends HCS10BaseClient {
869
903
  topicId: resultReceipt.topicId.toString()
870
904
  };
871
905
  }
872
- async submitPayload(topicId, payload, _submitKey, _requiresFee) {
906
+ async submitPayload(topicId, payload, submitKey, requiresFee) {
873
907
  this.logger.debug(`Submitting payload to topic ${topicId}`);
874
908
  let message;
875
909
  if (typeof payload === "string") {
@@ -878,96 +912,77 @@ class BrowserHCSClient extends HCS10BaseClient {
878
912
  message = JSON.stringify(payload);
879
913
  }
880
914
  const transaction = new TopicMessageSubmitTransaction().setTopicId(topicId).setMessage(message);
881
- const txResponse = await this.hwc.executeTransactionWithErrorHandling(
882
- transaction,
883
- false
884
- );
885
- if (txResponse.error) {
886
- this.logger.error(`Failed to submit payload: ${txResponse.error}`);
887
- throw new Error(`Failed to submit payload: ${txResponse.error}`);
915
+ let transactionResponse;
916
+ if (requiresFee) {
917
+ this.logger.info(
918
+ "Topic requires fee payment, setting max transaction fee"
919
+ );
920
+ transaction.setMaxTransactionFee(new Hbar(this.feeAmount));
921
+ transaction.setTransactionMemo("HIP-991 Fee Payment");
888
922
  }
889
- if (!txResponse.result) {
923
+ if (submitKey) {
924
+ const { accountId, signer } = this.getAccountAndSigner();
925
+ transaction.freezeWithSigner(signer);
926
+ const signedTransaction = await transaction.sign(submitKey);
927
+ transactionResponse = await this.hwc.executeTransactionWithErrorHandling(
928
+ signedTransaction,
929
+ true
930
+ );
931
+ } else {
932
+ transactionResponse = await this.hwc.executeTransactionWithErrorHandling(
933
+ transaction,
934
+ false
935
+ );
936
+ }
937
+ if (transactionResponse?.error) {
938
+ this.logger.error(
939
+ `Failed to submit payload: ${transactionResponse.error}`
940
+ );
941
+ throw new Error(`Failed to submit payload: ${transactionResponse.error}`);
942
+ }
943
+ if (!transactionResponse?.result) {
890
944
  this.logger.error(
891
945
  "Failed to submit message: receipt is null or undefined"
892
946
  );
893
947
  throw new Error("Failed to submit message: receipt is null or undefined");
894
948
  }
895
949
  this.logger.debug("Payload submitted successfully via HWC");
896
- return txResponse.result;
950
+ return transactionResponse.result;
897
951
  }
898
- async inscribeFile(buffer, fileName, options) {
952
+ async inscribeFile(buffer, fileName) {
899
953
  const { accountId, signer } = this.getAccountAndSigner();
900
- let mimeType = "application/octet-stream";
901
- try {
902
- const detectedType = mimeTypesExports.lookup(fileName);
903
- if (detectedType) {
904
- mimeType = detectedType;
905
- }
906
- } catch (error) {
907
- this.logger.warn(`Error detecting MIME type, using default: ${error}`);
908
- }
909
- this.logger.info(`Inscribing file: ${fileName} (${mimeType})`);
910
- const progressReporter = new ProgressReporter({
911
- module: "FileInscriber",
912
- logger: this.logger,
913
- callback: options?.progressCallback
914
- });
915
- progressReporter.preparing("Preparing file for inscription", 10, {
916
- fileName,
917
- size: buffer.length,
918
- mimeType
954
+ const mimeType = mimeTypesExports.lookup(fileName) || "application/octet-stream";
955
+ const sdk = await InscriptionSDK.createWithAuth({
956
+ type: "client",
957
+ accountId,
958
+ signer,
959
+ network: this.network
919
960
  });
920
- try {
921
- const response = await inscribeWithSigner(
922
- {
923
- type: "buffer",
924
- buffer,
961
+ const result = await sdk.inscribe(
962
+ {
963
+ file: {
964
+ type: "base64",
965
+ base64: buffer.toString("base64"),
925
966
  fileName,
926
967
  mimeType
927
968
  },
928
- signer,
929
- {
930
- mode: "file",
931
- network: this.network,
932
- waitForConfirmation: true,
933
- waitMaxAttempts: options && options.waitMaxAttempts ? options.waitMaxAttempts : 30,
934
- waitIntervalMs: options && options.waitIntervalMs ? options.waitIntervalMs : 4e3,
935
- progressCallback: (data) => {
936
- const stageName = data.stage || "preparing";
937
- const message = data.message || "Processing file inscription";
938
- const percent = data.progressPercent || 50;
939
- progressReporter.report({
940
- stage: stageName,
941
- message,
942
- progressPercent: 10 + percent * 0.9,
943
- // Scale from 10% to 100%
944
- details: data.details || {}
945
- });
946
- },
947
- logging: {
948
- level: "debug"
949
- }
950
- }
969
+ holderId: accountId.toString(),
970
+ mode: "file",
971
+ network: this.network
972
+ },
973
+ signer
974
+ );
975
+ if (!result.transactionId || !result.jobId) {
976
+ this.logger.error("Failed to inscribe, no transaction ID or job ID.");
977
+ throw new Error("Failed to inscribe, no transaction ID or job ID.");
978
+ }
979
+ if (result.transactionId && result.jobId) {
980
+ this.logger.info(
981
+ `Transaction ID: ${result.transactionId}, Job ID: ${result.jobId}`
951
982
  );
952
- if (!response.confirmed) {
953
- throw new Error("Failed to inscribe file: inscription not confirmed");
954
- }
955
- const inscription = response.inscription;
956
- progressReporter.completed("File successfully inscribed", {
957
- fileName,
958
- topicId: inscription.topic_id,
959
- transactionId: inscription.transactionId
960
- });
961
- return inscription;
962
- } catch (error) {
963
- let errorMessage = String(error);
964
- if (error instanceof Error) {
965
- errorMessage = error.message;
966
- }
967
- progressReporter.failed(`Failed to inscribe file: ${errorMessage}`);
968
- this.logger.error(`Error inscribing file: ${error}`);
969
- throw error;
970
983
  }
984
+ const status = await sdk.waitForInscription(result.jobId, 30, 4e3, true);
985
+ return status;
971
986
  }
972
987
  getAccountAndSigner() {
973
988
  const accountInfo = this.hwc.getAccountInfo();