@fhevm/sdk 1.1.0-alpha.4 → 1.1.0-alpha.6

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 (881) hide show
  1. package/_cjs/core/_version.js +1 -1
  2. package/_cjs/core/actions/base/canDecryptPublicValue.js +1 -1
  3. package/_cjs/core/actions/base/canDecryptPublicValue.js.map +1 -1
  4. package/_cjs/core/actions/base/canDecryptPublicValues.js +1 -1
  5. package/_cjs/core/actions/base/canDecryptPublicValues.js.map +1 -1
  6. package/_cjs/core/actions/base/{fetchKmsSignedcryptedShares.js → fetchKmsSigncryptedShares.js} +5 -5
  7. package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js.map +1 -0
  8. package/_cjs/core/actions/base/index.js +3 -3
  9. package/_cjs/core/actions/base/index.js.map +1 -1
  10. package/_cjs/core/actions/base/readKmsSignersContext.js +2 -1
  11. package/_cjs/core/actions/base/readKmsSignersContext.js.map +1 -1
  12. package/_cjs/core/actions/chain/parseTransportKeyPair.js.map +1 -1
  13. package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js +13 -0
  14. package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +1 -0
  15. package/_cjs/core/actions/decrypt/decryptValue.js +3 -1
  16. package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
  17. package/_cjs/core/actions/decrypt/decryptValues.js +3 -1
  18. package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
  19. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +3 -1
  20. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  21. package/_cjs/core/actions/decrypt/generateTransportKeyPair.js +3 -1
  22. package/_cjs/core/actions/decrypt/generateTransportKeyPair.js.map +1 -1
  23. package/_cjs/core/actions/decrypt/index.js +3 -3
  24. package/_cjs/core/actions/decrypt/index.js.map +1 -1
  25. package/_cjs/core/actions/encrypt/encryptValue.js +3 -1
  26. package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -1
  27. package/_cjs/core/actions/encrypt/encryptValues.js +3 -1
  28. package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -1
  29. package/_cjs/core/actions/encrypt/generateZkProof.js +5 -1
  30. package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -1
  31. package/_cjs/core/actions/host/readFhevmExecutorContractData.js +7 -7
  32. package/_cjs/core/actions/host/readFhevmExecutorContractData.js.map +1 -1
  33. package/_cjs/core/actions/host/readInputVerifierContractData.js +1 -1
  34. package/_cjs/core/actions/host/readInputVerifierContractData.js.map +1 -1
  35. package/_cjs/core/actions/host/readKmsVerifierContractData.js +6 -5
  36. package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -1
  37. package/_cjs/core/actions/host/resolveFhevmConfig.js +7 -1
  38. package/_cjs/core/actions/host/resolveFhevmConfig.js.map +1 -1
  39. package/_cjs/core/base/bytes.js +2 -1
  40. package/_cjs/core/base/bytes.js.map +1 -1
  41. package/_cjs/core/base/environment.js +122 -0
  42. package/_cjs/core/base/environment.js.map +1 -0
  43. package/_cjs/core/base/errors/Sha256VerificationError.js +15 -0
  44. package/_cjs/core/base/errors/Sha256VerificationError.js.map +1 -0
  45. package/_cjs/core/base/inflate.js +282 -0
  46. package/_cjs/core/base/inflate.js.map +1 -0
  47. package/_cjs/core/base/isomorphicFs.js +24 -0
  48. package/_cjs/core/base/isomorphicFs.js.map +1 -0
  49. package/_cjs/core/base/isomorphicWorker.js +42 -111
  50. package/_cjs/core/base/isomorphicWorker.js.map +1 -1
  51. package/_cjs/core/base/object.js +23 -0
  52. package/_cjs/core/base/object.js.map +1 -1
  53. package/_cjs/core/base/semver.js +166 -0
  54. package/_cjs/core/base/semver.js.map +1 -0
  55. package/_cjs/core/base/uint.js +20 -3
  56. package/_cjs/core/base/uint.js.map +1 -1
  57. package/_cjs/core/base/wasm.js +15 -55
  58. package/_cjs/core/base/wasm.js.map +1 -1
  59. package/_cjs/core/chains/definitions/localTestnet.js +3 -0
  60. package/_cjs/core/chains/definitions/localTestnet.js.map +1 -1
  61. package/_cjs/core/chains/definitions/mainnet.js +1 -0
  62. package/_cjs/core/chains/definitions/mainnet.js.map +1 -1
  63. package/_cjs/core/chains/definitions/sepolia.js +1 -0
  64. package/_cjs/core/chains/definitions/sepolia.js.map +1 -1
  65. package/_cjs/core/clients/decorators/base.js +5 -0
  66. package/_cjs/core/clients/decorators/base.js.map +1 -1
  67. package/_cjs/core/clients/decorators/decrypt-p.js +13 -0
  68. package/_cjs/core/clients/decorators/decrypt-p.js.map +1 -0
  69. package/_cjs/core/clients/decorators/decrypt.js +4 -7
  70. package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
  71. package/_cjs/core/clients/decorators/encrypt-p.js +5 -1
  72. package/_cjs/core/clients/decorators/encrypt-p.js.map +1 -1
  73. package/_cjs/core/clients/decorators/encrypt.js.map +1 -1
  74. package/_cjs/core/coprocessor/ZkProof-p.js +4 -2
  75. package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
  76. package/_cjs/core/coprocessor/ZkProofBuilder-p.js +2 -1
  77. package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  78. package/_cjs/core/coprocessor/encrypt.js +1 -1
  79. package/_cjs/core/coprocessor/encrypt.js.map +1 -1
  80. package/_cjs/core/errors/RelayerResponseStatusError.js +3 -2
  81. package/_cjs/core/errors/RelayerResponseStatusError.js.map +1 -1
  82. package/_cjs/core/host-contracts/HostContractVersion-p.js +26 -4
  83. package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -1
  84. package/_cjs/core/host-contracts/KmsSignersContext-p.js +23 -5
  85. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  86. package/_cjs/core/host-contracts/abi-fragments/fragments.js +21 -1
  87. package/_cjs/core/host-contracts/abi-fragments/fragments.js.map +1 -1
  88. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
  89. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  90. package/_cjs/core/host-contracts/checkAllowedForDecryption.js +2 -2
  91. package/_cjs/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
  92. package/_cjs/core/host-contracts/checkDelegation.js +8 -8
  93. package/_cjs/core/host-contracts/checkDelegation.js.map +1 -1
  94. package/_cjs/core/host-contracts/checkPersistAllowed.js +9 -9
  95. package/_cjs/core/host-contracts/checkPersistAllowed.js.map +1 -1
  96. package/_cjs/core/host-contracts/getAclAddress-p.js +1 -2
  97. package/_cjs/core/host-contracts/getAclAddress-p.js.map +1 -1
  98. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +51 -0
  99. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
  100. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +4 -5
  101. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  102. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
  103. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
  104. package/_cjs/core/host-contracts/getHandleVersion-p.js +1 -2
  105. package/_cjs/core/host-contracts/getHandleVersion-p.js.map +1 -1
  106. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js +1 -2
  107. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
  108. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js +1 -2
  109. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
  110. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +5 -7
  111. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  112. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +4 -5
  113. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  114. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js +3 -5
  115. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
  116. package/_cjs/core/host-contracts/isAllowedForDecryption.js +4 -4
  117. package/_cjs/core/host-contracts/isAllowedForDecryption.js.map +1 -1
  118. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
  119. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
  120. package/_cjs/core/host-contracts/isUserDecryptable.js +2 -2
  121. package/_cjs/core/host-contracts/isUserDecryptable.js.map +1 -1
  122. package/_cjs/core/host-contracts/persistAllowed.js +4 -4
  123. package/_cjs/core/host-contracts/persistAllowed.js.map +1 -1
  124. package/_cjs/core/host-contracts/readKmsSignersContext-p.js +74 -25
  125. package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  126. package/_cjs/core/key/FheEncryptionKeyWasm-p.js +12 -4
  127. package/_cjs/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
  128. package/_cjs/core/key/deserializeFheEncryptionKey.js +3 -0
  129. package/_cjs/core/key/deserializeFheEncryptionKey.js.map +1 -1
  130. package/_cjs/core/key/fetchFheEncryptionKey.js +1 -1
  131. package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -1
  132. package/_cjs/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
  133. package/_cjs/core/key/serializeFheEncryptionKey.js +4 -1
  134. package/_cjs/core/key/serializeFheEncryptionKey.js.map +1 -1
  135. package/_cjs/core/kms/KmsSigncryptedShares-p.js +9 -1
  136. package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  137. package/_cjs/core/kms/SignedDecryptionPermit-p.js +5 -1
  138. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  139. package/_cjs/core/kms/TransportKeyPair-p.js +27 -7
  140. package/_cjs/core/kms/TransportKeyPair-p.js.map +1 -1
  141. package/_cjs/core/kms/createKmsUserDecryptEip712.js +8 -0
  142. package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +1 -1
  143. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +97 -0
  144. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
  145. package/_cjs/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +10 -3
  146. package/_cjs/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
  147. package/_cjs/core/kms/decryptValuesFromPairs.js +4 -4
  148. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
  149. package/_cjs/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +10 -6
  150. package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
  151. package/_cjs/core/kms/kmsExtraData.js +53 -10
  152. package/_cjs/core/kms/kmsExtraData.js.map +1 -1
  153. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js +25 -0
  154. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
  155. package/_cjs/core/kms/publicDecrypt.js +5 -3
  156. package/_cjs/core/kms/publicDecrypt.js.map +1 -1
  157. package/_cjs/core/modules/decrypt/mock.js +1 -23
  158. package/_cjs/core/modules/decrypt/mock.js.map +1 -1
  159. package/_cjs/core/modules/decrypt/module/api-p.js +51 -23
  160. package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
  161. package/_cjs/core/modules/decrypt/module/index.js +5 -27
  162. package/_cjs/core/modules/decrypt/module/index.js.map +1 -1
  163. package/_cjs/core/modules/decrypt/module/init-p.js +155 -49
  164. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
  165. package/_cjs/core/modules/encrypt/mock.js +26 -8
  166. package/_cjs/core/modules/encrypt/mock.js.map +1 -1
  167. package/_cjs/core/modules/encrypt/module/api-p.js +50 -21
  168. package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
  169. package/_cjs/core/modules/encrypt/module/index.js +3 -3
  170. package/_cjs/core/modules/encrypt/module/index.js.map +1 -1
  171. package/_cjs/core/modules/encrypt/module/init-p.js +211 -69
  172. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
  173. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +1 -1
  174. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
  175. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +1 -1
  176. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  177. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +28 -4
  178. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  179. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +5 -1
  180. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  181. package/_cjs/core/modules/relayer/module/readErrorMessage.js +29 -0
  182. package/_cjs/core/modules/relayer/module/readErrorMessage.js.map +1 -0
  183. package/_cjs/core/runtime/CoreFhevm-p.js +171 -5
  184. package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -1
  185. package/_cjs/core/runtime/HyperWasmSolver-p.js +187 -0
  186. package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -0
  187. package/_cjs/core/runtime/ProtocolVersionResolver-p.js +270 -0
  188. package/_cjs/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
  189. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  190. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  191. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  192. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
  193. package/_cjs/core/runtime/initFhevmRuntime-p.js +4 -1
  194. package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -1
  195. package/_cjs/core/runtime/resolveFhevmVersions-p.js +48 -0
  196. package/_cjs/core/runtime/resolveFhevmVersions-p.js.map +1 -0
  197. package/_cjs/core/runtimeConfig-p.js +10 -0
  198. package/_cjs/core/runtimeConfig-p.js.map +1 -1
  199. package/_cjs/core/types/{zkProofBuilder.js → moduleVersions.js} +1 -1
  200. package/_cjs/core/types/moduleVersions.js.map +1 -0
  201. package/_cjs/core/types/{fhevmUser.js → wasmAssets.js} +1 -1
  202. package/_cjs/core/types/wasmAssets.js.map +1 -0
  203. package/_cjs/core/types/{fhevmDecryptionKey.js → zkProofBuilder-p.js} +1 -1
  204. package/_cjs/core/types/zkProofBuilder-p.js.map +1 -0
  205. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
  206. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
  207. package/_cjs/ethers/internal/config.js +1 -18
  208. package/_cjs/ethers/internal/config.js.map +1 -1
  209. package/_cjs/viem/internal/config.js +1 -18
  210. package/_cjs/viem/internal/config.js.map +1 -1
  211. package/_cjs/wasm/tfhe/TfheApi.d.ts +12 -12
  212. package/_cjs/wasm/tfhe/loadTfheLib.js +11 -11
  213. package/_cjs/wasm/tfhe/loadTfheLib.js.map +2 -2
  214. package/_cjs/wasm/tfhe/v1.5.3/startWorkers.js +26 -9
  215. package/_cjs/wasm/tfhe/v1.5.3/startWorkers.js.map +2 -2
  216. package/_cjs/wasm/tfhe/v1.5.3/tfhe.d.ts +7 -0
  217. package/_cjs/wasm/tfhe/v1.5.3/tfhe.js +6 -1
  218. package/_cjs/wasm/tfhe/v1.5.3/tfhe.js.map +2 -2
  219. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +28 -11
  220. package/_cjs/wasm/tfhe/v1.6.2/startWorkers.js.map +7 -0
  221. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
  222. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +92 -85
  223. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +251 -443
  224. package/_cjs/wasm/tfhe/v1.6.2/tfhe.js.map +7 -0
  225. package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
  226. package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +35 -0
  227. package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js.map +7 -0
  228. package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
  229. package/_cjs/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  230. package/_cjs/wasm/tkms/v0.13.10/kms_lib.js +6 -1
  231. package/_cjs/wasm/tkms/v0.13.10/kms_lib.js.map +2 -2
  232. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  233. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js +6 -1
  234. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js.map +2 -2
  235. package/_cjs/wasm/wasmBaseUrl.js +12 -7
  236. package/_cjs/wasm/wasmBaseUrl.js.map +2 -2
  237. package/_esm/core/_version.js +1 -1
  238. package/_esm/core/actions/base/canDecryptPublicValue.js +1 -1
  239. package/_esm/core/actions/base/canDecryptPublicValue.js.map +1 -1
  240. package/_esm/core/actions/base/canDecryptPublicValues.js +1 -1
  241. package/_esm/core/actions/base/canDecryptPublicValues.js.map +1 -1
  242. package/_esm/core/actions/base/{fetchKmsSignedcryptedShares.js → fetchKmsSigncryptedShares.js} +4 -4
  243. package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +1 -0
  244. package/_esm/core/actions/base/index.js +1 -1
  245. package/_esm/core/actions/base/index.js.map +1 -1
  246. package/_esm/core/actions/base/readKmsSignersContext.js +2 -1
  247. package/_esm/core/actions/base/readKmsSignersContext.js.map +1 -1
  248. package/_esm/core/actions/chain/parseTransportKeyPair.js.map +1 -1
  249. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +11 -0
  250. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +1 -0
  251. package/_esm/core/actions/decrypt/decryptValue.js +3 -1
  252. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
  253. package/_esm/core/actions/decrypt/decryptValues.js +3 -1
  254. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
  255. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +3 -1
  256. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  257. package/_esm/core/actions/decrypt/generateTransportKeyPair.js +3 -1
  258. package/_esm/core/actions/decrypt/generateTransportKeyPair.js.map +1 -1
  259. package/_esm/core/actions/decrypt/index.js +1 -1
  260. package/_esm/core/actions/decrypt/index.js.map +1 -1
  261. package/_esm/core/actions/encrypt/encryptValue.js +3 -1
  262. package/_esm/core/actions/encrypt/encryptValue.js.map +1 -1
  263. package/_esm/core/actions/encrypt/encryptValues.js +3 -1
  264. package/_esm/core/actions/encrypt/encryptValues.js.map +1 -1
  265. package/_esm/core/actions/encrypt/generateZkProof.js +5 -1
  266. package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -1
  267. package/_esm/core/actions/host/readFhevmExecutorContractData.js +8 -8
  268. package/_esm/core/actions/host/readFhevmExecutorContractData.js.map +1 -1
  269. package/_esm/core/actions/host/readInputVerifierContractData.js +2 -2
  270. package/_esm/core/actions/host/readInputVerifierContractData.js.map +1 -1
  271. package/_esm/core/actions/host/readKmsVerifierContractData.js +7 -6
  272. package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
  273. package/_esm/core/actions/host/resolveFhevmConfig.js +7 -1
  274. package/_esm/core/actions/host/resolveFhevmConfig.js.map +1 -1
  275. package/_esm/core/base/bytes.js +2 -1
  276. package/_esm/core/base/bytes.js.map +1 -1
  277. package/_esm/core/base/environment.js +164 -0
  278. package/_esm/core/base/environment.js.map +1 -0
  279. package/_esm/core/base/errors/Sha256VerificationError.js +11 -0
  280. package/_esm/core/base/errors/Sha256VerificationError.js.map +1 -0
  281. package/_esm/core/base/inflate.js +337 -0
  282. package/_esm/core/base/inflate.js.map +1 -0
  283. package/_esm/core/base/isomorphicFs.js +21 -0
  284. package/_esm/core/base/isomorphicFs.js.map +1 -0
  285. package/_esm/core/base/isomorphicWorker.js +92 -85
  286. package/_esm/core/base/isomorphicWorker.js.map +1 -1
  287. package/_esm/core/base/object.js +28 -0
  288. package/_esm/core/base/object.js.map +1 -1
  289. package/_esm/core/base/semver.js +164 -0
  290. package/_esm/core/base/semver.js.map +1 -0
  291. package/_esm/core/base/uint.js +23 -2
  292. package/_esm/core/base/uint.js.map +1 -1
  293. package/_esm/core/base/wasm.js +25 -31
  294. package/_esm/core/base/wasm.js.map +1 -1
  295. package/_esm/core/chains/definitions/localTestnet.js +3 -0
  296. package/_esm/core/chains/definitions/localTestnet.js.map +1 -1
  297. package/_esm/core/chains/definitions/mainnet.js +1 -0
  298. package/_esm/core/chains/definitions/mainnet.js.map +1 -1
  299. package/_esm/core/chains/definitions/sepolia.js +1 -0
  300. package/_esm/core/chains/definitions/sepolia.js.map +1 -1
  301. package/_esm/core/clients/decorators/base.js +6 -1
  302. package/_esm/core/clients/decorators/base.js.map +1 -1
  303. package/_esm/core/clients/decorators/decrypt-p.js +11 -0
  304. package/_esm/core/clients/decorators/decrypt-p.js.map +1 -0
  305. package/_esm/core/clients/decorators/decrypt.js +3 -7
  306. package/_esm/core/clients/decorators/decrypt.js.map +1 -1
  307. package/_esm/core/clients/decorators/encrypt-p.js +6 -2
  308. package/_esm/core/clients/decorators/encrypt-p.js.map +1 -1
  309. package/_esm/core/clients/decorators/encrypt.js.map +1 -1
  310. package/_esm/core/coprocessor/ZkProof-p.js +4 -2
  311. package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
  312. package/_esm/core/coprocessor/ZkProofBuilder-p.js +2 -1
  313. package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  314. package/_esm/core/coprocessor/encrypt.js +1 -1
  315. package/_esm/core/coprocessor/encrypt.js.map +1 -1
  316. package/_esm/core/errors/RelayerResponseStatusError.js +7 -2
  317. package/_esm/core/errors/RelayerResponseStatusError.js.map +1 -1
  318. package/_esm/core/host-contracts/HostContractVersion-p.js +34 -3
  319. package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -1
  320. package/_esm/core/host-contracts/KmsSignersContext-p.js +24 -6
  321. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  322. package/_esm/core/host-contracts/abi-fragments/fragments.js +24 -0
  323. package/_esm/core/host-contracts/abi-fragments/fragments.js.map +1 -1
  324. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
  325. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  326. package/_esm/core/host-contracts/checkAllowedForDecryption.js +2 -2
  327. package/_esm/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
  328. package/_esm/core/host-contracts/checkDelegation.js +8 -8
  329. package/_esm/core/host-contracts/checkDelegation.js.map +1 -1
  330. package/_esm/core/host-contracts/checkPersistAllowed.js +9 -9
  331. package/_esm/core/host-contracts/checkPersistAllowed.js.map +1 -1
  332. package/_esm/core/host-contracts/getAclAddress-p.js +1 -2
  333. package/_esm/core/host-contracts/getAclAddress-p.js.map +1 -1
  334. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +63 -0
  335. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
  336. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +6 -7
  337. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  338. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
  339. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
  340. package/_esm/core/host-contracts/getHandleVersion-p.js +1 -2
  341. package/_esm/core/host-contracts/getHandleVersion-p.js.map +1 -1
  342. package/_esm/core/host-contracts/getHcuLimitAddress-p.js +1 -2
  343. package/_esm/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
  344. package/_esm/core/host-contracts/getInputVerifierAddress-p.js +1 -2
  345. package/_esm/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
  346. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +6 -8
  347. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  348. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +5 -6
  349. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  350. package/_esm/core/host-contracts/getSignersForKmsContext-p.js +5 -7
  351. package/_esm/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
  352. package/_esm/core/host-contracts/isAllowedForDecryption.js +4 -4
  353. package/_esm/core/host-contracts/isAllowedForDecryption.js.map +1 -1
  354. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
  355. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
  356. package/_esm/core/host-contracts/isUserDecryptable.js +2 -2
  357. package/_esm/core/host-contracts/isUserDecryptable.js.map +1 -1
  358. package/_esm/core/host-contracts/persistAllowed.js +4 -4
  359. package/_esm/core/host-contracts/persistAllowed.js.map +1 -1
  360. package/_esm/core/host-contracts/readKmsSignersContext-p.js +89 -29
  361. package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  362. package/_esm/core/key/FheEncryptionKeyWasm-p.js +12 -4
  363. package/_esm/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
  364. package/_esm/core/key/deserializeFheEncryptionKey.js +3 -0
  365. package/_esm/core/key/deserializeFheEncryptionKey.js.map +1 -1
  366. package/_esm/core/key/fetchFheEncryptionKey.js +1 -1
  367. package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -1
  368. package/_esm/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
  369. package/_esm/core/key/serializeFheEncryptionKey.js +4 -1
  370. package/_esm/core/key/serializeFheEncryptionKey.js.map +1 -1
  371. package/_esm/core/kms/KmsSigncryptedShares-p.js +9 -1
  372. package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  373. package/_esm/core/kms/SignedDecryptionPermit-p.js +5 -1
  374. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  375. package/_esm/core/kms/TransportKeyPair-p.js +28 -7
  376. package/_esm/core/kms/TransportKeyPair-p.js.map +1 -1
  377. package/_esm/core/kms/createKmsUserDecryptEip712.js +8 -0
  378. package/_esm/core/kms/createKmsUserDecryptEip712.js.map +1 -1
  379. package/_esm/core/kms/createKmsUserDecryptEip712V2.js +98 -0
  380. package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
  381. package/_esm/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +9 -2
  382. package/_esm/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
  383. package/_esm/core/kms/decryptValuesFromPairs.js +4 -4
  384. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
  385. package/_esm/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +12 -6
  386. package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
  387. package/_esm/core/kms/kmsExtraData.js +70 -12
  388. package/_esm/core/kms/kmsExtraData.js.map +1 -1
  389. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +28 -0
  390. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
  391. package/_esm/core/kms/publicDecrypt.js +5 -3
  392. package/_esm/core/kms/publicDecrypt.js.map +1 -1
  393. package/_esm/core/modules/decrypt/mock.js +0 -24
  394. package/_esm/core/modules/decrypt/mock.js.map +1 -1
  395. package/_esm/core/modules/decrypt/module/api-p.js +51 -23
  396. package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
  397. package/_esm/core/modules/decrypt/module/index.js +31 -25
  398. package/_esm/core/modules/decrypt/module/index.js.map +1 -1
  399. package/_esm/core/modules/decrypt/module/init-p.js +141 -64
  400. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
  401. package/_esm/core/modules/encrypt/mock.js +26 -9
  402. package/_esm/core/modules/encrypt/mock.js.map +1 -1
  403. package/_esm/core/modules/encrypt/module/api-p.js +50 -21
  404. package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
  405. package/_esm/core/modules/encrypt/module/index.js +3 -3
  406. package/_esm/core/modules/encrypt/module/index.js.map +1 -1
  407. package/_esm/core/modules/encrypt/module/init-p.js +369 -82
  408. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
  409. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +2 -2
  410. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
  411. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +2 -2
  412. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  413. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +57 -4
  414. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  415. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +8 -1
  416. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  417. package/_esm/core/modules/relayer/module/readErrorMessage.js +52 -0
  418. package/_esm/core/modules/relayer/module/readErrorMessage.js.map +1 -0
  419. package/_esm/core/runtime/CoreFhevm-p.js +167 -5
  420. package/_esm/core/runtime/CoreFhevm-p.js.map +1 -1
  421. package/_esm/core/runtime/HyperWasmSolver-p.js +268 -0
  422. package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -0
  423. package/_esm/core/runtime/ProtocolVersionResolver-p.js +326 -0
  424. package/_esm/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
  425. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  426. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  427. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  428. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
  429. package/_esm/core/runtime/initFhevmRuntime-p.js +4 -1
  430. package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -1
  431. package/_esm/core/runtime/resolveFhevmVersions-p.js +62 -0
  432. package/_esm/core/runtime/resolveFhevmVersions-p.js.map +1 -0
  433. package/_esm/core/runtimeConfig-p.js +9 -0
  434. package/_esm/core/runtimeConfig-p.js.map +1 -1
  435. package/_esm/core/types/moduleVersions.js +2 -0
  436. package/_esm/core/types/moduleVersions.js.map +1 -0
  437. package/_esm/core/types/wasmAssets.js +2 -0
  438. package/_esm/core/types/wasmAssets.js.map +1 -0
  439. package/_esm/core/types/zkProofBuilder-p.js +2 -0
  440. package/_esm/core/types/zkProofBuilder-p.js.map +1 -0
  441. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
  442. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
  443. package/_esm/ethers/internal/config.js +1 -18
  444. package/_esm/ethers/internal/config.js.map +1 -1
  445. package/_esm/viem/internal/config.js +1 -18
  446. package/_esm/viem/internal/config.js.map +1 -1
  447. package/_esm/wasm/tfhe/TfheApi.d.ts +12 -12
  448. package/_esm/wasm/tfhe/loadTfheLib.js +11 -11
  449. package/_esm/wasm/tfhe/v1.5.3/startWorkers.js +41 -20
  450. package/_esm/wasm/tfhe/v1.5.3/tfhe.d.ts +7 -0
  451. package/_esm/wasm/tfhe/v1.5.3/tfhe.js +8 -0
  452. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +46 -25
  453. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
  454. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +92 -85
  455. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +253 -442
  456. package/_esm/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
  457. package/_esm/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +7 -0
  458. package/_esm/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  459. package/_esm/wasm/tkms/v0.13.10/kms_lib.js +8 -0
  460. package/_esm/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  461. package/_esm/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
  462. package/_esm/wasm/wasmBaseUrl.js +32 -4
  463. package/_types/core/actions/base/{fetchKmsSignedcryptedShares.d.ts → fetchKmsSigncryptedShares.d.ts} +7 -7
  464. package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +1 -0
  465. package/_types/core/actions/base/index.d.ts +1 -1
  466. package/_types/core/actions/base/index.d.ts.map +1 -1
  467. package/_types/core/actions/base/readKmsSignersContext.d.ts.map +1 -1
  468. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +2 -2
  469. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
  470. package/_types/core/actions/chain/parseTransportKeyPair.d.ts +1 -1
  471. package/_types/core/actions/chain/parseTransportKeyPair.d.ts.map +1 -1
  472. package/_types/core/actions/decrypt/{decryptKmsSignedcryptedShares.d.ts → decryptKmsSigncryptedShares.d.ts} +4 -4
  473. package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +1 -0
  474. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
  475. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
  476. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
  477. package/_types/core/actions/decrypt/generateTransportKeyPair.d.ts +2 -2
  478. package/_types/core/actions/decrypt/generateTransportKeyPair.d.ts.map +1 -1
  479. package/_types/core/actions/decrypt/index.d.ts +1 -1
  480. package/_types/core/actions/decrypt/index.d.ts.map +1 -1
  481. package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -1
  482. package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -1
  483. package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -1
  484. package/_types/core/actions/host/readKmsVerifierContractData.d.ts +1 -0
  485. package/_types/core/actions/host/readKmsVerifierContractData.d.ts.map +1 -1
  486. package/_types/core/actions/host/resolveFhevmConfig.d.ts +2 -0
  487. package/_types/core/actions/host/resolveFhevmConfig.d.ts.map +1 -1
  488. package/_types/core/base/bytes.d.ts.map +1 -1
  489. package/_types/core/base/environment.d.ts +92 -0
  490. package/_types/core/base/environment.d.ts.map +1 -0
  491. package/_types/core/base/errors/Sha256VerificationError.d.ts +14 -0
  492. package/_types/core/base/errors/Sha256VerificationError.d.ts.map +1 -0
  493. package/_types/core/base/inflate.d.ts +25 -0
  494. package/_types/core/base/inflate.d.ts.map +1 -0
  495. package/_types/core/base/isomorphicFs.d.ts +2 -0
  496. package/_types/core/base/isomorphicFs.d.ts.map +1 -0
  497. package/_types/core/base/isomorphicWorker.d.ts +27 -43
  498. package/_types/core/base/isomorphicWorker.d.ts.map +1 -1
  499. package/_types/core/base/object.d.ts +7 -0
  500. package/_types/core/base/object.d.ts.map +1 -1
  501. package/_types/core/base/semver.d.ts +39 -0
  502. package/_types/core/base/semver.d.ts.map +1 -0
  503. package/_types/core/base/uint.d.ts +13 -2
  504. package/_types/core/base/uint.d.ts.map +1 -1
  505. package/_types/core/base/wasm.d.ts +0 -8
  506. package/_types/core/base/wasm.d.ts.map +1 -1
  507. package/_types/core/chains/definitions/localTestnet.d.ts +3 -0
  508. package/_types/core/chains/definitions/localTestnet.d.ts.map +1 -1
  509. package/_types/core/chains/definitions/mainnet.d.ts +1 -0
  510. package/_types/core/chains/definitions/mainnet.d.ts.map +1 -1
  511. package/_types/core/chains/definitions/sepolia.d.ts.map +1 -1
  512. package/_types/core/clients/decorators/base.d.ts.map +1 -1
  513. package/_types/core/clients/decorators/decrypt-p.d.ts +4 -0
  514. package/_types/core/clients/decorators/decrypt-p.d.ts.map +1 -0
  515. package/_types/core/clients/decorators/decrypt.d.ts +4 -2
  516. package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
  517. package/_types/core/clients/decorators/encrypt-p.d.ts +2 -3
  518. package/_types/core/clients/decorators/encrypt-p.d.ts.map +1 -1
  519. package/_types/core/clients/decorators/encrypt.d.ts +4 -2
  520. package/_types/core/clients/decorators/encrypt.d.ts.map +1 -1
  521. package/_types/core/coprocessor/ZkProof-p.d.ts +9 -2
  522. package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
  523. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +3 -1
  524. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
  525. package/_types/core/coprocessor/encrypt.d.ts +2 -0
  526. package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
  527. package/_types/core/errors/RelayerResponseStatusError.d.ts +7 -1
  528. package/_types/core/errors/RelayerResponseStatusError.d.ts.map +1 -1
  529. package/_types/core/host-contracts/HostContractVersion-p.d.ts +18 -1
  530. package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -1
  531. package/_types/core/host-contracts/KmsSignersContext-p.d.ts +2 -1
  532. package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -1
  533. package/_types/core/host-contracts/abi-fragments/fragments.d.ts +5 -0
  534. package/_types/core/host-contracts/abi-fragments/fragments.d.ts.map +1 -1
  535. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts +1 -1
  536. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts.map +1 -1
  537. package/_types/core/host-contracts/checkDelegation.d.ts +1 -1
  538. package/_types/core/host-contracts/checkDelegation.d.ts.map +1 -1
  539. package/_types/core/host-contracts/checkPersistAllowed.d.ts +1 -1
  540. package/_types/core/host-contracts/checkPersistAllowed.d.ts.map +1 -1
  541. package/_types/core/host-contracts/getAclAddress-p.d.ts +1 -1
  542. package/_types/core/host-contracts/getAclAddress-p.d.ts.map +1 -1
  543. package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts +30 -0
  544. package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts.map +1 -0
  545. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts +1 -1
  546. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts.map +1 -1
  547. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts +1 -1
  548. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts.map +1 -1
  549. package/_types/core/host-contracts/getHandleVersion-p.d.ts +1 -1
  550. package/_types/core/host-contracts/getHandleVersion-p.d.ts.map +1 -1
  551. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts +1 -1
  552. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts.map +1 -1
  553. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts +1 -1
  554. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts.map +1 -1
  555. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts +1 -1
  556. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts.map +1 -1
  557. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +1 -1
  558. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -1
  559. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts +2 -2
  560. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts.map +1 -1
  561. package/_types/core/host-contracts/isAllowedForDecryption.d.ts +1 -1
  562. package/_types/core/host-contracts/isAllowedForDecryption.d.ts.map +1 -1
  563. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts +1 -1
  564. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts.map +1 -1
  565. package/_types/core/host-contracts/isUserDecryptable.d.ts +1 -1
  566. package/_types/core/host-contracts/isUserDecryptable.d.ts.map +1 -1
  567. package/_types/core/host-contracts/persistAllowed.d.ts +1 -1
  568. package/_types/core/host-contracts/persistAllowed.d.ts.map +1 -1
  569. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +25 -7
  570. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
  571. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts +3 -1
  572. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts.map +1 -1
  573. package/_types/core/key/deserializeFheEncryptionKey.d.ts +2 -0
  574. package/_types/core/key/deserializeFheEncryptionKey.d.ts.map +1 -1
  575. package/_types/core/key/fetchFheEncryptionKey.d.ts +3 -1
  576. package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -1
  577. package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts.map +1 -1
  578. package/_types/core/key/serializeFheEncryptionKey.d.ts.map +1 -1
  579. package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -1
  580. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
  581. package/_types/core/kms/TransportKeyPair-p.d.ts +9 -0
  582. package/_types/core/kms/TransportKeyPair-p.d.ts.map +1 -1
  583. package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +1 -1
  584. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +15 -0
  585. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -0
  586. package/_types/core/kms/{decryptKmsSignedcryptedShares-p.d.ts → decryptKmsSigncryptedShares-p.d.ts} +4 -2
  587. package/_types/core/kms/decryptKmsSigncryptedShares-p.d.ts.map +1 -0
  588. package/_types/core/kms/decryptValuesFromPairs.d.ts +2 -0
  589. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
  590. package/_types/core/kms/{fetchKmsSignedcryptedShares-p.d.ts → fetchKmsSigncryptedShares-p.d.ts} +2 -2
  591. package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +1 -0
  592. package/_types/core/kms/kmsExtraData.d.ts +9 -2
  593. package/_types/core/kms/kmsExtraData.d.ts.map +1 -1
  594. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts +3 -0
  595. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -0
  596. package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
  597. package/_types/core/modules/decrypt/mock.d.ts +1 -2
  598. package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
  599. package/_types/core/modules/decrypt/module/api-p.d.ts +2 -2
  600. package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -1
  601. package/_types/core/modules/decrypt/module/index.d.ts +1 -2
  602. package/_types/core/modules/decrypt/module/index.d.ts.map +1 -1
  603. package/_types/core/modules/decrypt/module/init-p.d.ts +3 -3
  604. package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
  605. package/_types/core/modules/decrypt/types.d.ts +33 -34
  606. package/_types/core/modules/decrypt/types.d.ts.map +1 -1
  607. package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
  608. package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
  609. package/_types/core/modules/encrypt/module/index.d.ts.map +1 -1
  610. package/_types/core/modules/encrypt/module/init-p.d.ts +11 -4
  611. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
  612. package/_types/core/modules/encrypt/types.d.ts +31 -2
  613. package/_types/core/modules/encrypt/types.d.ts.map +1 -1
  614. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +18 -0
  615. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
  616. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -1
  617. package/_types/core/modules/relayer/module/readErrorMessage.d.ts +26 -0
  618. package/_types/core/modules/relayer/module/readErrorMessage.d.ts.map +1 -0
  619. package/_types/core/runtime/CoreFhevm-p.d.ts +15 -4
  620. package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -1
  621. package/_types/core/runtime/HyperWasmSolver-p.d.ts +71 -0
  622. package/_types/core/runtime/HyperWasmSolver-p.d.ts.map +1 -0
  623. package/_types/core/runtime/ProtocolVersionResolver-p.d.ts +29 -0
  624. package/_types/core/runtime/ProtocolVersionResolver-p.d.ts.map +1 -0
  625. package/_types/core/runtime/initFhevmRuntime-p.d.ts.map +1 -1
  626. package/_types/core/runtime/resolveFhevmVersions-p.d.ts +21 -0
  627. package/_types/core/runtime/resolveFhevmVersions-p.d.ts.map +1 -0
  628. package/_types/core/runtimeConfig-p.d.ts +3 -2
  629. package/_types/core/runtimeConfig-p.d.ts.map +1 -1
  630. package/_types/core/types/auth.d.ts +12 -1
  631. package/_types/core/types/auth.d.ts.map +1 -1
  632. package/_types/core/types/coreFhevmClient.d.ts +72 -2
  633. package/_types/core/types/coreFhevmClient.d.ts.map +1 -1
  634. package/_types/core/types/coreFhevmRuntime.d.ts +3 -9
  635. package/_types/core/types/coreFhevmRuntime.d.ts.map +1 -1
  636. package/_types/core/types/fheEncryptionKey.d.ts +2 -0
  637. package/_types/core/types/fheEncryptionKey.d.ts.map +1 -1
  638. package/_types/core/types/fhevmChain.d.ts +3 -0
  639. package/_types/core/types/fhevmChain.d.ts.map +1 -1
  640. package/_types/core/types/hostContract.d.ts +1 -0
  641. package/_types/core/types/hostContract.d.ts.map +1 -1
  642. package/_types/core/types/index.d.ts +1 -1
  643. package/_types/core/types/index.d.ts.map +1 -1
  644. package/_types/core/types/kms-p.d.ts +2 -0
  645. package/_types/core/types/kms-p.d.ts.map +1 -1
  646. package/_types/core/types/kms.d.ts +71 -21
  647. package/_types/core/types/kms.d.ts.map +1 -1
  648. package/_types/core/types/kmsSignersContext.d.ts +8 -0
  649. package/_types/core/types/kmsSignersContext.d.ts.map +1 -1
  650. package/_types/core/types/logger.d.ts +1 -0
  651. package/_types/core/types/logger.d.ts.map +1 -1
  652. package/_types/core/types/moduleVersions.d.ts +25 -0
  653. package/_types/core/types/moduleVersions.d.ts.map +1 -0
  654. package/_types/core/types/tkms-p.d.ts +2 -0
  655. package/_types/core/types/tkms-p.d.ts.map +1 -1
  656. package/_types/core/types/wasmAssets.d.ts +2 -0
  657. package/_types/core/types/wasmAssets.d.ts.map +1 -0
  658. package/_types/core/types/{zkProofBuilder.d.ts → zkProofBuilder-p.d.ts} +8 -3
  659. package/_types/core/types/zkProofBuilder-p.d.ts.map +1 -0
  660. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts +2 -0
  661. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts.map +1 -1
  662. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
  663. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
  664. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
  665. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
  666. package/_types/ethers/clients/createFhevmDecryptClient.d.ts +2 -2
  667. package/_types/ethers/clients/createFhevmDecryptClient.d.ts.map +1 -1
  668. package/_types/ethers/clients/createFhevmEncryptClient.d.ts +2 -2
  669. package/_types/ethers/clients/createFhevmEncryptClient.d.ts.map +1 -1
  670. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
  671. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
  672. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
  673. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
  674. package/_types/viem/clients/createFhevmDecryptClient.d.ts +2 -2
  675. package/_types/viem/clients/createFhevmDecryptClient.d.ts.map +1 -1
  676. package/_types/viem/clients/createFhevmEncryptClient.d.ts +2 -2
  677. package/_types/viem/clients/createFhevmEncryptClient.d.ts.map +1 -1
  678. package/_types/wasm/tfhe/TfheApi.d.ts +12 -12
  679. package/_types/wasm/tfhe/v1.5.3/tfhe.d.ts +7 -0
  680. package/_types/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +92 -85
  681. package/_types/wasm/tfheModuleVersion-p.d.ts +1 -1
  682. package/_types/wasm/tfheModuleVersion-p.d.ts.map +1 -1
  683. package/_types/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  684. package/_types/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  685. package/_types/wasm/tkmsModuleVersion-p.d.ts +1 -1
  686. package/_types/wasm/tkmsModuleVersion-p.d.ts.map +1 -1
  687. package/core/_version.ts +1 -1
  688. package/core/actions/base/canDecryptPublicValue.ts +1 -1
  689. package/core/actions/base/canDecryptPublicValues.ts +1 -1
  690. package/core/actions/base/{fetchKmsSignedcryptedShares.ts → fetchKmsSigncryptedShares.ts} +16 -16
  691. package/core/actions/base/index.ts +5 -5
  692. package/core/actions/base/readKmsSignersContext.ts +2 -1
  693. package/core/actions/chain/parseSignedDecryptionPermit.ts +2 -2
  694. package/core/actions/chain/parseTransportKeyPair.ts +2 -1
  695. package/core/actions/decrypt/{decryptKmsSignedcryptedShares.ts → decryptKmsSigncryptedShares.ts} +12 -9
  696. package/core/actions/decrypt/decryptValue.ts +4 -1
  697. package/core/actions/decrypt/decryptValues.ts +4 -1
  698. package/core/actions/decrypt/decryptValuesFromPairs.ts +4 -1
  699. package/core/actions/decrypt/generateTransportKeyPair.ts +5 -3
  700. package/core/actions/decrypt/index.ts +4 -4
  701. package/core/actions/encrypt/encryptValue.ts +4 -1
  702. package/core/actions/encrypt/encryptValues.ts +4 -1
  703. package/core/actions/encrypt/generateZkProof.ts +9 -1
  704. package/core/actions/host/readFhevmExecutorContractData.ts +8 -8
  705. package/core/actions/host/readInputVerifierContractData.ts +2 -2
  706. package/core/actions/host/readKmsVerifierContractData.ts +8 -6
  707. package/core/actions/host/resolveFhevmConfig.ts +10 -1
  708. package/core/base/bytes.ts +2 -1
  709. package/core/base/environment.ts +210 -0
  710. package/core/base/errors/Sha256VerificationError.ts +22 -0
  711. package/core/base/inflate.ts +373 -0
  712. package/core/base/isomorphicFs.ts +23 -0
  713. package/core/base/isomorphicWorker.ts +96 -123
  714. package/core/base/object.ts +38 -0
  715. package/core/base/semver.ts +231 -0
  716. package/core/base/uint.ts +33 -4
  717. package/core/base/wasm.ts +28 -35
  718. package/core/chains/definitions/localTestnet.ts +3 -0
  719. package/core/chains/definitions/mainnet.ts +1 -0
  720. package/core/chains/definitions/sepolia.ts +6 -6
  721. package/core/clients/decorators/base.ts +8 -1
  722. package/core/clients/decorators/decrypt-p.ts +18 -0
  723. package/core/clients/decorators/decrypt.ts +10 -15
  724. package/core/clients/decorators/encrypt-p.ts +12 -7
  725. package/core/clients/decorators/encrypt.ts +6 -4
  726. package/core/coprocessor/ZkProof-p.ts +17 -5
  727. package/core/coprocessor/ZkProofBuilder-p.ts +5 -2
  728. package/core/coprocessor/encrypt.ts +6 -1
  729. package/core/errors/RelayerResponseStatusError.ts +14 -2
  730. package/core/host-contracts/HostContractVersion-p.ts +60 -3
  731. package/core/host-contracts/KmsSignersContext-p.ts +36 -5
  732. package/core/host-contracts/abi-fragments/fragments.ts +28 -0
  733. package/core/host-contracts/canDecryptValuesFromPairs.ts +1 -1
  734. package/core/host-contracts/checkAllowedForDecryption.ts +3 -3
  735. package/core/host-contracts/checkDelegation.ts +9 -9
  736. package/core/host-contracts/checkPersistAllowed.ts +10 -10
  737. package/core/host-contracts/getAclAddress-p.ts +2 -3
  738. package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +92 -0
  739. package/core/host-contracts/getCurrentKmsContextId-p.ts +8 -8
  740. package/core/host-contracts/getFhevmExecutorAddress-p.ts +2 -2
  741. package/core/host-contracts/getHandleVersion-p.ts +2 -3
  742. package/core/host-contracts/getHcuLimitAddress-p.ts +2 -3
  743. package/core/host-contracts/getInputVerifierAddress-p.ts +2 -3
  744. package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +7 -9
  745. package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +6 -7
  746. package/core/host-contracts/getSignersForKmsContext-p.ts +6 -8
  747. package/core/host-contracts/isAllowedForDecryption.ts +6 -6
  748. package/core/host-contracts/isHandleDelegatedForUserDecryption-p.ts +7 -7
  749. package/core/host-contracts/isUserDecryptable.ts +3 -3
  750. package/core/host-contracts/persistAllowed.ts +6 -6
  751. package/core/host-contracts/readKmsSignersContext-p.ts +131 -41
  752. package/core/key/FheEncryptionKeyWasm-p.ts +24 -3
  753. package/core/key/deserializeFheEncryptionKey.ts +8 -1
  754. package/core/key/fetchFheEncryptionKey.ts +8 -4
  755. package/core/key/fetchFheEncryptionKeyBytes.ts +4 -2
  756. package/core/key/serializeFheEncryptionKey.ts +8 -2
  757. package/core/kms/KmsSigncryptedShares-p.ts +11 -1
  758. package/core/kms/SignedDecryptionPermit-p.ts +6 -1
  759. package/core/kms/TransportKeyPair-p.ts +52 -11
  760. package/core/kms/createKmsUserDecryptEip712.ts +11 -0
  761. package/core/kms/createKmsUserDecryptEip712V2.ts +159 -0
  762. package/core/kms/{decryptKmsSignedcryptedShares-p.ts → decryptKmsSigncryptedShares-p.ts} +12 -2
  763. package/core/kms/decryptValuesFromPairs.ts +6 -4
  764. package/core/kms/{fetchKmsSignedcryptedShares-p.ts → fetchKmsSigncryptedShares-p.ts} +12 -5
  765. package/core/kms/kmsExtraData.ts +82 -13
  766. package/core/kms/kmsUserDecryptEip712V2Types.ts +31 -0
  767. package/core/kms/publicDecrypt.ts +5 -3
  768. package/core/modules/decrypt/mock.ts +0 -35
  769. package/core/modules/decrypt/module/api-p.ts +88 -17
  770. package/core/modules/decrypt/module/index.ts +37 -34
  771. package/core/modules/decrypt/module/init-p.ts +194 -73
  772. package/core/modules/decrypt/types.ts +37 -65
  773. package/core/modules/encrypt/mock.ts +34 -4
  774. package/core/modules/encrypt/module/api-p.ts +66 -15
  775. package/core/modules/encrypt/module/index.ts +5 -3
  776. package/core/modules/encrypt/module/init-p.ts +465 -101
  777. package/core/modules/encrypt/types.ts +34 -2
  778. package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +2 -2
  779. package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +2 -2
  780. package/core/modules/relayer/module/RelayerAsyncRequest.ts +60 -4
  781. package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +9 -1
  782. package/core/modules/relayer/module/readErrorMessage.ts +56 -0
  783. package/core/runtime/CoreFhevm-p.ts +247 -22
  784. package/core/runtime/HyperWasmSolver-p.ts +417 -0
  785. package/core/runtime/ProtocolVersionResolver-p.ts +463 -0
  786. package/core/runtime/initFhevmDecryptRuntime-p.ts +1 -1
  787. package/core/runtime/initFhevmEncryptRuntime-p.ts +1 -1
  788. package/core/runtime/initFhevmRuntime-p.ts +4 -1
  789. package/core/runtime/resolveFhevmVersions-p.ts +85 -0
  790. package/core/runtimeConfig-p.ts +17 -2
  791. package/core/types/auth.ts +12 -1
  792. package/core/types/coreFhevmClient.ts +89 -4
  793. package/core/types/coreFhevmRuntime.ts +3 -18
  794. package/core/types/fheEncryptionKey.ts +2 -0
  795. package/core/types/fhevmChain.ts +3 -0
  796. package/core/types/hostContract.ts +1 -0
  797. package/core/types/index.ts +1 -1
  798. package/core/types/kms-p.ts +2 -0
  799. package/core/types/kms.ts +48 -18
  800. package/core/types/kmsSignersContext.ts +8 -0
  801. package/core/types/logger.ts +1 -0
  802. package/core/types/moduleVersions.ts +35 -0
  803. package/core/types/tkms-p.ts +3 -0
  804. package/core/types/wasmAssets.ts +64 -0
  805. package/core/types/{zkProofBuilder.ts → zkProofBuilder-p.ts} +3 -2
  806. package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +3 -1
  807. package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
  808. package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
  809. package/ethers/clients/createFhevmDecryptClient.ts +2 -2
  810. package/ethers/clients/createFhevmEncryptClient.ts +2 -2
  811. package/ethers/internal/config.ts +2 -30
  812. package/package.json +1 -1
  813. package/viem/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
  814. package/viem/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
  815. package/viem/clients/createFhevmDecryptClient.ts +2 -2
  816. package/viem/clients/createFhevmEncryptClient.ts +2 -2
  817. package/viem/internal/config.ts +2 -30
  818. package/wasm/tfhe/TfheApi.d.ts +12 -12
  819. package/wasm/tfhe/loadTfheLib.js +11 -11
  820. package/wasm/tfhe/v1.5.3/startWorkers.js +41 -20
  821. package/wasm/tfhe/v1.5.3/tfhe.d.ts +7 -0
  822. package/wasm/tfhe/v1.5.3/tfhe.js +8 -0
  823. package/wasm/tfhe/v1.6.0-dev/startWorkers.js +41 -20
  824. package/wasm/tfhe/v1.6.0-dev/tfhe.d.ts +7 -0
  825. package/wasm/tfhe/v1.6.0-dev/tfhe.js +8 -0
  826. package/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +46 -25
  827. package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
  828. package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +92 -85
  829. package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +253 -442
  830. package/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
  831. package/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +7 -0
  832. package/wasm/tfheModuleVersion-p.ts +1 -1
  833. package/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  834. package/wasm/tkms/v0.13.10/kms_lib.js +8 -0
  835. package/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  836. package/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
  837. package/wasm/tkmsModuleVersion-p.ts +1 -1
  838. package/wasm/wasmBaseUrl.js +32 -4
  839. package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
  840. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -11
  841. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
  842. package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
  843. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
  844. package/_cjs/core/types/fhevmDecryptionKey.js.map +0 -1
  845. package/_cjs/core/types/fhevmUser.js.map +0 -1
  846. package/_cjs/core/types/zkProofBuilder.js.map +0 -1
  847. package/_cjs/wasm/tfhe/v1.6.1/startWorkers.js.map +0 -7
  848. package/_cjs/wasm/tfhe/v1.6.1/tfhe.js.map +0 -7
  849. package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
  850. package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -35
  851. package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js.map +0 -7
  852. package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
  853. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -9
  854. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
  855. package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
  856. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
  857. package/_esm/core/types/fhevmDecryptionKey.js +0 -2
  858. package/_esm/core/types/fhevmDecryptionKey.js.map +0 -1
  859. package/_esm/core/types/fhevmUser.js +0 -2
  860. package/_esm/core/types/fhevmUser.js.map +0 -1
  861. package/_esm/core/types/zkProofBuilder.js +0 -2
  862. package/_esm/core/types/zkProofBuilder.js.map +0 -1
  863. package/_esm/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
  864. package/_esm/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -7
  865. package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts.map +0 -1
  866. package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts.map +0 -1
  867. package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts.map +0 -1
  868. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +0 -1
  869. package/_types/core/types/fhevmDecryptionKey.d.ts +0 -4
  870. package/_types/core/types/fhevmDecryptionKey.d.ts.map +0 -1
  871. package/_types/core/types/fhevmUser.d.ts +0 -7
  872. package/_types/core/types/fhevmUser.d.ts.map +0 -1
  873. package/_types/core/types/zkProofBuilder.d.ts.map +0 -1
  874. package/core/types/fhevmDecryptionKey.ts +0 -8
  875. package/core/types/fhevmUser.ts +0 -7
  876. package/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
  877. package/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -7
  878. /package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
  879. /package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
  880. /package/_types/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
  881. /package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
