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

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 (670) hide show
  1. package/README.md +5 -5
  2. package/_cjs/core/_version.js +1 -1
  3. package/_cjs/core/actions/base/index.js +1 -17
  4. package/_cjs/core/actions/base/index.js.map +1 -1
  5. package/_cjs/core/actions/base/signDecryptionPermit.js +0 -3
  6. package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -1
  7. package/_cjs/core/actions/chain/index.js +1 -13
  8. package/_cjs/core/actions/chain/index.js.map +1 -1
  9. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
  10. package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
  11. package/_cjs/core/actions/decrypt/canDecryptValue.js.map +1 -1
  12. package/_cjs/core/actions/decrypt/canDecryptValues.js.map +1 -1
  13. package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
  14. package/_cjs/core/actions/decrypt/decryptValue.js +1 -0
  15. package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
  16. package/_cjs/core/actions/decrypt/decryptValues.js +2 -0
  17. package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
  18. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
  19. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  20. package/_cjs/core/actions/decrypt/index.js +1 -3
  21. package/_cjs/core/actions/decrypt/index.js.map +1 -1
  22. package/_cjs/core/actions/encrypt/encryptValue.js +2 -1
  23. package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -1
  24. package/_cjs/core/actions/encrypt/encryptValues.js +2 -1
  25. package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -1
  26. package/_cjs/core/actions/encrypt/generateZkProof.js +2 -1
  27. package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -1
  28. package/_cjs/core/actions/host/index.js +1 -9
  29. package/_cjs/core/actions/host/index.js.map +1 -1
  30. package/_cjs/core/actions/host/readKmsVerifierContractData.js +1 -1
  31. package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -1
  32. package/_cjs/core/base/cachedFetch.js +2 -1
  33. package/_cjs/core/base/cachedFetch.js.map +1 -1
  34. package/_cjs/core/base/uint.js +7 -0
  35. package/_cjs/core/base/uint.js.map +1 -1
  36. package/_cjs/core/clients/decorators/base.js +1 -1
  37. package/_cjs/core/clients/decorators/base.js.map +1 -1
  38. package/_cjs/core/handle/FheType.js +4 -0
  39. package/_cjs/core/handle/FheType.js.map +1 -1
  40. package/_cjs/core/host-contracts/HostContractVersion-p.js +4 -0
  41. package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -1
  42. package/_cjs/core/host-contracts/KmsSignersContext-p.js +15 -25
  43. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  44. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +4 -1
  45. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  46. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +1 -1
  47. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
  48. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +1 -1
  49. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
  50. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +1 -1
  51. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  52. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +1 -1
  53. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  54. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +7 -6
  55. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  56. package/_cjs/core/host-contracts/readKmsSignersContext-p.js +54 -66
  57. package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  58. package/_cjs/core/kms/KmsSigncryptedShares-p.js +40 -4
  59. package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  60. package/_cjs/core/kms/PublicDecryptionProof-p.js +8 -7
  61. package/_cjs/core/kms/PublicDecryptionProof-p.js.map +1 -1
  62. package/_cjs/core/kms/SignedDecryptionPermit-p.js +33 -199
  63. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  64. package/_cjs/core/kms/SignedDecryptionPermitV1-p.js +204 -0
  65. package/_cjs/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
  66. package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +172 -0
  67. package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
  68. package/_cjs/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +12 -13
  69. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  70. package/_cjs/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +22 -21
  71. package/_cjs/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
  72. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +4 -5
  73. package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
  74. package/_cjs/core/kms/decryptValuesFromPairs.js +18 -2
  75. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
  76. package/_cjs/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +19 -9
  77. package/_cjs/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
  78. package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js +95 -0
  79. package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
  80. package/_cjs/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +8 -8
  81. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
  82. package/_cjs/core/kms/kmsExtraData-p.js +234 -0
  83. package/_cjs/core/kms/kmsExtraData-p.js.map +1 -0
  84. package/_cjs/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +8 -8
  85. package/_cjs/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
  86. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
  87. package/_cjs/core/kms/publicDecrypt.js +5 -5
  88. package/_cjs/core/kms/publicDecrypt.js.map +1 -1
  89. package/_cjs/core/kms/utils.js +0 -19
  90. package/_cjs/core/kms/utils.js.map +1 -1
  91. package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +6 -5
  92. package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -1
  93. package/_cjs/core/modules/decrypt/mock.js +6 -6
  94. package/_cjs/core/modules/decrypt/mock.js.map +1 -1
  95. package/_cjs/core/modules/decrypt/module/api-p.js +12 -12
  96. package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
  97. package/_cjs/core/modules/decrypt/module/init-p.js +6 -7
  98. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
  99. package/_cjs/core/modules/encrypt/module/init-p.js +12 -11
  100. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
  101. package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +53 -3
  102. package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -1
  103. package/_cjs/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +67 -21
  104. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.js.map +1 -0
  105. package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +64 -7
  106. package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -1
  107. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +9 -108
  108. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  109. package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV1.js +163 -0
  110. package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV1.js.map +1 -0
  111. package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV2.js +7 -0
  112. package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV2.js.map +1 -0
  113. package/_cjs/core/modules/relayer/cleartext/forgeFhevmV1.js +83 -0
  114. package/_cjs/core/modules/relayer/cleartext/forgeFhevmV1.js.map +1 -0
  115. package/_cjs/core/modules/relayer/cleartext/mock.js +2 -2
  116. package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -1
  117. package/_cjs/core/modules/relayer/cleartext/signers.js +14 -0
  118. package/_cjs/core/modules/relayer/cleartext/signers.js.map +1 -1
  119. package/_cjs/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
  120. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
  121. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  122. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +11 -45
  123. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  124. package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js +52 -0
  125. package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
  126. package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js +54 -0
  127. package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
  128. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
  129. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
  130. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +5 -2
  131. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
  132. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
  133. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
  134. package/_cjs/core/modules/relayer/module/index.js +2 -2
  135. package/_cjs/core/modules/relayer/module/index.js.map +1 -1
  136. package/_cjs/core/runtime/HyperWasmSolver-p.js +1 -6
  137. package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -1
  138. package/_cjs/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
  139. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  140. package/_cjs/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
  141. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
  142. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +30 -0
  143. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
  144. package/_cjs/ethers/internal/ethereum-ct.js +11 -0
  145. package/_cjs/ethers/internal/ethereum-ct.js.map +1 -1
  146. package/_cjs/ethers/internal/runtime-ct.js +9 -7
  147. package/_cjs/ethers/internal/runtime-ct.js.map +1 -1
  148. package/_cjs/viem/internal/ethereum-ct.js +8 -0
  149. package/_cjs/viem/internal/ethereum-ct.js.map +1 -1
  150. package/_cjs/viem/internal/runtime-ct.js +9 -7
  151. package/_cjs/viem/internal/runtime-ct.js.map +1 -1
  152. package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
  153. package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
  154. package/_esm/core/_version.js +1 -1
  155. package/_esm/core/actions/base/index.js +0 -8
  156. package/_esm/core/actions/base/index.js.map +1 -1
  157. package/_esm/core/actions/base/signDecryptionPermit.js +0 -6
  158. package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
  159. package/_esm/core/actions/chain/index.js +0 -6
  160. package/_esm/core/actions/chain/index.js.map +1 -1
  161. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
  162. package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
  163. package/_esm/core/actions/decrypt/canDecryptValue.js +40 -0
  164. package/_esm/core/actions/decrypt/canDecryptValue.js.map +1 -1
  165. package/_esm/core/actions/decrypt/canDecryptValues.js +1 -0
  166. package/_esm/core/actions/decrypt/canDecryptValues.js.map +1 -1
  167. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js +1 -0
  168. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
  169. package/_esm/core/actions/decrypt/decryptValue.js +1 -0
  170. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
  171. package/_esm/core/actions/decrypt/decryptValues.js +2 -0
  172. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
  173. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
  174. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  175. package/_esm/core/actions/decrypt/index.js +0 -1
  176. package/_esm/core/actions/decrypt/index.js.map +1 -1
  177. package/_esm/core/actions/encrypt/encryptValue.js +2 -1
  178. package/_esm/core/actions/encrypt/encryptValue.js.map +1 -1
  179. package/_esm/core/actions/encrypt/encryptValues.js +2 -1
  180. package/_esm/core/actions/encrypt/encryptValues.js.map +1 -1
  181. package/_esm/core/actions/encrypt/generateZkProof.js +2 -1
  182. package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -1
  183. package/_esm/core/actions/host/index.js +0 -4
  184. package/_esm/core/actions/host/index.js.map +1 -1
  185. package/_esm/core/actions/host/readKmsVerifierContractData.js +2 -2
  186. package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
  187. package/_esm/core/base/cachedFetch.js +1 -0
  188. package/_esm/core/base/cachedFetch.js.map +1 -1
  189. package/_esm/core/base/uint.js +7 -0
  190. package/_esm/core/base/uint.js.map +1 -1
  191. package/_esm/core/clients/decorators/base.js +2 -4
  192. package/_esm/core/clients/decorators/base.js.map +1 -1
  193. package/_esm/core/coprocessor/coprocessorEip712Types.js +2 -2
  194. package/_esm/core/handle/FheType.js +10 -0
  195. package/_esm/core/handle/FheType.js.map +1 -1
  196. package/_esm/core/host-contracts/HostContractVersion-p.js +6 -0
  197. package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -1
  198. package/_esm/core/host-contracts/KmsSignersContext-p.js +16 -25
  199. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  200. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +5 -2
  201. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  202. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +2 -2
  203. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
  204. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +2 -2
  205. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
  206. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +2 -2
  207. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  208. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +2 -2
  209. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  210. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +6 -5
  211. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
  212. package/_esm/core/host-contracts/readKmsSignersContext-p.js +132 -68
  213. package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  214. package/_esm/core/kms/KmsSigncryptedShares-p.js +70 -4
  215. package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -1
  216. package/_esm/core/kms/PublicDecryptionProof-p.js +8 -7
  217. package/_esm/core/kms/PublicDecryptionProof-p.js.map +1 -1
  218. package/_esm/core/kms/SignedDecryptionPermit-p.js +48 -245
  219. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  220. package/_esm/core/kms/SignedDecryptionPermitV1-p.js +228 -0
  221. package/_esm/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
  222. package/_esm/core/kms/SignedDecryptionPermitV2-p.js +192 -0
  223. package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
  224. package/_esm/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +11 -12
  225. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  226. package/_esm/core/kms/createKmsPublicDecryptEip712.js +1 -1
  227. package/_esm/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +23 -22
  228. package/_esm/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
  229. package/_esm/core/kms/createKmsUserDecryptEip712V2.js +4 -5
  230. package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
  231. package/_esm/core/kms/decryptValuesFromPairs.js +18 -2
  232. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
  233. package/_esm/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +49 -15
  234. package/_esm/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
  235. package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js +119 -0
  236. package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
  237. package/_esm/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +9 -8
  238. package/_esm/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
  239. package/_esm/core/kms/kmsExtraData-p.js +298 -0
  240. package/_esm/core/kms/kmsExtraData-p.js.map +1 -0
  241. package/_esm/core/kms/kmsPublicDecryptEip712Types.js +1 -1
  242. package/_esm/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +9 -8
  243. package/_esm/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
  244. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +2 -1
  245. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
  246. package/_esm/core/kms/publicDecrypt.js +6 -6
  247. package/_esm/core/kms/publicDecrypt.js.map +1 -1
  248. package/_esm/core/kms/utils.js +0 -18
  249. package/_esm/core/kms/utils.js.map +1 -1
  250. package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +7 -6
  251. package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -1
  252. package/_esm/core/modules/decrypt/mock.js +6 -6
  253. package/_esm/core/modules/decrypt/mock.js.map +1 -1
  254. package/_esm/core/modules/decrypt/module/api-p.js +13 -13
  255. package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
  256. package/_esm/core/modules/decrypt/module/init-p.js +7 -7
  257. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
  258. package/_esm/core/modules/encrypt/module/init-p.js +13 -11
  259. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
  260. package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +69 -12
  261. package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -1
  262. package/_esm/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +76 -22
  263. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.js.map +1 -0
  264. package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +80 -7
  265. package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -1
  266. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +13 -114
  267. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  268. package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV1.js +173 -0
  269. package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV1.js.map +1 -0
  270. package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV2.js +6 -0
  271. package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV2.js.map +1 -0
  272. package/_esm/core/modules/relayer/cleartext/forgeFhevmV1.js +140 -0
  273. package/_esm/core/modules/relayer/cleartext/forgeFhevmV1.js.map +1 -0
  274. package/_esm/core/modules/relayer/cleartext/mock.js +1 -1
  275. package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -1
  276. package/_esm/core/modules/relayer/cleartext/signers.js +26 -0
  277. package/_esm/core/modules/relayer/cleartext/signers.js.map +1 -1
  278. package/_esm/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
  279. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
  280. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  281. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +11 -46
  282. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  283. package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js +53 -0
  284. package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
  285. package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js +56 -0
  286. package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
  287. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
  288. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
  289. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +6 -3
  290. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
  291. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
  292. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
  293. package/_esm/core/modules/relayer/module/index.js +1 -1
  294. package/_esm/core/modules/relayer/module/index.js.map +1 -1
  295. package/_esm/core/runtime/HyperWasmSolver-p.js +1 -6
  296. package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -1
  297. package/_esm/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
  298. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  299. package/_esm/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
  300. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
  301. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +27 -0
  302. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
  303. package/_esm/ethers/internal/ethereum-ct.js +12 -1
  304. package/_esm/ethers/internal/ethereum-ct.js.map +1 -1
  305. package/_esm/ethers/internal/runtime-ct.js +9 -7
  306. package/_esm/ethers/internal/runtime-ct.js.map +1 -1
  307. package/_esm/viem/internal/ethereum-ct.js +10 -2
  308. package/_esm/viem/internal/ethereum-ct.js.map +1 -1
  309. package/_esm/viem/internal/runtime-ct.js +9 -7
  310. package/_esm/viem/internal/runtime-ct.js.map +1 -1
  311. package/_types/core/actions/base/index.d.ts +0 -8
  312. package/_types/core/actions/base/index.d.ts.map +1 -1
  313. package/_types/core/actions/base/signDecryptionPermit.d.ts +4 -5
  314. package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
  315. package/_types/core/actions/chain/index.d.ts +1 -7
  316. package/_types/core/actions/chain/index.d.ts.map +1 -1
  317. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +1 -0
  318. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
  319. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts +3 -2
  320. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts.map +1 -1
  321. package/_types/core/actions/decrypt/canDecryptValue.d.ts +3 -4
  322. package/_types/core/actions/decrypt/canDecryptValue.d.ts.map +1 -1
  323. package/_types/core/actions/decrypt/canDecryptValues.d.ts +3 -4
  324. package/_types/core/actions/decrypt/canDecryptValues.d.ts.map +1 -1
  325. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +3 -4
  326. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts.map +1 -1
  327. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
  328. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
  329. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
  330. package/_types/core/actions/decrypt/index.d.ts +0 -1
  331. package/_types/core/actions/decrypt/index.d.ts.map +1 -1
  332. package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -1
  333. package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -1
  334. package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -1
  335. package/_types/core/actions/host/index.d.ts +0 -4
  336. package/_types/core/actions/host/index.d.ts.map +1 -1
  337. package/_types/core/base/cachedFetch.d.ts +1 -0
  338. package/_types/core/base/cachedFetch.d.ts.map +1 -1
  339. package/_types/core/base/uint.d.ts +2 -1
  340. package/_types/core/base/uint.d.ts.map +1 -1
  341. package/_types/core/clients/decorators/base.d.ts +12 -23
  342. package/_types/core/clients/decorators/base.d.ts.map +1 -1
  343. package/_types/core/handle/FheType.d.ts +8 -0
  344. package/_types/core/handle/FheType.d.ts.map +1 -1
  345. package/_types/core/host-contracts/HostContractVersion-p.d.ts +8 -0
  346. package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -1
  347. package/_types/core/host-contracts/KmsSignersContext-p.d.ts +3 -2
  348. package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -1
  349. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +2 -2
  350. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -1
  351. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +3 -2
  352. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -1
  353. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +43 -26
  354. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
  355. package/_types/core/kms/KmsSigncryptedShares-p.d.ts +18 -0
  356. package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -1
  357. package/_types/core/kms/PublicDecryptionProof-p.d.ts +1 -1
  358. package/_types/core/kms/PublicDecryptionProof-p.d.ts.map +1 -1
  359. package/_types/core/kms/SignedDecryptionPermit-p.d.ts +15 -29
  360. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
  361. package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts +7 -0
  362. package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts.map +1 -0
  363. package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts +7 -0
  364. package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts.map +1 -0
  365. package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts +16 -0
  366. package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
  367. package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts +27 -0
  368. package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts.map +1 -0
  369. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +3 -2
  370. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -1
  371. package/_types/core/kms/decryptValuesFromPairs.d.ts +4 -11
  372. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
  373. package/_types/core/kms/{fetchKmsSigncryptedShares-p.d.ts → fetchKmsSigncryptedSharesV1-p.d.ts} +10 -12
  374. package/_types/core/kms/fetchKmsSigncryptedSharesV1-p.d.ts.map +1 -0
  375. package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts +28 -0
  376. package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts.map +1 -0
  377. package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts +3 -0
  378. package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts.map +1 -0
  379. package/_types/core/kms/kmsExtraData-p.d.ts +66 -0
  380. package/_types/core/kms/kmsExtraData-p.d.ts.map +1 -0
  381. package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts +3 -0
  382. package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts.map +1 -0
  383. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -1
  384. package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
  385. package/_types/core/kms/utils.d.ts +0 -4
  386. package/_types/core/kms/utils.d.ts.map +1 -1
  387. package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts +1 -1
  388. package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts.map +1 -1
  389. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
  390. package/_types/core/modules/ethereum/types-ct.d.ts +20 -2
  391. package/_types/core/modules/ethereum/types-ct.d.ts.map +1 -1
  392. package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts.map +1 -1
  393. package/_types/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.d.ts → fetchDelegatedUserDecryptV1.d.ts} +1 -1
  394. package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.d.ts.map +1 -0
  395. package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts.map +1 -1
  396. package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -1
  397. package/_types/core/modules/relayer/cleartext/fetchUserDecryptV1.d.ts +3 -0
  398. package/_types/core/modules/relayer/cleartext/fetchUserDecryptV1.d.ts.map +1 -0
  399. package/_types/core/modules/relayer/cleartext/fetchUserDecryptV2.d.ts +3 -0
  400. package/_types/core/modules/relayer/cleartext/fetchUserDecryptV2.d.ts.map +1 -0
  401. package/_types/core/modules/relayer/cleartext/forgeFhevmV1.d.ts +29 -0
  402. package/_types/core/modules/relayer/cleartext/forgeFhevmV1.d.ts.map +1 -0
  403. package/_types/core/modules/relayer/cleartext/signers.d.ts +1 -0
  404. package/_types/core/modules/relayer/cleartext/signers.d.ts.map +1 -1
  405. package/_types/core/modules/relayer/module/{fetchDelegatedUserDecrypt.d.ts → fetchDelegatedUserDecryptV1.d.ts} +1 -1
  406. package/_types/core/modules/relayer/module/fetchDelegatedUserDecryptV1.d.ts.map +1 -0
  407. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
  408. package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts +3 -0
  409. package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts.map +1 -0
  410. package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts +3 -0
  411. package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts.map +1 -0
  412. package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts.map +1 -1
  413. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts +1 -1
  414. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts.map +1 -1
  415. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts.map +1 -1
  416. package/_types/core/modules/relayer/types.d.ts +18 -5
  417. package/_types/core/modules/relayer/types.d.ts.map +1 -1
  418. package/_types/core/types/kms-p.d.ts +7 -1
  419. package/_types/core/types/kms-p.d.ts.map +1 -1
  420. package/_types/core/types/kms.d.ts +18 -19
  421. package/_types/core/types/kms.d.ts.map +1 -1
  422. package/_types/core/types/logger.d.ts +3 -3
  423. package/_types/core/types/logger.d.ts.map +1 -1
  424. package/_types/core/types/record-p.d.ts +2 -1
  425. package/_types/core/types/record-p.d.ts.map +1 -1
  426. package/_types/core/types/relayer-p.d.ts +27 -5
  427. package/_types/core/types/relayer-p.d.ts.map +1 -1
  428. package/_types/core/types/signedDecryptionPermit.d.ts +37 -26
  429. package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -1
  430. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts +14 -0
  431. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
  432. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts +14 -0
  433. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts.map +1 -0
  434. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts +14 -0
  435. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts.map +1 -0
  436. package/_types/core/utils-p/runtime/recoverSigners.d.ts +2 -2
  437. package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -1
  438. package/_types/ethers/internal/runtime-ct.d.ts.map +1 -1
  439. package/_types/viem/internal/ethereum-ct.d.ts.map +1 -1
  440. package/_types/viem/internal/runtime-ct.d.ts.map +1 -1
  441. package/core/_version.ts +1 -1
  442. package/core/actions/base/index.ts +0 -42
  443. package/core/actions/base/signDecryptionPermit.ts +3 -31
  444. package/core/actions/chain/index.ts +0 -28
  445. package/core/actions/chain/parseSignedDecryptionPermit.ts +1 -0
  446. package/core/actions/chain/serializeSignedDecryptionPermit.ts +3 -2
  447. package/core/actions/decrypt/canDecryptValue.ts +2 -16
  448. package/core/actions/decrypt/canDecryptValues.ts +2 -16
  449. package/core/actions/decrypt/canDecryptValuesFromPairs.ts +2 -16
  450. package/core/actions/decrypt/decryptValue.ts +2 -1
  451. package/core/actions/decrypt/decryptValues.ts +3 -1
  452. package/core/actions/decrypt/decryptValuesFromPairs.ts +3 -1
  453. package/core/actions/decrypt/index.ts +0 -6
  454. package/core/actions/encrypt/encryptValue.ts +4 -1
  455. package/core/actions/encrypt/encryptValues.ts +5 -1
  456. package/core/actions/encrypt/generateZkProof.ts +2 -1
  457. package/core/actions/host/index.ts +0 -20
  458. package/core/actions/host/readKmsVerifierContractData.ts +2 -2
  459. package/core/base/cachedFetch.ts +1 -0
  460. package/core/base/uint.ts +18 -1
  461. package/core/clients/decorators/base.ts +13 -37
  462. package/core/coprocessor/coprocessorEip712Types.ts +2 -2
  463. package/core/handle/FheType.ts +11 -0
  464. package/core/host-contracts/HostContractVersion-p.ts +12 -0
  465. package/core/host-contracts/KmsSignersContext-p.ts +29 -36
  466. package/core/host-contracts/canDecryptValuesFromPairs.ts +7 -7
  467. package/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.ts +2 -2
  468. package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +2 -2
  469. package/core/host-contracts/getCurrentKmsContextId-p.ts +2 -2
  470. package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +3 -2
  471. package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +10 -7
  472. package/core/host-contracts/readKmsSignersContext-p.ts +156 -115
  473. package/core/kms/KmsSigncryptedShares-p.ts +87 -4
  474. package/core/kms/PublicDecryptionProof-p.ts +11 -9
  475. package/core/kms/SignedDecryptionPermit-p.ts +67 -357
  476. package/core/kms/SignedDecryptionPermitV1-p.ts +308 -0
  477. package/core/kms/SignedDecryptionPermitV2-p.ts +275 -0
  478. package/core/kms/{createKmsDelegatedUserDecryptEip712.ts → createKmsDelegatedUserDecryptEip712V1.ts} +21 -21
  479. package/core/kms/createKmsPublicDecryptEip712.ts +1 -1
  480. package/core/kms/{createKmsUserDecryptEip712.ts → createKmsUserDecryptEip712V1.ts} +35 -31
  481. package/core/kms/createKmsUserDecryptEip712V2.ts +7 -7
  482. package/core/kms/decryptValuesFromPairs.ts +34 -22
  483. package/core/kms/{fetchKmsSigncryptedShares-p.ts → fetchKmsSigncryptedSharesV1-p.ts} +62 -45
  484. package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +176 -0
  485. package/core/kms/{kmsDelegatedUserDecryptEip712Types.ts → kmsDelegatedUserDecryptEip712V1Types.ts} +9 -8
  486. package/core/kms/kmsExtraData-p.ts +374 -0
  487. package/core/kms/kmsPublicDecryptEip712Types.ts +1 -1
  488. package/core/kms/{kmsUserDecryptEip712Types.ts → kmsUserDecryptEip712V1Types.ts} +9 -8
  489. package/core/kms/kmsUserDecryptEip712V2Types.ts +2 -1
  490. package/core/kms/publicDecrypt.ts +10 -9
  491. package/core/kms/utils.ts +0 -32
  492. package/core/kms/verifyKmsPublicDecryptEip712-p.ts +10 -8
  493. package/core/modules/decrypt/mock.ts +6 -6
  494. package/core/modules/decrypt/module/api-p.ts +15 -15
  495. package/core/modules/decrypt/module/init-p.ts +7 -7
  496. package/core/modules/encrypt/module/init-p.ts +16 -11
  497. package/core/modules/ethereum/types-ct.ts +25 -2
  498. package/core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts +98 -15
  499. package/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +115 -27
  500. package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +115 -9
  501. package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +23 -131
  502. package/core/modules/relayer/cleartext/fetchUserDecryptV1.ts +229 -0
  503. package/core/modules/relayer/cleartext/fetchUserDecryptV2.ts +11 -0
  504. package/core/modules/relayer/cleartext/forgeFhevmV1.ts +185 -0
  505. package/core/modules/relayer/cleartext/mock.ts +1 -1
  506. package/core/modules/relayer/cleartext/signers.ts +35 -0
  507. package/core/modules/relayer/module/fetchPublicDecrypt.ts +1 -1
  508. package/core/modules/relayer/module/fetchUserDecrypt.ts +20 -56
  509. package/core/modules/relayer/module/fetchUserDecryptV1.ts +69 -0
  510. package/core/modules/relayer/module/fetchUserDecryptV2.ts +71 -0
  511. package/core/modules/relayer/module/guards/RelayerResponseFailed.ts +10 -2
  512. package/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.ts +6 -3
  513. package/core/modules/relayer/module/guards/api-errors/RelayerApiError503.ts +2 -0
  514. package/core/modules/relayer/module/index.ts +1 -1
  515. package/core/modules/relayer/types.ts +24 -5
  516. package/core/runtime/HyperWasmSolver-p.ts +1 -5
  517. package/core/types/kms-p.ts +16 -1
  518. package/core/types/kms.ts +40 -28
  519. package/core/types/logger.ts +3 -3
  520. package/core/types/record-p.ts +2 -1
  521. package/core/types/relayer-p.ts +48 -5
  522. package/core/types/signedDecryptionPermit.ts +47 -26
  523. package/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.ts → verifyKmsDelegatedUserDecryptEip712V1.ts} +9 -9
  524. package/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.ts → verifyKmsUserDecryptEip712V1.ts} +9 -9
  525. package/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.ts +43 -0
  526. package/core/utils-p/runtime/recoverSigners.ts +2 -2
  527. package/ethers/internal/ethereum-ct.ts +15 -1
  528. package/ethers/internal/runtime-ct.ts +9 -7
  529. package/package.json +1 -1
  530. package/viem/internal/ethereum-ct.ts +14 -2
  531. package/viem/internal/runtime-ct.ts +9 -7
  532. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -10
  533. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
  534. package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js +0 -19
  535. package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
  536. package/_cjs/core/actions/base/fetchVerifiedInputProof.js +0 -11
  537. package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
  538. package/_cjs/core/actions/base/readKmsSignersContext.js +0 -11
  539. package/_cjs/core/actions/base/readKmsSignersContext.js.map +0 -1
  540. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -31
  541. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
  542. package/_cjs/core/actions/base/verifyInputProof.js +0 -24
  543. package/_cjs/core/actions/base/verifyInputProof.js.map +0 -1
  544. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -17
  545. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
  546. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js +0 -11
  547. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
  548. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -17
  549. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  550. package/_cjs/core/actions/chain/createKmsEip712Domain.js +0 -11
  551. package/_cjs/core/actions/chain/createKmsEip712Domain.js.map +0 -1
  552. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js +0 -16
  553. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
  554. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -8
  555. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  556. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -8
  557. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
  558. package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -13
  559. package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
  560. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  561. package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +0 -1
  562. package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
  563. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
  564. package/_cjs/core/kms/kmsExtraData.js +0 -82
  565. package/_cjs/core/kms/kmsExtraData.js.map +0 -1
  566. package/_cjs/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
  567. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +0 -1
  568. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
  569. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  570. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
  571. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -7
  572. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
  573. package/_esm/core/actions/base/fetchKmsSigncryptedShares.js +0 -17
  574. package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
  575. package/_esm/core/actions/base/fetchVerifiedInputProof.js +0 -8
  576. package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
  577. package/_esm/core/actions/base/readKmsSignersContext.js +0 -10
  578. package/_esm/core/actions/base/readKmsSignersContext.js.map +0 -1
  579. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -35
  580. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
  581. package/_esm/core/actions/base/verifyInputProof.js +0 -22
  582. package/_esm/core/actions/base/verifyInputProof.js.map +0 -1
  583. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -14
  584. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
  585. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js +0 -8
  586. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
  587. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -15
  588. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  589. package/_esm/core/actions/chain/createKmsEip712Domain.js +0 -8
  590. package/_esm/core/actions/chain/createKmsEip712Domain.js.map +0 -1
  591. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js +0 -14
  592. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
  593. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -5
  594. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  595. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -5
  596. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
  597. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -11
  598. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
  599. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  600. package/_esm/core/kms/createKmsUserDecryptEip712.js.map +0 -1
  601. package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
  602. package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
  603. package/_esm/core/kms/kmsExtraData.js +0 -99
  604. package/_esm/core/kms/kmsExtraData.js.map +0 -1
  605. package/_esm/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
  606. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +0 -1
  607. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
  608. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  609. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
  610. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts +0 -14
  611. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts.map +0 -1
  612. package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts +0 -41
  613. package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +0 -1
  614. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts +0 -14
  615. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts.map +0 -1
  616. package/_types/core/actions/base/readKmsSignersContext.d.ts +0 -6
  617. package/_types/core/actions/base/readKmsSignersContext.d.ts.map +0 -1
  618. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts +0 -14
  619. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts.map +0 -1
  620. package/_types/core/actions/base/verifyInputProof.d.ts +0 -14
  621. package/_types/core/actions/base/verifyInputProof.d.ts.map +0 -1
  622. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts +0 -11
  623. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts.map +0 -1
  624. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts +0 -7
  625. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts.map +0 -1
  626. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
  627. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  628. package/_types/core/actions/chain/createKmsEip712Domain.d.ts +0 -7
  629. package/_types/core/actions/chain/createKmsEip712Domain.d.ts.map +0 -1
  630. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts +0 -14
  631. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +0 -1
  632. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -7
  633. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  634. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts +0 -7
  635. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts.map +0 -1
  636. package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts +0 -13
  637. package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +0 -1
  638. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
  639. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  640. package/_types/core/kms/createKmsUserDecryptEip712.d.ts +0 -26
  641. package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +0 -1
  642. package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +0 -1
  643. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts +0 -3
  644. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts.map +0 -1
  645. package/_types/core/kms/kmsExtraData.d.ts +0 -25
  646. package/_types/core/kms/kmsExtraData.d.ts.map +0 -1
  647. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts +0 -3
  648. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts.map +0 -1
  649. package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +0 -1
  650. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +0 -1
  651. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -14
  652. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  653. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts +0 -14
  654. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts.map +0 -1
  655. package/core/actions/base/createVerifiedInputProofFromRawBytes.ts +0 -24
  656. package/core/actions/base/fetchKmsSigncryptedShares.ts +0 -83
  657. package/core/actions/base/fetchVerifiedInputProof.ts +0 -25
  658. package/core/actions/base/readKmsSignersContext.ts +0 -20
  659. package/core/actions/base/verifyHandlesCoprocessorSignatures.ts +0 -60
  660. package/core/actions/base/verifyInputProof.ts +0 -45
  661. package/core/actions/base/verifyZkProofCoprocessorSignatures.ts +0 -32
  662. package/core/actions/chain/createCoprocessorEip712Domain.ts +0 -16
  663. package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +0 -36
  664. package/core/actions/chain/createKmsEip712Domain.ts +0 -16
  665. package/core/actions/chain/createKmsUserDecryptEip712.ts +0 -34
  666. package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +0 -16
  667. package/core/actions/chain/verifyKmsUserDecryptEip712.ts +0 -16
  668. package/core/actions/decrypt/decryptKmsSigncryptedShares.ts +0 -34
  669. package/core/kms/kmsExtraData.ts +0 -127
  670. /package/core/modules/relayer/module/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +0 -0
