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

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 (606) hide show
  1. package/_cjs/core/_version.js +1 -1
  2. package/_cjs/core/actions/base/index.js +1 -17
  3. package/_cjs/core/actions/base/index.js.map +1 -1
  4. package/_cjs/core/actions/base/signDecryptionPermit.js +0 -3
  5. package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -1
  6. package/_cjs/core/actions/chain/index.js +1 -13
  7. package/_cjs/core/actions/chain/index.js.map +1 -1
  8. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
  9. package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
  10. package/_cjs/core/actions/decrypt/canDecryptValue.js.map +1 -1
  11. package/_cjs/core/actions/decrypt/canDecryptValues.js.map +1 -1
  12. package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
  13. package/_cjs/core/actions/decrypt/decryptValue.js +1 -0
  14. package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
  15. package/_cjs/core/actions/decrypt/decryptValues.js +2 -0
  16. package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
  17. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
  18. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  19. package/_cjs/core/actions/decrypt/index.js +1 -3
  20. package/_cjs/core/actions/decrypt/index.js.map +1 -1
  21. package/_cjs/core/actions/host/index.js +1 -9
  22. package/_cjs/core/actions/host/index.js.map +1 -1
  23. package/_cjs/core/base/bytes.js +2 -1
  24. package/_cjs/core/base/bytes.js.map +1 -1
  25. package/_cjs/core/base/cachedFetch.js +2 -1
  26. package/_cjs/core/base/cachedFetch.js.map +1 -1
  27. package/_cjs/core/base/environment.js +122 -0
  28. package/_cjs/core/base/environment.js.map +1 -0
  29. package/_cjs/core/base/errors/Sha256VerificationError.js +15 -0
  30. package/_cjs/core/base/errors/Sha256VerificationError.js.map +1 -0
  31. package/_cjs/core/base/inflate.js +282 -0
  32. package/_cjs/core/base/inflate.js.map +1 -0
  33. package/_cjs/core/base/isomorphicFs.js +24 -0
  34. package/_cjs/core/base/isomorphicFs.js.map +1 -0
  35. package/_cjs/core/base/isomorphicWorker.js +42 -111
  36. package/_cjs/core/base/isomorphicWorker.js.map +1 -1
  37. package/_cjs/core/base/uint.js +7 -0
  38. package/_cjs/core/base/uint.js.map +1 -1
  39. package/_cjs/core/base/wasm.js +15 -55
  40. package/_cjs/core/base/wasm.js.map +1 -1
  41. package/_cjs/core/clients/decorators/base.js +1 -1
  42. package/_cjs/core/clients/decorators/base.js.map +1 -1
  43. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +4 -1
  44. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  45. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +1 -1
  46. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
  47. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +1 -1
  48. package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
  49. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +1 -1
  50. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  51. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +1 -1
  52. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  53. package/_cjs/core/kms/PublicDecryptionProof-p.js +4 -4
  54. package/_cjs/core/kms/SignedDecryptionPermit-p.js +33 -199
  55. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  56. package/_cjs/core/kms/SignedDecryptionPermitV1-p.js +217 -0
  57. package/_cjs/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
  58. package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +184 -0
  59. package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
  60. package/_cjs/core/kms/TransportKeyPair-p.js +0 -4
  61. package/_cjs/core/kms/TransportKeyPair-p.js.map +1 -1
  62. package/_cjs/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +9 -9
  63. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  64. package/_cjs/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +18 -14
  65. package/_cjs/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
  66. package/_cjs/core/kms/decryptValuesFromPairs.js +18 -2
  67. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
  68. package/_cjs/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +18 -8
  69. package/_cjs/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
  70. package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js +95 -0
  71. package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
  72. package/_cjs/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +8 -8
  73. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
  74. package/_cjs/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +8 -8
  75. package/_cjs/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
  76. package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
  77. package/_cjs/core/kms/publicDecrypt.js +2 -2
  78. package/_cjs/core/kms/utils.js +0 -19
  79. package/_cjs/core/kms/utils.js.map +1 -1
  80. package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +1 -1
  81. package/_cjs/core/modules/decrypt/module/api-p.js +5 -5
  82. package/_cjs/core/modules/decrypt/module/init-p.js +124 -40
  83. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
  84. package/_cjs/core/modules/encrypt/module/init-p.js +153 -49
  85. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
  86. package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +3 -3
  87. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  88. package/_cjs/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
  89. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
  90. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  91. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +11 -45
  92. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  93. package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js +52 -0
  94. package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
  95. package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js +54 -0
  96. package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
  97. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
  98. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
  99. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +5 -2
  100. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
  101. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
  102. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
  103. package/_cjs/core/modules/relayer/module/index.js +2 -2
  104. package/_cjs/core/modules/relayer/module/index.js.map +1 -1
  105. package/_cjs/core/runtime/HyperWasmSolver-p.js +5 -10
  106. package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -1
  107. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  108. package/_cjs/core/runtime/initFhevmRuntime-p.js +1 -1
  109. package/_cjs/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
  110. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  111. package/_cjs/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
  112. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
  113. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +30 -0
  114. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
  115. package/_cjs/wasm/tfhe/TfheApi.d.ts +12 -12
  116. package/_cjs/wasm/tfhe/loadTfheLib.js +11 -11
  117. package/_cjs/wasm/tfhe/loadTfheLib.js.map +2 -2
  118. package/_cjs/wasm/tfhe/v1.5.3/startWorkers.js +26 -9
  119. package/_cjs/wasm/tfhe/v1.5.3/startWorkers.js.map +2 -2
  120. package/_cjs/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
  121. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +28 -11
  122. package/_cjs/wasm/tfhe/v1.6.2/startWorkers.js.map +7 -0
  123. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
  124. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
  125. package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +245 -442
  126. package/_cjs/wasm/tfhe/v1.6.2/tfhe.js.map +7 -0
  127. package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
  128. package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +35 -0
  129. package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js.map +7 -0
  130. package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
  131. package/_cjs/wasm/wasmBaseUrl.js +8 -19
  132. package/_cjs/wasm/wasmBaseUrl.js.map +2 -2
  133. package/_esm/core/_version.js +1 -1
  134. package/_esm/core/actions/base/index.js +0 -8
  135. package/_esm/core/actions/base/index.js.map +1 -1
  136. package/_esm/core/actions/base/signDecryptionPermit.js +0 -6
  137. package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
  138. package/_esm/core/actions/chain/index.js +0 -6
  139. package/_esm/core/actions/chain/index.js.map +1 -1
  140. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
  141. package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
  142. package/_esm/core/actions/decrypt/canDecryptValue.js +40 -0
  143. package/_esm/core/actions/decrypt/canDecryptValue.js.map +1 -1
  144. package/_esm/core/actions/decrypt/canDecryptValues.js +1 -0
  145. package/_esm/core/actions/decrypt/canDecryptValues.js.map +1 -1
  146. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js +1 -0
  147. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
  148. package/_esm/core/actions/decrypt/decryptValue.js +1 -0
  149. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
  150. package/_esm/core/actions/decrypt/decryptValues.js +2 -0
  151. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
  152. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
  153. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  154. package/_esm/core/actions/decrypt/index.js +0 -1
  155. package/_esm/core/actions/decrypt/index.js.map +1 -1
  156. package/_esm/core/actions/host/index.js +0 -4
  157. package/_esm/core/actions/host/index.js.map +1 -1
  158. package/_esm/core/base/bytes.js +2 -1
  159. package/_esm/core/base/bytes.js.map +1 -1
  160. package/_esm/core/base/cachedFetch.js +1 -0
  161. package/_esm/core/base/cachedFetch.js.map +1 -1
  162. package/_esm/core/base/environment.js +164 -0
  163. package/_esm/core/base/environment.js.map +1 -0
  164. package/_esm/core/base/errors/Sha256VerificationError.js +11 -0
  165. package/_esm/core/base/errors/Sha256VerificationError.js.map +1 -0
  166. package/_esm/core/base/inflate.js +337 -0
  167. package/_esm/core/base/inflate.js.map +1 -0
  168. package/_esm/core/base/isomorphicFs.js +21 -0
  169. package/_esm/core/base/isomorphicFs.js.map +1 -0
  170. package/_esm/core/base/isomorphicWorker.js +92 -85
  171. package/_esm/core/base/isomorphicWorker.js.map +1 -1
  172. package/_esm/core/base/uint.js +7 -0
  173. package/_esm/core/base/uint.js.map +1 -1
  174. package/_esm/core/base/wasm.js +25 -31
  175. package/_esm/core/base/wasm.js.map +1 -1
  176. package/_esm/core/clients/decorators/base.js +2 -4
  177. package/_esm/core/clients/decorators/base.js.map +1 -1
  178. package/_esm/core/coprocessor/coprocessorEip712Types.js +2 -2
  179. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +5 -2
  180. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
  181. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +2 -2
  182. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
  183. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +2 -2
  184. package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
  185. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +2 -2
  186. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
  187. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +2 -2
  188. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
  189. package/_esm/core/kms/PublicDecryptionProof-p.js +4 -4
  190. package/_esm/core/kms/SignedDecryptionPermit-p.js +48 -245
  191. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  192. package/_esm/core/kms/SignedDecryptionPermitV1-p.js +258 -0
  193. package/_esm/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
  194. package/_esm/core/kms/SignedDecryptionPermitV2-p.js +204 -0
  195. package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
  196. package/_esm/core/kms/TransportKeyPair-p.js +0 -4
  197. package/_esm/core/kms/TransportKeyPair-p.js.map +1 -1
  198. package/_esm/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +8 -8
  199. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  200. package/_esm/core/kms/createKmsPublicDecryptEip712.js +1 -1
  201. package/_esm/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +18 -14
  202. package/_esm/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
  203. package/_esm/core/kms/decryptValuesFromPairs.js +18 -2
  204. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
  205. package/_esm/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +23 -13
  206. package/_esm/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
  207. package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js +119 -0
  208. package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
  209. package/_esm/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +9 -8
  210. package/_esm/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
  211. package/_esm/core/kms/kmsPublicDecryptEip712Types.js +1 -1
  212. package/_esm/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +9 -8
  213. package/_esm/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
  214. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +2 -1
  215. package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
  216. package/_esm/core/kms/publicDecrypt.js +2 -2
  217. package/_esm/core/kms/utils.js +0 -18
  218. package/_esm/core/kms/utils.js.map +1 -1
  219. package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +2 -2
  220. package/_esm/core/modules/decrypt/module/api-p.js +6 -6
  221. package/_esm/core/modules/decrypt/module/init-p.js +110 -55
  222. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
  223. package/_esm/core/modules/encrypt/module/init-p.js +306 -57
  224. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
  225. package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +3 -3
  226. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
  227. package/_esm/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
  228. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
  229. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  230. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +11 -46
  231. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  232. package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js +53 -0
  233. package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
  234. package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js +56 -0
  235. package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
  236. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
  237. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
  238. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +6 -3
  239. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
  240. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
  241. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
  242. package/_esm/core/modules/relayer/module/index.js +1 -1
  243. package/_esm/core/modules/relayer/module/index.js.map +1 -1
  244. package/_esm/core/runtime/HyperWasmSolver-p.js +5 -10
  245. package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -1
  246. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
  247. package/_esm/core/runtime/initFhevmRuntime-p.js +1 -1
  248. package/_esm/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
  249. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
  250. package/_esm/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
  251. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
  252. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +27 -0
  253. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
  254. package/_esm/wasm/tfhe/TfheApi.d.ts +12 -12
  255. package/_esm/wasm/tfhe/loadTfheLib.js +11 -11
  256. package/_esm/wasm/tfhe/v1.5.3/startWorkers.js +41 -20
  257. package/_esm/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
  258. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +46 -25
  259. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
  260. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
  261. package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +245 -442
  262. package/_esm/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
  263. package/_esm/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +7 -0
  264. package/_esm/wasm/wasmBaseUrl.js +17 -54
  265. package/_types/core/actions/base/index.d.ts +0 -8
  266. package/_types/core/actions/base/index.d.ts.map +1 -1
  267. package/_types/core/actions/base/signDecryptionPermit.d.ts +4 -5
  268. package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
  269. package/_types/core/actions/chain/index.d.ts +1 -7
  270. package/_types/core/actions/chain/index.d.ts.map +1 -1
  271. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +1 -0
  272. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
  273. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts +3 -2
  274. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts.map +1 -1
  275. package/_types/core/actions/decrypt/canDecryptValue.d.ts +3 -4
  276. package/_types/core/actions/decrypt/canDecryptValue.d.ts.map +1 -1
  277. package/_types/core/actions/decrypt/canDecryptValues.d.ts +3 -4
  278. package/_types/core/actions/decrypt/canDecryptValues.d.ts.map +1 -1
  279. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +3 -4
  280. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts.map +1 -1
  281. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
  282. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
  283. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
  284. package/_types/core/actions/decrypt/index.d.ts +0 -1
  285. package/_types/core/actions/decrypt/index.d.ts.map +1 -1
  286. package/_types/core/actions/host/index.d.ts +0 -4
  287. package/_types/core/actions/host/index.d.ts.map +1 -1
  288. package/_types/core/base/bytes.d.ts.map +1 -1
  289. package/_types/core/base/cachedFetch.d.ts +1 -0
  290. package/_types/core/base/cachedFetch.d.ts.map +1 -1
  291. package/_types/core/base/environment.d.ts +92 -0
  292. package/_types/core/base/environment.d.ts.map +1 -0
  293. package/_types/core/base/errors/Sha256VerificationError.d.ts +14 -0
  294. package/_types/core/base/errors/Sha256VerificationError.d.ts.map +1 -0
  295. package/_types/core/base/inflate.d.ts +25 -0
  296. package/_types/core/base/inflate.d.ts.map +1 -0
  297. package/_types/core/base/isomorphicFs.d.ts +2 -0
  298. package/_types/core/base/isomorphicFs.d.ts.map +1 -0
  299. package/_types/core/base/isomorphicWorker.d.ts +27 -43
  300. package/_types/core/base/isomorphicWorker.d.ts.map +1 -1
  301. package/_types/core/base/uint.d.ts +2 -1
  302. package/_types/core/base/uint.d.ts.map +1 -1
  303. package/_types/core/base/wasm.d.ts +0 -8
  304. package/_types/core/base/wasm.d.ts.map +1 -1
  305. package/_types/core/clients/decorators/base.d.ts +12 -23
  306. package/_types/core/clients/decorators/base.d.ts.map +1 -1
  307. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +2 -2
  308. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -1
  309. package/_types/core/kms/PublicDecryptionProof-p.d.ts +1 -1
  310. package/_types/core/kms/SignedDecryptionPermit-p.d.ts +15 -29
  311. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
  312. package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts +7 -0
  313. package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts.map +1 -0
  314. package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts +7 -0
  315. package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts.map +1 -0
  316. package/_types/core/kms/TransportKeyPair-p.d.ts.map +1 -1
  317. package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts +15 -0
  318. package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
  319. package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts +26 -0
  320. package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts.map +1 -0
  321. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +1 -1
  322. package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -1
  323. package/_types/core/kms/decryptValuesFromPairs.d.ts +4 -11
  324. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
  325. package/_types/core/kms/{fetchKmsSigncryptedShares-p.d.ts → fetchKmsSigncryptedSharesV1-p.d.ts} +10 -12
  326. package/_types/core/kms/fetchKmsSigncryptedSharesV1-p.d.ts.map +1 -0
  327. package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts +28 -0
  328. package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts.map +1 -0
  329. package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts +3 -0
  330. package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts.map +1 -0
  331. package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts +3 -0
  332. package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts.map +1 -0
  333. package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -1
  334. package/_types/core/kms/utils.d.ts +0 -4
  335. package/_types/core/kms/utils.d.ts.map +1 -1
  336. package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts +1 -1
  337. package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
  338. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
  339. package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts +2 -2
  340. package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -1
  341. package/_types/core/modules/relayer/module/{fetchDelegatedUserDecrypt.d.ts → fetchDelegatedUserDecryptV1.d.ts} +1 -1
  342. package/_types/core/modules/relayer/module/fetchDelegatedUserDecryptV1.d.ts.map +1 -0
  343. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
  344. package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts +3 -0
  345. package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts.map +1 -0
  346. package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts +3 -0
  347. package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts.map +1 -0
  348. package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts.map +1 -1
  349. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts +1 -1
  350. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts.map +1 -1
  351. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts.map +1 -1
  352. package/_types/core/modules/relayer/types.d.ts +18 -5
  353. package/_types/core/modules/relayer/types.d.ts.map +1 -1
  354. package/_types/core/types/kms.d.ts +18 -19
  355. package/_types/core/types/kms.d.ts.map +1 -1
  356. package/_types/core/types/logger.d.ts +3 -3
  357. package/_types/core/types/logger.d.ts.map +1 -1
  358. package/_types/core/types/record-p.d.ts +2 -1
  359. package/_types/core/types/record-p.d.ts.map +1 -1
  360. package/_types/core/types/relayer-p.d.ts +27 -5
  361. package/_types/core/types/relayer-p.d.ts.map +1 -1
  362. package/_types/core/types/signedDecryptionPermit.d.ts +37 -26
  363. package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -1
  364. package/_types/core/types/wasmAssets.d.ts.map +1 -1
  365. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts +14 -0
  366. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
  367. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts +14 -0
  368. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts.map +1 -0
  369. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts +14 -0
  370. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts.map +1 -0
  371. package/_types/core/utils-p/runtime/recoverSigners.d.ts +2 -2
  372. package/_types/wasm/tfhe/TfheApi.d.ts +12 -12
  373. package/_types/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
  374. package/_types/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
  375. package/core/_version.ts +1 -1
  376. package/core/actions/base/index.ts +0 -42
  377. package/core/actions/base/signDecryptionPermit.ts +3 -31
  378. package/core/actions/chain/index.ts +0 -28
  379. package/core/actions/chain/parseSignedDecryptionPermit.ts +1 -0
  380. package/core/actions/chain/serializeSignedDecryptionPermit.ts +3 -2
  381. package/core/actions/decrypt/canDecryptValue.ts +2 -16
  382. package/core/actions/decrypt/canDecryptValues.ts +2 -16
  383. package/core/actions/decrypt/canDecryptValuesFromPairs.ts +2 -16
  384. package/core/actions/decrypt/decryptValue.ts +2 -1
  385. package/core/actions/decrypt/decryptValues.ts +3 -1
  386. package/core/actions/decrypt/decryptValuesFromPairs.ts +3 -1
  387. package/core/actions/decrypt/index.ts +0 -6
  388. package/core/actions/host/index.ts +0 -20
  389. package/core/base/bytes.ts +2 -1
  390. package/core/base/cachedFetch.ts +1 -0
  391. package/core/base/environment.ts +210 -0
  392. package/core/base/errors/Sha256VerificationError.ts +22 -0
  393. package/core/base/inflate.ts +373 -0
  394. package/core/base/isomorphicFs.ts +23 -0
  395. package/core/base/isomorphicWorker.ts +96 -123
  396. package/core/base/uint.ts +18 -1
  397. package/core/base/wasm.ts +28 -35
  398. package/core/clients/decorators/base.ts +13 -37
  399. package/core/coprocessor/coprocessorEip712Types.ts +2 -2
  400. package/core/host-contracts/canDecryptValuesFromPairs.ts +7 -7
  401. package/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.ts +2 -2
  402. package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +2 -2
  403. package/core/host-contracts/getCurrentKmsContextId-p.ts +2 -2
  404. package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +2 -2
  405. package/core/kms/PublicDecryptionProof-p.ts +5 -5
  406. package/core/kms/SignedDecryptionPermit-p.ts +67 -357
  407. package/core/kms/SignedDecryptionPermitV1-p.ts +350 -0
  408. package/core/kms/SignedDecryptionPermitV2-p.ts +292 -0
  409. package/core/kms/TransportKeyPair-p.ts +0 -5
  410. package/core/kms/{createKmsDelegatedUserDecryptEip712.ts → createKmsDelegatedUserDecryptEip712V1.ts} +16 -16
  411. package/core/kms/createKmsPublicDecryptEip712.ts +1 -1
  412. package/core/kms/{createKmsUserDecryptEip712.ts → createKmsUserDecryptEip712V1.ts} +31 -22
  413. package/core/kms/createKmsUserDecryptEip712V2.ts +1 -1
  414. package/core/kms/decryptValuesFromPairs.ts +34 -22
  415. package/core/kms/{fetchKmsSigncryptedShares-p.ts → fetchKmsSigncryptedSharesV1-p.ts} +35 -30
  416. package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +176 -0
  417. package/core/kms/{kmsDelegatedUserDecryptEip712Types.ts → kmsDelegatedUserDecryptEip712V1Types.ts} +9 -8
  418. package/core/kms/kmsPublicDecryptEip712Types.ts +1 -1
  419. package/core/kms/{kmsUserDecryptEip712Types.ts → kmsUserDecryptEip712V1Types.ts} +9 -8
  420. package/core/kms/kmsUserDecryptEip712V2Types.ts +2 -1
  421. package/core/kms/publicDecrypt.ts +2 -2
  422. package/core/kms/utils.ts +0 -32
  423. package/core/kms/verifyKmsPublicDecryptEip712-p.ts +3 -3
  424. package/core/modules/decrypt/module/api-p.ts +8 -8
  425. package/core/modules/decrypt/module/init-p.ts +149 -60
  426. package/core/modules/encrypt/module/init-p.ts +377 -67
  427. package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +3 -3
  428. package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +2 -2
  429. package/core/modules/relayer/module/fetchPublicDecrypt.ts +1 -1
  430. package/core/modules/relayer/module/fetchUserDecrypt.ts +20 -56
  431. package/core/modules/relayer/module/fetchUserDecryptV1.ts +69 -0
  432. package/core/modules/relayer/module/fetchUserDecryptV2.ts +71 -0
  433. package/core/modules/relayer/module/guards/RelayerResponseFailed.ts +10 -2
  434. package/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.ts +6 -3
  435. package/core/modules/relayer/module/guards/api-errors/RelayerApiError503.ts +2 -0
  436. package/core/modules/relayer/module/index.ts +1 -1
  437. package/core/modules/relayer/types.ts +24 -5
  438. package/core/runtime/HyperWasmSolver-p.ts +5 -9
  439. package/core/runtime/initFhevmEncryptRuntime-p.ts +1 -1
  440. package/core/runtime/initFhevmRuntime-p.ts +1 -1
  441. package/core/types/kms.ts +40 -28
  442. package/core/types/logger.ts +3 -3
  443. package/core/types/record-p.ts +2 -1
  444. package/core/types/relayer-p.ts +48 -5
  445. package/core/types/signedDecryptionPermit.ts +47 -26
  446. package/core/types/wasmAssets.ts +58 -0
  447. package/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.ts → verifyKmsDelegatedUserDecryptEip712V1.ts} +9 -9
  448. package/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.ts → verifyKmsUserDecryptEip712V1.ts} +9 -9
  449. package/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.ts +43 -0
  450. package/core/utils-p/runtime/recoverSigners.ts +2 -2
  451. package/package.json +1 -1
  452. package/wasm/tfhe/TfheApi.d.ts +12 -12
  453. package/wasm/tfhe/loadTfheLib.js +11 -11
  454. package/wasm/tfhe/v1.5.3/startWorkers.js +41 -20
  455. package/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
  456. package/wasm/tfhe/v1.6.0-dev/startWorkers.js +41 -20
  457. package/wasm/tfhe/v1.6.0-dev/tfhe.d.ts +3 -0
  458. package/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +46 -25
  459. package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
  460. package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
  461. package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +245 -442
  462. package/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
  463. package/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +7 -0
  464. package/wasm/wasmBaseUrl.js +17 -54
  465. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -10
  466. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
  467. package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js +0 -19
  468. package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
  469. package/_cjs/core/actions/base/fetchVerifiedInputProof.js +0 -11
  470. package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
  471. package/_cjs/core/actions/base/readKmsSignersContext.js +0 -11
  472. package/_cjs/core/actions/base/readKmsSignersContext.js.map +0 -1
  473. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -31
  474. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
  475. package/_cjs/core/actions/base/verifyInputProof.js +0 -24
  476. package/_cjs/core/actions/base/verifyInputProof.js.map +0 -1
  477. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -17
  478. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
  479. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js +0 -11
  480. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
  481. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -17
  482. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  483. package/_cjs/core/actions/chain/createKmsEip712Domain.js +0 -11
  484. package/_cjs/core/actions/chain/createKmsEip712Domain.js.map +0 -1
  485. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js +0 -16
  486. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
  487. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -8
  488. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  489. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -8
  490. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
  491. package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -13
  492. package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
  493. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  494. package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +0 -1
  495. package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
  496. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
  497. package/_cjs/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
  498. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
  499. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  500. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
  501. package/_cjs/wasm/tfhe/v1.6.1/startWorkers.js.map +0 -7
  502. package/_cjs/wasm/tfhe/v1.6.1/tfhe.js.map +0 -7
  503. package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
  504. package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -35
  505. package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js.map +0 -7
  506. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -7
  507. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
  508. package/_esm/core/actions/base/fetchKmsSigncryptedShares.js +0 -17
  509. package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
  510. package/_esm/core/actions/base/fetchVerifiedInputProof.js +0 -8
  511. package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
  512. package/_esm/core/actions/base/readKmsSignersContext.js +0 -10
  513. package/_esm/core/actions/base/readKmsSignersContext.js.map +0 -1
  514. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -35
  515. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
  516. package/_esm/core/actions/base/verifyInputProof.js +0 -22
  517. package/_esm/core/actions/base/verifyInputProof.js.map +0 -1
  518. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -14
  519. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
  520. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js +0 -8
  521. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
  522. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -15
  523. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  524. package/_esm/core/actions/chain/createKmsEip712Domain.js +0 -8
  525. package/_esm/core/actions/chain/createKmsEip712Domain.js.map +0 -1
  526. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js +0 -14
  527. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
  528. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -5
  529. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  530. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -5
  531. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
  532. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -11
  533. package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
  534. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
  535. package/_esm/core/kms/createKmsUserDecryptEip712.js.map +0 -1
  536. package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
  537. package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
  538. package/_esm/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
  539. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
  540. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
  541. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
  542. package/_esm/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
  543. package/_esm/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -7
  544. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts +0 -14
  545. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts.map +0 -1
  546. package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts +0 -41
  547. package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +0 -1
  548. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts +0 -14
  549. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts.map +0 -1
  550. package/_types/core/actions/base/readKmsSignersContext.d.ts +0 -6
  551. package/_types/core/actions/base/readKmsSignersContext.d.ts.map +0 -1
  552. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts +0 -14
  553. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts.map +0 -1
  554. package/_types/core/actions/base/verifyInputProof.d.ts +0 -14
  555. package/_types/core/actions/base/verifyInputProof.d.ts.map +0 -1
  556. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts +0 -11
  557. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts.map +0 -1
  558. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts +0 -7
  559. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts.map +0 -1
  560. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
  561. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  562. package/_types/core/actions/chain/createKmsEip712Domain.d.ts +0 -7
  563. package/_types/core/actions/chain/createKmsEip712Domain.d.ts.map +0 -1
  564. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts +0 -14
  565. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +0 -1
  566. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -7
  567. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  568. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts +0 -7
  569. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts.map +0 -1
  570. package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts +0 -13
  571. package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +0 -1
  572. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
  573. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  574. package/_types/core/kms/createKmsUserDecryptEip712.d.ts +0 -26
  575. package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +0 -1
  576. package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +0 -1
  577. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts +0 -3
  578. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts.map +0 -1
  579. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts +0 -3
  580. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts.map +0 -1
  581. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +0 -1
  582. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -14
  583. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
  584. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts +0 -14
  585. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts.map +0 -1
  586. package/core/actions/base/createVerifiedInputProofFromRawBytes.ts +0 -24
  587. package/core/actions/base/fetchKmsSigncryptedShares.ts +0 -83
  588. package/core/actions/base/fetchVerifiedInputProof.ts +0 -25
  589. package/core/actions/base/readKmsSignersContext.ts +0 -20
  590. package/core/actions/base/verifyHandlesCoprocessorSignatures.ts +0 -60
  591. package/core/actions/base/verifyInputProof.ts +0 -45
  592. package/core/actions/base/verifyZkProofCoprocessorSignatures.ts +0 -32
  593. package/core/actions/chain/createCoprocessorEip712Domain.ts +0 -16
  594. package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +0 -36
  595. package/core/actions/chain/createKmsEip712Domain.ts +0 -16
  596. package/core/actions/chain/createKmsUserDecryptEip712.ts +0 -34
  597. package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +0 -16
  598. package/core/actions/chain/verifyKmsUserDecryptEip712.ts +0 -16
  599. package/core/actions/decrypt/decryptKmsSigncryptedShares.ts +0 -34
  600. package/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
  601. package/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -7
  602. /package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
  603. /package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
  604. /package/_types/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
  605. /package/core/modules/relayer/module/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +0 -0
  606. /package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
