@hashgraphonline/standards-sdk 0.1.141-canary.1 → 0.1.141-canary.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/cjs/hcs-21/base-client.d.ts +1 -0
  2. package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  4. package/dist/cjs/hcs-21/types.d.ts +5 -0
  5. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  6. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  7. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  8. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  9. package/dist/cjs/services/registry-broker/schemas.d.ts +22 -22
  10. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  11. package/dist/cjs/standards-sdk.cjs +2 -2
  12. package/dist/cjs/standards-sdk.cjs.map +1 -1
  13. package/dist/es/hcs-21/base-client.d.ts +1 -0
  14. package/dist/es/hcs-21/base-client.d.ts.map +1 -1
  15. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  16. package/dist/es/hcs-21/types.d.ts +5 -0
  17. package/dist/es/hcs-21/types.d.ts.map +1 -1
  18. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  19. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  20. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  21. package/dist/es/services/registry-broker/schemas.d.ts +22 -22
  22. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  23. package/dist/es/standards-sdk.es101.js +1 -1
  24. package/dist/es/standards-sdk.es103.js +1 -1
  25. package/dist/es/standards-sdk.es109.js +2 -2
  26. package/dist/es/standards-sdk.es110.js +5 -5
  27. package/dist/es/standards-sdk.es12.js +1 -1
  28. package/dist/es/standards-sdk.es120.js +1 -1
  29. package/dist/es/standards-sdk.es121.js +1 -1
  30. package/dist/es/standards-sdk.es122.js +5 -5
  31. package/dist/es/standards-sdk.es124.js +59 -17
  32. package/dist/es/standards-sdk.es124.js.map +1 -1
  33. package/dist/es/standards-sdk.es125.js +1 -1
  34. package/dist/es/standards-sdk.es127.js +13 -3
  35. package/dist/es/standards-sdk.es127.js.map +1 -1
  36. package/dist/es/standards-sdk.es128.js +21 -1
  37. package/dist/es/standards-sdk.es128.js.map +1 -1
  38. package/dist/es/standards-sdk.es13.js +1 -1
  39. package/dist/es/standards-sdk.es135.js +766 -138
  40. package/dist/es/standards-sdk.es135.js.map +1 -1
  41. package/dist/es/standards-sdk.es136.js +12265 -33
  42. package/dist/es/standards-sdk.es136.js.map +1 -1
  43. package/dist/es/standards-sdk.es137.js +138 -760
  44. package/dist/es/standards-sdk.es137.js.map +1 -1
  45. package/dist/es/standards-sdk.es138.js +34 -12266
  46. package/dist/es/standards-sdk.es138.js.map +1 -1
  47. package/dist/es/standards-sdk.es140.js +51 -167
  48. package/dist/es/standards-sdk.es140.js.map +1 -1
  49. package/dist/es/standards-sdk.es141.js +53 -311
  50. package/dist/es/standards-sdk.es141.js.map +1 -1
  51. package/dist/es/standards-sdk.es142.js +120 -294
  52. package/dist/es/standards-sdk.es142.js.map +1 -1
  53. package/dist/es/standards-sdk.es143.js +191 -322
  54. package/dist/es/standards-sdk.es143.js.map +1 -1
  55. package/dist/es/standards-sdk.es144.js +294 -279
  56. package/dist/es/standards-sdk.es144.js.map +1 -1
  57. package/dist/es/standards-sdk.es145.js +440 -63
  58. package/dist/es/standards-sdk.es145.js.map +1 -1
  59. package/dist/es/standards-sdk.es146.js +330 -55
  60. package/dist/es/standards-sdk.es146.js.map +1 -1
  61. package/dist/es/standards-sdk.es147.js +62 -50
  62. package/dist/es/standards-sdk.es147.js.map +1 -1
  63. package/dist/es/standards-sdk.es17.js +2 -1
  64. package/dist/es/standards-sdk.es17.js.map +1 -1
  65. package/dist/es/standards-sdk.es19.js +5 -4
  66. package/dist/es/standards-sdk.es19.js.map +1 -1
  67. package/dist/es/standards-sdk.es20.js +3 -2
  68. package/dist/es/standards-sdk.es20.js.map +1 -1
  69. package/dist/es/standards-sdk.es23.js +1 -1
  70. package/dist/es/standards-sdk.es28.js +4 -3
  71. package/dist/es/standards-sdk.es28.js.map +1 -1
  72. package/dist/es/standards-sdk.es31.js +1 -1
  73. package/dist/es/standards-sdk.es32.js +1 -1
  74. package/dist/es/standards-sdk.es36.js +4 -3
  75. package/dist/es/standards-sdk.es36.js.map +1 -1
  76. package/dist/es/standards-sdk.es37.js +3 -3
  77. package/dist/es/standards-sdk.es38.js +1 -1
  78. package/dist/es/standards-sdk.es5.js +1 -1
  79. package/dist/es/standards-sdk.es54.js +1 -1
  80. package/dist/es/standards-sdk.es57.js +1 -1
  81. package/dist/es/standards-sdk.es59.js +1 -1
  82. package/dist/es/standards-sdk.es60.js +1 -1
  83. package/dist/es/standards-sdk.es61.js +3 -2
  84. package/dist/es/standards-sdk.es61.js.map +1 -1
  85. package/dist/es/standards-sdk.es63.js +1 -1
  86. package/dist/es/standards-sdk.es66.js +1 -1
  87. package/dist/es/standards-sdk.es69.js +2 -2
  88. package/dist/es/standards-sdk.es70.js +1 -1
  89. package/dist/es/standards-sdk.es72.js +1 -1
  90. package/dist/es/standards-sdk.es77.js +1 -1
  91. package/dist/es/standards-sdk.es78.js +2 -2
  92. package/dist/es/standards-sdk.es79.js +1 -1
  93. package/dist/es/standards-sdk.es8.js +1 -1
  94. package/dist/es/standards-sdk.es80.js +3 -2
  95. package/dist/es/standards-sdk.es80.js.map +1 -1
  96. package/dist/es/standards-sdk.es82.js +1 -1
  97. package/dist/es/standards-sdk.es83.js +1 -0
  98. package/dist/es/standards-sdk.es83.js.map +1 -1
  99. package/dist/es/standards-sdk.es84.js +4 -2
  100. package/dist/es/standards-sdk.es84.js.map +1 -1
  101. package/dist/es/standards-sdk.es87.js +1 -1
  102. package/dist/es/standards-sdk.es91.js +1 -1
  103. package/dist/es/standards-sdk.es92.js +1 -1
  104. package/dist/es/standards-sdk.es97.js +1 -1
  105. package/dist/es/standards-sdk.es99.js +1 -1
  106. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { buildMessageTx } from "./standards-sdk.es136.js";
