@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
@@ -14,7 +14,7 @@ type Context = {
14
14
  };
15
15
 
16
16
  type Parameters = {
17
- readonly address: ChecksummedAddress;
17
+ readonly aclAddress: ChecksummedAddress;
18
18
  readonly userAddress: ChecksummedAddress;
19
19
  readonly handleContractPairs: ReadonlyArray<{
20
20
  readonly handle: Handle;
@@ -25,7 +25,7 @@ type Parameters = {
25
25
  ////////////////////////////////////////////////////////////////////////////////
26
26
 
27
27
  export async function checkPersistAllowed(context: Context, parameters: Parameters): Promise<void> {
28
- const { address, userAddress, handleContractPairs } = parameters;
28
+ const { aclAddress, userAddress, handleContractPairs } = parameters;
29
29
 
30
30
  if (handleContractPairs.length === 0) {
31
31
  throw new Error('checkPersistAllowed requires at least one (handle, contractAddress) pair');
@@ -38,9 +38,9 @@ export async function checkPersistAllowed(context: Context, parameters: Paramete
38
38
 
39
39
  // 1. Verify rule: userAddress !== contractAddress
40
40
  for (const pair of handleContractPairs) {
41
- if (parameters.userAddress.toLowerCase() === pair.contractAddress.toLowerCase()) {
41
+ if (userAddress.toLowerCase() === pair.contractAddress.toLowerCase()) {
42
42
  throw new AclUserDecryptionError({
43
- contractAddress: address,
43
+ contractAddress: aclAddress,
44
44
  message: `userAddress ${userAddress} should not be equal to contractAddress when requesting user decryption!`,
45
45
  });
46
46
  }
@@ -52,12 +52,12 @@ export async function checkPersistAllowed(context: Context, parameters: Paramete
52
52
 
53
53
  for (const pair of handleContractPairs) {
54
54
  // User check (runtime defensive check, use lowercase)
55
- const userKey = getKey(parameters.userAddress, pair.handle.bytes32Hex);
55
+ const userKey = getKey(userAddress, pair.handle.bytes32Hex);
56
56
  if (!seenKeys.has(userKey)) {
57
57
  seenKeys.add(userKey);
58
58
  allChecks.push({
59
59
  handle: pair.handle,
60
- account: parameters.userAddress,
60
+ account: userAddress,
61
61
  });
62
62
  }
63
63
  // Contract check (runtime defensive check, use lowercase)
@@ -77,7 +77,7 @@ export async function checkPersistAllowed(context: Context, parameters: Paramete
77
77
 
78
78
  // 3. Single batched RPC call for all unique checks
79
79
  const allResults = await persistAllowed(context, {
80
- address,
80
+ aclAddress,
81
81
  pairs: allChecks,
82
82
  });
83
83
 
@@ -98,8 +98,8 @@ export async function checkPersistAllowed(context: Context, parameters: Paramete
98
98
  const userKey = getKey(parameters.userAddress, pair.handle.bytes32Hex);
99
99
  if (resultMap.get(userKey) !== true) {
100
100
  throw new AclUserDecryptionError({
101
- contractAddress: address,
102
- message: `User ${parameters.userAddress} is not authorized to decrypt handle ${pair.handle.bytes32Hex}!`,
101
+ contractAddress: aclAddress,
102
+ message: `User ${userAddress} is not authorized to decrypt handle ${pair.handle.bytes32Hex}!`,
103
103
  });
104
104
  }
105
105
 
@@ -107,7 +107,7 @@ export async function checkPersistAllowed(context: Context, parameters: Paramete
107
107
  const contractKey = getKey(pair.contractAddress, pair.handle.bytes32Hex);
108
108
  if (resultMap.get(contractKey) !== true) {
109
109
  throw new AclUserDecryptionError({
110
- contractAddress: address,
110
+ contractAddress: aclAddress,
111
111
  message: `Dapp contract ${pair.contractAddress} is not authorized to user decrypt handle ${pair.handle.bytes32Hex}!`,
112
112
  });
113
113
  }
@@ -12,7 +12,7 @@ type Context = {
12
12
  };
13
13
 
14
14
  type Parameters = {
15
- readonly address: ChecksummedAddress;
15
+ readonly fhevmExecutorAddress: ChecksummedAddress;
16
16
  };
17
17
 
18
18
  type ReturnType = ChecksummedAddress;
@@ -26,10 +26,9 @@ type ReturnType = ChecksummedAddress;
26
26
  */
27
27
  export async function getAclAddress(context: Context, parameters: Parameters): Promise<ReturnType> {
28
28
  const trustedClient = getTrustedClient(context);
29
- const address = parameters.address;
30
29
 
31
30
  const res = await context.runtime.ethereum.readContract(trustedClient, {
32
- address: address,
31
+ address: parameters.fhevmExecutorAddress,
33
32
  abi: getACLAddressAbi,
34
33
  args: [],
35
34
  functionName: getACLAddressAbi[0].name,
@@ -0,0 +1,92 @@
1
+ import type { ChecksummedAddress, Uint256BigInt } from '../types/primitives.js';
2
+ import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
3
+ import { getCurrentKmsContextAndEpochAbi } from './abi-fragments/fragments.js';
4
+ import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
5
+ import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
6
+ import { assertIsUint256 } from '../base/uint.js';
7
+ import { CACHE_TTL_24H, createCachedFetch } from '../base/cachedFetch.js';
8
+
9
+ ////////////////////////////////////////////////////////////////////////////////
10
+
11
+ type Context = {
12
+ readonly runtime: FhevmRuntime;
13
+ readonly client: NonNullable<object>;
14
+ };
15
+
16
+ type Parameters = {
17
+ readonly protocolConfigAddress: ChecksummedAddress;
18
+ };
19
+
20
+ type ReturnType = { readonly contextId: Uint256BigInt; readonly epochId: Uint256BigInt };
21
+
22
+ ////////////////////////////////////////////////////////////////////////////////
23
+
24
+ const cachedGetCurrentKmsContextAndEpoch = createCachedFetch<Context, Parameters, ReturnType>({
25
+ executeFn: _getCurrentKmsContextAndEpoch,
26
+ cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.protocolConfigAddress.toLowerCase()}`,
27
+ // Host contract values are immutable per deployment, so a long TTL is safe.
28
+ ttlMs: CACHE_TTL_24H,
29
+ });
30
+
31
+ /**
32
+ * Reads the current KMS context ID and epoch ID from a ProtocolConfig contract.
33
+ *
34
+ * Requires ProtocolConfig >= v0.2.0 (protocol v0.14.0).
35
+ *
36
+ * Results are cached per (runtime, address) with a 24-hour TTL.
37
+ * Concurrent callers share a single in-flight RPC request (deduplication).
38
+ *
39
+ * @param parameters.address - The checksummed address of the ProtocolConfig contract.
40
+ * @param parameters.forceRefresh - If `true`, invalidates the cached entry and
41
+ * makes a fresh RPC call. The new result is stored back in the cache.
42
+ */
43
+ export function getCurrentKmsContextAndEpoch(
44
+ context: Context,
45
+ parameters: Parameters & { readonly forceRefresh?: boolean | undefined },
46
+ ): Promise<ReturnType> {
47
+ return cachedGetCurrentKmsContextAndEpoch.execute(context, parameters);
48
+ }
49
+
50
+ async function _getCurrentKmsContextAndEpoch(context: Context, parameters: Parameters): Promise<ReturnType> {
51
+ const protocolConfigVersion = await getHostContractVersion(context, { address: parameters.protocolConfigAddress });
52
+
53
+ // getCurrentKmsContextAndEpoch requires ProtocolConfig >= v0.2.0 (protocol v0.14.0)
54
+ if (isVersionStrictlyBefore(protocolConfigVersion, { major: 0, minor: 2 })) {
55
+ throw new Error(
56
+ 'ProtocolConfig.getCurrentKmsContextAndEpoch() requires ProtocolConfig >= v0.2.0 (protocol v0.14.0)',
57
+ );
58
+ }
59
+
60
+ const trustedClient = getTrustedClient(context);
61
+
62
+ const res = await context.runtime.ethereum.readContract(trustedClient, {
63
+ address: parameters.protocolConfigAddress,
64
+ abi: getCurrentKmsContextAndEpochAbi,
65
+ args: [],
66
+ functionName: getCurrentKmsContextAndEpochAbi[0].name,
67
+ });
68
+
69
+ if (!Array.isArray(res) || res.length < 2) {
70
+ throw new Error(`Invalid getCurrentKmsContextAndEpoch result.`);
71
+ }
72
+
73
+ const unknownContextId = res[0] as unknown;
74
+ const unknownEpochId = res[1] as unknown;
75
+
76
+ try {
77
+ assertIsUint256(unknownContextId, {});
78
+ } catch (e) {
79
+ throw new Error(`Invalid KMS Context Id.`, { cause: e });
80
+ }
81
+
82
+ try {
83
+ assertIsUint256(unknownEpochId, {});
84
+ } catch (e) {
85
+ throw new Error(`Invalid KMS Epoch Id.`, { cause: e });
86
+ }
87
+
88
+ return Object.freeze({
89
+ contextId: BigInt(unknownContextId) as Uint256BigInt,
90
+ epochId: BigInt(unknownEpochId) as Uint256BigInt,
91
+ });
92
+ }
@@ -2,7 +2,7 @@ import type { ChecksummedAddress, Uint256BigInt } from '../types/primitives.js';
2
2
  import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
3
3
  import { getCurrentKmsContextIdAbi } from './abi-fragments/fragments.js';
4
4
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
5
- import { getVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
5
+ import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
6
6
  import { assertIsUint256 } from '../base/uint.js';
7
7
  import { CACHE_TTL_24H, createCachedFetch } from '../base/cachedFetch.js';
8
8
 
@@ -14,7 +14,7 @@ type Context = {
14
14
  };
15
15
 
16
16
  type Parameters = {
17
- readonly address: ChecksummedAddress;
17
+ readonly kmsVerifierAddress: ChecksummedAddress;
18
18
  };
19
19
 
20
20
  type ReturnType = Uint256BigInt;
@@ -23,7 +23,7 @@ type ReturnType = Uint256BigInt;
23
23
 
24
24
  const cachedGetCurrentKmsContextId = createCachedFetch<Context, Parameters, ReturnType>({
25
25
  executeFn: _getCurrentKmsContextId,
26
- cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.address.toLowerCase()}`,
26
+ cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}`,
27
27
  // Host contract versions are immutable per deployment, so a long TTL is safe.
28
28
  ttlMs: CACHE_TTL_24H,
29
29
  });
@@ -46,17 +46,17 @@ export function getCurrentKmsContextId(
46
46
  }
47
47
 
48
48
  async function _getCurrentKmsContextId(context: Context, parameters: Parameters): Promise<ReturnType> {
49
- const version = await getVersion(context, parameters);
50
- // getCurrentKmsContextId has been introduced in KMSVerifier.sol v0.2.0
51
- if (isVersionStrictlyBefore(version, { major: 0, minor: 2 })) {
49
+ const kmsVerifierVersion = await getHostContractVersion(context, { address: parameters.kmsVerifierAddress });
50
+
51
+ // getCurrentKmsContextId has been introduced in protocol v0.12.0 (KMSVerifier v0.2.0)
52
+ if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
52
53
  return 0n as Uint256BigInt;
53
54
  }
54
55
 
55
56
  const trustedClient = getTrustedClient(context);
56
- const address = parameters.address;
57
57
 
58
58
  const res = await context.runtime.ethereum.readContract(trustedClient, {
59
- address: address,
59
+ address: parameters.kmsVerifierAddress,
60
60
  abi: getCurrentKmsContextIdAbi,
61
61
  args: [],
62
62
  functionName: getCurrentKmsContextIdAbi[0].name,
@@ -12,7 +12,7 @@ type Context = {
12
12
  };
13
13
 
14
14
  type Parameters = {
15
- readonly address: ChecksummedAddress;
15
+ readonly aclAddress: ChecksummedAddress;
16
16
  };
17
17
 
18
18
  type ReturnType = ChecksummedAddress;
@@ -26,7 +26,7 @@ type ReturnType = ChecksummedAddress;
26
26
  */
27
27
  export async function getFhevmExecutorAddress(context: Context, parameters: Parameters): Promise<ReturnType> {
28
28
  const trustedClient = getTrustedClient(context);
29
- const address = parameters.address;
29
+ const address = parameters.aclAddress;
30
30
 
31
31
  const res = await context.runtime.ethereum.readContract(trustedClient, {
32
32
  address: address,
@@ -12,7 +12,7 @@ type Context = {
12
12
  };
13
13
 
14
14
  type Parameters = {
15
- readonly address: ChecksummedAddress;
15
+ readonly fhevmExecutorAddress: ChecksummedAddress;
16
16
  };
17
17
 
18
18
  type ReturnType = Uint8Number;
@@ -26,10 +26,9 @@ type ReturnType = Uint8Number;
26
26
  */
27
27
  export async function getHandleVersion(context: Context, parameters: Parameters): Promise<ReturnType> {
28
28
  const trustedClient = getTrustedClient(context);
29
- const address = parameters.address;
30
29
 
31
30
  const res = await context.runtime.ethereum.readContract(trustedClient, {
32
- address: address,
31
+ address: parameters.fhevmExecutorAddress,
33
32
  abi: getHandleVersionAbi,
34
33
  args: [],
35
34
  functionName: getHandleVersionAbi[0].name,
@@ -12,7 +12,7 @@ type Context = {
12
12
  };
13
13
 
14
14
  type Parameters = {
15
- readonly address: ChecksummedAddress;
15
+ readonly fhevmExecutorAddress: ChecksummedAddress;
16
16
  };
17
17
 
18
18
  type ReturnType = ChecksummedAddress;
@@ -26,10 +26,9 @@ type ReturnType = ChecksummedAddress;
26
26
  */
27
27
  export async function getHcuLimitAddress(context: Context, parameters: Parameters): Promise<ReturnType> {
28
28
  const trustedClient = getTrustedClient(context);
29
- const address = parameters.address;
30
29
 
31
30
  const res = await context.runtime.ethereum.readContract(trustedClient, {
32
- address: address,
31
+ address: parameters.fhevmExecutorAddress,
33
32
  abi: getHCULimitAddressAbi,
34
33
  args: [],
35
34
  functionName: getHCULimitAddressAbi[0].name,
@@ -12,7 +12,7 @@ type Context = {
12
12
  };
13
13
 
14
14
  type Parameters = {
15
- readonly address: ChecksummedAddress;
15
+ readonly fhevmExecutorAddress: ChecksummedAddress;
16
16
  };
17
17
 
18
18
  type ReturnType = ChecksummedAddress;
@@ -26,10 +26,9 @@ type ReturnType = ChecksummedAddress;
26
26
  */
27
27
  export async function getInputVerifierAddress(context: Context, parameters: Parameters): Promise<ReturnType> {
28
28
  const trustedClient = getTrustedClient(context);
29
- const address = parameters.address;
30
29
 
31
30
  const res = await context.runtime.ethereum.readContract(trustedClient, {
32
- address: address,
31
+ address: parameters.fhevmExecutorAddress,
33
32
  abi: getInputVerifierAddressAbi,
34
33
  args: [],
35
34
  functionName: getInputVerifierAddressAbi[0].name,
@@ -2,7 +2,7 @@ import type { ChecksummedAddress, Uint8Number } from '../types/primitives.js';
2
2
  import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
3
3
  import { assertIsChecksummedAddressArray } from '../base/address.js';
4
4
  import { asUint8Number, isUint8 } from '../base/uint.js';
5
- import { getVersion } from './HostContractVersion-p.js';
5
+ import { getHostContractVersion } from './HostContractVersion-p.js';
6
6
  import { isVersionStrictlyBefore } from '../host-contracts/HostContractVersion-p.js';
7
7
  import { executeWithBatching } from '../base/promise.js';
8
8
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
@@ -18,7 +18,7 @@ type Context = {
18
18
  };
19
19
 
20
20
  type Parameters = {
21
- readonly address: ChecksummedAddress;
21
+ readonly kmsVerifierAddress: ChecksummedAddress;
22
22
  };
23
23
 
24
24
  type ReturnType = {
@@ -30,7 +30,7 @@ type ReturnType = {
30
30
 
31
31
  const cachedGetKmsContextSignersAndThreshold = createCachedFetch<Context, Parameters, ReturnType>({
32
32
  executeFn: _getKmsContextSignersAndThreshold,
33
- cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.address.toLowerCase()}`,
33
+ cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}`,
34
34
  // Host contract versions are immutable per deployment, so a long TTL is safe.
35
35
  ttlMs: CACHE_TTL_24H,
36
36
  });
@@ -64,8 +64,8 @@ export function getKmsSignersAndThreshold(
64
64
  ////////////////////////////////////////////////////////////////////////////////
65
65
 
66
66
  async function _getKmsContextSignersAndThreshold(context: Context, parameters: Parameters): Promise<ReturnType> {
67
- const version = await getVersion(context, { address: parameters.address });
68
- if (!isVersionStrictlyBefore(version, { major: 0, minor: 2 })) {
67
+ const kmsVerifierVersion = await getHostContractVersion(context, { address: parameters.kmsVerifierAddress });
68
+ if (!isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
69
69
  throw new Error('getContextSignersAndThreshold requires KMSVerifier < v0.2.0');
70
70
  }
71
71
  ////////////////////////////////////////////////////////////////////////////
@@ -108,10 +108,9 @@ async function _getKmsContextSignersAndThreshold(context: Context, parameters: P
108
108
 
109
109
  async function _getThreshold(context: Context, parameters: Parameters): Promise<Uint8Number> {
110
110
  const trustedClient = getTrustedClient(context);
111
- const address = parameters.address;
112
111
 
113
112
  const res = await context.runtime.ethereum.readContract(trustedClient, {
114
- address: address,
113
+ address: parameters.kmsVerifierAddress,
115
114
  abi: getThresholdAbi,
116
115
  args: [],
117
116
  functionName: getThresholdAbi[0].name,
@@ -128,10 +127,9 @@ async function _getThreshold(context: Context, parameters: Parameters): Promise<
128
127
 
129
128
  async function _getKmsSigners(context: Context, parameters: Parameters): Promise<ChecksummedAddress[]> {
130
129
  const trustedClient = getTrustedClient(context);
131
- const address = parameters.address;
132
130
 
133
131
  const res = await context.runtime.ethereum.readContract(trustedClient, {
134
- address: address,
132
+ address: parameters.kmsVerifierAddress,
135
133
  abi: getKmsSignersAbi,
136
134
  args: [],
137
135
  functionName: getKmsSignersAbi[0].name,
@@ -1,6 +1,6 @@
1
1
  import type { BytesHex, ChecksummedAddress, Uint8Number } from '../types/primitives.js';
2
2
  import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
3
- import { getVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
3
+ import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
4
4
  import { createCachedFetch } from '../base/cachedFetch.js';
5
5
  import { assertIsKmsExtraData, fromKmsExtraData } from '../kms/kmsExtraData.js';
6
6
  import { assertIsChecksummedAddressArray } from '../base/address.js';
@@ -16,7 +16,7 @@ type Context = {
16
16
  };
17
17
 
18
18
  type Parameters = {
19
- readonly address: ChecksummedAddress;
19
+ readonly kmsVerifierAddress: ChecksummedAddress;
20
20
  readonly extraData: BytesHex;
21
21
  };
22
22
 
@@ -32,7 +32,7 @@ const cachedGetKmsContextSignersAndThresholdFromExtraData = createCachedFetch<Co
32
32
  cacheKeyFn: (context, params) => {
33
33
  const { kmsContextId } = fromKmsExtraData(params.extraData);
34
34
  const contextIdHex = kmsContextId.toString(16).padStart(64, '0');
35
- return `${context.runtime.uid.toLowerCase()}:${params.address.toLowerCase()}:${contextIdHex}`;
35
+ return `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}:${contextIdHex}`;
36
36
  },
37
37
  // Permanent cache: signers and threshold are immutable per context ID.
38
38
  });
@@ -69,16 +69,15 @@ async function _getKmsContextSignersAndThresholdFromExtraData(
69
69
  context: Context,
70
70
  parameters: Parameters,
71
71
  ): Promise<ReturnType> {
72
- const version = await getVersion(context, { address: parameters.address });
73
- if (isVersionStrictlyBefore(version, { major: 0, minor: 2 })) {
72
+ const kmsVerifierVersion = await getHostContractVersion(context, { address: parameters.kmsVerifierAddress });
73
+ if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
74
74
  throw new Error('getContextSignersAndThresholdFromExtraData requires KMSVerifier >= v0.2.0');
75
75
  }
76
76
 
77
77
  const trustedClient = getTrustedClient(context);
78
- const address = parameters.address;
79
78
 
80
79
  const res = await context.runtime.ethereum.readContract(trustedClient, {
81
- address: address,
80
+ address: parameters.kmsVerifierAddress,
82
81
  abi: getContextSignersAndThresholdFromExtraDataAbi,
83
82
  args: [parameters.extraData],
84
83
  functionName: getContextSignersAndThresholdFromExtraDataAbi[0].name,
@@ -1,6 +1,6 @@
1
1
  import type { ChecksummedAddress, Uint256BigInt } from '../types/primitives.js';
2
2
  import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
3
- import { getVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
3
+ import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
4
4
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
5
5
  import { getKmsSignersAbi, getSignersForKmsContextAbi } from './abi-fragments/fragments.js';
6
6
  import { assertIsChecksummedAddressArray } from '../base/address.js';
@@ -13,7 +13,7 @@ type Context = {
13
13
  };
14
14
 
15
15
  type Parameters = {
16
- readonly address: ChecksummedAddress;
16
+ readonly kmsVerifierAddress: ChecksummedAddress;
17
17
  readonly kmsContextId: Uint256BigInt;
18
18
  };
19
19
 
@@ -30,11 +30,11 @@ type ReturnType = ChecksummedAddress[];
30
30
  * Returns an empty array for KMSVerifier versions before v0.2.0 (where
31
31
  * per-context signers were not yet supported).
32
32
  *
33
- * @param parameters.address - The checksummed address of the KMSVerifier contract.
33
+ * @param parameters.kmsVerifierAddress - The checksummed address of the KMSVerifier contract.
34
34
  * @param parameters.kmsContextId - The context ID to query signers for.
35
35
  */
36
36
  export async function getSignersForKmsContext(context: Context, parameters: Parameters): Promise<ReturnType> {
37
- const version = await getVersion(context, parameters);
37
+ const version = await getHostContractVersion(context, { address: parameters.kmsVerifierAddress });
38
38
  // getCurrentKmsContextId has been introduced in KMSVerifier.sol v0.2.0
39
39
  if (isVersionStrictlyBefore(version, { major: 0, minor: 2 })) {
40
40
  if (parameters.kmsContextId === 0n) {
@@ -44,10 +44,9 @@ export async function getSignersForKmsContext(context: Context, parameters: Para
44
44
  }
45
45
 
46
46
  const trustedClient = getTrustedClient(context);
47
- const address = parameters.address;
48
47
 
49
48
  const res = await context.runtime.ethereum.readContract(trustedClient, {
50
- address: address,
49
+ address: parameters.kmsVerifierAddress,
51
50
  abi: getSignersForKmsContextAbi,
52
51
  args: [parameters.kmsContextId],
53
52
  functionName: getSignersForKmsContextAbi[0].name,
@@ -69,10 +68,9 @@ export async function getKmsSigners(
69
68
  parameters: Omit<Parameters, 'kmsContextId'>,
70
69
  ): Promise<ReturnType> {
71
70
  const trustedClient = getTrustedClient(context);
72
- const address = parameters.address;
73
71
 
74
72
  const res = await context.runtime.ethereum.readContract(trustedClient, {
75
- address: address,
73
+ address: parameters.kmsVerifierAddress,
76
74
  abi: getKmsSignersAbi,
77
75
  args: [],
78
76
  functionName: getKmsSignersAbi[0].name,
@@ -14,7 +14,7 @@ type Context = {
14
14
  };
15
15
 
16
16
  type Parameters = {
17
- readonly address: ChecksummedAddress;
17
+ readonly aclAddress: ChecksummedAddress;
18
18
  readonly handles: readonly Handle[];
19
19
  };
20
20
 
@@ -23,12 +23,12 @@ type ReturnType = boolean[];
23
23
  ////////////////////////////////////////////////////////////////////////////////
24
24
 
25
25
  export async function isAllowedForDecryption(context: Context, parameters: Parameters): Promise<ReturnType> {
26
- const { address, handles } = parameters;
26
+ const { aclAddress, handles } = parameters;
27
27
 
28
28
  const rpcCalls = handles.map(
29
29
  (handle) => () =>
30
30
  _isAllowedForDecryption(context, {
31
- address,
31
+ aclAddress,
32
32
  handle,
33
33
  }),
34
34
  );
@@ -43,15 +43,15 @@ export async function isAllowedForDecryption(context: Context, parameters: Param
43
43
  async function _isAllowedForDecryption(
44
44
  context: Context,
45
45
  parameters: {
46
- readonly address: ChecksummedAddress;
46
+ readonly aclAddress: ChecksummedAddress;
47
47
  readonly handle: Handle;
48
48
  },
49
49
  ): Promise<boolean> {
50
- const { address, handle } = parameters;
50
+ const { aclAddress, handle } = parameters;
51
51
  const trustedClient = getTrustedClient(context);
52
52
 
53
53
  const res = await context.runtime.ethereum.readContract(trustedClient, {
54
- address: address,
54
+ address: aclAddress,
55
55
  abi: isAllowedForDecryptionAbi,
56
56
  args: [handle.bytes32Hex],
57
57
  functionName: isAllowedForDecryptionAbi[0].name,
@@ -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 delegate: ChecksummedAddress;
20
20
  readonly delegator: ChecksummedAddress;
21
21
  readonly pairs: readonly HandleContractPair[];
@@ -29,12 +29,12 @@ export async function isHandleDelegatedForUserDecryption(
29
29
  context: Context,
30
30
  parameters: Parameters,
31
31
  ): Promise<ReturnType> {
32
- const { address, delegate, delegator, pairs } = parameters;
32
+ const { aclAddress, delegate, delegator, pairs } = parameters;
33
33
 
34
34
  const rpcCalls = pairs.map(
35
35
  (pair) => () =>
36
36
  _isHandleDelegatedForUserDecryption(context, {
37
- address,
37
+ aclAddress,
38
38
  delegate,
39
39
  delegator,
40
40
  handle: pair.handle,
@@ -52,25 +52,25 @@ export async function isHandleDelegatedForUserDecryption(
52
52
  async function _isHandleDelegatedForUserDecryption(
53
53
  context: Context,
54
54
  parameters: {
55
- readonly address: ChecksummedAddress;
55
+ readonly aclAddress: ChecksummedAddress;
56
56
  readonly delegator: ChecksummedAddress;
57
57
  readonly delegate: ChecksummedAddress;
58
58
  readonly contractAddress: ChecksummedAddress;
59
59
  readonly handle: Handle;
60
60
  },
61
61
  ): Promise<boolean> {
62
- const { address, delegator, delegate, contractAddress, handle } = parameters;
62
+ const { aclAddress, delegator, delegate, contractAddress, handle } = parameters;
63
63
  const trustedClient = getTrustedClient(context);
64
64
 
65
65
  const res = await context.runtime.ethereum.readContract(trustedClient, {
66
- address: address,
66
+ address: aclAddress,
67
67
  abi: isHandleDelegatedForUserDecryptionAbi,
68
68
  args: [delegator, delegate, contractAddress, handle.bytes32Hex],
69
69
  functionName: isHandleDelegatedForUserDecryptionAbi[0].name,
70
70
  });
71
71
 
72
72
  if (typeof res !== 'boolean') {
73
- throw new Error(`Invalid isHandleDelegatedForUserDecryptionAbi result.`);
73
+ throw new Error(`Invalid isHandleDelegatedForUserDecryption result.`);
74
74
  }
75
75
 
76
76
  return res;
@@ -13,7 +13,7 @@ type Context = {
13
13
  };
14
14
 
15
15
  type Parameters = {
16
- readonly address: ChecksummedAddress;
16
+ readonly aclAddress: ChecksummedAddress;
17
17
  readonly userAddress: ChecksummedAddress;
18
18
  readonly handleContractPairs: ReadonlyArray<{
19
19
  readonly handle: Handle;
@@ -33,7 +33,7 @@ type ReturnType = ReadonlyArray<{
33
33
  * See FHE.sol : isUserDecryptable()
34
34
  */
35
35
  export async function isUserDecryptable(context: Context, parameters: Parameters): Promise<ReturnType> {
36
- const { address, userAddress, handleContractPairs } = parameters;
36
+ const { aclAddress, userAddress, handleContractPairs } = parameters;
37
37
 
38
38
  function getKey(addr: string, handleBytes32Hex: string): string {
39
39
  return `${addr}:${handleBytes32Hex}`.toLowerCase();
@@ -63,7 +63,7 @@ export async function isUserDecryptable(context: Context, parameters: Parameters
63
63
  }
64
64
 
65
65
  const dedupedResults = await persistAllowed(context, {
66
- address,
66
+ aclAddress,
67
67
  pairs: dedupedChecks,
68
68
  });
69
69
 
@@ -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 pairs: readonly HandleAccountPair[];
20
20
  };
21
21
 
@@ -24,12 +24,12 @@ type ReturnType = boolean[];
24
24
  ////////////////////////////////////////////////////////////////////////////////
25
25
 
26
26
  export async function persistAllowed(context: Context, parameters: Parameters): Promise<ReturnType> {
27
- const { address, pairs } = parameters;
27
+ const { aclAddress, pairs } = parameters;
28
28
 
29
29
  const rpcCalls = pairs.map(
30
30
  (pair) => () =>
31
31
  _persistAllowed(context, {
32
- address,
32
+ aclAddress,
33
33
  handle: pair.handle,
34
34
  account: pair.account,
35
35
  }),
@@ -45,16 +45,16 @@ export async function persistAllowed(context: Context, parameters: Parameters):
45
45
  async function _persistAllowed(
46
46
  context: Context,
47
47
  parameters: {
48
- readonly address: ChecksummedAddress;
48
+ readonly aclAddress: ChecksummedAddress;
49
49
  readonly handle: Handle;
50
50
  readonly account: ChecksummedAddress;
51
51
  },
52
52
  ): Promise<boolean> {
53
- const { address, handle, account } = parameters;
53
+ const { aclAddress, handle, account } = parameters;
54
54
  const trustedClient = getTrustedClient(context);
55
55
 
56
56
  const res = await context.runtime.ethereum.readContract(trustedClient, {
57
- address: address,
57
+ address: aclAddress,
58
58
  abi: persistAllowedAbi,
59
59
  args: [handle.bytes32Hex, account],
60
60
  functionName: persistAllowedAbi[0].name,