@hashgraphonline/standards-sdk 0.1.143-feat-adapter-registry.canary.83edd30.56 → 0.1.143-feat-adapter-registry.canary.489b42b.58

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 (51) hide show
  1. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  2. package/dist/cjs/standards-sdk.cjs +2 -2
  3. package/dist/cjs/standards-sdk.cjs.map +1 -1
  4. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  5. package/dist/es/standards-sdk.es110.js +0 -1
  6. package/dist/es/standards-sdk.es110.js.map +1 -1
  7. package/dist/es/standards-sdk.es111.js +5 -5
  8. package/dist/es/standards-sdk.es121.js +1 -1
  9. package/dist/es/standards-sdk.es122.js +1 -1
  10. package/dist/es/standards-sdk.es123.js +5 -5
  11. package/dist/es/standards-sdk.es125.js +1 -1
  12. package/dist/es/standards-sdk.es126.js +1 -1
  13. package/dist/es/standards-sdk.es138.js +2 -10
  14. package/dist/es/standards-sdk.es138.js.map +1 -1
  15. package/dist/es/standards-sdk.es147.js +12282 -12
  16. package/dist/es/standards-sdk.es147.js.map +1 -1
  17. package/dist/es/standards-sdk.es150.js +133 -12248
  18. package/dist/es/standards-sdk.es150.js.map +1 -1
  19. package/dist/es/standards-sdk.es151.js +289 -139
  20. package/dist/es/standards-sdk.es151.js.map +1 -1
  21. package/dist/es/standards-sdk.es152.js +298 -274
  22. package/dist/es/standards-sdk.es152.js.map +1 -1
  23. package/dist/es/standards-sdk.es153.js +369 -262
  24. package/dist/es/standards-sdk.es153.js.map +1 -1
  25. package/dist/es/standards-sdk.es154.js +194 -316
  26. package/dist/es/standards-sdk.es154.js.map +1 -1
  27. package/dist/es/standards-sdk.es155.js +64 -319
  28. package/dist/es/standards-sdk.es155.js.map +1 -1
  29. package/dist/es/standards-sdk.es156.js +15 -74
  30. package/dist/es/standards-sdk.es156.js.map +1 -1
  31. package/dist/es/standards-sdk.es17.js +0 -1
  32. package/dist/es/standards-sdk.es17.js.map +1 -1
  33. package/dist/es/standards-sdk.es19.js +1 -2
  34. package/dist/es/standards-sdk.es19.js.map +1 -1
  35. package/dist/es/standards-sdk.es20.js +1 -2
  36. package/dist/es/standards-sdk.es20.js.map +1 -1
  37. package/dist/es/standards-sdk.es28.js +1 -2
  38. package/dist/es/standards-sdk.es28.js.map +1 -1
  39. package/dist/es/standards-sdk.es31.js +1 -1
  40. package/dist/es/standards-sdk.es32.js +1 -1
  41. package/dist/es/standards-sdk.es36.js +1 -2
  42. package/dist/es/standards-sdk.es36.js.map +1 -1
  43. package/dist/es/standards-sdk.es37.js +1 -1
  44. package/dist/es/standards-sdk.es38.js +1 -1
  45. package/dist/es/standards-sdk.es61.js +0 -1
  46. package/dist/es/standards-sdk.es61.js.map +1 -1
  47. package/dist/es/standards-sdk.es65.js +1 -1
  48. package/dist/es/standards-sdk.es66.js +1 -1
  49. package/dist/es/standards-sdk.es78.js +0 -1
  50. package/dist/es/standards-sdk.es78.js.map +1 -1
  51. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"private-key-signer.d.ts","sourceRoot":"","sources":["../../../../src/services/registry-broker/private-key-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC;AAED,eAAO,MAAM,sBAAsB,GACjC,SAAS,uBAAuB,KAC/B,MAsDF,CAAC"}