1
+ import { buildMessageTx } from "./standards-sdk.es138.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.es136.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
2
2
  import { HCS6Operation } from "./standards-sdk.es4.js";
3
3
  function encodeHcs6NonIndexedMemo(ttl) {
4
4
  return `hcs-6:1:${ttl}`;
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  const HCS21_PROTOCOL = "hcs-21";
3
3
  const HCS21_MAX_MESSAGE_BYTES = 1024;
4
- const HCS21ManifestPointerPattern = /^hcs:\/\/1\/0\.0\.\d+\/\d+$/;
4
+ const HCS21ManifestPointerPattern = /^hcs:\/\/1\/0\.0\.\d+$/;
5
5
  const HCS21TopicIdPattern = /^0\.0\.\d+$/;
6
6
  var HCS21TopicType = /* @__PURE__ */ ((HCS21TopicType2) => {
7
7
  HCS21TopicType2[HCS21TopicType2["ADAPTER_REGISTRY"] = 0] = "ADAPTER_REGISTRY";
@@ -29,8 +29,9 @@ const adapterDeclarationSchema = z.object({
29
29
  package: adapterPackageSchema,
30
30
  manifest: z.string().regex(
31
31
  HCS21ManifestPointerPattern,
32
- "manifest must be an HCS-1 HRL (hcs://1/<topicId>/<sequence>)"
32
+ "manifest must be an HCS-1 HRL (hcs://1/<topicId>)"
33
33
  ),
34
+ manifest_sequence: z.number().int().positive().optional(),
34
35
  flora: floraContextSchema,
35
36
  state_model: z.string().min(1),
36
37
  signature: z.string().min(1).optional()
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es80.js","sources":["../../src/hcs-21/types.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const HCS21_PROTOCOL = 'hcs-21';\nexport const HCS21_MAX_MESSAGE_BYTES = 1024;\nexport const HCS21ManifestPointerPattern = /^hcs:\\/\\/1\\/0\\.0\\.\\d+\\/\\d+$/;\nexport const HCS21TopicIdPattern = /^0\\.0\\.\\d+$/;\n\nexport type HCS21Operation = 'register' | 'update' | 'delete';\n\nexport interface AdapterPackage {\n registry: string;\n name: string;\n version: string;\n integrity: string;\n}\n\nexport interface FloraContext {\n account: string;\n threshold: string;\n ctopic: string;\n ttopic: string;\n stopic: string;\n}\n\nexport interface AdapterDeclaration {\n p: typeof HCS21_PROTOCOL;\n op: HCS21Operation;\n adapter_id: string;\n entity: string;\n package: AdapterPackage;\n manifest: string;\n flora: FloraContext;\n state_model: string;\n signature?: string;\n}\n\nexport interface AdapterDeclarationEnvelope {\n declaration: AdapterDeclaration;\n consensusTimestamp?: string;\n sequenceNumber: number;\n payer?: string;\n}\n\nexport enum HCS21TopicType {\n ADAPTER_REGISTRY = 0,\n REGISTRY_OF_REGISTRIES = 1,\n}\n\nexport interface ManifestPointer {\n pointer: string;\n topicId: string;\n sequenceNumber: number;\n jobId?: string;\n transactionId?: string;\n}\n\nexport const adapterPackageSchema = z.object({\n registry: z.string().min(1),\n name: z.string().min(1),\n version: z.string().min(1),\n integrity: z.string().min(1),\n});\n\nexport const floraContextSchema = z.object({\n account: z.string().min(1),\n threshold: z.string().min(1),\n ctopic: z.string().min(1),\n ttopic: z.string().min(1),\n stopic: z.string().min(1),\n});\n\nexport const adapterDeclarationSchema = z.object({\n p: z.literal(HCS21_PROTOCOL),\n op: z.enum(['register', 'update', 'delete']),\n adapter_id: z.string().min(1),\n entity: z.string().min(1),\n package: adapterPackageSchema,\n manifest: z\n .string()\n .regex(\n HCS21ManifestPointerPattern,\n 'manifest must be an HCS-1 HRL (hcs://1/<topicId>/<sequence>)',\n ),\n flora: floraContextSchema,\n state_model: z.string().min(1),\n signature: z.string().min(1).optional(),\n});\n\nexport const adapterManifestSchema = z.object({\n meta: z.object({\n spec_version: z.string().min(1),\n adapter_version: z.string().min(1),\n minimum_flora_version: z.string().min(1),\n generated: z.string().min(1),\n }),\n adapter: z.object({\n name: z.string().min(1),\n id: z.string().min(1),\n maintainers: z\n .array(\n z.object({\n name: z.string().min(1),\n contact: z.string().min(1),\n }),\n )\n .min(1),\n license: z.string().min(1),\n }),\n package: z.object({\n registry: z.string().min(1),\n dist_tag: z.string().min(1).optional(),\n artifacts: z\n .array(\n z.object({\n url: z.string().min(1),\n digest: z.string().min(1),\n signature: z.string().min(1).optional(),\n }),\n )\n .min(1),\n }),\n runtime: z.object({\n platforms: z.array(z.string().min(1)).min(1),\n primary: z.string().min(1),\n entry: z.string().min(1),\n dependencies: z.array(z.string().min(1)).optional(),\n env: z.array(z.string().min(1)).optional(),\n }),\n capabilities: z.object({\n discovery: z.boolean(),\n communication: z.boolean(),\n protocols: z.array(z.string().min(1)),\n }),\n consensus: z.object({\n entity_schema: z.string().min(1),\n required_fields: z.array(z.string().min(1)),\n hashing: z.literal('sha384'),\n }),\n});\n\nexport const registryMetadataSchema = z.object({\n version: z.string().min(1),\n name: z.string().min(1),\n description: z.string().min(1),\n operator: z.object({\n account: z.string().min(1),\n name: z.string().optional(),\n contact: z.string().optional(),\n }),\n entityTypes: z.array(z.string().min(1)),\n categories: z.array(z.string().min(1)).optional(),\n tags: z.array(z.string().min(1)).optional(),\n links: z.record(z.string().min(1)).optional(),\n});\n\nexport const metadataDocumentSchema = z.union([\n adapterManifestSchema,\n registryMetadataSchema,\n]);\n\nexport type AdapterDeclarationValidation = z.infer<\n typeof adapterDeclarationSchema\n>;\nexport type AdapterManifest = z.infer<typeof adapterManifestSchema>;\nexport type RegistryMetadataRecord = z.infer<typeof registryMetadataSchema>;\nexport type HCS21MetadataDocument = AdapterManifest | RegistryMetadataRecord;\n"],"names":["HCS21TopicType"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es80.js","sources":["../../src/hcs-21/types.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const HCS21_PROTOCOL = 'hcs-21';\nexport const HCS21_MAX_MESSAGE_BYTES = 1024;\nexport const HCS21ManifestPointerPattern = /^hcs:\\/\\/1\\/0\\.0\\.\\d+$/;\nexport const HCS21TopicIdPattern = /^0\\.0\\.\\d+$/;\n\nexport type HCS21Operation = 'register' | 'update' | 'delete';\n\nexport interface AdapterPackage {\n registry: string;\n name: string;\n version: string;\n integrity: string;\n}\n\nexport interface FloraContext {\n account: string;\n threshold: string;\n ctopic: string;\n ttopic: string;\n stopic: string;\n}\n\nexport interface AdapterDeclaration {\n p: typeof HCS21_PROTOCOL;\n op: HCS21Operation;\n adapter_id: string;\n entity: string;\n package: AdapterPackage;\n manifest: string;\n manifest_sequence?: number;\n flora: FloraContext;\n state_model: string;\n signature?: string;\n}\n\nexport interface AdapterDeclarationEnvelope {\n declaration: AdapterDeclaration;\n consensusTimestamp?: string;\n sequenceNumber: number;\n payer?: string;\n}\n\nexport enum HCS21TopicType {\n ADAPTER_REGISTRY = 0,\n REGISTRY_OF_REGISTRIES = 1,\n}\n\nexport interface ManifestPointer {\n pointer: string;\n topicId: string;\n sequenceNumber: number;\n manifestSequence?: number;\n jobId?: string;\n transactionId?: string;\n}\n\nexport const adapterPackageSchema = z.object({\n registry: z.string().min(1),\n name: z.string().min(1),\n version: z.string().min(1),\n integrity: z.string().min(1),\n});\n\nexport const floraContextSchema = z.object({\n account: z.string().min(1),\n threshold: z.string().min(1),\n ctopic: z.string().min(1),\n ttopic: z.string().min(1),\n stopic: z.string().min(1),\n});\n\nexport const adapterDeclarationSchema = z.object({\n p: z.literal(HCS21_PROTOCOL),\n op: z.enum(['register', 'update', 'delete']),\n adapter_id: z.string().min(1),\n entity: z.string().min(1),\n package: adapterPackageSchema,\n manifest: z\n .string()\n .regex(\n HCS21ManifestPointerPattern,\n 'manifest must be an HCS-1 HRL (hcs://1/<topicId>)',\n ),\n manifest_sequence: z.number().int().positive().optional(),\n flora: floraContextSchema,\n state_model: z.string().min(1),\n signature: z.string().min(1).optional(),\n});\n\nexport const adapterManifestSchema = z.object({\n meta: z.object({\n spec_version: z.string().min(1),\n adapter_version: z.string().min(1),\n minimum_flora_version: z.string().min(1),\n generated: z.string().min(1),\n }),\n adapter: z.object({\n name: z.string().min(1),\n id: z.string().min(1),\n maintainers: z\n .array(\n z.object({\n name: z.string().min(1),\n contact: z.string().min(1),\n }),\n )\n .min(1),\n license: z.string().min(1),\n }),\n package: z.object({\n registry: z.string().min(1),\n dist_tag: z.string().min(1).optional(),\n artifacts: z\n .array(\n z.object({\n url: z.string().min(1),\n digest: z.string().min(1),\n signature: z.string().min(1).optional(),\n }),\n )\n .min(1),\n }),\n runtime: z.object({\n platforms: z.array(z.string().min(1)).min(1),\n primary: z.string().min(1),\n entry: z.string().min(1),\n dependencies: z.array(z.string().min(1)).optional(),\n env: z.array(z.string().min(1)).optional(),\n }),\n capabilities: z.object({\n discovery: z.boolean(),\n communication: z.boolean(),\n protocols: z.array(z.string().min(1)),\n }),\n consensus: z.object({\n entity_schema: z.string().min(1),\n required_fields: z.array(z.string().min(1)),\n hashing: z.literal('sha384'),\n }),\n});\n\nexport const registryMetadataSchema = z.object({\n version: z.string().min(1),\n name: z.string().min(1),\n description: z.string().min(1),\n operator: z.object({\n account: z.string().min(1),\n name: z.string().optional(),\n contact: z.string().optional(),\n }),\n entityTypes: z.array(z.string().min(1)),\n categories: z.array(z.string().min(1)).optional(),\n tags: z.array(z.string().min(1)).optional(),\n links: z.record(z.string().min(1)).optional(),\n});\n\nexport const metadataDocumentSchema = z.union([\n adapterManifestSchema,\n registryMetadataSchema,\n]);\n\nexport type AdapterDeclarationValidation = z.infer<\n typeof adapterDeclarationSchema\n>;\nexport type AdapterManifest = z.infer<typeof adapterManifestSchema>;\nexport type RegistryMetadataRecord = z.infer<typeof registryMetadataSchema>;\nexport type HCS21MetadataDocument = AdapterManifest | RegistryMetadataRecord;\n"],"names":["HCS21TopicType"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es136.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
2
2
  import { HCS21TopicType, HCS21TopicIdPattern } from "./standards-sdk.es80.js";
3
3
  import { HCS21ValidationError } from "./standards-sdk.es81.js";
4
4
  function buildHcs21RegistryMemo(params) {
@@ -18,6 +18,7 @@ class HCS21BaseClient {
18
18
  entity: params.entity,
19
19
  package: params.adapterPackage,
20
20
  manifest: params.manifest,
21
+ ...params.manifestSequence ? { manifest_sequence: params.manifestSequence } : {},
21
22
  flora: params.flora,
22
23
  state_model: params.stateModel,
23
24
  signature: params.signature
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es83.js","sources":["../../src/hcs-21/base-client.ts"],"sourcesContent":["import { HederaMirrorNode } from '../services/mirror-node';\nimport { ILogger, Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HCS21ValidationError } from './errors';\nimport {\n AdapterDeclaration,\n AdapterDeclarationEnvelope,\n AdapterPackage,\n FloraContext,\n HCS21_MAX_MESSAGE_BYTES,\n HCS21Operation,\n HCS21_PROTOCOL,\n adapterDeclarationSchema,\n} from './types';\n\nexport interface BuildDeclarationParams {\n op: HCS21Operation;\n adapterId: string;\n entity: string;\n adapterPackage: AdapterPackage;\n manifest: string;\n flora: FloraContext;\n stateModel: string;\n signature?: string;\n}\n\nexport interface FetchDeclarationsOptions {\n limit?: number;\n order?: 'asc' | 'desc';\n}\n\nexport class HCS21BaseClient {\n protected readonly network: NetworkType;\n protected readonly logger: ILogger;\n protected readonly mirrorNode: HederaMirrorNode;\n\n constructor(params: {\n network: NetworkType;\n logger?: ILogger;\n mirrorNodeUrl?: string;\n }) {\n this.network = params.network;\n this.logger =\n params.logger || new Logger({ level: 'info', module: 'HCS-21' });\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger, {\n customUrl: params.mirrorNodeUrl,\n });\n }\n\n buildDeclaration(params: BuildDeclarationParams): AdapterDeclaration {\n const declaration: AdapterDeclaration = {\n p: HCS21_PROTOCOL,\n op: params.op,\n adapter_id: params.adapterId,\n entity: params.entity,\n package: params.adapterPackage,\n manifest: params.manifest,\n flora: params.flora,\n state_model: params.stateModel,\n signature: params.signature,\n };\n\n return this.validateDeclaration(declaration);\n }\n\n validateDeclaration(input: unknown): AdapterDeclaration {\n try {\n const payload = typeof input === 'string' ? JSON.parse(input) : input;\n const parsed = adapterDeclarationSchema.parse(\n payload,\n ) as AdapterDeclaration;\n this.assertSizeLimit(parsed);\n return parsed;\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'Invalid adapter declaration';\n throw new HCS21ValidationError(message, 'invalid_payload');\n }\n }\n\n async fetchDeclarations(\n topicId: string,\n options?: FetchDeclarationsOptions,\n ): Promise<AdapterDeclarationEnvelope[]> {\n const rawMessages = await this.mirrorNode.getTopicMessages(topicId, {\n limit: options?.limit,\n order: options?.order,\n });\n\n const envelopes: AdapterDeclarationEnvelope[] = [];\n\n for (const message of rawMessages) {\n if (message.p !== HCS21_PROTOCOL) {\n continue;\n }\n\n try {\n const declaration = this.validateDeclaration(message);\n envelopes.push({\n declaration,\n consensusTimestamp: message.consensus_timestamp,\n sequenceNumber: message.sequence_number,\n payer: message.payer,\n });\n } catch (error) {\n const detail = error instanceof Error ? error.message : 'unknown error';\n this.logger.warn(`Skipping invalid HCS-21 message: ${detail}`);\n }\n }\n\n return envelopes;\n }\n\n protected assertSizeLimit(payload: AdapterDeclaration): void {\n const json = JSON.stringify(payload);\n const bytes = Buffer.byteLength(json, 'utf8');\n if (bytes > HCS21_MAX_MESSAGE_BYTES) {\n throw new HCS21ValidationError(\n `HCS-21 payload exceeds 1024 bytes (${bytes})`,\n 'size_exceeded',\n );\n }\n }\n}\n"],"names":[],"mappings":";;;;AA+BO,MAAM,gBAAgB;AAAA,EAK3B,YAAY,QAIT;AACD,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UAAU,IAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,UAAU;AACjE,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,QAAQ;AAAA,MAChE,WAAW,OAAO;AAAA,IAAA,CACnB;AAAA,EACH;AAAA,EAEA,iBAAiB,QAAoD;AACnE,UAAM,cAAkC;AAAA,MACtC,GAAG;AAAA,MACH,IAAI,OAAO;AAAA,MACX,YAAY,OAAO;AAAA,MACnB,QAAQ,OAAO;AAAA,MACf,SAAS,OAAO;AAAA,MAChB,UAAU,OAAO;AAAA,MACjB,OAAO,OAAO;AAAA,MACd,aAAa,OAAO;AAAA,MACpB,WAAW,OAAO;AAAA,IAAA;AAGpB,WAAO,KAAK,oBAAoB,WAAW;AAAA,EAC7C;AAAA,EAEA,oBAAoB,OAAoC;AACtD,QAAI;AACF,YAAM,UAAU,OAAO,UAAU,WAAW,KAAK,MAAM,KAAK,IAAI;AAChE,YAAM,SAAS,yBAAyB;AAAA,QACtC;AAAA,MAAA;AAEF,WAAK,gBAAgB,MAAM;AAC3B,aAAO;AAAA,IACT,SAAS,OAAO;AACd,YAAM,UACJ,iBAAiB,QAAQ,MAAM,UAAU;AAC3C,YAAM,IAAI,qBAAqB,SAAS,iBAAiB;AAAA,IAC3D;AAAA,EACF;AAAA,EAEA,MAAM,kBACJ,SACA,SACuC;AACvC,UAAM,cAAc,MAAM,KAAK,WAAW,iBAAiB,SAAS;AAAA,MAClE,OAAO,SAAS;AAAA,MAChB,OAAO,SAAS;AAAA,IAAA,CACjB;AAED,UAAM,YAA0C,CAAA;AAEhD,eAAW,WAAW,aAAa;AACjC,UAAI,QAAQ,MAAM,gBAAgB;AAChC;AAAA,MACF;AAEA,UAAI;AACF,cAAM,cAAc,KAAK,oBAAoB,OAAO;AACpD,kBAAU,KAAK;AAAA,UACb;AAAA,UACA,oBAAoB,QAAQ;AAAA,UAC5B,gBAAgB,QAAQ;AAAA,UACxB,OAAO,QAAQ;AAAA,QAAA,CAChB;AAAA,MACH,SAAS,OAAO;AACd,cAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU;AACxD,aAAK,OAAO,KAAK,oCAAoC,MAAM,EAAE;AAAA,MAC/D;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEU,gBAAgB,SAAmC;AAC3D,UAAM,OAAO,KAAK,UAAU,OAAO;AACnC,UAAM,QAAQ,OAAO,WAAW,MAAM,MAAM;AAC5C,QAAI,QAAQ,yBAAyB;AACnC,YAAM,IAAI;AAAA,QACR,sCAAsC,KAAK;AAAA,QAC3C;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es83.js","sources":["../../src/hcs-21/base-client.ts"],"sourcesContent":["import { HederaMirrorNode } from '../services/mirror-node';\nimport { ILogger, Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HCS21ValidationError } from './errors';\nimport {\n AdapterDeclaration,\n AdapterDeclarationEnvelope,\n AdapterPackage,\n FloraContext,\n HCS21_MAX_MESSAGE_BYTES,\n HCS21Operation,\n HCS21_PROTOCOL,\n adapterDeclarationSchema,\n} from './types';\n\nexport interface BuildDeclarationParams {\n op: HCS21Operation;\n adapterId: string;\n entity: string;\n adapterPackage: AdapterPackage;\n manifest: string;\n manifestSequence?: number;\n flora: FloraContext;\n stateModel: string;\n signature?: string;\n}\n\nexport interface FetchDeclarationsOptions {\n limit?: number;\n order?: 'asc' | 'desc';\n}\n\nexport class HCS21BaseClient {\n protected readonly network: NetworkType;\n protected readonly logger: ILogger;\n protected readonly mirrorNode: HederaMirrorNode;\n\n constructor(params: {\n network: NetworkType;\n logger?: ILogger;\n mirrorNodeUrl?: string;\n }) {\n this.network = params.network;\n this.logger =\n params.logger || new Logger({ level: 'info', module: 'HCS-21' });\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger, {\n customUrl: params.mirrorNodeUrl,\n });\n }\n\n buildDeclaration(params: BuildDeclarationParams): AdapterDeclaration {\n const declaration: AdapterDeclaration = {\n p: HCS21_PROTOCOL,\n op: params.op,\n adapter_id: params.adapterId,\n entity: params.entity,\n package: params.adapterPackage,\n manifest: params.manifest,\n ...(params.manifestSequence\n ? { manifest_sequence: params.manifestSequence }\n : {}),\n flora: params.flora,\n state_model: params.stateModel,\n signature: params.signature,\n };\n\n return this.validateDeclaration(declaration);\n }\n\n validateDeclaration(input: unknown): AdapterDeclaration {\n try {\n const payload = typeof input === 'string' ? JSON.parse(input) : input;\n const parsed = adapterDeclarationSchema.parse(\n payload,\n ) as AdapterDeclaration;\n this.assertSizeLimit(parsed);\n return parsed;\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'Invalid adapter declaration';\n throw new HCS21ValidationError(message, 'invalid_payload');\n }\n }\n\n async fetchDeclarations(\n topicId: string,\n options?: FetchDeclarationsOptions,\n ): Promise<AdapterDeclarationEnvelope[]> {\n const rawMessages = await this.mirrorNode.getTopicMessages(topicId, {\n limit: options?.limit,\n order: options?.order,\n });\n\n const envelopes: AdapterDeclarationEnvelope[] = [];\n\n for (const message of rawMessages) {\n if (message.p !== HCS21_PROTOCOL) {\n continue;\n }\n\n try {\n const declaration = this.validateDeclaration(message);\n envelopes.push({\n declaration,\n consensusTimestamp: message.consensus_timestamp,\n sequenceNumber: message.sequence_number,\n payer: message.payer,\n });\n } catch (error) {\n const detail = error instanceof Error ? error.message : 'unknown error';\n this.logger.warn(`Skipping invalid HCS-21 message: ${detail}`);\n }\n }\n\n return envelopes;\n }\n\n protected assertSizeLimit(payload: AdapterDeclaration): void {\n const json = JSON.stringify(payload);\n const bytes = Buffer.byteLength(json, 'utf8');\n if (bytes > HCS21_MAX_MESSAGE_BYTES) {\n throw new HCS21ValidationError(\n `HCS-21 payload exceeds 1024 bytes (${bytes})`,\n 'size_exceeded',\n );\n }\n }\n}\n"],"names":[],"mappings":";;;;AAgCO,MAAM,gBAAgB;AAAA,EAK3B,YAAY,QAIT;AACD,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UAAU,IAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,UAAU;AACjE,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,QAAQ;AAAA,MAChE,WAAW,OAAO;AAAA,IAAA,CACnB;AAAA,EACH;AAAA,EAEA,iBAAiB,QAAoD;AACnE,UAAM,cAAkC;AAAA,MACtC,GAAG;AAAA,MACH,IAAI,OAAO;AAAA,MACX,YAAY,OAAO;AAAA,MACnB,QAAQ,OAAO;AAAA,MACf,SAAS,OAAO;AAAA,MAChB,UAAU,OAAO;AAAA,MACjB,GAAI,OAAO,mBACP,EAAE,mBAAmB,OAAO,iBAAA,IAC5B,CAAA;AAAA,MACJ,OAAO,OAAO;AAAA,MACd,aAAa,OAAO;AAAA,MACpB,WAAW,OAAO;AAAA,IAAA;AAGpB,WAAO,KAAK,oBAAoB,WAAW;AAAA,EAC7C;AAAA,EAEA,oBAAoB,OAAoC;AACtD,QAAI;AACF,YAAM,UAAU,OAAO,UAAU,WAAW,KAAK,MAAM,KAAK,IAAI;AAChE,YAAM,SAAS,yBAAyB;AAAA,QACtC;AAAA,MAAA;AAEF,WAAK,gBAAgB,MAAM;AAC3B,aAAO;AAAA,IACT,SAAS,OAAO;AACd,YAAM,UACJ,iBAAiB,QAAQ,MAAM,UAAU;AAC3C,YAAM,IAAI,qBAAqB,SAAS,iBAAiB;AAAA,IAC3D;AAAA,EACF;AAAA,EAEA,MAAM,kBACJ,SACA,SACuC;AACvC,UAAM,cAAc,MAAM,KAAK,WAAW,iBAAiB,SAAS;AAAA,MAClE,OAAO,SAAS;AAAA,MAChB,OAAO,SAAS;AAAA,IAAA,CACjB;AAED,UAAM,YAA0C,CAAA;AAEhD,eAAW,WAAW,aAAa;AACjC,UAAI,QAAQ,MAAM,gBAAgB;AAChC;AAAA,MACF;AAEA,UAAI;AACF,cAAM,cAAc,KAAK,oBAAoB,OAAO;AACpD,kBAAU,KAAK;AAAA,UACb;AAAA,UACA,oBAAoB,QAAQ;AAAA,UAC5B,gBAAgB,QAAQ;AAAA,UACxB,OAAO,QAAQ;AAAA,QAAA,CAChB;AAAA,MACH,SAAS,OAAO;AACd,cAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU;AACxD,aAAK,OAAO,KAAK,oCAAoC,MAAM,EAAE;AAAA,MAC/D;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEU,gBAAgB,SAAmC;AAC3D,UAAM,OAAO,KAAK,UAAU,OAAO;AACnC,UAAM,QAAQ,OAAO,WAAW,MAAM,MAAM;AAC5C,QAAI,QAAQ,yBAAyB;AACnC,YAAM,IAAI;AAAA,QACR,sCAAsC,KAAK;AAAA,QAC3C;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AACF;"}
@@ -1,5 +1,5 @@
1
1
  import { Client, Status } from "@hashgraph/sdk";
2
- import { createNodeOperatorContext } from "./standards-sdk.es135.js";
2
+ import { createNodeOperatorContext } from "./standards-sdk.es137.js";
3
3
  import { Logger } from "./standards-sdk.es105.js";
4
4
  import { HCS21BaseClient } from "./standards-sdk.es83.js";
5
5
  import { metadataDocumentSchema, HCS21ManifestPointerPattern } from "./standards-sdk.es80.js";
@@ -76,6 +76,7 @@ class HCS21Client extends HCS21BaseClient {
76
76
  topicId,
77
77
  rawSequence
78
78
  );
79
+ const declarationManifestSequence = inscription.result?.manifest_sequence;
79
80
  const resultDetails = inscription.result && "jobId" in inscription.result ? {
80
81
  jobId: inscription.result.jobId,
81
82
  transactionId: inscription.result.transactionId
@@ -84,6 +85,7 @@ class HCS21Client extends HCS21BaseClient {
84
85
  pointer: pointerResult.pointer,
85
86
  topicId,
86
87
  sequenceNumber: pointerResult.sequenceNumber,
88
+ manifestSequence: declarationManifestSequence || pointerResult.sequenceNumber,
87
89
  ...resultDetails
88
90
  };
89
91
  }
@@ -160,7 +162,7 @@ class HCS21Client extends HCS21BaseClient {
160
162
  "invalid_payload"
161
163
  );
162
164
  }
163
- const pointer = `hcs://1/${topicId}/${resolvedSequence}`;
165
+ const pointer = `hcs://1/${topicId}`;
164
166
  if (!HCS21ManifestPointerPattern.test(pointer)) {
165
167
  throw new HCS21ValidationError(
166
168
  "Manifest pointer format is invalid",
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es84.js","sources":["../../src/hcs-21/sdk.ts"],"sourcesContent":["import {\n Client,\n PrivateKey,\n Status,\n TopicCreateTransaction,\n} from '@hashgraph/sdk';\nimport {\n createNodeOperatorContext,\n NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { Logger, ILogger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HCS21BaseClient, BuildDeclarationParams } from './base-client';\nimport {\n AdapterDeclaration,\n HCS21ManifestPointerPattern,\n HCS21MetadataDocument,\n HCS21TopicType,\n ManifestPointer,\n metadataDocumentSchema,\n} from './types';\nimport { buildHcs21CreateRegistryTx, buildHcs21MessageTx } from './tx';\nimport { HCS21ValidationError } from './errors';\nimport { MaybeKey } from '../common/tx/tx-utils';\nimport { inscribe } from '../inscribe/inscriber';\nimport type { InscriptionOptions } from '../inscribe/types';\nimport { getTopicId } from '../utils/topic-id-utils';\n\nexport interface HCS21ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n logLevel?: LogLevel;\n logger?: ILogger;\n mirrorNodeUrl?: string;\n}\n\nexport interface CreateRegistryTopicParams {\n ttl: number;\n indexed?: 0 | 1;\n type?: HCS21TopicType;\n metaTopicId?: string;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n transactionMemo?: string;\n}\n\nexport interface PublishDeclarationResult {\n sequenceNumber?: number;\n transactionId: string;\n}\n\nexport interface PublishDeclarationParams {\n topicId: string;\n declaration: AdapterDeclaration | BuildDeclarationParams;\n transactionMemo?: string;\n}\n\nexport interface InscribeMetadataParams {\n document: HCS21MetadataDocument;\n fileName?: string;\n inscriptionOptions?: InscriptionOptions;\n}\n\nexport class HCS21Client extends HCS21BaseClient {\n private readonly client: Client;\n private readonly operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS21ClientConfig) {\n const logger =\n config.logger ||\n new Logger({ level: config.logLevel || 'info', module: 'HCS-21' });\n super({\n network: config.network,\n logger,\n mirrorNodeUrl: config.mirrorNodeUrl,\n });\n\n const baseClient =\n config.network === 'mainnet' ? Client.forMainnet() : Client.forTestnet();\n\n this.operatorCtx = createNodeOperatorContext({\n network: config.network,\n operatorId: config.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client: baseClient,\n });\n\n void this.operatorCtx.ensureInitialized();\n this.client = this.operatorCtx.client;\n }\n\n async inscribeMetadata(\n params: InscribeMetadataParams,\n ): Promise<ManifestPointer> {\n await this.operatorCtx.ensureInitialized();\n\n const metadataPayload = metadataDocumentSchema.parse(params.document);\n const metadataJson = JSON.stringify(metadataPayload, null, 2);\n const buffer = Buffer.from(metadataJson, 'utf8');\n const connectionMode =\n params.inscriptionOptions?.connectionMode ??\n (params.inscriptionOptions?.websocket === false ? 'http' : 'auto');\n const inscriptionOptions: InscriptionOptions = {\n waitForConfirmation: true,\n connectionMode,\n websocket: params.inscriptionOptions?.websocket ?? false,\n ...(params.inscriptionOptions || {}),\n metadata: {\n ...(params.inscriptionOptions?.metadata || {}),\n ...metadataPayload,\n },\n };\n\n const inscription = await inscribe(\n {\n type: 'buffer',\n buffer,\n fileName: params.fileName || `hcs21-adapter-manifest-${Date.now()}.json`,\n mimeType: 'application/json',\n },\n {\n accountId: this.operatorCtx.operatorId.toString(),\n privateKey: this.operatorCtx.operatorKey,\n network: this.network,\n },\n inscriptionOptions,\n );\n\n if (!inscription.confirmed || !inscription.inscription) {\n throw new HCS21ValidationError(\n 'Failed to inscribe HCS-21 metadata',\n 'invalid_payload',\n );\n }\n\n const topicId =\n (inscription.inscription as { jsonTopicId?: string }).jsonTopicId ||\n (inscription.inscription as { topic_id?: string }).topic_id ||\n getTopicId(inscription.inscription);\n\n if (!topicId) {\n throw new HCS21ValidationError(\n 'Metadata inscription did not return a topic ID',\n 'invalid_payload',\n );\n }\n\n const rawSequence =\n (inscription.inscription as { sequence_number?: number })\n .sequence_number ??\n (inscription.inscription as { sequenceNumber?: number }).sequenceNumber;\n\n const pointerResult = await this.resolveManifestPointer(\n topicId,\n rawSequence,\n );\n\n const resultDetails =\n inscription.result && 'jobId' in inscription.result\n ? {\n jobId: inscription.result.jobId,\n transactionId: inscription.result.transactionId,\n }\n : {};\n\n return {\n pointer: pointerResult.pointer,\n topicId,\n sequenceNumber: pointerResult.sequenceNumber,\n ...resultDetails,\n };\n }\n\n async createRegistryTopic(\n params: CreateRegistryTopicParams,\n ): Promise<string> {\n await this.operatorCtx.ensureInitialized();\n\n const tx: TopicCreateTransaction = buildHcs21CreateRegistryTx({\n ttl: params.ttl,\n indexed: params.indexed,\n type: params.type,\n metaTopicId: params.metaTopicId,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: this.operatorCtx.operatorKey.publicKey,\n });\n\n if (params.transactionMemo) {\n tx.setTransactionMemo(params.transactionMemo);\n }\n\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n\n if (receipt.status !== Status.Success || !receipt.topicId) {\n throw new HCS21ValidationError(\n 'Failed to create HCS-21 registry topic',\n 'invalid_payload',\n );\n }\n\n return receipt.topicId.toString();\n }\n\n async publishDeclaration(\n params: PublishDeclarationParams,\n ): Promise<PublishDeclarationResult> {\n await this.operatorCtx.ensureInitialized();\n\n const declaration = this.normalizeDeclarationInput(params.declaration);\n const tx = buildHcs21MessageTx({\n topicId: params.topicId,\n declaration,\n transactionMemo: params.transactionMemo,\n });\n\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n\n if (receipt.status !== Status.Success) {\n throw new HCS21ValidationError(\n 'Failed to submit HCS-21 declaration',\n 'invalid_payload',\n );\n }\n\n return {\n sequenceNumber: receipt.topicSequenceNumber?.toNumber(),\n transactionId: response.transactionId.toString(),\n };\n }\n\n private normalizeDeclarationInput(\n declaration: AdapterDeclaration | BuildDeclarationParams,\n ): AdapterDeclaration {\n if ('p' in declaration) {\n return this.validateDeclaration(declaration);\n }\n return this.buildDeclaration(declaration);\n }\n\n private async resolveManifestPointer(\n topicId: string,\n sequence?: number,\n ): Promise<{ pointer: string; sequenceNumber: number }> {\n const numericSequence =\n typeof sequence === 'string' ? Number(sequence) : sequence;\n let resolvedSequence =\n typeof numericSequence === 'number' && Number.isFinite(numericSequence)\n ? numericSequence\n : undefined;\n\n if (!resolvedSequence) {\n const [latest] = await this.mirrorNode.getTopicMessages(topicId, {\n limit: 1,\n order: 'desc',\n });\n\n if (!latest || !latest.sequence_number) {\n throw new HCS21ValidationError(\n 'Unable to resolve manifest sequence number',\n 'invalid_payload',\n );\n }\n\n resolvedSequence = Number(latest.sequence_number);\n }\n\n if (!Number.isFinite(resolvedSequence)) {\n throw new HCS21ValidationError(\n 'Invalid manifest sequence number',\n 'invalid_payload',\n );\n }\n\n const pointer = `hcs://1/${topicId}/${resolvedSequence}`;\n\n if (!HCS21ManifestPointerPattern.test(pointer)) {\n throw new HCS21ValidationError(\n 'Manifest pointer format is invalid',\n 'invalid_payload',\n );\n }\n\n return { pointer, sequenceNumber: resolvedSequence };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es84.js","sources":["../../src/hcs-21/sdk.ts"],"sourcesContent":["import {\n Client,\n PrivateKey,\n Status,\n TopicCreateTransaction,\n} from '@hashgraph/sdk';\nimport {\n createNodeOperatorContext,\n NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { Logger, ILogger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HCS21BaseClient, BuildDeclarationParams } from './base-client';\nimport {\n AdapterDeclaration,\n HCS21ManifestPointerPattern,\n HCS21MetadataDocument,\n HCS21TopicType,\n ManifestPointer,\n metadataDocumentSchema,\n} from './types';\nimport { buildHcs21CreateRegistryTx, buildHcs21MessageTx } from './tx';\nimport { HCS21ValidationError } from './errors';\nimport { MaybeKey } from '../common/tx/tx-utils';\nimport { inscribe } from '../inscribe/inscriber';\nimport type { InscriptionOptions } from '../inscribe/types';\nimport { getTopicId } from '../utils/topic-id-utils';\n\nexport interface HCS21ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string | PrivateKey;\n keyType?: 'ed25519' | 'ecdsa';\n logLevel?: LogLevel;\n logger?: ILogger;\n mirrorNodeUrl?: string;\n}\n\nexport interface CreateRegistryTopicParams {\n ttl: number;\n indexed?: 0 | 1;\n type?: HCS21TopicType;\n metaTopicId?: string;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n transactionMemo?: string;\n}\n\nexport interface PublishDeclarationResult {\n sequenceNumber?: number;\n transactionId: string;\n}\n\nexport interface PublishDeclarationParams {\n topicId: string;\n declaration: AdapterDeclaration | BuildDeclarationParams;\n transactionMemo?: string;\n}\n\nexport interface InscribeMetadataParams {\n document: HCS21MetadataDocument;\n fileName?: string;\n inscriptionOptions?: InscriptionOptions;\n}\n\nexport class HCS21Client extends HCS21BaseClient {\n private readonly client: Client;\n private readonly operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS21ClientConfig) {\n const logger =\n config.logger ||\n new Logger({ level: config.logLevel || 'info', module: 'HCS-21' });\n super({\n network: config.network,\n logger,\n mirrorNodeUrl: config.mirrorNodeUrl,\n });\n\n const baseClient =\n config.network === 'mainnet' ? Client.forMainnet() : Client.forTestnet();\n\n this.operatorCtx = createNodeOperatorContext({\n network: config.network,\n operatorId: config.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client: baseClient,\n });\n\n void this.operatorCtx.ensureInitialized();\n this.client = this.operatorCtx.client;\n }\n\n async inscribeMetadata(\n params: InscribeMetadataParams,\n ): Promise<ManifestPointer> {\n await this.operatorCtx.ensureInitialized();\n\n const metadataPayload = metadataDocumentSchema.parse(params.document);\n const metadataJson = JSON.stringify(metadataPayload, null, 2);\n const buffer = Buffer.from(metadataJson, 'utf8');\n const connectionMode =\n params.inscriptionOptions?.connectionMode ??\n (params.inscriptionOptions?.websocket === false ? 'http' : 'auto');\n const inscriptionOptions: InscriptionOptions = {\n waitForConfirmation: true,\n connectionMode,\n websocket: params.inscriptionOptions?.websocket ?? false,\n ...(params.inscriptionOptions || {}),\n metadata: {\n ...(params.inscriptionOptions?.metadata || {}),\n ...metadataPayload,\n },\n };\n\n const inscription = await inscribe(\n {\n type: 'buffer',\n buffer,\n fileName: params.fileName || `hcs21-adapter-manifest-${Date.now()}.json`,\n mimeType: 'application/json',\n },\n {\n accountId: this.operatorCtx.operatorId.toString(),\n privateKey: this.operatorCtx.operatorKey,\n network: this.network,\n },\n inscriptionOptions,\n );\n\n if (!inscription.confirmed || !inscription.inscription) {\n throw new HCS21ValidationError(\n 'Failed to inscribe HCS-21 metadata',\n 'invalid_payload',\n );\n }\n\n const topicId =\n (inscription.inscription as { jsonTopicId?: string }).jsonTopicId ||\n (inscription.inscription as { topic_id?: string }).topic_id ||\n getTopicId(inscription.inscription);\n\n if (!topicId) {\n throw new HCS21ValidationError(\n 'Metadata inscription did not return a topic ID',\n 'invalid_payload',\n );\n }\n\n const rawSequence =\n (inscription.inscription as { sequence_number?: number })\n .sequence_number ??\n (inscription.inscription as { sequenceNumber?: number }).sequenceNumber;\n\n const pointerResult = await this.resolveManifestPointer(\n topicId,\n rawSequence,\n );\n\n const declarationManifestSequence =\n (inscription.result as { manifest_sequence?: number })?.manifest_sequence;\n\n const resultDetails =\n inscription.result && 'jobId' in inscription.result\n ? {\n jobId: inscription.result.jobId,\n transactionId: inscription.result.transactionId,\n }\n : {};\n\n return {\n pointer: pointerResult.pointer,\n topicId,\n sequenceNumber: pointerResult.sequenceNumber,\n manifestSequence:\n declarationManifestSequence || pointerResult.sequenceNumber,\n ...resultDetails,\n };\n }\n\n async createRegistryTopic(\n params: CreateRegistryTopicParams,\n ): Promise<string> {\n await this.operatorCtx.ensureInitialized();\n\n const tx: TopicCreateTransaction = buildHcs21CreateRegistryTx({\n ttl: params.ttl,\n indexed: params.indexed,\n type: params.type,\n metaTopicId: params.metaTopicId,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: this.operatorCtx.operatorKey.publicKey,\n });\n\n if (params.transactionMemo) {\n tx.setTransactionMemo(params.transactionMemo);\n }\n\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n\n if (receipt.status !== Status.Success || !receipt.topicId) {\n throw new HCS21ValidationError(\n 'Failed to create HCS-21 registry topic',\n 'invalid_payload',\n );\n }\n\n return receipt.topicId.toString();\n }\n\n async publishDeclaration(\n params: PublishDeclarationParams,\n ): Promise<PublishDeclarationResult> {\n await this.operatorCtx.ensureInitialized();\n\n const declaration = this.normalizeDeclarationInput(params.declaration);\n const tx = buildHcs21MessageTx({\n topicId: params.topicId,\n declaration,\n transactionMemo: params.transactionMemo,\n });\n\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n\n if (receipt.status !== Status.Success) {\n throw new HCS21ValidationError(\n 'Failed to submit HCS-21 declaration',\n 'invalid_payload',\n );\n }\n\n return {\n sequenceNumber: receipt.topicSequenceNumber?.toNumber(),\n transactionId: response.transactionId.toString(),\n };\n }\n\n private normalizeDeclarationInput(\n declaration: AdapterDeclaration | BuildDeclarationParams,\n ): AdapterDeclaration {\n if ('p' in declaration) {\n return this.validateDeclaration(declaration);\n }\n return this.buildDeclaration(declaration);\n }\n\n private async resolveManifestPointer(\n topicId: string,\n sequence?: number,\n ): Promise<{ pointer: string; sequenceNumber: number }> {\n const numericSequence =\n typeof sequence === 'string' ? Number(sequence) : sequence;\n let resolvedSequence =\n typeof numericSequence === 'number' && Number.isFinite(numericSequence)\n ? numericSequence\n : undefined;\n\n if (!resolvedSequence) {\n const [latest] = await this.mirrorNode.getTopicMessages(topicId, {\n limit: 1,\n order: 'desc',\n });\n\n if (!latest || !latest.sequence_number) {\n throw new HCS21ValidationError(\n 'Unable to resolve manifest sequence number',\n 'invalid_payload',\n );\n }\n\n resolvedSequence = Number(latest.sequence_number);\n }\n\n if (!Number.isFinite(resolvedSequence)) {\n throw new HCS21ValidationError(\n 'Invalid manifest sequence number',\n 'invalid_payload',\n );\n }\n\n const pointer = `hcs://1/${topicId}`;\n\n if (!HCS21ManifestPointerPattern.test(pointer)) {\n throw new HCS21ValidationError(\n 'Manifest pointer format is invalid',\n 'invalid_payload',\n );\n }\n\n return { pointer, sequenceNumber: resolvedSequence };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AccountId, Client, PrivateKey, Hbar } from "@hashgraph/sdk";
2
- import { createNodeOperatorContext } from "./standards-sdk.es135.js";
2
+ import { createNodeOperatorContext } from "./standards-sdk.es137.js";
3
3
  import { buildHcs15BaseAccountCreateTx, buildHcs15PetalAccountCreateTx } from "./standards-sdk.es86.js";
4
4
  import { HCS15BaseClient } from "./standards-sdk.es89.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.es136.js";
2
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
3
3
  import { FloraOperation } from "./standards-sdk.es90.js";
4
4
  function encodeHcs16FloraMemo(params) {
5
5
  return `hcs-16:${params.floraAccountId}:${params.topicType}`;
@@ -1,5 +1,5 @@
1
1
  import { AccountId, Client, ScheduleSignTransaction } from "@hashgraph/sdk";
2
- import { createNodeOperatorContext } from "./standards-sdk.es135.js";
2
+ import { createNodeOperatorContext } from "./standards-sdk.es137.js";
3
3
  import { HederaMirrorNode } from "./standards-sdk.es126.js";
4
4
  import { HCS16BaseClient } from "./standards-sdk.es94.js";
5
5
  import { buildHcs16CreateFloraTopicTx, buildHcs16FloraCreatedTx, buildHcs16TransactionTx, buildHcs16StateUpdateTx, buildHcs16CreateAccountTx } from "./standards-sdk.es91.js";
@@ -1,7 +1,7 @@
1
1
  import { AccountId, Client } from "@hashgraph/sdk";
2
2
  import { HCS17BaseClient } from "./standards-sdk.es96.js";
3
3
  import { buildHcs17CreateTopicTx, buildHcs17MessageTx } from "./standards-sdk.es99.js";
4
- import { createNodeOperatorContext } from "./standards-sdk.es135.js";
4
+ import { createNodeOperatorContext } from "./standards-sdk.es137.js";
5
5
  class HCS17Client extends HCS17BaseClient {
6
6
  constructor(config) {
7
7
  super(config);
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es136.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
2
2
  import { generateHCS17Memo } from "./standards-sdk.es95.js";
3
3
  function buildHcs17CreateTopicTx(params) {
4
4
  const memo = generateHCS17Memo(params.ttl);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashgraphonline/standards-sdk",
3
- "version": "0.1.141-canary.1",
3
+ "version": "0.1.141-canary.11",
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": [