@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.
- package/dist/es/hcs-10/base-client.d.ts +40 -45
- package/dist/es/hcs-10/base-client.d.ts.map +1 -1
- package/dist/es/hcs-10/browser.d.ts +8 -10
- package/dist/es/hcs-10/browser.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts +67 -13
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/hcs-10/types.d.ts +0 -7
- package/dist/es/hcs-10/types.d.ts.map +1 -1
- package/dist/es/hcs-11/index.d.ts +1 -1
- package/dist/es/hcs-11/index.d.ts.map +1 -1
- package/dist/es/inscribe/types.d.ts +1 -1
- package/dist/es/inscribe/types.d.ts.map +1 -1
- package/dist/es/services/mirror-node.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +2 -1
- package/dist/es/standards-sdk.es10.js +138 -123
- package/dist/es/standards-sdk.es10.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +3 -4
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +16 -39
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +5 -40
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +37 -35
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +34 -72
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +37 -3
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +78 -2
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +3 -2
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +2 -34
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +2 -33
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +34 -9
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +31 -32
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +12 -0
- package/dist/es/standards-sdk.es112.js.map +1 -0
- package/dist/es/standards-sdk.es113.js +37 -0
- package/dist/es/standards-sdk.es113.js.map +1 -0
- package/dist/es/standards-sdk.es12.js +3 -2
- package/dist/es/standards-sdk.es12.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es16.js +2 -1
- package/dist/es/standards-sdk.es16.js.map +1 -1
- package/dist/es/standards-sdk.es17.js +6 -3
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es18.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +1767 -3
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +3 -4167
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +4086 -960
- package/dist/es/standards-sdk.es21.js.map +1 -1
- package/dist/es/standards-sdk.es22.js +1041 -36
- package/dist/es/standards-sdk.es22.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +5 -48
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +36 -6624
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +48 -5
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +6627 -2
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +2 -101
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +419 -2
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +2 -16
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +120 -4
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +101 -2282
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +2 -2
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +15 -418
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +409 -2
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +2282 -120
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +164 -2
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +0 -25
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +2 -362
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +3 -6
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es4.js +1 -1
- package/dist/es/standards-sdk.es40.js +185 -169
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +437 -80
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +21 -110
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +130 -43
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +17 -9
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +22 -90
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +28 -3
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +21 -2
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +36 -104
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +15 -71
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +410 -134
- package/dist/es/standards-sdk.es5.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +60 -5
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +1288 -4
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +131 -204
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +89 -56
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +84 -69
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +27 -190
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +5 -437
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +155 -21
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +21 -137
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +788 -13
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +167 -22
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +137 -23
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +358 -15
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +5 -43
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +174 -13
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +76 -56
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +104 -1279
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +42 -138
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +10 -91
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +89 -76
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es70.js +3 -31
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +2 -6
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +99 -145
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +71 -20
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +5 -792
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +4 -142
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +209 -162
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +56 -30
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +69 -63
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +17 -46
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +143 -180
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +25 -8
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +24 -63
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +38 -6
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +30 -13
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +63 -7
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +47 -42
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +10 -2
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +58 -129
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +5 -171
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +14 -20
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +1 -1
- package/dist/es/standards-sdk.es90.js +7 -27
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +45 -26
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +2 -38
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +134 -30
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +171 -14
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +13 -4
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +13 -4
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +31 -12
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +15 -13
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +3 -15
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/umd/hcs-10/base-client.d.ts +40 -45
- package/dist/umd/hcs-10/base-client.d.ts.map +1 -1
- package/dist/umd/hcs-10/browser.d.ts +8 -10
- package/dist/umd/hcs-10/browser.d.ts.map +1 -1
- package/dist/umd/hcs-10/sdk.d.ts +67 -13
- package/dist/umd/hcs-10/sdk.d.ts.map +1 -1
- package/dist/umd/hcs-10/types.d.ts +0 -7
- package/dist/umd/hcs-10/types.d.ts.map +1 -1
- package/dist/umd/hcs-11/index.d.ts +1 -1
- package/dist/umd/hcs-11/index.d.ts.map +1 -1
- package/dist/umd/inscribe/types.d.ts +1 -1
- package/dist/umd/inscribe/types.d.ts.map +1 -1
- package/dist/umd/services/mirror-node.d.ts.map +1 -1
- package/dist/umd/standards-sdk.umd.js +23 -19
- package/dist/umd/standards-sdk.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import
|
|
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 {
|
|
4
|
-
import {
|
|
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
|
|
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 =
|
|
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
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
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
|
|
239
|
-
|
|
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
|
|
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
|
|
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(
|
|
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,
|
|
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
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
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 (
|
|
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
|
|
950
|
+
return transactionResponse.result;
|
|
897
951
|
}
|
|
898
|
-
async inscribeFile(buffer, fileName
|
|
952
|
+
async inscribeFile(buffer, fileName) {
|
|
899
953
|
const { accountId, signer } = this.getAccountAndSigner();
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
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
|
-
|
|
921
|
-
|
|
922
|
-
{
|
|
923
|
-
type: "
|
|
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
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
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();
|