@hashgraphonline/standards-sdk 0.1.141-canary.3 → 0.1.141-canary.30
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/README.md +13 -1
- package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-17/types.d.ts.map +1 -1
- package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-20/types.d.ts +9 -8
- package/dist/cjs/hcs-20/types.d.ts.map +1 -1
- package/dist/cjs/hcs-21/base-client.d.ts +4 -3
- package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-21/index.d.ts +1 -0
- package/dist/cjs/hcs-21/index.d.ts.map +1 -1
- package/dist/cjs/hcs-21/sdk.d.ts +34 -0
- package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-21/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-21/types.d.ts +135 -64
- package/dist/cjs/hcs-21/types.d.ts.map +1 -1
- package/dist/cjs/hcs-21/verify.d.ts +6 -0
- package/dist/cjs/hcs-21/verify.d.ts.map +1 -0
- package/dist/cjs/inscribe/inscriber.d.ts +1 -0
- package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
- package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts +4 -3
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +38 -38
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/cjs/utils/dynamic-import.d.ts +1 -0
- package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
- package/dist/es/hcs-16/base-client.d.ts.map +1 -1
- package/dist/es/hcs-17/types.d.ts.map +1 -1
- package/dist/es/hcs-20/sdk.d.ts.map +1 -1
- package/dist/es/hcs-20/types.d.ts +9 -8
- package/dist/es/hcs-20/types.d.ts.map +1 -1
- package/dist/es/hcs-21/base-client.d.ts +4 -3
- package/dist/es/hcs-21/base-client.d.ts.map +1 -1
- package/dist/es/hcs-21/index.d.ts +1 -0
- package/dist/es/hcs-21/index.d.ts.map +1 -1
- package/dist/es/hcs-21/sdk.d.ts +34 -0
- package/dist/es/hcs-21/sdk.d.ts.map +1 -1
- package/dist/es/hcs-21/tx.d.ts.map +1 -1
- package/dist/es/hcs-21/types.d.ts +135 -64
- package/dist/es/hcs-21/types.d.ts.map +1 -1
- package/dist/es/hcs-21/verify.d.ts +6 -0
- package/dist/es/hcs-21/verify.d.ts.map +1 -0
- package/dist/es/inscribe/inscriber.d.ts +1 -0
- package/dist/es/inscribe/inscriber.d.ts.map +1 -1
- package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +4 -3
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +38 -38
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +58 -50
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es10.js +2 -2
- package/dist/es/standards-sdk.es100.js +26 -229
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +228 -109
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +94 -15
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +30 -80
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +80 -27
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +25 -136
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +140 -27
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +27 -20
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +18 -156
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +148 -196
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +160 -747
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +786 -9
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +13 -567
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +541 -576
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +601 -12
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +13 -2
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +2 -83
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +80 -36
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +39 -2
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +2 -223
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +193 -1110
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +1059 -225
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +303 -419
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +418 -351
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +348 -785
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +766 -182
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +153 -1512
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +1373 -1977
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +2211 -50
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +59 -79
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +80 -152
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +159 -7
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +7 -86
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +65 -44
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +65 -28
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +69 -125
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +28 -42
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +138 -760
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +36 -50
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +766 -64
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es141.js +13 -168
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +55 -321
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +120 -294
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +191 -322
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +294 -279
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +440 -63
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +327 -13
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +79 -0
- package/dist/es/standards-sdk.es148.js.map +1 -0
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es16.js +1 -1
- package/dist/es/standards-sdk.es17.js +5 -10
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +11 -15
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +26 -72
- package/dist/es/standards-sdk.es2.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +8 -12
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +1 -1
- package/dist/es/standards-sdk.es28.js +11 -15
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es3.js +2 -2
- package/dist/es/standards-sdk.es31.js +1 -1
- package/dist/es/standards-sdk.es32.js +3 -3
- package/dist/es/standards-sdk.es33.js +1 -1
- package/dist/es/standards-sdk.es36.js +6 -11
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +3 -3
- package/dist/es/standards-sdk.es38.js +1 -1
- package/dist/es/standards-sdk.es39.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +1 -1
- package/dist/es/standards-sdk.es42.js +2 -2
- package/dist/es/standards-sdk.es47.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es52.js +1 -1
- package/dist/es/standards-sdk.es54.js +1 -1
- package/dist/es/standards-sdk.es57.js +2 -2
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es61.js +7 -11
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +1 -1
- package/dist/es/standards-sdk.es65.js +2 -2
- package/dist/es/standards-sdk.es66.js +3 -3
- package/dist/es/standards-sdk.es69.js +2 -2
- package/dist/es/standards-sdk.es7.js +2 -2
- package/dist/es/standards-sdk.es70.js +3 -3
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +1 -1
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +2 -2
- package/dist/es/standards-sdk.es77.js +5 -3
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +4 -10
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +1 -1
- package/dist/es/standards-sdk.es8.js +1 -1
- package/dist/es/standards-sdk.es80.js +26 -15
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +12 -4
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +7 -6
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +106 -5
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +55 -21
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +22 -75
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +45 -30
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +57 -22
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es90.js +28 -23
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +23 -167
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +158 -119
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +68 -95
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +136 -119
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +139 -39
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +42 -257
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +243 -80
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +47 -48
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +100 -28
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/es/utils/dynamic-import.d.ts +1 -0
- package/dist/es/utils/dynamic-import.d.ts.map +1 -1
- package/package.json +65 -63
|
@@ -1,87 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (memoOverride && memoOverride.trim().length > 0) {
|
|
6
|
-
return memoOverride;
|
|
1
|
+
import { buildHcs18AnnounceMessage, buildHcs18ProposeMessage, buildHcs18RespondMessage, buildHcs18CompleteMessage, buildHcs18WithdrawMessage } from "./standards-sdk.es104.js";
|
|
2
|
+
class HCS18BrowserClient {
|
|
3
|
+
constructor(config) {
|
|
4
|
+
this.hwc = config.hwc;
|
|
7
5
|
}
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
async submit(discoveryTopicId, message) {
|
|
7
|
+
const receipt = await this.hwc.submitMessageToTopic(
|
|
8
|
+
discoveryTopicId,
|
|
9
|
+
JSON.stringify(message)
|
|
10
|
+
);
|
|
11
|
+
return receipt;
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
case DiscoveryOperation.COMPLETE:
|
|
31
|
-
return 3;
|
|
32
|
-
case DiscoveryOperation.WITHDRAW:
|
|
33
|
-
return 4;
|
|
34
|
-
default:
|
|
35
|
-
return 0;
|
|
13
|
+
async announce(params) {
|
|
14
|
+
const message = buildHcs18AnnounceMessage(params.data);
|
|
15
|
+
return this.submit(params.discoveryTopicId, message);
|
|
16
|
+
}
|
|
17
|
+
async propose(params) {
|
|
18
|
+
const message = buildHcs18ProposeMessage(params.data);
|
|
19
|
+
return this.submit(params.discoveryTopicId, message);
|
|
20
|
+
}
|
|
21
|
+
async respond(params) {
|
|
22
|
+
const message = buildHcs18RespondMessage(params.data);
|
|
23
|
+
return this.submit(params.discoveryTopicId, message);
|
|
24
|
+
}
|
|
25
|
+
async complete(params) {
|
|
26
|
+
const message = buildHcs18CompleteMessage(params.data);
|
|
27
|
+
return this.submit(params.discoveryTopicId, message);
|
|
28
|
+
}
|
|
29
|
+
async withdraw(params) {
|
|
30
|
+
const message = buildHcs18WithdrawMessage(params.data);
|
|
31
|
+
return this.submit(params.discoveryTopicId, message);
|
|
36
32
|
}
|
|
37
|
-
}
|
|
38
|
-
function buildHcs18SubmitDiscoveryMessageTx(params) {
|
|
39
|
-
const memo = typeof params.transactionMemo === "string" && params.transactionMemo.length > 0 ? params.transactionMemo : `hcs-18:op:${opCode(params.message.op)}`;
|
|
40
|
-
return new TopicMessageSubmitTransaction().setTopicId(params.topicId).setMessage(JSON.stringify(params.message)).setTransactionMemo(memo);
|
|
41
|
-
}
|
|
42
|
-
function buildHcs18AnnounceMessage(data) {
|
|
43
|
-
return {
|
|
44
|
-
p: "hcs-18",
|
|
45
|
-
op: DiscoveryOperation.ANNOUNCE,
|
|
46
|
-
data
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function buildHcs18ProposeMessage(data) {
|
|
50
|
-
return {
|
|
51
|
-
p: "hcs-18",
|
|
52
|
-
op: DiscoveryOperation.PROPOSE,
|
|
53
|
-
data
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
function buildHcs18RespondMessage(data) {
|
|
57
|
-
return {
|
|
58
|
-
p: "hcs-18",
|
|
59
|
-
op: DiscoveryOperation.RESPOND,
|
|
60
|
-
data
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
function buildHcs18CompleteMessage(data) {
|
|
64
|
-
return {
|
|
65
|
-
p: "hcs-18",
|
|
66
|
-
op: DiscoveryOperation.COMPLETE,
|
|
67
|
-
data
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
function buildHcs18WithdrawMessage(data) {
|
|
71
|
-
return {
|
|
72
|
-
p: "hcs-18",
|
|
73
|
-
op: DiscoveryOperation.WITHDRAW,
|
|
74
|
-
data
|
|
75
|
-
};
|
|
76
33
|
}
|
|
77
34
|
export {
|
|
78
|
-
|
|
79
|
-
buildHcs18CompleteMessage,
|
|
80
|
-
buildHcs18CreateDiscoveryTopicTx,
|
|
81
|
-
buildHcs18DiscoveryMemo,
|
|
82
|
-
buildHcs18ProposeMessage,
|
|
83
|
-
buildHcs18RespondMessage,
|
|
84
|
-
buildHcs18SubmitDiscoveryMessageTx,
|
|
85
|
-
buildHcs18WithdrawMessage
|
|
35
|
+
HCS18BrowserClient
|
|
86
36
|
};
|
|
87
37
|
//# sourceMappingURL=standards-sdk.es103.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es103.js","sources":["../../src/hcs-18/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es103.js","sources":["../../src/hcs-18/browser.ts"],"sourcesContent":["import type { TransactionReceipt } from '@hashgraph/sdk';\nimport { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';\nimport type {\n DiscoveryMessage,\n AnnounceData,\n ProposeData,\n RespondData,\n CompleteMessage,\n WithdrawMessage,\n} from './types';\nimport {\n buildHcs18AnnounceMessage,\n buildHcs18ProposeMessage,\n buildHcs18RespondMessage,\n buildHcs18CompleteMessage,\n buildHcs18WithdrawMessage,\n} from './tx';\n\nexport interface BrowserHCS18ClientConfig {\n network: 'testnet' | 'mainnet';\n hwc: HashinalsWalletConnectSDK;\n}\n\nexport class HCS18BrowserClient {\n private readonly hwc: HashinalsWalletConnectSDK;\n\n constructor(config: BrowserHCS18ClientConfig) {\n this.hwc = config.hwc;\n }\n\n async submit(\n discoveryTopicId: string,\n message: DiscoveryMessage,\n ): Promise<TransactionReceipt> {\n const receipt = await this.hwc.submitMessageToTopic(\n discoveryTopicId,\n JSON.stringify(message),\n );\n return receipt;\n }\n\n async announce(params: {\n discoveryTopicId: string;\n data: AnnounceData;\n }): Promise<TransactionReceipt> {\n const message = buildHcs18AnnounceMessage(params.data);\n return this.submit(params.discoveryTopicId, message);\n }\n\n async propose(params: {\n discoveryTopicId: string;\n data: ProposeData;\n }): Promise<TransactionReceipt> {\n const message = buildHcs18ProposeMessage(params.data);\n return this.submit(params.discoveryTopicId, message);\n }\n\n async respond(params: {\n discoveryTopicId: string;\n data: RespondData;\n }): Promise<TransactionReceipt> {\n const message = buildHcs18RespondMessage(params.data);\n return this.submit(params.discoveryTopicId, message);\n }\n\n async complete(params: {\n discoveryTopicId: string;\n data: CompleteMessage['data'];\n }): Promise<TransactionReceipt> {\n const message = buildHcs18CompleteMessage(params.data);\n return this.submit(params.discoveryTopicId, message);\n }\n\n async withdraw(params: {\n discoveryTopicId: string;\n data: WithdrawMessage['data'];\n }): Promise<TransactionReceipt> {\n const message = buildHcs18WithdrawMessage(params.data);\n return this.submit(params.discoveryTopicId, message);\n }\n}\n"],"names":[],"mappings":";AAuBO,MAAM,mBAAmB;AAAA,EAG9B,YAAY,QAAkC;AAC5C,SAAK,MAAM,OAAO;AAAA,EACpB;AAAA,EAEA,MAAM,OACJ,kBACA,SAC6B;AAC7B,UAAM,UAAU,MAAM,KAAK,IAAI;AAAA,MAC7B;AAAA,MACA,KAAK,UAAU,OAAO;AAAA,IAAA;AAExB,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,QAGiB;AAC9B,UAAM,UAAU,0BAA0B,OAAO,IAAI;AACrD,WAAO,KAAK,OAAO,OAAO,kBAAkB,OAAO;AAAA,EACrD;AAAA,EAEA,MAAM,QAAQ,QAGkB;AAC9B,UAAM,UAAU,yBAAyB,OAAO,IAAI;AACpD,WAAO,KAAK,OAAO,OAAO,kBAAkB,OAAO;AAAA,EACrD;AAAA,EAEA,MAAM,QAAQ,QAGkB;AAC9B,UAAM,UAAU,yBAAyB,OAAO,IAAI;AACpD,WAAO,KAAK,OAAO,OAAO,kBAAkB,OAAO;AAAA,EACrD;AAAA,EAEA,MAAM,SAAS,QAGiB;AAC9B,UAAM,UAAU,0BAA0B,OAAO,IAAI;AACrD,WAAO,KAAK,OAAO,OAAO,kBAAkB,OAAO;AAAA,EACrD;AAAA,EAEA,MAAM,SAAS,QAGiB;AAC9B,UAAM,UAAU,0BAA0B,OAAO,IAAI;AACrD,WAAO,KAAK,OAAO,OAAO,kBAAkB,OAAO;AAAA,EACrD;AACF;"}
|
|
@@ -1,34 +1,87 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
this.mirrorNode = new HederaMirrorNode(this.network, this.logger);
|
|
1
|
+
import { TopicMessageSubmitTransaction } from "@hashgraph/sdk";
|
|
2
|
+
import { DiscoveryOperation } from "./standards-sdk.es101.js";
|
|
3
|
+
import { buildTopicCreateTx } from "./standards-sdk.es138.js";
|
|
4
|
+
function buildHcs18DiscoveryMemo(ttlSeconds, memoOverride) {
|
|
5
|
+
if (memoOverride && memoOverride.trim().length > 0) {
|
|
6
|
+
return memoOverride;
|
|
8
7
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*/
|
|
12
|
-
async getDiscoveryMessages(topicId, options) {
|
|
13
|
-
const validOps = ["announce", "propose", "respond", "complete", "withdraw"];
|
|
14
|
-
const messages = await this.mirrorNode.getTopicMessages(topicId, options);
|
|
15
|
-
if (!messages) {
|
|
16
|
-
return [];
|
|
17
|
-
}
|
|
18
|
-
return messages.filter((m) => m.p === "hcs-18" && validOps.includes(m.op));
|
|
8
|
+
if (ttlSeconds && ttlSeconds > 0) {
|
|
9
|
+
return `hcs-18:0:${ttlSeconds}`;
|
|
19
10
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
11
|
+
return "hcs-18:0";
|
|
12
|
+
}
|
|
13
|
+
function buildHcs18CreateDiscoveryTopicTx(params) {
|
|
14
|
+
const memo = buildHcs18DiscoveryMemo(params.ttlSeconds, params.memoOverride);
|
|
15
|
+
return buildTopicCreateTx({
|
|
16
|
+
memo,
|
|
17
|
+
adminKey: params.adminKey,
|
|
18
|
+
submitKey: params.submitKey,
|
|
19
|
+
operatorPublicKey: params.operatorPublicKey
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function opCode(op) {
|
|
23
|
+
switch (op) {
|
|
24
|
+
case DiscoveryOperation.ANNOUNCE:
|
|
25
|
+
return 0;
|
|
26
|
+
case DiscoveryOperation.PROPOSE:
|
|
27
|
+
return 1;
|
|
28
|
+
case DiscoveryOperation.RESPOND:
|
|
29
|
+
return 2;
|
|
30
|
+
case DiscoveryOperation.COMPLETE:
|
|
31
|
+
return 3;
|
|
32
|
+
case DiscoveryOperation.WITHDRAW:
|
|
33
|
+
return 4;
|
|
34
|
+
default:
|
|
35
|
+
return 0;
|
|
29
36
|
}
|
|
30
37
|
}
|
|
38
|
+
function buildHcs18SubmitDiscoveryMessageTx(params) {
|
|
39
|
+
const memo = typeof params.transactionMemo === "string" && params.transactionMemo.length > 0 ? params.transactionMemo : `hcs-18:op:${opCode(params.message.op)}`;
|
|
40
|
+
return new TopicMessageSubmitTransaction().setTopicId(params.topicId).setMessage(JSON.stringify(params.message)).setTransactionMemo(memo);
|
|
41
|
+
}
|
|
42
|
+
function buildHcs18AnnounceMessage(data) {
|
|
43
|
+
return {
|
|
44
|
+
p: "hcs-18",
|
|
45
|
+
op: DiscoveryOperation.ANNOUNCE,
|
|
46
|
+
data
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function buildHcs18ProposeMessage(data) {
|
|
50
|
+
return {
|
|
51
|
+
p: "hcs-18",
|
|
52
|
+
op: DiscoveryOperation.PROPOSE,
|
|
53
|
+
data
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function buildHcs18RespondMessage(data) {
|
|
57
|
+
return {
|
|
58
|
+
p: "hcs-18",
|
|
59
|
+
op: DiscoveryOperation.RESPOND,
|
|
60
|
+
data
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function buildHcs18CompleteMessage(data) {
|
|
64
|
+
return {
|
|
65
|
+
p: "hcs-18",
|
|
66
|
+
op: DiscoveryOperation.COMPLETE,
|
|
67
|
+
data
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function buildHcs18WithdrawMessage(data) {
|
|
71
|
+
return {
|
|
72
|
+
p: "hcs-18",
|
|
73
|
+
op: DiscoveryOperation.WITHDRAW,
|
|
74
|
+
data
|
|
75
|
+
};
|
|
76
|
+
}
|
|
31
77
|
export {
|
|
32
|
-
|
|
78
|
+
buildHcs18AnnounceMessage,
|
|
79
|
+
buildHcs18CompleteMessage,
|
|
80
|
+
buildHcs18CreateDiscoveryTopicTx,
|
|
81
|
+
buildHcs18DiscoveryMemo,
|
|
82
|
+
buildHcs18ProposeMessage,
|
|
83
|
+
buildHcs18RespondMessage,
|
|
84
|
+
buildHcs18SubmitDiscoveryMessageTx,
|
|
85
|
+
buildHcs18WithdrawMessage
|
|
33
86
|
};
|
|
34
87
|
//# sourceMappingURL=standards-sdk.es104.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es104.js","sources":["../../src/hcs-18/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es104.js","sources":["../../src/hcs-18/tx.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n PublicKey,\n} from '@hashgraph/sdk';\nimport type {\n DiscoveryMessage,\n AnnounceData,\n ProposeData,\n RespondData,\n CompleteMessage,\n WithdrawMessage,\n AnnounceMessage,\n ProposeMessage,\n RespondMessage,\n} from './types';\nimport { DiscoveryOperation } from './types';\nimport type { MaybeKey } from '../common/tx/tx-utils';\nimport { buildTopicCreateTx } from '../common/tx/tx-utils';\n\nexport function buildHcs18DiscoveryMemo(\n ttlSeconds?: number,\n memoOverride?: string,\n): string {\n if (memoOverride && memoOverride.trim().length > 0) {\n return memoOverride;\n }\n if (ttlSeconds && ttlSeconds > 0) {\n return `hcs-18:0:${ttlSeconds}`;\n }\n return 'hcs-18:0';\n}\n\nexport function buildHcs18CreateDiscoveryTopicTx(params: {\n ttlSeconds?: number;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n operatorPublicKey?: PublicKey;\n memoOverride?: string;\n}): TopicCreateTransaction {\n const memo = buildHcs18DiscoveryMemo(params.ttlSeconds, params.memoOverride);\n return buildTopicCreateTx({\n memo,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: params.operatorPublicKey,\n });\n}\n\nfunction opCode(op: DiscoveryOperation): number {\n switch (op) {\n case DiscoveryOperation.ANNOUNCE:\n return 0;\n case DiscoveryOperation.PROPOSE:\n return 1;\n case DiscoveryOperation.RESPOND:\n return 2;\n case DiscoveryOperation.COMPLETE:\n return 3;\n case DiscoveryOperation.WITHDRAW:\n return 4;\n default:\n return 0;\n }\n}\n\nexport function buildHcs18SubmitDiscoveryMessageTx(params: {\n topicId: string;\n message: DiscoveryMessage;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const memo =\n typeof params.transactionMemo === 'string' &&\n params.transactionMemo.length > 0\n ? params.transactionMemo\n : `hcs-18:op:${opCode(params.message.op)}`;\n return new TopicMessageSubmitTransaction()\n .setTopicId(params.topicId)\n .setMessage(JSON.stringify(params.message))\n .setTransactionMemo(memo);\n}\n\nexport function buildHcs18AnnounceMessage(data: AnnounceData): AnnounceMessage {\n return {\n p: 'hcs-18',\n op: DiscoveryOperation.ANNOUNCE,\n data,\n } as AnnounceMessage;\n}\n\nexport function buildHcs18ProposeMessage(data: ProposeData): ProposeMessage {\n return {\n p: 'hcs-18',\n op: DiscoveryOperation.PROPOSE,\n data,\n } as ProposeMessage;\n}\n\nexport function buildHcs18RespondMessage(data: RespondData): RespondMessage {\n return {\n p: 'hcs-18',\n op: DiscoveryOperation.RESPOND,\n data,\n } as RespondMessage;\n}\n\nexport function buildHcs18CompleteMessage(\n data: CompleteMessage['data'],\n): CompleteMessage {\n return {\n p: 'hcs-18',\n op: DiscoveryOperation.COMPLETE,\n data,\n } as CompleteMessage;\n}\n\nexport function buildHcs18WithdrawMessage(\n data: WithdrawMessage['data'],\n): WithdrawMessage {\n return {\n p: 'hcs-18',\n op: DiscoveryOperation.WITHDRAW,\n data,\n } as WithdrawMessage;\n}\n"],"names":[],"mappings":";;;AAoBO,SAAS,wBACd,YACA,cACQ;AACR,MAAI,gBAAgB,aAAa,KAAA,EAAO,SAAS,GAAG;AAClD,WAAO;AAAA,EACT;AACA,MAAI,cAAc,aAAa,GAAG;AAChC,WAAO,YAAY,UAAU;AAAA,EAC/B;AACA,SAAO;AACT;AAEO,SAAS,iCAAiC,QAMtB;AACzB,QAAM,OAAO,wBAAwB,OAAO,YAAY,OAAO,YAAY;AAC3E,SAAO,mBAAmB;AAAA,IACxB;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,WAAW,OAAO;AAAA,IAClB,mBAAmB,OAAO;AAAA,EAAA,CAC3B;AACH;AAEA,SAAS,OAAO,IAAgC;AAC9C,UAAQ,IAAA;AAAA,IACN,KAAK,mBAAmB;AACtB,aAAO;AAAA,IACT,KAAK,mBAAmB;AACtB,aAAO;AAAA,IACT,KAAK,mBAAmB;AACtB,aAAO;AAAA,IACT,KAAK,mBAAmB;AACtB,aAAO;AAAA,IACT,KAAK,mBAAmB;AACtB,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;AAEO,SAAS,mCAAmC,QAIjB;AAChC,QAAM,OACJ,OAAO,OAAO,oBAAoB,YAClC,OAAO,gBAAgB,SAAS,IAC5B,OAAO,kBACP,aAAa,OAAO,OAAO,QAAQ,EAAE,CAAC;AAC5C,SAAO,IAAI,8BAAA,EACR,WAAW,OAAO,OAAO,EACzB,WAAW,KAAK,UAAU,OAAO,OAAO,CAAC,EACzC,mBAAmB,IAAI;AAC5B;AAEO,SAAS,0BAA0B,MAAqC;AAC7E,SAAO;AAAA,IACL,GAAG;AAAA,IACH,IAAI,mBAAmB;AAAA,IACvB;AAAA,EAAA;AAEJ;AAEO,SAAS,yBAAyB,MAAmC;AAC1E,SAAO;AAAA,IACL,GAAG;AAAA,IACH,IAAI,mBAAmB;AAAA,IACvB;AAAA,EAAA;AAEJ;AAEO,SAAS,yBAAyB,MAAmC;AAC1E,SAAO;AAAA,IACL,GAAG;AAAA,IACH,IAAI,mBAAmB;AAAA,IACvB;AAAA,EAAA;AAEJ;AAEO,SAAS,0BACd,MACiB;AACjB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,IAAI,mBAAmB;AAAA,IACvB;AAAA,EAAA;AAEJ;AAEO,SAAS,0BACd,MACiB;AACjB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,IAAI,mBAAmB;AAAA,IACvB;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,145 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
constructor(options = {}) {
|
|
9
|
-
if (loggerFactory) {
|
|
10
|
-
return loggerFactory(options);
|
|
11
|
-
}
|
|
12
|
-
const globalDisable = typeof process !== "undefined" && process.env?.DISABLE_LOGS === "true";
|
|
13
|
-
this.silent = options.silent || globalDisable;
|
|
14
|
-
this.level = this.silent ? "silent" : options.level || "info";
|
|
15
|
-
this.moduleContext = options.module || "app";
|
|
16
|
-
this.prettyPrint = !this.silent && options.prettyPrint !== false;
|
|
17
|
-
}
|
|
18
|
-
static getInstance(options = {}) {
|
|
19
|
-
const moduleKey = options.module || "default";
|
|
20
|
-
const globalDisable = typeof process !== "undefined" && process.env?.DISABLE_LOGS === "true";
|
|
21
|
-
if (globalDisable && _Logger.instances.has(moduleKey)) {
|
|
22
|
-
const existingLogger = _Logger.instances.get(moduleKey);
|
|
23
|
-
if (existingLogger.getLevel() !== "silent") {
|
|
24
|
-
_Logger.instances.delete(moduleKey);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (!_Logger.instances.has(moduleKey)) {
|
|
28
|
-
const logger = loggerFactory ? loggerFactory(options) : new _Logger(options);
|
|
29
|
-
_Logger.instances.set(moduleKey, logger);
|
|
30
|
-
}
|
|
31
|
-
return _Logger.instances.get(moduleKey);
|
|
32
|
-
}
|
|
33
|
-
setLogLevel(level) {
|
|
34
|
-
this.level = level;
|
|
35
|
-
}
|
|
36
|
-
getLevel() {
|
|
37
|
-
return this.level;
|
|
38
|
-
}
|
|
39
|
-
setSilent(silent) {
|
|
40
|
-
this.silent = silent;
|
|
41
|
-
if (silent) {
|
|
42
|
-
this.level = "silent";
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
setModule(module) {
|
|
46
|
-
this.moduleContext = module;
|
|
47
|
-
}
|
|
48
|
-
formatArgs(args) {
|
|
49
|
-
if (args.length === 0) {
|
|
50
|
-
return { msg: "" };
|
|
51
|
-
}
|
|
52
|
-
if (args.length === 1) {
|
|
53
|
-
if (typeof args[0] === "string") {
|
|
54
|
-
return { msg: args[0] };
|
|
55
|
-
}
|
|
56
|
-
return { msg: "", data: args[0] };
|
|
57
|
-
}
|
|
58
|
-
const stringArgs = [];
|
|
59
|
-
const objectArgs = [];
|
|
60
|
-
args.forEach((arg) => {
|
|
61
|
-
if (typeof arg === "string" || typeof arg === "number" || typeof arg === "boolean") {
|
|
62
|
-
stringArgs.push(String(arg));
|
|
63
|
-
} else {
|
|
64
|
-
objectArgs.push(arg);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
const msg = stringArgs.join(" ");
|
|
68
|
-
return objectArgs.length > 0 ? { msg, data: objectArgs } : { msg };
|
|
69
|
-
}
|
|
70
|
-
shouldLog(level) {
|
|
71
|
-
if (this.silent || this.level === "silent") {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
const levels = ["trace", "debug", "info", "warn", "error", "silent"];
|
|
75
|
-
const currentLevelIndex = levels.indexOf(this.level);
|
|
76
|
-
const targetLevelIndex = levels.indexOf(level);
|
|
77
|
-
return targetLevelIndex >= currentLevelIndex;
|
|
1
|
+
import { Logger } from "./standards-sdk.es106.js";
|
|
2
|
+
import { HederaMirrorNode } from "./standards-sdk.es127.js";
|
|
3
|
+
class HCS18BaseClient {
|
|
4
|
+
constructor(config) {
|
|
5
|
+
this.network = config.network;
|
|
6
|
+
this.logger = config.logger || Logger.getInstance({ module: "HCS-18" });
|
|
7
|
+
this.mirrorNode = new HederaMirrorNode(this.network, this.logger);
|
|
78
8
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return console.debug;
|
|
88
|
-
}
|
|
89
|
-
return console.log;
|
|
90
|
-
}
|
|
91
|
-
writeLog(level, ...args) {
|
|
92
|
-
if (!this.shouldLog(level)) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
const { msg, data } = this.formatArgs(args);
|
|
96
|
-
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
97
|
-
const consoleMethod = this.getConsoleMethod(level);
|
|
98
|
-
if (this.prettyPrint) {
|
|
99
|
-
const levelFormatted = level.toUpperCase().padEnd(5);
|
|
100
|
-
let output = `${timestamp} ${levelFormatted} [${this.moduleContext}] ${msg}`;
|
|
101
|
-
if (data) {
|
|
102
|
-
output += "\n" + inspect(data, { colors: true, depth: 3 });
|
|
103
|
-
}
|
|
104
|
-
consoleMethod(output);
|
|
105
|
-
} else {
|
|
106
|
-
const logObj = {
|
|
107
|
-
timestamp,
|
|
108
|
-
level,
|
|
109
|
-
module: this.moduleContext,
|
|
110
|
-
message: msg,
|
|
111
|
-
...data && { data }
|
|
112
|
-
};
|
|
113
|
-
consoleMethod(JSON.stringify(logObj));
|
|
9
|
+
/**
|
|
10
|
+
* Retrieves HCS-18 discovery messages from a topic, filtered to valid operations.
|
|
11
|
+
*/
|
|
12
|
+
async getDiscoveryMessages(topicId, options) {
|
|
13
|
+
const validOps = ["announce", "propose", "respond", "complete", "withdraw"];
|
|
14
|
+
const messages = await this.mirrorNode.getTopicMessages(topicId, options);
|
|
15
|
+
if (!messages) {
|
|
16
|
+
return [];
|
|
114
17
|
}
|
|
115
|
-
|
|
116
|
-
debug(...args) {
|
|
117
|
-
this.writeLog("debug", ...args);
|
|
118
|
-
}
|
|
119
|
-
info(...args) {
|
|
120
|
-
this.writeLog("info", ...args);
|
|
121
|
-
}
|
|
122
|
-
warn(...args) {
|
|
123
|
-
this.writeLog("warn", ...args);
|
|
124
|
-
}
|
|
125
|
-
error(...args) {
|
|
126
|
-
this.writeLog("error", ...args);
|
|
127
|
-
}
|
|
128
|
-
trace(...args) {
|
|
129
|
-
this.writeLog("trace", ...args);
|
|
18
|
+
return messages.filter((m) => m.p === "hcs-18" && validOps.includes(m.op));
|
|
130
19
|
}
|
|
131
20
|
/**
|
|
132
|
-
*
|
|
133
|
-
* Used when switching logger implementations
|
|
21
|
+
* Determines if a proposal has sufficient acceptances to proceed.
|
|
134
22
|
*/
|
|
135
|
-
|
|
136
|
-
|
|
23
|
+
isProposalReady(proposal) {
|
|
24
|
+
const acceptances = Array.from(proposal.responses.values()).filter(
|
|
25
|
+
(r) => r.decision === "accept"
|
|
26
|
+
);
|
|
27
|
+
const requiredResponses = proposal.data.members.length - 1;
|
|
28
|
+
return acceptances.length >= requiredResponses;
|
|
137
29
|
}
|
|
138
|
-
}
|
|
139
|
-
_Logger.instances = /* @__PURE__ */ new Map();
|
|
140
|
-
let Logger = _Logger;
|
|
30
|
+
}
|
|
141
31
|
export {
|
|
142
|
-
|
|
143
|
-
setLoggerFactory
|
|
32
|
+
HCS18BaseClient
|
|
144
33
|
};
|
|
145
34
|
//# sourceMappingURL=standards-sdk.es105.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es105.js","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es105.js","sources":["../../src/hcs-18/base-client.ts"],"sourcesContent":["import { Logger, type ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport type { NetworkType } from '../utils/types';\nimport type { HCSMessageWithCommonFields } from '../services/types';\nimport type { TrackedProposal } from './types';\n\nexport interface HCS18BaseConfig {\n network: NetworkType;\n logger?: ILogger;\n}\n\nexport abstract class HCS18BaseClient {\n protected readonly logger: ILogger;\n public readonly mirrorNode: HederaMirrorNode;\n public readonly network: NetworkType;\n\n constructor(config: HCS18BaseConfig) {\n this.network = config.network;\n this.logger = config.logger || Logger.getInstance({ module: 'HCS-18' });\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger);\n }\n\n /**\n * Retrieves HCS-18 discovery messages from a topic, filtered to valid operations.\n */\n public async getDiscoveryMessages(\n topicId: string,\n options?: {\n sequenceNumber?: string | number;\n limit?: number;\n order?: 'asc' | 'desc';\n },\n ): Promise<HCSMessageWithCommonFields[]> {\n const validOps = ['announce', 'propose', 'respond', 'complete', 'withdraw'];\n const messages = await this.mirrorNode.getTopicMessages(topicId, options);\n if (!messages) {\n return [];\n }\n return messages.filter(m => m.p === 'hcs-18' && validOps.includes(m.op));\n }\n\n /**\n * Determines if a proposal has sufficient acceptances to proceed.\n */\n public isProposalReady(proposal: TrackedProposal): boolean {\n const acceptances = Array.from(proposal.responses.values()).filter(\n r => r.decision === 'accept',\n );\n const requiredResponses = proposal.data.members.length - 1;\n return acceptances.length >= requiredResponses;\n }\n}\n"],"names":[],"mappings":";;AAWO,MAAe,gBAAgB;AAAA,EAKpC,YAAY,QAAyB;AACnC,SAAK,UAAU,OAAO;AACtB,SAAK,SAAS,OAAO,UAAU,OAAO,YAAY,EAAE,QAAQ,UAAU;AACtE,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,MAAM;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,qBACX,SACA,SAKuC;AACvC,UAAM,WAAW,CAAC,YAAY,WAAW,WAAW,YAAY,UAAU;AAC1E,UAAM,WAAW,MAAM,KAAK,WAAW,iBAAiB,SAAS,OAAO;AACxE,QAAI,CAAC,UAAU;AACb,aAAO,CAAA;AAAA,IACT;AACA,WAAO,SAAS,OAAO,CAAA,MAAK,EAAE,MAAM,YAAY,SAAS,SAAS,EAAE,EAAE,CAAC;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA,EAKO,gBAAgB,UAAoC;AACzD,UAAM,cAAc,MAAM,KAAK,SAAS,UAAU,OAAA,CAAQ,EAAE;AAAA,MAC1D,CAAA,MAAK,EAAE,aAAa;AAAA,IAAA;AAEtB,UAAM,oBAAoB,SAAS,KAAK,QAAQ,SAAS;AACzD,WAAO,YAAY,UAAU;AAAA,EAC/B;AACF;"}
|