@hashgraphonline/standards-sdk 0.0.51 → 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 +58 -8
- package/dist/es/hcs-10/base-client.d.ts.map +1 -1
- package/dist/es/hcs-10/browser.d.ts +6 -19
- package/dist/es/hcs-10/browser.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts +10 -28
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +2 -1
- package/dist/es/standards-sdk.es10.js +92 -70
- 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 +3 -2
- package/dist/es/standards-sdk.es17.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 +3839 -6296
- 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 -2
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +46 -1039
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +6626 -4
- 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 +87 -405
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +2 -2
- package/dist/es/standards-sdk.es33.js +15 -119
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +409 -2282
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +2282 -2
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +159 -24
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +4 -2
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +2 -84
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +3 -23
- 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 +181 -134
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +425 -78
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +21 -170
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +125 -181
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +13 -433
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +22 -18
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +16 -126
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +13 -10
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +37 -22
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +10 -21
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +68 -124
- package/dist/es/standards-sdk.es5.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +54 -14
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +1283 -38
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +143 -13
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +86 -56
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +79 -1284
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es57.js +1 -1
- package/dist/es/standards-sdk.es58.js +19 -789
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +780 -130
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +170 -23
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +140 -23
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +359 -33
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +4 -360
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +178 -5
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +73 -171
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +107 -74
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +45 -107
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +9 -51
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +96 -9
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es70.js +3 -96
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +2 -4
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +113 -2
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +70 -108
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +5 -73
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +4 -5
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +220 -4
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +51 -214
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +67 -56
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +21 -69
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +183 -53
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +25 -19
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +23 -29
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +36 -61
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +27 -45
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +62 -9
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +45 -60
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +10 -6
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +62 -12
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +5 -6
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +13 -43
- 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 -2
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +39 -130
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +2 -172
- 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 +58 -8
- package/dist/umd/hcs-10/base-client.d.ts.map +1 -1
- package/dist/umd/hcs-10/browser.d.ts +6 -19
- package/dist/umd/hcs-10/browser.d.ts.map +1 -1
- package/dist/umd/hcs-10/sdk.d.ts +10 -28
- package/dist/umd/hcs-10/sdk.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
|
@@ -2,10 +2,17 @@ import { HederaMirrorNode } from '../services/mirror-node';
|
|
|
2
2
|
import { Logger, LogLevel } from '../utils/logger';
|
|
3
3
|
import { Registration } from './registrations';
|
|
4
4
|
import { AccountResponse, TopicInfo } from '../services/types';
|
|
5
|
+
import { TransactionReceipt, PrivateKey } from '@hashgraph/sdk';
|
|
6
|
+
export declare enum Hcs10MemoType {
|
|
7
|
+
INBOUND = "inbound",
|
|
8
|
+
OUTBOUND = "outbound",
|
|
9
|
+
CONNECTION = "connection"
|
|
10
|
+
}
|
|
5
11
|
export interface HCS10Config {
|
|
6
12
|
network: 'mainnet' | 'testnet';
|
|
7
13
|
logLevel?: LogLevel;
|
|
8
14
|
prettyPrint?: boolean;
|
|
15
|
+
feeAmount?: number;
|
|
9
16
|
}
|
|
10
17
|
export interface HCSMessage {
|
|
11
18
|
p: 'hcs-10';
|
|
@@ -37,7 +44,9 @@ export declare abstract class HCS10BaseClient extends Registration {
|
|
|
37
44
|
protected network: string;
|
|
38
45
|
protected logger: Logger;
|
|
39
46
|
protected mirrorNode: HederaMirrorNode;
|
|
47
|
+
protected feeAmount: number;
|
|
40
48
|
constructor(config: HCS10Config);
|
|
49
|
+
abstract submitPayload(topicId: string, payload: object | string, submitKey?: PrivateKey, requiresFee?: boolean): Promise<TransactionReceipt>;
|
|
41
50
|
abstract getAccountAndSigner(): {
|
|
42
51
|
accountId: string;
|
|
43
52
|
signer: any;
|
|
@@ -51,11 +60,16 @@ export declare abstract class HCS10BaseClient extends Registration {
|
|
|
51
60
|
messages: HCSMessage[];
|
|
52
61
|
}>;
|
|
53
62
|
/**
|
|
54
|
-
*
|
|
55
|
-
* @param
|
|
56
|
-
* @
|
|
63
|
+
* Checks if a user can submit to a topic and determines if a fee is required
|
|
64
|
+
* @param topicId The topic ID to check
|
|
65
|
+
* @param userAccountId The account ID of the user attempting to submit
|
|
66
|
+
* @returns Object with canSubmit, requiresFee, and optional reason
|
|
57
67
|
*/
|
|
58
|
-
|
|
68
|
+
canSubmitToTopic(topicId: string, userAccountId: string): Promise<{
|
|
69
|
+
canSubmit: boolean;
|
|
70
|
+
requiresFee: boolean;
|
|
71
|
+
reason?: string;
|
|
72
|
+
}>;
|
|
59
73
|
/**
|
|
60
74
|
* Get all messages from a topic
|
|
61
75
|
* @param topicId The topic ID to get messages from
|
|
@@ -64,22 +78,58 @@ export declare abstract class HCS10BaseClient extends Registration {
|
|
|
64
78
|
getMessages(topicId: string): Promise<{
|
|
65
79
|
messages: HCSMessage[];
|
|
66
80
|
}>;
|
|
67
|
-
protected checkRegistrationStatus(transactionId: string, network: string, baseUrl: string): Promise<{
|
|
68
|
-
status: 'pending' | 'success' | 'failed';
|
|
69
|
-
}>;
|
|
70
81
|
requestAccount(account: string): Promise<AccountResponse>;
|
|
71
82
|
getAccountMemo(accountId: string): Promise<string | null>;
|
|
72
83
|
retrieveProfile(accountId: string): Promise<ProfileResponse>;
|
|
73
84
|
retrieveOutboundConnectTopic(accountId: string): Promise<TopicInfo>;
|
|
74
85
|
retrieveOutboundMessages(agentAccountId: string): Promise<HCSMessage[]>;
|
|
75
86
|
hasConnectionCreated(agentAccountId: string, connectionId: number): Promise<boolean>;
|
|
76
|
-
clearCache(): void;
|
|
77
87
|
/**
|
|
78
88
|
* Gets message content, resolving any HRL references if needed
|
|
79
89
|
* @param data The message data which might be an HRL reference
|
|
80
90
|
* @returns The resolved content
|
|
81
91
|
*/
|
|
82
92
|
getMessageContent(data: string): Promise<string>;
|
|
93
|
+
/**
|
|
94
|
+
* Records an outbound connection confirmation
|
|
95
|
+
* @param outboundTopicId The ID of the outbound topic
|
|
96
|
+
* @param connectionRequestId The ID of the connection request
|
|
97
|
+
* @param confirmedRequestId The ID of the confirmed request
|
|
98
|
+
* @param connectionTopicId The ID of the connection topic
|
|
99
|
+
* @param operatorId The operator ID of the message sender
|
|
100
|
+
* @param memo An optional memo for the message
|
|
101
|
+
*/
|
|
102
|
+
recordOutboundConnectionConfirmation({ outboundTopicId, connectionRequestId, confirmedRequestId, connectionTopicId, operatorId, memo, }: {
|
|
103
|
+
outboundTopicId: string;
|
|
104
|
+
connectionRequestId: number;
|
|
105
|
+
confirmedRequestId: number;
|
|
106
|
+
connectionTopicId: string;
|
|
107
|
+
operatorId: string;
|
|
108
|
+
memo: string;
|
|
109
|
+
}): Promise<TransactionReceipt>;
|
|
110
|
+
clearCache(): void;
|
|
111
|
+
/**
|
|
112
|
+
* Generates a standard HCS-10 memo string.
|
|
113
|
+
* @param type The type of topic memo ('inbound', 'outbound', 'connection').
|
|
114
|
+
* @param options Configuration options for the memo.
|
|
115
|
+
* @returns The formatted memo string.
|
|
116
|
+
* @protected
|
|
117
|
+
*/
|
|
118
|
+
protected _generateHcs10Memo(type: Hcs10MemoType, options: {
|
|
119
|
+
ttl?: number;
|
|
120
|
+
accountId?: string;
|
|
121
|
+
inboundTopicId?: string;
|
|
122
|
+
connectionId?: number;
|
|
123
|
+
}): string;
|
|
124
|
+
protected checkRegistrationStatus(transactionId: string, network: string, baseUrl: string): Promise<{
|
|
125
|
+
status: 'pending' | 'success' | 'failed';
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Validates if an operator_id follows the correct format (agentTopicId@accountId)
|
|
129
|
+
* @param operatorId The operator ID to validate
|
|
130
|
+
* @returns True if the format is valid, false otherwise
|
|
131
|
+
*/
|
|
132
|
+
protected isValidOperatorId(operatorId: string): boolean;
|
|
83
133
|
}
|
|
84
134
|
export declare class HCS10Cache {
|
|
85
135
|
private static instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/hcs-10/base-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/hcs-10/base-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PublicKey, TransactionReceipt } from '@hashgraph/sdk';
|
|
1
|
+
import { PublicKey, TransactionReceipt, PrivateKey } from '@hashgraph/sdk';
|
|
2
2
|
import { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';
|
|
3
3
|
import { Logger, LogLevel } from '../utils/logger';
|
|
4
4
|
import { RetrievedInscriptionResult } from '@kiloscribe/inscription-sdk';
|
|
@@ -12,6 +12,7 @@ export type BrowserHCSClientConfig = {
|
|
|
12
12
|
prettyPrint?: boolean;
|
|
13
13
|
guardedRegistryTopicId?: string;
|
|
14
14
|
guardedRegistryBaseUrl?: string;
|
|
15
|
+
feeAmount?: number;
|
|
15
16
|
};
|
|
16
17
|
interface AgentMetadata {
|
|
17
18
|
name: string;
|
|
@@ -46,25 +47,10 @@ export declare class BrowserHCSClient extends HCS10BaseClient {
|
|
|
46
47
|
private hcs11Client;
|
|
47
48
|
constructor(config: BrowserHCSClientConfig);
|
|
48
49
|
sendMessage(connectionTopicId: string, operatorId: string, data: string, memo?: string): Promise<void>;
|
|
49
|
-
submitConnectionRequest(inboundTopicId: string, requestingAccountId: string, operatorId: string, memo: string): Promise<TransactionReceipt | undefined>;
|
|
50
|
-
recordOutboundConnectionConfirmation({ outboundTopicId, connectionRequestId, confirmedRequestId, connectionTopicId, operatorId, memo, }: {
|
|
51
|
-
outboundTopicId: string;
|
|
52
|
-
connectionRequestId: number;
|
|
53
|
-
confirmedRequestId: number;
|
|
54
|
-
connectionTopicId: string;
|
|
55
|
-
operatorId: string;
|
|
56
|
-
memo: string;
|
|
57
|
-
}): Promise<{
|
|
58
|
-
result?: TransactionReceipt;
|
|
59
|
-
error?: string;
|
|
60
|
-
}>;
|
|
50
|
+
submitConnectionRequest(inboundTopicId: string, requestingAccountId: string, operatorId: string, memo: string, ttl?: number): Promise<TransactionReceipt | undefined>;
|
|
61
51
|
getPublicKey(accountId: string): Promise<PublicKey>;
|
|
62
|
-
handleConnectionRequest(inboundTopicId: string, requestingAccountId: string, connectionId: number, connectionMemo?: string): Promise<HandleConnectionRequestResponse>;
|
|
52
|
+
handleConnectionRequest(inboundTopicId: string, requestingAccountId: string, connectionId: number, connectionMemo?: string, ttl?: number): Promise<HandleConnectionRequestResponse>;
|
|
63
53
|
confirmConnection(inboundTopicId: string, connectionTopicId: string, connectedAccountId: string, connectionId: number, operatorId: string, memo: string): Promise<number>;
|
|
64
|
-
submitMessage(topicId: string, content: string, metadata?: object, memo?: string): Promise<{
|
|
65
|
-
result?: TransactionReceipt;
|
|
66
|
-
error?: string;
|
|
67
|
-
}>;
|
|
68
54
|
/**
|
|
69
55
|
* Creates an agent directly, but does not register.
|
|
70
56
|
* We highly recommend calling createAndRegisterAgent instead.
|
|
@@ -82,6 +68,7 @@ export declare class BrowserHCSClient extends HCS10BaseClient {
|
|
|
82
68
|
createAgent(pfpBuffer: Buffer, pfpFileName: string, agentName: string, agentDescription: string, capabilities: number[], metadata: AgentMetadata, existingPfpTopicId?: string, options?: {
|
|
83
69
|
progressCallback?: RegistrationProgressCallback;
|
|
84
70
|
existingState?: AgentCreationState;
|
|
71
|
+
ttl?: number;
|
|
85
72
|
}): Promise<RegisteredAgent>;
|
|
86
73
|
private initializeRegistrationState;
|
|
87
74
|
private updateStateForCompletedRegistration;
|
|
@@ -106,7 +93,7 @@ export declare class BrowserHCSClient extends HCS10BaseClient {
|
|
|
106
93
|
topicId?: string;
|
|
107
94
|
error?: string;
|
|
108
95
|
}>;
|
|
109
|
-
|
|
96
|
+
submitPayload(topicId: string, payload: object | string, submitKey?: PrivateKey, requiresFee?: boolean): Promise<TransactionReceipt>;
|
|
110
97
|
inscribeFile(buffer: Buffer, fileName: string): Promise<RetrievedInscriptionResult>;
|
|
111
98
|
getAccountAndSigner(): GetAccountAndSignerResponse;
|
|
112
99
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/hcs-10/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGT,kBAAkB,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/hcs-10/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/es/hcs-10/sdk.d.ts
CHANGED
|
@@ -42,7 +42,6 @@ export declare class HCS10Client extends HCS10BaseClient {
|
|
|
42
42
|
protected logger: Logger;
|
|
43
43
|
protected guardedRegistryBaseUrl: string;
|
|
44
44
|
private hcs11Client;
|
|
45
|
-
private feeAmount;
|
|
46
45
|
constructor(config: HCSClientConfig);
|
|
47
46
|
getClient(): Client;
|
|
48
47
|
/**
|
|
@@ -51,19 +50,21 @@ export declare class HCS10Client extends HCS10BaseClient {
|
|
|
51
50
|
*/
|
|
52
51
|
createAccount(): Promise<CreateAccountResponse>;
|
|
53
52
|
/**
|
|
54
|
-
* Creates an inbound topic
|
|
55
|
-
* @param accountId
|
|
53
|
+
* Creates an inbound topic for an agent
|
|
54
|
+
* @param accountId The account ID associated with the inbound topic
|
|
56
55
|
* @param topicType Type of inbound topic (public, controlled, or fee-based)
|
|
57
|
-
* @param
|
|
56
|
+
* @param ttl Optional Time-To-Live for the topic memo, defaults to 60
|
|
57
|
+
* @param feeConfigBuilder Optional fee configuration builder for fee-based topics
|
|
58
58
|
* @returns The topic ID of the created inbound topic
|
|
59
59
|
*/
|
|
60
|
-
createInboundTopic(accountId: string, topicType: InboundTopicType,
|
|
60
|
+
createInboundTopic(accountId: string, topicType: InboundTopicType, ttl?: number, feeConfigBuilder?: FeeConfigBuilderInterface): Promise<string>;
|
|
61
61
|
/**
|
|
62
62
|
* Creates a new agent with inbound and outbound topics
|
|
63
63
|
* @param builder The agent builder object
|
|
64
|
+
* @param ttl Optional Time-To-Live for the topic memos, defaults to 60
|
|
64
65
|
* @returns Object with topic IDs
|
|
65
66
|
*/
|
|
66
|
-
createAgent(builder: AgentBuilder): Promise<CreateAgentResponse>;
|
|
67
|
+
createAgent(builder: AgentBuilder, ttl?: number): Promise<CreateAgentResponse>;
|
|
67
68
|
/**
|
|
68
69
|
* Inscribes a profile picture to Hedera
|
|
69
70
|
* @param buffer Profile picture buffer
|
|
@@ -91,23 +92,15 @@ export declare class HCS10Client extends HCS10BaseClient {
|
|
|
91
92
|
* @param requestingAccountId Requesting account ID
|
|
92
93
|
* @param connectionRequestId Connection request ID
|
|
93
94
|
* @param connectionFeeConfig Optional fee configuration for the connection topic
|
|
95
|
+
* @param ttl Optional ttl parameter with default
|
|
94
96
|
* @returns Response with connection details
|
|
95
97
|
*/
|
|
96
|
-
handleConnectionRequest(inboundTopicId: string, requestingAccountId: string, connectionRequestId: number, connectionFeeConfig?: FeeConfigBuilderInterface): Promise<HandleConnectionRequestResponse>;
|
|
98
|
+
handleConnectionRequest(inboundTopicId: string, requestingAccountId: string, connectionRequestId: number, connectionFeeConfig?: FeeConfigBuilderInterface, ttl?: number): Promise<HandleConnectionRequestResponse>;
|
|
97
99
|
confirmConnection(inboundTopicId: string, connectionTopicId: string, connectedAccountId: string, connectionId: number, operatorId: string, memo: string, submitKey?: PrivateKey): Promise<number>;
|
|
98
100
|
sendMessage(connectionTopicId: string, operatorId: string, data: string, memo?: string, submitKey?: PrivateKey): Promise<void>;
|
|
99
101
|
createTopic(memo: string, adminKey?: boolean | PublicKey | KeyList, submitKey?: boolean | PublicKey | KeyList, feeConfig?: TopicFeeConfig): Promise<string>;
|
|
100
|
-
|
|
101
|
-
private submitPayload;
|
|
102
|
+
submitPayload(topicId: string, payload: object | string, submitKey?: PrivateKey, requiresFee?: boolean): Promise<TransactionReceipt>;
|
|
102
103
|
submitConnectionRequest(inboundTopicId: string, requestingAccountId: string, operatorId: string, memo: string): Promise<TransactionReceipt>;
|
|
103
|
-
recordOutboundConnectionConfirmation({ outboundTopicId, connectionRequestId, confirmedRequestId, connectionTopicId, operatorId, memo, }: {
|
|
104
|
-
outboundTopicId: string;
|
|
105
|
-
connectionRequestId: number;
|
|
106
|
-
confirmedRequestId: number;
|
|
107
|
-
connectionTopicId: string;
|
|
108
|
-
operatorId: string;
|
|
109
|
-
memo: string;
|
|
110
|
-
}): Promise<TransactionReceipt>;
|
|
111
104
|
inscribeFile(buffer: Buffer, fileName: string): Promise<RetrievedInscriptionResult>;
|
|
112
105
|
/**
|
|
113
106
|
* Waits for confirmation of a connection request
|
|
@@ -119,17 +112,6 @@ export declare class HCS10Client extends HCS10BaseClient {
|
|
|
119
112
|
*/
|
|
120
113
|
waitForConnectionConfirmation(inboundTopicId: string, connectionRequestId: number, maxAttempts?: number, delayMs?: number): Promise<WaitForConnectionConfirmationResponse>;
|
|
121
114
|
getAccountAndSigner(): GetAccountAndSignerResponse;
|
|
122
|
-
/**
|
|
123
|
-
* Checks if a user can submit to a topic and determines if a fee is required
|
|
124
|
-
* @param topicId The topic ID to check
|
|
125
|
-
* @param userAccountId The account ID of the user attempting to submit
|
|
126
|
-
* @returns Object with canSubmit, requiresFee, and optional reason
|
|
127
|
-
*/
|
|
128
|
-
canSubmitToInboundTopic(topicId: string, userAccountId: string): Promise<{
|
|
129
|
-
canSubmit: boolean;
|
|
130
|
-
requiresFee: boolean;
|
|
131
|
-
reason?: string;
|
|
132
|
-
}>;
|
|
133
115
|
/**
|
|
134
116
|
* Creates and registers an agent with a Guarded registry.
|
|
135
117
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/hcs-10/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,UAAU,EAEV,OAAO,EAMP,kBAAkB,EAClB,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAEL,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,eAAe,EAEf,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,qCAAqC,EACrC,2BAA2B,EAC3B,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/hcs-10/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { EVMBridge } from "./standards-sdk.es4.js";
|
|
|
4
4
|
import { HCS10Client } from "./standards-sdk.es5.js";
|
|
5
5
|
import { AccountCreationError, ConnectionConfirmationError, PayloadSizeError, TopicCreationError } from "./standards-sdk.es6.js";
|
|
6
6
|
import { AgentBuilder } from "./standards-sdk.es7.js";
|
|
7
|
-
import { HCS10BaseClient, HCS10Cache } from "./standards-sdk.es8.js";
|
|
7
|
+
import { HCS10BaseClient, HCS10Cache, Hcs10MemoType } from "./standards-sdk.es8.js";
|
|
8
8
|
import { Registration } from "./standards-sdk.es9.js";
|
|
9
9
|
import { BrowserHCSClient } from "./standards-sdk.es10.js";
|
|
10
10
|
import { FeeConfigBuilder } from "./standards-sdk.es11.js";
|
|
@@ -30,6 +30,7 @@ export {
|
|
|
30
30
|
HCS10Cache,
|
|
31
31
|
HCS10Client,
|
|
32
32
|
HCS11Client,
|
|
33
|
+
Hcs10MemoType,
|
|
33
34
|
HederaMirrorNode,
|
|
34
35
|
InboundTopicType,
|
|
35
36
|
Logger,
|
|
@@ -1,8 +1,9 @@
|
|
|
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 { InscriptionSDK } from "./standards-sdk.
|
|
4
|
-
import { HCS10BaseClient } from "./standards-sdk.es8.js";
|
|
5
|
-
import { m as mimeTypesExports } from "./standards-sdk.
|
|
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";
|
|
6
7
|
import { HCS11Client } from "./standards-sdk.es12.js";
|
|
7
8
|
import { ProgressReporter } from "./standards-sdk.es15.js";
|
|
8
9
|
const isBrowser = typeof window !== "undefined";
|
|
@@ -11,7 +12,8 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
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;
|
|
@@ -50,6 +52,10 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
50
52
|
data,
|
|
51
53
|
m: memo
|
|
52
54
|
};
|
|
55
|
+
const submissionCheck = await this.canSubmitToTopic(
|
|
56
|
+
connectionTopicId,
|
|
57
|
+
this.hwc.getAccountInfo().accountId
|
|
58
|
+
);
|
|
53
59
|
const payloadString = JSON.stringify(payload);
|
|
54
60
|
const isLargePayload = Buffer.from(payloadString).length > 1e3;
|
|
55
61
|
if (isLargePayload) {
|
|
@@ -78,9 +84,14 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
78
84
|
);
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
|
-
await this.submitPayload(
|
|
87
|
+
await this.submitPayload(
|
|
88
|
+
connectionTopicId,
|
|
89
|
+
payload,
|
|
90
|
+
void 0,
|
|
91
|
+
submissionCheck.requiresFee
|
|
92
|
+
);
|
|
82
93
|
}
|
|
83
|
-
async submitConnectionRequest(inboundTopicId, requestingAccountId, operatorId, memo) {
|
|
94
|
+
async submitConnectionRequest(inboundTopicId, requestingAccountId, operatorId, memo, ttl = 60) {
|
|
84
95
|
this.logger.info("Submitting connection request");
|
|
85
96
|
const connectionRequestMessage = {
|
|
86
97
|
p: "hcs-10",
|
|
@@ -110,7 +121,7 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
110
121
|
this.logger.info(
|
|
111
122
|
`Retrieved outbound topic ID: ${outboundTopic.outboundTopic} for account ID: ${requestingAccountId}`
|
|
112
123
|
);
|
|
113
|
-
const responseSequenceNumber = response?.
|
|
124
|
+
const responseSequenceNumber = response?.topicSequenceNumber?.toNumber();
|
|
114
125
|
if (!responseSequenceNumber) {
|
|
115
126
|
throw new Error("Failed to get response sequence number");
|
|
116
127
|
}
|
|
@@ -119,32 +130,12 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
119
130
|
outbound_topic_id: inboundTopicId,
|
|
120
131
|
connection_request_id: responseSequenceNumber
|
|
121
132
|
});
|
|
122
|
-
return response
|
|
123
|
-
}
|
|
124
|
-
async recordOutboundConnectionConfirmation({
|
|
125
|
-
outboundTopicId,
|
|
126
|
-
connectionRequestId,
|
|
127
|
-
confirmedRequestId,
|
|
128
|
-
connectionTopicId,
|
|
129
|
-
operatorId,
|
|
130
|
-
memo
|
|
131
|
-
}) {
|
|
132
|
-
const payload = {
|
|
133
|
-
p: "hcs-10",
|
|
134
|
-
op: "connection_created",
|
|
135
|
-
connection_topic_id: connectionTopicId,
|
|
136
|
-
outbound_topic_id: outboundTopicId,
|
|
137
|
-
confirmed_request_id: confirmedRequestId,
|
|
138
|
-
connection_request_id: connectionRequestId,
|
|
139
|
-
operator_id: operatorId,
|
|
140
|
-
m: memo
|
|
141
|
-
};
|
|
142
|
-
return await this.submitPayload(outboundTopicId, payload);
|
|
133
|
+
return response;
|
|
143
134
|
}
|
|
144
135
|
async getPublicKey(accountId) {
|
|
145
136
|
return await this.mirrorNode.getPublicKey(accountId);
|
|
146
137
|
}
|
|
147
|
-
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) {
|
|
148
139
|
this.logger.info("Handling connection request");
|
|
149
140
|
const userAccountId = this.hwc.getAccountInfo().accountId;
|
|
150
141
|
if (!userAccountId) {
|
|
@@ -158,23 +149,27 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
158
149
|
throw new Error("Failed to retrieve public key");
|
|
159
150
|
}
|
|
160
151
|
const thresholdKey = new KeyList([accountKey, requesterKey], 1);
|
|
161
|
-
const memo =
|
|
152
|
+
const memo = this._generateHcs10Memo(Hcs10MemoType.CONNECTION, {
|
|
153
|
+
ttl,
|
|
154
|
+
inboundTopicId,
|
|
155
|
+
connectionId
|
|
156
|
+
});
|
|
162
157
|
const transaction = new TopicCreateTransaction().setTopicMemo(memo).setAdminKey(thresholdKey).setSubmitKey(thresholdKey);
|
|
163
158
|
this.logger.debug("Executing topic creation transaction");
|
|
164
|
-
const
|
|
159
|
+
const txResponse = await this.hwc.executeTransactionWithErrorHandling(
|
|
165
160
|
transaction,
|
|
166
161
|
false
|
|
167
162
|
);
|
|
168
|
-
if (
|
|
169
|
-
this.logger.error(
|
|
170
|
-
throw new Error(
|
|
163
|
+
if (txResponse.error) {
|
|
164
|
+
this.logger.error(txResponse.error);
|
|
165
|
+
throw new Error(txResponse.error);
|
|
171
166
|
}
|
|
172
|
-
const
|
|
173
|
-
if (!
|
|
167
|
+
const resultReceipt = txResponse.result;
|
|
168
|
+
if (!resultReceipt?.topicId) {
|
|
174
169
|
this.logger.error("Failed to create topic: topicId is null");
|
|
175
170
|
throw new Error("Failed to create topic: topicId is null");
|
|
176
171
|
}
|
|
177
|
-
const connectionTopicId =
|
|
172
|
+
const connectionTopicId = resultReceipt.topicId.toString();
|
|
178
173
|
const operatorId = `${inboundTopicId}@${userAccountId}`;
|
|
179
174
|
const confirmedConnectionSequenceNumber = await this.confirmConnection(
|
|
180
175
|
inboundTopicId,
|
|
@@ -205,26 +200,13 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
205
200
|
inboundTopicId,
|
|
206
201
|
payload
|
|
207
202
|
);
|
|
208
|
-
if (!transactionResponse?.
|
|
203
|
+
if (!transactionResponse?.topicSequenceNumber) {
|
|
209
204
|
this.logger.error(
|
|
210
205
|
"Failed to confirm connection: sequence number is null"
|
|
211
206
|
);
|
|
212
207
|
throw new Error("Failed to confirm connection: sequence number is null");
|
|
213
208
|
}
|
|
214
|
-
return transactionResponse.
|
|
215
|
-
}
|
|
216
|
-
async submitMessage(topicId, content, metadata = {}, memo = "") {
|
|
217
|
-
this.logger.info("Submitting message");
|
|
218
|
-
const payload = {
|
|
219
|
-
p: "hcs-10",
|
|
220
|
-
op: "message",
|
|
221
|
-
data: {
|
|
222
|
-
content,
|
|
223
|
-
metadata
|
|
224
|
-
},
|
|
225
|
-
m: memo
|
|
226
|
-
};
|
|
227
|
-
return await this.submitPayload(topicId, payload);
|
|
209
|
+
return transactionResponse.topicSequenceNumber.toNumber();
|
|
228
210
|
}
|
|
229
211
|
/**
|
|
230
212
|
* Creates an agent directly, but does not register.
|
|
@@ -258,11 +240,10 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
258
240
|
progressReporter.preparing("Creating agent outbound topic", 0, {
|
|
259
241
|
state
|
|
260
242
|
});
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
);
|
|
243
|
+
const outboundMemo = this._generateHcs10Memo(Hcs10MemoType.OUTBOUND, {
|
|
244
|
+
ttl: options?.ttl
|
|
245
|
+
});
|
|
246
|
+
const outboundResult = await this.createTopic(outboundMemo, true, true);
|
|
266
247
|
if (!outboundResult.success || !outboundResult.topicId) {
|
|
267
248
|
state.error = outboundResult.error || "Failed to create outbound topic";
|
|
268
249
|
progressReporter.failed(
|
|
@@ -294,8 +275,11 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
294
275
|
throw new Error("Failed to retrieve user account ID");
|
|
295
276
|
}
|
|
296
277
|
if (!state.inboundTopicId) {
|
|
297
|
-
const
|
|
298
|
-
|
|
278
|
+
const inboundMemo = this._generateHcs10Memo(Hcs10MemoType.INBOUND, {
|
|
279
|
+
accountId,
|
|
280
|
+
ttl: options?.ttl
|
|
281
|
+
});
|
|
282
|
+
const inboundResult = await this.createTopic(inboundMemo, true, true);
|
|
299
283
|
if (!inboundResult.success || !inboundResult.topicId) {
|
|
300
284
|
state.error = inboundResult.error || "Failed to create inbound topic";
|
|
301
285
|
progressReporter.failed(
|
|
@@ -906,8 +890,8 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
906
890
|
error
|
|
907
891
|
};
|
|
908
892
|
}
|
|
909
|
-
const
|
|
910
|
-
if (!
|
|
893
|
+
const resultReceipt = transactionResponse.result;
|
|
894
|
+
if (!resultReceipt?.topicId) {
|
|
911
895
|
this.logger.error("Failed to create topic: topicId is null");
|
|
912
896
|
return {
|
|
913
897
|
success: false,
|
|
@@ -916,16 +900,54 @@ class BrowserHCSClient extends HCS10BaseClient {
|
|
|
916
900
|
}
|
|
917
901
|
return {
|
|
918
902
|
success: true,
|
|
919
|
-
topicId:
|
|
903
|
+
topicId: resultReceipt.topicId.toString()
|
|
920
904
|
};
|
|
921
905
|
}
|
|
922
|
-
async submitPayload(topicId, payload) {
|
|
923
|
-
this.logger.debug(
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
906
|
+
async submitPayload(topicId, payload, submitKey, requiresFee) {
|
|
907
|
+
this.logger.debug(`Submitting payload to topic ${topicId}`);
|
|
908
|
+
let message;
|
|
909
|
+
if (typeof payload === "string") {
|
|
910
|
+
message = payload;
|
|
911
|
+
} else {
|
|
912
|
+
message = JSON.stringify(payload);
|
|
913
|
+
}
|
|
914
|
+
const transaction = new TopicMessageSubmitTransaction().setTopicId(topicId).setMessage(message);
|
|
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");
|
|
922
|
+
}
|
|
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) {
|
|
944
|
+
this.logger.error(
|
|
945
|
+
"Failed to submit message: receipt is null or undefined"
|
|
946
|
+
);
|
|
947
|
+
throw new Error("Failed to submit message: receipt is null or undefined");
|
|
948
|
+
}
|
|
949
|
+
this.logger.debug("Payload submitted successfully via HWC");
|
|
950
|
+
return transactionResponse.result;
|
|
929
951
|
}
|
|
930
952
|
async inscribeFile(buffer, fileName) {
|
|
931
953
|
const { accountId, signer } = this.getAccountAndSigner();
|