@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
@@ -16,6 +16,44 @@ export function simpleDeepFreeze<T extends object>(obj: T): Readonly<T> {
16
16
  return obj;
17
17
  }
18
18
 
19
+ /**
20
+ * Recursively compares two JSON-like values.
21
+ *
22
+ * Arrays are order-sensitive. Objects must have the same own enumerable string keys, but key
23
+ * insertion order does not matter.
24
+ */
25
+ export function isDeepEqual(value: unknown, expected: unknown): boolean {
26
+ if (value === expected) {
27
+ return true;
28
+ }
29
+
30
+ if (Array.isArray(expected)) {
31
+ return (
32
+ Array.isArray(value) &&
33
+ value.length === expected.length &&
34
+ expected.every((expectedItem, index) => isDeepEqual(value[index], expectedItem))
35
+ );
36
+ }
37
+
38
+ if (expected === null || typeof expected !== 'object') {
39
+ return value === expected;
40
+ }
41
+
42
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
43
+ return false;
44
+ }
45
+
46
+ const record = value as Record<string, unknown>;
47
+ const expectedRecord = expected as Record<string, unknown>;
48
+ const keys = Object.keys(record);
49
+ const expectedKeys = Object.keys(expectedRecord);
50
+
51
+ return (
52
+ keys.length === expectedKeys.length &&
53
+ expectedKeys.every((key) => Object.hasOwn(record, key) && isDeepEqual(record[key], expectedRecord[key]))
54
+ );
55
+ }
56
+
19
57
  /**
20
58
  * Defines a non-enumerable, non-writable, non-configurable property on the target object.
21
59
  * The property is hidden from `Object.keys()` / `Object.entries()` and cannot be
@@ -0,0 +1,231 @@
1
+ import type { UintNumber } from '../types/primitives.js';
2
+ import { assertIsUintNumber } from './uint.js';
3
+
4
+ ////////////////////////////////////////////////////////////////////////////////
5
+
6
+ export type Semver = {
7
+ readonly version: string;
8
+ readonly major: UintNumber;
9
+ readonly minor: UintNumber;
10
+ readonly patch: UintNumber;
11
+ readonly prerelease?: readonly string[] | undefined;
12
+ readonly build?: readonly string[] | undefined;
13
+ };
14
+
15
+ export type SemverComparator = 'lt' | 'le' | 'gt' | 'ge' | 'eq';
16
+
17
+ export type SemverRange = {
18
+ readonly version: string;
19
+ readonly comparator: SemverComparator;
20
+ };
21
+
22
+ export type SemverIntervalLowerBound = {
23
+ readonly version: string;
24
+ readonly comparator: 'gt' | 'ge';
25
+ };
26
+
27
+ export type SemverIntervalUpperBound = {
28
+ readonly version: string;
29
+ readonly comparator: 'lt' | 'le';
30
+ };
31
+
32
+ export type SemverInterval = {
33
+ readonly lowerBound?: SemverIntervalLowerBound | undefined;
34
+ readonly upperBound?: SemverIntervalUpperBound | undefined;
35
+ };
36
+
37
+ const SEMVER_REGEX =
38
+ /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/;
39
+
40
+ export function parseSemver(version: string): Semver {
41
+ const match = SEMVER_REGEX.exec(version);
42
+ if (match === null) {
43
+ throw new Error(`Invalid SemVer version: "${version}".`);
44
+ }
45
+
46
+ const major = Number(match[1]);
47
+ const minor = Number(match[2]);
48
+ const patch = Number(match[3]);
49
+
50
+ assertIsUintNumber(major, {});
51
+ assertIsUintNumber(minor, {});
52
+ assertIsUintNumber(patch, {});
53
+
54
+ return Object.freeze({
55
+ version,
56
+ major,
57
+ minor,
58
+ patch,
59
+ prerelease: match[4]?.split('.'),
60
+ build: match[5]?.split('.'),
61
+ });
62
+ }
63
+
64
+ export function isSemverStrictlyBefore(version: string, before: string): boolean {
65
+ return compareSemver(version, before) < 0;
66
+ }
67
+
68
+ export function isSemverInRange(version: string, range: SemverRange): boolean {
69
+ const comparison = compareSemver(version, range.version);
70
+
71
+ switch (range.comparator) {
72
+ case 'lt':
73
+ return comparison < 0;
74
+ case 'le':
75
+ return comparison <= 0;
76
+ case 'gt':
77
+ return comparison > 0;
78
+ case 'ge':
79
+ return comparison >= 0;
80
+ case 'eq':
81
+ return comparison === 0;
82
+ default: {
83
+ const exhaustiveCheck: never = range.comparator;
84
+ throw new Error(`Unsupported SemVer comparator "${exhaustiveCheck}".`);
85
+ }
86
+ }
87
+ }
88
+
89
+ export function isSemverInInterval(version: string, interval: SemverInterval): boolean {
90
+ if (interval.lowerBound !== undefined && !isSemverInRange(version, interval.lowerBound)) {
91
+ return false;
92
+ }
93
+ if (interval.upperBound !== undefined && !isSemverInRange(version, interval.upperBound)) {
94
+ return false;
95
+ }
96
+ return true;
97
+ }
98
+
99
+ /**
100
+ * Returns whether a SemVer comparator constraint implies a SemVer range.
101
+ *
102
+ * Mathematically: for every SemVer `x`, if `x comparator version` is true,
103
+ * then `x range.comparator range.version` is also true.
104
+ */
105
+ export function semverComparatorImpliesRange(
106
+ version: string,
107
+ comparator: SemverComparator,
108
+ range: SemverRange,
109
+ ): boolean {
110
+ if (comparator === 'eq') {
111
+ return isSemverInRange(version, range);
112
+ }
113
+
114
+ const comparison = compareSemver(version, range.version);
115
+
116
+ switch (comparator) {
117
+ case 'lt':
118
+ return range.comparator === 'lt' || range.comparator === 'le' ? comparison <= 0 : false;
119
+ case 'le':
120
+ if (range.comparator === 'lt') {
121
+ return comparison < 0;
122
+ }
123
+ return range.comparator === 'le' ? comparison <= 0 : false;
124
+ case 'gt':
125
+ return range.comparator === 'gt' || range.comparator === 'ge' ? comparison >= 0 : false;
126
+ case 'ge':
127
+ if (range.comparator === 'gt') {
128
+ return comparison > 0;
129
+ }
130
+ return range.comparator === 'ge' ? comparison >= 0 : false;
131
+ default: {
132
+ const exhaustiveCheck: never = comparator;
133
+ throw new Error(`Unsupported SemVer comparator "${exhaustiveCheck}".`);
134
+ }
135
+ }
136
+ }
137
+
138
+ export function compareSemver(a: string, b: string): -1 | 0 | 1 {
139
+ const left = parseSemver(a);
140
+ const right = parseSemver(b);
141
+
142
+ const releaseComparison = _compareNumbers(
143
+ [left.major, left.minor, left.patch],
144
+ [right.major, right.minor, right.patch],
145
+ );
146
+ if (releaseComparison !== 0) {
147
+ return releaseComparison;
148
+ }
149
+
150
+ return _comparePrerelease(left.prerelease, right.prerelease);
151
+ }
152
+
153
+ function _compareNumbers(a: readonly number[], b: readonly number[]): -1 | 0 | 1 {
154
+ for (let i = 0; i < a.length; ++i) {
155
+ const left = a[i];
156
+ const right = b[i];
157
+ if (left === undefined) {
158
+ return right === undefined ? 0 : -1;
159
+ }
160
+ if (right === undefined) {
161
+ return 1;
162
+ }
163
+ if (left < right) {
164
+ return -1;
165
+ }
166
+ if (left > right) {
167
+ return 1;
168
+ }
169
+ }
170
+ return a.length === b.length ? 0 : -1;
171
+ }
172
+
173
+ function _comparePrerelease(a: readonly string[] | undefined, b: readonly string[] | undefined): -1 | 0 | 1 {
174
+ if (a === undefined && b === undefined) {
175
+ return 0;
176
+ }
177
+ if (a === undefined) {
178
+ return 1;
179
+ }
180
+ if (b === undefined) {
181
+ return -1;
182
+ }
183
+
184
+ const length = Math.max(a.length, b.length);
185
+ for (let i = 0; i < length; ++i) {
186
+ const left = a[i];
187
+ const right = b[i];
188
+
189
+ if (left === undefined) {
190
+ return -1;
191
+ }
192
+ if (right === undefined) {
193
+ return 1;
194
+ }
195
+
196
+ const comparison = _comparePrereleaseIdentifier(left, right);
197
+ if (comparison !== 0) {
198
+ return comparison;
199
+ }
200
+ }
201
+
202
+ return 0;
203
+ }
204
+
205
+ function _comparePrereleaseIdentifier(a: string, b: string): -1 | 0 | 1 {
206
+ const aIsNumeric = _isNumericIdentifier(a);
207
+ const bIsNumeric = _isNumericIdentifier(b);
208
+
209
+ if (aIsNumeric && bIsNumeric) {
210
+ return _compareNumbers([Number(a)], [Number(b)]);
211
+ }
212
+
213
+ if (aIsNumeric) {
214
+ return -1;
215
+ }
216
+ if (bIsNumeric) {
217
+ return 1;
218
+ }
219
+
220
+ if (a < b) {
221
+ return -1;
222
+ }
223
+ if (a > b) {
224
+ return 1;
225
+ }
226
+ return 0;
227
+ }
228
+
229
+ function _isNumericIdentifier(value: string): boolean {
230
+ return /^(0|[1-9]\d*)$/.test(value);
231
+ }
package/core/base/uint.ts CHANGED
@@ -116,6 +116,13 @@ export function isUintBigInt(value: unknown, max?: bigint | number): value is Ui
116
116
  return typeof value === 'bigint' && value >= 0 && (max === undefined || value <= max);
