@fhevm/sdk 1.1.0-alpha.3 → 1.1.0-alpha.5

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 (855) 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/auth.js +8 -6
  40. package/_cjs/core/base/auth.js.map +1 -1
  41. package/_cjs/core/base/errors/InvalidUrlError.js +17 -0
  42. package/_cjs/core/base/errors/InvalidUrlError.js.map +1 -0
  43. package/_cjs/core/base/fetch.js +37 -0
  44. package/_cjs/core/base/fetch.js.map +1 -1
  45. package/_cjs/core/base/object.js +23 -0
  46. package/_cjs/core/base/object.js.map +1 -1
  47. package/_cjs/core/base/semver.js +166 -0
  48. package/_cjs/core/base/semver.js.map +1 -0
  49. package/_cjs/core/base/string.js +10 -0
  50. package/_cjs/core/base/string.js.map +1 -1
  51. package/_cjs/core/base/uint.js +20 -3
  52. package/_cjs/core/base/uint.js.map +1 -1
  53. package/_cjs/core/chains/definitions/localTestnet.js +3 -0
  54. package/_cjs/core/chains/definitions/localTestnet.js.map +1 -1
  55. package/_cjs/core/chains/definitions/mainnet.js +1 -0
  56. package/_cjs/core/chains/definitions/mainnet.js.map +1 -1
  57. package/_cjs/core/chains/definitions/sepolia.js +1 -0
  58. package/_cjs/core/chains/definitions/sepolia.js.map +1 -1
  59. package/_cjs/core/clients/decorators/base.js +5 -0
  60. package/_cjs/core/clients/decorators/base.js.map +1 -1
  61. package/_cjs/core/clients/decorators/decrypt-p.js +13 -0
  62. package/_cjs/core/clients/decorators/decrypt-p.js.map +1 -0
  63. package/_cjs/core/clients/decorators/decrypt.js +4 -7
  64. package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
  65. package/_cjs/core/clients/decorators/encrypt-p.js +5 -1
  66. package/_cjs/core/clients/decorators/encrypt-p.js.map +1 -1
  67. package/_cjs/core/clients/decorators/encrypt.js.map +1 -1
  68. package/_cjs/core/coprocessor/ZkProof-p.js +4 -2
  69. package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
  70. package/_cjs/core/coprocessor/ZkProofBuilder-p.js +2 -1
  71. package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  72. package/_cjs/core/coprocessor/encrypt.js +1 -1
  73. package/_cjs/core/coprocessor/encrypt.js.map +1 -1
  74. package/_cjs/core/errors/RelayerResponseStatusError.js +3 -2
  75. package/_cjs/core/errors/RelayerResponseStatusError.js.map +1 -1
  76. package/_cjs/core/host-contracts/HostContractVersion-p.js +26 -4
  77. package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -1
  78. package/_cjs/core/host-contracts/KmsSignersContext-p.js +23 -5
  79. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  80. package/_cjs/core/host-contracts/abi-fragments/fragments.js +21 -1
  81. package/_cjs/core/host-contracts/abi-fragments/fragments.js.map +1 -1
  82. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
  83. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  84. package/_cjs/core/host-contracts/checkAllowedForDecryption.js +2 -2
  85. package/_cjs/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
  86. package/_cjs/core/host-contracts/checkDelegation.js +8 -8
  87. package/_cjs/core/host-contracts/checkDelegation.js.map +1 -1
  88. package/_cjs/core/host-contracts/checkPersistAllowed.js +9 -9
  89. package/_cjs/core/host-contracts/checkPersistAllowed.js.map +1 -1
  90. package/_cjs/core/host-contracts/getAclAddress-p.js +1 -2
  91. package/_cjs/core/host-contracts/getAclAddress-p.js.map +1 -1
  92. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +51 -0
  93. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
  94. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +4 -5
  95. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  96. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
  97. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
  98. package/_cjs/core/host-contracts/getHandleVersion-p.js +1 -2
  99. package/_cjs/core/host-contracts/getHandleVersion-p.js.map +1 -1
  100. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js +1 -2
  101. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
  102. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js +1 -2
  103. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
  104. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +5 -7
  105. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  106. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +4 -5
  107. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  108. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js +3 -5
  109. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
  110. package/_cjs/core/host-contracts/isAllowedForDecryption.js +4 -4
  111. package/_cjs/core/host-contracts/isAllowedForDecryption.js.map +1 -1
  112. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
  113. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
  114. package/_cjs/core/host-contracts/isUserDecryptable.js +2 -2
  115. package/_cjs/core/host-contracts/isUserDecryptable.js.map +1 -1
  116. package/_cjs/core/host-contracts/persistAllowed.js +4 -4
  117. package/_cjs/core/host-contracts/persistAllowed.js.map +1 -1
  118. package/_cjs/core/host-contracts/readKmsSignersContext-p.js +74 -25
  119. package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  120. package/_cjs/core/key/FheEncryptionKeyWasm-p.js +12 -4
  121. package/_cjs/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
  122. package/_cjs/core/key/deserializeFheEncryptionKey.js +3 -0
  123. package/_cjs/core/key/deserializeFheEncryptionKey.js.map +1 -1
  124. package/_cjs/core/key/fetchFheEncryptionKey.js +1 -1
  125. package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -1
  126. package/_cjs/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
  127. package/_cjs/core/key/serializeFheEncryptionKey.js +4 -1
  128. package/_cjs/core/key/serializeFheEncryptionKey.js.map +1 -1
  129. package/_cjs/core/kms/KmsSigncryptedShares-p.js +9 -1
  130. package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  131. package/_cjs/core/kms/SignedDecryptionPermit-p.js +5 -1
  132. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  133. package/_cjs/core/kms/TransportKeyPair-p.js +31 -7
  134. package/_cjs/core/kms/TransportKeyPair-p.js.map +1 -1
  135. package/_cjs/core/kms/createKmsUserDecryptEip712.js +4 -0
  136. package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +1 -1
  137. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +97 -0
  138. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
  139. package/_cjs/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +10 -3
  140. package/_cjs/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
  141. package/_cjs/core/kms/decryptValuesFromPairs.js +4 -4
  142. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
  143. package/_cjs/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +10 -6
  144. package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
  145. package/_cjs/core/kms/kmsExtraData.js +53 -10
  146. package/_cjs/core/kms/kmsExtraData.js.map +1 -1
  147. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js +25 -0
  148. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
  149. package/_cjs/core/kms/publicDecrypt.js +5 -3
  150. package/_cjs/core/kms/publicDecrypt.js.map +1 -1
  151. package/_cjs/core/modules/decrypt/mock.js +1 -23
  152. package/_cjs/core/modules/decrypt/mock.js.map +1 -1
  153. package/_cjs/core/modules/decrypt/module/api-p.js +51 -23
  154. package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
  155. package/_cjs/core/modules/decrypt/module/index.js +5 -27
  156. package/_cjs/core/modules/decrypt/module/index.js.map +1 -1
  157. package/_cjs/core/modules/decrypt/module/init-p.js +40 -19
  158. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
  159. package/_cjs/core/modules/encrypt/mock.js +26 -8
  160. package/_cjs/core/modules/encrypt/mock.js.map +1 -1
  161. package/_cjs/core/modules/encrypt/module/api-p.js +50 -21
  162. package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
  163. package/_cjs/core/modules/encrypt/module/index.js +3 -3
  164. package/_cjs/core/modules/encrypt/module/index.js.map +1 -1
  165. package/_cjs/core/modules/encrypt/module/init-p.js +63 -24
  166. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
  167. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +1 -1
  168. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
  169. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +1 -1
  170. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  171. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +44 -11
  172. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  173. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +5 -2
  174. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  175. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +5 -1
  176. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  177. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +15 -6
  178. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  179. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +5 -1
  180. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  181. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +5 -1
  182. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  183. package/_cjs/core/modules/relayer/module/readErrorMessage.js +29 -0
  184. package/_cjs/core/modules/relayer/module/readErrorMessage.js.map +1 -0
  185. package/_cjs/core/modules/relayer/module/relayerUrl.js +33 -27
  186. package/_cjs/core/modules/relayer/module/relayerUrl.js.map +1 -1
  187. package/_cjs/core/runtime/CoreFhevm-p.js +171 -5
  188. package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -1
  189. package/_cjs/core/runtime/HyperWasmSolver-p.js +187 -0
  190. package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -0
  191. package/_cjs/core/runtime/ProtocolVersionResolver-p.js +270 -0
  192. package/_cjs/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
  193. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  194. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  195. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  196. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
  197. package/_cjs/core/runtime/initFhevmRuntime-p.js +4 -1
  198. package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -1
  199. package/_cjs/core/runtime/resolveFhevmVersions-p.js +48 -0
  200. package/_cjs/core/runtime/resolveFhevmVersions-p.js.map +1 -0
  201. package/_cjs/core/runtimeConfig-p.js +10 -0
  202. package/_cjs/core/runtimeConfig-p.js.map +1 -1
  203. package/_cjs/core/types/{zkProofBuilder.js → moduleVersions.js} +1 -1
  204. package/_cjs/core/types/moduleVersions.js.map +1 -0
  205. package/_cjs/core/types/{fhevmUser.js → wasmAssets.js} +1 -1
  206. package/_cjs/core/types/wasmAssets.js.map +1 -0
  207. package/_cjs/core/types/{fhevmDecryptionKey.js → zkProofBuilder-p.js} +1 -1
  208. package/_cjs/core/types/zkProofBuilder-p.js.map +1 -0
  209. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
  210. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
  211. package/_cjs/ethers/internal/config.js +1 -18
  212. package/_cjs/ethers/internal/config.js.map +1 -1
  213. package/_cjs/viem/internal/config.js +1 -18
  214. package/_cjs/viem/internal/config.js.map +1 -1
  215. package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
  216. package/_cjs/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -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/tfhe.d.ts +4 -0
  220. package/_cjs/wasm/tfhe/v1.6.1/tfhe.js +6 -1
  221. package/_cjs/wasm/tfhe/v1.6.1/tfhe.js.map +2 -2
  222. package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
  223. package/_cjs/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  224. package/_cjs/wasm/tkms/v0.13.10/kms_lib.js +6 -1
  225. package/_cjs/wasm/tkms/v0.13.10/kms_lib.js.map +2 -2
  226. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  227. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js +6 -1
  228. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js.map +2 -2
  229. package/_cjs/wasm/wasmBaseUrl.js +23 -7
  230. package/_cjs/wasm/wasmBaseUrl.js.map +2 -2
  231. package/_esm/core/_version.js +1 -1
  232. package/_esm/core/actions/base/canDecryptPublicValue.js +1 -1
  233. package/_esm/core/actions/base/canDecryptPublicValue.js.map +1 -1
  234. package/_esm/core/actions/base/canDecryptPublicValues.js +1 -1
  235. package/_esm/core/actions/base/canDecryptPublicValues.js.map +1 -1
  236. package/_esm/core/actions/base/{fetchKmsSignedcryptedShares.js → fetchKmsSigncryptedShares.js} +4 -4
  237. package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +1 -0
  238. package/_esm/core/actions/base/index.js +1 -1
  239. package/_esm/core/actions/base/index.js.map +1 -1
  240. package/_esm/core/actions/base/readKmsSignersContext.js +2 -1
  241. package/_esm/core/actions/base/readKmsSignersContext.js.map +1 -1
  242. package/_esm/core/actions/chain/parseTransportKeyPair.js.map +1 -1
  243. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +11 -0
  244. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +1 -0
  245. package/_esm/core/actions/decrypt/decryptValue.js +3 -1
  246. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
  247. package/_esm/core/actions/decrypt/decryptValues.js +3 -1
  248. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
  249. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +3 -1
  250. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  251. package/_esm/core/actions/decrypt/generateTransportKeyPair.js +3 -1
  252. package/_esm/core/actions/decrypt/generateTransportKeyPair.js.map +1 -1
  253. package/_esm/core/actions/decrypt/index.js +1 -1
  254. package/_esm/core/actions/decrypt/index.js.map +1 -1
  255. package/_esm/core/actions/encrypt/encryptValue.js +3 -1
  256. package/_esm/core/actions/encrypt/encryptValue.js.map +1 -1
  257. package/_esm/core/actions/encrypt/encryptValues.js +3 -1
  258. package/_esm/core/actions/encrypt/encryptValues.js.map +1 -1
  259. package/_esm/core/actions/encrypt/generateZkProof.js +5 -1
  260. package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -1
  261. package/_esm/core/actions/host/readFhevmExecutorContractData.js +8 -8
  262. package/_esm/core/actions/host/readFhevmExecutorContractData.js.map +1 -1
  263. package/_esm/core/actions/host/readInputVerifierContractData.js +2 -2
  264. package/_esm/core/actions/host/readInputVerifierContractData.js.map +1 -1
  265. package/_esm/core/actions/host/readKmsVerifierContractData.js +7 -6
  266. package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
  267. package/_esm/core/actions/host/resolveFhevmConfig.js +7 -1
  268. package/_esm/core/actions/host/resolveFhevmConfig.js.map +1 -1
  269. package/_esm/core/base/auth.js +8 -6
  270. package/_esm/core/base/auth.js.map +1 -1
  271. package/_esm/core/base/errors/InvalidUrlError.js +13 -0
  272. package/_esm/core/base/errors/InvalidUrlError.js.map +1 -0
  273. package/_esm/core/base/fetch.js +96 -0
  274. package/_esm/core/base/fetch.js.map +1 -1
  275. package/_esm/core/base/object.js +28 -0
  276. package/_esm/core/base/object.js.map +1 -1
  277. package/_esm/core/base/semver.js +164 -0
  278. package/_esm/core/base/semver.js.map +1 -0
  279. package/_esm/core/base/string.js +9 -0
  280. package/_esm/core/base/string.js.map +1 -1
  281. package/_esm/core/base/uint.js +23 -2
  282. package/_esm/core/base/uint.js.map +1 -1
  283. package/_esm/core/chains/definitions/localTestnet.js +3 -0
  284. package/_esm/core/chains/definitions/localTestnet.js.map +1 -1
  285. package/_esm/core/chains/definitions/mainnet.js +1 -0
  286. package/_esm/core/chains/definitions/mainnet.js.map +1 -1
  287. package/_esm/core/chains/definitions/sepolia.js +1 -0
  288. package/_esm/core/chains/definitions/sepolia.js.map +1 -1
  289. package/_esm/core/clients/decorators/base.js +6 -1
  290. package/_esm/core/clients/decorators/base.js.map +1 -1
  291. package/_esm/core/clients/decorators/decrypt-p.js +11 -0
  292. package/_esm/core/clients/decorators/decrypt-p.js.map +1 -0
  293. package/_esm/core/clients/decorators/decrypt.js +3 -7
  294. package/_esm/core/clients/decorators/decrypt.js.map +1 -1
  295. package/_esm/core/clients/decorators/encrypt-p.js +6 -2
  296. package/_esm/core/clients/decorators/encrypt-p.js.map +1 -1
  297. package/_esm/core/clients/decorators/encrypt.js.map +1 -1
  298. package/_esm/core/coprocessor/ZkProof-p.js +4 -2
  299. package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
  300. package/_esm/core/coprocessor/ZkProofBuilder-p.js +2 -1
  301. package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  302. package/_esm/core/coprocessor/encrypt.js +1 -1
  303. package/_esm/core/coprocessor/encrypt.js.map +1 -1
  304. package/_esm/core/errors/RelayerResponseStatusError.js +7 -2
  305. package/_esm/core/errors/RelayerResponseStatusError.js.map +1 -1
  306. package/_esm/core/host-contracts/HostContractVersion-p.js +34 -3
  307. package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -1
  308. package/_esm/core/host-contracts/KmsSignersContext-p.js +24 -6
  309. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  310. package/_esm/core/host-contracts/abi-fragments/fragments.js +24 -0
  311. package/_esm/core/host-contracts/abi-fragments/fragments.js.map +1 -1
  312. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
  313. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  314. package/_esm/core/host-contracts/checkAllowedForDecryption.js +2 -2
  315. package/_esm/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
  316. package/_esm/core/host-contracts/checkDelegation.js +8 -8
  317. package/_esm/core/host-contracts/checkDelegation.js.map +1 -1
  318. package/_esm/core/host-contracts/checkPersistAllowed.js +9 -9
  319. package/_esm/core/host-contracts/checkPersistAllowed.js.map +1 -1
  320. package/_esm/core/host-contracts/getAclAddress-p.js +1 -2
  321. package/_esm/core/host-contracts/getAclAddress-p.js.map +1 -1
  322. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +63 -0
  323. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
  324. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +6 -7
  325. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  326. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
  327. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
  328. package/_esm/core/host-contracts/getHandleVersion-p.js +1 -2
  329. package/_esm/core/host-contracts/getHandleVersion-p.js.map +1 -1
  330. package/_esm/core/host-contracts/getHcuLimitAddress-p.js +1 -2
  331. package/_esm/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
  332. package/_esm/core/host-contracts/getInputVerifierAddress-p.js +1 -2
  333. package/_esm/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
  334. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +6 -8
  335. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  336. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +5 -6
  337. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  338. package/_esm/core/host-contracts/getSignersForKmsContext-p.js +5 -7
  339. package/_esm/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
  340. package/_esm/core/host-contracts/isAllowedForDecryption.js +4 -4
  341. package/_esm/core/host-contracts/isAllowedForDecryption.js.map +1 -1
  342. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
  343. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
  344. package/_esm/core/host-contracts/isUserDecryptable.js +2 -2
  345. package/_esm/core/host-contracts/isUserDecryptable.js.map +1 -1
  346. package/_esm/core/host-contracts/persistAllowed.js +4 -4
  347. package/_esm/core/host-contracts/persistAllowed.js.map +1 -1
  348. package/_esm/core/host-contracts/readKmsSignersContext-p.js +89 -29
  349. package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  350. package/_esm/core/key/FheEncryptionKeyWasm-p.js +12 -4
  351. package/_esm/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
  352. package/_esm/core/key/deserializeFheEncryptionKey.js +3 -0
  353. package/_esm/core/key/deserializeFheEncryptionKey.js.map +1 -1
  354. package/_esm/core/key/fetchFheEncryptionKey.js +1 -1
  355. package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -1
  356. package/_esm/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
  357. package/_esm/core/key/serializeFheEncryptionKey.js +4 -1
  358. package/_esm/core/key/serializeFheEncryptionKey.js.map +1 -1
  359. package/_esm/core/kms/KmsSigncryptedShares-p.js +9 -1
  360. package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  361. package/_esm/core/kms/SignedDecryptionPermit-p.js +5 -1
  362. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  363. package/_esm/core/kms/TransportKeyPair-p.js +32 -7
  364. package/_esm/core/kms/TransportKeyPair-p.js.map +1 -1
  365. package/_esm/core/kms/createKmsUserDecryptEip712.js +4 -0
  366. package/_esm/core/kms/createKmsUserDecryptEip712.js.map +1 -1
  367. package/_esm/core/kms/createKmsUserDecryptEip712V2.js +98 -0
  368. package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
  369. package/_esm/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +9 -2
  370. package/_esm/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
  371. package/_esm/core/kms/decryptValuesFromPairs.js +4 -4
  372. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
  373. package/_esm/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +12 -6
  374. package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
  375. package/_esm/core/kms/kmsExtraData.js +70 -12
  376. package/_esm/core/kms/kmsExtraData.js.map +1 -1
  377. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +28 -0
  378. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
  379. package/_esm/core/kms/publicDecrypt.js +5 -3
  380. package/_esm/core/kms/publicDecrypt.js.map +1 -1
  381. package/_esm/core/modules/decrypt/mock.js +0 -24
  382. package/_esm/core/modules/decrypt/mock.js.map +1 -1
  383. package/_esm/core/modules/decrypt/module/api-p.js +51 -23
  384. package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
  385. package/_esm/core/modules/decrypt/module/index.js +31 -25
  386. package/_esm/core/modules/decrypt/module/index.js.map +1 -1
  387. package/_esm/core/modules/decrypt/module/init-p.js +41 -19
  388. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
  389. package/_esm/core/modules/encrypt/mock.js +26 -9
  390. package/_esm/core/modules/encrypt/mock.js.map +1 -1
  391. package/_esm/core/modules/encrypt/module/api-p.js +50 -21
  392. package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
  393. package/_esm/core/modules/encrypt/module/index.js +3 -3
  394. package/_esm/core/modules/encrypt/module/index.js.map +1 -1
  395. package/_esm/core/modules/encrypt/module/init-p.js +69 -29
  396. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
  397. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +2 -2
  398. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
  399. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +2 -2
  400. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  401. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +74 -17
  402. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  403. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +5 -2
  404. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  405. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +6 -2
  406. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  407. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +20 -8
  408. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  409. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +6 -2
  410. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  411. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +6 -2
  412. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  413. package/_esm/core/modules/relayer/module/readErrorMessage.js +52 -0
  414. package/_esm/core/modules/relayer/module/readErrorMessage.js.map +1 -0
  415. package/_esm/core/modules/relayer/module/relayerUrl.js +55 -27
  416. package/_esm/core/modules/relayer/module/relayerUrl.js.map +1 -1
  417. package/_esm/core/runtime/CoreFhevm-p.js +167 -5
  418. package/_esm/core/runtime/CoreFhevm-p.js.map +1 -1
  419. package/_esm/core/runtime/HyperWasmSolver-p.js +268 -0
  420. package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -0
  421. package/_esm/core/runtime/ProtocolVersionResolver-p.js +326 -0
  422. package/_esm/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
  423. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  424. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  425. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  426. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
  427. package/_esm/core/runtime/initFhevmRuntime-p.js +4 -1
  428. package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -1
  429. package/_esm/core/runtime/resolveFhevmVersions-p.js +62 -0
  430. package/_esm/core/runtime/resolveFhevmVersions-p.js.map +1 -0
  431. package/_esm/core/runtimeConfig-p.js +9 -0
  432. package/_esm/core/runtimeConfig-p.js.map +1 -1
  433. package/_esm/core/types/moduleVersions.js +2 -0
  434. package/_esm/core/types/moduleVersions.js.map +1 -0
  435. package/_esm/core/types/wasmAssets.js +2 -0
  436. package/_esm/core/types/wasmAssets.js.map +1 -0
  437. package/_esm/core/types/zkProofBuilder-p.js +2 -0
  438. package/_esm/core/types/zkProofBuilder-p.js.map +1 -0
  439. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
  440. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
  441. package/_esm/ethers/internal/config.js +1 -18
  442. package/_esm/ethers/internal/config.js.map +1 -1
  443. package/_esm/viem/internal/config.js +1 -18
  444. package/_esm/viem/internal/config.js.map +1 -1
  445. package/_esm/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
  446. package/_esm/wasm/tfhe/v1.5.3/tfhe.js +8 -0
  447. package/_esm/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
  448. package/_esm/wasm/tfhe/v1.6.1/tfhe.js +8 -0
  449. package/_esm/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  450. package/_esm/wasm/tkms/v0.13.10/kms_lib.js +8 -0
  451. package/_esm/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  452. package/_esm/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
  453. package/_esm/wasm/wasmBaseUrl.js +69 -4
  454. package/_types/core/actions/base/{fetchKmsSignedcryptedShares.d.ts → fetchKmsSigncryptedShares.d.ts} +7 -7
  455. package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +1 -0
  456. package/_types/core/actions/base/index.d.ts +1 -1
  457. package/_types/core/actions/base/index.d.ts.map +1 -1
  458. package/_types/core/actions/base/readKmsSignersContext.d.ts.map +1 -1
  459. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +2 -2
  460. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
  461. package/_types/core/actions/chain/parseTransportKeyPair.d.ts +1 -1
  462. package/_types/core/actions/chain/parseTransportKeyPair.d.ts.map +1 -1
  463. package/_types/core/actions/decrypt/{decryptKmsSignedcryptedShares.d.ts → decryptKmsSigncryptedShares.d.ts} +4 -4
  464. package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +1 -0
  465. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
  466. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
  467. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
  468. package/_types/core/actions/decrypt/generateTransportKeyPair.d.ts +2 -2
  469. package/_types/core/actions/decrypt/generateTransportKeyPair.d.ts.map +1 -1
  470. package/_types/core/actions/decrypt/index.d.ts +1 -1
  471. package/_types/core/actions/decrypt/index.d.ts.map +1 -1
  472. package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -1
  473. package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -1
  474. package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -1
  475. package/_types/core/actions/host/readKmsVerifierContractData.d.ts +1 -0
  476. package/_types/core/actions/host/readKmsVerifierContractData.d.ts.map +1 -1
  477. package/_types/core/actions/host/resolveFhevmConfig.d.ts +2 -0
  478. package/_types/core/actions/host/resolveFhevmConfig.d.ts.map +1 -1
  479. package/_types/core/base/auth.d.ts.map +1 -1
  480. package/_types/core/base/errors/InvalidUrlError.d.ts +14 -0
  481. package/_types/core/base/errors/InvalidUrlError.d.ts.map +1 -0
  482. package/_types/core/base/fetch.d.ts +57 -0
  483. package/_types/core/base/fetch.d.ts.map +1 -1
  484. package/_types/core/base/object.d.ts +7 -0
  485. package/_types/core/base/object.d.ts.map +1 -1
  486. package/_types/core/base/semver.d.ts +39 -0
  487. package/_types/core/base/semver.d.ts.map +1 -0
  488. package/_types/core/base/string.d.ts +1 -0
  489. package/_types/core/base/string.d.ts.map +1 -1
  490. package/_types/core/base/uint.d.ts +13 -2
  491. package/_types/core/base/uint.d.ts.map +1 -1
  492. package/_types/core/chains/definitions/localTestnet.d.ts +3 -0
  493. package/_types/core/chains/definitions/localTestnet.d.ts.map +1 -1
  494. package/_types/core/chains/definitions/mainnet.d.ts +1 -0
  495. package/_types/core/chains/definitions/mainnet.d.ts.map +1 -1
  496. package/_types/core/chains/definitions/sepolia.d.ts.map +1 -1
  497. package/_types/core/clients/decorators/base.d.ts.map +1 -1
  498. package/_types/core/clients/decorators/decrypt-p.d.ts +4 -0
  499. package/_types/core/clients/decorators/decrypt-p.d.ts.map +1 -0
  500. package/_types/core/clients/decorators/decrypt.d.ts +4 -2
  501. package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
  502. package/_types/core/clients/decorators/encrypt-p.d.ts +2 -3
  503. package/_types/core/clients/decorators/encrypt-p.d.ts.map +1 -1
  504. package/_types/core/clients/decorators/encrypt.d.ts +4 -2
  505. package/_types/core/clients/decorators/encrypt.d.ts.map +1 -1
  506. package/_types/core/coprocessor/ZkProof-p.d.ts +9 -2
  507. package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
  508. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +3 -1
  509. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
  510. package/_types/core/coprocessor/encrypt.d.ts +2 -0
  511. package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
  512. package/_types/core/errors/RelayerResponseStatusError.d.ts +7 -1
  513. package/_types/core/errors/RelayerResponseStatusError.d.ts.map +1 -1
  514. package/_types/core/host-contracts/HostContractVersion-p.d.ts +18 -1
  515. package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -1
  516. package/_types/core/host-contracts/KmsSignersContext-p.d.ts +2 -1
  517. package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -1
  518. package/_types/core/host-contracts/abi-fragments/fragments.d.ts +5 -0
  519. package/_types/core/host-contracts/abi-fragments/fragments.d.ts.map +1 -1
  520. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts +1 -1
  521. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts.map +1 -1
  522. package/_types/core/host-contracts/checkDelegation.d.ts +1 -1
  523. package/_types/core/host-contracts/checkDelegation.d.ts.map +1 -1
  524. package/_types/core/host-contracts/checkPersistAllowed.d.ts +1 -1
  525. package/_types/core/host-contracts/checkPersistAllowed.d.ts.map +1 -1
  526. package/_types/core/host-contracts/getAclAddress-p.d.ts +1 -1
  527. package/_types/core/host-contracts/getAclAddress-p.d.ts.map +1 -1
  528. package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts +30 -0
  529. package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts.map +1 -0
  530. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts +1 -1
  531. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts.map +1 -1
  532. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts +1 -1
  533. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts.map +1 -1
  534. package/_types/core/host-contracts/getHandleVersion-p.d.ts +1 -1
  535. package/_types/core/host-contracts/getHandleVersion-p.d.ts.map +1 -1
  536. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts +1 -1
  537. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts.map +1 -1
  538. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts +1 -1
  539. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts.map +1 -1
  540. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts +1 -1
  541. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts.map +1 -1
  542. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +1 -1
  543. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -1
  544. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts +2 -2
  545. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts.map +1 -1
  546. package/_types/core/host-contracts/isAllowedForDecryption.d.ts +1 -1
  547. package/_types/core/host-contracts/isAllowedForDecryption.d.ts.map +1 -1
  548. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts +1 -1
  549. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts.map +1 -1
  550. package/_types/core/host-contracts/isUserDecryptable.d.ts +1 -1
  551. package/_types/core/host-contracts/isUserDecryptable.d.ts.map +1 -1
  552. package/_types/core/host-contracts/persistAllowed.d.ts +1 -1
  553. package/_types/core/host-contracts/persistAllowed.d.ts.map +1 -1
  554. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +25 -7
  555. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
  556. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts +3 -1
  557. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts.map +1 -1
  558. package/_types/core/key/deserializeFheEncryptionKey.d.ts +2 -0
  559. package/_types/core/key/deserializeFheEncryptionKey.d.ts.map +1 -1
  560. package/_types/core/key/fetchFheEncryptionKey.d.ts +3 -1
  561. package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -1
  562. package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts.map +1 -1
  563. package/_types/core/key/serializeFheEncryptionKey.d.ts.map +1 -1
  564. package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -1
  565. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
  566. package/_types/core/kms/TransportKeyPair-p.d.ts +9 -0
  567. package/_types/core/kms/TransportKeyPair-p.d.ts.map +1 -1
  568. package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +1 -1
  569. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +15 -0
  570. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -0
  571. package/_types/core/kms/{decryptKmsSignedcryptedShares-p.d.ts → decryptKmsSigncryptedShares-p.d.ts} +4 -2
  572. package/_types/core/kms/decryptKmsSigncryptedShares-p.d.ts.map +1 -0
  573. package/_types/core/kms/decryptValuesFromPairs.d.ts +2 -0
  574. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
  575. package/_types/core/kms/{fetchKmsSignedcryptedShares-p.d.ts → fetchKmsSigncryptedShares-p.d.ts} +2 -2
  576. package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +1 -0
  577. package/_types/core/kms/kmsExtraData.d.ts +9 -2
  578. package/_types/core/kms/kmsExtraData.d.ts.map +1 -1
  579. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts +3 -0
  580. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -0
  581. package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
  582. package/_types/core/modules/decrypt/mock.d.ts +1 -2
  583. package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
  584. package/_types/core/modules/decrypt/module/api-p.d.ts +2 -2
  585. package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -1
  586. package/_types/core/modules/decrypt/module/index.d.ts +1 -2
  587. package/_types/core/modules/decrypt/module/index.d.ts.map +1 -1
  588. package/_types/core/modules/decrypt/module/init-p.d.ts +3 -3
  589. package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
  590. package/_types/core/modules/decrypt/types.d.ts +33 -34
  591. package/_types/core/modules/decrypt/types.d.ts.map +1 -1
  592. package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
  593. package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
  594. package/_types/core/modules/encrypt/module/index.d.ts.map +1 -1
  595. package/_types/core/modules/encrypt/module/init-p.d.ts +11 -4
  596. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
  597. package/_types/core/modules/encrypt/types.d.ts +31 -2
  598. package/_types/core/modules/encrypt/types.d.ts.map +1 -1
  599. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +19 -0
  600. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
  601. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
  602. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -1
  603. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -1
  604. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
  605. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
  606. package/_types/core/modules/relayer/module/readErrorMessage.d.ts +26 -0
  607. package/_types/core/modules/relayer/module/readErrorMessage.d.ts.map +1 -0
  608. package/_types/core/modules/relayer/module/relayerUrl.d.ts +24 -5
  609. package/_types/core/modules/relayer/module/relayerUrl.d.ts.map +1 -1
  610. package/_types/core/runtime/CoreFhevm-p.d.ts +15 -4
  611. package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -1
  612. package/_types/core/runtime/HyperWasmSolver-p.d.ts +71 -0
  613. package/_types/core/runtime/HyperWasmSolver-p.d.ts.map +1 -0
  614. package/_types/core/runtime/ProtocolVersionResolver-p.d.ts +29 -0
  615. package/_types/core/runtime/ProtocolVersionResolver-p.d.ts.map +1 -0
  616. package/_types/core/runtime/initFhevmRuntime-p.d.ts.map +1 -1
  617. package/_types/core/runtime/resolveFhevmVersions-p.d.ts +21 -0
  618. package/_types/core/runtime/resolveFhevmVersions-p.d.ts.map +1 -0
  619. package/_types/core/runtimeConfig-p.d.ts +3 -2
  620. package/_types/core/runtimeConfig-p.d.ts.map +1 -1
  621. package/_types/core/types/auth.d.ts +12 -1
  622. package/_types/core/types/auth.d.ts.map +1 -1
  623. package/_types/core/types/coreFhevmClient.d.ts +72 -2
  624. package/_types/core/types/coreFhevmClient.d.ts.map +1 -1
  625. package/_types/core/types/coreFhevmRuntime.d.ts +3 -9
  626. package/_types/core/types/coreFhevmRuntime.d.ts.map +1 -1
  627. package/_types/core/types/fheEncryptionKey.d.ts +2 -0
  628. package/_types/core/types/fheEncryptionKey.d.ts.map +1 -1
  629. package/_types/core/types/fhevmChain.d.ts +3 -0
  630. package/_types/core/types/fhevmChain.d.ts.map +1 -1
  631. package/_types/core/types/hostContract.d.ts +1 -0
  632. package/_types/core/types/hostContract.d.ts.map +1 -1
  633. package/_types/core/types/index.d.ts +1 -1
  634. package/_types/core/types/index.d.ts.map +1 -1
  635. package/_types/core/types/kms-p.d.ts +2 -0
  636. package/_types/core/types/kms-p.d.ts.map +1 -1
  637. package/_types/core/types/kms.d.ts +71 -21
  638. package/_types/core/types/kms.d.ts.map +1 -1
  639. package/_types/core/types/kmsSignersContext.d.ts +8 -0
  640. package/_types/core/types/kmsSignersContext.d.ts.map +1 -1
  641. package/_types/core/types/logger.d.ts +1 -0
  642. package/_types/core/types/logger.d.ts.map +1 -1
  643. package/_types/core/types/moduleVersions.d.ts +25 -0
  644. package/_types/core/types/moduleVersions.d.ts.map +1 -0
  645. package/_types/core/types/relayer.d.ts +1 -0
  646. package/_types/core/types/relayer.d.ts.map +1 -1
  647. package/_types/core/types/tkms-p.d.ts +2 -0
  648. package/_types/core/types/tkms-p.d.ts.map +1 -1
  649. package/_types/core/types/wasmAssets.d.ts +2 -0
  650. package/_types/core/types/wasmAssets.d.ts.map +1 -0
  651. package/_types/core/types/{zkProofBuilder.d.ts → zkProofBuilder-p.d.ts} +8 -3
  652. package/_types/core/types/zkProofBuilder-p.d.ts.map +1 -0
  653. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts +2 -0
  654. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts.map +1 -1
  655. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
  656. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
  657. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
  658. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
  659. package/_types/ethers/clients/createFhevmDecryptClient.d.ts +2 -2
  660. package/_types/ethers/clients/createFhevmDecryptClient.d.ts.map +1 -1
  661. package/_types/ethers/clients/createFhevmEncryptClient.d.ts +2 -2
  662. package/_types/ethers/clients/createFhevmEncryptClient.d.ts.map +1 -1
  663. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
  664. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
  665. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
  666. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
  667. package/_types/viem/clients/createFhevmDecryptClient.d.ts +2 -2
  668. package/_types/viem/clients/createFhevmDecryptClient.d.ts.map +1 -1
  669. package/_types/viem/clients/createFhevmEncryptClient.d.ts +2 -2
  670. package/_types/viem/clients/createFhevmEncryptClient.d.ts.map +1 -1
  671. package/_types/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
  672. package/_types/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
  673. package/_types/wasm/tfheModuleVersion-p.d.ts +1 -1
  674. package/_types/wasm/tfheModuleVersion-p.d.ts.map +1 -1
  675. package/_types/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  676. package/_types/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  677. package/_types/wasm/tkmsModuleVersion-p.d.ts +1 -1
  678. package/_types/wasm/tkmsModuleVersion-p.d.ts.map +1 -1
  679. package/core/_version.ts +1 -1
  680. package/core/actions/base/canDecryptPublicValue.ts +1 -1
  681. package/core/actions/base/canDecryptPublicValues.ts +1 -1
  682. package/core/actions/base/{fetchKmsSignedcryptedShares.ts → fetchKmsSigncryptedShares.ts} +16 -16
  683. package/core/actions/base/index.ts +5 -5
  684. package/core/actions/base/readKmsSignersContext.ts +2 -1
  685. package/core/actions/chain/parseSignedDecryptionPermit.ts +2 -2
  686. package/core/actions/chain/parseTransportKeyPair.ts +2 -1
  687. package/core/actions/decrypt/{decryptKmsSignedcryptedShares.ts → decryptKmsSigncryptedShares.ts} +12 -9
  688. package/core/actions/decrypt/decryptValue.ts +4 -1
  689. package/core/actions/decrypt/decryptValues.ts +4 -1
  690. package/core/actions/decrypt/decryptValuesFromPairs.ts +4 -1
  691. package/core/actions/decrypt/generateTransportKeyPair.ts +5 -3
  692. package/core/actions/decrypt/index.ts +4 -4
  693. package/core/actions/encrypt/encryptValue.ts +4 -1
  694. package/core/actions/encrypt/encryptValues.ts +4 -1
  695. package/core/actions/encrypt/generateZkProof.ts +9 -1
  696. package/core/actions/host/readFhevmExecutorContractData.ts +8 -8
  697. package/core/actions/host/readInputVerifierContractData.ts +2 -2
  698. package/core/actions/host/readKmsVerifierContractData.ts +8 -6
  699. package/core/actions/host/resolveFhevmConfig.ts +10 -1
  700. package/core/base/auth.ts +8 -6
  701. package/core/base/errors/InvalidUrlError.ts +24 -0
  702. package/core/base/fetch.ts +102 -0
  703. package/core/base/object.ts +38 -0
  704. package/core/base/semver.ts +231 -0
  705. package/core/base/string.ts +10 -0
  706. package/core/base/uint.ts +33 -4
  707. package/core/chains/definitions/localTestnet.ts +3 -0
  708. package/core/chains/definitions/mainnet.ts +1 -0
  709. package/core/chains/definitions/sepolia.ts +6 -6
  710. package/core/clients/decorators/base.ts +8 -1
  711. package/core/clients/decorators/decrypt-p.ts +18 -0
  712. package/core/clients/decorators/decrypt.ts +10 -15
  713. package/core/clients/decorators/encrypt-p.ts +12 -7
  714. package/core/clients/decorators/encrypt.ts +6 -4
  715. package/core/coprocessor/ZkProof-p.ts +17 -5
  716. package/core/coprocessor/ZkProofBuilder-p.ts +5 -2
  717. package/core/coprocessor/encrypt.ts +6 -1
  718. package/core/errors/RelayerResponseStatusError.ts +14 -2
  719. package/core/host-contracts/HostContractVersion-p.ts +60 -3
  720. package/core/host-contracts/KmsSignersContext-p.ts +36 -5
  721. package/core/host-contracts/abi-fragments/fragments.ts +28 -0
  722. package/core/host-contracts/canDecryptValuesFromPairs.ts +1 -1
  723. package/core/host-contracts/checkAllowedForDecryption.ts +3 -3
  724. package/core/host-contracts/checkDelegation.ts +9 -9
  725. package/core/host-contracts/checkPersistAllowed.ts +10 -10
  726. package/core/host-contracts/getAclAddress-p.ts +2 -3
  727. package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +92 -0
  728. package/core/host-contracts/getCurrentKmsContextId-p.ts +8 -8
  729. package/core/host-contracts/getFhevmExecutorAddress-p.ts +2 -2
  730. package/core/host-contracts/getHandleVersion-p.ts +2 -3
  731. package/core/host-contracts/getHcuLimitAddress-p.ts +2 -3
  732. package/core/host-contracts/getInputVerifierAddress-p.ts +2 -3
  733. package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +7 -9
  734. package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +6 -7
  735. package/core/host-contracts/getSignersForKmsContext-p.ts +6 -8
  736. package/core/host-contracts/isAllowedForDecryption.ts +6 -6
  737. package/core/host-contracts/isHandleDelegatedForUserDecryption-p.ts +7 -7
  738. package/core/host-contracts/isUserDecryptable.ts +3 -3
  739. package/core/host-contracts/persistAllowed.ts +6 -6
  740. package/core/host-contracts/readKmsSignersContext-p.ts +131 -41
  741. package/core/key/FheEncryptionKeyWasm-p.ts +24 -3
  742. package/core/key/deserializeFheEncryptionKey.ts +8 -1
  743. package/core/key/fetchFheEncryptionKey.ts +8 -4
  744. package/core/key/fetchFheEncryptionKeyBytes.ts +4 -2
  745. package/core/key/serializeFheEncryptionKey.ts +8 -2
  746. package/core/kms/KmsSigncryptedShares-p.ts +11 -1
  747. package/core/kms/SignedDecryptionPermit-p.ts +6 -1
  748. package/core/kms/TransportKeyPair-p.ts +56 -10
  749. package/core/kms/createKmsUserDecryptEip712.ts +4 -0
  750. package/core/kms/createKmsUserDecryptEip712V2.ts +159 -0
  751. package/core/kms/{decryptKmsSignedcryptedShares-p.ts → decryptKmsSigncryptedShares-p.ts} +12 -2
  752. package/core/kms/decryptValuesFromPairs.ts +6 -4
  753. package/core/kms/{fetchKmsSignedcryptedShares-p.ts → fetchKmsSigncryptedShares-p.ts} +12 -5
  754. package/core/kms/kmsExtraData.ts +82 -13
  755. package/core/kms/kmsUserDecryptEip712V2Types.ts +31 -0
  756. package/core/kms/publicDecrypt.ts +5 -3
  757. package/core/modules/decrypt/mock.ts +0 -35
  758. package/core/modules/decrypt/module/api-p.ts +88 -17
  759. package/core/modules/decrypt/module/index.ts +37 -34
  760. package/core/modules/decrypt/module/init-p.ts +60 -28
  761. package/core/modules/decrypt/types.ts +37 -65
  762. package/core/modules/encrypt/mock.ts +34 -4
  763. package/core/modules/encrypt/module/api-p.ts +66 -15
  764. package/core/modules/encrypt/module/index.ts +5 -3
  765. package/core/modules/encrypt/module/init-p.ts +99 -40
  766. package/core/modules/encrypt/types.ts +34 -2
  767. package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +2 -2
  768. package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +2 -2
  769. package/core/modules/relayer/module/RelayerAsyncRequest.ts +79 -21
  770. package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +6 -2
  771. package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +7 -2
  772. package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +21 -8
  773. package/core/modules/relayer/module/fetchPublicDecrypt.ts +7 -2
  774. package/core/modules/relayer/module/fetchUserDecrypt.ts +7 -2
  775. package/core/modules/relayer/module/readErrorMessage.ts +56 -0
  776. package/core/modules/relayer/module/relayerUrl.ts +66 -27
  777. package/core/runtime/CoreFhevm-p.ts +247 -22
  778. package/core/runtime/HyperWasmSolver-p.ts +417 -0
  779. package/core/runtime/ProtocolVersionResolver-p.ts +463 -0
  780. package/core/runtime/initFhevmDecryptRuntime-p.ts +1 -1
  781. package/core/runtime/initFhevmEncryptRuntime-p.ts +1 -1
  782. package/core/runtime/initFhevmRuntime-p.ts +4 -1
  783. package/core/runtime/resolveFhevmVersions-p.ts +85 -0
  784. package/core/runtimeConfig-p.ts +17 -2
  785. package/core/types/auth.ts +12 -1
  786. package/core/types/coreFhevmClient.ts +89 -4
  787. package/core/types/coreFhevmRuntime.ts +3 -18
  788. package/core/types/fheEncryptionKey.ts +2 -0
  789. package/core/types/fhevmChain.ts +3 -0
  790. package/core/types/hostContract.ts +1 -0
  791. package/core/types/index.ts +1 -1
  792. package/core/types/kms-p.ts +2 -0
  793. package/core/types/kms.ts +48 -18
  794. package/core/types/kmsSignersContext.ts +8 -0
  795. package/core/types/logger.ts +1 -0
  796. package/core/types/moduleVersions.ts +35 -0
  797. package/core/types/relayer.ts +1 -0
  798. package/core/types/tkms-p.ts +3 -0
  799. package/core/types/wasmAssets.ts +6 -0
  800. package/core/types/{zkProofBuilder.ts → zkProofBuilder-p.ts} +3 -2
  801. package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +3 -1
  802. package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
  803. package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
  804. package/ethers/clients/createFhevmDecryptClient.ts +2 -2
  805. package/ethers/clients/createFhevmEncryptClient.ts +2 -2
  806. package/ethers/internal/config.ts +2 -30
  807. package/package.json +1 -1
  808. package/viem/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
  809. package/viem/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
  810. package/viem/clients/createFhevmDecryptClient.ts +2 -2
  811. package/viem/clients/createFhevmEncryptClient.ts +2 -2
  812. package/viem/internal/config.ts +2 -30
  813. package/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
  814. package/wasm/tfhe/v1.5.3/tfhe.js +8 -0
  815. package/wasm/tfhe/v1.6.0-dev/tfhe.d.ts +4 -0
  816. package/wasm/tfhe/v1.6.0-dev/tfhe.js +8 -0
  817. package/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
  818. package/wasm/tfhe/v1.6.1/tfhe.js +8 -0
  819. package/wasm/tfheModuleVersion-p.ts +1 -1
  820. package/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  821. package/wasm/tkms/v0.13.10/kms_lib.js +8 -0
  822. package/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  823. package/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
  824. package/wasm/tkmsModuleVersion-p.ts +1 -1
  825. package/wasm/wasmBaseUrl.js +69 -4
  826. package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
  827. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -11
  828. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
  829. package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
  830. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
  831. package/_cjs/core/types/fhevmDecryptionKey.js.map +0 -1
  832. package/_cjs/core/types/fhevmUser.js.map +0 -1
  833. package/_cjs/core/types/zkProofBuilder.js.map +0 -1
  834. package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
  835. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -9
  836. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
  837. package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
  838. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
  839. package/_esm/core/types/fhevmDecryptionKey.js +0 -2
  840. package/_esm/core/types/fhevmDecryptionKey.js.map +0 -1
  841. package/_esm/core/types/fhevmUser.js +0 -2
  842. package/_esm/core/types/fhevmUser.js.map +0 -1
  843. package/_esm/core/types/zkProofBuilder.js +0 -2
  844. package/_esm/core/types/zkProofBuilder.js.map +0 -1
  845. package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts.map +0 -1
  846. package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts.map +0 -1
  847. package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts.map +0 -1
  848. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +0 -1
  849. package/_types/core/types/fhevmDecryptionKey.d.ts +0 -4
  850. package/_types/core/types/fhevmDecryptionKey.d.ts.map +0 -1
  851. package/_types/core/types/fhevmUser.d.ts +0 -7
  852. package/_types/core/types/fhevmUser.d.ts.map +0 -1
  853. package/_types/core/types/zkProofBuilder.d.ts.map +0 -1
  854. package/core/types/fhevmDecryptionKey.ts +0 -8
  855. package/core/types/fhevmUser.ts +0 -7
