@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
@@ -1,7 +1,7 @@
1
1
  import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
2
- import { createKmsSigncryptedShares } from '../kms/KmsSigncryptedShares-p.js';
3
- import { readKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
4
- import { assertIsSignedDecryptionPermit, assertPermitIncludesContractAddresses } from './SignedDecryptionPermit-p.js';
2
+ import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
3
+ import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
4
+ import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
5
5
  import { assertKmsDecryptionBitLimit } from './utils.js';
6
6
  import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
7
7
  import { assertExtraDataMatchesKmsSingersContext } from '../host-contracts/KmsSignersContext-p.js';
@@ -10,16 +10,29 @@ import { checkDelegation } from '../host-contracts/checkDelegation.js';
10
10
  import { resolveFhevmTkmsVersion } from '../runtime/resolveFhevmVersions-p.js';
11
11
  ////////////////////////////////////////////////////////////////////////////////
12
12
  const MAX_USER_DECRYPT_CONTRACT_ADDRESSES = 10;
13
+ /**
14
+ * Asserts that every address in {@link contractAddresses} is listed in the
15
+ * permit's `contractAddresses` (case-insensitive comparison).
16
+ */
17
+ export function assertPermitV1IncludesContractAddresses(permit, contractAddresses) {
18
+ const permitAddresses = permit.eip712.message.contractAddresses;
19
+ for (const address of contractAddresses) {
20
+ if (!permitAddresses.some((a) => a.toLowerCase() === address.toLowerCase())) {
21
+ throw Error(`contract address ${address} is not listed in the permit's contractAddresses`);
22
+ }
23
+ }
24
+ }
13
25
  ////////////////////////////////////////////////////////////////////////////////
14
- // fetchKmsSigncryptedShares
26
+ // fetchKmsSigncryptedSharesV1
15
27
  ////////////////////////////////////////////////////////////////////////////////
16
- export async function fetchKmsSigncryptedShares(context, parameters) {
17
- const { signedPermit, options, pairs } = parameters;
28
+ export async function fetchKmsSigncryptedSharesV1(context, parameters) {
29
+ const { options, pairs } = parameters;
30
+ const signedPermit = parameters.signedPermit;
18
31
  // This helper must support base clients, where TKMS is not mandatory
19
32
  // and tkmsVersion may not be initialized in the CoreFhevm instance yet.
20
33
  const tkmsVersion = await resolveFhevmTkmsVersion(context);
21
34
  // Check: every requested contractAddress is listed in the permit
22
- assertPermitIncludesContractAddresses(signedPermit, pairs.map((p) => p.contractAddress));
35
+ assertPermitV1IncludesContractAddresses(signedPermit, pairs.map((p) => p.contractAddress));
23
36
  // Caller-provided options override runtime config defaults (e.g. auth)
24
37
  const relayerOptions = {
25
38
  auth: context.runtime.config.auth,
@@ -51,7 +64,7 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
51
64
  // 6. Check: Expiration date
52
65
  signedPermit.assertNotExpired();
53
66
  // 7. Check: ACL permissions (user is signer or delegatorAddress)
54
- if (signedPermit.isDelegated) {
67
+ if (signedPermit.eip712.primaryType === 'DelegatedUserDecryptRequestVerification') {
55
68
  await checkDelegation(context, {
56
69
  aclAddress: context.chain.fhevm.contracts.acl.address,
57
70
  delegate: signerAddress,
@@ -66,7 +79,7 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
66
79
  handleContractPairs,
67
80
  });
68
81
  }
69
- // 8. Verify the EIP712 signature
82
+ // 8. Verify the Eip712 signature
70
83
  // Not required because a signedPermit is guaranteed to be verified.
71
84
  // 9. Fetch `KmsSignersContext` on-chain (cached)
72
85
  // Reject the permit early if it was signed against a different KMS context
@@ -82,7 +95,7 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
82
95
  // (e.g. a version change in the serialization scheme) will be rejected even
83
96
  // though the context ID matches. Consider comparing the decoded `kmsContextId`
84
97
  // instead of the raw `extraData` bytes.
85
- const requestedKmsSignersContext = await readKmsSignersContext(context, {
98
+ const requestedKmsSignersContext = await readCurrentKmsSignersContext(context, {
86
99
  kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
87
100
  protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
88
101
  });
@@ -91,11 +104,8 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
91
104
  kmsSignersContext: requestedKmsSignersContext,
92
105
  }, { subject: 'Invalid permit' });
93
106
  // 10. Fetch `KmsSigncryptedShares` from the relayer
94
- // Safe casts: the discriminated union on parameters guarantees
95
- // that options type matches signedPermit type, but TS can't prove
96
- // it after destructuring (nested discriminant limitation).
97
107
  let shares;
98
- if (signedPermit.isDelegated) {
108
+ if (signedPermit.eip712.primaryType === 'DelegatedUserDecryptRequestVerification') {
99
109
  shares = await context.runtime.relayer.fetchDelegatedUserDecrypt(context, {
100
110
  payload: {
101
111
  handleContractPairs,
@@ -129,6 +139,30 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
129
139
  handles,
130
140
  tkmsVersion,
131
141
  };
142
+ /*
143
+
144
+ ----------------------------------------------------------------------------
145
+ KMS response-signature verification.
146
+
147
+ Each share's signature is an EIP-712 signature over the
148
+ `UserDecryptResponseVerification` struct (see `verifyKmsSigncryptedShare` and
149
+ gateway `Decryption.sol`). This check is already performed inside the tkms WASM
150
+ during reconstruction (verify=true); the call below is an equivalent JS-only
151
+ pass, kept for testing / debugging. To fully check, loop over every share.
152
+ ----------------------------------------------------------------------------
153
+
154
+ for (const share of shares) {
155
+ await verifyKmsSigncryptedShare(
156
+ context,
157
+ {
158
+ metadata: sharesMetadata,
159
+ share,
160
+ transportPublicKey: signedPermit.transportPublicKey,
161
+ }
162
+ );
163
+ }
164
+
165
+ */
132
166
  // 12. The returned KmsSigncryptedShares is guaranteed to be fully verified:
133
167
  // uniform extraData across shares, valid extraData format, and consistency
134
168
  // with the KmsSignersContext (see KmsSigncryptedSharesImpl invariants).
@@ -137,4 +171,4 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
137
171
  shares,
138
172
  });
139
173
  }
140
- //# sourceMappingURL=fetchKmsSigncryptedShares-p.js.map
174
+ //# sourceMappingURL=fetchKmsSigncryptedSharesV1-p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchKmsSigncryptedSharesV1-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSigncryptedSharesV1-p.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
2
+ import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
3
+ import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
4
+ import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
5
+ import { assertKmsDecryptionBitLimit } from './utils.js';
6
+ import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
7
+ import { checkDelegation } from '../host-contracts/checkDelegation.js';
8
+ import { assertExtraDataMatchesKmsSingersContext } from '../host-contracts/KmsSignersContext-p.js';
9
+ import { createKmsEip712Domain } from './createKmsEip712Domain.js';
10
+ import { resolveFhevmTkmsVersion } from '../runtime/resolveFhevmVersions-p.js';
11
+ ////////////////////////////////////////////////////////////////////////////////
12
+ // fetchKmsSigncryptedSharesV2
13
+ ////////////////////////////////////////////////////////////////////////////////
14
+ export async function fetchKmsSigncryptedSharesV2(context, parameters) {
15
+ const { options, pairs } = parameters;
16
+ const signedPermit = parameters.signedPermit;
17
+ const tkmsVersion = await resolveFhevmTkmsVersion(context);
18
+ const relayerOptions = {
19
+ auth: context.runtime.config.auth,
20
+ ...options,
21
+ };
22
+ assertIsSignedDecryptionPermit(signedPermit, {});
23
+ const { signerAddress, signature } = signedPermit;
24
+ const userAddress = signedPermit.eip712.message.userAddress;
25
+ // 1. Check: At least one handle/contract pair is required
26
+ if (pairs.length === 0) {
27
+ throw Error(`encrypted value/contract pairs must not be empty, at least one encrypted value/contract pair is required`);
28
+ }
29
+ // Resolve ownerAddress for each pair: defaults to userAddress (direct-access path)
30
+ // when not explicitly provided by the caller.
31
+ const resolvedPairs = pairs.map((p) => ({
32
+ handle: p.handle,
33
+ contractAddress: p.contractAddress,
34
+ ownerAddress: p.ownerAddress ?? userAddress,
35
+ }));
36
+ const handles = resolvedPairs.map((p) => p.handle);
37
+ Object.freeze(handles);
38
+ // 2. Check: All handles belong to the host chainId
39
+ assertHandlesBelongToSameChainId(handles, BigInt(context.chain.id));
40
+ // 3. Check: 2048 bits limit
41
+ assertKmsDecryptionBitLimit(handles);
42
+ // 4. Check: Expiration date
43
+ signedPermit.assertNotExpired();
44
+ // 5. Check: ACL permissions — split pairs by direct vs delegated access
45
+ const directPairs = resolvedPairs.filter((p) => p.ownerAddress.toLowerCase() === userAddress.toLowerCase());
46
+ const delegatedPairs = resolvedPairs.filter((p) => p.ownerAddress.toLowerCase() !== userAddress.toLowerCase());
47
+ if (directPairs.length > 0) {
48
+ await checkPersistAllowed(context, {
49
+ aclAddress: context.chain.fhevm.contracts.acl.address,
50
+ userAddress,
51
+ handleContractPairs: directPairs,
52
+ });
53
+ }
54
+ if (delegatedPairs.length > 0) {
55
+ // Group delegated pairs by delegator (ownerAddress): a single batch may contain
56
+ // handles from multiple delegators, each requiring a separate ACL delegation check.
57
+ const byDelegator = new Map();
58
+ for (const pair of delegatedPairs) {
59
+ const group = byDelegator.get(pair.ownerAddress) ?? [];
60
+ group.push(pair);
61
+ byDelegator.set(pair.ownerAddress, group);
62
+ }
63
+ for (const [delegator, groupedPairs] of byDelegator) {
64
+ await checkDelegation(context, {
65
+ aclAddress: context.chain.fhevm.contracts.acl.address,
66
+ delegate: userAddress,
67
+ delegator,
68
+ handleContractPairs: groupedPairs,
69
+ });
70
+ }
71
+ }
72
+ // 6. Verify the Eip712 signature
73
+ // Not required because a signedPermit is guaranteed to be verified.
74
+ // 7. Fetch `KmsSignersContext` on-chain (cached)
75
+ // Reject the permit early if it was signed against a different KMS context.
76
+ //
77
+ // TODO: The current check is a strict byte-level comparison. A permit signed
78
+ // with the correct `kmsContextId` but a different `extraData` encoding format
79
+ // (e.g. a version change in the serialization scheme) will be rejected even
80
+ // though the context ID matches. Consider comparing the decoded `kmsContextId`
81
+ // instead of the raw `extraData` bytes.
82
+ const requestedKmsSignersContext = await readCurrentKmsSignersContext(context, {
83
+ kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
84
+ protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
85
+ });
86
+ assertExtraDataMatchesKmsSingersContext({
87
+ extraData: signedPermit.eip712.message.extraData,
88
+ kmsSignersContext: requestedKmsSignersContext,
89
+ }, { subject: 'Invalid permit' });
90
+ // 8. Fetch `KmsSigncryptedShares` from the relayer (unified V2 route)
91
+ const shares = await context.runtime.relayer.fetchUserDecrypt(context, {
92
+ payload: {
93
+ handleContractPairs: resolvedPairs,
94
+ kmsDecryptEip712Message: signedPermit.eip712.message,
95
+ kmsDecryptEip712Signature: signature,
96
+ },
97
+ options: relayerOptions,
98
+ });
99
+ // 9. Build and verify the sealed validated `KmsSigncryptedShares` object
100
+ const sharesMetadata = {
101
+ kmsSignersContext: requestedKmsSignersContext,
102
+ eip712Domain: createKmsEip712Domain({
103
+ chainId: context.chain.fhevm.gateway.id,
104
+ verifyingContractAddressDecryption: context.chain.fhevm.gateway.contracts.decryption.address,
105
+ }),
106
+ eip712Signature: signature,
107
+ eip712SignerAddress: signerAddress,
108
+ handles,
109
+ tkmsVersion,
110
+ };
111
+ // 10. The returned KmsSigncryptedShares is guaranteed to be fully verified:
112
+ // uniform extraData across shares, valid extraData format, and consistency
113
+ // with the KmsSignersContext (see KmsSigncryptedSharesImpl invariants).
114
+ return await createKmsSigncryptedShares(context, {
115
+ metadata: sharesMetadata,
116
+ shares,
117
+ });
118
+ }
119
+ //# sourceMappingURL=fetchKmsSigncryptedSharesV2-p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchKmsSigncryptedSharesV2-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSigncryptedSharesV2-p.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  ////////////////////////////////////////////////////////////////////////////////
2
- // KmsDelegateUserDecryptEIP712Types
2
+ // KmsDelegatedUserDecryptEip712V1Types
3
3
  ////////////////////////////////////////////////////////////////////////////////
4
- export const kmsDelegatedUserDecryptEip712Types = {
4
+ // Careful: do not change any fields in this structure
5
+ export const kmsDelegatedUserDecryptEip712V1Types = {
5
6
  EIP712Domain: [
6
7
  { name: 'name', type: 'string' },
7
8
  { name: 'version', type: 'string' },
@@ -20,9 +21,9 @@ export const kmsDelegatedUserDecryptEip712Types = {
20
21
  { name: 'extraData', type: 'bytes' },
21
22
  ],
22
23
  };
23
- Object.freeze(kmsDelegatedUserDecryptEip712Types);
24
- Object.freeze(kmsDelegatedUserDecryptEip712Types.EIP712Domain);
25
- Object.freeze(kmsDelegatedUserDecryptEip712Types.DelegatedUserDecryptRequestVerification);
26
- kmsDelegatedUserDecryptEip712Types.EIP712Domain.forEach(Object.freeze);
27
- kmsDelegatedUserDecryptEip712Types.DelegatedUserDecryptRequestVerification.forEach(Object.freeze);
28
- //# sourceMappingURL=kmsDelegatedUserDecryptEip712Types.js.map
24
+ Object.freeze(kmsDelegatedUserDecryptEip712V1Types);
25
+ Object.freeze(kmsDelegatedUserDecryptEip712V1Types.EIP712Domain);
26
+ Object.freeze(kmsDelegatedUserDecryptEip712V1Types.DelegatedUserDecryptRequestVerification);
27
+ kmsDelegatedUserDecryptEip712V1Types.EIP712Domain.forEach(Object.freeze);
28
+ kmsDelegatedUserDecryptEip712V1Types.DelegatedUserDecryptRequestVerification.forEach(Object.freeze);
29
+ //# sourceMappingURL=kmsDelegatedUserDecryptEip712V1Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kmsDelegatedUserDecryptEip712V1Types.js","sourceRoot":"","sources":["../../../core/kms/kmsDelegatedUserDecryptEip712V1Types.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF,sDAAsD;AACtD,MAAM,CAAC,MAAM,oCAAoC,GAAyC;IACxF,YAAY,EAAE;QACZ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;IACV,gFAAgF;IAChF,yFAAyF;IACzF,qDAAqD;IACrD,uCAAuC,EAAE;QACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;QACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE;QAChD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7C,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;KAC5B;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,YAAY,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,uCAAuC,CAAC,CAAC;AAC5F,oCAAoC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACzE,oCAAoC,CAAC,uCAAuC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,298 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _KmsExtraDataImpl_instances, _KmsExtraDataImpl_version, _KmsExtraDataImpl_kmsContextId, _KmsExtraDataImpl_kmsEpochId, _KmsExtraDataImpl_validate;
13
+ import { asUint256BigInt, asUint8Number } from '../base/uint.js';
14
+ import { asBytes32Hex, assertIsBytesHex } from '../base/bytes.js';
15
+ import { isVersionEqual, isVersionStrictlyBefore } from '../host-contracts/HostContractVersion-p.js';
16
+ import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
17
+ export const EXTRA_DATA_V0 = 0x00; // 0x00
18
+ export const EXTRA_DATA_V1 = 0x01; // 1 version byte + 32-byte big-endian context ID = 33 bytes
19
+ export const EXTRA_DATA_V2 = 0x02; // 1 version byte + 32-byte big-endian context ID + 32-byte big-endian epoch ID = 65 bytes
20
+ //////////////////////////////////////////////////////////////////////////////
21
+ const PRIVATE_TOKEN = Symbol('KmsExtraData.token');
22
+ //////////////////////////////////////////////////////////////////////////////
23
+ // ExtraDataImpl class
24
+ //////////////////////////////////////////////////////////////////////////////
25
+ /**
26
+ * @internal
27
+ */
28
+ export class KmsExtraDataImpl {
29
+ constructor(privateToken, parameters) {
30
+ _KmsExtraDataImpl_instances.add(this);
31
+ _KmsExtraDataImpl_version.set(this, void 0);
32
+ _KmsExtraDataImpl_kmsContextId.set(this, void 0);
33
+ _KmsExtraDataImpl_kmsEpochId.set(this, void 0);
34
+ if (privateToken !== PRIVATE_TOKEN) {
35
+ throw new Error('Unauthorized');
36
+ }
37
+ __classPrivateFieldSet(this, _KmsExtraDataImpl_kmsContextId, asUint256BigInt(parameters.kmsContextId), "f");
38
+ __classPrivateFieldSet(this, _KmsExtraDataImpl_kmsEpochId, asUint256BigInt(parameters.kmsEpochId), "f");
39
+ __classPrivateFieldSet(this, _KmsExtraDataImpl_version, asUint8Number(parameters.version), "f");
40
+ __classPrivateFieldGet(this, _KmsExtraDataImpl_instances, "m", _KmsExtraDataImpl_validate).call(this);
41
+ }
42
+ get version() {
43
+ return __classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f");
44
+ }
45
+ get kmsContextId() {
46
+ return __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f");
47
+ }
48
+ get kmsEpochId() {
49
+ return __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f");
50
+ }
51
+ /**
52
+ * Encodes a KMS context into an extraData format.
53
+ * v0: `0x00`
54
+ * v1: `0x01` + 32-byte big-endian context ID.
55
+ * v2: `0x02` + 32-byte big-endian context ID + 32-byte big-endian epoch ID.
56
+ */
57
+ toBytesHex() {
58
+ const v = __classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f").toString(16).padStart(2, '0');
59
+ switch (__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")) {
60
+ case EXTRA_DATA_V0: {
61
+ return `0x${v}`;
62
+ }
63
+ case EXTRA_DATA_V1: {
64
+ const contextId = __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f").toString(16).padStart(64, '0');
65
+ return `0x${v}${contextId}`;
66
+ }
67
+ case EXTRA_DATA_V2: {
68
+ const contextId = __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f").toString(16).padStart(64, '0');
69
+ const epochId = __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f").toString(16).padStart(64, '0');
70
+ return `0x${v}${contextId}${epochId}`;
71
+ }
72
+ default:
73
+ throw new Error(`Unsupported kms extraData version ${__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")}`);
74
+ }
75
+ }
76
+ }
77
+ _KmsExtraDataImpl_version = new WeakMap(), _KmsExtraDataImpl_kmsContextId = new WeakMap(), _KmsExtraDataImpl_kmsEpochId = new WeakMap(), _KmsExtraDataImpl_instances = new WeakSet(), _KmsExtraDataImpl_validate = function _KmsExtraDataImpl_validate() {
78
+ switch (__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")) {
79
+ case EXTRA_DATA_V0: {
80
+ if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f") !== 0n) {
81
+ throw new Error('kmsContextId must be 0 for v0 kms extraData');
82
+ }
83
+ if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f") !== 0n) {
84
+ throw new Error('kmsEpochId must be 0 for v0 kms extraData');
85
+ }
86
+ return;
87
+ }
88
+ case EXTRA_DATA_V1: {
89
+ if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f") === 0n) {
90
+ throw new Error('kmsContextId cannot be 0 for v1 kms extraData');
91
+ }
92
+ if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f") !== 0n) {
93
+ throw new Error('kmsEpochId must be 0 for v1 kms extraData');
94
+ }
95
+ return;
96
+ }
97
+ case EXTRA_DATA_V2: {
98
+ if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f") === 0n) {
99
+ throw new Error('kmsContextId cannot be 0 for v2 kms extraData');
100
+ }
101
+ if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f") === 0n) {
102
+ throw new Error('kmsEpochId cannot be 0 for v2 kms extraData');
103
+ }
104
+ return;
105
+ }
106
+ default:
107
+ throw new Error(`Unsupported kms extraData version ${__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")}`);
108
+ }
109
+ };
110
+ //////////////////////////////////////////////////////////////////////////////
111
+ export function fromKmsExtraDataBytesHex(extraDataBytesHex) {
112
+ if (extraDataBytesHex === '0x00' || extraDataBytesHex === '0x') {
113
+ return new KmsExtraDataImpl(PRIVATE_TOKEN, {
114
+ version: EXTRA_DATA_V0,
115
+ kmsContextId: 0n,
116
+ kmsEpochId: 0n,
117
+ });
118
+ }
119
+ if (extraDataBytesHex.length <= 4) {
120
+ throw new Error(`Unsupported kms extraData length ${extraDataBytesHex.length}: must be more than 4 bytes`);
121
+ }
122
+ // First byte = version (characters 2-3 after '0x')
123
+ const version = asUint8Number(Number('0x' + extraDataBytesHex.slice(2, 4)));
124
+ if (version === EXTRA_DATA_V1) {
125
+ // ExtraData v1 format: 1 version byte + 32-byte big-endian context ID = 33 bytes = 66 hex chars + 2 for '0x' = 68
126
+ // 0x01aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
127
+ // ↑ ↑ ↑
128
+ // 0 4 68
129
+ // 0 1 2 3 4 5 6
130
+ // 01234567890123456789012345678901234567890123456789012345678901234567
131
+ if (extraDataBytesHex.length != 68) {
132
+ throw new Error(`Invalid kms extraData length for v1: expected 68, got ${extraDataBytesHex.length}`);
133
+ }
134
+ // 32-byte contextId starts at byte 1 (hex chars 4..67)
135
+ const contextIdBytes32Hex = asBytes32Hex(`0x${extraDataBytesHex.slice(4, 68)}`);
136
+ const kmsContextId = asUint256BigInt(BigInt(contextIdBytes32Hex));
137
+ return new KmsExtraDataImpl(PRIVATE_TOKEN, {
138
+ version: EXTRA_DATA_V1,
139
+ kmsContextId,
140
+ kmsEpochId: 0n,
141
+ });
142
+ }
143
+ if (version === EXTRA_DATA_V2) {
144
+ // ExtraData v2 format: 1 version byte + 32-byte big-endian context ID + 32-byte big-endian epoch ID = 65 bytes = 130 hex chars + 2 for '0x' = 132
145
+ // 0x01aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
146
+ // ↑ ↑ ↑ ↑
147
+ // 0 4 68 132
148
+ // 0 1 2 3 4 5 6 7 8 9 0 1 2 3
149
+ // 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
150
+ if (extraDataBytesHex.length != 132) {
151
+ throw new Error(`Invalid extraData length for v2: expected 132, got ${extraDataBytesHex.length}`);
152
+ }
153
+ // 32-byte contextId starts at byte 1 (hex chars 4..67)
154
+ const contextIdBytes32Hex = asBytes32Hex(`0x${extraDataBytesHex.slice(4, 68)}`);
155
+ const kmsContextId = asUint256BigInt(BigInt(contextIdBytes32Hex));
156
+ // 32-byte epochId starts at byte 33 (hex chars 68..131)
157
+ const epochIdBytes32Hex = asBytes32Hex(`0x${extraDataBytesHex.slice(68, 132)}`);
158
+ const kmsEpochId = asUint256BigInt(BigInt(epochIdBytes32Hex));
159
+ return new KmsExtraDataImpl(PRIVATE_TOKEN, {
160
+ version: EXTRA_DATA_V2,
161
+ kmsContextId,
162
+ kmsEpochId: kmsEpochId,
163
+ });
164
+ }
165
+ throw new Error(`Unsupported kms extraData version ${version}`);
166
+ }
167
+ ////////////////////////////////////////////////////////////////////////////////
168
+ export function createKmsExtraDataV0() {
169
+ return new KmsExtraDataImpl(PRIVATE_TOKEN, {
170
+ version: EXTRA_DATA_V0,
171
+ kmsContextId: 0n,
172
+ kmsEpochId: 0n,
173
+ });
174
+ }
175
+ ////////////////////////////////////////////////////////////////////////////////
176
+ export function createKmsExtraDataV1(parameters) {
177
+ return new KmsExtraDataImpl(PRIVATE_TOKEN, {
178
+ version: EXTRA_DATA_V1,
179
+ kmsContextId: parameters.kmsContextId,
180
+ kmsEpochId: 0n,
181
+ });
182
+ }
183
+ ////////////////////////////////////////////////////////////////////////////////
184
+ export function createKmsExtraDataV2(parameters) {
185
+ return new KmsExtraDataImpl(PRIVATE_TOKEN, {
186
+ version: EXTRA_DATA_V2,
187
+ kmsContextId: parameters.kmsContextId,
188
+ kmsEpochId: parameters.kmsEpochId,
189
+ });
190
+ }
191
+ ////////////////////////////////////////////////////////////////////////////////
192
+ export function validateKmsExtraDataParams(parameters) {
193
+ if (parameters.kmsEpochId !== 0n && parameters.kmsContextId === 0n) {
194
+ throw new Error('kmsContextId cannot be 0 if kmsEpochId is not 0');
195
+ }
196
+ }
197
+ ////////////////////////////////////////////////////////////////////////////////
198
+ export function createKmsExtraData(parameters) {
199
+ validateKmsExtraDataParams(parameters);
200
+ if (parameters.kmsEpochId === 0n) {
201
+ if (parameters.kmsContextId === 0n) {
202
+ return createKmsExtraDataV0();
203
+ }
204
+ return createKmsExtraDataV1({
205
+ kmsContextId: parameters.kmsContextId,
206
+ });
207
+ }
208
+ return createKmsExtraDataV2({
209
+ kmsContextId: parameters.kmsContextId,
210
+ kmsEpochId: parameters.kmsEpochId,
211
+ });
212
+ }
213
+ ////////////////////////////////////////////////////////////////////////////////
214
+ export function equalsKmsExtraData(a, b) {
215
+ assertIsKmsExtraData(a, {});
216
+ assertIsKmsExtraData(b, {});
217
+ return a.version === b.version && a.kmsContextId === b.kmsContextId && a.kmsEpochId === b.kmsEpochId;
218
+ }
219
+ ////////////////////////////////////////////////////////////////////////////////
220
+ /**
221
+ * Module-only helper. Narrows an unknown value to the concrete
222
+ * {@link KmsExtraDataImpl} class by verifying it via {@link assertIsKmsExtraData}
223
+ * and returning it typed as the implementation class, so other functions in this
224
+ * module can reach class-only members. Prefer this over a bare cast.
225
+ *
226
+ * Must never be exported: `Impl` classes are internal to the SDK and never leave
227
+ * the module, so a function that hands one back must stay module-private too.
228
+ * The public surface exposes only the {@link KmsExtraData} interface.
229
+ *
230
+ * @param value - The value to narrow.
231
+ * @returns The same value typed as {@link KmsExtraDataImpl}.
232
+ * @throws {InvalidTypeError} If `value` is not a {@link KmsExtraDataImpl} instance.
233
+ */
234
+ function _asKmsExtraDataImpl(value) {
235
+ assertIsKmsExtraData(value, {});
236
+ return value;
237
+ }
238
+ ////////////////////////////////////////////////////////////////////////////////
239
+ export function isKmsExtraData(value) {
240
+ return value instanceof KmsExtraDataImpl;
241
+ }
242
+ ////////////////////////////////////////////////////////////////////////////////
243
+ export function assertIsKmsExtraData(value, options) {
244
+ if (!isKmsExtraData(value)) {
245
+ throw new InvalidTypeError({
246
+ subject: options.subject,
247
+ type: typeof value,
248
+ expectedType: 'KmsExtraData',
249
+ }, options);
250
+ }
251
+ }
252
+ ////////////////////////////////////////////////////////////////////////////////
253
+ export function assertIsKmsExtraDataBytesHex(value, options) {
254
+ if (value === '0x00' || value === '0x') {
255
+ return;
256
+ }
257
+ assertIsBytesHex(value, options);
258
+ // Will valid extraData length too
259
+ fromKmsExtraDataBytesHex(value);
260
+ }
261
+ ////////////////////////////////////////////////////////////////////////////////
262
+ /**
263
+ * Returns `true` if `kmsExtraData`'s version is accepted by the given
264
+ * KMSVerifier contract version.
265
+ *
266
+ * | KMSVerifier version | protocol | max extraData version |
267
+ * | ------------------- | --------------- | --------------------- |
268
+ * | < 0.2.0 | v0.11.0 | v0 |
269
+ * | 0.2.0 – 0.3.x | v0.12.0/v0.13.0 | v1 |
270
+ * | 0.4.0 | v0.14.0 | v2 |
271
+ * | > 0.4.0 | v0.14.1+ | not checked (`true`) |
272
+ */
273
+ export function isKmsExtraDataCompatibleWithKmsVerifier(kmsExtraData, kmsVerifierVersion) {
274
+ const ed = _asKmsExtraDataImpl(kmsExtraData);
275
+ // Protocol v0.11.0
276
+ if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
277
+ return ed.version <= EXTRA_DATA_V0;
278
+ }
279
+ // Protocol v0.12.0/v0.13.0
280
+ if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 4 })) {
281
+ return ed.version <= EXTRA_DATA_V1;
282
+ }
283
+ // Protocol v0.14.0
284
+ if (isVersionEqual(kmsVerifierVersion, { major: 0, minor: 4, patch: 0 })) {
285
+ return ed.version <= EXTRA_DATA_V2;
286
+ }
287
+ // Protocol v0.14.1+ (beyond the versions this SDK release knows about).
288
+ //
289
+ // We deliberately return `true` (compatible) instead of guessing an upper
290
+ // bound on `extraData.version`. On v0.14.0 the KMSVerifier reverts for
291
+ // `extraData.version > 2`, but we cannot know the accepted range of future
292
+ // contract versions. Pre-validating here would risk rejecting extraData that
293
+ // a newer contract actually supports. If the on-chain contract does reject it,
294
+ // the call reverts — and surfacing that revert is the source of truth, not a
295
+ // speculative client-side check.
296
+ return true;
297
+ }
298
+ //# sourceMappingURL=kmsExtraData-p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kmsExtraData-p.js","sourceRoot":"","sources":["../../../core/kms/kmsExtraData-p.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  ////////////////////////////////////////////////////////////////////////////////
2
- // KmsPublicDecryptEIP712Types
2
+ // KmsPublicDecryptEip712Types
3
3
  ////////////////////////////////////////////////////////////////////////////////
4
4
  export const kmsPublicDecryptEip712Types = {
5
5
  EIP712Domain: [