@fhevm/sdk 1.1.0-alpha.4 → 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 (794) 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/object.js +23 -0
  40. package/_cjs/core/base/object.js.map +1 -1
  41. package/_cjs/core/base/semver.js +166 -0
  42. package/_cjs/core/base/semver.js.map +1 -0
  43. package/_cjs/core/base/uint.js +20 -3
  44. package/_cjs/core/base/uint.js.map +1 -1
  45. package/_cjs/core/chains/definitions/localTestnet.js +3 -0
  46. package/_cjs/core/chains/definitions/localTestnet.js.map +1 -1
  47. package/_cjs/core/chains/definitions/mainnet.js +1 -0
  48. package/_cjs/core/chains/definitions/mainnet.js.map +1 -1
  49. package/_cjs/core/chains/definitions/sepolia.js +1 -0
  50. package/_cjs/core/chains/definitions/sepolia.js.map +1 -1
  51. package/_cjs/core/clients/decorators/base.js +5 -0
  52. package/_cjs/core/clients/decorators/base.js.map +1 -1
  53. package/_cjs/core/clients/decorators/decrypt-p.js +13 -0
  54. package/_cjs/core/clients/decorators/decrypt-p.js.map +1 -0
  55. package/_cjs/core/clients/decorators/decrypt.js +4 -7
  56. package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
  57. package/_cjs/core/clients/decorators/encrypt-p.js +5 -1
  58. package/_cjs/core/clients/decorators/encrypt-p.js.map +1 -1
  59. package/_cjs/core/clients/decorators/encrypt.js.map +1 -1
  60. package/_cjs/core/coprocessor/ZkProof-p.js +4 -2
  61. package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
  62. package/_cjs/core/coprocessor/ZkProofBuilder-p.js +2 -1
  63. package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  64. package/_cjs/core/coprocessor/encrypt.js +1 -1
  65. package/_cjs/core/coprocessor/encrypt.js.map +1 -1
  66. package/_cjs/core/errors/RelayerResponseStatusError.js +3 -2
  67. package/_cjs/core/errors/RelayerResponseStatusError.js.map +1 -1
  68. package/_cjs/core/host-contracts/HostContractVersion-p.js +26 -4
  69. package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -1
  70. package/_cjs/core/host-contracts/KmsSignersContext-p.js +23 -5
  71. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  72. package/_cjs/core/host-contracts/abi-fragments/fragments.js +21 -1
  73. package/_cjs/core/host-contracts/abi-fragments/fragments.js.map +1 -1
  74. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
  75. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  76. package/_cjs/core/host-contracts/checkAllowedForDecryption.js +2 -2
  77. package/_cjs/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
  78. package/_cjs/core/host-contracts/checkDelegation.js +8 -8
  79. package/_cjs/core/host-contracts/checkDelegation.js.map +1 -1
  80. package/_cjs/core/host-contracts/checkPersistAllowed.js +9 -9
  81. package/_cjs/core/host-contracts/checkPersistAllowed.js.map +1 -1
  82. package/_cjs/core/host-contracts/getAclAddress-p.js +1 -2
  83. package/_cjs/core/host-contracts/getAclAddress-p.js.map +1 -1
  84. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +51 -0
  85. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
  86. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +4 -5
  87. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  88. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
  89. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
  90. package/_cjs/core/host-contracts/getHandleVersion-p.js +1 -2
  91. package/_cjs/core/host-contracts/getHandleVersion-p.js.map +1 -1
  92. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js +1 -2
  93. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
  94. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js +1 -2
  95. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
  96. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +5 -7
  97. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  98. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +4 -5
  99. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  100. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js +3 -5
  101. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
  102. package/_cjs/core/host-contracts/isAllowedForDecryption.js +4 -4
  103. package/_cjs/core/host-contracts/isAllowedForDecryption.js.map +1 -1
  104. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
  105. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
  106. package/_cjs/core/host-contracts/isUserDecryptable.js +2 -2
  107. package/_cjs/core/host-contracts/isUserDecryptable.js.map +1 -1
  108. package/_cjs/core/host-contracts/persistAllowed.js +4 -4
  109. package/_cjs/core/host-contracts/persistAllowed.js.map +1 -1
  110. package/_cjs/core/host-contracts/readKmsSignersContext-p.js +74 -25
  111. package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  112. package/_cjs/core/key/FheEncryptionKeyWasm-p.js +12 -4
  113. package/_cjs/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
  114. package/_cjs/core/key/deserializeFheEncryptionKey.js +3 -0
  115. package/_cjs/core/key/deserializeFheEncryptionKey.js.map +1 -1
  116. package/_cjs/core/key/fetchFheEncryptionKey.js +1 -1
  117. package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -1
  118. package/_cjs/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
  119. package/_cjs/core/key/serializeFheEncryptionKey.js +4 -1
  120. package/_cjs/core/key/serializeFheEncryptionKey.js.map +1 -1
  121. package/_cjs/core/kms/KmsSigncryptedShares-p.js +9 -1
  122. package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  123. package/_cjs/core/kms/SignedDecryptionPermit-p.js +5 -1
  124. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  125. package/_cjs/core/kms/TransportKeyPair-p.js +31 -7
  126. package/_cjs/core/kms/TransportKeyPair-p.js.map +1 -1
  127. package/_cjs/core/kms/createKmsUserDecryptEip712.js +4 -0
  128. package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +1 -1
  129. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +97 -0
  130. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
  131. package/_cjs/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +10 -3
  132. package/_cjs/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
  133. package/_cjs/core/kms/decryptValuesFromPairs.js +4 -4
  134. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
  135. package/_cjs/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +10 -6
  136. package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
  137. package/_cjs/core/kms/kmsExtraData.js +53 -10
  138. package/_cjs/core/kms/kmsExtraData.js.map +1 -1
  139. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js +25 -0
  140. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
  141. package/_cjs/core/kms/publicDecrypt.js +5 -3
  142. package/_cjs/core/kms/publicDecrypt.js.map +1 -1
  143. package/_cjs/core/modules/decrypt/mock.js +1 -23
  144. package/_cjs/core/modules/decrypt/mock.js.map +1 -1
  145. package/_cjs/core/modules/decrypt/module/api-p.js +51 -23
  146. package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
  147. package/_cjs/core/modules/decrypt/module/index.js +5 -27
  148. package/_cjs/core/modules/decrypt/module/index.js.map +1 -1
  149. package/_cjs/core/modules/decrypt/module/init-p.js +40 -19
  150. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
  151. package/_cjs/core/modules/encrypt/mock.js +26 -8
  152. package/_cjs/core/modules/encrypt/mock.js.map +1 -1
  153. package/_cjs/core/modules/encrypt/module/api-p.js +50 -21
  154. package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
  155. package/_cjs/core/modules/encrypt/module/index.js +3 -3
  156. package/_cjs/core/modules/encrypt/module/index.js.map +1 -1
  157. package/_cjs/core/modules/encrypt/module/init-p.js +63 -24
  158. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
  159. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +1 -1
  160. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
  161. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +1 -1
  162. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  163. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +28 -4
  164. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  165. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +5 -1
  166. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  167. package/_cjs/core/modules/relayer/module/readErrorMessage.js +29 -0
  168. package/_cjs/core/modules/relayer/module/readErrorMessage.js.map +1 -0
  169. package/_cjs/core/runtime/CoreFhevm-p.js +171 -5
  170. package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -1
  171. package/_cjs/core/runtime/HyperWasmSolver-p.js +187 -0
  172. package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -0
  173. package/_cjs/core/runtime/ProtocolVersionResolver-p.js +270 -0
  174. package/_cjs/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
  175. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  176. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  177. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  178. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
  179. package/_cjs/core/runtime/initFhevmRuntime-p.js +4 -1
  180. package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -1
  181. package/_cjs/core/runtime/resolveFhevmVersions-p.js +48 -0
  182. package/_cjs/core/runtime/resolveFhevmVersions-p.js.map +1 -0
  183. package/_cjs/core/runtimeConfig-p.js +10 -0
  184. package/_cjs/core/runtimeConfig-p.js.map +1 -1
  185. package/_cjs/core/types/{zkProofBuilder.js → moduleVersions.js} +1 -1
  186. package/_cjs/core/types/moduleVersions.js.map +1 -0
  187. package/_cjs/core/types/{fhevmUser.js → wasmAssets.js} +1 -1
  188. package/_cjs/core/types/wasmAssets.js.map +1 -0
  189. package/_cjs/core/types/{fhevmDecryptionKey.js → zkProofBuilder-p.js} +1 -1
  190. package/_cjs/core/types/zkProofBuilder-p.js.map +1 -0
  191. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
  192. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
  193. package/_cjs/ethers/internal/config.js +1 -18
  194. package/_cjs/ethers/internal/config.js.map +1 -1
  195. package/_cjs/viem/internal/config.js +1 -18
  196. package/_cjs/viem/internal/config.js.map +1 -1
  197. package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
  198. package/_cjs/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
  199. package/_cjs/wasm/tfhe/v1.5.3/tfhe.js +6 -1
  200. package/_cjs/wasm/tfhe/v1.5.3/tfhe.js.map +2 -2
  201. package/_cjs/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
  202. package/_cjs/wasm/tfhe/v1.6.1/tfhe.js +6 -1
  203. package/_cjs/wasm/tfhe/v1.6.1/tfhe.js.map +2 -2
  204. package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
  205. package/_cjs/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  206. package/_cjs/wasm/tkms/v0.13.10/kms_lib.js +6 -1
  207. package/_cjs/wasm/tkms/v0.13.10/kms_lib.js.map +2 -2
  208. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  209. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js +6 -1
  210. package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js.map +2 -2
  211. package/_cjs/wasm/wasmBaseUrl.js +23 -7
  212. package/_cjs/wasm/wasmBaseUrl.js.map +2 -2
  213. package/_esm/core/_version.js +1 -1
  214. package/_esm/core/actions/base/canDecryptPublicValue.js +1 -1
  215. package/_esm/core/actions/base/canDecryptPublicValue.js.map +1 -1
  216. package/_esm/core/actions/base/canDecryptPublicValues.js +1 -1
  217. package/_esm/core/actions/base/canDecryptPublicValues.js.map +1 -1
  218. package/_esm/core/actions/base/{fetchKmsSignedcryptedShares.js → fetchKmsSigncryptedShares.js} +4 -4
  219. package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +1 -0
  220. package/_esm/core/actions/base/index.js +1 -1
  221. package/_esm/core/actions/base/index.js.map +1 -1
  222. package/_esm/core/actions/base/readKmsSignersContext.js +2 -1
  223. package/_esm/core/actions/base/readKmsSignersContext.js.map +1 -1
  224. package/_esm/core/actions/chain/parseTransportKeyPair.js.map +1 -1
  225. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +11 -0
  226. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +1 -0
  227. package/_esm/core/actions/decrypt/decryptValue.js +3 -1
  228. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
  229. package/_esm/core/actions/decrypt/decryptValues.js +3 -1
  230. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
  231. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +3 -1
  232. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  233. package/_esm/core/actions/decrypt/generateTransportKeyPair.js +3 -1
  234. package/_esm/core/actions/decrypt/generateTransportKeyPair.js.map +1 -1
  235. package/_esm/core/actions/decrypt/index.js +1 -1
  236. package/_esm/core/actions/decrypt/index.js.map +1 -1
  237. package/_esm/core/actions/encrypt/encryptValue.js +3 -1
  238. package/_esm/core/actions/encrypt/encryptValue.js.map +1 -1
  239. package/_esm/core/actions/encrypt/encryptValues.js +3 -1
  240. package/_esm/core/actions/encrypt/encryptValues.js.map +1 -1
  241. package/_esm/core/actions/encrypt/generateZkProof.js +5 -1
  242. package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -1
  243. package/_esm/core/actions/host/readFhevmExecutorContractData.js +8 -8
  244. package/_esm/core/actions/host/readFhevmExecutorContractData.js.map +1 -1
  245. package/_esm/core/actions/host/readInputVerifierContractData.js +2 -2
  246. package/_esm/core/actions/host/readInputVerifierContractData.js.map +1 -1
  247. package/_esm/core/actions/host/readKmsVerifierContractData.js +7 -6
  248. package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
  249. package/_esm/core/actions/host/resolveFhevmConfig.js +7 -1
  250. package/_esm/core/actions/host/resolveFhevmConfig.js.map +1 -1
  251. package/_esm/core/base/object.js +28 -0
  252. package/_esm/core/base/object.js.map +1 -1
  253. package/_esm/core/base/semver.js +164 -0
  254. package/_esm/core/base/semver.js.map +1 -0
  255. package/_esm/core/base/uint.js +23 -2
  256. package/_esm/core/base/uint.js.map +1 -1
  257. package/_esm/core/chains/definitions/localTestnet.js +3 -0
  258. package/_esm/core/chains/definitions/localTestnet.js.map +1 -1
  259. package/_esm/core/chains/definitions/mainnet.js +1 -0
  260. package/_esm/core/chains/definitions/mainnet.js.map +1 -1
  261. package/_esm/core/chains/definitions/sepolia.js +1 -0
  262. package/_esm/core/chains/definitions/sepolia.js.map +1 -1
  263. package/_esm/core/clients/decorators/base.js +6 -1
  264. package/_esm/core/clients/decorators/base.js.map +1 -1
  265. package/_esm/core/clients/decorators/decrypt-p.js +11 -0
  266. package/_esm/core/clients/decorators/decrypt-p.js.map +1 -0
  267. package/_esm/core/clients/decorators/decrypt.js +3 -7
  268. package/_esm/core/clients/decorators/decrypt.js.map +1 -1
  269. package/_esm/core/clients/decorators/encrypt-p.js +6 -2
  270. package/_esm/core/clients/decorators/encrypt-p.js.map +1 -1
  271. package/_esm/core/clients/decorators/encrypt.js.map +1 -1
  272. package/_esm/core/coprocessor/ZkProof-p.js +4 -2
  273. package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
  274. package/_esm/core/coprocessor/ZkProofBuilder-p.js +2 -1
  275. package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  276. package/_esm/core/coprocessor/encrypt.js +1 -1
  277. package/_esm/core/coprocessor/encrypt.js.map +1 -1
  278. package/_esm/core/errors/RelayerResponseStatusError.js +7 -2
  279. package/_esm/core/errors/RelayerResponseStatusError.js.map +1 -1
  280. package/_esm/core/host-contracts/HostContractVersion-p.js +34 -3
  281. package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -1
  282. package/_esm/core/host-contracts/KmsSignersContext-p.js +24 -6
  283. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  284. package/_esm/core/host-contracts/abi-fragments/fragments.js +24 -0
  285. package/_esm/core/host-contracts/abi-fragments/fragments.js.map +1 -1
  286. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
  287. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  288. package/_esm/core/host-contracts/checkAllowedForDecryption.js +2 -2
  289. package/_esm/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
  290. package/_esm/core/host-contracts/checkDelegation.js +8 -8
  291. package/_esm/core/host-contracts/checkDelegation.js.map +1 -1
  292. package/_esm/core/host-contracts/checkPersistAllowed.js +9 -9
  293. package/_esm/core/host-contracts/checkPersistAllowed.js.map +1 -1
  294. package/_esm/core/host-contracts/getAclAddress-p.js +1 -2
  295. package/_esm/core/host-contracts/getAclAddress-p.js.map +1 -1
  296. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +63 -0
  297. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
  298. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +6 -7
  299. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  300. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
  301. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
  302. package/_esm/core/host-contracts/getHandleVersion-p.js +1 -2
  303. package/_esm/core/host-contracts/getHandleVersion-p.js.map +1 -1
  304. package/_esm/core/host-contracts/getHcuLimitAddress-p.js +1 -2
  305. package/_esm/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
  306. package/_esm/core/host-contracts/getInputVerifierAddress-p.js +1 -2
  307. package/_esm/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
  308. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +6 -8
  309. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  310. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +5 -6
  311. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  312. package/_esm/core/host-contracts/getSignersForKmsContext-p.js +5 -7
  313. package/_esm/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
  314. package/_esm/core/host-contracts/isAllowedForDecryption.js +4 -4
  315. package/_esm/core/host-contracts/isAllowedForDecryption.js.map +1 -1
  316. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
  317. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
  318. package/_esm/core/host-contracts/isUserDecryptable.js +2 -2
  319. package/_esm/core/host-contracts/isUserDecryptable.js.map +1 -1
  320. package/_esm/core/host-contracts/persistAllowed.js +4 -4
  321. package/_esm/core/host-contracts/persistAllowed.js.map +1 -1
  322. package/_esm/core/host-contracts/readKmsSignersContext-p.js +89 -29
  323. package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  324. package/_esm/core/key/FheEncryptionKeyWasm-p.js +12 -4
  325. package/_esm/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
  326. package/_esm/core/key/deserializeFheEncryptionKey.js +3 -0
  327. package/_esm/core/key/deserializeFheEncryptionKey.js.map +1 -1
  328. package/_esm/core/key/fetchFheEncryptionKey.js +1 -1
  329. package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -1
  330. package/_esm/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
  331. package/_esm/core/key/serializeFheEncryptionKey.js +4 -1
  332. package/_esm/core/key/serializeFheEncryptionKey.js.map +1 -1
  333. package/_esm/core/kms/KmsSigncryptedShares-p.js +9 -1
  334. package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  335. package/_esm/core/kms/SignedDecryptionPermit-p.js +5 -1
  336. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  337. package/_esm/core/kms/TransportKeyPair-p.js +32 -7
  338. package/_esm/core/kms/TransportKeyPair-p.js.map +1 -1
  339. package/_esm/core/kms/createKmsUserDecryptEip712.js +4 -0
  340. package/_esm/core/kms/createKmsUserDecryptEip712.js.map +1 -1
  341. package/_esm/core/kms/createKmsUserDecryptEip712V2.js +98 -0
  342. package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
  343. package/_esm/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +9 -2
  344. package/_esm/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
  345. package/_esm/core/kms/decryptValuesFromPairs.js +4 -4
  346. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
  347. package/_esm/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +12 -6
  348. package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
  349. package/_esm/core/kms/kmsExtraData.js +70 -12
  350. package/_esm/core/kms/kmsExtraData.js.map +1 -1
  351. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +28 -0
  352. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
  353. package/_esm/core/kms/publicDecrypt.js +5 -3
  354. package/_esm/core/kms/publicDecrypt.js.map +1 -1
  355. package/_esm/core/modules/decrypt/mock.js +0 -24
  356. package/_esm/core/modules/decrypt/mock.js.map +1 -1
  357. package/_esm/core/modules/decrypt/module/api-p.js +51 -23
  358. package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
  359. package/_esm/core/modules/decrypt/module/index.js +31 -25
  360. package/_esm/core/modules/decrypt/module/index.js.map +1 -1
  361. package/_esm/core/modules/decrypt/module/init-p.js +41 -19
  362. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
  363. package/_esm/core/modules/encrypt/mock.js +26 -9
  364. package/_esm/core/modules/encrypt/mock.js.map +1 -1
  365. package/_esm/core/modules/encrypt/module/api-p.js +50 -21
  366. package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
  367. package/_esm/core/modules/encrypt/module/index.js +3 -3
  368. package/_esm/core/modules/encrypt/module/index.js.map +1 -1
  369. package/_esm/core/modules/encrypt/module/init-p.js +69 -29
  370. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
  371. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +2 -2
  372. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
  373. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +2 -2
  374. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  375. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +57 -4
  376. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  377. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +8 -1
  378. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  379. package/_esm/core/modules/relayer/module/readErrorMessage.js +52 -0
  380. package/_esm/core/modules/relayer/module/readErrorMessage.js.map +1 -0
  381. package/_esm/core/runtime/CoreFhevm-p.js +167 -5
  382. package/_esm/core/runtime/CoreFhevm-p.js.map +1 -1
  383. package/_esm/core/runtime/HyperWasmSolver-p.js +268 -0
  384. package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -0
  385. package/_esm/core/runtime/ProtocolVersionResolver-p.js +326 -0
  386. package/_esm/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
  387. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  388. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  389. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  390. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
  391. package/_esm/core/runtime/initFhevmRuntime-p.js +4 -1
  392. package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -1
  393. package/_esm/core/runtime/resolveFhevmVersions-p.js +62 -0
  394. package/_esm/core/runtime/resolveFhevmVersions-p.js.map +1 -0
  395. package/_esm/core/runtimeConfig-p.js +9 -0
  396. package/_esm/core/runtimeConfig-p.js.map +1 -1
  397. package/_esm/core/types/moduleVersions.js +2 -0
  398. package/_esm/core/types/moduleVersions.js.map +1 -0
  399. package/_esm/core/types/wasmAssets.js +2 -0
  400. package/_esm/core/types/wasmAssets.js.map +1 -0
  401. package/_esm/core/types/zkProofBuilder-p.js +2 -0
  402. package/_esm/core/types/zkProofBuilder-p.js.map +1 -0
  403. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
  404. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
  405. package/_esm/ethers/internal/config.js +1 -18
  406. package/_esm/ethers/internal/config.js.map +1 -1
  407. package/_esm/viem/internal/config.js +1 -18
  408. package/_esm/viem/internal/config.js.map +1 -1
  409. package/_esm/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
  410. package/_esm/wasm/tfhe/v1.5.3/tfhe.js +8 -0
  411. package/_esm/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
  412. package/_esm/wasm/tfhe/v1.6.1/tfhe.js +8 -0
  413. package/_esm/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  414. package/_esm/wasm/tkms/v0.13.10/kms_lib.js +8 -0
  415. package/_esm/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  416. package/_esm/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
  417. package/_esm/wasm/wasmBaseUrl.js +69 -4
  418. package/_types/core/actions/base/{fetchKmsSignedcryptedShares.d.ts → fetchKmsSigncryptedShares.d.ts} +7 -7
  419. package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +1 -0
  420. package/_types/core/actions/base/index.d.ts +1 -1
  421. package/_types/core/actions/base/index.d.ts.map +1 -1
  422. package/_types/core/actions/base/readKmsSignersContext.d.ts.map +1 -1
  423. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +2 -2
  424. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
  425. package/_types/core/actions/chain/parseTransportKeyPair.d.ts +1 -1
  426. package/_types/core/actions/chain/parseTransportKeyPair.d.ts.map +1 -1
  427. package/_types/core/actions/decrypt/{decryptKmsSignedcryptedShares.d.ts → decryptKmsSigncryptedShares.d.ts} +4 -4
  428. package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +1 -0
  429. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
  430. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
  431. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
  432. package/_types/core/actions/decrypt/generateTransportKeyPair.d.ts +2 -2
  433. package/_types/core/actions/decrypt/generateTransportKeyPair.d.ts.map +1 -1
  434. package/_types/core/actions/decrypt/index.d.ts +1 -1
  435. package/_types/core/actions/decrypt/index.d.ts.map +1 -1
  436. package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -1
  437. package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -1
  438. package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -1
  439. package/_types/core/actions/host/readKmsVerifierContractData.d.ts +1 -0
  440. package/_types/core/actions/host/readKmsVerifierContractData.d.ts.map +1 -1
  441. package/_types/core/actions/host/resolveFhevmConfig.d.ts +2 -0
  442. package/_types/core/actions/host/resolveFhevmConfig.d.ts.map +1 -1
  443. package/_types/core/base/object.d.ts +7 -0
  444. package/_types/core/base/object.d.ts.map +1 -1
  445. package/_types/core/base/semver.d.ts +39 -0
  446. package/_types/core/base/semver.d.ts.map +1 -0
  447. package/_types/core/base/uint.d.ts +13 -2
  448. package/_types/core/base/uint.d.ts.map +1 -1
  449. package/_types/core/chains/definitions/localTestnet.d.ts +3 -0
  450. package/_types/core/chains/definitions/localTestnet.d.ts.map +1 -1
  451. package/_types/core/chains/definitions/mainnet.d.ts +1 -0
  452. package/_types/core/chains/definitions/mainnet.d.ts.map +1 -1
  453. package/_types/core/chains/definitions/sepolia.d.ts.map +1 -1
  454. package/_types/core/clients/decorators/base.d.ts.map +1 -1
  455. package/_types/core/clients/decorators/decrypt-p.d.ts +4 -0
  456. package/_types/core/clients/decorators/decrypt-p.d.ts.map +1 -0
  457. package/_types/core/clients/decorators/decrypt.d.ts +4 -2
  458. package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
  459. package/_types/core/clients/decorators/encrypt-p.d.ts +2 -3
  460. package/_types/core/clients/decorators/encrypt-p.d.ts.map +1 -1
  461. package/_types/core/clients/decorators/encrypt.d.ts +4 -2
  462. package/_types/core/clients/decorators/encrypt.d.ts.map +1 -1
  463. package/_types/core/coprocessor/ZkProof-p.d.ts +9 -2
  464. package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
  465. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +3 -1
  466. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
  467. package/_types/core/coprocessor/encrypt.d.ts +2 -0
  468. package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
  469. package/_types/core/errors/RelayerResponseStatusError.d.ts +7 -1
  470. package/_types/core/errors/RelayerResponseStatusError.d.ts.map +1 -1
  471. package/_types/core/host-contracts/HostContractVersion-p.d.ts +18 -1
  472. package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -1
  473. package/_types/core/host-contracts/KmsSignersContext-p.d.ts +2 -1
  474. package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -1
  475. package/_types/core/host-contracts/abi-fragments/fragments.d.ts +5 -0
  476. package/_types/core/host-contracts/abi-fragments/fragments.d.ts.map +1 -1
  477. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts +1 -1
  478. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts.map +1 -1
  479. package/_types/core/host-contracts/checkDelegation.d.ts +1 -1
  480. package/_types/core/host-contracts/checkDelegation.d.ts.map +1 -1
  481. package/_types/core/host-contracts/checkPersistAllowed.d.ts +1 -1
  482. package/_types/core/host-contracts/checkPersistAllowed.d.ts.map +1 -1
  483. package/_types/core/host-contracts/getAclAddress-p.d.ts +1 -1
  484. package/_types/core/host-contracts/getAclAddress-p.d.ts.map +1 -1
  485. package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts +30 -0
  486. package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts.map +1 -0
  487. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts +1 -1
  488. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts.map +1 -1
  489. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts +1 -1
  490. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts.map +1 -1
  491. package/_types/core/host-contracts/getHandleVersion-p.d.ts +1 -1
  492. package/_types/core/host-contracts/getHandleVersion-p.d.ts.map +1 -1
  493. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts +1 -1
  494. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts.map +1 -1
  495. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts +1 -1
  496. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts.map +1 -1
  497. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts +1 -1
  498. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts.map +1 -1
  499. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +1 -1
  500. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -1
  501. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts +2 -2
  502. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts.map +1 -1
  503. package/_types/core/host-contracts/isAllowedForDecryption.d.ts +1 -1
  504. package/_types/core/host-contracts/isAllowedForDecryption.d.ts.map +1 -1
  505. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts +1 -1
  506. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts.map +1 -1
  507. package/_types/core/host-contracts/isUserDecryptable.d.ts +1 -1
  508. package/_types/core/host-contracts/isUserDecryptable.d.ts.map +1 -1
  509. package/_types/core/host-contracts/persistAllowed.d.ts +1 -1
  510. package/_types/core/host-contracts/persistAllowed.d.ts.map +1 -1
  511. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +25 -7
  512. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
  513. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts +3 -1
  514. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts.map +1 -1
  515. package/_types/core/key/deserializeFheEncryptionKey.d.ts +2 -0
  516. package/_types/core/key/deserializeFheEncryptionKey.d.ts.map +1 -1
  517. package/_types/core/key/fetchFheEncryptionKey.d.ts +3 -1
  518. package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -1
  519. package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts.map +1 -1
  520. package/_types/core/key/serializeFheEncryptionKey.d.ts.map +1 -1
  521. package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -1
  522. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
  523. package/_types/core/kms/TransportKeyPair-p.d.ts +9 -0
  524. package/_types/core/kms/TransportKeyPair-p.d.ts.map +1 -1
  525. package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +1 -1
  526. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +15 -0
  527. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -0
  528. package/_types/core/kms/{decryptKmsSignedcryptedShares-p.d.ts → decryptKmsSigncryptedShares-p.d.ts} +4 -2
  529. package/_types/core/kms/decryptKmsSigncryptedShares-p.d.ts.map +1 -0
  530. package/_types/core/kms/decryptValuesFromPairs.d.ts +2 -0
  531. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
  532. package/_types/core/kms/{fetchKmsSignedcryptedShares-p.d.ts → fetchKmsSigncryptedShares-p.d.ts} +2 -2
  533. package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +1 -0
  534. package/_types/core/kms/kmsExtraData.d.ts +9 -2
  535. package/_types/core/kms/kmsExtraData.d.ts.map +1 -1
  536. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts +3 -0
  537. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -0
  538. package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
  539. package/_types/core/modules/decrypt/mock.d.ts +1 -2
  540. package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
  541. package/_types/core/modules/decrypt/module/api-p.d.ts +2 -2
  542. package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -1
  543. package/_types/core/modules/decrypt/module/index.d.ts +1 -2
  544. package/_types/core/modules/decrypt/module/index.d.ts.map +1 -1
  545. package/_types/core/modules/decrypt/module/init-p.d.ts +3 -3
  546. package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
  547. package/_types/core/modules/decrypt/types.d.ts +33 -34
  548. package/_types/core/modules/decrypt/types.d.ts.map +1 -1
  549. package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
  550. package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
  551. package/_types/core/modules/encrypt/module/index.d.ts.map +1 -1
  552. package/_types/core/modules/encrypt/module/init-p.d.ts +11 -4
  553. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
  554. package/_types/core/modules/encrypt/types.d.ts +31 -2
  555. package/_types/core/modules/encrypt/types.d.ts.map +1 -1
  556. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +18 -0
  557. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
  558. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -1
  559. package/_types/core/modules/relayer/module/readErrorMessage.d.ts +26 -0
  560. package/_types/core/modules/relayer/module/readErrorMessage.d.ts.map +1 -0
  561. package/_types/core/runtime/CoreFhevm-p.d.ts +15 -4
  562. package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -1
  563. package/_types/core/runtime/HyperWasmSolver-p.d.ts +71 -0
  564. package/_types/core/runtime/HyperWasmSolver-p.d.ts.map +1 -0
  565. package/_types/core/runtime/ProtocolVersionResolver-p.d.ts +29 -0
  566. package/_types/core/runtime/ProtocolVersionResolver-p.d.ts.map +1 -0
  567. package/_types/core/runtime/initFhevmRuntime-p.d.ts.map +1 -1
  568. package/_types/core/runtime/resolveFhevmVersions-p.d.ts +21 -0
  569. package/_types/core/runtime/resolveFhevmVersions-p.d.ts.map +1 -0
  570. package/_types/core/runtimeConfig-p.d.ts +3 -2
  571. package/_types/core/runtimeConfig-p.d.ts.map +1 -1
  572. package/_types/core/types/auth.d.ts +12 -1
  573. package/_types/core/types/auth.d.ts.map +1 -1
  574. package/_types/core/types/coreFhevmClient.d.ts +72 -2
  575. package/_types/core/types/coreFhevmClient.d.ts.map +1 -1
  576. package/_types/core/types/coreFhevmRuntime.d.ts +3 -9
  577. package/_types/core/types/coreFhevmRuntime.d.ts.map +1 -1
  578. package/_types/core/types/fheEncryptionKey.d.ts +2 -0
  579. package/_types/core/types/fheEncryptionKey.d.ts.map +1 -1
  580. package/_types/core/types/fhevmChain.d.ts +3 -0
  581. package/_types/core/types/fhevmChain.d.ts.map +1 -1
  582. package/_types/core/types/hostContract.d.ts +1 -0
  583. package/_types/core/types/hostContract.d.ts.map +1 -1
  584. package/_types/core/types/index.d.ts +1 -1
  585. package/_types/core/types/index.d.ts.map +1 -1
  586. package/_types/core/types/kms-p.d.ts +2 -0
  587. package/_types/core/types/kms-p.d.ts.map +1 -1
  588. package/_types/core/types/kms.d.ts +71 -21
  589. package/_types/core/types/kms.d.ts.map +1 -1
  590. package/_types/core/types/kmsSignersContext.d.ts +8 -0
  591. package/_types/core/types/kmsSignersContext.d.ts.map +1 -1
  592. package/_types/core/types/logger.d.ts +1 -0
  593. package/_types/core/types/logger.d.ts.map +1 -1
  594. package/_types/core/types/moduleVersions.d.ts +25 -0
  595. package/_types/core/types/moduleVersions.d.ts.map +1 -0
  596. package/_types/core/types/tkms-p.d.ts +2 -0
  597. package/_types/core/types/tkms-p.d.ts.map +1 -1
  598. package/_types/core/types/wasmAssets.d.ts +2 -0
  599. package/_types/core/types/wasmAssets.d.ts.map +1 -0
  600. package/_types/core/types/{zkProofBuilder.d.ts → zkProofBuilder-p.d.ts} +8 -3
  601. package/_types/core/types/zkProofBuilder-p.d.ts.map +1 -0
  602. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts +2 -0
  603. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts.map +1 -1
  604. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
  605. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
  606. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
  607. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
  608. package/_types/ethers/clients/createFhevmDecryptClient.d.ts +2 -2
  609. package/_types/ethers/clients/createFhevmDecryptClient.d.ts.map +1 -1
  610. package/_types/ethers/clients/createFhevmEncryptClient.d.ts +2 -2
  611. package/_types/ethers/clients/createFhevmEncryptClient.d.ts.map +1 -1
  612. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
  613. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
  614. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
  615. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
  616. package/_types/viem/clients/createFhevmDecryptClient.d.ts +2 -2
  617. package/_types/viem/clients/createFhevmDecryptClient.d.ts.map +1 -1
  618. package/_types/viem/clients/createFhevmEncryptClient.d.ts +2 -2
  619. package/_types/viem/clients/createFhevmEncryptClient.d.ts.map +1 -1
  620. package/_types/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
  621. package/_types/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
  622. package/_types/wasm/tfheModuleVersion-p.d.ts +1 -1
  623. package/_types/wasm/tfheModuleVersion-p.d.ts.map +1 -1
  624. package/_types/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  625. package/_types/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  626. package/_types/wasm/tkmsModuleVersion-p.d.ts +1 -1
  627. package/_types/wasm/tkmsModuleVersion-p.d.ts.map +1 -1
  628. package/core/_version.ts +1 -1
  629. package/core/actions/base/canDecryptPublicValue.ts +1 -1
  630. package/core/actions/base/canDecryptPublicValues.ts +1 -1
  631. package/core/actions/base/{fetchKmsSignedcryptedShares.ts → fetchKmsSigncryptedShares.ts} +16 -16
  632. package/core/actions/base/index.ts +5 -5
  633. package/core/actions/base/readKmsSignersContext.ts +2 -1
  634. package/core/actions/chain/parseSignedDecryptionPermit.ts +2 -2
  635. package/core/actions/chain/parseTransportKeyPair.ts +2 -1
  636. package/core/actions/decrypt/{decryptKmsSignedcryptedShares.ts → decryptKmsSigncryptedShares.ts} +12 -9
  637. package/core/actions/decrypt/decryptValue.ts +4 -1
  638. package/core/actions/decrypt/decryptValues.ts +4 -1
  639. package/core/actions/decrypt/decryptValuesFromPairs.ts +4 -1
  640. package/core/actions/decrypt/generateTransportKeyPair.ts +5 -3
  641. package/core/actions/decrypt/index.ts +4 -4
  642. package/core/actions/encrypt/encryptValue.ts +4 -1
  643. package/core/actions/encrypt/encryptValues.ts +4 -1
  644. package/core/actions/encrypt/generateZkProof.ts +9 -1
  645. package/core/actions/host/readFhevmExecutorContractData.ts +8 -8
  646. package/core/actions/host/readInputVerifierContractData.ts +2 -2
  647. package/core/actions/host/readKmsVerifierContractData.ts +8 -6
  648. package/core/actions/host/resolveFhevmConfig.ts +10 -1
  649. package/core/base/object.ts +38 -0
  650. package/core/base/semver.ts +231 -0
  651. package/core/base/uint.ts +33 -4
  652. package/core/chains/definitions/localTestnet.ts +3 -0
  653. package/core/chains/definitions/mainnet.ts +1 -0
  654. package/core/chains/definitions/sepolia.ts +6 -6
  655. package/core/clients/decorators/base.ts +8 -1
  656. package/core/clients/decorators/decrypt-p.ts +18 -0
  657. package/core/clients/decorators/decrypt.ts +10 -15
  658. package/core/clients/decorators/encrypt-p.ts +12 -7
  659. package/core/clients/decorators/encrypt.ts +6 -4
  660. package/core/coprocessor/ZkProof-p.ts +17 -5
  661. package/core/coprocessor/ZkProofBuilder-p.ts +5 -2
  662. package/core/coprocessor/encrypt.ts +6 -1
  663. package/core/errors/RelayerResponseStatusError.ts +14 -2
  664. package/core/host-contracts/HostContractVersion-p.ts +60 -3
  665. package/core/host-contracts/KmsSignersContext-p.ts +36 -5
  666. package/core/host-contracts/abi-fragments/fragments.ts +28 -0
  667. package/core/host-contracts/canDecryptValuesFromPairs.ts +1 -1
  668. package/core/host-contracts/checkAllowedForDecryption.ts +3 -3
  669. package/core/host-contracts/checkDelegation.ts +9 -9
  670. package/core/host-contracts/checkPersistAllowed.ts +10 -10
  671. package/core/host-contracts/getAclAddress-p.ts +2 -3
  672. package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +92 -0
  673. package/core/host-contracts/getCurrentKmsContextId-p.ts +8 -8
  674. package/core/host-contracts/getFhevmExecutorAddress-p.ts +2 -2
  675. package/core/host-contracts/getHandleVersion-p.ts +2 -3
  676. package/core/host-contracts/getHcuLimitAddress-p.ts +2 -3
  677. package/core/host-contracts/getInputVerifierAddress-p.ts +2 -3
  678. package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +7 -9
  679. package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +6 -7
  680. package/core/host-contracts/getSignersForKmsContext-p.ts +6 -8
  681. package/core/host-contracts/isAllowedForDecryption.ts +6 -6
  682. package/core/host-contracts/isHandleDelegatedForUserDecryption-p.ts +7 -7
  683. package/core/host-contracts/isUserDecryptable.ts +3 -3
  684. package/core/host-contracts/persistAllowed.ts +6 -6
  685. package/core/host-contracts/readKmsSignersContext-p.ts +131 -41
  686. package/core/key/FheEncryptionKeyWasm-p.ts +24 -3
  687. package/core/key/deserializeFheEncryptionKey.ts +8 -1
  688. package/core/key/fetchFheEncryptionKey.ts +8 -4
  689. package/core/key/fetchFheEncryptionKeyBytes.ts +4 -2
  690. package/core/key/serializeFheEncryptionKey.ts +8 -2
  691. package/core/kms/KmsSigncryptedShares-p.ts +11 -1
  692. package/core/kms/SignedDecryptionPermit-p.ts +6 -1
  693. package/core/kms/TransportKeyPair-p.ts +56 -10
  694. package/core/kms/createKmsUserDecryptEip712.ts +4 -0
  695. package/core/kms/createKmsUserDecryptEip712V2.ts +159 -0
  696. package/core/kms/{decryptKmsSignedcryptedShares-p.ts → decryptKmsSigncryptedShares-p.ts} +12 -2
  697. package/core/kms/decryptValuesFromPairs.ts +6 -4
  698. package/core/kms/{fetchKmsSignedcryptedShares-p.ts → fetchKmsSigncryptedShares-p.ts} +12 -5
  699. package/core/kms/kmsExtraData.ts +82 -13
  700. package/core/kms/kmsUserDecryptEip712V2Types.ts +31 -0
  701. package/core/kms/publicDecrypt.ts +5 -3
  702. package/core/modules/decrypt/mock.ts +0 -35
  703. package/core/modules/decrypt/module/api-p.ts +88 -17
  704. package/core/modules/decrypt/module/index.ts +37 -34
  705. package/core/modules/decrypt/module/init-p.ts +60 -28
  706. package/core/modules/decrypt/types.ts +37 -65
  707. package/core/modules/encrypt/mock.ts +34 -4
  708. package/core/modules/encrypt/module/api-p.ts +66 -15
  709. package/core/modules/encrypt/module/index.ts +5 -3
  710. package/core/modules/encrypt/module/init-p.ts +99 -40
  711. package/core/modules/encrypt/types.ts +34 -2
  712. package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +2 -2
  713. package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +2 -2
  714. package/core/modules/relayer/module/RelayerAsyncRequest.ts +60 -4
  715. package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +9 -1
  716. package/core/modules/relayer/module/readErrorMessage.ts +56 -0
  717. package/core/runtime/CoreFhevm-p.ts +247 -22
  718. package/core/runtime/HyperWasmSolver-p.ts +417 -0
  719. package/core/runtime/ProtocolVersionResolver-p.ts +463 -0
  720. package/core/runtime/initFhevmDecryptRuntime-p.ts +1 -1
  721. package/core/runtime/initFhevmEncryptRuntime-p.ts +1 -1
  722. package/core/runtime/initFhevmRuntime-p.ts +4 -1
  723. package/core/runtime/resolveFhevmVersions-p.ts +85 -0
  724. package/core/runtimeConfig-p.ts +17 -2
  725. package/core/types/auth.ts +12 -1
  726. package/core/types/coreFhevmClient.ts +89 -4
  727. package/core/types/coreFhevmRuntime.ts +3 -18
  728. package/core/types/fheEncryptionKey.ts +2 -0
  729. package/core/types/fhevmChain.ts +3 -0
  730. package/core/types/hostContract.ts +1 -0
  731. package/core/types/index.ts +1 -1
  732. package/core/types/kms-p.ts +2 -0
  733. package/core/types/kms.ts +48 -18
  734. package/core/types/kmsSignersContext.ts +8 -0
  735. package/core/types/logger.ts +1 -0
  736. package/core/types/moduleVersions.ts +35 -0
  737. package/core/types/tkms-p.ts +3 -0
  738. package/core/types/wasmAssets.ts +6 -0
  739. package/core/types/{zkProofBuilder.ts → zkProofBuilder-p.ts} +3 -2
  740. package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +3 -1
  741. package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
  742. package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
  743. package/ethers/clients/createFhevmDecryptClient.ts +2 -2
  744. package/ethers/clients/createFhevmEncryptClient.ts +2 -2
  745. package/ethers/internal/config.ts +2 -30
  746. package/package.json +1 -1
  747. package/viem/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
  748. package/viem/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
  749. package/viem/clients/createFhevmDecryptClient.ts +2 -2
  750. package/viem/clients/createFhevmEncryptClient.ts +2 -2
  751. package/viem/internal/config.ts +2 -30
  752. package/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
  753. package/wasm/tfhe/v1.5.3/tfhe.js +8 -0
  754. package/wasm/tfhe/v1.6.0-dev/tfhe.d.ts +4 -0
  755. package/wasm/tfhe/v1.6.0-dev/tfhe.js +8 -0
  756. package/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
  757. package/wasm/tfhe/v1.6.1/tfhe.js +8 -0
  758. package/wasm/tfheModuleVersion-p.ts +1 -1
  759. package/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
  760. package/wasm/tkms/v0.13.10/kms_lib.js +8 -0
  761. package/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
  762. package/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
  763. package/wasm/tkmsModuleVersion-p.ts +1 -1
  764. package/wasm/wasmBaseUrl.js +69 -4
  765. package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
  766. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -11
  767. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
  768. package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
  769. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
  770. package/_cjs/core/types/fhevmDecryptionKey.js.map +0 -1
  771. package/_cjs/core/types/fhevmUser.js.map +0 -1
  772. package/_cjs/core/types/zkProofBuilder.js.map +0 -1
  773. package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
  774. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -9
  775. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
  776. package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
  777. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
  778. package/_esm/core/types/fhevmDecryptionKey.js +0 -2
  779. package/_esm/core/types/fhevmDecryptionKey.js.map +0 -1
  780. package/_esm/core/types/fhevmUser.js +0 -2
  781. package/_esm/core/types/fhevmUser.js.map +0 -1
  782. package/_esm/core/types/zkProofBuilder.js +0 -2
  783. package/_esm/core/types/zkProofBuilder.js.map +0 -1
  784. package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts.map +0 -1
  785. package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts.map +0 -1
  786. package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts.map +0 -1
  787. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +0 -1
  788. package/_types/core/types/fhevmDecryptionKey.d.ts +0 -4
  789. package/_types/core/types/fhevmDecryptionKey.d.ts.map +0 -1
  790. package/_types/core/types/fhevmUser.d.ts +0 -7
  791. package/_types/core/types/fhevmUser.d.ts.map +0 -1
  792. package/_types/core/types/zkProofBuilder.d.ts.map +0 -1
  793. package/core/types/fhevmDecryptionKey.ts +0 -8
  794. package/core/types/fhevmUser.ts +0 -7
