@hashgraphonline/standards-sdk 0.1.143-feat-solana-register.canary.5c63f60.63 → 0.1.143-feat-solana-register.canary.2844378.65
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/cjs/hcs-16/sdk.d.ts +9 -0
- package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +6 -6
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-16/sdk.d.ts +9 -0
- package/dist/es/hcs-16/sdk.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +6 -6
- package/dist/es/standards-sdk.es100.js +1 -1
- package/dist/es/standards-sdk.es102.js +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es111.js +5 -5
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es121.js +1 -1
- package/dist/es/standards-sdk.es122.js +1 -1
- package/dist/es/standards-sdk.es123.js +5 -5
- package/dist/es/standards-sdk.es125.js +1 -1
- package/dist/es/standards-sdk.es126.js +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es145.js +105 -12256
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +37 -133
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +12280 -33
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es150.js +168 -13
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +289 -139
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +298 -274
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +369 -262
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +194 -316
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +64 -319
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +15 -74
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +3 -3
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es28.js +2 -2
- package/dist/es/standards-sdk.es31.js +1 -1
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es36.js +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.es5.js +1 -1
- package/dist/es/standards-sdk.es54.js +1 -1
- package/dist/es/standards-sdk.es61.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +2 -2
- package/dist/es/standards-sdk.es69.js +2 -2
- package/dist/es/standards-sdk.es70.js +1 -1
- package/dist/es/standards-sdk.es72.js +1 -1
- package/dist/es/standards-sdk.es77.js +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.es82.js +1 -1
- package/dist/es/standards-sdk.es84.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es92.js +1 -1
- package/dist/es/standards-sdk.es93.js +30 -3
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es156.js","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es156.js","sources":["../../src/hcs-5/base-client.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS5ClientConfig } from './types';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Base client for HCS-5 operations\n */\nexport abstract class HCS5BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n\n /**\n * Create a new HCS-5 base client\n */\n constructor(config: HCS5ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS5Client',\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger);\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAe,eAAe;AAAA;AAAA;AAAA;AAAA,EAQnC,YAAY,QAA0B;AACpC,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UACP,OAAO,YAAY;AAAA,MACjB,OAAO,OAAO,YAAY;AAAA,MAC1B,QAAQ;AAAA,MACR,QAAQ,OAAO;AAAA,IAAA,CAChB;AAEH,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,MAAM;AAAA,EAClE;AACF;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./standards-sdk.es2.js";
|
|
2
2
|
import { Client, PrivateKey, AccountCreateTransaction, Hbar, CustomFixedFee, AccountId, TokenId, KeyList, TopicMessageSubmitTransaction, Transaction, ScheduleCreateTransaction, Timestamp } from "@hashgraph/sdk";
|
|
3
3
|
import { AccountCreationError, TopicCreationError, ConnectionConfirmationError, PayloadSizeError } from "./standards-sdk.es18.js";
|
|
4
|
-
import { InscriptionSDK } from "./standards-sdk.
|
|
4
|
+
import { InscriptionSDK } from "./standards-sdk.es147.js";
|
|
5
5
|
import { Logger } from "./standards-sdk.es106.js";
|
|
6
6
|
import { accountIdsToExemptKeys } from "./standards-sdk.es108.js";
|
|
7
7
|
import { ProgressReporter } from "./standards-sdk.es109.js";
|
|
@@ -24,7 +24,7 @@ import "ethers";
|
|
|
24
24
|
import "./standards-sdk.es123.js";
|
|
25
25
|
import { detectKeyTypeFromString } from "./standards-sdk.es114.js";
|
|
26
26
|
import { getTopicId } from "./standards-sdk.es115.js";
|
|
27
|
-
import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.
|
|
27
|
+
import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es145.js";
|
|
28
28
|
import { HCS10BaseClient, Hcs10MemoType } from "./standards-sdk.es17.js";
|
|
29
29
|
import * as mime from "mime-types";
|
|
30
30
|
import { AgentBuilder } from "./standards-sdk.es24.js";
|
|
@@ -32,7 +32,7 @@ import { InboundTopicType } from "./standards-sdk.es29.js";
|
|
|
32
32
|
import { HCS11Client } from "./standards-sdk.es28.js";
|
|
33
33
|
import { inscribe } from "./standards-sdk.es125.js";
|
|
34
34
|
import { addSeconds } from "date-fns";
|
|
35
|
-
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.
|
|
35
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es146.js";
|
|
36
36
|
import { buildHcs10CreateInboundTopicTx, buildHcs10CreateConnectionTopicTx, buildHcs10ConfirmConnectionTx, buildHcs10SendMessageTx, buildHcs10RegistryRegisterTx, buildHcs10CreateOutboundTopicTx, buildHcs10CreateRegistryTopicTx } from "./standards-sdk.es23.js";
|
|
37
37
|
class HCS10Client extends HCS10BaseClient {
|
|
38
38
|
constructor(config) {
|
|
@@ -20,7 +20,7 @@ import "ethers";
|
|
|
20
20
|
import "./standards-sdk.es123.js";
|
|
21
21
|
import "./standards-sdk.es114.js";
|
|
22
22
|
import { getTopicId } from "./standards-sdk.es115.js";
|
|
23
|
-
import { InscriptionSDK } from "./standards-sdk.
|
|
23
|
+
import { InscriptionSDK } from "./standards-sdk.es147.js";
|
|
24
24
|
import { HCS10BaseClient, Hcs10MemoType } from "./standards-sdk.es17.js";
|
|
25
25
|
import * as mime from "mime-types";
|
|
26
26
|
import { AgentBuilder } from "./standards-sdk.es24.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client, Status, PrivateKey, AccountUpdateTransaction } from "@hashgraph/sdk";
|
|
2
2
|
import { inscribeWithSigner, inscribe } from "./standards-sdk.es125.js";
|
|
3
|
-
import "./standards-sdk.
|
|
3
|
+
import "./standards-sdk.es147.js";
|
|
4
4
|
import { Logger } from "./standards-sdk.es106.js";
|
|
5
5
|
import { HederaMirrorNode } from "./standards-sdk.es127.js";
|
|
6
6
|
import { ProgressReporter } from "./standards-sdk.es109.js";
|
|
@@ -25,7 +25,7 @@ import "./standards-sdk.es114.js";
|
|
|
25
25
|
import { getTopicId } from "./standards-sdk.es115.js";
|
|
26
26
|
import * as mime from "mime-types";
|
|
27
27
|
import { isHederaNetwork, toHederaCaip10 } from "./standards-sdk.es58.js";
|
|
28
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
28
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
29
29
|
import { AIAgentCapability, AIAgentType, VerificationType, MCPServerCapability, ProfileType, capabilityNameToCapabilityMap } from "./standards-sdk.es29.js";
|
|
30
30
|
const SocialLinkSchema = z.object({
|
|
31
31
|
platform: z.string().min(1),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RegistryType } from "./standards-sdk.es30.js";
|
|
2
2
|
import { inscribe, inscribeWithSigner } from "./standards-sdk.es125.js";
|
|
3
|
-
import "./standards-sdk.
|
|
3
|
+
import "./standards-sdk.es147.js";
|
|
4
4
|
class BaseRegistry {
|
|
5
5
|
constructor(networkType, logger, registryType, topicId, client) {
|
|
6
6
|
this.entries = /* @__PURE__ */ new Map();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RegistryType } from "./standards-sdk.es30.js";
|
|
2
2
|
import { BaseRegistry } from "./standards-sdk.es31.js";
|
|
3
3
|
import { retrieveInscription } from "./standards-sdk.es125.js";
|
|
4
|
-
import "./standards-sdk.
|
|
4
|
+
import "./standards-sdk.es147.js";
|
|
5
5
|
import { getCryptoAdapter } from "./standards-sdk.es120.js";
|
|
6
6
|
import { isSSREnvironment } from "./standards-sdk.es118.js";
|
|
7
7
|
import { validateActionRegistration } from "./standards-sdk.es43.js";
|
|
@@ -13,7 +13,7 @@ import "crypto";
|
|
|
13
13
|
import "@noble/curves/secp256k1.js";
|
|
14
14
|
import "zod";
|
|
15
15
|
import "./standards-sdk.es139.js";
|
|
16
|
-
import "./standards-sdk.
|
|
16
|
+
import "./standards-sdk.es147.js";
|
|
17
17
|
import "@hashgraph/proto";
|
|
18
18
|
import "@hashgraph/sdk";
|
|
19
19
|
import "ethers";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Client } from "@hashgraph/sdk";
|
|
2
2
|
import { HCS12BaseClient } from "./standards-sdk.es36.js";
|
|
3
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
3
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
4
4
|
import { RegistryType } from "./standards-sdk.es30.js";
|
|
5
5
|
import { inscribe } from "./standards-sdk.es125.js";
|
|
6
|
-
import { InscriptionSDK } from "./standards-sdk.
|
|
6
|
+
import { InscriptionSDK } from "./standards-sdk.es147.js";
|
|
7
7
|
import { ActionRegistry } from "./standards-sdk.es32.js";
|
|
8
8
|
import { BlockLoader } from "./standards-sdk.es33.js";
|
|
9
9
|
import { AssemblyRegistry } from "./standards-sdk.es34.js";
|
|
10
10
|
import { HashLinksRegistry } from "./standards-sdk.es35.js";
|
|
11
11
|
import * as mime from "mime-types";
|
|
12
|
-
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.
|
|
12
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es146.js";
|
|
13
13
|
class HCS12Client extends HCS12BaseClient {
|
|
14
14
|
constructor(config) {
|
|
15
15
|
super(config);
|
|
@@ -2,7 +2,7 @@ import { TopicCreateTransaction, TransactionId, AccountId, PublicKey, KeyList, T
|
|
|
2
2
|
import { HCS12BaseClient } from "./standards-sdk.es36.js";
|
|
3
3
|
import { RegistryType } from "./standards-sdk.es30.js";
|
|
4
4
|
import { inscribeWithSigner } from "./standards-sdk.es125.js";
|
|
5
|
-
import { InscriptionSDK } from "./standards-sdk.
|
|
5
|
+
import { InscriptionSDK } from "./standards-sdk.es147.js";
|
|
6
6
|
import { ActionRegistry } from "./standards-sdk.es32.js";
|
|
7
7
|
import { BlockLoader } from "./standards-sdk.es33.js";
|
|
8
8
|
import { AssemblyRegistry } from "./standards-sdk.es34.js";
|
|
@@ -2,7 +2,7 @@ import { HCS6BaseClient } from "./standards-sdk.es7.js";
|
|
|
2
2
|
import { buildHcs6Hrl } from "./standards-sdk.es4.js";
|
|
3
3
|
import { AccountId, Client, TopicMessageSubmitTransaction, TopicId, PrivateKey, PublicKey, TokenMintTransaction, TokenId } from "@hashgraph/sdk";
|
|
4
4
|
import { buildHcs6CreateRegistryTx } from "./standards-sdk.es8.js";
|
|
5
|
-
import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.
|
|
5
|
+
import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es145.js";
|
|
6
6
|
import { inscribe } from "./standards-sdk.es125.js";
|
|
7
7
|
class HCS6Client extends HCS6BaseClient {
|
|
8
8
|
constructor(config) {
|
|
@@ -27,7 +27,7 @@ import "@hashgraph/proto";
|
|
|
27
27
|
import "ethers";
|
|
28
28
|
import "./standards-sdk.es123.js";
|
|
29
29
|
import "./standards-sdk.es114.js";
|
|
30
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
30
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
31
31
|
import { HCS10Client } from "./standards-sdk.es19.js";
|
|
32
32
|
class HCS14Client {
|
|
33
33
|
constructor(options) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HCS5BaseClient } from "./standards-sdk.
|
|
1
|
+
import { HCS5BaseClient } from "./standards-sdk.es156.js";
|
|
2
2
|
import { buildHcs1Hrl } from "./standards-sdk.es64.js";
|
|
3
3
|
import { PrivateKey } from "@hashgraph/sdk";
|
|
4
4
|
import { inscribeWithSigner } from "./standards-sdk.es125.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { HCS5BaseClient } from "./standards-sdk.
|
|
1
|
+
import { HCS5BaseClient } from "./standards-sdk.es156.js";
|
|
2
2
|
import { buildHcs1Hrl } from "./standards-sdk.es64.js";
|
|
3
3
|
import { AccountId } from "@hashgraph/sdk";
|
|
4
4
|
import { inscribe } from "./standards-sdk.es125.js";
|
|
5
5
|
import { buildHcs5MintTx } from "./standards-sdk.es67.js";
|
|
6
|
-
import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.
|
|
6
|
+
import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es145.js";
|
|
7
7
|
class HCS5Client extends HCS5BaseClient {
|
|
8
8
|
constructor(config) {
|
|
9
9
|
super(config);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AccountId, Client, PublicKey } from "@hashgraph/sdk";
|
|
2
2
|
import { HCS2BaseClient } from "./standards-sdk.es71.js";
|
|
3
3
|
import { HCS2Operation, HCS2RegistryType } from "./standards-sdk.es68.js";
|
|
4
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
5
|
-
import { buildMessageTx } from "./standards-sdk.
|
|
4
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
5
|
+
import { buildMessageTx } from "./standards-sdk.es146.js";
|
|
6
6
|
import { buildHcs2CreateRegistryTx } from "./standards-sdk.es72.js";
|
|
7
7
|
const _HCS2Client = class _HCS2Client extends HCS2BaseClient {
|
|
8
8
|
/**
|
|
@@ -3,7 +3,7 @@ import { HCS2BaseClient } from "./standards-sdk.es71.js";
|
|
|
3
3
|
import { HCS2RegistryType, HCS2Operation } from "./standards-sdk.es68.js";
|
|
4
4
|
import { isBrowser } from "./standards-sdk.es119.js";
|
|
5
5
|
import { KeyTypeDetector } from "./standards-sdk.es114.js";
|
|
6
|
-
import { buildMessageTx } from "./standards-sdk.
|
|
6
|
+
import { buildMessageTx } from "./standards-sdk.es146.js";
|
|
7
7
|
class BrowserHCS2Client extends HCS2BaseClient {
|
|
8
8
|
/**
|
|
9
9
|
* Create a new browser HCS-2 client
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.
|
|
1
|
+
import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.es146.js";
|
|
2
2
|
import { HCS2Operation } from "./standards-sdk.es68.js";
|
|
3
3
|
function buildHcs2CreateRegistryTx(params) {
|
|
4
4
|
const memo = params.memoOverride ?? encodeHcs2RegistryMemo(params.registryType, params.ttl);
|
|
@@ -2,7 +2,7 @@ import { AccountId, Client, Status, TopicCreateTransaction } from "@hashgraph/sd
|
|
|
2
2
|
import { HCS20BaseClient } from "./standards-sdk.es75.js";
|
|
3
3
|
import { PointsDeploymentError, PointsValidationError, PointsTransferError, PointsBurnError } from "./standards-sdk.es74.js";
|
|
4
4
|
import { sleep } from "./standards-sdk.es116.js";
|
|
5
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
5
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
6
6
|
import { HCS2Client } from "./standards-sdk.es69.js";
|
|
7
7
|
import { buildHcs20DeployTx, buildHcs20MintTx, buildHcs20TransferTx, buildHcs20BurnTx, buildHcs20RegisterTx } from "./standards-sdk.es79.js";
|
|
8
8
|
class HCS20Client extends HCS20BaseClient {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildMessageTx } from "./standards-sdk.
|
|
1
|
+
import { buildMessageTx } from "./standards-sdk.es146.js";
|
|
2
2
|
function buildHcs20SubmitMessageTx(params) {
|
|
3
3
|
const msg = typeof params.payload === "string" ? params.payload : JSON.stringify(params.payload);
|
|
4
4
|
return buildMessageTx({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.
|
|
1
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es146.js";
|
|
2
2
|
import { HCS6Operation } from "./standards-sdk.es4.js";
|
|
3
3
|
function encodeHcs6NonIndexedMemo(ttl) {
|
|
4
4
|
return `hcs-6:1:${ttl}`;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.
|
|
1
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es146.js";
|
|
2
2
|
import { HCS21TopicType, HCS21MetadataPointerPattern, HCS21_SAFE_MESSAGE_BYTES, HCS21_MAX_MESSAGE_BYTES } from "./standards-sdk.es80.js";
|
|
3
3
|
import { HCS21ValidationError } from "./standards-sdk.es81.js";
|
|
4
4
|
function buildHcs21RegistryMemo(params) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Client, Status } from "@hashgraph/sdk";
|
|
2
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
2
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
3
3
|
import { Logger } from "./standards-sdk.es106.js";
|
|
4
4
|
import { HCS21BaseClient } from "./standards-sdk.es83.js";
|
|
5
5
|
import { metadataDocumentSchema, HCS21TopicType, HCS21ManifestPointerPattern } from "./standards-sdk.es80.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AccountId, Client, PrivateKey, Hbar } from "@hashgraph/sdk";
|
|
2
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
2
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
3
3
|
import { buildHcs15BaseAccountCreateTx, buildHcs15PetalAccountCreateTx } from "./standards-sdk.es87.js";
|
|
4
4
|
import { HCS15BaseClient } from "./standards-sdk.es90.js";
|
|
5
5
|
class HCS15Client extends HCS15BaseClient {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AccountId, TopicCreateTransaction, CustomFixedFee, TokenId, AccountCreateTransaction, Hbar, AccountUpdateTransaction, ScheduleCreateTransaction, TopicUpdateTransaction } from "@hashgraph/sdk";
|
|
2
|
-
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.
|
|
2
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es146.js";
|
|
3
3
|
import { FloraOperation } from "./standards-sdk.es91.js";
|
|
4
4
|
function encodeHcs16FloraMemo(params) {
|
|
5
5
|
return `hcs-16:${params.floraAccountId}:${params.topicType}`;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AccountId, Client, ScheduleSignTransaction } from "@hashgraph/sdk";
|
|
2
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
2
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
3
3
|
import { HederaMirrorNode } from "./standards-sdk.es127.js";
|
|
4
4
|
import { HCS16BaseClient } from "./standards-sdk.es95.js";
|
|
5
|
-
import { buildHcs16CreateFloraTopicTx, buildHcs16FloraCreatedTx, buildHcs16TransactionTx, buildHcs16StateUpdateTx, buildHcs16FloraJoinRequestTx, buildHcs16FloraJoinVoteTx, buildHcs16FloraJoinAcceptedTx
|
|
5
|
+
import { buildHcs16CreateFloraTopicTx, buildHcs16CreateAccountTx, buildHcs16FloraCreatedTx, buildHcs16TransactionTx, buildHcs16StateUpdateTx, buildHcs16FloraJoinRequestTx, buildHcs16FloraJoinVoteTx, buildHcs16FloraJoinAcceptedTx } from "./standards-sdk.es92.js";
|
|
6
6
|
class HCS16Client extends HCS16BaseClient {
|
|
7
7
|
constructor(config) {
|
|
8
8
|
super({ network: config.network, logger: config.logger });
|
|
@@ -38,6 +38,19 @@ class HCS16Client extends HCS16BaseClient {
|
|
|
38
38
|
}
|
|
39
39
|
return receipt.topicId.toString();
|
|
40
40
|
}
|
|
41
|
+
async createFloraAccount(params) {
|
|
42
|
+
const tx = buildHcs16CreateAccountTx({
|
|
43
|
+
keyList: params.keyList,
|
|
44
|
+
initialBalanceHbar: params.initialBalanceHbar,
|
|
45
|
+
maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations
|
|
46
|
+
});
|
|
47
|
+
const resp = await tx.execute(this.client);
|
|
48
|
+
const receipt = await resp.getReceipt(this.client);
|
|
49
|
+
if (!receipt.accountId) {
|
|
50
|
+
throw new Error("Failed to create Flora account");
|
|
51
|
+
}
|
|
52
|
+
return { accountId: receipt.accountId.toString(), receipt };
|
|
53
|
+
}
|
|
41
54
|
async sendFloraCreated(params) {
|
|
42
55
|
const tx = buildHcs16FloraCreatedTx(params);
|
|
43
56
|
const resp = await tx.execute(this.client);
|
|
@@ -62,7 +75,21 @@ class HCS16Client extends HCS16BaseClient {
|
|
|
62
75
|
return resp.getReceipt(this.client);
|
|
63
76
|
}
|
|
64
77
|
async sendStateUpdate(params) {
|
|
65
|
-
const tx = buildHcs16StateUpdateTx(
|
|
78
|
+
const tx = buildHcs16StateUpdateTx({
|
|
79
|
+
topicId: params.topicId,
|
|
80
|
+
operatorId: params.operatorId,
|
|
81
|
+
hash: params.hash,
|
|
82
|
+
epoch: params.epoch
|
|
83
|
+
});
|
|
84
|
+
if (params.signerKeys && params.signerKeys.length > 0) {
|
|
85
|
+
const frozen = await tx.freezeWith(this.client);
|
|
86
|
+
let signed = frozen;
|
|
87
|
+
for (const key of params.signerKeys) {
|
|
88
|
+
signed = await signed.sign(key);
|
|
89
|
+
}
|
|
90
|
+
const resp2 = await signed.execute(this.client);
|
|
91
|
+
return resp2.getReceipt(this.client);
|
|
92
|
+
}
|
|
66
93
|
const resp = await tx.execute(this.client);
|
|
67
94
|
return resp.getReceipt(this.client);
|
|
68
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es93.js","sources":["../../src/hcs-16/sdk.ts"],"sourcesContent":["import {\n Client,\n AccountId,\n PublicKey,\n KeyList,\n TransactionReceipt,\n Hbar,\n ScheduleSignTransaction,\n PrivateKey,\n} from '@hashgraph/sdk';\nimport type { NetworkType } from '../utils/types';\nimport type { Logger } from '../utils/logger';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS16BaseClient } from './base-client';\nimport {\n buildHcs16CreateFloraTopicTx,\n buildHcs16FloraCreatedTx,\n buildHcs16TransactionTx,\n buildHcs16StateUpdateTx,\n} from './tx';\nimport { FloraTopicType } from './types';\nimport {\n buildHcs16FloraJoinRequestTx,\n buildHcs16FloraJoinVoteTx,\n buildHcs16FloraJoinAcceptedTx,\n buildHcs16CreateAccountTx,\n} from './tx';\n\nexport interface HCS16ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string;\n keyType?: 'ecdsa' | 'ed25519';\n logger?: Logger;\n}\n\n/**\n * Node SDK client for HCS‑16 Flora operations.\n */\nexport class HCS16Client extends HCS16BaseClient {\n private readonly client: Client;\n private readonly operatorId: AccountId;\n private readonly operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS16ClientConfig) {\n super({ network: config.network, logger: config.logger });\n this.operatorId = AccountId.fromString(config.operatorId);\n const mirror = new HederaMirrorNode(config.network, this.logger);\n this.operatorCtx = createNodeOperatorContext({\n network: config.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: mirror,\n logger: this.logger,\n client:\n config.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet(),\n });\n this.client = this.operatorCtx.client;\n }\n\n /**\n * Create a Flora topic with memo `hcs-16:<floraAccountId>:<topicType>`.\n */\n async createFloraTopic(params: {\n floraAccountId: string;\n topicType: FloraTopicType;\n adminKey?: PublicKey | KeyList;\n submitKey?: PublicKey | KeyList;\n autoRenewAccountId?: string;\n }): Promise<string> {\n const tx = buildHcs16CreateFloraTopicTx({\n floraAccountId: params.floraAccountId,\n topicType: params.topicType,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.topicId) {\n throw new Error('Failed to create Flora topic');\n }\n return receipt.topicId.toString();\n }\n\n async sendFloraCreated(params: {\n topicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraCreatedTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Send HCS-16 transaction (preferred). scheduleId is the ScheduleId entity (e.g., 0.0.12345).\n */\n async sendTransaction(params: {\n topicId: string;\n operatorId: string;\n scheduleId: string;\n data?: string;\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16TransactionTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Sign a scheduled transaction by ScheduleId entity using provided signer key (PrivateKey).\n * The signer must be a valid member key for the scheduled transaction to count toward threshold.\n */\n async signSchedule(params: {\n scheduleId: string;\n signerKey: PrivateKey;\n }): Promise<TransactionReceipt> {\n const tx = await new ScheduleSignTransaction()\n .setScheduleId(params.scheduleId)\n .freezeWith(this.client);\n const signed = await tx.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendStateUpdate(params: {\n topicId: string;\n operatorId: string;\n hash: string;\n epoch?: number;\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16StateUpdateTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinRequest(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n connectionRequestId: number;\n connectionTopicId: string;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraJoinRequestTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinVote(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n approve: boolean;\n connectionRequestId: number;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraJoinVoteTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinAccepted(params: {\n topicId: string;\n operatorId: string;\n members: string[];\n epoch?: number;\n signerKeys?: PrivateKey[];\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraJoinAcceptedTx(params);\n if (params.signerKeys && params.signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of params.signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Resolve member public keys from Mirror Node and build a KeyList with the given threshold.\n */\n async assembleKeyList(params: {\n members: string[];\n threshold: number;\n }): Promise<KeyList> {\n return super.assembleKeyList(params);\n }\n\n /**\n * Create a Flora account with a threshold KeyList, then create the three Flora topics.\n * Returns the Flora account ID and the topic IDs.\n */\n async createFloraAccountWithTopics(params: {\n members: string[];\n threshold: number;\n initialBalanceHbar?: number;\n autoRenewAccountId?: string;\n }): Promise<{\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }> {\n const keyList = await this.assembleKeyList({\n members: params.members,\n threshold: params.threshold,\n });\n const submitList = await this.assembleSubmitKeyList(params.members);\n\n const createAcc = buildHcs16CreateAccountTx({\n keyList,\n initialBalanceHbar:\n typeof params.initialBalanceHbar === 'number'\n ? params.initialBalanceHbar\n : 5,\n maxAutomaticTokenAssociations: -1,\n });\n const accResp = await createAcc.execute(this.client);\n const accReceipt = await accResp.getReceipt(this.client);\n if (!accReceipt.accountId) {\n throw new Error('Failed to create Flora account');\n }\n const floraAccountId = accReceipt.accountId.toString();\n\n const {\n communication: commTx,\n transaction: trnTx,\n state: stateTx,\n } = this.buildFloraTopicCreateTxs({\n floraAccountId,\n keyList,\n submitList,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n\n const commR = await commTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const trnR = await trnTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const stateR = await stateTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const topics = {\n communication: commR.topicId!.toString(),\n transaction: trnR.topicId!.toString(),\n state: stateR.topicId!.toString(),\n };\n return { floraAccountId, topics };\n }\n\n /**\n * Convenience: publish flora_created on the communication topic.\n */\n async publishFloraCreated(params: {\n communicationTopicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraCreatedTx({\n topicId: params.communicationTopicId,\n operatorId: params.operatorId,\n floraAccountId: params.floraAccountId,\n topics: params.topics,\n });\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n}\n"],"names":["resp"],"mappings":";;;;;AA2CO,MAAM,oBAAoB,gBAAgB;AAAA,EAK/C,YAAY,QAA2B;AACrC,UAAM,EAAE,SAAS,OAAO,SAAS,QAAQ,OAAO,QAAQ;AACxD,SAAK,aAAa,UAAU,WAAW,OAAO,UAAU;AACxD,UAAM,SAAS,IAAI,iBAAiB,OAAO,SAAS,KAAK,MAAM;AAC/D,SAAK,cAAc,0BAA0B;AAAA,MAC3C,SAAS,OAAO;AAAA,MAChB,YAAY,KAAK;AAAA,MACjB,aAAa,OAAO;AAAA,MACpB,SAAS,OAAO;AAAA,MAChB,YAAY;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,QACE,OAAO,YAAY,YACf,OAAO,WAAA,IACP,OAAO,WAAA;AAAA,IAAW,CACzB;AACD,SAAK,SAAS,KAAK,YAAY;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAiB,QAMH;AAClB,UAAM,KAAK,6BAA6B;AAAA,MACtC,gBAAgB,OAAO;AAAA,MACvB,WAAW,OAAO;AAAA,MAClB,UAAU,OAAO;AAAA,MACjB,WAAW,OAAO;AAAA,MAClB,mBAAmB,KAAK,OAAO,qBAAqB;AAAA,MACpD,oBAAoB,OAAO;AAAA,IAAA,CAC5B;AACD,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,UAAM,UAAU,MAAM,KAAK,WAAW,KAAK,MAAM;AACjD,QAAI,CAAC,QAAQ,SAAS;AACpB,YAAM,IAAI,MAAM,8BAA8B;AAAA,IAChD;AACA,WAAO,QAAQ,QAAQ,SAAA;AAAA,EACzB;AAAA,EAEA,MAAM,iBAAiB,QAKS;AAC9B,UAAM,KAAK,yBAAyB,MAAM;AAC1C,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,gBAAgB,QAKU;AAC9B,UAAM,KAAK,wBAAwB,MAAM;AACzC,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,aAAa,QAGa;AAC9B,UAAM,KAAK,MAAM,IAAI,wBAAA,EAClB,cAAc,OAAO,UAAU,EAC/B,WAAW,KAAK,MAAM;AACzB,UAAM,SAAS,MAAM,GAAG,KAAK,OAAO,SAAS;AAC7C,UAAM,OAAO,MAAM,OAAO,QAAQ,KAAK,MAAM;AAC7C,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AAAA,EAEA,MAAM,gBAAgB,QAKU;AAC9B,UAAM,KAAK,wBAAwB,MAAM;AACzC,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AAAA,EAEA,MAAM,qBAAqB,QAQK;AAC9B,UAAM,KAAK,6BAA6B,MAAM;AAC9C,QAAI,OAAO,WAAW;AACpB,YAAM,SAAS,MAAM,GAAG,WAAW,KAAK,MAAM;AAC9C,YAAM,SAAS,MAAM,OAAO,KAAK,OAAO,SAAS;AACjD,YAAMA,QAAO,MAAM,OAAO,QAAQ,KAAK,MAAM;AAC7C,aAAOA,MAAK,WAAW,KAAK,MAAM;AAAA,IACpC;AACA,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AAAA,EAEA,MAAM,kBAAkB,QAQQ;AAC9B,UAAM,KAAK,0BAA0B,MAAM;AAC3C,QAAI,OAAO,WAAW;AACpB,YAAM,SAAS,MAAM,GAAG,WAAW,KAAK,MAAM;AAC9C,YAAM,SAAS,MAAM,OAAO,KAAK,OAAO,SAAS;AACjD,YAAMA,QAAO,MAAM,OAAO,QAAQ,KAAK,MAAM;AAC7C,aAAOA,MAAK,WAAW,KAAK,MAAM;AAAA,IACpC;AACA,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AAAA,EAEA,MAAM,sBAAsB,QAMI;AAC9B,UAAM,KAAK,8BAA8B,MAAM;AAC/C,QAAI,OAAO,cAAc,OAAO,WAAW,SAAS,GAAG;AACrD,YAAM,SAAS,MAAM,GAAG,WAAW,KAAK,MAAM;AAC9C,UAAI,SAAS;AACb,iBAAW,OAAO,OAAO,YAAY;AACnC,iBAAS,MAAM,OAAO,KAAK,GAAG;AAAA,MAChC;AACA,YAAMA,QAAO,MAAM,OAAO,QAAQ,KAAK,MAAM;AAC7C,aAAOA,MAAK,WAAW,KAAK,MAAM;AAAA,IACpC;AACA,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,gBAAgB,QAGD;AACnB,WAAO,MAAM,gBAAgB,MAAM;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,6BAA6B,QAQhC;AACD,UAAM,UAAU,MAAM,KAAK,gBAAgB;AAAA,MACzC,SAAS,OAAO;AAAA,MAChB,WAAW,OAAO;AAAA,IAAA,CACnB;AACD,UAAM,aAAa,MAAM,KAAK,sBAAsB,OAAO,OAAO;AAElE,UAAM,YAAY,0BAA0B;AAAA,MAC1C;AAAA,MACA,oBACE,OAAO,OAAO,uBAAuB,WACjC,OAAO,qBACP;AAAA,MACN,+BAA+B;AAAA,IAAA,CAChC;AACD,UAAM,UAAU,MAAM,UAAU,QAAQ,KAAK,MAAM;AACnD,UAAM,aAAa,MAAM,QAAQ,WAAW,KAAK,MAAM;AACvD,QAAI,CAAC,WAAW,WAAW;AACzB,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AACA,UAAM,iBAAiB,WAAW,UAAU,SAAA;AAE5C,UAAM;AAAA,MACJ,eAAe;AAAA,MACf,aAAa;AAAA,MACb,OAAO;AAAA,IAAA,IACL,KAAK,yBAAyB;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA,oBAAoB,OAAO;AAAA,IAAA,CAC5B;AAED,UAAM,QAAQ,MAAM,OACjB,QAAQ,KAAK,MAAM,EACnB,KAAK,CAAA,MAAK,EAAE,WAAW,KAAK,MAAM,CAAC;AACtC,UAAM,OAAO,MAAM,MAChB,QAAQ,KAAK,MAAM,EACnB,KAAK,CAAA,MAAK,EAAE,WAAW,KAAK,MAAM,CAAC;AACtC,UAAM,SAAS,MAAM,QAClB,QAAQ,KAAK,MAAM,EACnB,KAAK,CAAA,MAAK,EAAE,WAAW,KAAK,MAAM,CAAC;AACtC,UAAM,SAAS;AAAA,MACb,eAAe,MAAM,QAAS,SAAA;AAAA,MAC9B,aAAa,KAAK,QAAS,SAAA;AAAA,MAC3B,OAAO,OAAO,QAAS,SAAA;AAAA,IAAS;AAElC,WAAO,EAAE,gBAAgB,OAAA;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,oBAAoB,QAKM;AAC9B,UAAM,KAAK,yBAAyB;AAAA,MAClC,SAAS,OAAO;AAAA,MAChB,YAAY,OAAO;AAAA,MACnB,gBAAgB,OAAO;AAAA,MACvB,QAAQ,OAAO;AAAA,IAAA,CAChB;AACD,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,WAAO,KAAK,WAAW,KAAK,MAAM;AAAA,EACpC;AACF;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es93.js","sources":["../../src/hcs-16/sdk.ts"],"sourcesContent":["import {\n Client,\n AccountId,\n PublicKey,\n KeyList,\n TransactionReceipt,\n Hbar,\n ScheduleSignTransaction,\n PrivateKey,\n} from '@hashgraph/sdk';\nimport type { NetworkType } from '../utils/types';\nimport type { Logger } from '../utils/logger';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS16BaseClient } from './base-client';\nimport {\n buildHcs16CreateFloraTopicTx,\n buildHcs16FloraCreatedTx,\n buildHcs16TransactionTx,\n buildHcs16StateUpdateTx,\n} from './tx';\nimport { FloraTopicType } from './types';\nimport {\n buildHcs16FloraJoinRequestTx,\n buildHcs16FloraJoinVoteTx,\n buildHcs16FloraJoinAcceptedTx,\n buildHcs16CreateAccountTx,\n} from './tx';\n\nexport interface HCS16ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string;\n keyType?: 'ecdsa' | 'ed25519';\n logger?: Logger;\n}\n\n/**\n * Node SDK client for HCS‑16 Flora operations.\n */\nexport class HCS16Client extends HCS16BaseClient {\n private readonly client: Client;\n private readonly operatorId: AccountId;\n private readonly operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS16ClientConfig) {\n super({ network: config.network, logger: config.logger });\n this.operatorId = AccountId.fromString(config.operatorId);\n const mirror = new HederaMirrorNode(config.network, this.logger);\n this.operatorCtx = createNodeOperatorContext({\n network: config.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: mirror,\n logger: this.logger,\n client:\n config.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet(),\n });\n this.client = this.operatorCtx.client;\n }\n\n /**\n * Create a Flora topic with memo `hcs-16:<floraAccountId>:<topicType>`.\n */\n async createFloraTopic(params: {\n floraAccountId: string;\n topicType: FloraTopicType;\n adminKey?: PublicKey | KeyList;\n submitKey?: PublicKey | KeyList;\n autoRenewAccountId?: string;\n }): Promise<string> {\n const tx = buildHcs16CreateFloraTopicTx({\n floraAccountId: params.floraAccountId,\n topicType: params.topicType,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.topicId) {\n throw new Error('Failed to create Flora topic');\n }\n return receipt.topicId.toString();\n }\n\n async createFloraAccount(params: {\n keyList: KeyList;\n initialBalanceHbar?: number;\n maxAutomaticTokenAssociations?: number;\n }): Promise<{ accountId: string; receipt: TransactionReceipt }> {\n const tx = buildHcs16CreateAccountTx({\n keyList: params.keyList,\n initialBalanceHbar: params.initialBalanceHbar,\n maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.accountId) {\n throw new Error('Failed to create Flora account');\n }\n return { accountId: receipt.accountId.toString(), receipt };\n }\n\n async sendFloraCreated(params: {\n topicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraCreatedTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Send HCS-16 transaction (preferred). scheduleId is the ScheduleId entity (e.g., 0.0.12345).\n */\n async sendTransaction(params: {\n topicId: string;\n operatorId: string;\n scheduleId: string;\n data?: string;\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16TransactionTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Sign a scheduled transaction by ScheduleId entity using provided signer key (PrivateKey).\n * The signer must be a valid member key for the scheduled transaction to count toward threshold.\n */\n async signSchedule(params: {\n scheduleId: string;\n signerKey: PrivateKey;\n }): Promise<TransactionReceipt> {\n const tx = await new ScheduleSignTransaction()\n .setScheduleId(params.scheduleId)\n .freezeWith(this.client);\n const signed = await tx.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendStateUpdate(params: {\n topicId: string;\n operatorId: string;\n hash: string;\n epoch?: number;\n signerKeys?: PrivateKey[];\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16StateUpdateTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n hash: params.hash,\n epoch: params.epoch,\n });\n if (params.signerKeys && params.signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of params.signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinRequest(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n connectionRequestId: number;\n connectionTopicId: string;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraJoinRequestTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinVote(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n approve: boolean;\n connectionRequestId: number;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraJoinVoteTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinAccepted(params: {\n topicId: string;\n operatorId: string;\n members: string[];\n epoch?: number;\n signerKeys?: PrivateKey[];\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraJoinAcceptedTx(params);\n if (params.signerKeys && params.signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of params.signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Resolve member public keys from Mirror Node and build a KeyList with the given threshold.\n */\n async assembleKeyList(params: {\n members: string[];\n threshold: number;\n }): Promise<KeyList> {\n return super.assembleKeyList(params);\n }\n\n /**\n * Create a Flora account with a threshold KeyList, then create the three Flora topics.\n * Returns the Flora account ID and the topic IDs.\n */\n async createFloraAccountWithTopics(params: {\n members: string[];\n threshold: number;\n initialBalanceHbar?: number;\n autoRenewAccountId?: string;\n }): Promise<{\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }> {\n const keyList = await this.assembleKeyList({\n members: params.members,\n threshold: params.threshold,\n });\n const submitList = await this.assembleSubmitKeyList(params.members);\n\n const createAcc = buildHcs16CreateAccountTx({\n keyList,\n initialBalanceHbar:\n typeof params.initialBalanceHbar === 'number'\n ? params.initialBalanceHbar\n : 5,\n maxAutomaticTokenAssociations: -1,\n });\n const accResp = await createAcc.execute(this.client);\n const accReceipt = await accResp.getReceipt(this.client);\n if (!accReceipt.accountId) {\n throw new Error('Failed to create Flora account');\n }\n const floraAccountId = accReceipt.accountId.toString();\n\n const {\n communication: commTx,\n transaction: trnTx,\n state: stateTx,\n } = this.buildFloraTopicCreateTxs({\n floraAccountId,\n keyList,\n submitList,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n\n const commR = await commTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const trnR = await trnTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const stateR = await stateTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const topics = {\n communication: commR.topicId!.toString(),\n transaction: trnR.topicId!.toString(),\n state: stateR.topicId!.toString(),\n };\n return { floraAccountId, topics };\n }\n\n /**\n * Convenience: publish flora_created on the communication topic.\n */\n async publishFloraCreated(params: {\n communicationTopicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n const tx = buildHcs16FloraCreatedTx({\n topicId: params.communicationTopicId,\n operatorId: params.operatorId,\n floraAccountId: params.floraAccountId,\n topics: params.topics,\n });\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n}\n"],"names":["resp"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AccountId, Client } from "@hashgraph/sdk";
|
|
2
2
|
import { HCS17BaseClient } from "./standards-sdk.es97.js";
|
|
3
3
|
import { buildHcs17CreateTopicTx, buildHcs17MessageTx } from "./standards-sdk.es100.js";
|
|
4
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
4
|
+
import { createNodeOperatorContext } from "./standards-sdk.es145.js";
|
|
5
5
|
class HCS17Client extends HCS17BaseClient {
|
|
6
6
|
constructor(config) {
|
|
7
7
|
super(config);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hashgraphonline/standards-sdk",
|
|
3
|
-
"version": "0.1.143-feat-solana-register.canary.
|
|
3
|
+
"version": "0.1.143-feat-solana-register.canary.2844378.65",
|
|
4
4
|
"description": "The Hashgraph Online Standards SDK provides a complete implementation of the Hashgraph Consensus Standards (HCS), giving developers all the tools needed to build applications on Hedera.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|