@hashgraphonline/standards-sdk 0.1.166 → 0.1.168

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 (165) hide show
  1. package/README.md +20 -7
  2. package/dist/browser/hcs-10/sdk.d.ts.map +1 -1
  3. package/dist/browser/hcs-10/types.d.ts +3 -1
  4. package/dist/browser/hcs-10/types.d.ts.map +1 -1
  5. package/dist/browser/hcs-11/client.d.ts.map +1 -1
  6. package/dist/browser/hcs-11/types.d.ts +2 -1
  7. package/dist/browser/hcs-11/types.d.ts.map +1 -1
  8. package/dist/browser/hcs-12/sdk.d.ts +2 -0
  9. package/dist/browser/hcs-12/sdk.d.ts.map +1 -1
  10. package/dist/browser/hcs-15/sdk.d.ts.map +1 -1
  11. package/dist/browser/hcs-15/types.d.ts +2 -1
  12. package/dist/browser/hcs-15/types.d.ts.map +1 -1
  13. package/dist/browser/hcs-16/sdk.d.ts +2 -1
  14. package/dist/browser/hcs-16/sdk.d.ts.map +1 -1
  15. package/dist/browser/hcs-17/sdk.d.ts.map +1 -1
  16. package/dist/browser/hcs-17/types.d.ts +2 -1
  17. package/dist/browser/hcs-17/types.d.ts.map +1 -1
  18. package/dist/browser/hcs-18/sdk.d.ts +2 -1
  19. package/dist/browser/hcs-18/sdk.d.ts.map +1 -1
  20. package/dist/browser/hcs-2/client.d.ts +2 -1
  21. package/dist/browser/hcs-2/client.d.ts.map +1 -1
  22. package/dist/browser/hcs-20/sdk.d.ts.map +1 -1
  23. package/dist/browser/hcs-20/types.d.ts +2 -1
  24. package/dist/browser/hcs-20/types.d.ts.map +1 -1
  25. package/dist/browser/hcs-21/sdk.d.ts +2 -1
  26. package/dist/browser/hcs-21/sdk.d.ts.map +1 -1
  27. package/dist/browser/hcs-5/sdk.d.ts.map +1 -1
  28. package/dist/browser/hcs-5/types.d.ts +2 -1
  29. package/dist/browser/hcs-5/types.d.ts.map +1 -1
  30. package/dist/browser/hcs-6/sdk.d.ts +2 -1
  31. package/dist/browser/hcs-6/sdk.d.ts.map +1 -1
  32. package/dist/browser/hcs-7/sdk.d.ts.map +1 -1
  33. package/dist/browser/hcs-7/types.d.ts +2 -1
  34. package/dist/browser/hcs-7/types.d.ts.map +1 -1
  35. package/dist/browser/standards-sdk.browser.js +4 -3
  36. package/dist/browser/standards-sdk.browser.js.map +1 -1
  37. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  38. package/dist/cjs/hcs-10/types.d.ts +3 -1
  39. package/dist/cjs/hcs-10/types.d.ts.map +1 -1
  40. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  41. package/dist/cjs/hcs-11/types.d.ts +2 -1
  42. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  43. package/dist/cjs/hcs-12/sdk.d.ts +2 -0
  44. package/dist/cjs/hcs-12/sdk.d.ts.map +1 -1
  45. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  46. package/dist/cjs/hcs-15/types.d.ts +2 -1
  47. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  48. package/dist/cjs/hcs-16/sdk.d.ts +2 -1
  49. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  50. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  51. package/dist/cjs/hcs-17/types.d.ts +2 -1
  52. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  53. package/dist/cjs/hcs-18/sdk.d.ts +2 -1
  54. package/dist/cjs/hcs-18/sdk.d.ts.map +1 -1
  55. package/dist/cjs/hcs-2/client.d.ts +2 -1
  56. package/dist/cjs/hcs-2/client.d.ts.map +1 -1
  57. package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
  58. package/dist/cjs/hcs-20/types.d.ts +2 -1
  59. package/dist/cjs/hcs-20/types.d.ts.map +1 -1
  60. package/dist/cjs/hcs-21/sdk.d.ts +2 -1
  61. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  62. package/dist/cjs/hcs-5/sdk.d.ts.map +1 -1
  63. package/dist/cjs/hcs-5/types.d.ts +2 -1
  64. package/dist/cjs/hcs-5/types.d.ts.map +1 -1
  65. package/dist/cjs/hcs-6/sdk.d.ts +2 -1
  66. package/dist/cjs/hcs-6/sdk.d.ts.map +1 -1
  67. package/dist/cjs/hcs-7/sdk.d.ts.map +1 -1
  68. package/dist/cjs/hcs-7/types.d.ts +2 -1
  69. package/dist/cjs/hcs-7/types.d.ts.map +1 -1
  70. package/dist/cjs/standards-sdk.cjs +1 -1
  71. package/dist/cjs/standards-sdk.cjs.map +1 -1
  72. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  73. package/dist/es/hcs-10/types.d.ts +3 -1
  74. package/dist/es/hcs-10/types.d.ts.map +1 -1
  75. package/dist/es/hcs-11/client.d.ts.map +1 -1
  76. package/dist/es/hcs-11/types.d.ts +2 -1
  77. package/dist/es/hcs-11/types.d.ts.map +1 -1
  78. package/dist/es/hcs-12/sdk.d.ts +2 -0
  79. package/dist/es/hcs-12/sdk.d.ts.map +1 -1
  80. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  81. package/dist/es/hcs-15/types.d.ts +2 -1
  82. package/dist/es/hcs-15/types.d.ts.map +1 -1
  83. package/dist/es/hcs-16/sdk.d.ts +2 -1
  84. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  85. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  86. package/dist/es/hcs-17/types.d.ts +2 -1
  87. package/dist/es/hcs-17/types.d.ts.map +1 -1
  88. package/dist/es/hcs-18/sdk.d.ts +2 -1
  89. package/dist/es/hcs-18/sdk.d.ts.map +1 -1
  90. package/dist/es/hcs-2/client.d.ts +2 -1
  91. package/dist/es/hcs-2/client.d.ts.map +1 -1
  92. package/dist/es/hcs-20/sdk.d.ts.map +1 -1
  93. package/dist/es/hcs-20/types.d.ts +2 -1
  94. package/dist/es/hcs-20/types.d.ts.map +1 -1
  95. package/dist/es/hcs-21/sdk.d.ts +2 -1
  96. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  97. package/dist/es/hcs-5/sdk.d.ts.map +1 -1
  98. package/dist/es/hcs-5/types.d.ts +2 -1
  99. package/dist/es/hcs-5/types.d.ts.map +1 -1
  100. package/dist/es/hcs-6/sdk.d.ts +2 -1
  101. package/dist/es/hcs-6/sdk.d.ts.map +1 -1
  102. package/dist/es/hcs-7/sdk.d.ts.map +1 -1
  103. package/dist/es/hcs-7/types.d.ts +2 -1
  104. package/dist/es/hcs-7/types.d.ts.map +1 -1
  105. package/dist/es/standards-sdk.es102.js.map +1 -1
  106. package/dist/es/standards-sdk.es104.js +1 -1
  107. package/dist/es/standards-sdk.es104.js.map +1 -1
  108. package/dist/es/standards-sdk.es108.js +1 -1
  109. package/dist/es/standards-sdk.es108.js.map +1 -1
  110. package/dist/es/standards-sdk.es11.js +2 -1
  111. package/dist/es/standards-sdk.es11.js.map +1 -1
  112. package/dist/es/standards-sdk.es137.js +1 -1
  113. package/dist/es/standards-sdk.es138.js +1 -1
  114. package/dist/es/standards-sdk.es143.js +1 -1
  115. package/dist/es/standards-sdk.es155.js +54 -12480
  116. package/dist/es/standards-sdk.es155.js.map +1 -1
  117. package/dist/es/standards-sdk.es156.js +76 -48
  118. package/dist/es/standards-sdk.es156.js.map +1 -1
  119. package/dist/es/standards-sdk.es157.js +66 -69
  120. package/dist/es/standards-sdk.es157.js.map +1 -1
  121. package/dist/es/standards-sdk.es158.js +180 -61
  122. package/dist/es/standards-sdk.es158.js.map +1 -1
  123. package/dist/es/standards-sdk.es159.js +12438 -156
  124. package/dist/es/standards-sdk.es159.js.map +1 -1
  125. package/dist/es/standards-sdk.es169.js +1 -1
  126. package/dist/es/standards-sdk.es173.js +1 -1
  127. package/dist/es/standards-sdk.es18.js +4 -3
  128. package/dist/es/standards-sdk.es18.js.map +1 -1
  129. package/dist/es/standards-sdk.es19.js +1 -1
  130. package/dist/es/standards-sdk.es27.js +2 -2
  131. package/dist/es/standards-sdk.es27.js.map +1 -1
  132. package/dist/es/standards-sdk.es28.js.map +1 -1
  133. package/dist/es/standards-sdk.es30.js +1 -1
  134. package/dist/es/standards-sdk.es31.js +1 -1
  135. package/dist/es/standards-sdk.es35.js +1 -1
  136. package/dist/es/standards-sdk.es36.js +2 -2
  137. package/dist/es/standards-sdk.es36.js.map +1 -1
  138. package/dist/es/standards-sdk.es37.js +1 -1
  139. package/dist/es/standards-sdk.es4.js +1 -1
  140. package/dist/es/standards-sdk.es4.js.map +1 -1
  141. package/dist/es/standards-sdk.es56.js +1 -1
  142. package/dist/es/standards-sdk.es59.js +1 -1
  143. package/dist/es/standards-sdk.es60.js +1 -1
  144. package/dist/es/standards-sdk.es62.js +1 -1
  145. package/dist/es/standards-sdk.es63.js +2 -2
  146. package/dist/es/standards-sdk.es64.js +1 -1
  147. package/dist/es/standards-sdk.es65.js +1 -1
  148. package/dist/es/standards-sdk.es66.js +1 -1
  149. package/dist/es/standards-sdk.es69.js +1 -1
  150. package/dist/es/standards-sdk.es70.js.map +1 -1
  151. package/dist/es/standards-sdk.es72.js +2 -1
  152. package/dist/es/standards-sdk.es72.js.map +1 -1
  153. package/dist/es/standards-sdk.es75.js +2 -2
  154. package/dist/es/standards-sdk.es75.js.map +1 -1
  155. package/dist/es/standards-sdk.es79.js.map +1 -1
  156. package/dist/es/standards-sdk.es8.js.map +1 -1
  157. package/dist/es/standards-sdk.es83.js +5 -3
  158. package/dist/es/standards-sdk.es83.js.map +1 -1
  159. package/dist/es/standards-sdk.es90.js +1 -1
  160. package/dist/es/standards-sdk.es90.js.map +1 -1
  161. package/dist/es/standards-sdk.es94.js +1 -1
  162. package/dist/es/standards-sdk.es94.js.map +1 -1
  163. package/dist/es/standards-sdk.es99.js +1 -1
  164. package/dist/es/standards-sdk.es99.js.map +1 -1
  165. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es104.js","sources":["../../src/hcs-17/sdk.ts"],"sourcesContent":["import {\n Client,\n PublicKey,\n KeyList,\n TransactionReceipt,\n AccountId,\n} from '@hashgraph/sdk';\nimport { HCS17BaseClient } from './base-client';\nimport {\n SDKHCS17ClientConfig,\n StateHashMessage,\n TopicState,\n AccountStateInput,\n} from './types';\nimport { buildHcs17CreateTopicTx, buildHcs17MessageTx } from './tx';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\n\n/**\n * Node SDK client for HCS‑17 operations.\n * Creates topics, submits messages, and can compute + publish state hashes.\n */\nexport class HCS17Client extends HCS17BaseClient {\n private client: Client;\n private operatorId: AccountId;\n private operatorCtx: NodeOperatorContext;\n\n constructor(config: SDKHCS17ClientConfig) {\n super(config);\n this.operatorId = AccountId.fromString(config.operatorId);\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\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 public getKeyType(): 'ed25519' | 'ecdsa' {\n return this.operatorCtx.keyType;\n }\n\n /**\n * Create an HCS topic intended for HCS‑17 state messages.\n */\n async createStateTopic(options?: {\n ttl?: number;\n adminKey?: boolean | string | PublicKey | KeyList;\n submitKey?: boolean | string | PublicKey | KeyList;\n }): Promise<string> {\n const ttl = options?.ttl ?? 86400;\n const tx = buildHcs17CreateTopicTx({\n ttl,\n adminKey: options?.adminKey,\n submitKey: options?.submitKey,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\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 topic: topicId empty');\n }\n const topicId = receipt.topicId.toString();\n this.logger.info(`Created HCS-17 state topic ${topicId}`);\n return topicId;\n }\n\n /**\n * Submit a pre‑built HCS‑17 state hash message to a topic.\n */\n async submitMessage(\n topicId: string,\n message: StateHashMessage,\n ): Promise<TransactionReceipt> {\n const { valid, errors } = this.validateMessage(message);\n if (!valid) {\n throw new Error(`Invalid HCS-17 message: ${errors.join(', ')}`);\n }\n const tx = buildHcs17MessageTx({\n topicId,\n stateHash: message.state_hash,\n accountId: message.account_id,\n topics: message.topics,\n memo: message.m,\n epoch: message.epoch,\n timestamp: message.timestamp,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n return receipt;\n }\n\n /**\n * Compute current account state hash from topic running hashes and publish it.\n */\n async computeAndPublish(params: {\n accountId: string;\n accountPublicKey: string | PublicKey;\n topics: string[];\n publishTopicId: string;\n memo?: string;\n }): Promise<{ stateHash: string; receipt: TransactionReceipt }> {\n const topicStates: TopicState[] = [];\n for (const t of params.topics) {\n const msgs = await this.mirrorNode.getTopicMessages(t, {\n limit: 1,\n order: 'desc',\n });\n const latest = msgs[0];\n const running = latest?.running_hash || '';\n topicStates.push({ topicId: t, latestRunningHash: running });\n }\n\n const input: AccountStateInput = {\n accountId: params.accountId,\n publicKey: params.accountPublicKey,\n topics: topicStates,\n };\n const result = this.calculateAccountStateHash(input);\n const message: StateHashMessage = this.createStateHashMessage(\n result.stateHash,\n params.accountId,\n params.topics,\n params.memo,\n );\n const tx = buildHcs17MessageTx({\n topicId: params.publishTopicId,\n stateHash: result.stateHash,\n accountId: params.accountId,\n topics: params.topics,\n memo: params.memo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n return { stateHash: result.stateHash, receipt };\n }\n}\n"],"names":[],"mappings":";;;;AAwBO,MAAM,oBAAoB,gBAAgB;AAAA,EAK/C,YAAY,QAA8B;AACxC,UAAM,MAAM;AACZ,SAAK,aAAa,UAAU,WAAW,OAAO,UAAU;AACxD,SAAK,cAAc,0BAA0B;AAAA,MAC3C,SAAS,KAAK;AAAA,MACd,YAAY,KAAK;AAAA,MACjB,aAAa,OAAO;AAAA,MACpB,SAAS,OAAO;AAAA,MAChB,YAAY,KAAK;AAAA,MACjB,QAAQ,KAAK;AAAA,MACb,QACE,OAAO,YAAY,YACf,OAAO,WAAA,IACP,OAAO,WAAA;AAAA,IAAW,CACzB;AACD,SAAK,SAAS,KAAK,YAAY;AAAA,EACjC;AAAA,EAEO,aAAkC;AACvC,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAiB,SAIH;AAClB,UAAM,MAAM,SAAS,OAAO;AAC5B,UAAM,KAAK,wBAAwB;AAAA,MACjC;AAAA,MACA,UAAU,SAAS;AAAA,MACnB,WAAW,SAAS;AAAA,MACpB,mBAAmB,KAAK,OAAO,qBAAqB;AAAA,IAAA,CACrD;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,uCAAuC;AAAA,IACzD;AACA,UAAM,UAAU,QAAQ,QAAQ,SAAA;AAChC,SAAK,OAAO,KAAK,8BAA8B,OAAO,EAAE;AACxD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,cACJ,SACA,SAC6B;AAC7B,UAAM,EAAE,OAAO,OAAA,IAAW,KAAK,gBAAgB,OAAO;AACtD,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,2BAA2B,OAAO,KAAK,IAAI,CAAC,EAAE;AAAA,IAChE;AACA,UAAM,KAAK,oBAAoB;AAAA,MAC7B;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,WAAW,QAAQ;AAAA,MACnB,QAAQ,QAAQ;AAAA,MAChB,MAAM,QAAQ;AAAA,MACd,OAAO,QAAQ;AAAA,MACf,WAAW,QAAQ;AAAA,IAAA,CACpB;AACD,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,UAAM,UAAU,MAAM,KAAK,WAAW,KAAK,MAAM;AACjD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,kBAAkB,QAMwC;AAC9D,UAAM,cAA4B,CAAA;AAClC,eAAW,KAAK,OAAO,QAAQ;AAC7B,YAAM,OAAO,MAAM,KAAK,WAAW,iBAAiB,GAAG;AAAA,QACrD,OAAO;AAAA,QACP,OAAO;AAAA,MAAA,CACR;AACD,YAAM,SAAS,KAAK,CAAC;AACrB,YAAM,UAAU,QAAQ,gBAAgB;AACxC,kBAAY,KAAK,EAAE,SAAS,GAAG,mBAAmB,SAAS;AAAA,IAC7D;AAEA,UAAM,QAA2B;AAAA,MAC/B,WAAW,OAAO;AAAA,MAClB,WAAW,OAAO;AAAA,MAClB,QAAQ;AAAA,IAAA;AAEV,UAAM,SAAS,KAAK,0BAA0B,KAAK;AACjB,SAAK;AAAA,MACrC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,IAAA;AAET,UAAM,KAAK,oBAAoB;AAAA,MAC7B,SAAS,OAAO;AAAA,MAChB,WAAW,OAAO;AAAA,MAClB,WAAW,OAAO;AAAA,MAClB,QAAQ,OAAO;AAAA,MACf,MAAM,OAAO;AAAA,IAAA,CACd;AACD,UAAM,OAAO,MAAM,GAAG,QAAQ,KAAK,MAAM;AACzC,UAAM,UAAU,MAAM,KAAK,WAAW,KAAK,MAAM;AACjD,WAAO,EAAE,WAAW,OAAO,WAAW,QAAA;AAAA,EACxC;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es104.js","sources":["../../src/hcs-17/sdk.ts"],"sourcesContent":["import {\n Client,\n PublicKey,\n KeyList,\n TransactionReceipt,\n AccountId,\n} from '@hashgraph/sdk';\nimport { HCS17BaseClient } from './base-client';\nimport {\n SDKHCS17ClientConfig,\n StateHashMessage,\n TopicState,\n AccountStateInput,\n} from './types';\nimport { buildHcs17CreateTopicTx, buildHcs17MessageTx } from './tx';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\n\n/**\n * Node SDK client for HCS‑17 operations.\n * Creates topics, submits messages, and can compute + publish state hashes.\n */\nexport class HCS17Client extends HCS17BaseClient {\n private client: Client;\n private operatorId: AccountId;\n private operatorCtx: NodeOperatorContext;\n\n constructor(config: SDKHCS17ClientConfig) {\n super(config);\n this.operatorId = AccountId.fromString(config.operatorId);\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client:\n config.client ??\n (config.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet()),\n });\n this.client = this.operatorCtx.client;\n }\n\n public getKeyType(): 'ed25519' | 'ecdsa' {\n return this.operatorCtx.keyType;\n }\n\n /**\n * Create an HCS topic intended for HCS‑17 state messages.\n */\n async createStateTopic(options?: {\n ttl?: number;\n adminKey?: boolean | string | PublicKey | KeyList;\n submitKey?: boolean | string | PublicKey | KeyList;\n }): Promise<string> {\n const ttl = options?.ttl ?? 86400;\n const tx = buildHcs17CreateTopicTx({\n ttl,\n adminKey: options?.adminKey,\n submitKey: options?.submitKey,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\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 topic: topicId empty');\n }\n const topicId = receipt.topicId.toString();\n this.logger.info(`Created HCS-17 state topic ${topicId}`);\n return topicId;\n }\n\n /**\n * Submit a pre‑built HCS‑17 state hash message to a topic.\n */\n async submitMessage(\n topicId: string,\n message: StateHashMessage,\n ): Promise<TransactionReceipt> {\n const { valid, errors } = this.validateMessage(message);\n if (!valid) {\n throw new Error(`Invalid HCS-17 message: ${errors.join(', ')}`);\n }\n const tx = buildHcs17MessageTx({\n topicId,\n stateHash: message.state_hash,\n accountId: message.account_id,\n topics: message.topics,\n memo: message.m,\n epoch: message.epoch,\n timestamp: message.timestamp,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n return receipt;\n }\n\n /**\n * Compute current account state hash from topic running hashes and publish it.\n */\n async computeAndPublish(params: {\n accountId: string;\n accountPublicKey: string | PublicKey;\n topics: string[];\n publishTopicId: string;\n memo?: string;\n }): Promise<{ stateHash: string; receipt: TransactionReceipt }> {\n const topicStates: TopicState[] = [];\n for (const t of params.topics) {\n const msgs = await this.mirrorNode.getTopicMessages(t, {\n limit: 1,\n order: 'desc',\n });\n const latest = msgs[0];\n const running = latest?.running_hash || '';\n topicStates.push({ topicId: t, latestRunningHash: running });\n }\n\n const input: AccountStateInput = {\n accountId: params.accountId,\n publicKey: params.accountPublicKey,\n topics: topicStates,\n };\n const result = this.calculateAccountStateHash(input);\n const message: StateHashMessage = this.createStateHashMessage(\n result.stateHash,\n params.accountId,\n params.topics,\n params.memo,\n );\n const tx = buildHcs17MessageTx({\n topicId: params.publishTopicId,\n stateHash: result.stateHash,\n accountId: params.accountId,\n topics: params.topics,\n memo: params.memo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n return { stateHash: result.stateHash, receipt };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ class HCS18Client extends HCS18BaseClient {
19
19
  operatorKey: config.operatorKey,
20
20
  mirrorNode: this.mirrorNode,
21
21
  logger: this.logger,
22
- client: Client.forName(this.network)
22
+ client: config.client ?? Client.forName(this.network)
23
23
  });
24
24
  this.client = this.operatorCtx.client;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es108.js","sources":["../../src/hcs-18/sdk.ts"],"sourcesContent":["import {\n Client,\n TopicCreateTransaction,\n TransactionReceipt,\n} from '@hashgraph/sdk';\nimport { Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport type { MaybeKey } from '../common/tx/tx-utils';\nimport { buildHcs18CreateDiscoveryTopicTx } from './tx';\nimport { HCS18BaseClient } from './base-client';\nimport type {\n AnnounceData,\n ProposeData,\n RespondData,\n CompleteMessage,\n WithdrawMessage,\n DiscoveryMessage,\n} from './types';\nimport {\n buildHcs18SubmitDiscoveryMessageTx,\n buildHcs18AnnounceMessage,\n buildHcs18ProposeMessage,\n buildHcs18RespondMessage,\n buildHcs18CompleteMessage,\n buildHcs18WithdrawMessage,\n} from './tx';\n\nexport interface SDKHCS18ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string | import('@hashgraph/sdk').PrivateKey;\n logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';\n silent?: boolean;\n}\n\nexport class HCS18Client extends HCS18BaseClient {\n private readonly operatorCtx: NodeOperatorContext;\n private readonly client: Client;\n\n constructor(config: SDKHCS18ClientConfig) {\n super({\n network: config.network,\n logger: Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS-18',\n silent: config.silent,\n }),\n });\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: config.operatorId,\n operatorKey: config.operatorKey,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client: Client.forName(this.network),\n });\n this.client = this.operatorCtx.client;\n }\n\n private async ensureInitialized(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n async createDiscoveryTopic(options?: {\n ttlSeconds?: number;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n memoOverride?: string;\n }): Promise<{ topicId: string; receipt: TransactionReceipt }> {\n await this.ensureInitialized();\n const ttl = options?.ttlSeconds;\n\n let operatorPublicKey: import('@hashgraph/sdk').PublicKey | undefined;\n try {\n operatorPublicKey = this.operatorCtx.operatorKey.publicKey;\n } catch {\n operatorPublicKey = undefined;\n }\n const tx: TopicCreateTransaction = buildHcs18CreateDiscoveryTopicTx({\n ttlSeconds: ttl,\n adminKey: options?.adminKey,\n submitKey: options?.submitKey,\n operatorPublicKey,\n memoOverride: options?.memoOverride,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n const topicId = receipt.topicId?.toString();\n if (!topicId) {\n throw new Error('Failed to create discovery topic');\n }\n return { topicId, receipt };\n }\n\n async announce(params: {\n discoveryTopicId: string;\n data: AnnounceData;\n memo?: string;\n }): Promise<{ receipt: TransactionReceipt; sequenceNumber: number }> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18AnnounceMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n const seq = receipt.topicSequenceNumber.toNumber();\n return { receipt, sequenceNumber: seq };\n }\n\n async propose(params: {\n discoveryTopicId: string;\n data: ProposeData;\n memo?: string;\n }): Promise<{ receipt: TransactionReceipt; sequenceNumber: number }> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18ProposeMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n const seq = receipt.topicSequenceNumber.toNumber();\n return { receipt, sequenceNumber: seq };\n }\n\n async respond(params: {\n discoveryTopicId: string;\n data: RespondData;\n memo?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18RespondMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n return await resp.getReceipt(this.client);\n }\n\n async complete(params: {\n discoveryTopicId: string;\n data: CompleteMessage['data'];\n memo?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18CompleteMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n return await resp.getReceipt(this.client);\n }\n\n async withdraw(params: {\n discoveryTopicId: string;\n data: WithdrawMessage['data'];\n memo?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18WithdrawMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n return await resp.getReceipt(this.client);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es108.js","sources":["../../src/hcs-18/sdk.ts"],"sourcesContent":["import {\n Client,\n TopicCreateTransaction,\n TransactionReceipt,\n} from '@hashgraph/sdk';\nimport { Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport type { MaybeKey } from '../common/tx/tx-utils';\nimport { buildHcs18CreateDiscoveryTopicTx } from './tx';\nimport { HCS18BaseClient } from './base-client';\nimport type {\n AnnounceData,\n ProposeData,\n RespondData,\n CompleteMessage,\n WithdrawMessage,\n DiscoveryMessage,\n} from './types';\nimport {\n buildHcs18SubmitDiscoveryMessageTx,\n buildHcs18AnnounceMessage,\n buildHcs18ProposeMessage,\n buildHcs18RespondMessage,\n buildHcs18CompleteMessage,\n buildHcs18WithdrawMessage,\n} from './tx';\n\nexport interface SDKHCS18ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string | import('@hashgraph/sdk').PrivateKey;\n logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';\n silent?: boolean;\n client?: Client;\n}\n\nexport class HCS18Client extends HCS18BaseClient {\n private readonly operatorCtx: NodeOperatorContext;\n private readonly client: Client;\n\n constructor(config: SDKHCS18ClientConfig) {\n super({\n network: config.network,\n logger: Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS-18',\n silent: config.silent,\n }),\n });\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: config.operatorId,\n operatorKey: config.operatorKey,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client: config.client ?? Client.forName(this.network),\n });\n this.client = this.operatorCtx.client;\n }\n\n private async ensureInitialized(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n async createDiscoveryTopic(options?: {\n ttlSeconds?: number;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n memoOverride?: string;\n }): Promise<{ topicId: string; receipt: TransactionReceipt }> {\n await this.ensureInitialized();\n const ttl = options?.ttlSeconds;\n\n let operatorPublicKey: import('@hashgraph/sdk').PublicKey | undefined;\n try {\n operatorPublicKey = this.operatorCtx.operatorKey.publicKey;\n } catch {\n operatorPublicKey = undefined;\n }\n const tx: TopicCreateTransaction = buildHcs18CreateDiscoveryTopicTx({\n ttlSeconds: ttl,\n adminKey: options?.adminKey,\n submitKey: options?.submitKey,\n operatorPublicKey,\n memoOverride: options?.memoOverride,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n const topicId = receipt.topicId?.toString();\n if (!topicId) {\n throw new Error('Failed to create discovery topic');\n }\n return { topicId, receipt };\n }\n\n async announce(params: {\n discoveryTopicId: string;\n data: AnnounceData;\n memo?: string;\n }): Promise<{ receipt: TransactionReceipt; sequenceNumber: number }> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18AnnounceMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n const seq = receipt.topicSequenceNumber.toNumber();\n return { receipt, sequenceNumber: seq };\n }\n\n async propose(params: {\n discoveryTopicId: string;\n data: ProposeData;\n memo?: string;\n }): Promise<{ receipt: TransactionReceipt; sequenceNumber: number }> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18ProposeMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n const seq = receipt.topicSequenceNumber.toNumber();\n return { receipt, sequenceNumber: seq };\n }\n\n async respond(params: {\n discoveryTopicId: string;\n data: RespondData;\n memo?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18RespondMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n return await resp.getReceipt(this.client);\n }\n\n async complete(params: {\n discoveryTopicId: string;\n data: CompleteMessage['data'];\n memo?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18CompleteMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n return await resp.getReceipt(this.client);\n }\n\n async withdraw(params: {\n discoveryTopicId: string;\n data: WithdrawMessage['data'];\n memo?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureInitialized();\n const message: DiscoveryMessage = buildHcs18WithdrawMessage(params.data);\n const tx = buildHcs18SubmitDiscoveryMessageTx({\n topicId: params.discoveryTopicId,\n message,\n transactionMemo: params.memo,\n });\n const resp = await tx.execute(this.client);\n return await resp.getReceipt(this.client);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ class HCS7Client extends HCS7BaseClient {
12
12
  operatorKey: config.operatorKey,
13
13
  keyType: config.keyType,
14
14
  mirrorNode: this.mirrorNode,
15
- logger: this.logger
15
+ logger: this.logger,
16
+ client: config.client
16
17
  });
17
18
  this.client = this.operatorCtx.client;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es11.js","sources":["../../src/hcs-7/sdk.ts"],"sourcesContent":["import { Client, PrivateKey, PublicKey } from '@hashgraph/sdk';\nimport { HCS7BaseClient } from './base-client';\nimport {\n SDKHCS7ClientConfig,\n HCS7CreateRegistryOptions,\n HCS7TopicRegistrationResponse,\n HCS7RegisterConfigOptions,\n HCS7RegistryOperationResponse,\n HCS7RegisterMetadataOptions,\n HCS7Message,\n} from './types';\nimport {\n NodeOperatorContext,\n createNodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { buildHcs7CreateRegistryTx, buildHcs7SubmitMessageTx } from './tx';\n\nexport class HCS7Client extends HCS7BaseClient {\n private readonly operatorCtx: NodeOperatorContext;\n private readonly client: Client;\n private closed = false;\n\n constructor(config: SDKHCS7ClientConfig) {\n super(config);\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: config.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n });\n this.client = this.operatorCtx.client;\n }\n\n public close(): void {\n if (this.closed) {\n return;\n }\n this.closed = true;\n this.logger.info('HCS-7 client closed');\n }\n\n public getKeyType(): 'ed25519' | 'ecdsa' {\n return this.operatorCtx.keyType;\n }\n\n private async ensureInitialized(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n private resolvePublicKey(\n key?: string | boolean | PrivateKey,\n ): PublicKey | string | undefined {\n if (!key) {\n return undefined;\n }\n if (typeof key === 'boolean') {\n return key ? this.operatorCtx.operatorKey.publicKey : undefined;\n }\n if (typeof key === 'string') {\n try {\n return PublicKey.fromString(key);\n } catch {\n return undefined;\n }\n }\n return key.publicKey;\n }\n\n private coercePrivateKey(key: string | PrivateKey): PrivateKey {\n if (key instanceof PrivateKey) {\n return key;\n }\n try {\n return PrivateKey.fromStringED25519(key);\n } catch {\n return PrivateKey.fromStringECDSA(key);\n }\n }\n\n public async createRegistry(\n options: HCS7CreateRegistryOptions = {},\n ): Promise<HCS7TopicRegistrationResponse> {\n const ttl = options.ttl ?? 86_400;\n if (ttl < 3600) {\n return {\n success: false,\n error: 'TTL must be at least 3600 seconds',\n };\n }\n try {\n await this.ensureInitialized();\n const submitKey = this.resolvePublicKey(options.submitKey);\n const adminKey = this.resolvePublicKey(options.adminKey);\n let transaction = buildHcs7CreateRegistryTx({\n ttl,\n submitKey,\n adminKey,\n operatorPublicKey: this.operatorCtx.operatorKey.publicKey,\n });\n transaction = await transaction.freezeWith(this.client);\n const response = await transaction.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n const topicId = receipt.topicId?.toString();\n if (!topicId) {\n return {\n success: false,\n error: 'Topic creation receipt did not include a topic ID',\n };\n }\n return {\n success: true,\n topicId,\n transactionId: response.transactionId?.toString(),\n };\n } catch (error) {\n this.logger.error('Failed to create HCS-7 registry topic', error);\n return { success: false, error: String(error) };\n }\n }\n\n public async registerConfig(\n options: HCS7RegisterConfigOptions,\n ): Promise<HCS7RegistryOperationResponse> {\n await this.ensureInitialized();\n const message = this.createConfigMessage({\n config: options.config,\n memo: options.memo,\n });\n return this.submitMessage({\n topicId: options.registryTopicId,\n message,\n submitKey: options.submitKey,\n transactionMemo: options.transactionMemo,\n });\n }\n\n public async registerMetadata(\n options: HCS7RegisterMetadataOptions,\n ): Promise<HCS7RegistryOperationResponse> {\n await this.ensureInitialized();\n const message = this.createMetadataMessage(options);\n return this.submitMessage({\n topicId: options.registryTopicId,\n message,\n submitKey: options.submitKey,\n transactionMemo: options.transactionMemo,\n });\n }\n\n private async submitMessage(params: {\n topicId: string;\n message: HCS7Message;\n submitKey?: string | PrivateKey;\n transactionMemo?: string;\n }): Promise<HCS7RegistryOperationResponse> {\n const { valid, errors } = this.validateMessage(params.message);\n if (!valid) {\n return {\n success: false,\n error: `Invalid HCS-7 payload: ${errors.join(', ')}`,\n };\n }\n try {\n let tx = buildHcs7SubmitMessageTx({\n topicId: params.topicId,\n message: params.message,\n transactionMemo: params.transactionMemo,\n });\n if (params.submitKey) {\n const submitKey = this.coercePrivateKey(params.submitKey);\n tx = await tx.freezeWith(this.client);\n await tx.sign(submitKey);\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.toNumber(),\n transactionId: response.transactionId?.toString(),\n };\n }\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.toNumber(),\n transactionId: response.transactionId?.toString(),\n };\n } catch (error) {\n this.logger.error('Failed to submit HCS-7 message', error);\n return { success: false, error: String(error) };\n }\n }\n}\n"],"names":["response","receipt"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es11.js","sources":["../../src/hcs-7/sdk.ts"],"sourcesContent":["import { Client, PrivateKey, PublicKey } from '@hashgraph/sdk';\nimport { HCS7BaseClient } from './base-client';\nimport {\n SDKHCS7ClientConfig,\n HCS7CreateRegistryOptions,\n HCS7TopicRegistrationResponse,\n HCS7RegisterConfigOptions,\n HCS7RegistryOperationResponse,\n HCS7RegisterMetadataOptions,\n HCS7Message,\n} from './types';\nimport {\n NodeOperatorContext,\n createNodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { buildHcs7CreateRegistryTx, buildHcs7SubmitMessageTx } from './tx';\n\nexport class HCS7Client extends HCS7BaseClient {\n private readonly operatorCtx: NodeOperatorContext;\n private readonly client: Client;\n private closed = false;\n\n constructor(config: SDKHCS7ClientConfig) {\n super(config);\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: config.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client: config.client,\n });\n this.client = this.operatorCtx.client;\n }\n\n public close(): void {\n if (this.closed) {\n return;\n }\n this.closed = true;\n this.logger.info('HCS-7 client closed');\n }\n\n public getKeyType(): 'ed25519' | 'ecdsa' {\n return this.operatorCtx.keyType;\n }\n\n private async ensureInitialized(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n private resolvePublicKey(\n key?: string | boolean | PrivateKey,\n ): PublicKey | string | undefined {\n if (!key) {\n return undefined;\n }\n if (typeof key === 'boolean') {\n return key ? this.operatorCtx.operatorKey.publicKey : undefined;\n }\n if (typeof key === 'string') {\n try {\n return PublicKey.fromString(key);\n } catch {\n return undefined;\n }\n }\n return key.publicKey;\n }\n\n private coercePrivateKey(key: string | PrivateKey): PrivateKey {\n if (key instanceof PrivateKey) {\n return key;\n }\n try {\n return PrivateKey.fromStringED25519(key);\n } catch {\n return PrivateKey.fromStringECDSA(key);\n }\n }\n\n public async createRegistry(\n options: HCS7CreateRegistryOptions = {},\n ): Promise<HCS7TopicRegistrationResponse> {\n const ttl = options.ttl ?? 86_400;\n if (ttl < 3600) {\n return {\n success: false,\n error: 'TTL must be at least 3600 seconds',\n };\n }\n try {\n await this.ensureInitialized();\n const submitKey = this.resolvePublicKey(options.submitKey);\n const adminKey = this.resolvePublicKey(options.adminKey);\n let transaction = buildHcs7CreateRegistryTx({\n ttl,\n submitKey,\n adminKey,\n operatorPublicKey: this.operatorCtx.operatorKey.publicKey,\n });\n transaction = await transaction.freezeWith(this.client);\n const response = await transaction.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n const topicId = receipt.topicId?.toString();\n if (!topicId) {\n return {\n success: false,\n error: 'Topic creation receipt did not include a topic ID',\n };\n }\n return {\n success: true,\n topicId,\n transactionId: response.transactionId?.toString(),\n };\n } catch (error) {\n this.logger.error('Failed to create HCS-7 registry topic', error);\n return { success: false, error: String(error) };\n }\n }\n\n public async registerConfig(\n options: HCS7RegisterConfigOptions,\n ): Promise<HCS7RegistryOperationResponse> {\n await this.ensureInitialized();\n const message = this.createConfigMessage({\n config: options.config,\n memo: options.memo,\n });\n return this.submitMessage({\n topicId: options.registryTopicId,\n message,\n submitKey: options.submitKey,\n transactionMemo: options.transactionMemo,\n });\n }\n\n public async registerMetadata(\n options: HCS7RegisterMetadataOptions,\n ): Promise<HCS7RegistryOperationResponse> {\n await this.ensureInitialized();\n const message = this.createMetadataMessage(options);\n return this.submitMessage({\n topicId: options.registryTopicId,\n message,\n submitKey: options.submitKey,\n transactionMemo: options.transactionMemo,\n });\n }\n\n private async submitMessage(params: {\n topicId: string;\n message: HCS7Message;\n submitKey?: string | PrivateKey;\n transactionMemo?: string;\n }): Promise<HCS7RegistryOperationResponse> {\n const { valid, errors } = this.validateMessage(params.message);\n if (!valid) {\n return {\n success: false,\n error: `Invalid HCS-7 payload: ${errors.join(', ')}`,\n };\n }\n try {\n let tx = buildHcs7SubmitMessageTx({\n topicId: params.topicId,\n message: params.message,\n transactionMemo: params.transactionMemo,\n });\n if (params.submitKey) {\n const submitKey = this.coercePrivateKey(params.submitKey);\n tx = await tx.freezeWith(this.client);\n await tx.sign(submitKey);\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.toNumber(),\n transactionId: response.transactionId?.toString(),\n };\n }\n const response = await tx.execute(this.client);\n const receipt = await response.getReceipt(this.client);\n return {\n success: true,\n receipt,\n sequenceNumber: receipt.topicSequenceNumber?.toNumber(),\n transactionId: response.transactionId?.toString(),\n };\n } catch (error) {\n this.logger.error('Failed to submit HCS-7 message', error);\n return { success: false, error: String(error) };\n }\n }\n}\n"],"names":["response","receipt"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { InscriptionSDK } from "./standards-sdk.es155.js";
1
+ import { InscriptionSDK } from "./standards-sdk.es159.js";
2
2
  import { Logger } from "./standards-sdk.es118.js";
3
3
  import { ProgressReporter } from "./standards-sdk.es121.js";
4
4
  import { TransactionParser } from "./standards-sdk.es123.js";
@@ -1,4 +1,4 @@
1
- import { InscriptionSDK } from "./standards-sdk.es155.js";
1
+ import { InscriptionSDK } from "./standards-sdk.es159.js";
2
2
  class QuoteCache {
3
3
  constructor() {
4
4
  this.cache = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import { optionalImportSync, optionalImport } from "./standards-sdk.es157.js";
1
+ import { optionalImportSync, optionalImport } from "./standards-sdk.es156.js";
2
2
  const unsupported = (method) => new Error(`${method} is not supported by the in-memory signer`);
3
3
  let cachedSdk = null;
4
4
  const loadHashgraphSdk = () => {