1
+ {"version":3,"file":"private-key-signer.d.ts","sourceRoot":"","sources":["../../../../src/services/registry-broker/private-key-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC;AAED,eAAO,MAAM,sBAAsB,GACjC,SAAS,uBAAuB,KAC/B,MAsDF,CAAC"}
@@ -13,7 +13,6 @@ import "node:buffer";
13
13
  import "node:crypto";
14
14
  import "@noble/curves/secp256k1.js";
15
15
  import "zod";
16
- import "node:module";
17
16
  import "./standards-sdk.es139.js";
18
17
  class HRLResolver {
19
18
  constructor(logLevel = "info") {
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es110.js","sources":["../../src/utils/hrl-resolver.ts"],"sourcesContent":["import axios from 'axios';\nimport { Logger, LogLevel, ILogger } from './logger';\nimport { NetworkType } from './types';\nimport { HederaMirrorNode } from '../services';\n\n/**\n * Options for HRL resolution\n */\nexport interface HRLResolutionOptions {\n network: NetworkType;\n returnRaw?: boolean;\n cdnEndpoint?: string;\n}\n\n/**\n * Result of an HRL resolution operation\n */\nexport interface HRLResolutionResult {\n content: string | ArrayBuffer;\n contentType: string;\n topicId: string;\n isBinary: boolean;\n}\n\nexport interface ContentWithType {\n content: string | ArrayBuffer;\n contentType: string;\n isBinary: boolean;\n}\n\n/**\n * Utility class for resolving Hedera Resource Locators across the SDK\n */\nexport class HRLResolver {\n private logger: ILogger;\n private defaultEndpoint = 'https://kiloscribe.com/api/inscription-cdn';\n\n constructor(logLevel: LogLevel = 'info') {\n this.logger = Logger.getInstance({\n level: logLevel,\n module: 'HRLResolver',\n });\n }\n\n /**\n * Determines if a MIME type represents binary content\n */\n private isBinaryContentType(mimeType: string): boolean {\n const binaryTypes = [\n 'image/',\n 'audio/',\n 'video/',\n 'application/octet-stream',\n 'application/pdf',\n 'application/zip',\n 'application/gzip',\n 'application/x-binary',\n 'application/vnd.ms-',\n 'application/x-msdownload',\n 'application/x-shockwave-flash',\n 'font/',\n 'application/wasm',\n ];\n\n return binaryTypes.some(prefix => mimeType.startsWith(prefix));\n }\n\n /**\n * Parses an HRL string into its components\n */\n public parseHRL(hrl: string): { standard: string; topicId: string } | null {\n if (!hrl) {\n return null;\n }\n\n const hrlPattern = /^hcs:\\/\\/(\\d+)\\/([0-9]+\\.[0-9]+\\.[0-9]+)$/;\n const match = hrl.match(hrlPattern);\n\n if (!match) {\n return null;\n }\n\n return {\n standard: match[1],\n topicId: match[2],\n };\n }\n\n /**\n * Validates if a string is a valid HRL\n */\n public isValidHRL(hrl: string): boolean {\n if (!hrl || typeof hrl !== 'string') {\n return false;\n }\n\n const parsed = this.parseHRL(hrl);\n if (!parsed) {\n return false;\n }\n\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n if (!topicIdPattern.test(parsed.topicId)) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Validates if a string is a valid topic ID\n */\n public isValidTopicId(topicId: string): boolean {\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n return topicIdPattern.test(topicId);\n }\n\n /**\n * Resolves content from either an HRL or a topic ID\n * If a topic ID is provided, it queries the topic memo to determine the HCS standard\n */\n public async resolve(\n hrlOrTopicId: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n if (this.isValidHRL(hrlOrTopicId)) {\n return this.resolveHRL(hrlOrTopicId, options);\n }\n\n if (!this.isValidTopicId(hrlOrTopicId)) {\n throw new Error(`Invalid HRL or topic ID format: ${hrlOrTopicId}`);\n }\n\n try {\n const mirrorNode = new HederaMirrorNode(options.network, this.logger);\n const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);\n const memo = topicInfo?.memo || '';\n\n let standard = '1';\n if (memo) {\n const hcsMatch = memo.match(/^hcs-(\\d+)/);\n if (hcsMatch && hcsMatch[1]) {\n standard = hcsMatch[1];\n }\n }\n\n const hrl = `hcs://${standard}/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n } catch (error: any) {\n this.logger.error(\n `Failed to get topic info for ${hrlOrTopicId}: ${error.message}`,\n );\n const hrl = `hcs://1/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n }\n }\n\n public async getContentWithType(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<ContentWithType> {\n if (!this.isValidHRL(hrl)) {\n return {\n content: hrl,\n contentType: 'text/plain',\n isBinary: false,\n };\n }\n\n try {\n const result = await this.resolveHRL(hrl, options);\n return {\n content: result.content,\n contentType: result.contentType,\n isBinary: result.isBinary,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL for content and type: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n\n /**\n * Resolves HRL content with proper content type detection\n */\n public async resolveHRL(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n const parsed = this.parseHRL(hrl);\n\n if (!parsed) {\n throw new Error(`Invalid HRL format: ${hrl}`);\n }\n\n const { standard, topicId } = parsed;\n\n this.logger.debug(\n `Resolving HRL reference: standard=${standard}, topicId=${topicId}`,\n );\n\n try {\n const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;\n const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;\n\n this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);\n const headResponse = await axios.head(cdnUrl);\n const contentType = headResponse.headers['content-type'] || '';\n const isBinary = this.isBinaryContentType(contentType);\n\n if (isBinary || options.returnRaw) {\n const response = await axios.get(cdnUrl, {\n responseType: 'arraybuffer',\n });\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: true,\n };\n }\n\n if (contentType === 'application/json') {\n const response = await axios.get(cdnUrl, {\n responseType: 'json',\n });\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: false,\n };\n }\n\n const response = await axios.get(cdnUrl);\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n let content: string;\n\n if (typeof response.data === 'object') {\n content =\n response.data.content ||\n response.data.text ||\n JSON.stringify(response.data);\n } else {\n content = response.data;\n }\n\n return {\n content,\n contentType,\n topicId,\n isBinary: false,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL reference: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n}\n"],"names":["response"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es110.js","sources":["../../src/utils/hrl-resolver.ts"],"sourcesContent":["import axios from 'axios';\nimport { Logger, LogLevel, ILogger } from './logger';\nimport { NetworkType } from './types';\nimport { HederaMirrorNode } from '../services';\n\n/**\n * Options for HRL resolution\n */\nexport interface HRLResolutionOptions {\n network: NetworkType;\n returnRaw?: boolean;\n cdnEndpoint?: string;\n}\n\n/**\n * Result of an HRL resolution operation\n */\nexport interface HRLResolutionResult {\n content: string | ArrayBuffer;\n contentType: string;\n topicId: string;\n isBinary: boolean;\n}\n\nexport interface ContentWithType {\n content: string | ArrayBuffer;\n contentType: string;\n isBinary: boolean;\n}\n\n/**\n * Utility class for resolving Hedera Resource Locators across the SDK\n */\nexport class HRLResolver {\n private logger: ILogger;\n private defaultEndpoint = 'https://kiloscribe.com/api/inscription-cdn';\n\n constructor(logLevel: LogLevel = 'info') {\n this.logger = Logger.getInstance({\n level: logLevel,\n module: 'HRLResolver',\n });\n }\n\n /**\n * Determines if a MIME type represents binary content\n */\n private isBinaryContentType(mimeType: string): boolean {\n const binaryTypes = [\n 'image/',\n 'audio/',\n 'video/',\n 'application/octet-stream',\n 'application/pdf',\n 'application/zip',\n 'application/gzip',\n 'application/x-binary',\n 'application/vnd.ms-',\n 'application/x-msdownload',\n 'application/x-shockwave-flash',\n 'font/',\n 'application/wasm',\n ];\n\n return binaryTypes.some(prefix => mimeType.startsWith(prefix));\n }\n\n /**\n * Parses an HRL string into its components\n */\n public parseHRL(hrl: string): { standard: string; topicId: string } | null {\n if (!hrl) {\n return null;\n }\n\n const hrlPattern = /^hcs:\\/\\/(\\d+)\\/([0-9]+\\.[0-9]+\\.[0-9]+)$/;\n const match = hrl.match(hrlPattern);\n\n if (!match) {\n return null;\n }\n\n return {\n standard: match[1],\n topicId: match[2],\n };\n }\n\n /**\n * Validates if a string is a valid HRL\n */\n public isValidHRL(hrl: string): boolean {\n if (!hrl || typeof hrl !== 'string') {\n return false;\n }\n\n const parsed = this.parseHRL(hrl);\n if (!parsed) {\n return false;\n }\n\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n if (!topicIdPattern.test(parsed.topicId)) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Validates if a string is a valid topic ID\n */\n public isValidTopicId(topicId: string): boolean {\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n return topicIdPattern.test(topicId);\n }\n\n /**\n * Resolves content from either an HRL or a topic ID\n * If a topic ID is provided, it queries the topic memo to determine the HCS standard\n */\n public async resolve(\n hrlOrTopicId: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n if (this.isValidHRL(hrlOrTopicId)) {\n return this.resolveHRL(hrlOrTopicId, options);\n }\n\n if (!this.isValidTopicId(hrlOrTopicId)) {\n throw new Error(`Invalid HRL or topic ID format: ${hrlOrTopicId}`);\n }\n\n try {\n const mirrorNode = new HederaMirrorNode(options.network, this.logger);\n const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);\n const memo = topicInfo?.memo || '';\n\n let standard = '1';\n if (memo) {\n const hcsMatch = memo.match(/^hcs-(\\d+)/);\n if (hcsMatch && hcsMatch[1]) {\n standard = hcsMatch[1];\n }\n }\n\n const hrl = `hcs://${standard}/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n } catch (error: any) {\n this.logger.error(\n `Failed to get topic info for ${hrlOrTopicId}: ${error.message}`,\n );\n const hrl = `hcs://1/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n }\n }\n\n public async getContentWithType(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<ContentWithType> {\n if (!this.isValidHRL(hrl)) {\n return {\n content: hrl,\n contentType: 'text/plain',\n isBinary: false,\n };\n }\n\n try {\n const result = await this.resolveHRL(hrl, options);\n return {\n content: result.content,\n contentType: result.contentType,\n isBinary: result.isBinary,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL for content and type: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n\n /**\n * Resolves HRL content with proper content type detection\n */\n public async resolveHRL(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n const parsed = this.parseHRL(hrl);\n\n if (!parsed) {\n throw new Error(`Invalid HRL format: ${hrl}`);\n }\n\n const { standard, topicId } = parsed;\n\n this.logger.debug(\n `Resolving HRL reference: standard=${standard}, topicId=${topicId}`,\n );\n\n try {\n const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;\n const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;\n\n this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);\n const headResponse = await axios.head(cdnUrl);\n const contentType = headResponse.headers['content-type'] || '';\n const isBinary = this.isBinaryContentType(contentType);\n\n if (isBinary || options.returnRaw) {\n const response = await axios.get(cdnUrl, {\n responseType: 'arraybuffer',\n });\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: true,\n };\n }\n\n if (contentType === 'application/json') {\n const response = await axios.get(cdnUrl, {\n responseType: 'json',\n });\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: false,\n };\n }\n\n const response = await axios.get(cdnUrl);\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n let content: string;\n\n if (typeof response.data === 'object') {\n content =\n response.data.content ||\n response.data.text ||\n JSON.stringify(response.data);\n } else {\n content = response.data;\n }\n\n return {\n content,\n contentType,\n topicId,\n isBinary: false,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL reference: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n}\n"],"names":["response"],"mappings":"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"}
@@ -5,11 +5,11 @@ import { ethers } from "ethers";
5
5
  import { TransactionParsingError } from "./standards-sdk.es112.js";
6
6
  import { resolveTransactionSummary } from "./standards-sdk.es113.js";
7
7
  import { HTSParser } from "./standards-sdk.es121.js";
8
- import { HCSParser } from "./standards-sdk.es151.js";
9
- import { FileParser } from "./standards-sdk.es152.js";
10
- import { CryptoParser } from "./standards-sdk.es153.js";
11
- import { SCSParser } from "./standards-sdk.es154.js";
12
- import { UtilParser } from "./standards-sdk.es155.js";
8
+ import { HCSParser } from "./standards-sdk.es150.js";
9
+ import { FileParser } from "./standards-sdk.es151.js";
10
+ import { CryptoParser } from "./standards-sdk.es152.js";
11
+ import { SCSParser } from "./standards-sdk.es153.js";
12
+ import { UtilParser } from "./standards-sdk.es154.js";
13
13
  import { ScheduleParser } from "./standards-sdk.es122.js";
14
14
  import { transactionParserRegistry } from "./standards-sdk.es123.js";
15
15
  import { getTransactionTypeFromBody, getHumanReadableTransactionType } from "./standards-sdk.es124.js";
@@ -1,6 +1,6 @@
1
1
  import { proto } from "@hashgraph/proto";
2
2
  import { AccountId, Long, TokenId } from "@hashgraph/sdk";
3
- import { parseKey, hasTransactionType, extractTransactionBody } from "./standards-sdk.es156.js";
3
+ import { parseKey, hasTransactionType, extractTransactionBody } from "./standards-sdk.es155.js";
4
4
  import { Buffer } from "buffer";
5
5
  class HTSParser {
6
6
  /**
@@ -1,5 +1,5 @@
1
1
  import { proto } from "@hashgraph/proto";
2
- import { hasTransactionType, parseKey } from "./standards-sdk.es156.js";
2
+ import { hasTransactionType, parseKey } from "./standards-sdk.es155.js";
3
3
  import { AccountId, Long, ScheduleId } from "@hashgraph/sdk";
4
4
  class ScheduleParser {
5
5
  /**
@@ -1,10 +1,10 @@
1
1
  import { HTSParser } from "./standards-sdk.es121.js";
2
- import { HCSParser } from "./standards-sdk.es151.js";
3
- import { CryptoParser } from "./standards-sdk.es153.js";
4
- import { FileParser } from "./standards-sdk.es152.js";
5
- import { SCSParser } from "./standards-sdk.es154.js";
2
+ import { HCSParser } from "./standards-sdk.es150.js";
3
+ import { CryptoParser } from "./standards-sdk.es152.js";
4
+ import { FileParser } from "./standards-sdk.es151.js";
5
+ import { SCSParser } from "./standards-sdk.es153.js";
6
6
  import { ScheduleParser } from "./standards-sdk.es122.js";
7
- import { UtilParser } from "./standards-sdk.es155.js";
7
+ import { UtilParser } from "./standards-sdk.es154.js";
8
8
  const transactionParserRegistry = {
9
9
  TOKENCREATE: {
10
10
  bodyField: "tokenCreation",
@@ -1,4 +1,4 @@
1
- import { InscriptionSDK } from "./standards-sdk.es150.js";
1
+ import { InscriptionSDK } from "./standards-sdk.es147.js";
2
2
  import { Logger } from "./standards-sdk.es106.js";
3
3
  import { ProgressReporter } from "./standards-sdk.es109.js";
4
4
  import { TransactionParser } from "./standards-sdk.es111.js";
@@ -1,4 +1,4 @@
1
- import { InscriptionSDK } from "./standards-sdk.es150.js";
1
+ import { InscriptionSDK } from "./standards-sdk.es147.js";
2
2
  class QuoteCache {
3
3
  constructor() {
4
4
  this.cache = /* @__PURE__ */ new Map();
@@ -1,4 +1,3 @@
1
- import { createRequire } from "node:module";
2
1
  import { optionalImportSync } from "./standards-sdk.es149.js";
3
2
  const unsupported = (method) => new Error(`${method} is not supported by the in-memory signer`);
4
3
  const createPrivateKeySigner = (options) => {
@@ -62,15 +61,8 @@ const loadHashgraphSdk = () => {
62
61
  cachedSdk = resolved;
63
62
  return resolved;
64
63
  }
65
- try {
66
- const requireFn = createRequire(import.meta.url);
67
- const required = requireFn("@hashgraph/sdk");
68
- cachedSdk = required;
69
- return required;
70
- } catch {
71
- const message = "@hashgraph/sdk is required for ledger signing. Install it as a dependency to enable createPrivateKeySigner.";
72
- throw new Error(message);
73
- }
64
+ const message = "@hashgraph/sdk is required for ledger signing. Install it as a dependency to enable createPrivateKeySigner.";
65
+ throw new Error(message);
74
66
  };
75
67
  export {
76
68
  createPrivateKeySigner
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es138.js","sources":["../../src/services/registry-broker/private-key-signer.ts"],"sourcesContent":["import type {\n Signer,\n AccountBalance,\n AccountInfo,\n Transaction,\n TransactionRecord,\n SignerSignature,\n} from '@hashgraph/sdk';\nimport { createRequire } from 'node:module';\nimport { optionalImportSync } from '../../utils/dynamic-import';\n\nconst unsupported = (method: string): Error =>\n new Error(`${method} is not supported by the in-memory signer`);\n\nexport interface PrivateKeySignerOptions {\n accountId: string;\n privateKey: string;\n network: 'mainnet' | 'testnet';\n}\n\nexport const createPrivateKeySigner = (\n options: PrivateKeySignerOptions,\n): Signer => {\n const sdk = loadHashgraphSdk();\n const { AccountId, LedgerId, PrivateKey, SignerSignature } = sdk;\n if (!options.privateKey) {\n throw new Error('privateKey is required to create a ledger signer.');\n }\n if (!options.accountId) {\n throw new Error('accountId is required to create a ledger signer.');\n }\n const accountId = AccountId.fromString(options.accountId);\n const privateKey = PrivateKey.fromString(options.privateKey);\n const ledgerId = LedgerId.fromString(options.network);\n\n return {\n getLedgerId: () => ledgerId,\n getAccountId: () => accountId,\n getAccountKey: () => privateKey.publicKey,\n getNetwork: () => ({}),\n getMirrorNetwork: () => [],\n sign: async (messages: Uint8Array[]): Promise<SignerSignature[]> =>\n Promise.all(\n messages.map(async message => {\n const signature = await privateKey.sign(message);\n return new SignerSignature({\n publicKey: privateKey.publicKey,\n signature,\n accountId,\n });\n }),\n ),\n getAccountBalance: async (): Promise<AccountBalance> => {\n throw unsupported('getAccountBalance');\n },\n getAccountInfo: async (): Promise<AccountInfo> => {\n throw unsupported('getAccountInfo');\n },\n getAccountRecords: async (): Promise<TransactionRecord[]> => {\n throw unsupported('getAccountRecords');\n },\n signTransaction: async <T extends Transaction>(_: T): Promise<T> => {\n throw unsupported('signTransaction');\n },\n checkTransaction: async <T extends Transaction>(_: T): Promise<T> => {\n throw unsupported('checkTransaction');\n },\n populateTransaction: async <T extends Transaction>(_: T): Promise<T> => {\n throw unsupported('populateTransaction');\n },\n call: async <RequestT, ResponseT, OutputT>(\n _request: unknown,\n ): Promise<OutputT> => {\n throw unsupported('call');\n },\n };\n};\n\ntype HashgraphSdk = typeof import('@hashgraph/sdk');\n\nlet cachedSdk: HashgraphSdk | null = null;\n\nconst loadHashgraphSdk = (): HashgraphSdk => {\n if (cachedSdk) {\n return cachedSdk;\n }\n const resolved = optionalImportSync<HashgraphSdk>('@hashgraph/sdk');\n if (resolved) {\n cachedSdk = resolved;\n return resolved;\n }\n\n try {\n const requireFn = createRequire(import.meta.url);\n const required = requireFn('@hashgraph/sdk') as HashgraphSdk;\n cachedSdk = required;\n return required;\n } catch {\n const message =\n '@hashgraph/sdk is required for ledger signing. Install it as a dependency to enable createPrivateKeySigner.';\n throw new Error(message);\n }\n};\n"],"names":[],"mappings":";;AAWA,MAAM,cAAc,CAAC,WACnB,IAAI,MAAM,GAAG,MAAM,2CAA2C;AAQzD,MAAM,yBAAyB,CACpC,YACW;AACX,QAAM,MAAM,iBAAA;AACZ,QAAM,EAAE,WAAW,UAAU,YAAY,oBAAoB;AAC7D,MAAI,CAAC,QAAQ,YAAY;AACvB,UAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AACA,MAAI,CAAC,QAAQ,WAAW;AACtB,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AACA,QAAM,YAAY,UAAU,WAAW,QAAQ,SAAS;AACxD,QAAM,aAAa,WAAW,WAAW,QAAQ,UAAU;AAC3D,QAAM,WAAW,SAAS,WAAW,QAAQ,OAAO;AAEpD,SAAO;AAAA,IACL,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,eAAe,MAAM,WAAW;AAAA,IAChC,YAAY,OAAO,CAAA;AAAA,IACnB,kBAAkB,MAAM,CAAA;AAAA,IACxB,MAAM,OAAO,aACX,QAAQ;AAAA,MACN,SAAS,IAAI,OAAM,YAAW;AAC5B,cAAM,YAAY,MAAM,WAAW,KAAK,OAAO;AAC/C,eAAO,IAAI,gBAAgB;AAAA,UACzB,WAAW,WAAW;AAAA,UACtB;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MACH,CAAC;AAAA,IAAA;AAAA,IAEL,mBAAmB,YAAqC;AACtD,YAAM,YAAY,mBAAmB;AAAA,IACvC;AAAA,IACA,gBAAgB,YAAkC;AAChD,YAAM,YAAY,gBAAgB;AAAA,IACpC;AAAA,IACA,mBAAmB,YAA0C;AAC3D,YAAM,YAAY,mBAAmB;AAAA,IACvC;AAAA,IACA,iBAAiB,OAA8B,MAAqB;AAClE,YAAM,YAAY,iBAAiB;AAAA,IACrC;AAAA,IACA,kBAAkB,OAA8B,MAAqB;AACnE,YAAM,YAAY,kBAAkB;AAAA,IACtC;AAAA,IACA,qBAAqB,OAA8B,MAAqB;AACtE,YAAM,YAAY,qBAAqB;AAAA,IACzC;AAAA,IACA,MAAM,OACJ,aACqB;AACrB,YAAM,YAAY,MAAM;AAAA,IAC1B;AAAA,EAAA;AAEJ;AAIA,IAAI,YAAiC;AAErC,MAAM,mBAAmB,MAAoB;AAC3C,MAAI,WAAW;AACb,WAAO;AAAA,EACT;AACA,QAAM,WAAW,mBAAiC,gBAAgB;AAClE,MAAI,UAAU;AACZ,gBAAY;AACZ,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,YAAY,cAAc,YAAY,GAAG;AAC/C,UAAM,WAAW,UAAU,gBAAgB;AAC3C,gBAAY;AACZ,WAAO;AAAA,EACT,QAAQ;AACN,UAAM,UACJ;AACF,UAAM,IAAI,MAAM,OAAO;AAAA,EACzB;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es138.js","sources":["../../src/services/registry-broker/private-key-signer.ts"],"sourcesContent":["import type {\n Signer,\n AccountBalance,\n AccountInfo,\n Transaction,\n TransactionRecord,\n SignerSignature,\n} from '@hashgraph/sdk';\nimport { optionalImportSync } from '../../utils/dynamic-import';\n\nconst unsupported = (method: string): Error =>\n new Error(`${method} is not supported by the in-memory signer`);\n\nexport interface PrivateKeySignerOptions {\n accountId: string;\n privateKey: string;\n network: 'mainnet' | 'testnet';\n}\n\nexport const createPrivateKeySigner = (\n options: PrivateKeySignerOptions,\n): Signer => {\n const sdk = loadHashgraphSdk();\n const { AccountId, LedgerId, PrivateKey, SignerSignature } = sdk;\n if (!options.privateKey) {\n throw new Error('privateKey is required to create a ledger signer.');\n }\n if (!options.accountId) {\n throw new Error('accountId is required to create a ledger signer.');\n }\n const accountId = AccountId.fromString(options.accountId);\n const privateKey = PrivateKey.fromString(options.privateKey);\n const ledgerId = LedgerId.fromString(options.network);\n\n return {\n getLedgerId: () => ledgerId,\n getAccountId: () => accountId,\n getAccountKey: () => privateKey.publicKey,\n getNetwork: () => ({}),\n getMirrorNetwork: () => [],\n sign: async (messages: Uint8Array[]): Promise<SignerSignature[]> =>\n Promise.all(\n messages.map(async message => {\n const signature = await privateKey.sign(message);\n return new SignerSignature({\n publicKey: privateKey.publicKey,\n signature,\n accountId,\n });\n }),\n ),\n getAccountBalance: async (): Promise<AccountBalance> => {\n throw unsupported('getAccountBalance');\n },\n getAccountInfo: async (): Promise<AccountInfo> => {\n throw unsupported('getAccountInfo');\n },\n getAccountRecords: async (): Promise<TransactionRecord[]> => {\n throw unsupported('getAccountRecords');\n },\n signTransaction: async <T extends Transaction>(_: T): Promise<T> => {\n throw unsupported('signTransaction');\n },\n checkTransaction: async <T extends Transaction>(_: T): Promise<T> => {\n throw unsupported('checkTransaction');\n },\n populateTransaction: async <T extends Transaction>(_: T): Promise<T> => {\n throw unsupported('populateTransaction');\n },\n call: async <RequestT, ResponseT, OutputT>(\n _request: unknown,\n ): Promise<OutputT> => {\n throw unsupported('call');\n },\n };\n};\n\ntype HashgraphSdk = typeof import('@hashgraph/sdk');\n\nlet cachedSdk: HashgraphSdk | null = null;\n\nconst loadHashgraphSdk = (): HashgraphSdk => {\n if (cachedSdk) {\n return cachedSdk;\n }\n const resolved = optionalImportSync<HashgraphSdk>('@hashgraph/sdk');\n if (resolved) {\n cachedSdk = resolved;\n return resolved;\n }\n\n const message =\n '@hashgraph/sdk is required for ledger signing. Install it as a dependency to enable createPrivateKeySigner.';\n throw new Error(message);\n};\n"],"names":[],"mappings":";AAUA,MAAM,cAAc,CAAC,WACnB,IAAI,MAAM,GAAG,MAAM,2CAA2C;AAQzD,MAAM,yBAAyB,CACpC,YACW;AACX,QAAM,MAAM,iBAAA;AACZ,QAAM,EAAE,WAAW,UAAU,YAAY,oBAAoB;AAC7D,MAAI,CAAC,QAAQ,YAAY;AACvB,UAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AACA,MAAI,CAAC,QAAQ,WAAW;AACtB,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AACA,QAAM,YAAY,UAAU,WAAW,QAAQ,SAAS;AACxD,QAAM,aAAa,WAAW,WAAW,QAAQ,UAAU;AAC3D,QAAM,WAAW,SAAS,WAAW,QAAQ,OAAO;AAEpD,SAAO;AAAA,IACL,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,eAAe,MAAM,WAAW;AAAA,IAChC,YAAY,OAAO,CAAA;AAAA,IACnB,kBAAkB,MAAM,CAAA;AAAA,IACxB,MAAM,OAAO,aACX,QAAQ;AAAA,MACN,SAAS,IAAI,OAAM,YAAW;AAC5B,cAAM,YAAY,MAAM,WAAW,KAAK,OAAO;AAC/C,eAAO,IAAI,gBAAgB;AAAA,UACzB,WAAW,WAAW;AAAA,UACtB;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MACH,CAAC;AAAA,IAAA;AAAA,IAEL,mBAAmB,YAAqC;AACtD,YAAM,YAAY,mBAAmB;AAAA,IACvC;AAAA,IACA,gBAAgB,YAAkC;AAChD,YAAM,YAAY,gBAAgB;AAAA,IACpC;AAAA,IACA,mBAAmB,YAA0C;AAC3D,YAAM,YAAY,mBAAmB;AAAA,IACvC;AAAA,IACA,iBAAiB,OAA8B,MAAqB;AAClE,YAAM,YAAY,iBAAiB;AAAA,IACrC;AAAA,IACA,kBAAkB,OAA8B,MAAqB;AACnE,YAAM,YAAY,kBAAkB;AAAA,IACtC;AAAA,IACA,qBAAqB,OAA8B,MAAqB;AACtE,YAAM,YAAY,qBAAqB;AAAA,IACzC;AAAA,IACA,MAAM,OACJ,aACqB;AACrB,YAAM,YAAY,MAAM;AAAA,IAC1B;AAAA,EAAA;AAEJ;AAIA,IAAI,YAAiC;AAErC,MAAM,mBAAmB,MAAoB;AAC3C,MAAI,WAAW;AACb,WAAO;AAAA,EACT;AACA,QAAM,WAAW,mBAAiC,gBAAgB;AAClE,MAAI,UAAU;AACZ,gBAAY;AACZ,WAAO;AAAA,EACT;AAEA,QAAM,UACJ;AACF,QAAM,IAAI,MAAM,OAAO;AACzB;"}