@@ -4,6 +4,7 @@ import type { Bytes, BytesHex } from '../../types/primitives.js';
4
4
  import type { Prettify } from '../../types/utils.js';
5
5
  import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
6
6
  import type { ClearValue } from '../../types/encryptedTypes-p.js';
7
+ import type { TkmsVersion } from '../../../wasm/tkms/KmsLibApi.js';
7
8
 
8
9
  ////////////////////////////////////////////////////////////////////////////////
9
10
  //
@@ -22,12 +23,20 @@ WASM compilation (how to get WebAssembly.Module):
22
23
 
23
24
  */
24
25
 
26
+ type WithTkmsVersion = {
27
+ readonly tkmsVersion: TkmsVersion;
28
+ };
29
+
25
30
  ////////////////////////////////////////////////////////////////////////////////
26
31
  // initTkmsModule
27
32
  ////////////////////////////////////////////////////////////////////////////////
28
33
 
34
+ export type InitTkmsModuleParameters = {
35
+ readonly tkmsVersion: TkmsVersion;
36
+ };
37
+
29
38
  export type InitTkmsModuleFunction = {
30
- initTkmsModule(): Promise<void>;
39
+ initTkmsModule(parameters: InitTkmsModuleParameters): Promise<void>;
31
40
  };
32
41
 