117
117
  }
118
118
 
119
+ export function isUintString(value: unknown, max?: number | bigint): value is string {
120
+ if (typeof value !== 'string') {
121
+ return false;
122
+ }
123
+ return tryParseUintBigIntString(value, max) !== undefined;
124
+ }
125
+
119
126
  export function isUintForType(value: unknown, typeName?: UintTypeName): value is Uint {
120
127
  return isUint(value, typeName !== undefined ? MAX_UINT_FOR_TYPE[typeName] : undefined);
121
128
  }
@@ -330,6 +337,22 @@ export function assertIsUintBigInt(
330
337
  }
331
338
  }
332
339
 
340
+ export function assertIsUintString(
341
+ value: unknown,
342
+ options: { max?: bigint | number; subject?: string } & ErrorMetadataParams,
343
+ ): asserts value is string {
344
+ if (!isUintString(value, options.max)) {
345
+ throw new InvalidTypeError(
346
+ {
347
+ subject: options.subject,
348
+ type: typeof value,
349
+ expectedType: 'uintString',
350
+ },
351
+ options,
352
+ );
353
+ }
354
+ }
355
+
333
356
  export function assertIsUint8(
334
357
  value: unknown,
335
358
  options: { subject?: string } & ErrorMetadataParams,
@@ -645,7 +668,7 @@ export function assertRecordUintBigIntProperty<K extends string>(
645
668
  property: K,
646
669
  recordName: string,
647
670
  options: ErrorMetadataParams,
648
- ): asserts record is RecordWithPropertyType<K, number> {
671
+ ): asserts record is RecordWithPropertyType<K, bigint> {
649
672
  if (typeofProperty(record, property) !== 'bigint' || !isUintBigInt((record as Record<string, unknown>)[property])) {
650
673
  throw new InvalidPropertyError(
651
674
  {
@@ -659,17 +682,23 @@ export function assertRecordUintBigIntProperty<K extends string>(
659
682
  }
660
683
  }
661
684
 
662
- export function parseUintBigIntString(value: string): bigint | undefined {
685
+ /**
686
+ * Tries to parse a canonical unsigned decimal string as a bigint.
687
+ *
688
+ * Returns `undefined` instead of throwing when `value` is not parseable, is negative, is not in
689
+ * canonical decimal form, or exceeds `max`.
690
+ */
691
+ export function tryParseUintBigIntString(value: string, max?: number | bigint): UintBigInt | undefined {
663
692
  let parsed: bigint;
664
693
  try {
665
694
  parsed = BigInt(value);
666
695
  } catch {
667
696
  return undefined;
668
697
  }
669
- if (parsed < 0n || parsed.toString() !== value) {
698
+ if (parsed < 0n || parsed.toString() !== value || (max !== undefined && parsed > BigInt(max))) {
670
699
  return undefined;
671
700
  }
672
- return parsed;
701
+ return parsed as UintBigInt;
673
702
  }
674
703
 
675
704
  /** Returns `count` unique integers drawn uniformly from [0, n-1]. Mock/debug only. */
package/core/base/wasm.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { verifySha256 } from './bytes.js';
2
2
  import { FetchError } from './errors/FetchError.js';
3
3
  import { isDataUrlFetchSupported } from './fetch.js';
4
- import { isBrowserLike } from './isomorphicWorker.js';
4
+ import { getNodeBuffer, getNodeFs, getNodeUrl, isBrowserLike, supportsDecompressionStream } from './environment.js';
5
+ import { inflateDecompress } from './inflate.js';
5
6
 
6
7
  /**
7
8
  * Decodes a base64 string to bytes using the fastest available method.
@@ -12,8 +13,12 @@ import { isBrowserLike } from './isomorphicWorker.js';
12
13
  */
13
14
  async function _isomorphicDecodeBase64(base64: string): Promise<BufferSource> {
14
15
  if (!isBrowserLike()) {
15
- const { Buffer } = await import('node:buffer');
16
- return Buffer.from(base64, 'base64');
16
+ const NodeBuffer = await getNodeBuffer();
17
+ if (NodeBuffer) {
18
+ return NodeBuffer.from(base64, 'base64');
19
+ }
20
+ // Not a browser, but no node:buffer either (edge runtime). Fall through to
21
+ // the web-standard data-URL fetch / atob paths below, which edge supports.
17
22
  }
18
23
 
19
24
  if (await isDataUrlFetchSupported()) {
@@ -47,43 +52,21 @@ async function _isomorphicFetchWasmResponse(wasmUrl: URL): Promise<Response> {
47
52
 
48
53
  async function _isomorphicReadWasmBytes(wasmUrl: URL): Promise<BufferSource> {
49
54
  if (!isBrowserLike() && wasmUrl.protocol === 'file:') {
50
- const { readFile } = await import('node:fs/promises');
51
- const { fileURLToPath } = await import('node:url');
52
-
53
- // Node's Buffer extends Uint8Array but TS 5.7+ considers its .buffer as
54
- // ArrayBufferLike (includes SharedArrayBuffer), making it incompatible with
55
- // BufferSource. At runtime Buffer is always backed by ArrayBuffer, so the
56
- // cast at WebAssembly.compile is safe and avoids copying.
57
- return readFile(fileURLToPath(wasmUrl));
55
+ const [fs, url] = await Promise.all([getNodeFs(), getNodeUrl()]);
56
+ if (fs && url) {
57
+ // The BufferSource-safe cast for Node's Buffer lives in getNodeFs's
58
+ // return type (see environment.ts), so the bytes can flow straight into
59
+ // WebAssembly.compile without copying.
60
+ return fs.readFile(url.fileURLToPath(wasmUrl));
61
+ }
62
+ // Not a browser, but no node:fs either (edge runtime). Fall through to
63
+ // fetch below — a file: URL will fail there, surfacing a clear error.
58
64
  }
59
65
 
60
66
  const res = await _isomorphicFetchWasmResponse(wasmUrl);
61
67
  return res.arrayBuffer();
62
68
  }
63
69
 
64
- /**
65
- * Compiles a WASM module from a URL, isomorphically (browser and Node.js).
66
- *
67
- * - Node + `file://`: uses `readFile` (Node `fetch` doesn't support `file://`)
68
- * - Browser + streaming: uses `WebAssembly.compileStreaming` (fastest path)
69
- * - Fallback: `fetch` + `arrayBuffer` + `WebAssembly.compile`
70
- */
71
- export async function isomorphicCompileWasm(wasmUrl: URL): Promise<WebAssembly.Module> {
72
- const isBrowser = isBrowserLike();
73
-
74
- if (isBrowser) {
75
- const res = await _isomorphicFetchWasmResponse(wasmUrl);
76
- if (typeof WebAssembly.compileStreaming === 'function') {
77
- return await WebAssembly.compileStreaming(res);
78
- }
79
- return WebAssembly.compile(await res.arrayBuffer());
80
- }
81
-
82
- const bytes = await _isomorphicReadWasmBytes(wasmUrl);
83
- // Safe cast: Node's Buffer is always backed by ArrayBuffer at runtime.
84
- return WebAssembly.compile(bytes);
85
- }
86
-
87
70
  /**
88
71
  * Fetches/reads a WASM module, verifies its SHA-256 digest, then compiles it.
89
72
  *
@@ -120,9 +103,19 @@ export async function isomorphicCompileWasmFromBase64(
120
103
 
121
104
  if (compressionFormat === undefined) {
122
105
  return WebAssembly.compile(bytes);
123
- } else {
106
+ }
107
+
108
+ // Preferred: stream through the platform DecompressionStream (native, zero-copy).
109
+ if (supportsDecompressionStream()) {
124
110
  const stream = new Blob([bytes]).stream().pipeThrough(new DecompressionStream(compressionFormat));
125
111
  // compileStreaming requires Content-Type: application/wasm — supply it explicitly.
126
112
  return WebAssembly.compileStreaming(new Response(stream, { headers: { 'Content-Type': 'application/wasm' } }));
127
113
  }
114
+
115
+ // Fallback for runtimes without a usable DecompressionStream — older browsers
116
+ // (Firefox <113, Safari <16.4) and the Next.js Edge Runtime (whose stub throws on
117
+ // construction). Inflate in pure JS, then compile. Keeps the small compressed
118
+ // embedded payload working everywhere with no caller action.
119
+ const compressed = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes as ArrayBuffer);
120
+ return WebAssembly.compile(inflateDecompress(compressed, compressionFormat));
128
121
  }
@@ -13,6 +13,9 @@ export const localTestnet = /*#__PURE__*/ defineFhevmChain({
13
13
  kmsVerifier: {
14
14
  address: '0xa1880e99d86F081E8D3868A8C4732C8f65dfdB11',
15
15
  },
16
+ protocolConfig: {
17
+ address: '0x52054F36036811ca418be59e41Fc6DD1b9e4F4c8',
18
+ },
16
19
  },
17
20
  relayerUrl: 'http://localhost:9000',
18
21
  gateway: {
@@ -13,6 +13,7 @@ export const mainnet = /*#__PURE__*/ defineFhevmChain({
13
13
  kmsVerifier: {
14
14
  address: '0x77627828a55156b04Ac0DC0eb30467f1a552BB03',
15
15
  },
16
+ protocolConfig: undefined, // To be filled
16
17
  },
17
18
  relayerUrl: 'https://relayer.mainnet.zama.org',
18
19
  gateway: {
@@ -1,5 +1,4 @@
1
1
  import type { FhevmChain } from '../../types/fhevmChain.js';
2
- import type { ChecksummedAddress } from '../../types/primitives.js';
3
2
  import { defineFhevmChain } from '../utils.js';
4
3
 
5
4
  export const sepolia: FhevmChain = /*#__PURE__*/ defineFhevmChain({
@@ -7,24 +6,25 @@ export const sepolia: FhevmChain = /*#__PURE__*/ defineFhevmChain({
7
6
  fhevm: {
8
7
  contracts: {
9
8
  acl: {
10
- address: '0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D' as ChecksummedAddress,
9
+ address: '0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D',
11
10
  },
12
11
  inputVerifier: {
13
- address: '0xBBC1fFCdc7C316aAAd72E807D9b0272BE8F84DA0' as ChecksummedAddress,
12
+ address: '0xBBC1fFCdc7C316aAAd72E807D9b0272BE8F84DA0',
14
13
  },
15
14
  kmsVerifier: {
16
- address: '0xbE0E383937d564D7FF0BC3b46c51f0bF8d5C311A' as ChecksummedAddress,
15
+ address: '0xbE0E383937d564D7FF0BC3b46c51f0bF8d5C311A',
17
16
  },
17
+ protocolConfig: undefined, // To be filled
18
18
  },
19
19
  relayerUrl: 'https://relayer.testnet.zama.org',
20
20
  gateway: {
21
21
  id: 10_901,
22
22
  contracts: {
23
23
  decryption: {
24
- address: '0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478' as ChecksummedAddress,
24
+ address: '0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478',
25
25
  },
26
26
  inputVerification: {
27
- address: '0x483b9dE06E4E4C7D35CCf5837A1668487406D955' as ChecksummedAddress,
27
+ address: '0x483b9dE06E4E4C7D35CCf5837A1668487406D955',
28
28
  },
29
29
  },
30
30
  },
@@ -50,6 +50,7 @@ import {
50
50
  type DecryptPublicValuesWithSignaturesParameters,
51
51
  type DecryptPublicValuesWithSignaturesReturnType,
52
52
  } from '../../actions/base/decryptPublicValuesWithSignatures.js';
53
+ import { ensureResolvedProtocolVersion } from '../../runtime/resolveFhevmVersions-p.js';
53
54
 
54
55
  ////////////////////////////////////////////////////////////////////////////////
55
56
 
@@ -193,11 +194,17 @@ function _baseActions(fhevm: Fhevm<FhevmChain>): BaseActions {
193
194
 
194
195
  ////////////////////////////////////////////////////////////////////////////////
195
196
 
197
+ async function _initBase(fhevm: FhevmBase<FhevmChain>): Promise<void> {
198
+ await ensureResolvedProtocolVersion(fhevm);
199
+ }
200
+
201
+ ////////////////////////////////////////////////////////////////////////////////
202
+
196
203
  export function baseActions(fhevm: FhevmBase<FhevmChain>): FhevmExtension<BaseActions> {
197
204
  assertIsFhevmBaseClient(fhevm);
198
205
  return {
199
206
  actions: _baseActions(fhevm),
200
207
  runtime: fhevm.runtime,
201
- // no init required, no prefetch of the FheEncryptionKey. This is the whole purpose of the fetchFheEncryptionKeyBytes action
208
+ init: _initBase,
202
209
  };
203
210
  }
@@ -0,0 +1,18 @@
1
+ import type { FhevmBase } from '../../types/coreFhevmClient.js';
2
+ import type { FhevmChain } from '../../types/fhevmChain.js';
3
+ import { asFhevmClientWith, setResolvedTkmsVersion } from '../../runtime/CoreFhevm-p.js';
4
+ import { ensureResolvedProtocolVersion, resolveFhevmTkmsVersion } from '../../runtime/resolveFhevmVersions-p.js';
5
+
6
+ ////////////////////////////////////////////////////////////////////////////////
7
+
8
+ export async function _initDecrypt(fhevm: FhevmBase<FhevmChain>): Promise<void> {
9
+ const f = asFhevmClientWith(fhevm, 'decrypt');
10
+
11
+ await ensureResolvedProtocolVersion(f);
12
+
13
+ const tkmsVersion = await resolveFhevmTkmsVersion(f);
14
+
15
+ await f.runtime.decrypt.initTkmsModule({ tkmsVersion });
16
+
17
+ setResolvedTkmsVersion(f, tkmsVersion);
18
+ }
@@ -1,10 +1,10 @@
1
- import type { Fhevm, FhevmBase, FhevmExtension, OptionalNativeClient } from '../../types/coreFhevmClient.js';
2
- import type { FhevmRuntime, WithDecrypt } from '../../types/coreFhevmRuntime.js';
1
+ import type { Fhevm, FhevmBase, FhevmExtension, WithTkmsVersion } from '../../types/coreFhevmClient.js';
2
+ import type { WithDecrypt } from '../../types/coreFhevmRuntime.js';
3
3
  import type { FhevmChain } from '../../types/fhevmChain.js';
4
4
  import type { GenerateTransportKeyPairReturnType } from '../../actions/decrypt/generateTransportKeyPair.js';
5
5
  import type { DecryptModuleFactory } from '../../modules/decrypt/types.js';
6
- import { asFhevmClientWith, assertIsFhevmClientWith } from '../../runtime/CoreFhevm-p.js';
7
- import { generateTransportKeyPair } from '../../kms/TransportKeyPair-p.js';
6
+ import { assertIsFhevmClientWith } from '../../runtime/CoreFhevm-p.js';
7
+ import { generateTransportKeyPair } from '../../actions/decrypt/generateTransportKeyPair.js';
8
8
  import {
9
9
  decryptValue,
10
10
  type DecryptValueParameters,
@@ -20,22 +20,24 @@ import {
20
20
  type DecryptValuesFromPairsParameters,
21
21
  type DecryptValuesFromPairsReturnType,
22
22
  } from '../../actions/decrypt/decryptValuesFromPairs.js';
23
+ import { _initDecrypt } from './decrypt-p.js';
23
24
 
24
25
  ////////////////////////////////////////////////////////////////////////////////
25
26
 
26
- export type DecryptActions = {
27
+ type DecryptActionMethods = {
27
28
  readonly decryptValue: (parameters: DecryptValueParameters) => Promise<DecryptValueReturnType>;
28
29
  readonly decryptValues: (parameters: DecryptValuesParameters) => Promise<DecryptValuesReturnType>;
29
-
30
30
  readonly decryptValuesFromPairs: (
31
31
  parameters: DecryptValuesFromPairsParameters,
32
32
  ) => Promise<DecryptValuesFromPairsReturnType>;
33
33
  readonly generateTransportKeyPair: () => Promise<GenerateTransportKeyPairReturnType>;
34
34
  };
35
35
 
36
+ export type DecryptActions = DecryptActionMethods & WithTkmsVersion;
37
+
36
38
  ////////////////////////////////////////////////////////////////////////////////
37
39
 
38
- function _decryptActions(fhevm: Fhevm<FhevmChain, WithDecrypt>): DecryptActions {
40
+ function _decryptActions(fhevm: Fhevm<FhevmChain, WithDecrypt>): DecryptActionMethods {
39
41
  // Preserve the original action overloads on the decorated client API.
40
42
  // Runtime behavior is unchanged: this is a direct pass-through wrapper.
41
43
  return {
@@ -48,13 +50,6 @@ function _decryptActions(fhevm: Fhevm<FhevmChain, WithDecrypt>): DecryptActions
48
50
 
49
51
  ////////////////////////////////////////////////////////////////////////////////
50
52
 
51
- function _initDecrypt(fhevm: FhevmBase<FhevmChain | undefined, FhevmRuntime, OptionalNativeClient>): Promise<void> {
52
- const f = asFhevmClientWith(fhevm, 'decrypt');
53
- return f.runtime.decrypt.initTkmsModule();
54
- }
55
-
56
- ////////////////////////////////////////////////////////////////////////////////
57
-
58
53
  export function decryptActionsWithModule(
59
54
  fhevm: FhevmBase<FhevmChain>,
60
55
  factory: DecryptModuleFactory,
@@ -62,7 +57,7 @@ export function decryptActionsWithModule(
62
57
  const runtime = fhevm.runtime.extend(factory);
63
58
  assertIsFhevmClientWith(fhevm, 'decrypt');
64
59
  return {
65
- actions: _decryptActions(fhevm),
60
+ actions: _decryptActions(fhevm) as DecryptActions,
66
61
  runtime,
67
62
  init: _initDecrypt,
68
63
  };
@@ -1,18 +1,23 @@
1
- import type { FhevmBase, OptionalNativeClient } from '../../types/coreFhevmClient.js';
2
- import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
1
+ import type { FhevmBase } from '../../types/coreFhevmClient.js';
3
2
  import type { FhevmChain } from '../../types/fhevmChain.js';
4
- import { asFhevmClientWith } from '../../runtime/CoreFhevm-p.js';
3
+ import { asFhevmClientWith, setResolvedTfheVersion } from '../../runtime/CoreFhevm-p.js';
5
4
  import { fetchFheEncryptionKeyBytes } from '../../key/fetchFheEncryptionKeyBytes.js';
5
+ import { ensureResolvedProtocolVersion, resolveFhevmTfheVersion } from '../../runtime/resolveFhevmVersions-p.js';
6
6
 
7
7
  ////////////////////////////////////////////////////////////////////////////////
8
8
 
9
- export async function _initEncrypt(
10
- fhevm: FhevmBase<FhevmChain | undefined, FhevmRuntime, OptionalNativeClient>,
11
- ): Promise<void> {
9
+ export async function _initEncrypt(fhevm: FhevmBase<FhevmChain>): Promise<void> {
12
10
  const f = asFhevmClientWith(fhevm, 'encrypt');
11
+
12
+ await ensureResolvedProtocolVersion(fhevm);
13
+
14
+ const tfheVersion = await resolveFhevmTfheVersion(f);
15
+
13
16
  await Promise.all([
14
17
  // Prefetch the global FheEncryptionKey in bytes format
15
18
  fetchFheEncryptionKeyBytes(f, {}),
16
- f.runtime.encrypt.initTfheModule(),
19
+ f.runtime.encrypt.initTfheModule({ tfheVersion }),
17
20
  ]);
21
+
22
+ setResolvedTfheVersion(f, tfheVersion);
18
23
  }