@@ -51,7 +51,7 @@ export type RelayerFetchPublicDecryptPayload = {
51
51
  };
52
52
 
53
53
  // https://github.com/zama-ai/fhevm-relayer/blob/96151ef300f787658c5fbaf1b4471263160032d5/src/http/userdecrypt_http_listener.rs#L33
54
- export type HandleContractPair = {
54
+ export type HandleContractPairV1 = {
55
55
  // Hex encoded bytes32 with 0x prefix.
56
56
  readonly handle: HandleBytes32Hex;
57
57
  // Hex encoded address with 0x prefix.
@@ -60,7 +60,7 @@ export type HandleContractPair = {
60
60
 
61
61
  // https://github.com/zama-ai/fhevm-relayer/blob/96151ef300f787658c5fbaf1b4471263160032d5/src/http/userdecrypt_http_listener.rs#L20
62
62
  export type FetchUserDecryptPayload = {
63
- readonly handleContractPairs: readonly HandleContractPair[];
63
+ readonly handleContractPairs: readonly HandleContractPairV1[];
64
64
  readonly requestValidity: {
65
65
  // Number as a string
66
66
  readonly startTimestamp: string;
@@ -81,8 +81,45 @@ export type FetchUserDecryptPayload = {
81
81
  readonly extraData: BytesHex;
82
82
  };
83
83
 
84
+ // https://github.com/zama-ai/fhevm-relayer v3 HandleEntryJson (camelCase)
85
+ export type HandleContractPairV2 = {
86
+ // Hex encoded bytes32 with 0x prefix.
87
+ readonly ctHandle: HandleBytes32Hex;
88
+ // Hex encoded address with 0x prefix.
89
+ readonly contractAddress: ChecksummedAddress;
90
+ // Hex encoded address with 0x prefix.
91
+ readonly ownerAddress: ChecksummedAddress;
92
+ };
93
+
94
+ // https://github.com/zama-ai/fhevm-relayer — v3/user-decrypt (RFC-016 unified struct)
95
+ // POST body: AttestedUserDecryptRequestJson envelope
96
+ export type FetchUserDecryptPayloadV2 = {
97
+ readonly attestationType: 'eip712-unified-user-decrypt-v1';
98
+ readonly attestedPayload: {
99
+ readonly version: '2.0';
100
+ readonly type: 'user_decryption';
101
+ readonly handles: readonly HandleContractPairV2[];
102
+ // Hex encoded address with 0x prefix.
103
+ readonly userAddress: ChecksummedAddress;
104
+ // List of hex encoded addresses with 0x prefix (empty = permissive mode)
105
+ readonly allowedContracts: readonly ChecksummedAddress[];
106
+ readonly requestValidity: {
107
+ // Number as a string
108
+ readonly startTimestamp: string;
109
+ // Number as a string
110
+ readonly durationSeconds: string;
111
+ };
112
+ // Hex encoded key with 0x prefix.
113
+ readonly publicKey: BytesHex;
114
+ // Hex encoded bytes with 0x prefix. Default: 0x00
115
+ readonly extraData: BytesHex;
116
+ };
117
+ // Hex encoded signature with 0x prefix.
118
+ readonly signature: Bytes65Hex;
119
+ };
120
+
84
121
  export type FetchDelegatedUserDecryptPayload = {
85
- readonly handleContractPairs: readonly HandleContractPair[];
122
+ readonly handleContractPairs: readonly HandleContractPairV1[];
86
123
  // Hex encoded uint256 string without prefix
87
124
  readonly contractsChainId: string;
88
125
  // List of hex encoded addresses with 0x prefix
@@ -318,7 +355,7 @@ export type RelayerApiError400 = RelayerApiError400NoDetails | RelayerApiError40
318
355
  * Status: 400 (no details)
319
356
  */
320
357
  export type RelayerApiError400NoDetails = {
321
- label: 'malformed_json' | 'request_error' | 'not_ready_for_decryption';
358
+ label: 'malformed_json' | 'request_error' | 'not_ready_for_decryption' | 'not_allowed_on_host_acl';
322
359
  message: string;
323
360
  };
324
361
 
@@ -372,7 +409,13 @@ export type RelayerApiError500 = {
372
409
  * Status: 503
373
410
  */
374
411
  export type RelayerApiError503 = {
375
- label: 'protocol_paused' | 'gateway_not_reachable' | 'readiness_check_timed_out' | 'response_timed_out';
412
+ label:
413
+ | 'protocol_paused'
414
+ | 'insufficient_balance'
415
+ | 'insufficient_allowance'
416
+ | 'gateway_not_reachable'
417
+ | 'readiness_check_timed_out'
418
+ | 'response_timed_out';
376
419
  message: string;
377
420
  };
378
421
 
@@ -1,11 +1,8 @@
1
- import type { KmsDelegatedUserDecryptEip712, KmsUserDecryptEip712 } from './kms.js';
1
+ import type { KmsDelegatedUserDecryptEip712V1, KmsUserDecryptEip712V1, KmsUserDecryptEip712V2 } from './kms.js';
2
2
  import type { Bytes65Hex, BytesHex, ChecksummedAddress } from './primitives.js';
3
3
 
4
4
  /**
5
- * A signed EIP-712 authorization that allows the signer's ephemeral key
6
- * to request decryption of the signer's own FHE handles from the KMS.
7
- *
8
- * Created once, serializable, and reusable across multiple decrypt calls.
5
+ * Common fields shared by all signed decryption permit versions.
9
6
  */
10
7
  export type SignedDecryptionPermitBase = {
11
8
  /** The EIP-712 signature. */
@@ -15,36 +12,60 @@ export type SignedDecryptionPermitBase = {
15
12
  /**
16
13
  * The account that owns the encrypted data this permit covers.
17
14
  *
18
- * - **Self permit:** equals `signerAddress` — the signer authorizes decryption
19
- * of their own data.
20
- *
21
- * - **Delegated permit:** differs from `signerAddress`. Step by step:
22
- * 1. Alice owns encrypted values on-chain (ebool, euint8, etc.).
23
- * 2. Alice calls the ACL contract to grant Bob permission to decrypt her data.
24
- * 3. Bob signs an EIP-712 delegated decryption permit referencing Alice as the
25
- * `encryptedDataOwnerAddress` (= `delegatorAddress` in the EIP-712 message).
26
- * 4. The KMS verifies Bob's signature (`signerAddress`) and that Alice
27
- * (`encryptedDataOwnerAddress`) has granted him on-chain permission.
28
- * 5. Bob can now decrypt Alice's encrypted values using this permit.
15
+ * - **Self permit:** equals `signerAddress`.
16
+ * - **Delegated permit:** differs from `signerAddress`. The owner has granted
17
+ * the signer permission via `FHE.delegateUserDecryption()` on-chain.
29
18
  */
30
19
  readonly encryptedDataOwnerAddress: ChecksummedAddress;
31
20
  /** The E2E transport public key embedded in the EIP-712 message. */
32
21
  readonly transportPublicKey: BytesHex;
22
+ /** `true` when the signer is decrypting on behalf of another account (delegated permit). */
23
+ readonly isDelegated: boolean;
33
24
 
34
- /** @throws If the permit has expired based on `startTimestamp` + `durationDays`. */
25
+ /** @throws If the permit has expired. */
35
26
  assertNotExpired(): void;
36
27
  };
37
28
 
38
- export type SignedSelfDecryptionPermit = SignedDecryptionPermitBase & {
39
- readonly eip712: KmsUserDecryptEip712;
40
- /** Always `false` for non-delegated permits. `encryptedDataOwnerAddress === signerAddress`. */
41
- readonly isDelegated: false;
29
+ ////////////////////////////////////////////////////////////////////////////////
30
+ // V1 — protocol v13 and below (two separate EIP-712 shapes)
31
+ ////////////////////////////////////////////////////////////////////////////////
32
+
33
+ /**
34
+ * Signed decryption permit produced by protocol v13 and below.
35
+ *
36
+ * Narrow to self vs delegated via `eip712.primaryType`:
37
+ * - `'UserDecryptRequestVerification'` → self permit (`encryptedDataOwnerAddress === signerAddress`)
38
+ * - `'DelegatedUserDecryptRequestVerification'` → delegated permit
39
+ */
40
+ export type SignedDecryptionPermitV1 = SignedDecryptionPermitBase & {
41
+ readonly version: 1;
42
+ readonly eip712: KmsUserDecryptEip712V1 | KmsDelegatedUserDecryptEip712V1;
42
43
  };
43
44
 
44
- export type SignedDelegatedDecryptionPermit = SignedDecryptionPermitBase & {
45
- readonly eip712: KmsDelegatedUserDecryptEip712;
46
- /** Always `true` for delegated permits. `v` is the delegated account. (see `SenderCannotBeDelegate` is ACL.sol) */
47
- readonly isDelegated: true;
45
+ ////////////////////////////////////////////////////////////////////////////////
46
+ // V2 — protocol v14 and above (unified EIP-712 shape)
47
+ ////////////////////////////////////////////////////////////////////////////////
48
+
49
+ /**
50
+ * Signed decryption permit produced by protocol v14 and above.
51
+ *
52
+ * Uses the unified `KmsUserDecryptEip712V2` EIP-712 shape — there is no longer
53
+ * a separate delegated variant. The `encryptedDataOwnerAddress` is read from
54
+ * `eip712.message.userAddress` and may differ from `signerAddress`.
55
+ *
56
+ * Discriminate from {@link SignedDecryptionPermitV1} with `permit.version === 2`.
57
+ */
58
+ export type SignedDecryptionPermitV2 = SignedDecryptionPermitBase & {
59
+ readonly version: 2;
60
+ readonly eip712: KmsUserDecryptEip712V2;
48
61
  };
49
62
 
50
- export type SignedDecryptionPermit = SignedSelfDecryptionPermit | SignedDelegatedDecryptionPermit;
63
+ ////////////////////////////////////////////////////////////////////////////////
64
+
65
+ /**
66
+ * A signed decryption permit, covering all protocol versions.
67
+ *
68
+ * Narrow by version: `permit.version === 1` → {@link SignedDecryptionPermitV1},
69
+ * `permit.version === 2` → {@link SignedDecryptionPermitV2}.
70
+ */
71
+ export type SignedDecryptionPermit = SignedDecryptionPermitV1 | SignedDecryptionPermitV2;
@@ -1,3 +1,61 @@
1
+ /*
2
+ * verified-blob:
3
+ * --------------
4
+ * Creates a worker from the configured URL after SHA-256 verification.
5
+ * 1. Reuse cached verified bytes.
6
+ * 2. Execute those exact bytes as a Blob worker in browsers.
7
+ * 3. Execute those exact bytes as an eval worker in Node.
8
+ *
9
+ * - Transport: url
10
+ * - Blob: yes
11
+ * - SHA256: yes
12
+ *
13
+ * precheck-direct-url:
14
+ * --------------------
15
+ * Creates a worker by passing the configured URL directly to the runtime, after a pre-flight SHA-256 probe.
16
+ *
17
+ * IMPORTANT: this is NOT an integrity check. The SDK fetches the URL once to validate
18
+ * the hash, then hands the URL to the runtime, which fetches it a SECOND time and
19
+ * executes those bytes. The two fetches are independent — the executed bytes are
20
+ * never verified. Use only for fail-fast on misconfigured URLs / build mismatches.
21
+ *
22
+ * For an actual integrity guarantee, use `verified-blob` (requires CSP allowing blob: workers).
23
+ *
24
+ * 1. Fetch the URL and verify its SHA-256 against __TFHE_WORKER_URL_SHA256_JSON__ — fails fast on mismatch.
25
+ * 2. Discard the verified bytes.
26
+ * 3. Let the runtime fetch the same URL again and execute it (no verification on this fetch).
27
+ *
28
+ * - Transport: url
29
+ * - Blob: no
30
+ * - SHA256: yes
31
+ *
32
+ * trusted-direct-url:
33
+ * -------------------
34
+ * Creates a worker by passing the configured URL directly to the runtime.
35
+ * 1. Require a configured worker URL.
36
+ * 2. Do not perform SDK byte verification.
37
+ * 3. Let the browser or Node runtime load and execute the URL directly.
38
+ *
39
+ * - Transport: url
40
+ * - Blob: no
41
+ * - SHA256: no
42
+ *
43
+ * embedded-base64:
44
+ * ----------------
45
+ * Creates a worker from the SDK-embedded base64 worker source.
46
+ * 1. Read the base64-encoded JavaScript source baked into this module.
47
+ * 2. Decode into a Blob URL and create a module Worker in browsers.
48
+ * 3. Decode into UTF-8 JavaScript and create a worker_threads eval Worker in Node.
49
+ *
50
+ * - Transport: base64
51
+ * - Blob: yes
52
+ * - SHA256: no
53
+ *
54
+ * auto:
55
+ * -----
56
+ * if workerUrl is defined, try it using `verified-blob`.
57
+ * if workerUrl failed or is undefined go for `embedded-base64`
58
+ */
1
59
  export type WasmAssetLoadMode =
2
60
  | 'embedded-base64'
3
61
  | 'verified-blob'
@@ -1,23 +1,23 @@
1
1
  import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
2
2
  import type { FhevmChain } from '../../types/fhevmChain.js';
3
- import type { KmsDelegatedUserDecryptEip712, KmsDelegatedUserDecryptEip712Message } from '../../types/kms.js';
3
+ import type { KmsDelegatedUserDecryptEip712V1, KmsDelegatedUserDecryptEip712V1Message } from '../../types/kms.js';
4
4
  import type { Bytes65Hex, ChecksummedAddress } from '../../types/primitives.js';
5
- import { kmsDelegatedUserDecryptEip712Types } from '../../kms/kmsDelegatedUserDecryptEip712Types.js';
5
+ import { kmsDelegatedUserDecryptEip712V1Types } from '../../kms/kmsDelegatedUserDecryptEip712V1Types.js';
6
6
  import { ThresholdSignerError, UnknownSignerError } from '../../errors/SignersError.js';
7
7
  import { createKmsEip712Domain } from '../../kms/createKmsEip712Domain.js';
8
8
  import { recoverSigners } from '../runtime/recoverSigners.js';
9
9
 
10
- export type VerifyKmsDelegatedUserDecryptEip712Parameters = {
10
+ export type VerifyKmsDelegatedUserDecryptEip712V1Parameters = {
11
11
  readonly signer: ChecksummedAddress;
12
- readonly message: KmsDelegatedUserDecryptEip712Message;
12
+ readonly message: KmsDelegatedUserDecryptEip712V1Message;
13
13
  readonly signature: Bytes65Hex;
14
14
  };
15
15
 
16
- export async function verifyKmsDelegatedUserDecryptEip712(
16
+ export async function verifyKmsDelegatedUserDecryptEip712V1(
17
17
  context: { readonly chain: FhevmChain; readonly runtime: FhevmRuntime },
18
- parameters: VerifyKmsDelegatedUserDecryptEip712Parameters,
18
+ parameters: VerifyKmsDelegatedUserDecryptEip712V1Parameters,
19
19
  ): Promise<void> {
20
- // A 'DelegatedUserDecryptRequestVerification' KmsEIP712Domain (for signed permit)
20
+ // A 'DelegatedUserDecryptRequestVerification' KmsEip712Domain (for signed permit)
21
21
  // uses `chain.id` (NOT fhevm.gateway.id!!)
22
22
  const domain = createKmsEip712Domain({
23
23
  chainId: context.chain.id,
@@ -26,8 +26,8 @@ export async function verifyKmsDelegatedUserDecryptEip712(
26
26
 
27
27
  const recoveredAddresses = await recoverSigners(context, {
28
28
  domain,
29
- types: kmsDelegatedUserDecryptEip712Types,
30
- primaryType: 'DelegatedUserDecryptRequestVerification' satisfies KmsDelegatedUserDecryptEip712['primaryType'],
29
+ types: kmsDelegatedUserDecryptEip712V1Types,
30
+ primaryType: 'DelegatedUserDecryptRequestVerification' satisfies KmsDelegatedUserDecryptEip712V1['primaryType'],
31
31
  signatures: [parameters.signature],
32
32
  message: parameters.message,
33
33
  });
@@ -1,23 +1,23 @@
1
1
  import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
2
2
  import type { FhevmChain } from '../../types/fhevmChain.js';
3
- import type { KmsUserDecryptEip712, KmsUserDecryptEip712Message } from '../../types/kms.js';
3
+ import type { KmsUserDecryptEip712V1, KmsUserDecryptEip712V1Message } from '../../types/kms.js';
4
4
  import type { Bytes65Hex, ChecksummedAddress } from '../../types/primitives.js';
5
5
  import { ThresholdSignerError, UnknownSignerError } from '../../errors/SignersError.js';
6
6
  import { createKmsEip712Domain } from '../../kms/createKmsEip712Domain.js';
7
- import { kmsUserDecryptEip712Types } from '../../kms/kmsUserDecryptEip712Types.js';
7
+ import { kmsUserDecryptEip712V1Types } from '../../kms/kmsUserDecryptEip712V1Types.js';
8
8
  import { recoverSigners } from '../runtime/recoverSigners.js';
9
9
 
10
- export type VerifyKmsUserDecryptEip712Parameters = {
10
+ export type VerifyKmsUserDecryptEip712V1Parameters = {
11
11
  readonly signer: ChecksummedAddress;
12
- readonly message: KmsUserDecryptEip712Message;
12
+ readonly message: KmsUserDecryptEip712V1Message;
13
13
  readonly signature: Bytes65Hex;
14
14
  };
15
15
 
16
- export async function verifyKmsUserDecryptEip712(
16
+ export async function verifyKmsUserDecryptEip712V1(
17
17
  context: { readonly chain: FhevmChain; readonly runtime: FhevmRuntime },
18
- parameters: VerifyKmsUserDecryptEip712Parameters,
18
+ parameters: VerifyKmsUserDecryptEip712V1Parameters,
19
19
  ): Promise<void> {
20
- // A 'UserDecryptRequestVerification' KmsEIP712Domain (for signed permit)
20
+ // A 'UserDecryptRequestVerification' KmsEip712Domain (for signed permit)
21
21
  // uses `chain.id` (NOT fhevm.gateway.id!!)
22
22
  const domain = createKmsEip712Domain({
23
23
  chainId: context.chain.id,
@@ -26,8 +26,8 @@ export async function verifyKmsUserDecryptEip712(
26
26
 
27
27
  const recoveredAddresses = await recoverSigners(context, {
28
28
  domain,
29
- types: kmsUserDecryptEip712Types,
30
- primaryType: 'UserDecryptRequestVerification' satisfies KmsUserDecryptEip712['primaryType'],
29
+ types: kmsUserDecryptEip712V1Types,
30
+ primaryType: 'UserDecryptRequestVerification' satisfies KmsUserDecryptEip712V1['primaryType'],
31
31
  signatures: [parameters.signature],
32
32
  message: parameters.message,
33
33
  });
@@ -0,0 +1,43 @@
1
+ import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
2
+ import type { FhevmChain } from '../../types/fhevmChain.js';
3
+ import type { KmsUserDecryptEip712V2, KmsUserDecryptEip712V2Message } from '../../types/kms.js';
4
+ import type { Bytes65Hex, ChecksummedAddress } from '../../types/primitives.js';
5
+ import { ThresholdSignerError, UnknownSignerError } from '../../errors/SignersError.js';
6
+ import { createKmsEip712Domain } from '../../kms/createKmsEip712Domain.js';
7
+ import { kmsUserDecryptEip712V2Types } from '../../kms/kmsUserDecryptEip712V2Types.js';
8
+ import { recoverSigners } from '../runtime/recoverSigners.js';
9
+
10
+ export type VerifyKmsUserDecryptEip712V2Parameters = {
11
+ readonly signer: ChecksummedAddress;
12
+ readonly message: KmsUserDecryptEip712V2Message;
13
+ readonly signature: Bytes65Hex;
14
+ };
15
+
16
+ export async function verifyKmsUserDecryptEip712V2(
17
+ context: { readonly chain: FhevmChain; readonly runtime: FhevmRuntime },
18
+ parameters: VerifyKmsUserDecryptEip712V2Parameters,
19
+ ): Promise<void> {
20
+ const domain = createKmsEip712Domain({
21
+ chainId: context.chain.id,
22
+ verifyingContractAddressDecryption: context.chain.fhevm.gateway.contracts.decryption.address,
23
+ });
24
+
25
+ const recoveredAddresses = await recoverSigners(context, {
26
+ domain,
27
+ types: kmsUserDecryptEip712V2Types,
28
+ primaryType: 'UserDecryptRequestVerification' satisfies KmsUserDecryptEip712V2['primaryType'],
29
+ signatures: [parameters.signature],
30
+ message: parameters.message,
31
+ });
32
+
33
+ if (recoveredAddresses.length !== 1) {
34
+ throw new ThresholdSignerError({ type: 'kms' });
35
+ }
36
+
37
+ if (recoveredAddresses[0] !== parameters.signer) {
38
+ throw new UnknownSignerError({
39
+ unknownAddress: recoveredAddresses[0] as unknown as ChecksummedAddress,
40
+ type: 'kms',
41
+ });
42
+ }
43
+ }
@@ -3,9 +3,9 @@ import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
3
3
  import type { Bytes65Hex, ChecksummedAddress } from '../../types/primitives.js';
4
4
  import { assertIsBytes65HexArray } from '../../base/bytes.js';
5
5
 
6
- type EIP712TypesType = Record<string, ReadonlyArray<{ name: string; type: string }>>;
6
+ type Eip712TypesType = Record<string, ReadonlyArray<{ name: string; type: string }>>;
7
7
 
8
- export type RecoverSignersParameters<T extends EIP712TypesType> = {
8
+ export type RecoverSignersParameters<T extends Eip712TypesType> = {
9
9
  readonly domain: Parameters<RecoverTypedDataAddressModuleFunction['recoverTypedDataAddress']>[0]['domain'];
10
10
  readonly types: T;
11
11
  readonly primaryType: string & keyof T;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fhevm/sdk",
3
3
  "description": "TypeScript Interface for FHEVM",
4
- "version": "1.1.0-alpha.5",
4
+ "version": "1.1.0-alpha.7",
5
5
  "type": "module",
6
6
  "main": "./_cjs/index.js",
7
7
  "module": "./_esm/index.js",
@@ -15,32 +15,32 @@ export type {
15
15
  ProvenCompactCiphertextList,
16
16
  TfheCompactPublicKey,
17
17
  ZkComputeLoad,
18
- } from './v1.6.1/tfhe.js';
18
+ } from './v1.6.2/tfhe.js';
19
19
 
20
20
  /** The subset you actually use - the runtime contract callers depend on. */
21
21
  export interface TfheLibApi {
22
- initAsync: typeof import('./v1.6.1/tfhe.js').initAsync;
22
+ initAsync: typeof import('./v1.6.2/tfhe.js').initAsync;
23
23
 
24
24
  // --- Free functions used by encrypt/init-p.ts -----------------------------
25
- init_panic_hook: typeof import('./v1.6.1/tfhe.js').init_panic_hook;
26
- initThreadPool: typeof import('./v1.6.1/tfhe.js').initThreadPool;
27
- setWorkerUrlConfig: typeof import('./v1.6.1/tfhe.js').setWorkerUrlConfig;
28
- getWasmInfo: typeof import('./v1.6.1/tfhe.js').getWasmInfo;
25
+ init_panic_hook: typeof import('./v1.6.2/tfhe.js').init_panic_hook;
26
+ initThreadPool: typeof import('./v1.6.2/tfhe.js').initThreadPool;
27
+ setWorkerUrlConfig: typeof import('./v1.6.2/tfhe.js').setWorkerUrlConfig;
28
+ getWasmInfo: typeof import('./v1.6.2/tfhe.js').getWasmInfo;
29
29
 
30
30
  // --- Class constructors used as values in encrypt/api-p.ts ----------------
31
31
  // These are imported as runtime values: instanceof checks, static methods
32
32
  // (safe_deserialize), factory calls (CompactCiphertextList.builder()).
33
- CompactCiphertextList: typeof import('./v1.6.1/tfhe.js').CompactCiphertextList;
34
- CompactPkeCrs: typeof import('./v1.6.1/tfhe.js').CompactPkeCrs;
35
- ProvenCompactCiphertextList: typeof import('./v1.6.1/tfhe.js').ProvenCompactCiphertextList;
36
- TfheCompactPublicKey: typeof import('./v1.6.1/tfhe.js').TfheCompactPublicKey;
33
+ CompactCiphertextList: typeof import('./v1.6.2/tfhe.js').CompactCiphertextList;
34
+ CompactPkeCrs: typeof import('./v1.6.2/tfhe.js').CompactPkeCrs;
35
+ ProvenCompactCiphertextList: typeof import('./v1.6.2/tfhe.js').ProvenCompactCiphertextList;
36
+ TfheCompactPublicKey: typeof import('./v1.6.2/tfhe.js').TfheCompactPublicKey;
37
37
 
38
38
  // --- Enum used as a value (e.g. ZkComputeLoad.Verify) ---------------------
39
- ZkComputeLoad: typeof import('./v1.6.1/tfhe.js').ZkComputeLoad;
39
+ ZkComputeLoad: typeof import('./v1.6.2/tfhe.js').ZkComputeLoad;
40
40
  }
41
41
 
42
42
  // Default version
43
- export type TfheVersion = '1.5.3' | '1.6.1';
43
+ export type TfheVersion = '1.5.3' | '1.6.2';
44
44
 
45
45
  export type TfheWasmBase64 = {
46
46
  readonly tfheWasmBase64: string;
@@ -8,19 +8,19 @@
8
8
 
9
9
  ////////////////////////////////////////////////////////////////////////////////
10
10
 
11
- export const TFHE_VERSIONS = Object.freeze(['1.5.3', '1.6.1']);
12
- export const DEFAULT_TFHE_VERSION = '1.6.1';
11
+ export const TFHE_VERSIONS = Object.freeze(['1.5.3', '1.6.2']);
12
+ export const DEFAULT_TFHE_VERSION = '1.6.2';
13
13
 
14
14
  const _loaders = {
15
15
  '1.5.3': () => import('./v1.5.3/tfhe.js'),
16
- '1.6.1': () => import('./v1.6.1/tfhe.js'),
16
+ '1.6.2': () => import('./v1.6.2/tfhe.js'),
17
17
  };
18
18
 
19
19
  ////////////////////////////////////////////////////////////////////////////////
20
20
 
21
21
  const _wasmBase64Loaders = {
22
22
  '1.5.3': () => import('./v1.5.3/tfhe_bg.wasm.base64.js'),
23
- '1.6.1': () => import('./v1.6.1/tfhe_bg.wasm.base64.js'),
23
+ '1.6.2': () => import('./v1.6.2/tfhe_bg.wasm.base64.js'),
24
24
  };
25
25
 
26
26
  ////////////////////////////////////////////////////////////////////////////////
@@ -38,16 +38,16 @@ const _assets = Object.freeze({
38
38
  sha256: '3f93fe86a8dfa6e25ae5fcfe28d19833219cba8f45f81c6dd05c2f3cc5323c52',
39
39
  }),
40
40
  }),
41
- '1.6.1': Object.freeze({
41
+ '1.6.2': Object.freeze({
42
42
  wasm: Object.freeze({
43
- filename: 'tfhe_bg.v1.6.1.wasm',
44
- localRelativePath: './v1.6.1/tfhe_bg.wasm',
45
- sha256: 'd470dc00347cdc83135e29700abe54c6a7ee9ba4ad58449bfc2494dfa4423f38',
43
+ filename: 'tfhe_bg.v1.6.2.wasm',
44
+ localRelativePath: './v1.6.2/tfhe_bg.wasm',
45
+ sha256: 'ecd1841ad42226629c1a665ba784e073f2e780137f7986b00088c9227acb9760',
46
46
  }),
47
47
  worker: Object.freeze({
48
- filename: 'tfhe-worker.v1.6.1.mjs',
49
- localRelativePath: './v1.6.1/tfhe-worker.mjs',
50
- sha256: '348fe6c2e77bafe0cbfb9c0a512af99b5f97de1119ceadf07cc34620dbc5690e',
48
+ filename: 'tfhe-worker.v1.6.2.mjs',
49
+ localRelativePath: './v1.6.2/tfhe-worker.mjs',
50
+ sha256: '2c648dd89132bb63d37e8b47c6fe1f53b06abb1389faeb9b3f671eea9a0db5dd',
51
51
  }),
52
52
  }),
53
53
  });
@@ -57,17 +57,13 @@
57
57
  */
58
58
 
59
59
  ////////////////////////////////////////////////////////////////////////////////
60
- // Runtime detection and load modes
60
+ // Load modes
61
61
  ////////////////////////////////////////////////////////////////////////////////
62
62
 
63
- function __isBrowserLike() {
64
- return (
65
- typeof Bun === 'undefined' &&
66
- typeof process === 'undefined' &&
67
- typeof addEventListener === 'function' &&
68
- typeof removeEventListener === 'function'
69
- );
70
- }
63
+ // Environment detection (browser vs Node) is NOT done here: the SDK resolves it
64
+ // once on the main thread (via environment.ts isBrowserLike, robust to bundler
65
+ // `process` shims) and injects it through setWorkerUrlConfig({ isBrowserLike }).
66
+ // See `_isBrowserLike` below.
71
67
 
72
68
  const __wasmAssetLoadModes = ['embedded-base64', 'verified-blob', 'precheck-direct-url', 'trusted-direct-url', 'auto'];
73
69
 
@@ -89,7 +85,7 @@ function __bytesToHex(bytes) {
89
85
  * @returns {Promise<string>} Lowercase hexadecimal SHA-256 digest without a `0x` prefix.
90
86
  */
91
87
  async function __sha256(bytes) {
92
- if (__isBrowserLike()) {
88
+ if (_isBrowserLike) {
93
89
  if (typeof crypto === 'undefined' || !crypto.subtle || typeof crypto.subtle.digest !== 'function') {
94
90
  throw new Error('Web Crypto SHA-256 digest is not available');
95
91
  }
@@ -100,7 +96,9 @@ async function __sha256(bytes) {
100
96
 
101
97
  const nodeModuleName = 'crypto';
102
98
  const nodeModuleId = `node:${nodeModuleName}`;
103
- const { createHash } = await import(/* @vite-ignore */ nodeModuleId);
99
+ const { createHash } = await import(
100
+ /* @vite-ignore */ /* webpackIgnore: true */ /* turbopackIgnore: true */ nodeModuleId
101
+ );
104
102
  return createHash('sha256').update(new Uint8Array(bytes)).digest('hex');
105
103
  }
106
104
 
@@ -152,13 +150,17 @@ async function __fetchAndVerifyWorkerUrlBytes(url, expectedSha256) {
152
150
  * @returns {Promise<ArrayBuffer | Uint8Array>} Raw worker script bytes.
153
151
  */
154
152
  async function __readWorkerUrlBytes(url) {
155
- if (!__isBrowserLike() && url.protocol === 'file:') {
153
+ if (!_isBrowserLike && url.protocol === 'file:') {
156
154
  const fsModuleName = 'fs/promises';
157
155
  const fsModuleId = `node:${fsModuleName}`;
158
156
  const urlModuleName = 'url';
159
157
  const urlModuleId = `node:${urlModuleName}`;
160
- const { readFile } = await import(/* @vite-ignore */ fsModuleId);
161
- const { fileURLToPath } = await import(/* @vite-ignore */ urlModuleId);
158
+ const { readFile } = await import(
159
+ /* @vite-ignore */ /* webpackIgnore: true */ /* turbopackIgnore: true */ fsModuleId
160
+ );
161
+ const { fileURLToPath } = await import(
162
+ /* @vite-ignore */ /* webpackIgnore: true */ /* turbopackIgnore: true */ urlModuleId
163
+ );
162
164
  return await readFile(fileURLToPath(url));
163
165
  }
164
166
 
@@ -203,7 +205,7 @@ async function __newBrowserWorkerFromBlob(blob) {
203
205
  * @returns {Promise<Worker>} Created worker.
204
206
  */
205
207
  async function __newIsomorphicWorkerFromUrl(url) {
206
- if (__isBrowserLike()) {
208
+ if (_isBrowserLike) {
207
209
  return new Worker(url, {
208
210
  type: 'module',
209
211
  name: 'wasm_bindgen_worker',
@@ -212,14 +214,18 @@ async function __newIsomorphicWorkerFromUrl(url) {
212
214
 
213
215
  const nodeModuleName = 'worker_threads';
214
216
  const nodeModuleId = `node:${nodeModuleName}`;
215
- const { Worker: NodeWorker } = await import(/* @vite-ignore */ nodeModuleId);
217
+ const { Worker: NodeWorker } = await import(
218
+ /* @vite-ignore */ /* webpackIgnore: true */ /* turbopackIgnore: true */ nodeModuleId
219
+ );
216
220
  return new NodeWorker(url);
217
221
  }
218
222
 
219
223
  async function __newNodeWorkerFromJsCode(jsCode) {
220
224
  const nodeModuleName = 'worker_threads';
221
225
  const nodeModuleId = `node:${nodeModuleName}`;
222
- const { Worker: NodeWorker } = await import(/* @vite-ignore */ nodeModuleId);
226
+ const { Worker: NodeWorker } = await import(
227
+ /* @vite-ignore */ /* webpackIgnore: true */ /* turbopackIgnore: true */ nodeModuleId
228
+ );
223
229
  return { worker: new NodeWorker(jsCode, { eval: true }), blobUrl: undefined };
224
230
  }
225
231
 
@@ -232,7 +238,7 @@ async function __newNodeWorkerFromJsCode(jsCode) {
232
238
  * @returns {Promise<{ worker: Worker, blobUrl: string | undefined }>} Created worker and optional Blob URL to revoke.
233
239
  */
234
240
  async function __newIsomorphicWorkerFromVerifiedJsCodeBytes(verifiedJsCodeBytes) {
235
- if (__isBrowserLike()) {
241
+ if (_isBrowserLike) {
236
242
  return await __newBrowserWorkerFromBlob(
237
243
  new Blob([verifiedJsCodeBytes], {
238
244
  type: 'application/javascript',
@@ -251,7 +257,7 @@ async function __newIsomorphicWorkerFromVerifiedJsCodeBytes(verifiedJsCodeBytes)
251
257
  * @returns {Promise<{ worker: Worker, blobUrl: string | undefined }>} Created worker and optional Blob URL to revoke.
252
258
  */
253
259
  async function __newWorkerFromJsCodeBase64(jsCodeBase64) {
254
- if (__isBrowserLike()) {
260
+ if (_isBrowserLike) {
255
261
  const blob = new Blob([atob(jsCodeBase64)], {
256
262
  type: 'application/javascript',
257
263
  });
@@ -338,6 +344,9 @@ let _terminating;
338
344
  let _configSet = false;
339
345
  let _workerUrl = undefined;
340
346
  let _wasmAssetLoadMode = 'auto';
347
+ // Injected by the SDK (the main thread) via setWorkerUrlConfig — the single
348
+ // source of truth for browser-vs-Node, replacing local detection.
349
+ let _isBrowserLike = undefined;
341
350
  const _workerUrlSha256 = "3f93fe86a8dfa6e25ae5fcfe28d19833219cba8f45f81c6dd05c2f3cc5323c52";
342
351
  let _verifiedWorkerUrlBytesPromise = undefined;
343
352
  let _logger = undefined;
@@ -381,7 +390,18 @@ function setWorkerUrlConfig(parameters = {}) {
381
390
  throw new TypeError('setWorkerUrlConfig parameters must be an object');
382
391
  }
383
392
 
384
- const { workerUrl = undefined, wasmAssetLoadMode = 'auto', logger = undefined } = parameters;
393
+ const {
394
+ workerUrl = undefined,
395
+ wasmAssetLoadMode = 'auto',
396
+ logger = undefined,
397
+ isBrowserLike = undefined,
398
+ } = parameters;
399
+
400
+ // Check `isBrowserLike` (required: the SDK injects the resolved runtime kind;
401
+ // the worker bootstrap never detects it itself).
402
+ if (typeof isBrowserLike !== 'boolean') {
403
+ throw new TypeError('setWorkerUrlConfig: isBrowserLike (boolean) is required');
404
+ }
385
405
 
386
406
  // Check `wasmAssetLoadMode`
387
407
  if (!__isWasmAssetLoadMode(wasmAssetLoadMode)) {
@@ -409,6 +429,7 @@ function setWorkerUrlConfig(parameters = {}) {
409
429
 
410
430
  _wasmAssetLoadMode = wasmAssetLoadMode;
411
431
  _logger = logger;
432
+ _isBrowserLike = isBrowserLike;
412
433
  _configSet = true;
413
434
  }
414
435