@primuslabs/fhetransform-sdk 0.4.0

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 (302) hide show
  1. package/README.md +198 -0
  2. package/dist/abis/acl.abi.d.ts +379 -0
  3. package/dist/abis/acl.abi.js +495 -0
  4. package/dist/abis/acl.abi.js.map +1 -0
  5. package/dist/abis/alphatrion_reward.abi.d.ts +407 -0
  6. package/dist/abis/alphatrion_reward.abi.js +532 -0
  7. package/dist/abis/alphatrion_reward.abi.js.map +1 -0
  8. package/dist/abis/ciphertext_digests.abi.d.ts +336 -0
  9. package/dist/abis/ciphertext_digests.abi.js +444 -0
  10. package/dist/abis/ciphertext_digests.abi.js.map +1 -0
  11. package/dist/abis/ciphertext_verification.abi.d.ts +637 -0
  12. package/dist/abis/ciphertext_verification.abi.js +830 -0
  13. package/dist/abis/ciphertext_verification.abi.js.map +1 -0
  14. package/dist/abis/convert_token.abi.d.ts +922 -0
  15. package/dist/abis/convert_token.abi.js +1208 -0
  16. package/dist/abis/convert_token.abi.js.map +1 -0
  17. package/dist/abis/decryption.abi.d.ts +956 -0
  18. package/dist/abis/decryption.abi.js +1244 -0
  19. package/dist/abis/decryption.abi.js.map +1 -0
  20. package/dist/abis/erc20.abi.d.ts +265 -0
  21. package/dist/abis/erc20.abi.js +350 -0
  22. package/dist/abis/erc20.abi.js.map +1 -0
  23. package/dist/abis/fhe_executor.abi.d.ts +1535 -0
  24. package/dist/abis/fhe_executor.abi.js +1962 -0
  25. package/dist/abis/fhe_executor.abi.js.map +1 -0
  26. package/dist/abis/space_bridge_config.abi.d.ts +792 -0
  27. package/dist/abis/space_bridge_config.abi.js +1032 -0
  28. package/dist/abis/space_bridge_config.abi.js.map +1 -0
  29. package/dist/abis/token.abi.d.ts +630 -0
  30. package/dist/abis/token.abi.js +828 -0
  31. package/dist/abis/token.abi.js.map +1 -0
  32. package/dist/cli/eusdc.d.ts +2 -0
  33. package/dist/cli/eusdc.js +41 -0
  34. package/dist/cli/eusdc.js.map +1 -0
  35. package/dist/contract/callbacks.d.ts +59 -0
  36. package/dist/contract/callbacks.js +2 -0
  37. package/dist/contract/callbacks.js.map +1 -0
  38. package/dist/contract/convert-token.d.ts +107 -0
  39. package/dist/contract/convert-token.js +249 -0
  40. package/dist/contract/convert-token.js.map +1 -0
  41. package/dist/contract/token.d.ts +167 -0
  42. package/dist/contract/token.js +404 -0
  43. package/dist/contract/token.js.map +1 -0
  44. package/dist/contract/transaction.d.ts +29 -0
  45. package/dist/contract/transaction.js +2 -0
  46. package/dist/contract/transaction.js.map +1 -0
  47. package/dist/core/address.d.ts +118 -0
  48. package/dist/core/address.js +200 -0
  49. package/dist/core/address.js.map +1 -0
  50. package/dist/core/auth.d.ts +68 -0
  51. package/dist/core/auth.js +58 -0
  52. package/dist/core/auth.js.map +1 -0
  53. package/dist/core/bytes.d.ts +48 -0
  54. package/dist/core/bytes.js +117 -0
  55. package/dist/core/bytes.js.map +1 -0
  56. package/dist/core/cache-manager.d.ts +138 -0
  57. package/dist/core/cache-manager.js +440 -0
  58. package/dist/core/cache-manager.js.map +1 -0
  59. package/dist/core/chain.d.ts +41 -0
  60. package/dist/core/chain.js +59 -0
  61. package/dist/core/chain.js.map +1 -0
  62. package/dist/core/constants.d.ts +24 -0
  63. package/dist/core/constants.js +25 -0
  64. package/dist/core/constants.js.map +1 -0
  65. package/dist/core/error.d.ts +2 -0
  66. package/dist/core/error.js +14 -0
  67. package/dist/core/error.js.map +1 -0
  68. package/dist/core/errors/error-catalog.d.ts +29 -0
  69. package/dist/core/errors/error-catalog.js +84 -0
  70. package/dist/core/errors/error-catalog.js.map +1 -0
  71. package/dist/core/errors/error-codes.d.ts +52 -0
  72. package/dist/core/errors/error-codes.js +61 -0
  73. package/dist/core/errors/error-codes.js.map +1 -0
  74. package/dist/core/errors/error-utils.d.ts +27 -0
  75. package/dist/core/errors/error-utils.js +110 -0
  76. package/dist/core/errors/error-utils.js.map +1 -0
  77. package/dist/core/errors/fhe-error.d.ts +98 -0
  78. package/dist/core/errors/fhe-error.js +190 -0
  79. package/dist/core/errors/fhe-error.js.map +1 -0
  80. package/dist/core/errors/index.d.ts +4 -0
  81. package/dist/core/errors/index.js +5 -0
  82. package/dist/core/errors/index.js.map +1 -0
  83. package/dist/core/estimate.d.ts +39 -0
  84. package/dist/core/estimate.js +111 -0
  85. package/dist/core/estimate.js.map +1 -0
  86. package/dist/core/event.d.ts +212 -0
  87. package/dist/core/event.js +42 -0
  88. package/dist/core/event.js.map +1 -0
  89. package/dist/core/fhe-type.d.ts +75 -0
  90. package/dist/core/fhe-type.js +115 -0
  91. package/dist/core/fhe-type.js.map +1 -0
  92. package/dist/core/fhe.d.ts +11 -0
  93. package/dist/core/fhe.js +23 -0
  94. package/dist/core/fhe.js.map +1 -0
  95. package/dist/core/handle.d.ts +42 -0
  96. package/dist/core/handle.js +99 -0
  97. package/dist/core/handle.js.map +1 -0
  98. package/dist/core/json-utils.d.ts +18 -0
  99. package/dist/core/json-utils.js +37 -0
  100. package/dist/core/json-utils.js.map +1 -0
  101. package/dist/core/kms.d.ts +42 -0
  102. package/dist/core/kms.js +70 -0
  103. package/dist/core/kms.js.map +1 -0
  104. package/dist/core/logger.d.ts +3 -0
  105. package/dist/core/logger.js +11 -0
  106. package/dist/core/logger.js.map +1 -0
  107. package/dist/core/pretty-print.d.ts +18 -0
  108. package/dist/core/pretty-print.js +84 -0
  109. package/dist/core/pretty-print.js.map +1 -0
  110. package/dist/core/primitives.d.ts +22 -0
  111. package/dist/core/primitives.js +2 -0
  112. package/dist/core/primitives.js.map +1 -0
  113. package/dist/core/retryable-handler.d.ts +74 -0
  114. package/dist/core/retryable-handler.js +227 -0
  115. package/dist/core/retryable-handler.js.map +1 -0
  116. package/dist/core/signer-address-info.d.ts +15 -0
  117. package/dist/core/signer-address-info.js +33 -0
  118. package/dist/core/signer-address-info.js.map +1 -0
  119. package/dist/core/string.d.ts +28 -0
  120. package/dist/core/string.js +33 -0
  121. package/dist/core/string.js.map +1 -0
  122. package/dist/core/swallow.d.ts +23 -0
  123. package/dist/core/swallow.js +37 -0
  124. package/dist/core/swallow.js.map +1 -0
  125. package/dist/core/system-contract-info.d.ts +17 -0
  126. package/dist/core/system-contract-info.js +41 -0
  127. package/dist/core/system-contract-info.js.map +1 -0
  128. package/dist/core/ttl-cache.d.ts +81 -0
  129. package/dist/core/ttl-cache.js +113 -0
  130. package/dist/core/ttl-cache.js.map +1 -0
  131. package/dist/core/tx-error-parser.d.ts +40 -0
  132. package/dist/core/tx-error-parser.js +83 -0
  133. package/dist/core/tx-error-parser.js.map +1 -0
  134. package/dist/core/utils.d.ts +62 -0
  135. package/dist/core/utils.js +143 -0
  136. package/dist/core/utils.js.map +1 -0
  137. package/dist/index.d.ts +40 -0
  138. package/dist/index.js +48 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/jazz/encrypt-key-p.d.ts +65 -0
  141. package/dist/jazz/encrypt-key-p.js +283 -0
  142. package/dist/jazz/encrypt-key-p.js.map +1 -0
  143. package/dist/jazz/encrypt-p.d.ts +82 -0
  144. package/dist/jazz/encrypt-p.js +139 -0
  145. package/dist/jazz/encrypt-p.js.map +1 -0
  146. package/dist/jazz/encrypt.d.ts +58 -0
  147. package/dist/jazz/encrypt.js +155 -0
  148. package/dist/jazz/encrypt.js.map +1 -0
  149. package/dist/jazz/input-proof-p.d.ts +122 -0
  150. package/dist/jazz/input-proof-p.js +265 -0
  151. package/dist/jazz/input-proof-p.js.map +1 -0
  152. package/dist/jazz/jazz-client-i.d.ts +16 -0
  153. package/dist/jazz/jazz-client-i.js +2 -0
  154. package/dist/jazz/jazz-client-i.js.map +1 -0
  155. package/dist/jazz/jazz-client.d.ts +18 -0
  156. package/dist/jazz/jazz-client.js +24 -0
  157. package/dist/jazz/jazz-client.js.map +1 -0
  158. package/dist/jazz/key-pair.d.ts +50 -0
  159. package/dist/jazz/key-pair.js +166 -0
  160. package/dist/jazz/key-pair.js.map +1 -0
  161. package/dist/jazz/mock/fake.d.ts +3 -0
  162. package/dist/jazz/mock/fake.js +23 -0
  163. package/dist/jazz/mock/fake.js.map +1 -0
  164. package/dist/jazz/mock/fetch-input-proof.d.ts +4 -0
  165. package/dist/jazz/mock/fetch-input-proof.js +63 -0
  166. package/dist/jazz/mock/fetch-input-proof.js.map +1 -0
  167. package/dist/jazz/mock/fetch-key-url.d.ts +3 -0
  168. package/dist/jazz/mock/fetch-key-url.js +15 -0
  169. package/dist/jazz/mock/fetch-key-url.js.map +1 -0
  170. package/dist/jazz/mock/fetch-public-decrypt.d.ts +3 -0
  171. package/dist/jazz/mock/fetch-public-decrypt.js +81 -0
  172. package/dist/jazz/mock/fetch-public-decrypt.js.map +1 -0
  173. package/dist/jazz/mock/fetch-user-decrypt.d.ts +4 -0
  174. package/dist/jazz/mock/fetch-user-decrypt.js +174 -0
  175. package/dist/jazz/mock/fetch-user-decrypt.js.map +1 -0
  176. package/dist/jazz/module/fetch-input-proof.d.ts +19 -0
  177. package/dist/jazz/module/fetch-input-proof.js +72 -0
  178. package/dist/jazz/module/fetch-input-proof.js.map +1 -0
  179. package/dist/jazz/module/fetch-key-url.d.ts +17 -0
  180. package/dist/jazz/module/fetch-key-url.js +46 -0
  181. package/dist/jazz/module/fetch-key-url.js.map +1 -0
  182. package/dist/jazz/module/fetch-public-decrypt.d.ts +19 -0
  183. package/dist/jazz/module/fetch-public-decrypt.js +65 -0
  184. package/dist/jazz/module/fetch-public-decrypt.js.map +1 -0
  185. package/dist/jazz/module/fetch-user-decrypt.d.ts +19 -0
  186. package/dist/jazz/module/fetch-user-decrypt.js +109 -0
  187. package/dist/jazz/module/fetch-user-decrypt.js.map +1 -0
  188. package/dist/jazz/module/jazz-async-request.d.ts +102 -0
  189. package/dist/jazz/module/jazz-async-request.js +515 -0
  190. package/dist/jazz/module/jazz-async-request.js.map +1 -0
  191. package/dist/jazz/module/jazz-p.d.ts +61 -0
  192. package/dist/jazz/module/jazz-p.js +33 -0
  193. package/dist/jazz/module/jazz-p.js.map +1 -0
  194. package/dist/jazz/module/s3-download.d.ts +85 -0
  195. package/dist/jazz/module/s3-download.js +293 -0
  196. package/dist/jazz/module/s3-download.js.map +1 -0
  197. package/dist/jazz/permit.d.ts +200 -0
  198. package/dist/jazz/permit.js +319 -0
  199. package/dist/jazz/permit.js.map +1 -0
  200. package/dist/jazz/public-decrypt-p.d.ts +96 -0
  201. package/dist/jazz/public-decrypt-p.js +258 -0
  202. package/dist/jazz/public-decrypt-p.js.map +1 -0
  203. package/dist/jazz/public-decrypt.d.ts +48 -0
  204. package/dist/jazz/public-decrypt.js +156 -0
  205. package/dist/jazz/public-decrypt.js.map +1 -0
  206. package/dist/jazz/read-contract.d.ts +81 -0
  207. package/dist/jazz/read-contract.js +125 -0
  208. package/dist/jazz/read-contract.js.map +1 -0
  209. package/dist/jazz/types/common.d.ts +17 -0
  210. package/dist/jazz/types/common.js +2 -0
  211. package/dist/jazz/types/common.js.map +1 -0
  212. package/dist/jazz/types/input-proof.d.ts +76 -0
  213. package/dist/jazz/types/input-proof.js +2 -0
  214. package/dist/jazz/types/input-proof.js.map +1 -0
  215. package/dist/jazz/types/key-url.d.ts +68 -0
  216. package/dist/jazz/types/key-url.js +5 -0
  217. package/dist/jazz/types/key-url.js.map +1 -0
  218. package/dist/jazz/types/public-decrypt.d.ts +61 -0
  219. package/dist/jazz/types/public-decrypt.js +2 -0
  220. package/dist/jazz/types/public-decrypt.js.map +1 -0
  221. package/dist/jazz/types/user-decrypt.d.ts +123 -0
  222. package/dist/jazz/types/user-decrypt.js +2 -0
  223. package/dist/jazz/types/user-decrypt.js.map +1 -0
  224. package/dist/jazz/user-decrypt-p.d.ts +111 -0
  225. package/dist/jazz/user-decrypt-p.js +280 -0
  226. package/dist/jazz/user-decrypt-p.js.map +1 -0
  227. package/dist/jazz/user-decrypt.d.ts +74 -0
  228. package/dist/jazz/user-decrypt.js +143 -0
  229. package/dist/jazz/user-decrypt.js.map +1 -0
  230. package/dist/native/fhe-api.js +5959 -0
  231. package/dist/native/fhe-api.node.cjs +6167 -0
  232. package/dist/native/fhe-api.node.worker.cjs +210 -0
  233. package/dist/native/fhe-api.wasm +0 -0
  234. package/dist/native/fhe-api.worker.js +164 -0
  235. package/dist/native/kms/node/kms_lib.d.ts +38 -0
  236. package/dist/native/kms/node/kms_lib.js +356 -0
  237. package/dist/native/kms/node/kms_lib_bg.wasm +0 -0
  238. package/dist/native/kms/node/kms_lib_bg.wasm.d.ts +21 -0
  239. package/dist/native/kms/node/package.json +11 -0
  240. package/dist/native/kms/web/kms_lib.d.ts +84 -0
  241. package/dist/native/kms/web/kms_lib.js +443 -0
  242. package/dist/native/kms/web/kms_lib_bg.wasm +0 -0
  243. package/dist/native/kms/web/kms_lib_bg.wasm.d.ts +21 -0
  244. package/dist/native/kms/web/package.json +15 -0
  245. package/dist/runtime/browser.d.ts +36 -0
  246. package/dist/runtime/browser.js +115 -0
  247. package/dist/runtime/browser.js.map +1 -0
  248. package/dist/runtime/node.d.ts +30 -0
  249. package/dist/runtime/node.js +95 -0
  250. package/dist/runtime/node.js.map +1 -0
  251. package/dist/sdk/fhetransform-sdk-b.d.ts +102 -0
  252. package/dist/sdk/fhetransform-sdk-b.js +294 -0
  253. package/dist/sdk/fhetransform-sdk-b.js.map +1 -0
  254. package/dist/sdk/fhetransform-sdk.d.ts +87 -0
  255. package/dist/sdk/fhetransform-sdk.js +135 -0
  256. package/dist/sdk/fhetransform-sdk.js.map +1 -0
  257. package/dist/sdk/jazz-service.d.ts +13 -0
  258. package/dist/sdk/jazz-service.js +58 -0
  259. package/dist/sdk/jazz-service.js.map +1 -0
  260. package/dist/sdk/permit-service.d.ts +45 -0
  261. package/dist/sdk/permit-service.js +144 -0
  262. package/dist/sdk/permit-service.js.map +1 -0
  263. package/dist/wasm/fhe-wasm-client.d.ts +19 -0
  264. package/dist/wasm/fhe-wasm-client.js +23 -0
  265. package/dist/wasm/fhe-wasm-client.js.map +1 -0
  266. package/dist/wasm/fhe-wasm-module.d.ts +24 -0
  267. package/dist/wasm/fhe-wasm-module.js +141 -0
  268. package/dist/wasm/fhe-wasm-module.js.map +1 -0
  269. package/dist/wasm/fhe-wasm-type.d.ts +59 -0
  270. package/dist/wasm/fhe-wasm-type.js +244 -0
  271. package/dist/wasm/fhe-wasm-type.js.map +1 -0
  272. package/dist/wasm/wasm-loader.browser.d.ts +21 -0
  273. package/dist/wasm/wasm-loader.browser.js +143 -0
  274. package/dist/wasm/wasm-loader.browser.js.map +1 -0
  275. package/dist/wasm/wasm-loader.node.d.ts +24 -0
  276. package/dist/wasm/wasm-loader.node.js +114 -0
  277. package/dist/wasm/wasm-loader.node.js.map +1 -0
  278. package/dist/wasm/worker-client.browser.d.ts +6 -0
  279. package/dist/wasm/worker-client.browser.js +21 -0
  280. package/dist/wasm/worker-client.browser.js.map +1 -0
  281. package/dist/wasm/worker-client.d.ts +34 -0
  282. package/dist/wasm/worker-client.js +160 -0
  283. package/dist/wasm/worker-client.js.map +1 -0
  284. package/dist/wasm/worker-client.node.d.ts +6 -0
  285. package/dist/wasm/worker-client.node.js +20 -0
  286. package/dist/wasm/worker-client.node.js.map +1 -0
  287. package/dist/wasm/worker-message.d.ts +61 -0
  288. package/dist/wasm/worker-message.js +2 -0
  289. package/dist/wasm/worker-message.js.map +1 -0
  290. package/dist/wasm/worker-transport.browser.d.ts +15 -0
  291. package/dist/wasm/worker-transport.browser.js +35 -0
  292. package/dist/wasm/worker-transport.browser.js.map +1 -0
  293. package/dist/wasm/worker-transport.d.ts +6 -0
  294. package/dist/wasm/worker-transport.js +2 -0
  295. package/dist/wasm/worker-transport.js.map +1 -0
  296. package/dist/wasm/worker-transport.node.d.ts +17 -0
  297. package/dist/wasm/worker-transport.node.js +39 -0
  298. package/dist/wasm/worker-transport.node.js.map +1 -0
  299. package/dist/wasm/worker.d.ts +1 -0
  300. package/dist/wasm/worker.js +69 -0
  301. package/dist/wasm/worker.js.map +1 -0
  302. package/package.json +81 -0