@@ -5,6 +5,7 @@ import type { ZkProof } from '../../types/zkProof-p.js';
5
5
  import type { BytesHex } from '../../types/primitives.js';
6
6
  import { createTypedValue } from '../../base/typedValue.js';
7
7
  import { createZkProofBuilder } from '../../coprocessor/ZkProofBuilder-p.js';
8
+ import { resolveRawValueTypeName } from '../../handle/FheType.js';
8
9
  import { asFhevmWithTfheVersion } from '../../runtime/CoreFhevm-p.js';
9
10
 
10
11
  ////////////////////////////////////////////////////////////////////////////////
@@ -28,7 +29,7 @@ export async function generateZkProof(
28
29
 
29
30
  const builder = createZkProofBuilder();
30
31
  for (const value of values) {
31
- builder.addTypedValue(createTypedValue(value));
32
+ builder.addTypedValue(createTypedValue({ type: resolveRawValueTypeName(value.type), value: value.value }));
32
33
  }
33
34
 
34
35
  const f = asFhevmWithTfheVersion(fhevm);
@@ -10,24 +10,4 @@ export {
10
10
  isAllowedForDecryption,
11
11
  } from './isAllowedForDecryption.js';
12
12
 
13
- export { type ResolveChainIdParameters, type ResolveChainIdReturnType, resolveChainId } from './resolveChainId.js';
14
-
15
- export {
16
- type ReadFhevmExecutorContractDataParameters,
17
- type ReadFhevmExecutorContractDataReturnType,
18
- readFhevmExecutorContractData,
19
- } from './readFhevmExecutorContractData.js';
20
-
21
- export {
22
- type ReadKmsVerifierContractDataParameters,
23
- type ReadKmsVerifierContractDataReturnType,
24
- readKmsVerifierContractData,
25
- } from './readKmsVerifierContractData.js';
26
-
27
13
  export { type PersistAllowedParameters, type PersistAllowedReturnType, persistAllowed } from './persistAllowed.js';
28
-
29
- export {
30
- type ReadInputVerifierContractDataParameters,
31
- type ReadInputVerifierContractDataReturnType,
32
- readInputVerifierContractData,
33
- } from './readInputVerifierContractData.js';
@@ -10,7 +10,7 @@ import { assertIsKmsEip712Domain } from '../../kms/createKmsEip712Domain.js';
10
10
  import { eip712Domain } from '../../host-contracts/eip712Domain-p.js';
11
11
  import { assertIsHostContractVersionOf } from '../../host-contracts/HostContractVersion-p.js';
12
12
  import { getHostContractVersion } from '../../host-contracts/HostContractVersion-p.js';
13
- import { readKmsSignersContext } from '../../host-contracts/readKmsSignersContext-p.js';
13
+ import { readCurrentKmsSignersContext } from '../../host-contracts/readKmsSignersContext-p.js';
14
14
 
15
15
  ////////////////////////////////////////////////////////////////////////////////
16
16
 
@@ -44,7 +44,7 @@ export async function readKmsVerifierContractData(
44
44
  const rpcCalls = [
45
45
  () => getHostContractVersion(fhevm, parameters),
46
46
  () => eip712Domain(fhevm, parameters),
47
- () => readKmsSignersContext(fhevm, { kmsVerifierAddress, protocolConfigAddress }),
47
+ () => readCurrentKmsSignersContext(fhevm, { kmsVerifierAddress, protocolConfigAddress }),
48
48
  ];
49
49
 
50
50
  const res = await executeWithBatching<unknown>(rpcCalls, fhevm.options.batchRpcCalls);
@@ -23,6 +23,7 @@ type CachedFetchOptions<TContext, TParams, TResult> = {
23
23
  };
24
24
 
25
25
  export const CACHE_TTL_24H = 24 * 60 * 60 * 1000; // 24 hours
26
+ export const CACHE_TTL_15MIN = 15 * 60 * 1000; // 15 min
26
27
 
27
28
  /**
28
29
  * Creates a cached, deduplicating wrapper around an async fetch function.
package/core/base/uint.ts CHANGED
@@ -23,7 +23,12 @@ import type {
23
23
  UintTypeName,
24
24
  ValueTypeName,
25
25
  } from '../types/primitives.js';
26
- import type { RecordWithPropertyType, RecordUintPropertyType, RecordUint256PropertyType } from '../types/record-p.js';
26
+ import type {
27
+ RecordWithPropertyType,
28
+ RecordUintPropertyType,
29
+ RecordUint256PropertyType,
30
+ RecordUintNumberPropertyType,
31
+ } from '../types/record-p.js';
27
32
  import type { ErrorMetadataParams } from './errors/ErrorBase.js';
28
33
  import { isRecordNonNullableProperty, typeofProperty } from './record.js';
29
34
  import { InvalidPropertyError } from './errors/InvalidPropertyError.js';
@@ -615,6 +620,18 @@ export function assertRecordUintProperty<K extends string>(
615
620
 
616
621
  ////////////////////////////////////////////////////////////////////////////////
617
622
 
623
+ export function isRecordUintNumberProperty<K extends string>(
624
+ record: unknown,
625
+ property: K,
626
+ ): record is RecordUintNumberPropertyType<K> {
627
+ if (!isRecordNonNullableProperty(record, property)) {
628
+ return false;
629
+ }
630
+ return isUintNumber(record[property]);
631
+ }
632
+
633
+ ////////////////////////////////////////////////////////////////////////////////
634
+
618
635
  export function isRecordUint256Property<K extends string>(
619
636
  record: unknown,
620
637
  property: K,
@@ -1,19 +1,12 @@
1
1
  import type { Fhevm, FhevmBase, FhevmExtension } from '../../types/coreFhevmClient.js';
2
2
  import type { FhevmChain } from '../../types/fhevmChain.js';
3
- import type {
4
- SignedSelfDecryptionPermit,
5
- SignedDelegatedDecryptionPermit,
6
- } from '../../types/signedDecryptionPermit.js';
3
+ import type { SignedDecryptionPermit } from '../../types/signedDecryptionPermit.js';
7
4
  import type {
8
5
  SerializeTransportKeyPairParameters,
9
6
  SerializeTransportKeyPairReturnType,
10
7
  } from '../../actions/chain/serializeTransportKeyPair.js';
11
8
  import { assertIsFhevmBaseClient } from '../../runtime/CoreFhevm-p.js';
12
- import {
13
- signDecryptionPermit,
14
- type SignSelfDecryptionPermitParameters,
15
- type SignDelegatedDecryptionPermitParameters,
16
- } from '../../actions/base/signDecryptionPermit.js';
9
+ import { signDecryptionPermit, type SignDecryptionPermitParameters } from '../../actions/base/signDecryptionPermit.js';
17
10
  import {
18
11
  parseTransportKeyPair,
19
12
  type ParseTransportKeyPairParameters,
@@ -127,27 +120,16 @@ export type BaseActions = {
127
120
  readonly decryptPublicValuesWithSignatures: (
128
121
  parameters: DecryptPublicValuesWithSignaturesParameters,
129
122
  ) => Promise<DecryptPublicValuesWithSignaturesReturnType>;
130
- readonly signDecryptionPermit: {
131
- /**
132
- * Signs a self decryption permit — Alice decrypts her own encrypted values.
133
- *
134
- * 1. Alice signs a permit saying "I, Alice, want to decrypt my own handles."
135
- * 2. Alice calls `decrypt` with this permit.
136
- * 3. The KMS verifies Alice's signature and releases decrypted shares to her.
137
- *
138
- * No `delegatorAddress` needed — the signer is the owner.
139
- */
140
- (parameters: SignSelfDecryptionPermitParameters): Promise<SignedSelfDecryptionPermit>;
141
- /**
142
- * Signs a delegated decryption permit — Bob decrypts Alice's (`delegatorAddress`) encrypted values.
143
- *
144
- * 1. Alice calls `FHE.delegateUserDecryption()` on-chain, giving Bob permission to decrypt her handles.
145
- * 2. Bob signs a permit with `delegatorAddress: Alice`, saying "I, Bob, want to decrypt Alice's handles."
146
- * 3. Bob calls `decrypt` with this permit.
147
- * 4. The KMS authenticates Bob via his signature, then checks the on-chain ACL to verify Alice delegated to Bob.
148
- */
149
- (parameters: SignDelegatedDecryptionPermitParameters): Promise<SignedDelegatedDecryptionPermit>;
150
- };
123
+ /**
124
+ * Signs a decryption permit.
125
+ *
126
+ * - Without `delegatorAddress`: Alice signs to decrypt her own encrypted values.
127
+ * - With `delegatorAddress`: Bob signs to decrypt values belonging to `delegatorAddress` (Alice),
128
+ * after Alice has granted permission via `FHE.delegateUserDecryption()` on-chain.
129
+ *
130
+ * Inspect `isDelegated` on the returned permit to distinguish the two cases.
131
+ */
132
+ readonly signDecryptionPermit: (parameters: SignDecryptionPermitParameters) => Promise<SignedDecryptionPermit>;
151
133
  /** Deserializes a previously serialized e2e transport key pair back into a usable key pair. */
152
134
  readonly parseTransportKeyPair: (
153
135
  parameters: ParseTransportKeyPairParameters,
@@ -177,13 +159,7 @@ function _baseActions(fhevm: Fhevm<FhevmChain>): BaseActions {
177
159
  decryptPublicValue: (parameters) => decryptPublicValue(fhevm, parameters),
178
160
  decryptPublicValues: (parameters) => decryptPublicValues(fhevm, parameters),
179
161
  decryptPublicValuesWithSignatures: (parameters) => decryptPublicValuesWithSignatures(fhevm, parameters),
180
- // Preserve the original action overloads on the decorated client API.
181
- // Runtime behavior is unchanged: this is a direct pass-through wrapper.
182
- signDecryptionPermit: ((parameters: SignSelfDecryptionPermitParameters | SignDelegatedDecryptionPermitParameters) =>
183
- signDecryptionPermit(
184
- fhevm,
185
- parameters as SignSelfDecryptionPermitParameters,
186
- )) as BaseActions['signDecryptionPermit'],
162
+ signDecryptionPermit: (parameters) => signDecryptionPermit(fhevm, parameters),
187
163
  parseTransportKeyPair: (parameters) => parseTransportKeyPair(fhevm, parameters),
188
164
  serializeTransportKeyPair: (parameters) => serializeTransportKeyPair(fhevm, parameters),
189
165
  serializeSignedDecryptionPermit: (parameters) => serializeSignedDecryptionPermit(fhevm, parameters),
@@ -5,7 +5,7 @@ import type { CoprocessorEip712Types } from '../types/coprocessor.js';
5
5
  ////////////////////////////////////////////////////////////////////////////////
6
6
 
7
7
  /*
8
- const EIP712DomainType = [
8
+ const Eip712DomainType = [
9
9
  { name: 'name', type: 'string' },
10
10
  { name: 'version', type: 'string' },
11
11
  { name: 'chainId', type: 'uint256' },
@@ -16,7 +16,7 @@ import type { CoprocessorEip712Types } from '../types/coprocessor.js';
16
16
  export const coprocessorEip712PrimaryType = 'CiphertextVerification' satisfies keyof CoprocessorEip712Types;
17
17
 
18
18
  export const coprocessorEip712Types: CoprocessorEip712Types = {
19
- // EIP712Domain: [
19
+ // Eip712Domain: [
20
20
  // { name: 'name', type: 'string' },
21
21
  // { name: 'version', type: 'string' },
22
22
  // { name: 'chainId', type: 'uint256' },
@@ -354,6 +354,17 @@ export function typeNameFromFheTypeName(fheType: FheType): ValueTypeName {
354
354
  return fheType.substring(1) as ValueTypeName;
355
355
  }
356
356
 
357
+ /**
358
+ * Resolves a raw type name to its clear `ValueTypeName`, accepting FHE type
359
+ * aliases ("ebool", "euint8", ...) in addition to clear-value names
360
+ * ("bool", "uint8", ...). Non-FHE type names are returned unchanged.
361
+ * @example resolveRawValueTypeName('euint8') // 'uint8'
362
+ * @example resolveRawValueTypeName('uint8') // 'uint8' (unchanged)
363
+ */
364
+ export function resolveRawValueTypeName(type: string): string {
365
+ return isFheType(type) ? typeNameFromFheTypeName(type) : type;
366
+ }
367
+
357
368
  ////////////////////////////////////////////////////////////////////////////////
358
369
  // Solidity primitive type names
359
370
  ////////////////////////////////////////////////////////////////////////////////
@@ -196,6 +196,18 @@ export function isVersionStrictlyBefore(
196
196
  return false;
197
197
  }
198
198
 
199
+ /**
200
+ * Returns `true` if the version equals `major.minor.patch` exactly.
201
+ */
202
+ export function isVersionEqual(
203
+ version: HostContractVersion,
204
+ otherVersion: { readonly major: number; readonly minor: number; readonly patch: number },
205
+ ): boolean {
206
+ return (
207
+ version.major === otherVersion.major && version.minor === otherVersion.minor && version.patch === otherVersion.patch
208
+ );
209
+ }
210
+
199
211
  /**
200
212
  * Asserts that a {@link HostContractVersion} belongs to a specific contract.
201
213
  * Narrows the type to `HostContractVersion<name>` on success.
@@ -1,20 +1,22 @@
1
- import type { BytesHex, ChecksummedAddress, Uint256BigInt, Uint8Number } from '../types/primitives.js';
1
+ import type { ChecksummedAddress, Uint256BigInt, Uint8Number } from '../types/primitives.js';
2
2
  import type { kmsBrand } from '../types/kms.js';
3
3
  import type { KmsSignersContext } from '../types/kmsSignersContext.js';
4
4
  import type { ErrorMetadataParams } from '../base/errors/ErrorBase.js';
5
5
  import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
6
+ import type { KmsExtraData } from '../types/kms-p.js';
6
7
  import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
7
8
  import { addressToChecksummedAddress } from '../base/address.js';
8
9
  import { DuplicateSignerError, ThresholdSignerError, UnknownSignerError } from '../errors/SignersError.js';
9
10
  import { assertOwnedBy } from '../runtime/CoreFhevmRuntime-p.js';
10
- import {
11
- assertIsKmsExtraData,
12
- EXTRA_DATA_V0,
13
- EXTRA_DATA_V1,
14
- EXTRA_DATA_V2,
15
- toKmsExtraData,
16
- } from '../kms/kmsExtraData.js';
17
11
  import { assertIsNonEmptyString, ensure0x } from '../base/string.js';
12
+ import {
13
+ assertIsKmsExtraDataBytesHex,
14
+ createKmsExtraData,
15
+ equalsKmsExtraData,
16
+ fromKmsExtraDataBytesHex,
17
+ isKmsExtraData,
18
+ validateKmsExtraDataParams,
19
+ } from '../kms/kmsExtraData-p.js';
18
20
 
19
21
  ////////////////////////////////////////////////////////////////////////////////
20
22
 
@@ -124,6 +126,8 @@ export function createKmsSignersContext(
124
126
  ): KmsSignersContext {
125
127
  const { kmsVerifierAddress: address, kmsContextId, kmsEpochId, kmsSigners, kmsSignerThreshold } = parameters;
126
128
 
129
+ validateKmsExtraDataParams({ kmsContextId: parameters.kmsContextId, kmsEpochId: parameters.kmsEpochId });
130
+
127
131
  return new KmsSignersContextImpl(PRIVATE_TOKEN, owner, {
128
132
  address: addressToChecksummedAddress(address),
129
133
  kmsContextId,
@@ -135,32 +139,13 @@ export function createKmsSignersContext(
135
139
 
136
140
  ////////////////////////////////////////////////////////////////////////////////
137
141
 
138
- export function kmsSignersContextToExtraData(kmsSignersContext: KmsSignersContext): BytesHex {
142
+ export function kmsSignersContextToExtraData(kmsSignersContext: KmsSignersContext): KmsExtraData {
139
143
  assertIsKmsSignersContext(kmsSignersContext, {});
140
-
141
- if (kmsSignersContext.id === 0n) {
142
- return toKmsExtraData({
143
- version: EXTRA_DATA_V0,
144
- kmsContextId: 0n as Uint256BigInt,
145
- kmsEpochId: 0n as Uint256BigInt,
146
- });
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
-
157
- return toKmsExtraData({
158
- version: EXTRA_DATA_V2,
159
- kmsContextId: kmsSignersContext.id,
160
- kmsEpochId: kmsSignersContext.epochId,
161
- });
144
+ return createKmsExtraData({ kmsContextId: kmsSignersContext.id, kmsEpochId: kmsSignersContext.epochId });
162
145
  }
163
146
 
147
+ ////////////////////////////////////////////////////////////////////////////////
148
+
164
149
  /**
165
150
  * Asserts that the given `extraData` is a valid KMS extra data string and
166
151
  * matches the `extraData` derived from the provided {@link KmsSignersContext}.
@@ -176,15 +161,23 @@ export function assertExtraDataMatchesKmsSingersContext(
176
161
  options: { subject?: string } & ErrorMetadataParams,
177
162
  ): void {
178
163
  const { extraData, kmsSignersContext } = parameters;
179
- assertIsNonEmptyString(extraData);
180
164
 
181
- const sanitizedExtraData = ensure0x(extraData);
182
- assertIsKmsExtraData(sanitizedExtraData, options);
165
+ let sanitizedExtraData: KmsExtraData;
166
+ if (isKmsExtraData(extraData)) {
167
+ sanitizedExtraData = extraData;
168
+ } else {
169
+ assertIsNonEmptyString(extraData);
170
+ const sanitizedExtraDataBytesHex = ensure0x(extraData);
171
+ assertIsKmsExtraDataBytesHex(sanitizedExtraDataBytesHex, options);
172
+ sanitizedExtraData = fromKmsExtraDataBytesHex(sanitizedExtraDataBytesHex);
173
+ }
183
174
 
184
175
  const expectedExtraData = kmsSignersContextToExtraData(kmsSignersContext);
185
176
 
186
- if (sanitizedExtraData !== expectedExtraData) {
187
- throw new Error(`extraData "${extraData}" does not match KmsSignersContext extraData "${expectedExtraData}".`);
177
+ if (!equalsKmsExtraData(sanitizedExtraData, expectedExtraData)) {
178
+ throw new Error(
179
+ `extraData "${sanitizedExtraData.toBytesHex()}" does not match KmsSignersContext extraData "${expectedExtraData.toBytesHex()}".`,
180
+ );
188
181
  }
189
182
  }
190
183
 
@@ -1,15 +1,13 @@
1
1
  import type { FhevmChain } from '../types/fhevmChain.js';
2
- import type { SignedDelegatedDecryptionPermit, SignedSelfDecryptionPermit } from '../types/signedDecryptionPermit.js';
2
+ import type { SignedDecryptionPermit } from '../types/signedDecryptionPermit.js';
3
3
  import type { TransportKeyPair } from '../kms/TransportKeyPair-p.js';
4
4
  import type { ChecksummedAddress, Uint64BigInt } from '../types/primitives.js';
5
5
  import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
6
6
  import type { Handle } from '../types/encryptedTypes-p.js';
7
7
  import { addressToChecksummedAddress, assertIsAddress } from '../base/address.js';
8
8
  import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
9
- import {
10
- assertIsSignedDecryptionPermit,
11
- assertPermitIncludesContractAddresses,
12
- } from '../kms/SignedDecryptionPermit-p.js';
9
+ import { assertIsSignedDecryptionPermit } from '../kms/SignedDecryptionPermit-p.js';
10
+ import { assertPermitV1IncludesContractAddresses } from '../kms/fetchKmsSigncryptedSharesV1-p.js';
13
11
  import { assertPermitMatchesKeyPair } from '../utils-p/decrypt/assertPermitMatchesKeyPair.js';
14
12
  import { isUserDecryptable } from '../host-contracts/isUserDecryptable.js';
15
13
 
@@ -29,7 +27,7 @@ type Parameters =
29
27
  }
30
28
  | {
31
29
  readonly pairs: ReadonlyArray<{ readonly handle: Handle; readonly contractAddress: ChecksummedAddress }>;
32
- readonly signedPermit: SignedSelfDecryptionPermit | SignedDelegatedDecryptionPermit;
30
+ readonly signedPermit: SignedDecryptionPermit;
33
31
  readonly transportKeyPair?: TransportKeyPair | undefined;
34
32
  };
35
33
 
@@ -64,7 +62,9 @@ export async function canDecryptValuesFromPairs(context: Context, parameters: Pa
64
62
 
65
63
  assertIsSignedDecryptionPermit(signedPermit, { subject: 'signedPermit' });
66
64
  signedPermit.assertNotExpired();
67
- assertPermitIncludesContractAddresses(signedPermit, contractAddresses);
65
+ if (signedPermit.version === 1) {
66
+ assertPermitV1IncludesContractAddresses(signedPermit, contractAddresses);
67
+ }
68
68
 
69
69
  if (parameters.transportKeyPair !== undefined) {
70
70
  assertPermitMatchesKeyPair(signedPermit, parameters.transportKeyPair);
@@ -5,7 +5,7 @@ import { asUint8Number, isUint8 } from '../base/uint.js';
5
5
  import { executeWithBatching } from '../base/promise.js';
6
6
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
7
7
  import { getCoprocessorSignersAbi, getThresholdAbi } from './abi-fragments/fragments.js';
8
- import { CACHE_TTL_24H, createCachedFetch } from '../base/cachedFetch.js';
8
+ import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
9
9
 
10
10
  ////////////////////////////////////////////////////////////////////////////////
11
11
 
@@ -30,7 +30,7 @@ const cachedGetCoprocessorContextSignersAndThreshold = createCachedFetch<Context
30
30
  executeFn: _getCoprocessorContextSignersAndThreshold,
31
31
  cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.address.toLowerCase()}`,
32
32
  // Signers are not Use long TTL
33
- ttlMs: CACHE_TTL_24H,
33
+ ttlMs: CACHE_TTL_15MIN,
34
34
  });
35
35
 
36
36
  ////////////////////////////////////////////////////////////////////////////////
@@ -4,7 +4,7 @@ import { getCurrentKmsContextAndEpochAbi } from './abi-fragments/fragments.js';
4
4
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
5
5
  import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
6
6
  import { assertIsUint256 } from '../base/uint.js';
7
- import { CACHE_TTL_24H, createCachedFetch } from '../base/cachedFetch.js';
7
+ import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
8
8
 
9
9
  ////////////////////////////////////////////////////////////////////////////////
10
10
 
@@ -25,7 +25,7 @@ const cachedGetCurrentKmsContextAndEpoch = createCachedFetch<Context, Parameters
25
25
  executeFn: _getCurrentKmsContextAndEpoch,
26
26
  cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.protocolConfigAddress.toLowerCase()}`,
27
27
  // Host contract values are immutable per deployment, so a long TTL is safe.
28
- ttlMs: CACHE_TTL_24H,
28
+ ttlMs: CACHE_TTL_15MIN,
29
29
  });
30
30
 
31
31
  /**
@@ -4,7 +4,7 @@ import { getCurrentKmsContextIdAbi } from './abi-fragments/fragments.js';
4
4
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
5
5
  import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
6
6
  import { assertIsUint256 } from '../base/uint.js';
7
- import { CACHE_TTL_24H, createCachedFetch } from '../base/cachedFetch.js';
7
+ import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
8
8
 
9
9
  ////////////////////////////////////////////////////////////////////////////////
10
10
 
@@ -25,7 +25,7 @@ const cachedGetCurrentKmsContextId = createCachedFetch<Context, Parameters, Retu
25
25
  executeFn: _getCurrentKmsContextId,
26
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
- ttlMs: CACHE_TTL_24H,
28
+ ttlMs: CACHE_TTL_15MIN,
29
29
  });
30
30
 
31
31
  /**
@@ -7,7 +7,7 @@ import { isVersionStrictlyBefore } from '../host-contracts/HostContractVersion-p
7
7
  import { executeWithBatching } from '../base/promise.js';
8
8
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
9
9
  import { getKmsSignersAbi, getThresholdAbi } from './abi-fragments/fragments.js';
10
- import { CACHE_TTL_24H, createCachedFetch } from '../base/cachedFetch.js';
10
+ import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
11
11
 
12
12
  ////////////////////////////////////////////////////////////////////////////////
13
13
 
@@ -32,7 +32,7 @@ const cachedGetKmsContextSignersAndThreshold = createCachedFetch<Context, Parame
32
32
  executeFn: _getKmsContextSignersAndThreshold,
33
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
- ttlMs: CACHE_TTL_24H,
35
+ ttlMs: CACHE_TTL_15MIN,
36
36
  });
37
37
 
38
38
  ////////////////////////////////////////////////////////////////////////////////
@@ -68,6 +68,7 @@ async function _getKmsContextSignersAndThreshold(context: Context, parameters: P
68
68
  if (!isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
69
69
  throw new Error('getContextSignersAndThreshold requires KMSVerifier < v0.2.0');
70
70
  }
71
+
71
72
  ////////////////////////////////////////////////////////////////////////////
72
73
  //
73
74
  // Important remark:
@@ -1,12 +1,13 @@
1
- import type { BytesHex, ChecksummedAddress, Uint8Number } from '../types/primitives.js';
1
+ import type { ChecksummedAddress, Uint8Number } from '../types/primitives.js';
2
2
  import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
3
+ import type { KmsExtraData } from '../types/kms-p.js';
3
4
  import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
4
5
  import { createCachedFetch } from '../base/cachedFetch.js';
5
- import { assertIsKmsExtraData, fromKmsExtraData } from '../kms/kmsExtraData.js';
6
6
  import { assertIsChecksummedAddressArray } from '../base/address.js';
7
7
  import { isUint8 } from '../base/uint.js';
8
8
  import { getContextSignersAndThresholdFromExtraDataAbi } from './abi-fragments/fragments.js';
9
9
  import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
10
+ import { assertIsKmsExtraData } from '../kms/kmsExtraData-p.js';
10
11
 
11
12
  ////////////////////////////////////////////////////////////////////////////////
12
13
 
@@ -17,7 +18,7 @@ type Context = {
17
18
 
18
19
  type Parameters = {
19
20
  readonly kmsVerifierAddress: ChecksummedAddress;
20
- readonly extraData: BytesHex;
21
+ readonly extraData: KmsExtraData;
21
22
  };
22
23
 
23
24
  type ReturnType = {
@@ -30,9 +31,9 @@ type ReturnType = {
30
31
  const cachedGetKmsContextSignersAndThresholdFromExtraData = createCachedFetch<Context, Parameters, ReturnType>({
31
32
  executeFn: _getKmsContextSignersAndThresholdFromExtraData,
32
33
  cacheKeyFn: (context, params) => {
33
- const { kmsContextId } = fromKmsExtraData(params.extraData);
34
- const contextIdHex = kmsContextId.toString(16).padStart(64, '0');
35
- return `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}:${contextIdHex}`;
34
+ const kmsContextId = params.extraData.kmsContextId;
35
+ const kmsContextIdHex = kmsContextId.toString(16).padStart(64, '0');
36
+ return `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}:${kmsContextIdHex}`;
36
37
  },
37
38
  // Permanent cache: signers and threshold are immutable per context ID.
38
39
  });
@@ -76,10 +77,12 @@ async function _getKmsContextSignersAndThresholdFromExtraData(
76
77
 
77
78
  const trustedClient = getTrustedClient(context);
78
79
 
80
+ const extraDataBytesHex = parameters.extraData.toBytesHex();
81
+
79
82
  const res = await context.runtime.ethereum.readContract(trustedClient, {
80
83
  address: parameters.kmsVerifierAddress,
81
84
  abi: getContextSignersAndThresholdFromExtraDataAbi,
82
- args: [parameters.extraData],
85
+ args: [extraDataBytesHex],
83
86
  functionName: getContextSignersAndThresholdFromExtraDataAbi[0].name,
84
87
  });
85
88