@hashgraphonline/standards-sdk 0.0.183 → 0.0.184

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 (104) hide show
  1. package/dist/cjs/hcs-12/builders/action-builder.d.ts +5 -0
  2. package/dist/cjs/hcs-12/builders/action-builder.d.ts.map +1 -1
  3. package/dist/cjs/hcs-12/registries/action-registry.d.ts +5 -0
  4. package/dist/cjs/hcs-12/registries/action-registry.d.ts.map +1 -1
  5. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  6. package/dist/cjs/hcs-12/security/hash-verifier.d.ts +13 -0
  7. package/dist/cjs/hcs-12/security/hash-verifier.d.ts.map +1 -1
  8. package/dist/cjs/hcs-12/security/signature-verifier.d.ts +5 -0
  9. package/dist/cjs/hcs-12/security/signature-verifier.d.ts.map +1 -1
  10. package/dist/cjs/hcs-12/validation/wasm-validator.d.ts +5 -0
  11. package/dist/cjs/hcs-12/validation/wasm-validator.d.ts.map +1 -1
  12. package/dist/cjs/{index-Bw4Oab1n.cjs → index-DH8JqKpL.cjs} +21 -21
  13. package/dist/cjs/{index-Bw4Oab1n.cjs.map → index-DH8JqKpL.cjs.map} +1 -1
  14. package/dist/cjs/{index-DNOBUKZd-Dr1ocWcA.cjs → index-DNOBUKZd-DP8GdiGA.cjs} +2 -2
  15. package/dist/cjs/{index-DNOBUKZd-Dr1ocWcA.cjs.map → index-DNOBUKZd-DP8GdiGA.cjs.map} +1 -1
  16. package/dist/cjs/standards-sdk.cjs +1 -1
  17. package/dist/cjs/{standards-sdk.es47-LpJXpYet-BnuWNzh2.cjs → standards-sdk.es47-LpJXpYet-BEh9hyjN.cjs} +2 -2
  18. package/dist/cjs/{standards-sdk.es47-LpJXpYet-BnuWNzh2.cjs.map → standards-sdk.es47-LpJXpYet-BEh9hyjN.cjs.map} +1 -1
  19. package/dist/cjs/{standards-sdk.es48-PT6ZHlCU-vjsmk9LW.cjs → standards-sdk.es48-PT6ZHlCU-AWU0EkFj.cjs} +2 -2
  20. package/dist/cjs/{standards-sdk.es48-PT6ZHlCU-vjsmk9LW.cjs.map → standards-sdk.es48-PT6ZHlCU-AWU0EkFj.cjs.map} +1 -1
  21. package/dist/cjs/{standards-sdk.es49-BoFc-ELK-FTU4u19G.cjs → standards-sdk.es49-BoFc-ELK-Bz7Gd2qu.cjs} +2 -2
  22. package/dist/cjs/{standards-sdk.es49-BoFc-ELK-FTU4u19G.cjs.map → standards-sdk.es49-BoFc-ELK-Bz7Gd2qu.cjs.map} +1 -1
  23. package/dist/cjs/{standards-sdk.es50-miBtNmtl-WpmGw_oZ.cjs → standards-sdk.es50-miBtNmtl-DcjyhGyg.cjs} +2 -2
  24. package/dist/cjs/{standards-sdk.es50-miBtNmtl-WpmGw_oZ.cjs.map → standards-sdk.es50-miBtNmtl-DcjyhGyg.cjs.map} +1 -1
  25. package/dist/cjs/{standards-sdk.es51-rS2UvvV5-BQccIjC7.cjs → standards-sdk.es51-rS2UvvV5-Bmyu85K4.cjs} +2 -2
  26. package/dist/cjs/{standards-sdk.es51-rS2UvvV5-BQccIjC7.cjs.map → standards-sdk.es51-rS2UvvV5-Bmyu85K4.cjs.map} +1 -1
  27. package/dist/cjs/{standards-sdk.es52-D-lvSMBY-dV3DzoSL.cjs → standards-sdk.es52-D-lvSMBY-t0dhVZEE.cjs} +2 -2
  28. package/dist/cjs/{standards-sdk.es52-D-lvSMBY-dV3DzoSL.cjs.map → standards-sdk.es52-D-lvSMBY-t0dhVZEE.cjs.map} +1 -1
  29. package/dist/cjs/utils/crypto-abstraction.d.ts +89 -0
  30. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -0
  31. package/dist/cjs/utils/crypto-env.d.ts +25 -0
  32. package/dist/cjs/utils/crypto-env.d.ts.map +1 -0
  33. package/dist/cjs/utils/hash-adapter.d.ts +46 -0
  34. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -0
  35. package/dist/es/hcs-12/builders/action-builder.d.ts +5 -0
  36. package/dist/es/hcs-12/builders/action-builder.d.ts.map +1 -1
  37. package/dist/es/hcs-12/registries/action-registry.d.ts +5 -0
  38. package/dist/es/hcs-12/registries/action-registry.d.ts.map +1 -1
  39. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  40. package/dist/es/hcs-12/security/hash-verifier.d.ts +13 -0
  41. package/dist/es/hcs-12/security/hash-verifier.d.ts.map +1 -1
  42. package/dist/es/hcs-12/security/signature-verifier.d.ts +5 -0
  43. package/dist/es/hcs-12/security/signature-verifier.d.ts.map +1 -1
  44. package/dist/es/hcs-12/validation/wasm-validator.d.ts +5 -0
  45. package/dist/es/hcs-12/validation/wasm-validator.d.ts.map +1 -1
  46. package/dist/es/standards-sdk.es11.js +1 -1
  47. package/dist/es/standards-sdk.es12.js +1 -1
  48. package/dist/es/standards-sdk.es13.js +1 -1
  49. package/dist/es/standards-sdk.es18.js +1 -1
  50. package/dist/es/standards-sdk.es22.js +49 -6
  51. package/dist/es/standards-sdk.es22.js.map +1 -1
  52. package/dist/es/standards-sdk.es25.js +0 -1
  53. package/dist/es/standards-sdk.es25.js.map +1 -1
  54. package/dist/es/standards-sdk.es26.js +1 -2
  55. package/dist/es/standards-sdk.es26.js.map +1 -1
  56. package/dist/es/standards-sdk.es27.js +1 -1
  57. package/dist/es/standards-sdk.es28.js +1 -1
  58. package/dist/es/standards-sdk.es29.js +36 -10
  59. package/dist/es/standards-sdk.es29.js.map +1 -1
  60. package/dist/es/standards-sdk.es32.js +20 -4
  61. package/dist/es/standards-sdk.es32.js.map +1 -1
  62. package/dist/es/standards-sdk.es37.js +9 -0
  63. package/dist/es/standards-sdk.es37.js.map +1 -1
  64. package/dist/es/standards-sdk.es46.js +1 -1
  65. package/dist/es/standards-sdk.es52.js +1 -1
  66. package/dist/es/standards-sdk.es59.js +7 -7
  67. package/dist/es/standards-sdk.es64.js +1 -1
  68. package/dist/es/standards-sdk.es65.js +1 -1
  69. package/dist/es/standards-sdk.es66.js +2 -2
  70. package/dist/es/standards-sdk.es72.js +2 -410
  71. package/dist/es/standards-sdk.es72.js.map +1 -1
  72. package/dist/es/standards-sdk.es74.js +410 -2
  73. package/dist/es/standards-sdk.es74.js.map +1 -1
  74. package/dist/es/standards-sdk.es75.js +2 -2
  75. package/dist/es/standards-sdk.es75.js.map +1 -1
  76. package/dist/es/standards-sdk.es76.js +188 -156
  77. package/dist/es/standards-sdk.es76.js.map +1 -1
  78. package/dist/es/standards-sdk.es77.js +139 -289
  79. package/dist/es/standards-sdk.es77.js.map +1 -1
  80. package/dist/es/standards-sdk.es78.js +274 -298
  81. package/dist/es/standards-sdk.es78.js.map +1 -1
  82. package/dist/es/standards-sdk.es79.js +262 -369
  83. package/dist/es/standards-sdk.es79.js.map +1 -1
  84. package/dist/es/standards-sdk.es80.js +316 -194
  85. package/dist/es/standards-sdk.es80.js.map +1 -1
  86. package/dist/es/standards-sdk.es81.js +328 -303
  87. package/dist/es/standards-sdk.es81.js.map +1 -1
  88. package/dist/es/standards-sdk.es82.js +302 -72
  89. package/dist/es/standards-sdk.es82.js.map +1 -1
  90. package/dist/es/standards-sdk.es83.js +66 -194
  91. package/dist/es/standards-sdk.es83.js.map +1 -1
  92. package/dist/es/standards-sdk.es91.js +202 -0
  93. package/dist/es/standards-sdk.es91.js.map +1 -0
  94. package/dist/es/standards-sdk.es92.js +37 -0
  95. package/dist/es/standards-sdk.es92.js.map +1 -0
  96. package/dist/es/standards-sdk.es93.js +81 -0
  97. package/dist/es/standards-sdk.es93.js.map +1 -0
  98. package/dist/es/utils/crypto-abstraction.d.ts +89 -0
  99. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -0
  100. package/dist/es/utils/crypto-env.d.ts +25 -0
  101. package/dist/es/utils/crypto-env.d.ts.map +1 -0
  102. package/dist/es/utils/hash-adapter.d.ts +46 -0
  103. package/dist/es/utils/hash-adapter.d.ts.map +1 -0
  104. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standards-sdk.es93.js","sources":["../../src/utils/hash-adapter.ts"],"sourcesContent":["/**\n * Hash Adapter Interface\n * \n * Provides a unified interface for hash operations across different\n * crypto implementations (Node.js crypto, WebCrypto, fallback).\n */\n\n/**\n * Common interface for hash operations\n */\nexport interface HashAdapter {\n update(data: Buffer | string): HashAdapter;\n digest(encoding?: string): string | Buffer | Promise<string | Buffer>;\n}\n\n/**\n * Node.js crypto hash adapter\n */\nexport class NodeHashAdapter implements HashAdapter {\n constructor(private nodeHash: any) {}\n \n update(data: Buffer | string): HashAdapter {\n this.nodeHash.update(data);\n return this;\n }\n \n digest(encoding?: string): string | Buffer {\n return this.nodeHash.digest(encoding);\n }\n}\n\n/**\n * WebCrypto hash adapter\n */\nexport class WebHashAdapter implements HashAdapter {\n private data: Uint8Array[] = [];\n \n constructor(private algorithm: string) {}\n \n update(data: Buffer | string): HashAdapter {\n const bytes = typeof data === 'string' ? \n new TextEncoder().encode(data) : \n new Uint8Array(data);\n this.data.push(bytes);\n return this;\n }\n \n async digest(encoding?: string): Promise<string | Buffer> {\n const combined = this.concatenateArrays(this.data);\n const hashBuffer = await crypto.subtle.digest(this.mapAlgorithm(this.algorithm), combined);\n \n if (encoding === 'hex') {\n return Array.from(new Uint8Array(hashBuffer))\n .map(b => b.toString(16).padStart(2, '0'))\n .join('');\n }\n \n return Buffer.from(hashBuffer);\n }\n\n private concatenateArrays(arrays: Uint8Array[]): Uint8Array {\n const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);\n const result = new Uint8Array(totalLength);\n let offset = 0;\n \n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n \n return result;\n }\n\n private mapAlgorithm(algorithm: string): string {\n const algorithmMap: Record<string, string> = {\n 'sha256': 'SHA-256',\n 'sha1': 'SHA-1',\n 'sha512': 'SHA-512'\n };\n \n return algorithmMap[algorithm.toLowerCase()] || 'SHA-256';\n }\n}\n\n/**\n * Fallback hash adapter for SSR environments\n */\nexport class FallbackHashAdapter implements HashAdapter {\n private data: Buffer[] = [];\n \n constructor(private algorithm: string) {}\n \n update(data: Buffer | string): HashAdapter {\n const buffer = typeof data === 'string' ? Buffer.from(data) : data;\n this.data.push(buffer);\n return this;\n }\n \n digest(encoding?: string): string {\n const combined = Buffer.concat(this.data);\n const hash = this.simpleHash(combined);\n \n if (encoding === 'hex') {\n return hash.toString(16).padStart(8, '0');\n }\n \n return hash.toString();\n }\n\n private simpleHash(buffer: Buffer): number {\n let hash = 0;\n for (let i = 0; i < buffer.length; i++) {\n hash = ((hash << 5) - hash + buffer[i]) & 0xffffffff;\n }\n return Math.abs(hash);\n }\n}"],"names":[],"mappings":"AAkBO,MAAM,gBAAuC;AAAA,EAClD,YAAoB,UAAe;AAAf,SAAA,WAAA;AAAA,EAAgB;AAAA,EAEpC,OAAO,MAAoC;AACzC,SAAK,SAAS,OAAO,IAAI;AACzB,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,UAAoC;AACzC,WAAO,KAAK,SAAS,OAAO,QAAQ;AAAA,EACtC;AACF;AAKO,MAAM,eAAsC;AAAA,EAGjD,YAAoB,WAAmB;AAAnB,SAAA,YAAA;AAFpB,SAAQ,OAAqB,CAAA;AAAA,EAEW;AAAA,EAExC,OAAO,MAAoC;AACzC,UAAM,QAAQ,OAAO,SAAS,WACjB,IAAI,cAAc,OAAO,IAAI,IAC7B,IAAI,WAAW,IAAI;AAChC,SAAK,KAAK,KAAK,KAAK;AACpB,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAO,UAA6C;AACxD,UAAM,WAAW,KAAK,kBAAkB,KAAK,IAAI;AACjD,UAAM,aAAa,MAAM,OAAO,OAAO,OAAO,KAAK,aAAa,KAAK,SAAS,GAAG,QAAQ;AAEzF,QAAI,aAAa,OAAO;AACtB,aAAO,MAAM,KAAK,IAAI,WAAW,UAAU,CAAC,EACzC,IAAI,CAAA,MAAK,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EACxC,KAAK,EAAE;AAAA,IACZ;AAEA,WAAO,OAAO,KAAK,UAAU;AAAA,EAC/B;AAAA,EAEQ,kBAAkB,QAAkC;AAC1D,UAAM,cAAc,OAAO,OAAO,CAAC,KAAK,QAAQ,MAAM,IAAI,QAAQ,CAAC;AACnE,UAAM,SAAS,IAAI,WAAW,WAAW;AACzC,QAAI,SAAS;AAEb,eAAW,OAAO,QAAQ;AACxB,aAAO,IAAI,KAAK,MAAM;AACtB,gBAAU,IAAI;AAAA,IAChB;AAEA,WAAO;AAAA,EACT;AAAA,EAEQ,aAAa,WAA2B;AAC9C,UAAM,eAAuC;AAAA,MAC3C,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAGZ,WAAO,aAAa,UAAU,YAAA,CAAa,KAAK;AAAA,EAClD;AACF;AAKO,MAAM,oBAA2C;AAAA,EAGtD,YAAoB,WAAmB;AAAnB,SAAA,YAAA;AAFpB,SAAQ,OAAiB,CAAA;AAAA,EAEe;AAAA,EAExC,OAAO,MAAoC;AACzC,UAAM,SAAS,OAAO,SAAS,WAAW,OAAO,KAAK,IAAI,IAAI;AAC9D,SAAK,KAAK,KAAK,MAAM;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,UAA2B;AAChC,UAAM,WAAW,OAAO,OAAO,KAAK,IAAI;AACxC,UAAM,OAAO,KAAK,WAAW,QAAQ;AAErC,QAAI,aAAa,OAAO;AACtB,aAAO,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAAA,IAC1C;AAEA,WAAO,KAAK,SAAA;AAAA,EACd;AAAA,EAEQ,WAAW,QAAwB;AACzC,QAAI,OAAO;AACX,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,cAAS,QAAQ,KAAK,OAAO,OAAO,CAAC,IAAK;AAAA,IAC5C;AACA,WAAO,KAAK,IAAI,IAAI;AAAA,EACtB;AACF;"}