@@ -0,0 +1,59 @@
1
+ export type FheKey = number;
2
+ export interface FheWasmModule {
3
+ _malloc(size: number): number;
4
+ _free(ptr: number): void;
5
+ HEAPU8: Uint8Array;
6
+ HEAP32: Int32Array;
7
+ _create_fhe_key(pk: number, len: number): FheKey;
8
+ _create_fhe_key_with_zk(pk: number, pkLen: number, crs: number, crsLen: number): FheKey;
9
+ _free_fhe_key(key: FheKey): void;
10
+ _encrypt_integer(outLen: number, key: FheKey, input: number, inputLen: number): number;
11
+ _encrypt_integer_ex(outLen: number, pk: number, pkLen: number, input: number, inputLen: number): number;
12
+ _encrypt_multi_integers_with_zk(outLen: number, key: FheKey, input: number, inputLen: number, metadata: number, metadataLen: number): number;
13
+ _encrypt_multi_integers_with_zk_ex(outLen: number, pk: number, pkLen: number, crs: number, crsLen: number, input: number, inputLen: number, metadata: number, metadataLen: number): number;
14
+ _free_data(ptr: number): void;
15
+ }
16
+ export declare class FheWasm {
17
+ private wasm;
18
+ constructor(wasm: FheWasmModule);
19
+ /**
20
+ * Write data to WASM heap and return pointer
21
+ */
22
+ private write;
23
+ /**
24
+ * Execute WASM function and read result from heap
25
+ */
26
+ private readResult;
27
+ /**
28
+ * Create FHE key from public key
29
+ */
30
+ createKey(pk: Uint8Array): FheKey;
31
+ /**
32
+ * Create FHE key with zero-knowledge proof
33
+ */
34
+ createKeyWithZk(pk: Uint8Array, crs: Uint8Array): FheKey;
35
+ /**
36
+ * Free FHE key from WASM memory
37
+ */
38
+ freeKey(key: FheKey): void;
39
+ /**
40
+ * Encrypt integer using FHE key
41
+ */
42
+ encryptInteger(key: FheKey, input: Uint8Array): Uint8Array;
43
+ /**
44
+ * Encrypt integer using public key (external)
45
+ */
46
+ encryptIntegerEx(pk: Uint8Array, input: Uint8Array): Uint8Array;
47
+ /**
48
+ * Encrypt multiple integers with zero-knowledge proof using FHE key
49
+ */
50
+ encryptMultiWithZk(key: FheKey, input: Uint8Array, metadata: Uint8Array): Uint8Array;
51
+ /**
52
+ * Encrypt multiple integers with zero-knowledge proof using public key and CRS (external)
53
+ */
54
+ encryptMultiWithZkEx(pk: Uint8Array, crs: Uint8Array, input: Uint8Array, metadata: Uint8Array): Uint8Array;
55
+ /**
56
+ * Free data pointer from WASM memory
57
+ */
58
+ freeData(dataPtr: number): void;
59
+ }
@@ -0,0 +1,244 @@
1
+ import { logger } from '../core/logger.js';
2
+ import { FheErrorCode } from '../core/errors/error-codes.js';
3
+ import { FheError } from '../core/errors/fhe-error.js';
4
+ export class FheWasm {
5
+ wasm;
6
+ constructor(wasm) {
7
+ this.wasm = wasm;
8
+ logger.debug('FheWasm instance created');
9
+ }
10
+ /**
11
+ * Write data to WASM heap and return pointer
12
+ */
13
+ write(data) {
14
+ try {
15
+ const ptr = this.wasm._malloc(data.length);
16
+ this.wasm.HEAPU8.set(data, ptr);
17
+ logger.debug('Data written to WASM heap', { size: data.length, ptr });
18
+ return ptr;
19
+ }
20
+ catch (error) {
21
+ logger.error('Failed to write data to WASM heap', { size: data.length, error });
22
+ throw new FheError({
23
+ code: FheErrorCode.EncryptionFailed,
24
+ message: `WASM write failed: ${error instanceof Error ? error.message : String(error)}`,
25
+ cause: error,
26
+ });
27
+ }
28
+ }
29
+ /**
30
+ * Execute WASM function and read result from heap
31
+ */
32
+ readResult(ptrLen, fn) {
33
+ const outLen = this.wasm._malloc(4);
34
+ try {
35
+ const ptr = fn(outLen);
36
+ const len = this.wasm.HEAP32[outLen >> 2];
37
+ const data = this.wasm.HEAPU8.slice(ptr, ptr + len);
38
+ this.wasm._free_data(ptr);
39
+ logger.debug('Result read from WASM heap', { size: data.length });
40
+ return data;
41
+ }
42
+ catch (error) {
43
+ logger.error('Failed to read result from WASM', { error });
44
+ throw new FheError({
45
+ code: FheErrorCode.EncryptionFailed,
46
+ message: `WASM read result failed: ${error instanceof Error ? error.message : String(error)}`,
47
+ cause: error,
48
+ });
49
+ }
50
+ finally {
51
+ this.wasm._free(outLen);
52
+ }
53
+ }
54
+ /**
55
+ * Create FHE key from public key
56
+ */
57
+ createKey(pk) {
58
+ logger.debug('Creating FHE key', { pkSize: pk.length });
59
+ const ptr = this.write(pk);
60
+ try {
61
+ const key = this.wasm._create_fhe_key(ptr, pk.length);
62
+ logger.debug('FHE key created', { key });
63
+ return key;
64
+ }
65
+ catch (error) {
66
+ logger.error('Failed to create FHE key', { error });
67
+ throw new FheError({
68
+ code: FheErrorCode.EncryptionFailed,
69
+ message: `Create key failed: ${error instanceof Error ? error.message : String(error)}`,
70
+ cause: error,
71
+ });
72
+ }
73
+ finally {
74
+ this.wasm._free(ptr);
75
+ }
76
+ }
77
+ /**
78
+ * Create FHE key with zero-knowledge proof
79
+ */
80
+ createKeyWithZk(pk, crs) {
81
+ logger.debug('Creating FHE key with ZK', { pkSize: pk.length, crsSize: crs.length });
82
+ const pkPtr = this.write(pk);
83
+ const crsPtr = this.write(crs);
84
+ try {
85
+ const key = this.wasm._create_fhe_key_with_zk(pkPtr, pk.length, crsPtr, crs.length);
86
+ logger.debug('FHE key with ZK created', { key });
87
+ return key;
88
+ }
89
+ catch (error) {
90
+ logger.error('Failed to create FHE key with ZK', { error });
91
+ throw new FheError({
92
+ code: FheErrorCode.EncryptionFailed,
93
+ message: `Create key with ZK failed: ${error instanceof Error ? error.message : String(error)}`,
94
+ cause: error,
95
+ });
96
+ }
97
+ finally {
98
+ this.wasm._free(pkPtr);
99
+ this.wasm._free(crsPtr);
100
+ }
101
+ }
102
+ /**
103
+ * Free FHE key from WASM memory
104
+ */
105
+ freeKey(key) {
106
+ try {
107
+ this.wasm._free_fhe_key(key);
108
+ logger.debug('FHE key freed', { key });
109
+ }
110
+ catch (error) {
111
+ logger.error('Failed to free FHE key', { key, error });
112
+ throw new FheError({
113
+ code: FheErrorCode.EncryptionFailed,
114
+ message: `Free key failed: ${error instanceof Error ? error.message : String(error)}`,
115
+ cause: error,
116
+ });
117
+ }
118
+ }
119
+ /**
120
+ * Encrypt integer using FHE key
121
+ */
122
+ encryptInteger(key, input) {
123
+ logger.debug('Encrypting integer', { key, inputSize: input.length });
124
+ const inputPtr = this.write(input);
125
+ try {
126
+ const result = this.readResult(4, outLen => this.wasm._encrypt_integer(outLen, key, inputPtr, input.length));
127
+ logger.debug('Integer encrypted', { resultSize: result.length });
128
+ return result;
129
+ }
130
+ catch (error) {
131
+ logger.error('Failed to encrypt integer', { key, error });
132
+ throw new FheError({
133
+ code: FheErrorCode.EncryptionFailed,
134
+ message: `Encrypt integer failed: ${error instanceof Error ? error.message : String(error)}`,
135
+ cause: error,
136
+ });
137
+ }
138
+ finally {
139
+ this.wasm._free(inputPtr);
140
+ }
141
+ }
142
+ /**
143
+ * Encrypt integer using public key (external)
144
+ */
145
+ encryptIntegerEx(pk, input) {
146
+ logger.debug('Encrypting integer externally', { pkSize: pk.length, inputSize: input.length });
147
+ const pkPtr = this.write(pk);
148
+ const inputPtr = this.write(input);
149
+ try {
150
+ const result = this.readResult(4, outLen => this.wasm._encrypt_integer_ex(outLen, pkPtr, pk.length, inputPtr, input.length));
151
+ logger.debug('Integer encrypted externally', { resultSize: result.length });
152
+ return result;
153
+ }
154
+ catch (error) {
155
+ logger.error('Failed to encrypt integer externally', { error });
156
+ throw new FheError({
157
+ code: FheErrorCode.EncryptionFailed,
158
+ message: `Encrypt integer external failed: ${error instanceof Error ? error.message : String(error)}`,
159
+ cause: error,
160
+ });
161
+ }
162
+ finally {
163
+ this.wasm._free(pkPtr);
164
+ this.wasm._free(inputPtr);
165
+ }
166
+ }
167
+ /**
168
+ * Encrypt multiple integers with zero-knowledge proof using FHE key
169
+ */
170
+ encryptMultiWithZk(key, input, metadata) {
171
+ logger.debug('Encrypting multiple integers with ZK', { key, inputSize: input.length, metadataSize: metadata.length });
172
+ const inputPtr = this.write(input);
173
+ const metaPtr = this.write(metadata);
174
+ try {
175
+ const result = this.readResult(4, outLen => this.wasm._encrypt_multi_integers_with_zk(outLen, key, inputPtr, input.length, metaPtr, metadata.length));
176
+ logger.debug('Multiple integers encrypted with ZK', { resultSize: result.length });
177
+ return result;
178
+ }
179
+ catch (error) {
180
+ logger.error('Failed to encrypt multiple integers with ZK', { key, error });
181
+ throw new FheError({
182
+ code: FheErrorCode.EncryptionFailed,
183
+ message: `Encrypt multi with ZK failed: ${error instanceof Error ? error.message : String(error)}`,
184
+ cause: error,
185
+ });
186
+ }
187
+ finally {
188
+ this.wasm._free(inputPtr);
189
+ this.wasm._free(metaPtr);
190
+ }
191
+ }
192
+ /**
193
+ * Encrypt multiple integers with zero-knowledge proof using public key and CRS (external)
194
+ */
195
+ encryptMultiWithZkEx(pk, crs, input, metadata) {
196
+ logger.debug('Encrypting multiple integers with ZK externally', {
197
+ pkSize: pk.length,
198
+ crsSize: crs.length,
199
+ inputSize: input.length,
200
+ metadataSize: metadata.length,
201
+ });
202
+ const pkPtr = this.write(pk);
203
+ const crsPtr = this.write(crs);
204
+ const inputPtr = this.write(input);
205
+ const metaPtr = this.write(metadata);
206
+ try {
207
+ const result = this.readResult(4, outLen => this.wasm._encrypt_multi_integers_with_zk_ex(outLen, pkPtr, pk.length, crsPtr, crs.length, inputPtr, input.length, metaPtr, metadata.length));
208
+ logger.debug('Multiple integers encrypted with ZK externally', { resultSize: result.length });
209
+ return result;
210
+ }
211
+ catch (error) {
212
+ logger.error('Failed to encrypt multiple integers with ZK externally', { error });
213
+ throw new FheError({
214
+ code: FheErrorCode.EncryptionFailed,
215
+ message: `Encrypt multi with ZK external failed: ${error instanceof Error ? error.message : String(error)}`,
216
+ cause: error,
217
+ });
218
+ }
219
+ finally {
220
+ this.wasm._free(pkPtr);
221
+ this.wasm._free(crsPtr);
222
+ this.wasm._free(inputPtr);
223
+ this.wasm._free(metaPtr);
224
+ }
225
+ }
226
+ /**
227
+ * Free data pointer from WASM memory
228
+ */
229
+ freeData(dataPtr) {
230
+ try {
231
+ this.wasm._free_data(dataPtr);
232
+ logger.debug('Data freed from WASM', { ptr: dataPtr });
233
+ }
234
+ catch (error) {
235
+ logger.error('Failed to free data from WASM', { ptr: dataPtr, error });
236
+ throw new FheError({
237
+ code: FheErrorCode.EncryptionFailed,
238
+ message: `Free data failed: ${error instanceof Error ? error.message : String(error)}`,
239
+ cause: error,
240
+ });
241
+ }
242
+ }
243
+ }
244
+ //# sourceMappingURL=fhe-wasm-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fhe-wasm-type.js","sourceRoot":"","sources":["../../src/wasm/fhe-wasm-type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Initializes the KMS WASM module in browser environments.
3
+ * Loads the WebAssembly module from `../native/kms/web/kms_lib` and
4
+ * invokes the default initialization function.
5
+ *
6
+ * @returns A promise that resolves when the module is initialized
7
+ * @throws Error if the module fails to load or initialize
8
+ */
9
+ export declare function kms_init(): Promise<void>;
10
+ /**
11
+ * Returns the loaded KMS WASM module instance.
12
+ * Call {@link kms_init} first to ensure the module is loaded and initialized.
13
+ *
14
+ * @returns The KMS module instance, or undefined if not yet initialized
15
+ */
16
+ export declare function kms_module(): any;
17
+ /**
18
+ * Load and initialize the WASM module instance
19
+ * Handles both factory function and pre-initialized instances
20
+ */
21
+ export declare function loadWasmModuleInstance(): Promise<any>;
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Node.js-specific implementations for KMS, cache, and file operations.
3
+ * These functions are designed to run exclusively in Node.js environments.
4
+ */
5
+ import { logger } from "../core/logger.js";
6
+ import { FheErrorCode } from "../core/errors/error-codes.js";
7
+ import { FheError } from "../core/errors/fhe-error.js";
8
+ // ============================================================================
9
+ // KMS Module Management
10
+ // ============================================================================
11
+ /** Cached reference to the loaded KMS WASM module */
12
+ let kmsModule;
13
+ /**
14
+ * Initializes the KMS WASM module in browser environments.
15
+ * Loads the WebAssembly module from `../native/kms/web/kms_lib` and
16
+ * invokes the default initialization function.
17
+ *
18
+ * @returns A promise that resolves when the module is initialized
19
+ * @throws Error if the module fails to load or initialize
20
+ */
21
+ export async function kms_init() {
22
+ // Check if already initialized
23
+ if (kmsModule) {
24
+ logger.trace('[kms_init] KMS module already initialized, skipping');
25
+ return;
26
+ }
27
+ // Enter method
28
+ logger.debug('[kms_init] Initializing KMS module (Browser)');
29
+ try {
30
+ // Dynamically import the WebAssembly KMS library
31
+ logger.trace('[kms_init] Loading KMS WASM module from ../native/kms/web/kms_lib');
32
+ kmsModule = await import("../native/kms/web/kms_lib");
33
+ // Invoke default initialization function (WASM instantiation)
34
+ logger.trace('[kms_init] Invoking default initialization');
35
+ await kmsModule.default();
36
+ logger.info('[kms_init] KMS module initialized successfully (Browser)', {
37
+ moduleType: typeof kmsModule,
38
+ hasDefaultExport: !!kmsModule?.default,
39
+ });
40
+ }
41
+ catch (error) {
42
+ // Log error with full context
43
+ logger.error('[kms_init] Failed to initialize KMS module (Browser)', {
44
+ error: error.message,
45
+ stack: error.stack,
46
+ });
47
+ throw error;
48
+ }
49
+ }
50
+ /**
51
+ * Returns the loaded KMS WASM module instance.
52
+ * Call {@link kms_init} first to ensure the module is loaded and initialized.
53
+ *
54
+ * @returns The KMS module instance, or undefined if not yet initialized
55
+ */
56
+ export function kms_module() {
57
+ // Log access attempt
58
+ logger.trace('[kms_module] Returning KMS module reference', {
59
+ isLoaded: !!kmsModule,
60
+ });
61
+ if (!kmsModule) {
62
+ logger.warn('[kms_module] KMS module accessed but not initialized. Call kms_init() first.');
63
+ }
64
+ return kmsModule;
65
+ }
66
+ /**
67
+ * Load and initialize the WASM module instance
68
+ * Handles both factory function and pre-initialized instances
69
+ */
70
+ export async function loadWasmModuleInstance() {
71
+ try {
72
+ logger.debug('Loading WASM module instance...');
73
+ // @ts-ignore - dynamic import of native module
74
+ const mod = await import("../native/fhe-api.js");
75
+ const factory = mod.default ?? mod;
76
+ if (!factory) {
77
+ throw new FheError({ code: FheErrorCode.WasmNotInitialized, message: 'WASM module factory not found' });
78
+ }
79
+ let instance;
80
+ // Handle factory function pattern
81
+ if (typeof factory === "function") {
82
+ logger.debug('WASM factory function detected, initializing...');
83
+ try {
84
+ instance = await factory({
85
+ locateFile(path) {
86
+ const fullPath = `/native/${path}`;
87
+ logger.debug('WASM locateFile', { path, resolved: fullPath });
88
+ return fullPath;
89
+ },
90
+ print(...args) {
91
+ logger.info("[wasm]", ...args);
92
+ },
93
+ printErr(...args) {
94
+ logger.error("[wasm:error]", ...args);
95
+ },
96
+ });
97
+ logger.debug('WASM instance created via factory');
98
+ }
99
+ catch (error) {
100
+ logger.error('Failed to create WASM instance via factory', { error });
101
+ throw new FheError({
102
+ code: FheErrorCode.WasmNotInitialized,
103
+ message: `WASM factory initialization failed: ${error instanceof Error ? error.message : String(error)}`,
104
+ cause: error,
105
+ });
106
+ }
107
+ }
108
+ else {
109
+ // Use pre-initialized instance
110
+ logger.debug('Using pre-initialized WASM instance');
111
+ instance = factory;
112
+ }
113
+ if (!instance) {
114
+ throw new FheError({ code: FheErrorCode.WasmNotInitialized, message: 'WASM instance is null or undefined after initialization' });
115
+ }
116
+ // Call init method if available
117
+ if (typeof instance.init === "function") {
118
+ try {
119
+ logger.debug('Calling WASM init method...');
120
+ await instance.init();
121
+ logger.info('WASM module initialized successfully');
122
+ }
123
+ catch (error) {
124
+ logger.error('WASM init method failed', { error });
125
+ throw new FheError({
126
+ code: FheErrorCode.WasmNotInitialized,
127
+ message: `WASM init failed: ${error instanceof Error ? error.message : String(error)}`,
128
+ cause: error,
129
+ });
130
+ }
131
+ }
132
+ else {
133
+ logger.debug('WASM instance has no init method, skipping');
134
+ }
135
+ logger.info('WASM module instance loaded successfully');
136
+ return instance;
137
+ }
138
+ catch (error) {
139
+ logger.error('Failed to load WASM module instance', { error });
140
+ throw error;
141
+ }
142
+ }
143
+ //# sourceMappingURL=wasm-loader.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-loader.browser.js","sourceRoot":"","sources":["../../src/wasm/wasm-loader.browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Initializes the KMS WASM module in Node.js environments.
3
+ * Loads the native module directly from `../native/kms/node/kms_lib`.
4
+ *
5
+ * @returns A promise that resolves when the module is loaded
6
+ * @throws Error if the module fails to load or import
7
+ */
8
+ export declare function kms_init(): Promise<void>;
9
+ /**
10
+ * Returns the loaded KMS module instance.
11
+ * Call {@link kms_init} first to ensure the module is loaded.
12
+ *
13
+ * @returns The KMS module instance, or undefined if not yet initialized
14
+ */
15
+ export declare function kms_module(): any;
16
+ /**
17
+ * Loads the WASM module in a Node.js environment.
18
+ * Dynamically imports the CommonJS module from `../native/fhe-api.cjs`
19
+ * and instantiates it using the factory function.
20
+ *
21
+ * @returns The instantiated WASM module instance
22
+ * @throws Error if the module cannot be imported or the factory is invalid
23
+ */
24
+ export declare function loadWasmModuleInstance(): Promise<any>;
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Node.js-specific implementations for KMS, cache, and file operations.
3
+ * These functions are designed to run exclusively in Node.js environments.
4
+ */
5
+ import { logger } from "../core/logger.js";
6
+ import { FheErrorCode } from "../core/errors/error-codes.js";
7
+ import { FheError } from "../core/errors/fhe-error.js";
8
+ // ============================================================================
9
+ // KMS Module Management
10
+ // ============================================================================
11
+ /** Cached reference to the loaded KMS WASM module */
12
+ let kmsModule;
13
+ /**
14
+ * Initializes the KMS WASM module in Node.js environments.
15
+ * Loads the native module directly from `../native/kms/node/kms_lib`.
16
+ *
17
+ * @returns A promise that resolves when the module is loaded
18
+ * @throws Error if the module fails to load or import
19
+ */
20
+ export async function kms_init() {
21
+ // Check if already initialized
22
+ if (kmsModule) {
23
+ logger.trace('[kms_init] KMS module already initialized, skipping');
24
+ return;
25
+ }
26
+ // Enter method
27
+ logger.debug('[kms_init] Initializing KMS module (Node.js)');
28
+ try {
29
+ // Dynamically import the native KMS library
30
+ logger.trace('[kms_init] Loading KMS native module from ../native/kms/node/kms_lib');
31
+ kmsModule = await import("../native/kms/node/kms_lib");
32
+ logger.info('[kms_init] KMS module loaded successfully (Node.js)', {
33
+ moduleType: typeof kmsModule,
34
+ hasDefaultExport: !!kmsModule?.default,
35
+ });
36
+ }
37
+ catch (error) {
38
+ // Log error with full context
39
+ logger.error('[kms_init] Failed to load KMS module (Node.js)', {
40
+ error: error.message,
41
+ code: error.code,
42
+ stack: error.stack,
43
+ });
44
+ throw error;
45
+ }
46
+ }
47
+ /**
48
+ * Returns the loaded KMS module instance.
49
+ * Call {@link kms_init} first to ensure the module is loaded.
50
+ *
51
+ * @returns The KMS module instance, or undefined if not yet initialized
52
+ */
53
+ export function kms_module() {
54
+ // Log access attempt
55
+ logger.trace('[kms_module] Returning KMS module reference', {
56
+ isLoaded: !!kmsModule,
57
+ });
58
+ if (!kmsModule) {
59
+ logger.warn('[kms_module] KMS module accessed but not initialized. Call kms_init() first.');
60
+ }
61
+ return kmsModule;
62
+ }
63
+ /**
64
+ * Loads the WASM module in a Node.js environment.
65
+ * Dynamically imports the CommonJS module from `../native/fhe-api.cjs`
66
+ * and instantiates it using the factory function.
67
+ *
68
+ * @returns The instantiated WASM module instance
69
+ * @throws Error if the module cannot be imported or the factory is invalid
70
+ */
71
+ export async function loadWasmModuleInstance() {
72
+ // Enter method
73
+ logger.debug('[loadWasmModule] Loading WASM in Node.js environment');
74
+ try {
75
+ // Dynamically import the CommonJS module.
76
+ // Note: In an ESM project, dynamic import() works for both ESM and CJS.
77
+ // The factory is exported as the default export (or as the module itself).
78
+ logger.trace('[loadWasmModule] Importing CommonJS module from ../native/fhe-api.cjs');
79
+ // @ts-ignore - CJS module may not have type definitions
80
+ const module = await import('../native/fhe-api.node.cjs');
81
+ logger.debug('[loadWasmModule] WASM module imported successfully', {
82
+ moduleType: typeof module,
83
+ hasDefault: !!module.default,
84
+ });
85
+ // Handle various export formats: default export, or direct export (for CJS)
86
+ const factory = module.default ?? module;
87
+ if (typeof factory !== 'function') {
88
+ logger.error('[loadWasmModule] Invalid factory type', {
89
+ factoryType: typeof factory,
90
+ expected: 'function',
91
+ });
92
+ throw new FheError({ code: FheErrorCode.WasmNotInitialized, message: 'WASM factory is not a function' });
93
+ }
94
+ logger.debug('[loadWasmModule] WASM factory validated, calling to instantiate');
95
+ // Instantiate the module. No locateFile needed in Node (file system is used).
96
+ logger.trace('[loadWasmModule] Instantiating WASM module with empty options');
97
+ const instance = await factory({});
98
+ logger.info('[loadWasmModule] WASM loaded successfully in Node.js', {
99
+ instanceType: typeof instance,
100
+ hasExports: !!instance && typeof instance === 'object',
101
+ });
102
+ return instance;
103
+ }
104
+ catch (error) {
105
+ // Log error with full context
106
+ logger.error('[loadWasmModule] Failed to load WASM module', {
107
+ error: error.message,
108
+ code: error.code,
109
+ stack: error.stack,
110
+ });
111
+ throw error;
112
+ }
113
+ }
114
+ //# sourceMappingURL=wasm-loader.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-loader.node.js","sourceRoot":"","sources":["../../src/wasm/wasm-loader.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BrowserWorkerSideTransport } from "./worker-transport.browser.js";
2
+ import { FheWasmClient } from "./fhe-wasm-client.js";
3
+ export declare function getWorkerTransport(): BrowserWorkerSideTransport;
4
+ export declare function createFheWasmClient(options?: {
5
+ useWorker?: boolean;
6
+ }): FheWasmClient;