@@ -1,86 +1,266 @@
1
1
  import { isomorphicCompileVerifiedWasm, isomorphicCompileWasmFromBase64 } from '../../../base/wasm.js';
2
- import { isBlobWorkerSupported, isBrowserLike } from '../../../base/isomorphicWorker.js';
2
+ import { isBlobWorkerSupported } from '../../../base/isomorphicWorker.js';
3
+ import { isBrowserLike } from '../../../base/environment.js';
3
4
  import { threads } from 'wasm-feature-detect';
4
5
  import { assertIsFhevmRuntime } from '../../../runtime/CoreFhevmRuntime-p.js';
5
- import { resolveTfheModuleVersion } from '../../../../wasm/tfheModuleVersion-p.js';
6
- // Pure JS file (not compiled by tsc) — provides cross-platform base URL
7
- // for resolving WASM paths. Uses import.meta.url in ESM, __filename in CJS.
8
- import { wasmBaseUrl } from '../../../../wasm/wasmBaseUrl.js';
9
6
  import { loadTfheLib, loadTfheWasmBase64, tfheAssetsWithVersion } from '../../../../wasm/tfhe/loadTfheLib.js';
7
+ import { isomorphicFileUrlExists } from '../../../base/isomorphicFs.js';
8
+ ////////////////////////////////////////////////////////////////////////////////
9
+ /**
10
+ * TFHE asset loading rules
11
+ *
12
+ * 1. Asset URL resolution
13
+ * - If `locateFile` is provided:
14
+ * - `URL` return value: that asset has a URL.
15
+ * - `null` / `undefined`: that asset has no URL and must use embedded base64
16
+ * if the selected load path allows it.
17
+ * - Any other value: invalid `locateFile` result.
18
+ * - Each asset is resolved independently; advanced callers may intentionally
19
+ * mix URL and embedded-base64 asset loading.
20
+ * - User-provided URLs are not checked for on-disk existence, even when
21
+ * they use the `file:` protocol. They are explicit caller input and fail
22
+ * later during read/fetch/SHA verification if wrong.
23
+ * - If `locateFile` is not provided:
24
+ * - Node: derive default `file://` URLs as an all-or-none set. If any
25
+ * auto-derived file is missing, clear all TFHE URLs and fall back to
26
+ * embedded base64. This preserves predictable behavior for unexpected
27
+ * bundler/package relocation.
28
+ * - Browser: no asset URL; use embedded base64 paths.
29
+ *
30
+ * 2. WASM module loading
31
+ * - If the WASM asset has a URL: load, SHA-verify, and compile from that URL.
32
+ * - If the WASM asset has no URL: compile from embedded base64.
33
+ * - `wasmAssetLoadMode` does not control WASM module loading.
34
+ *
35
+ * 3. Worker script loading
36
+ * - If single-threaded: no worker is loaded.
37
+ * - If threaded: `wasmAssetLoadMode` controls how the worker script is loaded.
38
+ * - The worker URL only makes a URL-backed worker mode possible; it does not
39
+ * force the worker to use that URL.
40
+ *
41
+ * 4. Worker mode precedence
42
+ * - `embedded-base64`: ignore any worker URL and use embedded worker source.
43
+ * - `verified-blob`: require worker URL, SHA-verify fetched bytes, execute those bytes.
44
+ * - `precheck-direct-url`: require worker URL, SHA precheck, then execute URL directly.
45
+ * - `trusted-direct-url`: require worker URL, execute URL directly without SDK verification.
46
+ * - `auto`: if worker URL exists, try `verified-blob`; on non-SHA failure, fall back
47
+ * to embedded base64. If no worker URL exists, use embedded base64.
48
+ *
49
+ * 5. Failure
50
+ * - Explicit URL worker modes with no worker URL: throw.
51
+ * - SHA mismatch: always throw, never fall back.
52
+ * - Explicit worker-mode runtime failures are surfaced by `startWorkers.js`.
53
+ *
54
+ * 6. Degradation:
55
+ * - Auto-derived Node URLs are best effort only. If either the WASM or worker
56
+ * file is missing on disk, both URLs are cleared and the SDK falls back to the
57
+ * no-URL paths.
58
+ * - With no WASM URL, the WASM module compiles from embedded base64.
59
+ * - With no worker URL, `auto` and `embedded-base64` worker modes use embedded
60
+ * worker source; explicit URL worker modes throw.
61
+ * - If threads are unsupported, unavailable, or configured with zero threads,
62
+ * TFHE runs single-threaded.
63
+ * - If `auto` mode would need a blob/eval worker but blob/eval workers are
64
+ * unavailable, TFHE runs single-threaded.
65
+ * - Single-threaded TFHE never loads a worker; WASM still loads from its resolved
66
+ * URL or embedded base64.
67
+ *
68
+ * 7. Security model:
69
+ * - Mixed transports are allowed for user-resolved assets when chosen explicitly.
70
+ * - External WASM URLs are SHA-verified before compilation.
71
+ * - `verified-blob` verifies and executes the exact worker bytes.
72
+ * - `precheck-direct-url` and `trusted-direct-url` intentionally trust the runtime
73
+ * worker URL fetch semantics described in `startWorkers.js`.
74
+ *
75
+ * Turbopack / relocated package behavior:
76
+ * - In Node, without `locateFile`, the SDK derives default `file://` URLs from
77
+ * the package's wasm base URL.
78
+ * - Some bundlers can relocate/package the JS in a way that makes those derived
79
+ * `file://` URLs point to paths that do not exist on disk.
80
+ * - Passing such URLs to the WASM or worker loaders would fail at runtime instead
81
+ * of using the embedded assets.
82
+ * - To avoid that, auto-derived Node URLs are checked as an all-or-none set before
83
+ * loading: if either the WASM or worker file is missing, both URLs are cleared.
84
+ * - Once cleared, WASM loads from embedded base64 and worker loading follows
85
+ * `wasmAssetLoadMode` with no worker URL available.
86
+ * - User-provided `locateFile` URLs, including `file:` URLs, are not probed here;
87
+ * they are explicit caller input and fail loud later if wrong.
88
+ */
89
+ ////////////////////////////////////////////////////////////////////////////////
90
+ function _requiresAssetUrl(wasmAssetLoadMode) {
91
+ return wasmAssetLoadMode !== undefined && wasmAssetLoadMode !== 'auto' && wasmAssetLoadMode !== 'embedded-base64';
92
+ }
10
93
  ////////////////////////////////////////////////////////////////////////////////