@@ -0,0 +1,89 @@
1
+ import { HashAdapter } from './hash-adapter';
2
+ /**
3
+ * HMAC Adapter interface
4
+ */
5
+ export interface HmacAdapter {
6
+ update(data: Buffer): HmacAdapter;
7
+ digest(encoding?: string): string | Buffer | Promise<string | Buffer>;
8
+ }
9
+ /**
10
+ * Node.js HMAC adapter
11
+ */
12
+ export declare class NodeHmacAdapter implements HmacAdapter {
13
+ private nodeHmac;
14
+ constructor(nodeHmac: any);
15
+ update(data: Buffer): HmacAdapter;
16
+ digest(encoding?: string): string | Buffer;
17
+ }
18
+ /**
19
+ * WebCrypto HMAC adapter
20
+ */
21
+ export declare class WebHmacAdapter implements HmacAdapter {
22
+ private key;
23
+ private algorithm;
24
+ private data;
25
+ constructor(key: Buffer, algorithm?: string);
26
+ update(data: Buffer): HmacAdapter;
27
+ digest(encoding?: string): Promise<string | Buffer>;
28
+ private mapAlgorithm;
29
+ }
30
+ /**
31
+ * Fallback HMAC adapter
32
+ */
33
+ export declare class FallbackHmacAdapter implements HmacAdapter {
34
+ private key;
35
+ private algorithm;
36
+ private data;
37
+ constructor(key: Buffer, algorithm?: string);
38
+ update(data: Buffer): HmacAdapter;
39
+ digest(encoding?: string): string;
40
+ private simpleHmac;
41
+ }
42
+ /**
43
+ * Main crypto adapter interface
44
+ */
45
+ export interface CryptoAdapter {
46
+ createHash(algorithm: string): HashAdapter;
47
+ createHmac(algorithm: string, key: Buffer): HmacAdapter;
48
+ pbkdf2(password: string, salt: Buffer, iterations: number, keylen: number, digest: string): Promise<Buffer>;
49
+ timingSafeEqual(a: Buffer, b: Buffer): boolean;
50
+ }
51
+ /**
52
+ * Node.js crypto adapter
53
+ */
54
+ export declare class NodeCryptoAdapter implements CryptoAdapter {
55
+ private crypto;
56
+ constructor();
57
+ createHash(algorithm: string): HashAdapter;
58
+ createHmac(algorithm: string, key: Buffer): HmacAdapter;
59
+ pbkdf2(password: string, salt: Buffer, iterations: number, keylen: number, digest: string): Promise<Buffer>;
60
+ timingSafeEqual(a: Buffer, b: Buffer): boolean;
61
+ }
62
+ /**
63
+ * WebCrypto adapter
64
+ */
65
+ export declare class WebCryptoAdapter implements CryptoAdapter {
66
+ createHash(algorithm: string): HashAdapter;
67
+ createHmac(algorithm: string, key: Buffer): HmacAdapter;
68
+ pbkdf2(password: string, salt: Buffer, iterations: number, keylen: number, digest: string): Promise<Buffer>;
69
+ timingSafeEqual(a: Buffer, b: Buffer): boolean;
70
+ private mapDigest;
71
+ }
72
+ /**
73
+ * Fallback crypto adapter for SSR
74
+ */
75
+ export declare class FallbackCryptoAdapter implements CryptoAdapter {
76
+ createHash(algorithm: string): HashAdapter;
77
+ createHmac(algorithm: string, key: Buffer): HmacAdapter;
78
+ pbkdf2(password: string, salt: Buffer, iterations: number, keylen: number, digest: string): Promise<Buffer>;
79
+ timingSafeEqual(a: Buffer, b: Buffer): boolean;
80
+ }
81
+ /**
82
+ * Get appropriate crypto adapter for current environment
83
+ */
84
+ export declare function getCryptoAdapter(): CryptoAdapter;
85
+ /**
86
+ * Convenience function for simple hash operations
87
+ */
88
+ export declare function hash(content: Buffer | string, algorithm?: string): Promise<string>;
89
+ //# sourceMappingURL=crypto-abstraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-abstraction.d.ts","sourceRoot":"","sources":["../../../src/utils/crypto-abstraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Crypto Environment Detection Utility
3
+ *
4
+ * Detects available cryptographic APIs and determines the best
5
+ * crypto implementation for the current environment (Node.js, browser, or SSR).
6
+ */
7
+ export interface CryptoEnvironment {
8
+ hasNodeCrypto: boolean;
9
+ hasWebCrypto: boolean;
10
+ isSSR: boolean;
11
+ preferredAPI: 'node' | 'web' | 'none';
12
+ }
13
+ /**
14
+ * Detect current cryptographic environment
15
+ */
16
+ export declare function detectCryptoEnvironment(): CryptoEnvironment;
17
+ /**
18
+ * Check if crypto operations are available
19
+ */
20
+ export declare function isCryptoAvailable(): boolean;
21
+ /**
22
+ * Check if running in server-side rendering context
23
+ */
24
+ export declare function isSSREnvironment(): boolean;
25
+ //# sourceMappingURL=crypto-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-env.d.ts","sourceRoot":"","sources":["../../../src/utils/crypto-env.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAsC3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAG3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Hash Adapter Interface
3
+ *
4
+ * Provides a unified interface for hash operations across different
5
+ * crypto implementations (Node.js crypto, WebCrypto, fallback).
6
+ */
7
+ /**
8
+ * Common interface for hash operations
9
+ */
10
+ export interface HashAdapter {
11
+ update(data: Buffer | string): HashAdapter;
12
+ digest(encoding?: string): string | Buffer | Promise<string | Buffer>;
13
+ }
14
+ /**
15
+ * Node.js crypto hash adapter
16
+ */
17
+ export declare class NodeHashAdapter implements HashAdapter {
18
+ private nodeHash;
19
+ constructor(nodeHash: any);
20
+ update(data: Buffer | string): HashAdapter;
21
+ digest(encoding?: string): string | Buffer;
22
+ }
23
+ /**
24
+ * WebCrypto hash adapter
25
+ */
26
+ export declare class WebHashAdapter implements HashAdapter {
27
+ private algorithm;
28
+ private data;
29
+ constructor(algorithm: string);
30
+ update(data: Buffer | string): HashAdapter;
31
+ digest(encoding?: string): Promise<string | Buffer>;
32
+ private concatenateArrays;
33
+ private mapAlgorithm;
34
+ }
35
+ /**
36
+ * Fallback hash adapter for SSR environments
37
+ */
38
+ export declare class FallbackHashAdapter implements HashAdapter {
39
+ private algorithm;
40
+ private data;
41
+ constructor(algorithm: string);
42
+ update(data: Buffer | string): HashAdapter;
43
+ digest(encoding?: string): string;
44
+ private simpleHash;
45
+ }
46
+ //# sourceMappingURL=hash-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-adapter.d.ts","sourceRoot":"","sources":["../../../src/utils/hash-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACvE;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACrC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,GAAG;IAEjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAK1C,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;CAG3C;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IAGpC,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,IAAI,CAAoB;gBAEZ,SAAS,EAAE,MAAM;IAErC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAQpC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAazD,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,YAAY;CASrB;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IAGzC,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,IAAI,CAAgB;gBAER,SAAS,EAAE,MAAM;IAErC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAM1C,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAWjC,OAAO,CAAC,UAAU;CAOnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashgraphonline/standards-sdk",
3
- "version": "0.0.183",
3
+ "version": "0.0.184",
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": [