@@ -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
  }
@@ -1,4 +1,4 @@
1
- import type { Fhevm, FhevmBase, FhevmExtension } from '../../types/coreFhevmClient.js';
1
+ import type { Fhevm, FhevmBase, FhevmExtension, WithTfheVersion } from '../../types/coreFhevmClient.js';
2
2
  import type { WithEncrypt } from '../../types/coreFhevmRuntime.js';
3
3
  import type { FhevmChain } from '../../types/fhevmChain.js';
4
4
  import type { EncryptModuleFactory } from '../../modules/encrypt/types.js';
@@ -17,14 +17,16 @@ import { _initEncrypt } from './encrypt-p.js';
17
17
 
18
18
  ////////////////////////////////////////////////////////////////////////////////
19
19
 
20
- export type EncryptActions = {
20
+ type EncryptActionMethods = {
21
21
  readonly encryptValue: (parameters: EncryptValueParameters) => Promise<EncryptValueReturnType>;
22
22
  readonly encryptValues: (parameters: EncryptValuesParameters) => Promise<EncryptValuesReturnType>;
23
23
  };
24
24
 
25
+ export type EncryptActions = EncryptActionMethods & WithTfheVersion;
26
+
25
27
  ////////////////////////////////////////////////////////////////////////////////
26
28
 
27
- function _encryptActions(fhevm: Fhevm<FhevmChain, WithEncrypt>): EncryptActions {
29
+ function _encryptActions(fhevm: Fhevm<FhevmChain, WithEncrypt>): EncryptActionMethods {
28
30
  return {
29
31
  encryptValue: (parameters) => encryptValue(fhevm, parameters),
30
32
  encryptValues: (parameters) => encryptValues(fhevm, parameters),
@@ -40,7 +42,7 @@ export function encryptActionsWithModule(
40
42
  const runtime = fhevm.runtime.extend(factory);
41
43
  assertIsFhevmClientWith(fhevm, 'encrypt');
42
44
  return {
43
- actions: _encryptActions(fhevm),
45
+ actions: _encryptActions(fhevm) as EncryptActions,
44
46
  runtime,
45
47
  init: _initEncrypt,
46
48
  };
@@ -13,6 +13,7 @@ import type { ErrorMetadataParams } from '../base/errors/ErrorBase.js';
13
13
  import type { EncryptionBits, FheTypeId } from '../types/fheType.js';
14
14
  import type { ParseTFHEProvenCompactCiphertextListModuleFunction } from '../modules/encrypt/types.js';
15
15
  import type { InputHandle } from '../types/encryptedTypes-p.js';
16
+ import type { TfheVersion } from '../../wasm/tfhe/TfheApi.js';
16
17
  import {
17
18
  addressToChecksummedAddress,
18
19
  assertIsAddress,
@@ -230,7 +231,10 @@ export async function toZkProof(
230
231
  zkProofLike: ZkProofLike,
231
232
  extraData: BytesHex,
232
233
  options?: {
233
- readonly zkProofParser?: ParseTFHEProvenCompactCiphertextListModuleFunction;
234
+ readonly zkProofParser?: {
235
+ readonly parserFn: ParseTFHEProvenCompactCiphertextListModuleFunction;
236
+ readonly tfheVersion: TfheVersion;
237
+ };
234
238
  readonly copy?: boolean;
235
239
  },
236
240
  ): Promise<ZkProof> {
@@ -290,7 +294,10 @@ export async function zkProofToExternalEncryptedValues(
290
294
  zkProofLike: ZkProofLike,
291
295
  options?: {
292
296
  readonly version?: number;
293
- readonly zkProofParser?: ParseTFHEProvenCompactCiphertextListModuleFunction;
297
+ readonly zkProofParser?: {
298
+ readonly parserFn: ParseTFHEProvenCompactCiphertextListModuleFunction;
299
+ readonly tfheVersion: TfheVersion;
300
+ };
294
301
  },
295
302
  ): Promise<readonly InputHandle[]> {
296
303
  if (zkProofLike instanceof ZkProofImpl) {
@@ -397,7 +404,10 @@ function _zkProofToInputHandles(
397
404
  async function _getOrParseEncryptionBits(
398
405
  encryptionBits: readonly number[] | undefined,
399
406
  ciphertextWithZkProof: Uint8Array | string,
400
- zkProofParser?: ParseTFHEProvenCompactCiphertextListModuleFunction,
407
+ zkProofParser?: {
408
+ readonly parserFn: ParseTFHEProvenCompactCiphertextListModuleFunction;
409
+ readonly tfheVersion: TfheVersion;
410
+ },
401
411
  ): Promise<readonly EncryptionBits[]> {
402
412
  // Case 1: encryptionBits provided — validate, and verify against parsed if possible
403
413
  if (encryptionBits != null) {
@@ -406,8 +416,9 @@ async function _getOrParseEncryptionBits(
406
416
  });
407
417
 
408
418
  if (zkProofParser != null) {
409
- const parsed = await zkProofParser.parseTFHEProvenCompactCiphertextList({
419
+ const parsed = await zkProofParser.parserFn.parseTFHEProvenCompactCiphertextList({
410
420
  ciphertextWithZkProof: ciphertextWithZkProof,
421
+ tfheVersion: zkProofParser.tfheVersion,
411
422
  });
412
423
  _assertEncryptionBitsMatch(parsed.encryptionBits, encryptionBits);
413
424
  }
@@ -417,8 +428,9 @@ async function _getOrParseEncryptionBits(
417
428
 
418
429
  // Case 2: encryptionBits not provided — extract if parse function available
419
430
  if (zkProofParser != null) {
420
- const parsed = await zkProofParser.parseTFHEProvenCompactCiphertextList({
431
+ const parsed = await zkProofParser.parserFn.parseTFHEProvenCompactCiphertextList({
421
432
  ciphertextWithZkProof: ciphertextWithZkProof,
433
+ tfheVersion: zkProofParser.tfheVersion,
422
434
  });
423
435
  return parsed.encryptionBits;
424
436
  }
@@ -1,7 +1,7 @@
1
1
  import type { Bytes20, Bytes32, BytesHex, ChecksummedAddress, UintNumber } from '../types/primitives.js';
2
2
  import type { ZkProof } from '../types/zkProof-p.js';
3
3
  import type { EncryptionBits, FheType } from '../types/fheType.js';
4
- import type { ZkProofBuilder } from '../types/zkProofBuilder.js';
4
+ import type { ZkProofBuilder } from '../types/zkProofBuilder-p.js';
5
5
  import type { WithEncrypt } from '../types/coreFhevmRuntime.js';
6
6
  import type { FhevmChain } from '../types/fhevmChain.js';
7
7
  import type {
@@ -15,6 +15,7 @@ import type {
15
15
  BoolValueLike,
16
16
  AddressValueLike,
17
17
  } from '../types/primitives.js';
18
+ import type { TfheVersion } from '../../wasm/tfhe/TfheApi.js';
18
19
  import { assert } from '../base/errors/InternalError.js';
19
20
  import { isUint64, uint256ToBytes32 } from '../base/uint.js';
20
21
  import { isAddress } from '../base/address.js';
@@ -30,6 +31,7 @@ import { fetchFheEncryptionKeyWasm } from '../key/fetchFheEncryptionKey.js';
30
31
  type Context = {
31
32
  readonly chain: FhevmChain;
32
33
  readonly runtime: WithEncrypt;
34
+ readonly tfheVersion: TfheVersion;
33
35
  };
34
36
 
35
37
  ////////////////////////////////////////////////////////////////////////////////
@@ -150,7 +152,7 @@ class ZkProofBuilderImpl implements ZkProofBuilder {
150
152
  },
151
153
  ): Promise<ZkProof> {
152
154
  // Fetch the FheEncryptionKey (in wasm format) from the global cache.
153
- const fheEncryptionKeyWasm = await fetchFheEncryptionKeyWasm(context);
155
+ const fheEncryptionKeyWasm = await fetchFheEncryptionKeyWasm(context, {});
154
156
 
155
157
  if (this.#totalBits === 0) {
156
158
  throw new ZkProofError({
@@ -219,6 +221,7 @@ class ZkProofBuilderImpl implements ZkProofBuilder {
219
221
  fheEncryptionKey: fheEncryptionKeyWasm,
220
222
  metaData,
221
223
  extraData: asBytesHex(extraData),
224
+ tfheVersion: context.tfheVersion,
222
225
  });
223
226
 
224
227
  return toZkProof(
@@ -3,6 +3,7 @@ import type { FhevmChain } from '../types/fhevmChain.js';
3
3
  import type { BytesHex, ChecksummedAddress, TypedValue } from '../types/primitives.js';
4
4
  import type { RelayerInputProofOptions } from '../types/relayer.js';
5
5
  import type { InputHandle } from '../types/encryptedTypes-p.js';
6
+ import type { TfheVersion } from '../../wasm/tfhe/TfheApi.js';
6
7
  import { fetchVerifiedInputProof } from './fetchVerifiedInputProof.js';
7
8
  import { createZkProof } from './ZkProofBuilder-p.js';
8
9
 
@@ -12,6 +13,7 @@ type Context = {
12
13
  readonly chain: FhevmChain;
13
14
  readonly runtime: WithEncrypt;
14
15
  readonly client: NonNullable<object>;
16
+ readonly tfheVersion: TfheVersion;
15
17
  readonly options: { readonly batchRpcCalls: boolean };
16
18
  };
17
19
 
@@ -32,7 +34,10 @@ type ReturnType = {
32
34
  export async function encrypt(context: Context, parameters: Parameters): Promise<ReturnType> {
33
35
  const hardCodedExtraData = '0x00' as BytesHex;
34
36
 
35
- const zkProof = await createZkProof(context, { ...parameters, extraData: hardCodedExtraData });
37
+ const zkProof = await createZkProof(
38
+ { chain: context.chain, runtime: context.runtime, tfheVersion: context.tfheVersion },
39
+ { ...parameters, extraData: hardCodedExtraData },
40
+ );
36
41
 
37
42
  const inputProof = await fetchVerifiedInputProof(context, {
38
43
  zkProof,
@@ -15,6 +15,12 @@ export type RelayerResponseStatusErrorType = RelayerResponseStatusError & {
15
15
  export type RelayerResponseStatusErrorParams = Prettify<
16
16
  Omit<RelayerResponseErrorBaseParams, 'message' | 'name' | 'details'> & {
17
17
  readonly state: RelayerAsyncRequestState;
18
+ /**
19
+ * Optional message surfaced from the response body — e.g. the JSON error a
20
+ * Cloudflare/Kong edge proxy returns on a 403. Appended to the error
21
+ * message and details when present.
22
+ */
23
+ readonly responseMessage?: string | undefined;
18
24
  }
19
25
  >;
20
26
 
@@ -22,12 +28,18 @@ export type RelayerResponseStatusErrorParams = Prettify<
22
28
  * The response status is unexpected.
23
29
  */
24
30
  export class RelayerResponseStatusError extends RelayerResponseErrorBase {
25
- constructor(params: RelayerResponseStatusErrorParams) {
31
+ constructor({ responseMessage, ...params }: RelayerResponseStatusErrorParams) {
26
32
  super({
27
33
  ...params,
28
34
  name: 'RelayerResponseStatusError',
29
35
  message: `${humanReadableOperation(params.operation, true)}: Relayer returned unexpected response status: ${params.status}`,
30
- details: `The Relayer server returned an unexpected response status (${params.status}). This status ${params.status} is not part of the expected API contract and may indicate a server configuration issue.`,
36
+ // Surface the relayer/edge message (e.g. a Cloudflare/Kong 403 block) via
37
+ // the `Details:` line when present; otherwise keep the generic
38
+ // explanation. The primary message is unchanged for backward
39
+ // compatibility.
40
+ details:
41
+ responseMessage ??
42
+ `The Relayer server returned an unexpected response status (${params.status}). This status ${params.status} is not part of the expected API contract and may indicate a server configuration issue.`,
31
43
  });
32
44
  }
33
45
  }
@@ -19,16 +19,34 @@ type Parameters = {
19
19
  };
20
20
 
21
21
  type ReturnType = HostContractVersion;
22
+ type InvalidateVersionCacheOptions = {
23
+ readonly includeInflight?: boolean | undefined;
24
+ };
25
+ type InvalidateVersionCacheParameters = Parameters & InvalidateVersionCacheOptions;
22
26
 
23
27
  ////////////////////////////////////////////////////////////////////////////////
24
28
 
25
29
  const cachedGetVersion = createCachedFetch<Context, Parameters, ReturnType>({
26
30
  executeFn: _getVersion,
27
- cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.address.toLowerCase()}`,
31
+ cacheKeyFn: _getVersionCacheKey,
28
32
  // Host contract versions are immutable per deployment, so a long TTL is safe.
29
33
  ttlMs: CACHE_TTL_24H,
30
34
  });
31
35
 
36
+ /**
37
+ * Builds the cache key for a host contract version lookup.
38
+ *
39
+ * The runtime UID scopes the entry to one SDK runtime instance, while the
40
+ * address scopes it to one deployed host contract within that runtime.
41
+ *
42
+ * Host-contract addresses are treated as globally unique deployment
43
+ * identifiers across supported chains. If that invariant changes, include the
44
+ * chain id in this key.
45
+ */
46
+ function _getVersionCacheKey(context: Context, parameters: Parameters): string {
47
+ return `${context.runtime.uid.toLowerCase()}:${parameters.address.toLowerCase()}`;
48
+ }
49
+
32
50
  /**
33
51
  * Reads the version of a host contract at the given address.
34
52
  *
@@ -46,13 +64,51 @@ const cachedGetVersion = createCachedFetch<Context, Parameters, ReturnType>({
46
64
  * Use this after a known contract upgrade to ensure all subsequent callers
47
65
  * see the updated version.
48
66
  */
49
- export function getVersion(
67
+ export function getHostContractVersion(
50
68
  context: Context,
51
69
  parameters: Parameters & { readonly forceRefresh?: boolean },
52
70
  ): Promise<ReturnType> {
53
71
  return cachedGetVersion.execute(context, parameters);
54
72
  }
55
73
 
74
+ /**
75
+ * Invalidates cached host contract versions.
76
+ *
77
+ * When called with `context` and `address`, only that runtime/address entry is
78
+ * invalidated. When called without arguments, all settled host-version cache
79
+ * entries in the current JS realm are invalidated.
80
+ *
81
+ * In-flight entries are kept by default. Pass `includeInflight: true` to also
82
+ * discard in-flight fetches; existing callers still receive their promises, but
83
+ * those results will no longer be stored in the cache.
84
+ */
85
+ export function invalidateVersionCache(options?: InvalidateVersionCacheOptions): void;
86
+ export function invalidateVersionCache(context: Context, parameters: InvalidateVersionCacheParameters): void;
87
+ export function invalidateVersionCache(
88
+ contextOrOptions?: Context | InvalidateVersionCacheOptions,
89
+ parameters?: InvalidateVersionCacheParameters,
90
+ ): void {
91
+ if (parameters === undefined) {
92
+ const options = contextOrOptions as InvalidateVersionCacheOptions | undefined;
93
+ cachedGetVersion.clear(_makeClearOptions(options));
94
+ return;
95
+ }
96
+
97
+ cachedGetVersion.clear({
98
+ key: _getVersionCacheKey(contextOrOptions as Context, parameters),
99
+ ..._makeClearOptions(parameters),
100
+ });
101
+ }
102
+
103
+ function _makeClearOptions(
104
+ options: InvalidateVersionCacheOptions | undefined,
105
+ ): { readonly includeInflight?: boolean } | undefined {
106
+ if (options?.includeInflight === undefined) {
107
+ return undefined;
108
+ }
109
+ return { includeInflight: options.includeInflight };
110
+ }
111
+
56
112
  async function _getVersion(context: Context, parameters: Parameters): Promise<HostContractVersion> {
57
113
  const trustedClient = getTrustedClient(context);
58
114
  const address = parameters.address;
@@ -109,7 +165,8 @@ function parseVersion(version: string): HostContractVersion {
109
165
  contractName !== 'FHEVMExecutor' &&
110
166
  contractName !== 'InputVerifier' &&
111
167
  contractName !== 'KMSVerifier' &&
112
- contractName !== 'HCULimit'
168
+ contractName !== 'HCULimit' &&
169
+ contractName !== 'ProtocolConfig'
113
170
  ) {
114
171
  throw new Error(err);
115
172
  }
@@ -7,7 +7,13 @@ import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
7
7
  import { addressToChecksummedAddress } from '../base/address.js';
8
8
  import { DuplicateSignerError, ThresholdSignerError, UnknownSignerError } from '../errors/SignersError.js';
9
9
  import { assertOwnedBy } from '../runtime/CoreFhevmRuntime-p.js';
10
- import { assertIsKmsExtraData, toKmsExtraData } from '../kms/kmsExtraData.js';
10
+ import {
11
+ assertIsKmsExtraData,
12
+ EXTRA_DATA_V0,
13
+ EXTRA_DATA_V1,
14
+ EXTRA_DATA_V2,
15
+ toKmsExtraData,
16
+ } from '../kms/kmsExtraData.js';
11
17
  import { assertIsNonEmptyString, ensure0x } from '../base/string.js';
12
18
 
13
19
  ////////////////////////////////////////////////////////////////////////////////
@@ -25,6 +31,7 @@ class KmsSignersContextImpl implements KmsSignersContext {
25
31
  readonly #owner: WeakRef<FhevmRuntime>;
26
32
  readonly #address: ChecksummedAddress;
27
33
  readonly #kmsContextId: Uint256BigInt;
34
+ readonly #kmsEpochId: Uint256BigInt;
28
35
  readonly #kmsSigners: ChecksummedAddress[];
29
36
  readonly #kmsSignersSet: Set<string>;
30
37
  readonly #kmsSignerThreshold: Uint8Number;
@@ -35,6 +42,7 @@ class KmsSignersContextImpl implements KmsSignersContext {
35
42
  parameters: {
36
43
  readonly address: ChecksummedAddress;
37
44
  readonly kmsContextId: Uint256BigInt;
45
+ readonly kmsEpochId: Uint256BigInt;
38
46
  readonly kmsSigners: ChecksummedAddress[];
39
47
  readonly kmsSignerThreshold: Uint8Number;
40
48
  },
@@ -45,6 +53,7 @@ class KmsSignersContextImpl implements KmsSignersContext {
45
53
  this.#owner = owner;
46
54
  this.#address = parameters.address;
47
55
  this.#kmsContextId = parameters.kmsContextId;
56
+ this.#kmsEpochId = parameters.kmsEpochId;
48
57
  this.#kmsSigners = [...parameters.kmsSigners];
49
58
  this.#kmsSignerThreshold = parameters.kmsSignerThreshold;
50
59
  this.#kmsSignersSet = new Set(this.#kmsSigners.map((addr) => addr.toLowerCase()));
@@ -61,6 +70,10 @@ class KmsSignersContextImpl implements KmsSignersContext {
61
70
  return this.#kmsContextId;
62
71
  }
63
72
 
73
+ public get epochId(): Uint256BigInt {
74
+ return this.#kmsEpochId;
75
+ }
76
+
64
77
  public get signers(): ChecksummedAddress[] {
65
78
  return this.#kmsSigners;
66
79
  }
@@ -102,16 +115,19 @@ Object.freeze(KmsSignersContextImpl);
102
115
  export function createKmsSignersContext(
103
116
  owner: WeakRef<FhevmRuntime>,
104
117
  parameters: {
105
- readonly address: ChecksummedAddress;
118
+ readonly kmsVerifierAddress: ChecksummedAddress;
106
119
  readonly kmsContextId: Uint256BigInt;
120
+ readonly kmsEpochId: Uint256BigInt;
107
121
  readonly kmsSigners: readonly ChecksummedAddress[];
108
122
  readonly kmsSignerThreshold: Uint8Number;
109
123
  },
110
124
  ): KmsSignersContext {
111
- const { address, kmsContextId, kmsSigners, kmsSignerThreshold } = parameters;
125
+ const { kmsVerifierAddress: address, kmsContextId, kmsEpochId, kmsSigners, kmsSignerThreshold } = parameters;
126
+
112
127
  return new KmsSignersContextImpl(PRIVATE_TOKEN, owner, {
113
128
  address: addressToChecksummedAddress(address),
114
129
  kmsContextId,
130
+ kmsEpochId,
115
131
  kmsSignerThreshold: Number(kmsSignerThreshold) as Uint8Number,
116
132
  kmsSigners: kmsSigners.map(addressToChecksummedAddress),
117
133
  });
@@ -121,12 +137,27 @@ export function createKmsSignersContext(
121
137
 
122
138
  export function kmsSignersContextToExtraData(kmsSignersContext: KmsSignersContext): BytesHex {
123
139
  assertIsKmsSignersContext(kmsSignersContext, {});
140
+
124
141
  if (kmsSignersContext.id === 0n) {
125
- return '0x00' as BytesHex;
142
+ return toKmsExtraData({
143
+ version: EXTRA_DATA_V0,
144
+ kmsContextId: 0n as Uint256BigInt,
145
+ kmsEpochId: 0n as Uint256BigInt,
146
+ });
126
147
  }
148
+
149
+ if (kmsSignersContext.epochId === 0n) {
150
+ return toKmsExtraData({
151
+ version: EXTRA_DATA_V1,
152
+ kmsContextId: kmsSignersContext.id,
153
+ kmsEpochId: 0n as Uint256BigInt,
154
+ });
155
+ }
156
+
127
157
  return toKmsExtraData({
128
- version: 1 as Uint8Number,
158
+ version: EXTRA_DATA_V2,
129
159
  kmsContextId: kmsSignersContext.id,
160
+ kmsEpochId: kmsSignersContext.epochId,
130
161
  });
131
162
  }
132
163
 
@@ -309,6 +309,34 @@ export const getSignersForKmsContextAbi: readonly [
309
309
  },
310
310
  ] as const;
311
311
 
312
+ ////////////////////////////////////////////////////////////////////////////////
313
+ // ProtocolConfig.getCurrentKmsContextAndEpoch()
314
+ // Protocol version >= 0.14
315
+ ////////////////////////////////////////////////////////////////////////////////
316
+
317
+ export const getCurrentKmsContextAndEpochAbi: readonly [
318
+ Record<string, unknown> & { readonly name: 'getCurrentKmsContextAndEpoch' },
319
+ ] = [
320
+ {
321
+ inputs: [],
322
+ name: 'getCurrentKmsContextAndEpoch',
323
+ outputs: [
324
+ {
325
+ internalType: 'uint256',
326
+ name: 'contextId',
327
+ type: 'uint256',
328
+ },
329
+ {
330
+ internalType: 'uint256',
331
+ name: 'epochId',
332
+ type: 'uint256',
333
+ },
334
+ ],
335
+ stateMutability: 'view',
336
+ type: 'function',
337
+ },
338
+ ] as const;
339
+
312
340
  //getSignersForKmsContext
313
341
  ////////////////////////////////////////////////////////////////////////////////
314
342
  // InputVerifier.getCoprocessorSigners()
@@ -82,7 +82,7 @@ export async function canDecryptValuesFromPairs(context: Context, parameters: Pa
82
82
  }
83
83
 
84
84
  const details = await isUserDecryptable(context, {
85
- address: context.chain.fhevm.contracts.acl.address as ChecksummedAddress,
85
+ aclAddress: context.chain.fhevm.contracts.acl.address as ChecksummedAddress,
86
86
  userAddress,
87
87
  handleContractPairs,
88
88
  });
@@ -15,21 +15,21 @@ type Context = {
15
15
  };
16
16
 
17
17
  type Parameters = {
18
- readonly address: ChecksummedAddress;
18
+ readonly aclAddress: ChecksummedAddress;
19
19
  readonly handles: readonly Handle[];
20
20
  };
21
21
 
22
22
  ////////////////////////////////////////////////////////////////////////////////
23
23
 
24
24
  export async function checkAllowedForDecryption(context: Context, parameters: Parameters): Promise<void> {
25
- const { handles } = parameters;
25
+ const { aclAddress, handles } = parameters;
26
26
 
27
27
  const results = await isAllowedForDecryption(context, parameters);
28
28
 
29
29
  const failedHandles = handles.filter((_, i) => results[i] !== true).map((h) => h.bytes32Hex);
30
30
  if (failedHandles.length > 0) {
31
31
  throw new AclPublicDecryptionError({
32
- contractAddress: context.chain.fhevm.contracts.acl.address as ChecksummedAddress,
32
+ contractAddress: aclAddress,
33
33
  handles: failedHandles,
34
34
  });
35
35
  }
@@ -15,7 +15,7 @@ type Context = {
15
15
  };
16
16
 
17
17
  type Parameters = {
18
- readonly address: ChecksummedAddress;
18
+ readonly aclAddress: ChecksummedAddress;
19
19
  readonly delegator: ChecksummedAddress;
20
20
  readonly delegate: ChecksummedAddress;
21
21
  readonly handleContractPairs: ReadonlyArray<{
@@ -27,7 +27,7 @@ type Parameters = {
27
27
  ////////////////////////////////////////////////////////////////////////////////
28
28
 
29
29
  export async function checkDelegation(context: Context, parameters: Parameters): Promise<void> {
30
- const { address, delegator, delegate, handleContractPairs } = parameters;
30
+ const { aclAddress, delegator, delegate, handleContractPairs } = parameters;
31
31
 
32
32
  if (handleContractPairs.length === 0) {
33
33
  throw new Error('checkDelegation requires at least one (handle, contractAddress) pair');
@@ -41,7 +41,7 @@ export async function checkDelegation(context: Context, parameters: Parameters):
41
41
  // 1. Verify rule: delegator !== delegate
42
42
  if (delegator.toLowerCase() === delegate.toLowerCase()) {
43
43
  throw new AclUserDecryptionError({
44
- contractAddress: address,
44
+ contractAddress: aclAddress,
45
45
  message: `delegator ${delegator} cannot be equal to delegate`,
46
46
  });
47
47
  }
@@ -49,13 +49,13 @@ export async function checkDelegation(context: Context, parameters: Parameters):
49
49
  // 2. Verify rule: delegate !== WILDCARD_CONTRACT
50
50
  if (delegate.toLowerCase() === WILDCARD_DELEGATION_ADDRESS.toLowerCase()) {
51
51
  throw new AclUserDecryptionError({
52
- contractAddress: address,
52
+ contractAddress: aclAddress,
53
53
  message: `delegate cannot be equal to wildcard contract address`,
54
54
  });
55
55
  }
56
56
  if (delegator.toLowerCase() === WILDCARD_DELEGATION_ADDRESS.toLowerCase()) {
57
57
  throw new AclUserDecryptionError({
58
- contractAddress: address,
58
+ contractAddress: aclAddress,
59
59
  message: `delegator cannot be equal to wildcard contract address`,
60
60
  });
61
61
  }
@@ -64,13 +64,13 @@ export async function checkDelegation(context: Context, parameters: Parameters):
64
64
  for (const pair of handleContractPairs) {
65
65
  if (delegator.toLowerCase() === pair.contractAddress.toLowerCase()) {
66
66
  throw new AclUserDecryptionError({
67
- contractAddress: address,
67
+ contractAddress: aclAddress,
68
68
  message: `delegator ${delegator} cannot be equal to contractAddress`,
69
69
  });
70
70
  }
71
71
  if (delegate.toLowerCase() === pair.contractAddress.toLowerCase()) {
72
72
  throw new AclUserDecryptionError({
73
- contractAddress: address,
73
+ contractAddress: aclAddress,
74
74
  message: `delegate ${delegate} cannot be equal to contractAddress`,
75
75
  });
76
76
  }
@@ -98,7 +98,7 @@ export async function checkDelegation(context: Context, parameters: Parameters):
98
98
 
99
99
  // 5. Single batched RPC call for all unique checks
100
100
  const allResults = await isHandleDelegatedForUserDecryption(context, {
101
- address,
101
+ aclAddress,
102
102
  delegator,
103
103
  delegate,
104
104
  pairs: allChecks,
@@ -121,7 +121,7 @@ export async function checkDelegation(context: Context, parameters: Parameters):
121
121
  const key = getKey(pair.contractAddress, pair.handle.bytes32Hex);
122
122
  if (resultMap.get(key) !== true) {
123
123
  throw new AclUserDecryptionError({
124
- contractAddress: address,
124
+ contractAddress: aclAddress,
125
125
  message: `Delegate ${delegate} is not delegated by ${delegator} to user decrypt handle ${pair.handle.bytes32Hex} on contract ${pair.contractAddress}!`,
126
126
  });
127
127
  }