11
94
  // (Node only) Path relative to src/wasm/ where wasmBaseUrl is anchored
12
- const nodeDefaultLocateFile = (file) => {
95
+ const nodeDefaultLocateFile = async (file) => {
96
+ // Pure JS file (not compiled by tsc) — provides cross-platform base URL
97
+ // for resolving WASM paths. Uses import.meta.url in ESM, __filename in CJS.
98
+ const { wasmBaseUrl } = await import('../../../../wasm/wasmBaseUrl.js');
13
99
  return new URL(`./tfhe/${file}`, wasmBaseUrl);
14
100
  };
15
- function _resolveTfheAsset(asset, locateFile) {
101
+ async function _resolveSingleTfheAsset(asset, locateFile) {
16
102
  let url;
103
+ let resolution = 'none';
17
104
  if (locateFile !== undefined) {
18
- url = locateFile(asset.filename);
105
+ const located = locateFile(asset.filename);
106
+ if (located === null || located === undefined) {
107
+ url = undefined;
108
+ }
109
+ else if (located instanceof URL) {
110
+ url = located;
111
+ }
112
+ else {
113
+ throw new TypeError(`Invalid locateFile result for TFHE asset '${asset.filename}': expected URL, null, or undefined.`);
114
+ }
115
+ resolution = 'user';
19
116
  }
20
117
  else if (!isBrowserLike()) {
21
- url = nodeDefaultLocateFile(asset.localRelativePath);
118
+ url = await nodeDefaultLocateFile(asset.localRelativePath);
119
+ resolution = 'node';
120
+ }
121
+ return Object.freeze({ ...asset, url, resolution });
122
+ }
123
+ /**
124
+ * Resolves TFHE asset URLs for wasm and worker scripts.
125
+ *
126
+ * With user `locateFile` resolution, each asset is independent: returning a URL
127
+ * opts that asset into URL loading, while returning null/undefined opts that asset
128
+ * into embedded base64 when its selected load path supports it.
129
+ *
130
+ * For `'node'` resolution (auto-derived `file://` URLs), every URL is validated
131
+ * on disk: if any one is missing — e.g. a bundler such as Turbopack relocated the
132
+ * package and the derived `file://ROOT/...` path no longer exists — then ALL URLs
133
+ * are cleared so the whole set falls back to embedded base64 consistently.
134
+ *
135
+ * `'none'` has no URL to validate.
136
+ */
137
+ async function _resolveTfheAssets(assets, locateFile) {
138
+ let wasm = await _resolveSingleTfheAsset(assets.wasm, locateFile);
139
+ let worker = await _resolveSingleTfheAsset(assets.worker, locateFile);
140
+ // Only auto-derived ('node') file:// URLs need on-disk validation; the mode is
141
+ // shared across all assets, so checking one is enough to know the set's mode.
142
+ if (wasm.resolution === 'node') {
143
+ const allExist = (await Promise.all([isomorphicFileUrlExists(wasm.url), isomorphicFileUrlExists(worker.url)])).every(Boolean);
144
+ if (!allExist) {
145
+ wasm = Object.freeze({ ...wasm, url: undefined });
146
+ worker = Object.freeze({ ...worker, url: undefined });
147
+ }
148
+ }
149
+ return { wasm, worker };
150
+ }
151
+ /**
152
+ * Emits debug traces describing how the TFHE assets were resolved (user-provided
153
+ * `locateFile`, auto-derived on-disk path, embedded base64, or bundler-relocated
154
+ * fallback). Pure logging — no control flow.
155
+ */
156
+ function _logResolvedTfheAssets(resolvedAssets, logger) {
157
+ const { wasm, worker } = resolvedAssets;
158
+ if (wasm.resolution === 'user') {
159
+ logger?.debug(`resolve tfhe wasm filename using 'locateFile' function: ${wasm.filename} -> url: ${wasm.url}`);
160
+ logger?.debug(`resolve tfhe worker filename using 'locateFile' function: ${worker.filename} -> url: ${worker.url}`);
161
+ }
162
+ else if (wasm.resolution === 'node') {
163
+ if (wasm.url === undefined) {
164
+ // Auto-derived assets were missing on disk (e.g. a bundler such as Turbopack
165
+ // relocated the package) and were cleared by _resolveTfheAssets -> base64.
166
+ logger?.debug(`tfhe auto-derived assets not found on disk (bundler relocation?); using embedded base64 ` +
167
+ `(wasm: ${wasm.localRelativePath}, worker: ${worker.localRelativePath})`);
168
+ }
169
+ else {
170
+ logger?.debug(`resolve tfhe wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
171
+ logger?.debug(`resolve tfhe worker local path: ${worker.localRelativePath} -> url: ${worker.url}`);
172
+ }
173
+ }
174
+ else {
175
+ // 'none': browser zero-config (no 'locateFile', not Node) -> embedded base64.
176
+ logger?.debug(`resolve tfhe assets using embedded base64 (browser, no 'locateFile')`);
22
177
  }
23
- return Object.freeze({ ...asset, url });
24
178
  }
25
- let resolvedTfheModuleConfig = undefined;
26
- let resolvingTfheModuleConfigPromise;
179
+ const resolvedTfheModuleConfigByVersion = new Map();
180
+ const resolvingTfheModuleConfigPromiseByVersion = new Map();
27
181
  /**
28
182
  * @internal
29
- * Returns the existing resolved config, or resolves it from the runtime config.
183
+ * Returns the existing resolved config for a TFHE version, or resolves it from
184
+ * the runtime config.
30
185
  */
31
- async function _getOrResolveTfheModuleConfig(runtime) {
186
+ async function _getOrResolveTfheModuleConfig(runtime, tfheVersion) {
187
+ const resolvedTfheModuleConfig = resolvedTfheModuleConfigByVersion.get(tfheVersion);
32
188
  if (resolvedTfheModuleConfig !== undefined) {
33
189
  return resolvedTfheModuleConfig;
34
190
  }
35
- const version = resolveTfheModuleVersion(runtime.config);
36
- resolvingTfheModuleConfigPromise ??= _resolveTfheModuleConfig(runtime.config, version)
37
- .then((cfg) => {
38
- resolvedTfheModuleConfig = cfg;
39
- return cfg;
40
- })
41
- .catch((error) => {
42
- resolvingTfheModuleConfigPromise = undefined;
43
- throw error;
44
- });
191
+ let resolvingTfheModuleConfigPromise = resolvingTfheModuleConfigPromiseByVersion.get(tfheVersion);
192
+ if (resolvingTfheModuleConfigPromise === undefined) {
193
+ resolvingTfheModuleConfigPromise = _resolveTfheModuleConfig(runtime.config, tfheVersion)
194
+ .then((cfg) => {
195
+ resolvedTfheModuleConfigByVersion.set(tfheVersion, cfg);
196
+ return cfg;
197
+ })
198
+ .catch((error) => {
199
+ resolvingTfheModuleConfigPromiseByVersion.delete(tfheVersion);
200
+ throw error;
201
+ });
202
+ resolvingTfheModuleConfigPromiseByVersion.set(tfheVersion, resolvingTfheModuleConfigPromise);
203
+ }
45
204
  return resolvingTfheModuleConfigPromise;
46
205
  }
47
206
  /**
48
- * @internal
49
- * Resolves user-provided {@link FhevmRuntimeConfig} into a fully resolved config
50
- * (thread count, worker URL, WASM URL). Must be called before WASM initialization.
207
+ * Fails fast on impossible / contradictory TFHE configurations, before any
208
+ * wasm or worker work begins.
209
+ *
210
+ * Only genuinely unsatisfiable configs throw here. Recoverable situations —
211
+ * missing SAB/thread support, or `auto` mode without blob/eval worker support —
212
+ * degrade to single-threaded later. Single-threaded TFHE needs no worker, and
213
+ * wasm still loads from its resolved URL or embedded base64. Do not add
214
+ * degradable cases to this function.
51
215
  */
52
- async function _resolveTfheModuleConfig(parameters, version) {
53
- const { locateFile, wasmAssetLoadMode, singleThread: singleThreadConfig, numberOfThreads: numberOfThreadsConfig, } = parameters;
54
- let singleThread = false;
55
- if (singleThreadConfig !== undefined) {
56
- singleThread = singleThreadConfig;
216
+ function _assertSatisfiableTfheConfig(resolvedAssets, parameters) {
217
+ const { wasmAssetLoadMode, numberOfThreads } = parameters;
218
+ const { wasm, worker } = resolvedAssets;
219
+ if (wasm.resolution !== worker.resolution) {
220
+ // internal error
221
+ throw new Error('Internal error');
57
222
  }
58
- const canUseBlob = await isBlobWorkerSupported();
59
- const assets = tfheAssetsWithVersion(version);
60
- const wasm = _resolveTfheAsset(assets.wasm, locateFile);
61
- const worker = _resolveTfheAsset(assets.worker, locateFile);
62
- if (locateFile !== undefined) {
63
- parameters.logger?.debug(`resolve tfhe wasm filename: ${wasm.filename} -> url: ${wasm.url}`);
64
- parameters.logger?.debug(`resolve tfhe worker filename: ${worker.filename} -> url: ${worker.url}`);
65
- }
66
- else {
67
- /*
68
- if run in Node only, use defaultLocateFile!
69
- */
70
- if (isBrowserLike()) {
71
- if (!canUseBlob) {
72
- throw new Error('Missing locate file function');
73
- }
74
- }
75
- else {
76
- parameters.logger?.debug(`resolve tfhe wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
77
- parameters.logger?.debug(`resolve tfhe worker local path: ${worker.localRelativePath} -> url: ${worker.url}`);
223
+ // (1) Auto-derived Node URLs must remain all-or-none. User `locateFile`
224
+ // resolution may intentionally mix URL and embedded-base64 assets, but a
225
+ // partial Node file set means the package/bundler layout is inconsistent.
226
+ if (wasm.resolution === 'node') {
227
+ if ((wasm.url === undefined) !== (worker.url === undefined)) {
228
+ throw new Error(`Inconsistent auto-derived TFHE asset URLs: Node resolution must resolve both the wasm and worker assets, or neither ` +
229
+ `(wasm: ${wasm.url ? 'url' : 'none'}, worker: ${worker.url ? 'url' : 'none'}).`);
78
230
  }
79
231
  }
80
- let numberOfThreads;
232
+ // (2) A URL-requiring worker mode (verified-blob / precheck-direct-url /
233
+ // trusted-direct-url) was selected, but no worker URL is available.
234
+ // We refuse to silently downgrade an explicit URL/verification choice to base64.
235
+ if (worker.url === undefined && _requiresAssetUrl(wasmAssetLoadMode)) {
236
+ throw new Error(`wasmAssetLoadMode '${wasmAssetLoadMode}' requires a resolvable worker URL, but none is available. ` +
237
+ `Use 'auto' or 'embedded-base64', or provide a worker URL via 'locateFile'.`);
238
+ }
239
+ // (3) Invalid thread count: must be a non-negative integer when provided.
240
+ // (Negative / NaN would otherwise be silently coerced to single-threaded,
241
+ // hiding the caller's mistake.)
242
+ if (numberOfThreads !== undefined && (!Number.isInteger(numberOfThreads) || numberOfThreads < 0)) {
243
+ throw new Error(`numberOfThreads must be a non-negative integer, received: ${String(numberOfThreads)}`);
244
+ }
245
+ }
246
+ /**
247
+ * Resolves the effective threading config. Degrades to single-threaded when
248
+ * multi-threading is requested but cannot run — no SharedArrayBuffer/COOP-COEP
249
+ * support, or no way to spawn a worker. Never throws: single-threaded always works
250
+ * (it needs no worker, and the wasm still loads via URL or embedded base64).
251
+ */
252
+ async function _resolveThreadConfig(args) {
253
+ const { preferredSingleThread, numberOfThreadsConfig, wasmAssetLoadMode, canUseBlob, logger } = args;
254
+ let singleThread = preferredSingleThread;
255
+ let numberOfThreads = 0;
81
256
  let supportsThreads;
82
257
  if (!singleThread) {
83
- numberOfThreads = numberOfThreadsConfig ?? navigator.hardwareConcurrency; // Node 21+
258
+ // `navigator` is absent in some edge runtimes (and Node <21); guard it so a
259
+ // missing global degrades to single-threaded (0) instead of a ReferenceError.
260
+ // This single-threaded fallback is also the only viable mode on edge anyway:
261
+ // Cloudflare Workers and Vercel Edge support neither Web Workers (`new Worker`)
262
+ // nor `node:worker_threads`, so the worker pool could not be spawned there.
263
+ numberOfThreads = numberOfThreadsConfig ?? (typeof navigator !== 'undefined' ? navigator.hardwareConcurrency : 0);
84
264
  if (numberOfThreads > 0) {
85
265
  // SharedArrayBuffer requires COOP/COEP headers in browsers.
86
266
  // Fall back to single-threaded mode when unavailable.
@@ -90,27 +270,94 @@ async function _resolveTfheModuleConfig(parameters, version) {
90
270
  singleThread = true;
91
271
  numberOfThreads = 0;
92
272
  }
273
+ else if (!canUseBlob && wasmAssetLoadMode === 'auto') {
274
+ // Threads are supported, but the selected mode spawns its worker from code
275
+ // (embedded-base64 / verified-blob / auto — blob in browser, eval in Node),
276
+ // and blob/eval workers are unavailable here. The direct-url modes use
277
+ // `new Worker(url)` and don't need blob support, so they're exempt.
278
+ // Degrade to single-threaded (single-threaded TFHE needs no worker).
279
+ logger?.warn?.(`Cannot spawn a '${wasmAssetLoadMode}' worker (blob/eval workers unavailable); running single-threaded.`);
280
+ singleThread = true;
281
+ numberOfThreads = 0;
282
+ }
93
283
  }
94
284
  else {
95
285
  singleThread = true;
96
286
  numberOfThreads = 0;
97
287
  }
98
288
  }
99
- else {
100
- numberOfThreads = 0;
101
- }
289
+ return { singleThread, numberOfThreads, supportsThreads };
290
+ }
291
+ /**
292
+ * @internal
293
+ * Resolves user-provided {@link FhevmRuntimeConfig} into a fully resolved config
294
+ * (thread count, worker URL, WASM URL). Must be called before WASM initialization.
295
+ */
296
+ async function _resolveTfheModuleConfig(parameters, version) {
297
+ const { locateFile, wasmAssetLoadMode: requestedWasmAssetLoadMode, singleThread: preferredSingleThread, numberOfThreads: numberOfThreadsConfig, } = parameters;
298
+ const wasmAssetLoadMode = requestedWasmAssetLoadMode ?? 'auto';
299
+ const canUseBlob = await isBlobWorkerSupported();
300
+ const assets = tfheAssetsWithVersion(version);
301
+ const resolvedAssets = await _resolveTfheAssets(assets, locateFile);
302
+ // ── TFHE asset resolution & degradation rules ───────────────────────────────
303
+ //
304
+ // POLICY: user-resolved assets may intentionally mix transports (e.g. URL
305
+ // wasm + embedded worker). Auto-derived Node assets remain all-or-none because
306
+ // missing local files are unexpected and usually mean bundler/package relocation.
307
+ //
308
+ // Asset URL resolution:
309
+ //
310
+ // locateFile runtime / on-disk resolution asset url policy
311
+ // ---------- --------------------- ---------- -------------- --------------------------
312
+ // provided any 'user' per asset caller controls each asset
313
+ // none Node, files present 'node' file://… all TFHE URLs kept
314
+ // none Node, files missing * 'node' undefined all TFHE URLs cleared
315
+ // none browser 'none' undefined embedded base64
316
+ // * e.g. a bundler (Turbopack) relocated the package; URLs cleared by _resolveTfheAssets.
317
+ //
318
+ // Worker load mode (wasmAssetLoadMode) requirements:
319
+ //
320
+ // mode needs URL? needs blob/eval worker (canUseBlob)?
321
+ // ------------------- ---------- ------------------------------------
322
+ // embedded-base64 no yes
323
+ // verified-blob yes yes
324
+ // auto no yes (verified-blob if URL, else embedded)
325
+ // precheck-direct-url yes no (new Worker(url))
326
+ // trusted-direct-url yes no (new Worker(url))
327
+ //
328
+ // Failure / degradation (in order):
329
+ // 1. explicit URL mode but no URL is available -> throw (unsatisfiable config)
330
+ // 2. threads requested but unsupported (no SAB) -> degrade to single-threaded
331
+ // 3. auto mode cannot spawn blob/eval workers -> degrade to single-threaded
332
+ //
333
+ // Explicit worker modes are not downgraded here:
334
+ // startWorkers.js owns their worker-loading behavior and surfaces their failures.
335
+ // Single-threaded never needs a worker; wasm still loads (URL or embedded base64).
336
+ // Early validation: throw on impossible/contradictory configs. Recoverable
337
+ // cases (no worker source, no thread support) degrade later — they are NOT here.
338
+ _assertSatisfiableTfheConfig(resolvedAssets, parameters);
339
+ _logResolvedTfheAssets(resolvedAssets, parameters.logger);
340
+ const { singleThread, numberOfThreads, supportsThreads } = await _resolveThreadConfig({
341
+ preferredSingleThread: preferredSingleThread ?? false,
342
+ numberOfThreadsConfig,
343
+ wasmAssetLoadMode,
344
+ canUseBlob,
345
+ logger: parameters.logger,
346
+ });
102
347
  const tfheLib = await loadTfheLib(version);
103
348
  tfheLib.setWorkerUrlConfig({
104
- workerUrl: worker.url,
349
+ workerUrl: resolvedAssets.worker.url,
105
350
  wasmAssetLoadMode,
351
+ // Single source of truth for browser-vs-Node, resolved on the main thread
352
+ // (robust to bundler `process` shims) — the worker bootstrap no longer detects it.
353
+ isBrowserLike: isBrowserLike(),
106
354
  logger: parameters.logger,
107
355
  });
108
356
  const cfg = {
109
357
  version,
110
358
  numberOfThreads,
111
- worker,
359
+ assets: resolvedAssets,
112
360
  wasmAssetLoadMode,
113
- wasm,
114
361
  singleThread,
115
362
  logger: parameters.logger,
116
363
  supportsThreads,
@@ -121,24 +368,40 @@ async function _resolveTfheModuleConfig(parameters, version) {
121
368
  ////////////////////////////////////////////////////////////////////////////////
122
369
  // initTfheModule
123
370
  ////////////////////////////////////////////////////////////////////////////////
124
- let cachedTfheModulePromise;
125
- let ownerUid = undefined;
371
+ const ownerUidByVersion = new Map();
372
+ const cachedTfheModulePromiseByVersion = new Map();
373
+ const moduleInfoByVersion = new Map();
374
+ ////////////////////////////////////////////////////////////////////////////////
375
+ // Version-tagged native wrappers
376
+ ////////////////////////////////////////////////////////////////////////////////
377
+ export const TFHE_VERSION_TAG = Symbol('TFHE.version');
378
+ export function getTaggedTfheVersion(value) {
379
+ return value[TFHE_VERSION_TAG];
380
+ }
381
+ export function assertTaggedTfheVersion(value, expectedVersion) {
382
+ const actualVersion = getTaggedTfheVersion(value);
383
+ if (actualVersion !== expectedVersion) {
384
+ throw new Error(`Unexpected TFHE native wrapper version '${actualVersion}', expected '${expectedVersion}'.`);
385
+ }
386
+ }
126
387
  /**
127
388
  * Initializes the TFHE module and returns the loaded lib bindings.
128
- * Idempotent: subsequent calls return the same cached lib instance.
389
+ * Idempotent per TFHE version: subsequent calls return the same cached lib instance.
129
390
  */
130
- export async function initTfheModule(runtime) {
391
+ export async function initTfheModule(runtime, parameters) {
131
392
  assertIsFhevmRuntime(runtime, {});
393
+ const ownerUid = ownerUidByVersion.get(parameters.tfheVersion);
132
394
  if (ownerUid !== undefined && runtime.uid !== ownerUid) {
133
395
  throw new Error(`Encrypt WASM module is already owned by runtime '${ownerUid}' and cannot be shared with runtime '${runtime.uid}'`);
134
396
  }
135
- ownerUid = runtime.uid;
397
+ ownerUidByVersion.set(parameters.tfheVersion, runtime.uid);
136
398
  // Cache the whole initialization promise before the first await. Several
137
399
  // clients may call initTfheModule concurrently during startup; if the promise
138
400
  // were assigned after resolving the config, each caller could enter
139
401
  // _initTfheModule and try to start the global TFHE worker pool independently.
140
- // The worker pool is process-wide and startWorkers() is intentionally
141
- // one-shot, so every concurrent caller must await this same promise.
402
+ // Each TFHE version has its own JS glue module and worker pool, and each
403
+ // version's startWorkers() is intentionally one-shot, so concurrent callers
404
+ // for the same version must await the same promise.
142
405
  //
143
406
  // Retry is not supported:
144
407
  // -----------------------
@@ -147,30 +410,34 @@ export async function initTfheModule(runtime) {
147
410
  // failure. Keep even a rejected promise cached so later callers observe the
148
411
  // original initialization error instead of retrying against half-initialized
149
412
  // state and producing secondary errors such as "Already started".
150
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
413
+ let cachedTfheModulePromise = cachedTfheModulePromiseByVersion.get(parameters.tfheVersion);
151
414
  if (cachedTfheModulePromise === undefined) {
152
415
  cachedTfheModulePromise = (async () => {
153
416
  // resolve is async
154
- const cfg = await _getOrResolveTfheModuleConfig(runtime);
417
+ const cfg = await _getOrResolveTfheModuleConfig(runtime, parameters.tfheVersion);
155
418
  return await _initTfheModule(cfg);
156
419
  })();
420
+ cachedTfheModulePromiseByVersion.set(parameters.tfheVersion, cachedTfheModulePromise);
157
421
  }
158
422
  return cachedTfheModulePromise;
159
423
  }
160
- let moduleInfo = undefined;
161
- async function _initTfheModule(cfg) {
162
- const tfheLib = await loadTfheLib(cfg.version);
163
- // Compile WASM module (see matrix in types.ts)
424
+ async function _compileWasmModule(cfg) {
164
425
  let wasmModule;
165
- if (cfg.wasm.url !== undefined) {
166
- cfg.logger?.debug(`compile verified wasm at: ${cfg.wasm.url}`);
167
- wasmModule = await isomorphicCompileVerifiedWasm(cfg.wasm.url, cfg.wasm.sha256);
426
+ if (cfg.assets.wasm.url !== undefined) {
427
+ cfg.logger?.debug(`compile verified wasm at: ${cfg.assets.wasm.url}`);
428
+ wasmModule = await isomorphicCompileVerifiedWasm(cfg.assets.wasm.url, cfg.assets.wasm.sha256);
168
429
  }
169
430
  else {
170
431
  const { tfheWasmBase64, tfheWasmBase64CompressionFormat } = await loadTfheWasmBase64(cfg.version);
171
432
  cfg.logger?.debug(`compile wasm from embedded base64 (compression:${tfheWasmBase64CompressionFormat ?? 'none'})`);
172
433
  wasmModule = await isomorphicCompileWasmFromBase64(tfheWasmBase64, tfheWasmBase64CompressionFormat);
173
434
  }
435
+ return wasmModule;
436
+ }
437
+ async function _initTfheModule(cfg) {
438
+ const tfheLib = await loadTfheLib(cfg.version);
439
+ // 1. Compile WASM module
440
+ const wasmModule = await _compileWasmModule(cfg);
174
441
  const input = { module_or_path: wasmModule };
175
442
  // 2. Load and instantiate the TFHE WASM binary
176
443
  await tfheLib.initAsync(input);
@@ -182,20 +449,40 @@ async function _initTfheModule(cfg) {
182
449
  await tfheLib.initThreadPool(cfg.numberOfThreads);
183
450
  }
184
451
  const wasmInfo = tfheLib.getWasmInfo();
185
- moduleInfo = Object.freeze({
186
- wasmUrl: cfg.wasm.url ? new URL(cfg.wasm.url) : undefined,
452
+ const memory = { byteLength: 0, pages: 0 };
453
+ if (wasmInfo.memory !== undefined) {
454
+ memory.byteLength = wasmInfo.memory.byteLength;
455
+ memory.pages = wasmInfo.memory.pages;
456
+ }
457
+ moduleInfoByVersion.set(cfg.version, Object.freeze({
458
+ wasmUrl: cfg.assets.wasm.url ? new URL(cfg.assets.wasm.url) : undefined,
187
459
  version: wasmInfo.version,
188
460
  name: wasmInfo.name,
189
- workerUrl: cfg.worker.url ? new URL(cfg.worker.url) : undefined,
461
+ workerUrl: cfg.assets.worker.url ? new URL(cfg.assets.worker.url) : undefined,
190
462
  numberOfThreads: cfg.singleThread ? 0 : cfg.numberOfThreads,
191
463
  threadsAvailable: cfg.supportsThreads,
192
- });
464
+ memory,
465
+ }));
193
466
  return tfheLib;
194
467
  }
195
468
  ////////////////////////////////////////////////////////////////////////////////
196
469
  // getTfheModuleInfo
197
470
  ////////////////////////////////////////////////////////////////////////////////
198
- export function getTfheModuleInfo() {
199
- return moduleInfo;
471
+ export async function getTfheModuleInfo(parameters) {
472
+ const tfheLib = await loadTfheLib(parameters.tfheVersion);
473
+ const stored = moduleInfoByVersion.get(parameters.tfheVersion);
474
+ if (stored === undefined) {
475
+ throw new Error(`getTfheModuleInfo: no module info recorded for version "${parameters.tfheVersion}"`);
476
+ }
477
+ const memory = {
478
+ byteLength: stored.memory.byteLength,
479
+ pages: stored.memory.pages,
480
+ };
481
+ const wasmInfo = tfheLib.getWasmInfo();
482
+ if (wasmInfo.memory !== undefined) {
483
+ memory.byteLength = wasmInfo.memory.byteLength;
484
+ memory.pages = wasmInfo.memory.pages;
485
+ }
486
+ return { ...stored, memory };
200
487
  }
201
488
  //# sourceMappingURL=init-p.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-p.js","sourceRoot":"","sources":["../../../../../core/modules/encrypt/module/init-p.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-p.js","sourceRoot":"","sources":["../../../../../core/modules/encrypt/module/init-p.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { remove0x } from '../../../base/string.js';
2
- import { asUint32BigInt, parseUintBigIntString, randomUniqueUints } from '../../../base/uint.js';
2
+ import { asUint32BigInt, tryParseUintBigIntString, randomUniqueUints } from '../../../base/uint.js';
3
3
  import { getTrustedClient } from '../../../runtime/CoreFhevm-p.js';
4
4
  import { userDecryptResultToKmsSigncryptedShares } from '../utils.js';
5
5
  import { getKmsSignersPrivateKeyMap } from './signers.js';
@@ -112,7 +112,7 @@ export async function fetchDelegatedUserDecrypt(relayerClient, parameters) {
112
112
  }
113
113
  ////////////////////////////////////////////////////////////////////////////////
114
114
  function _parseUintBigIntString(label, value) {
115
- const bn = parseUintBigIntString(value);
115
+ const bn = tryParseUintBigIntString(value);
116
116
  if (bn === undefined) {
117
117
  throw new Error(`${label} is not a valid uint string, got ${JSON.stringify(value)}`);
118
118
  }