33
42
  ////////////////////////////////////////////////////////////////////////////////
@@ -39,12 +48,29 @@ export type InitTkmsModuleFunction = {
39
48
  */
40
49
  export type TkmsModuleInfo = {
41
50
  /**
42
- * URL used to fetch the TFHE WASM binary.
51
+ * URL used to fetch the TKMS WASM binary.
43
52
  * `undefined` means the base64-embedded fallback is used.
44
53
  */
45
54
  readonly wasmUrl: URL | undefined;
55
+
56
+ /**
57
+ * Current size of the TKMS WASM linear memory.
58
+ * This is the size of the underlying `WebAssembly.Memory` buffer, not live heap usage.
59
+ */
60
+ readonly memory: {
61
+ /**
62
+ * Current memory buffer size in bytes.
63
+ */
64
+ readonly byteLength: number;
65
+ /**
66
+ * Current memory buffer size in 64 KiB WASM pages.
67
+ */
68
+ readonly pages: number;
69
+ };
46
70
  };
47
71
 
72
+ export type GetTkmsModuleInfoParameters = WithTkmsVersion;
73
+
48
74
  export type GetTkmsModuleInfoReturnType = TkmsModuleInfo | undefined;
49
75
 
50
76
  export type GetTkmsModuleInfoFunction = {
@@ -52,11 +78,12 @@ export type GetTkmsModuleInfoFunction = {
52
78
  * Returns {@link TkmsModuleInfo} when the module is initialized,
53
79
  * or `undefined` if the module has not completed initialization.
54
80
  */
55
- getTkmsModuleInfo(): GetTkmsModuleInfoReturnType;
81
+ getTkmsModuleInfo(parameters: GetTkmsModuleInfoParameters): Promise<GetTkmsModuleInfoReturnType>;
56
82
  };
83
+
57
84
  ////////////////////////////////////////////////////////////////////////////////
58
85
 
59
- type WithTkmsPrivateKey = {
86
+ type WithTkmsPrivateKey = WithTkmsVersion & {
60
87
  readonly tkmsPrivateKey: TkmsPrivateKey;
61
88
  };
62
89
 
@@ -75,52 +102,33 @@ export type DecryptAndReconstructModuleFunction = {
75
102
  decryptAndReconstruct(parameters: DecryptAndReconstructParameters): Promise<DecryptAndReconstructReturnType>;
76
103
  };
77
104
 
78
- ////////////////////////////////////////////////////////////////////////////////
79
- // 1. (User) decryptAndReconstruct
80
- ////////////////////////////////////////////////////////////////////////////////
81
-
82
- export type DecryptAndReconstructUserParameters = DecryptAndReconstructBaseParameters;
83
-
84
- export type DecryptAndReconstructUserModuleFunction = {
85
- decryptAndReconstruct(parameters: DecryptAndReconstructUserParameters): Promise<DecryptAndReconstructReturnType>;
86
- };
87
-
88
105
  ////////////////////////////////////////////////////////////////////////////////
89
106
  // 2. generateTkmsPrivateKey
90
107
  ////////////////////////////////////////////////////////////////////////////////
91
108
 
109
+ export type GenerateTkmsPrivateKeyParameters = WithTkmsVersion;
92
110
  export type GenerateTkmsPrivateKeyReturnType = TkmsPrivateKey;
93
111
 
94
112
  export type GenerateTkmsPrivateKeyModuleFunction = {
95
- generateTkmsPrivateKey(): Promise<GenerateTkmsPrivateKeyReturnType>;
113
+ generateTkmsPrivateKey(parameters: GenerateTkmsPrivateKeyParameters): Promise<GenerateTkmsPrivateKeyReturnType>;
96
114
  };
97
115
 
98
116
  ////////////////////////////////////////////////////////////////////////////////
99
117
  // 3 getTkmsPublicKeyHex
100
118
  ////////////////////////////////////////////////////////////////////////////////
101
119
 
102
- export type GetTkmsPublicKeyHexParameters = WithTkmsPrivateKey;
120
+ export type GetTkmsPublicKeyHexParameters = WithTkmsPrivateKey & WithTkmsVersion;
103
121
  export type GetTkmsPublicKeyHexReturnType = BytesHex;
104
122
 
105
123
  export type GetTkmsPublicKeyHexModuleFunction = {
106
124
  getTkmsPublicKeyHex(parameters: GetTkmsPublicKeyHexParameters): Promise<GetTkmsPublicKeyHexReturnType>;
107
125
  };
108
126
 
109
- ////////////////////////////////////////////////////////////////////////////////
110
- // 3. (User) getTkmsPublicKeyHex
111
- ////////////////////////////////////////////////////////////////////////////////
112
-
113
- export type GetTkmsPublicKeyHexUserModuleFunction = {
114
- getTkmsPublicKeyHex(): Promise<GetTkmsPublicKeyHexReturnType>;
115
- };
116
-
117
127
  ////////////////////////////////////////////////////////////////////////////////
118
128
  // 4. serializeTkmsPrivateKey
119
129
  ////////////////////////////////////////////////////////////////////////////////
120
130
 
121
- export type SerializeTkmsPrivateKeyParameters = {
122
- readonly tkmsPrivateKey: TkmsPrivateKey;
123
- };
131
+ export type SerializeTkmsPrivateKeyParameters = WithTkmsPrivateKey;
124
132
 
125
133
  export type SerializeTkmsPrivateKeyReturnType = Bytes;
126
134
 
@@ -128,19 +136,11 @@ export type SerializeTkmsPrivateKeyModuleFunction = {
128
136
  serializeTkmsPrivateKey(parameters: SerializeTkmsPrivateKeyParameters): Promise<SerializeTkmsPrivateKeyReturnType>;
129
137
  };
130
138
 
131
- ////////////////////////////////////////////////////////////////////////////////
132
- // 4. (User) serializeTkmsPrivateKey
133
- ////////////////////////////////////////////////////////////////////////////////
134
-
135
- export type SerializeTkmsPrivateKeyUserModuleFunction = {
136
- serializeTkmsPrivateKey(): Promise<SerializeTkmsPrivateKeyReturnType>;
137
- };
138
-
139
139
  ////////////////////////////////////////////////////////////////////////////////
140
140
  // 5. deserializeTkmsPrivateKey
141
141
  ////////////////////////////////////////////////////////////////////////////////
142
142
 
143
- export type DeserializeTkmsPrivateKeyParameters = {
143
+ export type DeserializeTkmsPrivateKeyParameters = WithTkmsVersion & {
144
144
  readonly tkmsPrivateKeyBytes: Bytes;
145
145
  };
146
146
 
@@ -156,9 +156,7 @@ export type DeserializeTkmsPrivateKeyModuleFunction = {
156
156
  // 6. verifyTkmsPrivateKey
157
157
  ////////////////////////////////////////////////////////////////////////////////
158
158
 
159
- export type VerifyTkmsPrivateKeyParameters = {
160
- readonly tkmsPrivateKey: TkmsPrivateKey;
161
- };
159
+ export type VerifyTkmsPrivateKeyParameters = WithTkmsVersion & WithTkmsPrivateKey;
162
160
 
163
161
  export type VerifyTkmsPrivateKeyModuleFunction = {
164
162
  verifyTkmsPrivateKey(parameters: VerifyTkmsPrivateKeyParameters): void;
@@ -186,29 +184,3 @@ export type DecryptModule = Prettify<
186
184
  export type DecryptModuleFactory = (runtime: FhevmRuntime) => {
187
185
  readonly decrypt: DecryptModule;
188
186
  };
189
-
190
- ////////////////////////////////////////////////////////////////////////////////
191
- // UserDecryptModule
192
- ////////////////////////////////////////////////////////////////////////////////
193
-
194
- export type WithUserDecryptModule = {
195
- readonly userDecrypt: UserDecryptModule;
196
- };
197
-
198
- export type UserDecryptModuleParameters = {
199
- readonly privateKey: TkmsPrivateKey;
200
- };
201
-
202
- export type UserDecryptModule = Prettify<
203
- InitTkmsModuleFunction &
204
- DecryptAndReconstructUserModuleFunction &
205
- GetTkmsPublicKeyHexUserModuleFunction &
206
- SerializeTkmsPrivateKeyUserModuleFunction
207
- >;
208
-
209
- export type UserDecryptModuleFactory = (
210
- runtime: FhevmRuntime,
211
- parameters: UserDecryptModuleParameters,
212
- ) => {
213
- readonly userDecrypt: UserDecryptModule;
214
- };
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/require-await */
2
+ import type { TfheVersion } from '../../../wasm/tfhe/TfheApi.js';
2
3
  import { concatBytes, hexToBytes32 } from '../../base/bytes.js';
3
4
  import { remove0x } from '../../base/string.js';
4
5
  import { typedValueToBytes32Hex } from '../../base/typedValue.js';
@@ -43,12 +44,14 @@ class CleartextTfheCompactPublicKeyImpl implements FheEncryptionPublicKey {
43
44
 
44
45
  readonly #id: string;
45
46
  readonly #tfheCompactPublicKeyWasmType: Bytes;
47
+ readonly #tfheVersion: TfheVersion;
46
48
 
47
- constructor(token: symbol, id: string, publicEncKeyMlKem512Wasm: Bytes) {
49
+ constructor(token: symbol, id: string, tfheVersion: TfheVersion, publicEncKeyMlKem512Wasm: Bytes) {
48
50
  if (token !== PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN) {
49
51
  throw new Error('Unauthorized');
50
52
  }
51
53
  this.#id = id;
54
+ this.#tfheVersion = tfheVersion;
52
55
  this.#tfheCompactPublicKeyWasmType = publicEncKeyMlKem512Wasm;
53
56
  }
54
57
 
@@ -56,6 +59,10 @@ class CleartextTfheCompactPublicKeyImpl implements FheEncryptionPublicKey {
56
59
  return this.#id;
57
60
  }
58
61
 
62
+ public get tfheVersion(): TfheVersion {
63
+ return this.#tfheVersion;
64
+ }
65
+
59
66
  public static [GET_NATIVE_FUNC](key: unknown, token: symbol): Bytes {
60
67
  if (token !== PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN) {
61
68
  throw new Error('Unauthorized');
@@ -75,14 +82,22 @@ class CleartextTfheCompactPkeCrsImpl implements FheEncryptionCrs {
75
82
  declare readonly [FheEncryptionCrsBrand]: never;
76
83
 
77
84
  readonly #id: string;
85
+ readonly #tfheVersion: TfheVersion;
78
86
  readonly #capacity: UintNumber;
79
87
  readonly #compactPublicKeyWasmType: Bytes;
80
88
 
81
- constructor(token: symbol, id: string, capacity: UintNumber, compactPublicKeyWasmType: Bytes) {
89
+ constructor(
90
+ token: symbol,
91
+ id: string,
92
+ tfheVersion: TfheVersion,
93
+ capacity: UintNumber,
94
+ compactPublicKeyWasmType: Bytes,
95
+ ) {
82
96
  if (token !== PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN) {
83
97
  throw new Error('Unauthorized');
84
98
  }
85
99
  this.#id = id;
100
+ this.#tfheVersion = tfheVersion;
86
101
  this.#capacity = capacity;
87
102
  this.#compactPublicKeyWasmType = compactPublicKeyWasmType;
88
103
  }
@@ -91,6 +106,10 @@ class CleartextTfheCompactPkeCrsImpl implements FheEncryptionCrs {
91
106
  return this.#id;
92
107
  }
93
108
 
109
+ public get tfheVersion(): TfheVersion {
110
+ return this.#tfheVersion;
111
+ }
112
+
94
113
  public get capacity(): UintNumber {
95
114
  return this.#capacity;
96
115
  }
@@ -150,6 +169,7 @@ export async function buildWithProofPacked(
150
169
  return {
151
170
  ciphertextWithZKProofBytes,
152
171
  extraData: cleartextExtraData,
172
+ tfheVersion: parameters.tfheVersion,
153
173
  };
154
174
  }
155
175
 
@@ -181,7 +201,7 @@ export async function serializeFheEncryptionKey(
181
201
  PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN,
182
202
  );
183
203
 
184
- return Object.freeze({
204
+ const keyBytes: FheEncryptionKeyBytes = Object.freeze({
185
205
  publicKeyBytes: Object.freeze({
186
206
  id: publicEncryptionParams.publicKey.id,
187
207
  bytes: tfhePublicKeyBytes,
@@ -191,7 +211,13 @@ export async function serializeFheEncryptionKey(
191
211
  capacity: publicEncryptionParams.crs.capacity,
192
212
  bytes: tfheCrsBytes,
193
213
  }),
194
- }) as FheEncryptionKeyBytes;
214
+ metadata: Object.freeze({
215
+ relayerUrl: publicEncryptionParams.metadata.relayerUrl,
216
+ chainId: publicEncryptionParams.metadata.chainId,
217
+ }),
218
+ });
219
+
220
+ return keyBytes;
195
221
  }
196
222
 
197
223
  ////////////////////////////////////////////////////////////////////////////////
@@ -217,6 +243,7 @@ export async function serializeFheEncryptionPublicKey(
217
243
  return Object.freeze({
218
244
  id: tfhePublicKey.id,
219
245
  bytes: tfhePublicKeyBytes,
246
+ tfheVersion: parameters.tfheVersion,
220
247
  });
221
248
  }
222
249
 
@@ -244,6 +271,7 @@ export async function serializeFheEncryptionCrs(
244
271
  id: tfheCrs.id,
245
272
  capacity: tfheCrs.capacity,
246
273
  bytes: tfheCrsBytes,
274
+ tfheVersion: parameters.tfheVersion,
247
275
  });
248
276
  }
249
277
 
@@ -259,6 +287,7 @@ export async function deserializeFheEncryptionCrs(
259
287
  return new CleartextTfheCompactPkeCrsImpl(
260
288
  PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN,
261
289
  globalFheCrsBytes.id,
290
+ parameters.tfheVersion,
262
291
  globalFheCrsBytes.capacity,
263
292
  globalFheCrsBytes.bytes,
264
293
  );
@@ -276,6 +305,7 @@ export async function deserializeFheEncryptionPublicKey(
276
305
  return new CleartextTfheCompactPublicKeyImpl(
277
306
  PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN,
278
307
  globalFhePublicKeyBytes.id,
308
+ parameters.tfheVersion,
279
309
  globalFhePublicKeyBytes.bytes,
280
310
  );
281
311
  }
@@ -29,6 +29,7 @@ import type {
29
29
  TfheCompactPublicKey,
30
30
  ProvenCompactCiphertextList,
31
31
  CompactCiphertextListBuilder,
32
+ TfheVersion,
32
33
  } from '../../../../wasm/tfhe/TfheApi.js';
33
34
  import { isNonEmptyString } from '../../../base/string.js';
34
35
  import { hexToBytesFaster } from '../../../base/bytes.js';
@@ -62,12 +63,14 @@ class TfheCompactPublicKeyImpl implements FheEncryptionPublicKey {
62
63
 
63
64
  readonly #id: string;
64
65
  readonly #tfheCompactPublicKeyWasmType: TfheCompactPublicKey;
66
+ readonly #tfheVersion: TfheVersion;
65
67
 
66
- constructor(token: symbol, id: string, publicEncKeyMlKem512Wasm: TfheCompactPublicKey) {
68
+ constructor(token: symbol, id: string, tfheVersion: TfheVersion, publicEncKeyMlKem512Wasm: TfheCompactPublicKey) {
67
69
  if (token !== PRIVATE_TFHE_LIB_TOKEN) {
68
70
  throw new Error('Unauthorized');
69
71
  }
70
72
  this.#id = id;
73
+ this.#tfheVersion = tfheVersion;
71
74
  this.#tfheCompactPublicKeyWasmType = publicEncKeyMlKem512Wasm;
72
75
  }
73
76
 
@@ -75,13 +78,20 @@ class TfheCompactPublicKeyImpl implements FheEncryptionPublicKey {
75
78
  return this.#id;
76
79
  }
77
80
 
78
- public static [GET_NATIVE_FUNC](key: unknown, token: symbol): TfheCompactPublicKey {
81
+ public get tfheVersion(): TfheVersion {
82
+ return this.#tfheVersion;
83
+ }
84
+
85
+ public static [GET_NATIVE_FUNC](key: unknown, token: symbol, tfheVersion: TfheVersion): TfheCompactPublicKey {
79
86
  if (token !== PRIVATE_TFHE_LIB_TOKEN) {
80
87
  throw new Error('Unauthorized');
81
88
  }
82
89
  if (!(key instanceof TfheCompactPublicKeyImpl)) {
83
90
  throw new Error('Unauthorized');
84
91
  }
92
+ if (tfheVersion !== key.#tfheVersion) {
93
+ throw new Error('TfheVersion mismatch');
94
+ }
85
95
  return key.#tfheCompactPublicKeyWasmType;
86
96
  }
87
97
  }
@@ -96,12 +106,20 @@ class TfheCompactPkeCrsImpl implements FheEncryptionCrs {
96
106
  readonly #id: string;
97
107
  readonly #capacity: UintNumber;
98
108
  readonly #compactPublicKeyWasmType: CompactPkeCrs;
99
-
100
- constructor(token: symbol, id: string, capacity: UintNumber, compactPublicKeyWasmType: CompactPkeCrs) {
109
+ readonly #tfheVersion: TfheVersion;
110
+
111
+ constructor(
112
+ token: symbol,
113
+ id: string,
114
+ tfheVersion: TfheVersion,
115
+ capacity: UintNumber,
116
+ compactPublicKeyWasmType: CompactPkeCrs,
117
+ ) {
101
118
  if (token !== PRIVATE_TFHE_LIB_TOKEN) {
102
119
  throw new Error('Unauthorized');
103
120
  }
104
121
  this.#id = id;
122
+ this.#tfheVersion = tfheVersion;
105
123
  this.#capacity = capacity;
106
124
  this.#compactPublicKeyWasmType = compactPublicKeyWasmType;
107
125
  }
@@ -110,17 +128,24 @@ class TfheCompactPkeCrsImpl implements FheEncryptionCrs {
110
128
  return this.#id;
111
129
  }
112
130
 
131
+ public get tfheVersion(): TfheVersion {
132
+ return this.#tfheVersion;
133
+ }
134
+
113
135
  public get capacity(): UintNumber {
114
136
  return this.#capacity;
115
137
  }
116
138
 
117
- public static [GET_NATIVE_FUNC](key: unknown, token: symbol): CompactPkeCrs {
139
+ public static [GET_NATIVE_FUNC](key: unknown, token: symbol, tfheVersion: TfheVersion): CompactPkeCrs {
118
140
  if (token !== PRIVATE_TFHE_LIB_TOKEN) {
119
141
  throw new Error('Unauthorized');
120
142
  }
121
143
  if (!(key instanceof TfheCompactPkeCrsImpl)) {
122
144
  throw new Error('Unauthorized');
123
145
  }
146
+ if (tfheVersion !== key.#tfheVersion) {
147
+ throw new Error('TfheVersion mismatch');
148
+ }
124
149
  return key.#compactPublicKeyWasmType;
125
150
  }
126
151
  }
@@ -133,7 +158,7 @@ export async function parseTFHEProvenCompactCiphertextList(
133
158
  runtime: FhevmRuntime,
134
159
  parameters: ParseTFHEProvenCompactCiphertextListParameters,
135
160
  ): Promise<ParseTFHEProvenCompactCiphertextListReturnType> {
136
- const tfheLib = await initTfheModule(runtime);
161
+ const tfheLib = await initTfheModule(runtime, { tfheVersion: parameters.tfheVersion });
137
162
 
138
163
  const { ciphertextWithZkProof: ciphertextWithZKProof } = parameters;
139
164
  if ((ciphertextWithZKProof as unknown) == null) {
@@ -193,7 +218,7 @@ export async function buildWithProofPacked(
193
218
  runtime: FhevmRuntime,
194
219
  parameters: BuildWithProofPackedParameters,
195
220
  ): Promise<BuildWithProofPackedReturnType> {
196
- const tfheLib = await initTfheModule(runtime);
221
+ const tfheLib = await initTfheModule(runtime, { tfheVersion: parameters.tfheVersion });
197
222
 
198
223
  const { fheEncryptionKey: publicEncryptionParams, metaData, typedValues, extraData } = parameters;
199
224
 
@@ -216,10 +241,12 @@ export async function buildWithProofPacked(
216
241
  const tfheCompactPublicKeyWasm: TfheCompactPublicKey = TfheCompactPublicKeyImpl[GET_NATIVE_FUNC](
217
242
  tfheCompactPublicKeyImpl,
218
243
  PRIVATE_TFHE_LIB_TOKEN,
244
+ parameters.tfheVersion,
219
245
  );
220
246
  const compactPkeCrsWasm: CompactPkeCrs = TfheCompactPkeCrsImpl[GET_NATIVE_FUNC](
221
247
  tfheCompactPkeCrsImpl,
222
248
  PRIVATE_TFHE_LIB_TOKEN,
249
+ parameters.tfheVersion,
223
250
  );
224
251
 
225
252
  fheCompactCiphertextListBuilderWasm = tfheLib.CompactCiphertextList.builder(tfheCompactPublicKeyWasm);
@@ -265,6 +292,7 @@ export async function buildWithProofPacked(
265
292
  return Object.freeze({
266
293
  ciphertextWithZKProofBytes,
267
294
  extraData,
295
+ tfheVersion: parameters.tfheVersion,
268
296
  });
269
297
  } finally {
270
298
  try {
@@ -293,7 +321,8 @@ export async function serializeFheEncryptionKey(
293
321
  runtime: FhevmRuntime,
294
322
  parameters: SerializeFheEncryptionKeyParameters,
295
323
  ): Promise<SerializeFheEncryptionKeyReturnType> {
296
- await initTfheModule(runtime);
324
+ const tfheVersion = parameters.tfheVersion;
325
+ await initTfheModule(runtime, { tfheVersion });
297
326
 
298
327
  const { fheEncryptionKey: publicEncryptionParams } = parameters;
299
328
 
@@ -310,13 +339,15 @@ export async function serializeFheEncryptionKey(
310
339
  const tfhePublicKeyBytes: Bytes = TfheCompactPublicKeyImpl[GET_NATIVE_FUNC](
311
340
  tfheCompactPublicKeyImpl,
312
341
  PRIVATE_TFHE_LIB_TOKEN,
342
+ tfheVersion,
313
343
  ).safe_serialize(SERIALIZED_SIZE_LIMIT_PK);
314
344
  const tfheCrsBytes: Bytes = TfheCompactPkeCrsImpl[GET_NATIVE_FUNC](
315
345
  tfheCompactPkeCrsImpl,
316
346
  PRIVATE_TFHE_LIB_TOKEN,
347
+ tfheVersion,
317
348
  ).safe_serialize(SERIALIZED_SIZE_LIMIT_CRS);
318
349
 
319
- return Object.freeze({
350
+ const keyBytes: FheEncryptionKeyBytes = Object.freeze({
320
351
  publicKeyBytes: Object.freeze({
321
352
  id: publicEncryptionParams.publicKey.id,
322
353
  bytes: tfhePublicKeyBytes,
@@ -326,7 +357,13 @@ export async function serializeFheEncryptionKey(
326
357
  capacity: publicEncryptionParams.crs.capacity,
327
358
  bytes: tfheCrsBytes,
328
359
  }),
329
- }) as FheEncryptionKeyBytes;
360
+ metadata: Object.freeze({
361
+ relayerUrl: publicEncryptionParams.metadata.relayerUrl,
362
+ chainId: publicEncryptionParams.metadata.chainId,
363
+ }),
364
+ });
365
+
366
+ return keyBytes;
330
367
  }
331
368
 
332
369
  ////////////////////////////////////////////////////////////////////////////////
@@ -337,7 +374,8 @@ export async function serializeFheEncryptionPublicKey(
337
374
  runtime: FhevmRuntime,
338
375
  parameters: SerializeFheEncryptionPublicKeyParameters,
339
376
  ): Promise<SerializeFheEncryptionPublicKeyReturnType> {
340
- await initTfheModule(runtime);
377
+ const tfheVersion = parameters.tfheVersion;
378
+ await initTfheModule(runtime, { tfheVersion });
341
379
 
342
380
  const { publicKey: tfhePublicKey } = parameters;
343
381
 
@@ -350,11 +388,13 @@ export async function serializeFheEncryptionPublicKey(
350
388
  const tfhePublicKeyBytes: Bytes = TfheCompactPublicKeyImpl[GET_NATIVE_FUNC](
351
389
  tfheCompactPublicKeyImpl,
352
390
  PRIVATE_TFHE_LIB_TOKEN,
391
+ tfheVersion,
353
392
  ).safe_serialize(SERIALIZED_SIZE_LIMIT_PK);
354
393
 
355
394
  return Object.freeze({
356
395
  id: tfhePublicKey.id,
357
396
  bytes: tfhePublicKeyBytes,
397
+ tfheVersion,
358
398
  });
359
399
  }
360
400
 
@@ -366,7 +406,8 @@ export async function serializeFheEncryptionCrs(
366
406
  runtime: FhevmRuntime,
367
407
  parameters: SerializeFheEncryptionCrsParameters,
368
408
  ): Promise<SerializeFheEncryptionCrsReturnType> {
369
- await initTfheModule(runtime);
409
+ const tfheVersion = parameters.tfheVersion;
410
+ await initTfheModule(runtime, { tfheVersion });
370
411
 
371
412
  const { crs: tfheCrs } = parameters;
372
413
 
@@ -379,12 +420,14 @@ export async function serializeFheEncryptionCrs(
379
420
  const tfheCrsBytes: Bytes = TfheCompactPkeCrsImpl[GET_NATIVE_FUNC](
380
421
  tfheCompactPkeCrsImpl,
381
422
  PRIVATE_TFHE_LIB_TOKEN,
423
+ tfheVersion,
382
424
  ).safe_serialize(SERIALIZED_SIZE_LIMIT_CRS);
383
425
 
384
426
  return Object.freeze({
385
427
  id: tfheCrs.id,
386
428
  capacity: tfheCrs.capacity,
387
429
  bytes: tfheCrsBytes,
430
+ tfheVersion,
388
431
  });
389
432
  }
390
433
 
@@ -396,7 +439,8 @@ export async function deserializeFheEncryptionCrs(
396
439
  runtime: FhevmRuntime,
397
440
  parameters: DeserializeFheEncryptionCrsParameters,
398
441
  ): Promise<DeserializeFheEncryptionCrsReturnType> {
399
- const tfheLib = await initTfheModule(runtime);
442
+ const tfheVersion = parameters.tfheVersion;
443
+ const tfheLib = await initTfheModule(runtime, { tfheVersion });
400
444
 
401
445
  const { crsBytes: globalFheCrsBytes } = parameters;
402
446
 
@@ -408,6 +452,7 @@ export async function deserializeFheEncryptionCrs(
408
452
  return new TfheCompactPkeCrsImpl(
409
453
  PRIVATE_TFHE_LIB_TOKEN,
410
454
  globalFheCrsBytes.id,
455
+ tfheVersion,
411
456
  globalFheCrsBytes.capacity,
412
457
  compactPkeCrsWasm,
413
458
  );
@@ -421,7 +466,8 @@ export async function deserializeFheEncryptionPublicKey(
421
466
  runtime: FhevmRuntime,
422
467
  parameters: DeserializeFheEncryptionPublicKeyParameters,
423
468
  ): Promise<DeserializeFheEncryptionPublicKeyReturnType> {
424
- const tfheLib = await initTfheModule(runtime);
469
+ const tfheVersion = parameters.tfheVersion;
470
+ const tfheLib = await initTfheModule(runtime, { tfheVersion });
425
471
 
426
472
  const { publicKeyBytes: globalFhePublicKeyBytes } = parameters;
427
473
 
@@ -430,5 +476,10 @@ export async function deserializeFheEncryptionPublicKey(
430
476
  SERIALIZED_SIZE_LIMIT_PK,
431
477
  );
432
478
 
433
- return new TfheCompactPublicKeyImpl(PRIVATE_TFHE_LIB_TOKEN, globalFhePublicKeyBytes.id, tfheCompactPublicKeyWasm);
479
+ return new TfheCompactPublicKeyImpl(
480
+ PRIVATE_TFHE_LIB_TOKEN,
481
+ globalFhePublicKeyBytes.id,
482
+ tfheVersion,
483
+ tfheCompactPublicKeyWasm,
484
+ );
434
485
  }
@@ -4,6 +4,8 @@ import type {
4
4
  DeserializeFheEncryptionCrsParameters,
5
5
  DeserializeFheEncryptionPublicKeyParameters,
6
6
  EncryptModuleFactory,
7
+ GetTfheModuleInfoParameters,
8
+ InitTfheModuleParameters,
7
9
  ParseTFHEProvenCompactCiphertextListParameters,
8
10
  SerializeFheEncryptionCrsParameters,
9
11
  SerializeFheEncryptionKeyParameters,
@@ -27,10 +29,10 @@ import { getTfheModuleInfo, initTfheModule } from './init-p.js';
27
29
  export const encryptModule: EncryptModuleFactory = (runtime: FhevmRuntime) => {
28
30
  return Object.freeze({
29
31
  encrypt: Object.freeze({
30
- initTfheModule: async () => {
31
- await initTfheModule(runtime);
32
+ initTfheModule: async (args: InitTfheModuleParameters) => {
33
+ await initTfheModule(runtime, args);
32
34
  },
33
- getTfheModuleInfo: () => getTfheModuleInfo(),
35
+ getTfheModuleInfo: (args: GetTfheModuleInfoParameters) => getTfheModuleInfo(args),
34
36
  parseTFHEProvenCompactCiphertextList: (args: ParseTFHEProvenCompactCiphertextListParameters) =>
35
37
  parseTFHEProvenCompactCiphertextList(runtime, args),
36
38
  buildWithProofPacked: (args: BuildWithProofPackedParameters) => buildWithProofPacked(runtime, args),