@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,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"}
@@ -10,6 +10,7 @@ export declare class ActionBuilder {
10
10
  private logger;
11
11
  private registration;
12
12
  private alias?;
13
+ private cryptoAdapter;
13
14
  constructor(logger: Logger);
14
15
  /**
15
16
  * Set HCS-1 topic ID for WASM storage
@@ -79,6 +80,10 @@ export declare class ActionBuilder {
79
80
  * Calculate hash for any data
80
81
  */
81
82
  calculateHash(data: Uint8Array | Buffer | string): Promise<string>;
83
+ /**
84
+ * Create SSR-safe hash
85
+ */
86
+ private createSSRSafeHash;
82
87
  /**
83
88
  * Create registration from WASM and INFO data
84
89
  */
@@ -1 +1 @@
1
- {"version":3,"file":"action-builder.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/builders/action-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,KAAK,CAAC,CAAS;gBAEX,MAAM,EAAE,MAAM;IAQ1B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQ1C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAKtC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAQpC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAQxC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQ9C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQ5C;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAQtC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQnD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,aAAa;IAQtE;;OAEG;IACH,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,GAAG,aAAa;IActE;;OAEG;IACH,KAAK,CAAC,OAAO,GAAE,YAAiC,GAAG,kBAAkB;IAQrE;;OAEG;IACH,KAAK,IAAI,aAAa;IAStB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB;;OAEG;IACH,UAAU,IAAI,MAAM;IAOpB;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7D;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxE;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,kBAAkB,CAAC;IAiB9B;;OAEG;IACH,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO;IAU9D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAYhB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,cAAc;CAGvB"}
1
+ {"version":3,"file":"action-builder.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/builders/action-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,aAAa,CAAsB;gBAE/B,MAAM,EAAE,MAAM;IAQ1B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQ1C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAKtC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAQpC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAQxC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQ9C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQ5C;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAQtC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAQnD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,aAAa;IAQtE;;OAEG;IACH,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,GAAG,aAAa;IActE;;OAEG;IACH,KAAK,CAAC,OAAO,GAAE,YAAiC,GAAG,kBAAkB;IAQrE;;OAEG;IACH,KAAK,IAAI,aAAa;IAStB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB;;OAEG;IACH,UAAU,IAAI,MAAM;IAOpB;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAW7D;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAazD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcxE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,kBAAkB,CAAC;IAiB9B;;OAEG;IACH,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO;IAU9D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAYhB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,cAAc;CAGvB"}
@@ -9,6 +9,7 @@ import { HCS12BrowserClient } from '../browser';
9
9
  */
10
10
  export declare class ActionRegistry extends BaseRegistry {
11
11
  private actionsByHash;
12
+ private cryptoAdapter;
12
13
  constructor(networkType: NetworkType, logger: ILogger, topicId?: string, client?: HCS12Client | HCS12BrowserClient);
13
14
  /**
14
15
  * Register a WASM module with its binary via HCS-1
@@ -60,5 +61,9 @@ export declare class ActionRegistry extends BaseRegistry {
60
61
  * Override clear cache to also clear action hash index
61
62
  */
62
63
  clearCache(): void;
64
+ /**
65
+ * Create SSR-safe hash
66
+ */
67
+ private createSSRSafeHash;
63
68
  }
64
69
  //# sourceMappingURL=action-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-registry.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/registries/action-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAGL,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAQrD;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,aAAa,CAA8C;gBAGjE,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GAAG,kBAAkB;IAK3C;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,EACtB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,kBAAkB,CAAC;IAuC9B;;OAEG;IACG,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2DjE;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAYjE;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA0CrC;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAmE7D;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA4D7D;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAmBjC;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAgBxE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB"}
1
+ {"version":3,"file":"action-registry.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/registries/action-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAGL,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAQrD;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,aAAa,CAAsB;gBAGzC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GAAG,kBAAkB;IAK3C;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,EACtB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,kBAAkB,CAAC;IAwD9B;;OAEG;IACG,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2DjE;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAYjE;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA0CrC;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA0E7D;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAkE7D;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAmBjC;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAgBxE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAS1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-manager.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/rendering/resource-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-manager.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/rendering/resource-manager.ts"],"names":[],"mappings":"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"}
@@ -66,11 +66,16 @@ export declare class HashVerifier {
66
66
  private config;
67
67
  private cache;
68
68
  private cacheConfig?;
69
+ private cryptoAdapter;
69
70
  constructor(config: HashVerifierConfig);
70
71
  /**
71
72
  * Hash content with specified algorithm
72
73
  */
73
74
  hash(content: Buffer, algorithm?: string): Promise<string>;
75
+ /**
76
+ * Create deterministic placeholder hash for SSR environments
77
+ */
78
+ private createSSRSafeHash;
74
79
  /**
75
80
  * Create WASM module manifest
76
81
  */
@@ -158,10 +163,18 @@ export declare class HashVerifier {
158
163
  * Derive key from password
159
164
  */
160
165
  deriveKey(password: string, salt: Buffer, options: KeyDerivationOptions): Promise<string>;
166
+ /**
167
+ * Create SSR-safe key derivation
168
+ */
169
+ private createSSRSafeKey;
161
170
  /**
162
171
  * Create HMAC
163
172
  */
164
173
  createHMAC(content: Buffer, secret: Buffer): Promise<string>;
174
+ /**
175
+ * Create SSR-safe HMAC
176
+ */
177
+ private createSSRSafeHMAC;
165
178
  /**
166
179
  * Verify HMAC
167
180
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hash-verifier.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/security/hash-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash-verifier.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/security/hash-verifier.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,7 @@ export declare class SignatureVerifier {
80
80
  private verificationCache;
81
81
  private replayProtection?;
82
82
  private cacheConfig?;
83
+ private cryptoAdapter;
83
84
  constructor(config: SignatureVerifierConfig);
84
85
  /**
85
86
  * Sign data with private key
@@ -103,6 +104,10 @@ export declare class SignatureVerifier {
103
104
  * Hash action for chaining
104
105
  */
105
106
  hashAction(signedAction: SignedAction): Promise<string>;
107
+ /**
108
+ * Create SSR-safe hash
109
+ */
110
+ private createSSRSafeHash;
106
111
  /**
107
112
  * Verify action chain
108
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"signature-verifier.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/security/signature-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature-verifier.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/security/signature-verifier.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export interface ExportSignature {
30
30
  */
31
31
  export declare class WasmValidator {
32
32
  private logger;
33
+ private cryptoAdapter;
33
34
  private readonly REQUIRED_EXPORTS;
34
35
  private readonly ALLOWED_IMPORTS;
35
36
  private readonly MAX_INITIAL_MEMORY;
@@ -56,6 +57,10 @@ export declare class WasmValidator {
56
57
  * Calculate WASM hash
57
58
  */
58
59
  calculateHash(wasmData: Uint8Array): Promise<string>;
60
+ /**
61
+ * Create SSR-safe hash for WASM data
62
+ */
63
+ private createSSRSafeHash;
59
64
  /**
60
65
  * Validate WASM magic number
61
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-validator.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/validation/wasm-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;IAE5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK7B;IAEH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAE1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;gBAEvC,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuFnE;;OAEG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GACvC,OAAO,CAAC,oBAAoB,CAAC;IAiChC;;OAEG;IACG,qBAAqB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqB3E;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAQzD;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;YACW,WAAW;IAmEzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAM9B"}
1
+ {"version":3,"file":"wasm-validator.d.ts","sourceRoot":"","sources":["../../../../src/hcs-12/validation/wasm-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;IAE5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK7B;IAEH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAE1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;gBAEvC,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuFnE;;OAEG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GACvC,OAAO,CAAC,oBAAoB,CAAC;IAiChC;;OAEG;IACG,qBAAqB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqB3E;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAQzD;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAW1D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;YACW,WAAW;IAmEzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -8,7 +8,7 @@ import "axios";
8
8
  import "@hashgraph/proto";
9
9
  import "buffer";
10
10
  import "ethers";
11
- import "./standards-sdk.es72.js";
11
+ import "./standards-sdk.es74.js";
12
12
  import { detectKeyTypeFromString } from "./standards-sdk.es62.js";
13
13
  import { getTopicId } from "./standards-sdk.es63.js";
14
14
  import { HCS10BaseClient, Hcs10MemoType } from "./standards-sdk.es9.js";
@@ -5,7 +5,7 @@ import "@hashgraph/proto";
5
5
  import { ProgressReporter } from "./standards-sdk.es57.js";
6
6
  import "buffer";
7
7
  import "ethers";
8
- import "./standards-sdk.es72.js";
8
+ import "./standards-sdk.es74.js";
9
9
  import "./standards-sdk.es62.js";
10
10
  import { getTopicId } from "./standards-sdk.es63.js";
11
11
  import { I as InscriptionSDK } from "./standards-sdk.es73.js";
@@ -1,5 +1,5 @@
1
1
  import { HCS11Client } from "./standards-sdk.es18.js";
2
- import { sleep } from "./standards-sdk.es74.js";
2
+ import { sleep } from "./standards-sdk.es75.js";
3
3
  class Registration {
4
4
  /**
5
5
  * Checks the status of a registration request.
@@ -7,7 +7,7 @@ import "axios";
7
7
  import "@hashgraph/proto";
8
8
  import "buffer";
9
9
  import "ethers";
10
- import "./standards-sdk.es72.js";
10
+ import "./standards-sdk.es74.js";
11
11
  import { detectKeyTypeFromString } from "./standards-sdk.es62.js";
12
12
  import { getTopicId } from "./standards-sdk.es63.js";
13
13
  import * as mime from "mime-types";
@@ -1,21 +1,37 @@
1
1
  import { RegistryType } from "./standards-sdk.es20.js";
2
2
  import { BaseRegistry } from "./standards-sdk.es21.js";
3
3
  import { retrieveInscription } from "./standards-sdk.es66.js";
4
- import { createHash } from "crypto";
4
+ import { getCryptoAdapter } from "./standards-sdk.es91.js";
5
+ import { isSSREnvironment } from "./standards-sdk.es92.js";
5
6
  import { validateActionRegistration } from "./standards-sdk.es33.js";
6
7
  import { ZodError } from "zod";
7
8
  class ActionRegistry extends BaseRegistry {
8
9
  constructor(networkType, logger, topicId, client) {
9
10
  super(networkType, logger, RegistryType.ACTION, topicId, client);
10
11
  this.actionsByHash = /* @__PURE__ */ new Map();
12
+ this.cryptoAdapter = getCryptoAdapter();
11
13
  }
12
14
  /**
13
15
  * Register a WASM module with its binary via HCS-1
14
16
  */
15
17
  async registerWithWasm(wasmBinary, moduleInfo, sourceVerification) {
16
- const wasmHash = createHash("sha256").update(wasmBinary).digest("hex");
17
- const infoString = JSON.stringify(moduleInfo);
18
- const infoHash = createHash("sha256").update(infoString).digest("hex");
18
+ let wasmHash;
19
+ let infoHash;
20
+ if (isSSREnvironment()) {
21
+ wasmHash = this.createSSRSafeHash(wasmBinary, "wasm");
22
+ const infoString2 = JSON.stringify(moduleInfo);
23
+ infoHash = this.createSSRSafeHash(Buffer.from(infoString2), "info");
24
+ } else {
25
+ const wasmHasher = this.cryptoAdapter.createHash("sha256");
26
+ const wasmResult = wasmHasher.update(wasmBinary).digest("hex");
27
+ const wasmHashValue = wasmResult instanceof Promise ? await wasmResult : wasmResult;
28
+ wasmHash = typeof wasmHashValue === "string" ? wasmHashValue : wasmHashValue.toString("hex");
29
+ const infoString2 = JSON.stringify(moduleInfo);
30
+ const infoHasher = this.cryptoAdapter.createHash("sha256");
31
+ const infoResult = infoHasher.update(Buffer.from(infoString2)).digest("hex");
32
+ const infoHashValue = infoResult instanceof Promise ? await infoResult : infoResult;
33
+ infoHash = typeof infoHashValue === "string" ? infoHashValue : infoHashValue.toString("hex");
34
+ }
19
35
  const wasmTopicId = await this.inscribeContent(
20
36
  wasmBinary,
21
37
  "application/octet-stream",
@@ -27,6 +43,7 @@ class ActionRegistry extends BaseRegistry {
27
43
  }
28
44
  );
29
45
  let infoTopicId;
46
+ const infoString = JSON.stringify(moduleInfo);
30
47
  if (Buffer.byteLength(infoString, "utf8") > 1024) {
31
48
  infoTopicId = await this.inscribeContent(infoString, "application/json", {
32
49
  name: `${moduleInfo.name}-info`,
@@ -182,7 +199,15 @@ class ActionRegistry extends BaseRegistry {
182
199
  return null;
183
200
  }
184
201
  const moduleInfo = JSON.parse(infoString);
185
- const computedHash = createHash("sha256").update(infoString).digest("hex");
202
+ let computedHash;
203
+ if (isSSREnvironment()) {
204
+ computedHash = this.createSSRSafeHash(Buffer.from(infoString), "info");
205
+ } else {
206
+ const hasher = this.cryptoAdapter.createHash("sha256");
207
+ const result = hasher.update(Buffer.from(infoString)).digest("hex");
208
+ const hashValue = result instanceof Promise ? await result : result;
209
+ computedHash = typeof hashValue === "string" ? hashValue : hashValue.toString("hex");
210
+ }
186
211
  if (computedHash !== action.hash) {
187
212
  this.logger.error("INFO hash mismatch", {
188
213
  expected: action.hash,
@@ -229,7 +254,15 @@ class ActionRegistry extends BaseRegistry {
229
254
  return null;
230
255
  }
231
256
  const wasmBuffer = typeof inscription.content === "string" ? Buffer.from(inscription.content, "base64") : Buffer.from(inscription.content);
232
- const computedHash = createHash("sha256").update(wasmBuffer).digest("hex");
257
+ let computedHash;
258
+ if (isSSREnvironment()) {
259
+ computedHash = this.createSSRSafeHash(wasmBuffer, "wasm");
260
+ } else {
261
+ const hasher = this.cryptoAdapter.createHash("sha256");
262
+ const result = hasher.update(wasmBuffer).digest("hex");
263
+ const hashValue = result instanceof Promise ? await result : result;
264
+ computedHash = typeof hashValue === "string" ? hashValue : hashValue.toString("hex");
265
+ }
233
266
  if (computedHash !== action.wasm_hash) {
234
267
  this.logger.error("WASM hash mismatch", {
235
268
  expected: action.wasm_hash,
@@ -311,6 +344,16 @@ class ActionRegistry extends BaseRegistry {
311
344
  super.clearCache();
312
345
  this.actionsByHash.clear();
313
346
  }
347
+ /**
348
+ * Create SSR-safe hash
349
+ */
350
+ createSSRSafeHash(data, type) {
351
+ let hash = 0;
352
+ for (let i = 0; i < Math.min(data.length, 256); i++) {
353
+ hash = (hash << 5) - hash + data[i] & 4294967295;
354
+ }
355
+ return `ssr-${type}-${data.length}-${Math.abs(hash).toString(16).padStart(8, "0")}`;
356
+ }
314
357
  }
315
358
  export {
316
359
  ActionRegistry
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es22.js","sources":["../../src/hcs-12/registries/action-registry.ts"],"sourcesContent":["/**\n * Action Registry Implementation for HCS-12\n *\n * Manages registration and retrieval of HashLink WASM actions.\n */\n\nimport { ILogger } from '../../utils/logger';\nimport { NetworkType } from '../../utils/types';\nimport {\n RegistryType,\n AssemblyRegistryEntry,\n ActionRegistration,\n ModuleInfo,\n SourceVerification,\n} from '../types';\nimport { BaseRegistry } from './base-registry';\nimport { retrieveInscription } from '../../inscribe';\nimport { createHash } from 'crypto';\nimport type { HCS12Client } from '../sdk';\nimport type { HCS12BrowserClient } from '../browser';\nimport {\n validateActionRegistration,\n safeValidate,\n actionRegistrationSchema,\n} from '../validation/schemas';\nimport { ZodError } from 'zod';\n\n/**\n * Registry for HashLink WASM actions\n */\nexport class ActionRegistry extends BaseRegistry {\n private actionsByHash: Map<string, ActionRegistration> = new Map();\n\n constructor(\n networkType: NetworkType,\n logger: ILogger,\n topicId?: string,\n client?: HCS12Client | HCS12BrowserClient,\n ) {\n super(networkType, logger, RegistryType.ACTION, topicId, client);\n }\n\n /**\n * Register a WASM module with its binary via HCS-1\n */\n async registerWithWasm(\n wasmBinary: Buffer,\n moduleInfo: ModuleInfo,\n sourceVerification?: SourceVerification,\n ): Promise<ActionRegistration> {\n const wasmHash = createHash('sha256').update(wasmBinary).digest('hex');\n const infoString = JSON.stringify(moduleInfo);\n const infoHash = createHash('sha256').update(infoString).digest('hex');\n\n const wasmTopicId = await this.inscribeContent(\n wasmBinary,\n 'application/octet-stream',\n {\n name: moduleInfo.name,\n version: moduleInfo.version,\n hash: wasmHash,\n fileType: 'wasm',\n },\n );\n\n let infoTopicId: string | undefined;\n if (Buffer.byteLength(infoString, 'utf8') > 1024) {\n infoTopicId = await this.inscribeContent(infoString, 'application/json', {\n name: `${moduleInfo.name}-info`,\n version: moduleInfo.version,\n });\n }\n\n const registration: ActionRegistration = {\n p: 'hcs-12',\n op: 'register',\n t_id: wasmTopicId,\n hash: infoHash,\n wasm_hash: wasmHash,\n info_t_id: infoTopicId,\n source_verification: sourceVerification,\n m: `${moduleInfo.name} v${moduleInfo.version}`,\n };\n\n const id = await this.register(registration);\n return registration;\n }\n\n /**\n * Register a new WASM action\n */\n async register(registration: ActionRegistration): Promise<string> {\n this.validateRegistration(registration);\n\n if (this.topicId && this.client) {\n this.logger.info('Submitting action registration to HCS', {\n topicId: this.topicId,\n hash: registration.hash,\n wasmHash: registration.wasm_hash,\n });\n\n const result = await this.client.submitMessage(\n this.topicId,\n JSON.stringify(registration),\n );\n\n const sequenceNumber = result.sequenceNumber;\n if (!sequenceNumber) {\n throw new Error('No sequence number returned from submission');\n }\n\n const entry: AssemblyRegistryEntry = {\n id: sequenceNumber.toString(),\n sequenceNumber,\n timestamp: new Date().toISOString(),\n submitter:\n 'getHashConnect' in this.client\n ? (await (this.client as HCS12BrowserClient).getAccountAndSigner())\n .accountId\n : this.client.getOperatorAccountId(),\n data: registration,\n };\n\n this.entries.set(entry.id, entry);\n this.actionsByHash.set(registration.hash, registration);\n\n this.logger.info('Action registered', {\n hash: registration.hash,\n sequenceNumber,\n hasSourceVerification: !!registration.source_verification,\n });\n\n return sequenceNumber.toString();\n } else {\n const sequenceNumber = this.entries.size + 1;\n const entry: AssemblyRegistryEntry = {\n id: sequenceNumber.toString(),\n sequenceNumber,\n timestamp: new Date().toISOString(),\n submitter: 'local',\n data: registration,\n };\n\n this.entries.set(entry.id, entry);\n this.actionsByHash.set(registration.hash, registration);\n\n return sequenceNumber.toString();\n }\n }\n\n /**\n * Retrieve action by hash\n */\n async getAction(hash: string): Promise<ActionRegistration | null> {\n const cached = this.actionsByHash.get(hash);\n if (cached) return cached;\n\n if (this.topicId && this.client) {\n await this.sync();\n return this.actionsByHash.get(hash) || null;\n }\n\n return null;\n }\n\n /**\n * Retrieve action by topic ID\n */\n async getActionByTopicId(\n topicId: string,\n ): Promise<ActionRegistration | null> {\n this.logger.debug('getActionByTopicId called', { topicId });\n console.log('DEBUG: getActionByTopicId called', {\n topicId,\n cacheSize: this.actionsByHash.size,\n cachedTopicIds: Array.from(this.actionsByHash.values()).map(a => a.t_id),\n });\n\n for (const action of this.actionsByHash.values()) {\n if (action.t_id === topicId) {\n this.logger.debug('Action found in cache', { topicId, action });\n console.log('DEBUG: Action found in cache', { topicId, action });\n return action;\n }\n }\n\n if (this.topicId && this.client) {\n this.logger.debug('Action not in cache, syncing...', { topicId });\n console.log('DEBUG: Action not in cache, syncing...');\n await this.sync();\n\n console.log('DEBUG: After sync', {\n cacheSize: this.actionsByHash.size,\n cachedTopicIds: Array.from(this.actionsByHash.values()).map(\n a => a.t_id,\n ),\n });\n\n for (const action of this.actionsByHash.values()) {\n if (action.t_id === topicId) {\n this.logger.debug('Action found after sync', { topicId, action });\n console.log('DEBUG: Action found after sync', { topicId, action });\n return action;\n }\n }\n }\n\n this.logger.warn('Action not found', { topicId });\n console.log('DEBUG: Action not found', { topicId });\n return null;\n }\n\n /**\n * Retrieve action info by hash\n */\n async getActionInfo(hash: string): Promise<ModuleInfo | null> {\n const action = await this.getAction(hash);\n if (!action) return null;\n\n try {\n let infoString: string;\n\n if (action.info_t_id) {\n if (!this.client) {\n this.logger.error('Client not initialized - cannot fetch INFO');\n return null;\n }\n\n let inscription;\n\n if ('getOperatorAccountId' in this.client) {\n inscription = await retrieveInscription(action.info_t_id, {\n accountId: this.client.getOperatorAccountId(),\n privateKey: this.client.getOperatorPrivateKey(),\n network: this.networkType as 'mainnet' | 'testnet',\n });\n } else {\n const { accountId } = await (\n this.client as HCS12BrowserClient\n ).getAccountAndSigner();\n inscription = await retrieveInscription(action.info_t_id, {\n accountId,\n network: this.networkType as 'mainnet' | 'testnet',\n });\n }\n\n if (!inscription.content) {\n this.logger.error('No content in inscription response');\n return null;\n }\n infoString =\n typeof inscription.content === 'string'\n ? inscription.content\n : Buffer.from(inscription.content).toString('utf8');\n } else {\n this.logger.warn('Inline INFO storage not yet implemented');\n return null;\n }\n\n const moduleInfo = JSON.parse(infoString) as ModuleInfo;\n const computedHash = createHash('sha256')\n .update(infoString)\n .digest('hex');\n\n if (computedHash !== action.hash) {\n this.logger.error('INFO hash mismatch', {\n expected: action.hash,\n computed: computedHash,\n });\n throw new Error('Module info verification failed');\n }\n\n return moduleInfo;\n } catch (error) {\n this.logger.error('Failed to fetch action INFO', {\n hash,\n error,\n });\n return null;\n }\n }\n\n /**\n * Retrieve action WASM binary\n */\n async getActionWasm(hash: string): Promise<Uint8Array | null> {\n const action = await this.getAction(hash);\n if (!action) return null;\n\n if (!this.client) {\n this.logger.error('Client not initialized - cannot fetch WASM');\n return null;\n }\n\n try {\n let inscription;\n\n if ('getOperatorAccountId' in this.client) {\n inscription = await retrieveInscription(action.t_id, {\n accountId: this.client.getOperatorAccountId(),\n privateKey: this.client.getOperatorPrivateKey(),\n network: this.networkType as 'mainnet' | 'testnet',\n });\n } else {\n const { accountId } = await (\n this.client as HCS12BrowserClient\n ).getAccountAndSigner();\n inscription = await retrieveInscription(action.t_id, {\n accountId,\n network: this.networkType as 'mainnet' | 'testnet',\n });\n }\n\n if (!inscription.content) {\n this.logger.error('No content in inscription response');\n return null;\n }\n\n const wasmBuffer =\n typeof inscription.content === 'string'\n ? Buffer.from(inscription.content, 'base64')\n : Buffer.from(inscription.content);\n\n const computedHash = createHash('sha256')\n .update(wasmBuffer)\n .digest('hex');\n\n if (computedHash !== action.wasm_hash) {\n this.logger.error('WASM hash mismatch', {\n expected: action.wasm_hash,\n computed: computedHash,\n });\n throw new Error('WASM binary verification failed');\n }\n\n return new Uint8Array(wasmBuffer);\n } catch (error) {\n this.logger.error('Failed to fetch WASM from HCS-1', {\n topicId: action.t_id,\n error,\n });\n return null;\n }\n }\n\n /**\n * Search actions by criteria\n */\n async searchActions(criteria: {\n creator?: string;\n capability?: string;\n afterTimestamp?: string;\n beforeTimestamp?: string;\n hasSourceVerification?: boolean;\n }): Promise<ActionRegistration[]> {\n const entries = await this.listEntries({\n submitter: criteria.creator,\n afterTimestamp: criteria.afterTimestamp,\n beforeTimestamp: criteria.beforeTimestamp,\n });\n\n return entries\n .map(entry => entry.data as ActionRegistration)\n .filter(action => {\n if (criteria.hasSourceVerification !== undefined) {\n const hasVerification = !!action.source_verification;\n if (hasVerification !== criteria.hasSourceVerification) return false;\n }\n\n return true;\n });\n }\n\n /**\n * Get actions by version chain\n */\n async getVersionChain(latestHash: string): Promise<ActionRegistration[]> {\n const chain: ActionRegistration[] = [];\n let currentHash: string | undefined = latestHash;\n\n while (currentHash) {\n const action = await this.getAction(currentHash);\n if (!action) break;\n\n chain.push(action);\n\n currentHash = undefined;\n }\n\n return chain;\n }\n\n /**\n * Validate action registration using Zod schema\n */\n private validateRegistration(registration: ActionRegistration): void {\n try {\n validateActionRegistration(registration);\n } catch (error) {\n if (error instanceof ZodError) {\n const firstError = error.errors[0];\n throw new Error(\n `Validation failed: ${firstError.path.join('.')} - ${firstError.message}`,\n );\n }\n throw error;\n }\n }\n\n /**\n * Override sync to handle action-specific processing\n */\n async sync(): Promise<void> {\n await super.sync();\n\n this.actionsByHash.clear();\n for (const entry of this.entries.values()) {\n const action = entry.data as ActionRegistration;\n this.actionsByHash.set(action.hash, action);\n }\n }\n\n /**\n * Override clear cache to also clear action hash index\n */\n clearCache(): void {\n super.clearCache();\n this.actionsByHash.clear();\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es22.js","sources":["../../src/hcs-12/registries/action-registry.ts"],"sourcesContent":["/**\n * Action Registry Implementation for HCS-12\n *\n * Manages registration and retrieval of HashLink WASM actions.\n */\n\nimport { ILogger } from '../../utils/logger';\nimport { NetworkType } from '../../utils/types';\nimport {\n RegistryType,\n AssemblyRegistryEntry,\n ActionRegistration,\n ModuleInfo,\n SourceVerification,\n} from '../types';\nimport { BaseRegistry } from './base-registry';\nimport { retrieveInscription } from '../../inscribe';\nimport { getCryptoAdapter } from '../../utils/crypto-abstraction';\nimport { isSSREnvironment } from '../../utils/crypto-env';\nimport type { HCS12Client } from '../sdk';\nimport type { HCS12BrowserClient } from '../browser';\nimport {\n validateActionRegistration,\n safeValidate,\n actionRegistrationSchema,\n} from '../validation/schemas';\nimport { ZodError } from 'zod';\n\n/**\n * Registry for HashLink WASM actions\n */\nexport class ActionRegistry extends BaseRegistry {\n private actionsByHash: Map<string, ActionRegistration> = new Map();\n private cryptoAdapter = getCryptoAdapter();\n\n constructor(\n networkType: NetworkType,\n logger: ILogger,\n topicId?: string,\n client?: HCS12Client | HCS12BrowserClient,\n ) {\n super(networkType, logger, RegistryType.ACTION, topicId, client);\n }\n\n /**\n * Register a WASM module with its binary via HCS-1\n */\n async registerWithWasm(\n wasmBinary: Buffer,\n moduleInfo: ModuleInfo,\n sourceVerification?: SourceVerification,\n ): Promise<ActionRegistration> {\n let wasmHash: string;\n let infoHash: string;\n\n if (isSSREnvironment()) {\n wasmHash = this.createSSRSafeHash(wasmBinary, 'wasm');\n const infoString = JSON.stringify(moduleInfo);\n infoHash = this.createSSRSafeHash(Buffer.from(infoString), 'info');\n } else {\n const wasmHasher = this.cryptoAdapter.createHash('sha256');\n const wasmResult = wasmHasher.update(wasmBinary).digest('hex');\n const wasmHashValue = wasmResult instanceof Promise ? await wasmResult : wasmResult;\n wasmHash = typeof wasmHashValue === 'string' ? wasmHashValue : wasmHashValue.toString('hex');\n\n const infoString = JSON.stringify(moduleInfo);\n const infoHasher = this.cryptoAdapter.createHash('sha256');\n const infoResult = infoHasher.update(Buffer.from(infoString)).digest('hex');\n const infoHashValue = infoResult instanceof Promise ? await infoResult : infoResult;\n infoHash = typeof infoHashValue === 'string' ? infoHashValue : infoHashValue.toString('hex');\n }\n\n const wasmTopicId = await this.inscribeContent(\n wasmBinary,\n 'application/octet-stream',\n {\n name: moduleInfo.name,\n version: moduleInfo.version,\n hash: wasmHash,\n fileType: 'wasm',\n },\n );\n\n let infoTopicId: string | undefined;\n const infoString = JSON.stringify(moduleInfo);\n if (Buffer.byteLength(infoString, 'utf8') > 1024) {\n infoTopicId = await this.inscribeContent(infoString, 'application/json', {\n name: `${moduleInfo.name}-info`,\n version: moduleInfo.version,\n });\n }\n\n const registration: ActionRegistration = {\n p: 'hcs-12',\n op: 'register',\n t_id: wasmTopicId,\n hash: infoHash,\n wasm_hash: wasmHash,\n info_t_id: infoTopicId,\n source_verification: sourceVerification,\n m: `${moduleInfo.name} v${moduleInfo.version}`,\n };\n\n const id = await this.register(registration);\n return registration;\n }\n\n /**\n * Register a new WASM action\n */\n async register(registration: ActionRegistration): Promise<string> {\n this.validateRegistration(registration);\n\n if (this.topicId && this.client) {\n this.logger.info('Submitting action registration to HCS', {\n topicId: this.topicId,\n hash: registration.hash,\n wasmHash: registration.wasm_hash,\n });\n\n const result = await this.client.submitMessage(\n this.topicId,\n JSON.stringify(registration),\n );\n\n const sequenceNumber = result.sequenceNumber;\n if (!sequenceNumber) {\n throw new Error('No sequence number returned from submission');\n }\n\n const entry: AssemblyRegistryEntry = {\n id: sequenceNumber.toString(),\n sequenceNumber,\n timestamp: new Date().toISOString(),\n submitter:\n 'getHashConnect' in this.client\n ? (await (this.client as HCS12BrowserClient).getAccountAndSigner())\n .accountId\n : this.client.getOperatorAccountId(),\n data: registration,\n };\n\n this.entries.set(entry.id, entry);\n this.actionsByHash.set(registration.hash, registration);\n\n this.logger.info('Action registered', {\n hash: registration.hash,\n sequenceNumber,\n hasSourceVerification: !!registration.source_verification,\n });\n\n return sequenceNumber.toString();\n } else {\n const sequenceNumber = this.entries.size + 1;\n const entry: AssemblyRegistryEntry = {\n id: sequenceNumber.toString(),\n sequenceNumber,\n timestamp: new Date().toISOString(),\n submitter: 'local',\n data: registration,\n };\n\n this.entries.set(entry.id, entry);\n this.actionsByHash.set(registration.hash, registration);\n\n return sequenceNumber.toString();\n }\n }\n\n /**\n * Retrieve action by hash\n */\n async getAction(hash: string): Promise<ActionRegistration | null> {\n const cached = this.actionsByHash.get(hash);\n if (cached) return cached;\n\n if (this.topicId && this.client) {\n await this.sync();\n return this.actionsByHash.get(hash) || null;\n }\n\n return null;\n }\n\n /**\n * Retrieve action by topic ID\n */\n async getActionByTopicId(\n topicId: string,\n ): Promise<ActionRegistration | null> {\n this.logger.debug('getActionByTopicId called', { topicId });\n console.log('DEBUG: getActionByTopicId called', {\n topicId,\n cacheSize: this.actionsByHash.size,\n cachedTopicIds: Array.from(this.actionsByHash.values()).map(a => a.t_id),\n });\n\n for (const action of this.actionsByHash.values()) {\n if (action.t_id === topicId) {\n this.logger.debug('Action found in cache', { topicId, action });\n console.log('DEBUG: Action found in cache', { topicId, action });\n return action;\n }\n }\n\n if (this.topicId && this.client) {\n this.logger.debug('Action not in cache, syncing...', { topicId });\n console.log('DEBUG: Action not in cache, syncing...');\n await this.sync();\n\n console.log('DEBUG: After sync', {\n cacheSize: this.actionsByHash.size,\n cachedTopicIds: Array.from(this.actionsByHash.values()).map(\n a => a.t_id,\n ),\n });\n\n for (const action of this.actionsByHash.values()) {\n if (action.t_id === topicId) {\n this.logger.debug('Action found after sync', { topicId, action });\n console.log('DEBUG: Action found after sync', { topicId, action });\n return action;\n }\n }\n }\n\n this.logger.warn('Action not found', { topicId });\n console.log('DEBUG: Action not found', { topicId });\n return null;\n }\n\n /**\n * Retrieve action info by hash\n */\n async getActionInfo(hash: string): Promise<ModuleInfo | null> {\n const action = await this.getAction(hash);\n if (!action) return null;\n\n try {\n let infoString: string;\n\n if (action.info_t_id) {\n if (!this.client) {\n this.logger.error('Client not initialized - cannot fetch INFO');\n return null;\n }\n\n let inscription;\n\n if ('getOperatorAccountId' in this.client) {\n inscription = await retrieveInscription(action.info_t_id, {\n accountId: this.client.getOperatorAccountId(),\n privateKey: this.client.getOperatorPrivateKey(),\n network: this.networkType as 'mainnet' | 'testnet',\n });\n } else {\n const { accountId } = await (\n this.client as HCS12BrowserClient\n ).getAccountAndSigner();\n inscription = await retrieveInscription(action.info_t_id, {\n accountId,\n network: this.networkType as 'mainnet' | 'testnet',\n });\n }\n\n if (!inscription.content) {\n this.logger.error('No content in inscription response');\n return null;\n }\n infoString =\n typeof inscription.content === 'string'\n ? inscription.content\n : Buffer.from(inscription.content).toString('utf8');\n } else {\n this.logger.warn('Inline INFO storage not yet implemented');\n return null;\n }\n\n const moduleInfo = JSON.parse(infoString) as ModuleInfo;\n \n let computedHash: string;\n if (isSSREnvironment()) {\n computedHash = this.createSSRSafeHash(Buffer.from(infoString), 'info');\n } else {\n const hasher = this.cryptoAdapter.createHash('sha256');\n const result = hasher.update(Buffer.from(infoString)).digest('hex');\n const hashValue = result instanceof Promise ? await result : result;\n computedHash = typeof hashValue === 'string' ? hashValue : hashValue.toString('hex');\n }\n\n if (computedHash !== action.hash) {\n this.logger.error('INFO hash mismatch', {\n expected: action.hash,\n computed: computedHash,\n });\n throw new Error('Module info verification failed');\n }\n\n return moduleInfo;\n } catch (error) {\n this.logger.error('Failed to fetch action INFO', {\n hash,\n error,\n });\n return null;\n }\n }\n\n /**\n * Retrieve action WASM binary\n */\n async getActionWasm(hash: string): Promise<Uint8Array | null> {\n const action = await this.getAction(hash);\n if (!action) return null;\n\n if (!this.client) {\n this.logger.error('Client not initialized - cannot fetch WASM');\n return null;\n }\n\n try {\n let inscription;\n\n if ('getOperatorAccountId' in this.client) {\n inscription = await retrieveInscription(action.t_id, {\n accountId: this.client.getOperatorAccountId(),\n privateKey: this.client.getOperatorPrivateKey(),\n network: this.networkType as 'mainnet' | 'testnet',\n });\n } else {\n const { accountId } = await (\n this.client as HCS12BrowserClient\n ).getAccountAndSigner();\n inscription = await retrieveInscription(action.t_id, {\n accountId,\n network: this.networkType as 'mainnet' | 'testnet',\n });\n }\n\n if (!inscription.content) {\n this.logger.error('No content in inscription response');\n return null;\n }\n\n const wasmBuffer =\n typeof inscription.content === 'string'\n ? Buffer.from(inscription.content, 'base64')\n : Buffer.from(inscription.content);\n\n let computedHash: string;\n if (isSSREnvironment()) {\n computedHash = this.createSSRSafeHash(wasmBuffer, 'wasm');\n } else {\n const hasher = this.cryptoAdapter.createHash('sha256');\n const result = hasher.update(wasmBuffer).digest('hex');\n const hashValue = result instanceof Promise ? await result : result;\n computedHash = typeof hashValue === 'string' ? hashValue : hashValue.toString('hex');\n }\n\n if (computedHash !== action.wasm_hash) {\n this.logger.error('WASM hash mismatch', {\n expected: action.wasm_hash,\n computed: computedHash,\n });\n throw new Error('WASM binary verification failed');\n }\n\n return new Uint8Array(wasmBuffer);\n } catch (error) {\n this.logger.error('Failed to fetch WASM from HCS-1', {\n topicId: action.t_id,\n error,\n });\n return null;\n }\n }\n\n /**\n * Search actions by criteria\n */\n async searchActions(criteria: {\n creator?: string;\n capability?: string;\n afterTimestamp?: string;\n beforeTimestamp?: string;\n hasSourceVerification?: boolean;\n }): Promise<ActionRegistration[]> {\n const entries = await this.listEntries({\n submitter: criteria.creator,\n afterTimestamp: criteria.afterTimestamp,\n beforeTimestamp: criteria.beforeTimestamp,\n });\n\n return entries\n .map(entry => entry.data as ActionRegistration)\n .filter(action => {\n if (criteria.hasSourceVerification !== undefined) {\n const hasVerification = !!action.source_verification;\n if (hasVerification !== criteria.hasSourceVerification) return false;\n }\n\n return true;\n });\n }\n\n /**\n * Get actions by version chain\n */\n async getVersionChain(latestHash: string): Promise<ActionRegistration[]> {\n const chain: ActionRegistration[] = [];\n let currentHash: string | undefined = latestHash;\n\n while (currentHash) {\n const action = await this.getAction(currentHash);\n if (!action) break;\n\n chain.push(action);\n\n currentHash = undefined;\n }\n\n return chain;\n }\n\n /**\n * Validate action registration using Zod schema\n */\n private validateRegistration(registration: ActionRegistration): void {\n try {\n validateActionRegistration(registration);\n } catch (error) {\n if (error instanceof ZodError) {\n const firstError = error.errors[0];\n throw new Error(\n `Validation failed: ${firstError.path.join('.')} - ${firstError.message}`,\n );\n }\n throw error;\n }\n }\n\n /**\n * Override sync to handle action-specific processing\n */\n async sync(): Promise<void> {\n await super.sync();\n\n this.actionsByHash.clear();\n for (const entry of this.entries.values()) {\n const action = entry.data as ActionRegistration;\n this.actionsByHash.set(action.hash, action);\n }\n }\n\n /**\n * Override clear cache to also clear action hash index\n */\n clearCache(): void {\n super.clearCache();\n this.actionsByHash.clear();\n }\n\n /**\n * Create SSR-safe hash\n */\n private createSSRSafeHash(data: Buffer, type: string): string {\n let hash = 0;\n \n for (let i = 0; i < Math.min(data.length, 256); i++) {\n hash = ((hash << 5) - hash + data[i]) & 0xffffffff;\n }\n \n return `ssr-${type}-${data.length}-${Math.abs(hash).toString(16).padStart(8, '0')}`;\n }\n}\n"],"names":["infoString"],"mappings":"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"}