@fhevm/sdk 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (648) hide show
  1. package/_cjs/core/_version.js +1 -1
  2. package/_cjs/core/actions/base/fetchVerifiedInputProof.js +1 -1
  3. package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +1 -1
  4. package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -1
  5. package/_cjs/core/actions/chain/index.js +5 -5
  6. package/_cjs/core/actions/chain/index.js.map +1 -1
  7. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js +2 -3
  8. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
  9. package/_cjs/core/actions/chain/parseTransportKeypair.js +1 -2
  10. package/_cjs/core/actions/chain/parseTransportKeypair.js.map +1 -1
  11. package/_cjs/core/actions/decrypt/decryptValue.js +4 -1
  12. package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
  13. package/_cjs/core/actions/decrypt/decryptValues.js +4 -1
  14. package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
  15. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +4 -1
  16. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  17. package/_cjs/core/actions/decrypt/index.js.map +1 -1
  18. package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js +12 -14
  19. package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -1
  20. package/_cjs/core/base/bytes.js +8 -0
  21. package/_cjs/core/base/bytes.js.map +1 -1
  22. package/_cjs/core/base/sign.js +50 -0
  23. package/_cjs/core/base/sign.js.map +1 -0
  24. package/_cjs/core/base/typedValue.js +17 -0
  25. package/_cjs/core/base/typedValue.js.map +1 -1
  26. package/_cjs/core/base/uint.js +29 -0
  27. package/_cjs/core/base/uint.js.map +1 -1
  28. package/_cjs/core/clients/decorators/decrypt.js +3 -3
  29. package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
  30. package/_cjs/core/coprocessor/ZkProof-p.js +17 -11
  31. package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
  32. package/_cjs/core/coprocessor/ZkProofBuilder-p.js +6 -4
  33. package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  34. package/_cjs/core/coprocessor/encrypt.js +1 -3
  35. package/_cjs/core/coprocessor/encrypt.js.map +1 -1
  36. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js +3 -4
  37. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
  38. package/_cjs/core/handle/FheType.js +5 -2
  39. package/_cjs/core/handle/FheType.js.map +1 -1
  40. package/_cjs/core/host-contracts/KmsSignersContext-p.js +1 -1
  41. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  42. package/_cjs/core/host-contracts/checkDelegation.js +74 -0
  43. package/_cjs/core/host-contracts/checkDelegation.js.map +1 -0
  44. package/_cjs/core/host-contracts/getUserDecryptionDelegationExpirationDate.js +21 -0
  45. package/_cjs/core/host-contracts/getUserDecryptionDelegationExpirationDate.js.map +1 -0
  46. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +33 -0
  47. package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -0
  48. package/_cjs/core/host-contracts/persistAllowed.js +1 -1
  49. package/_cjs/core/host-contracts/persistAllowed.js.map +1 -1
  50. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js +18 -8
  51. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
  52. package/_cjs/core/kms/publicDecrypt.js +1 -4
  53. package/_cjs/core/kms/publicDecrypt.js.map +1 -1
  54. package/_cjs/core/modules/decrypt/mock.js +93 -10
  55. package/_cjs/core/modules/decrypt/mock.js.map +1 -1
  56. package/_cjs/core/modules/encrypt/mock.js +142 -12
  57. package/_cjs/core/modules/encrypt/mock.js.map +1 -1
  58. package/_cjs/core/modules/encrypt/module/api-p.js +7 -2
  59. package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
  60. package/_cjs/core/modules/ethereum/types-ct.js +3 -0
  61. package/_cjs/core/modules/ethereum/types-ct.js.map +1 -0
  62. package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +68 -0
  63. package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
  64. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +119 -0
  65. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
  66. package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
  67. package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
  68. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +117 -0
  69. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
  70. package/_cjs/core/modules/relayer/cleartext/mock.js +40 -0
  71. package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -0
  72. package/_cjs/core/modules/relayer/cleartext/signers.js +34 -0
  73. package/_cjs/core/modules/relayer/cleartext/signers.js.map +1 -0
  74. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
  75. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  76. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
  77. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  78. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  79. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  80. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
  81. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  82. package/_cjs/core/modules/relayer/utils.js +16 -0
  83. package/_cjs/core/modules/relayer/utils.js.map +1 -0
  84. package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js +17 -0
  85. package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  86. package/_cjs/ethers/cleartext/createFhevmCleartextClient.js +11 -0
  87. package/_cjs/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
  88. package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js +10 -0
  89. package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  90. package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js +10 -0
  91. package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  92. package/_cjs/ethers/cleartext/decorators/decrypt.js +9 -0
  93. package/_cjs/ethers/cleartext/decorators/decrypt.js.map +1 -0
  94. package/_cjs/ethers/cleartext/decorators/encrypt.js +9 -0
  95. package/_cjs/ethers/cleartext/decorators/encrypt.js.map +1 -0
  96. package/_cjs/ethers/cleartext/index.js +12 -0
  97. package/_cjs/ethers/cleartext/index.js.map +1 -0
  98. package/_cjs/ethers/clients/createFhevmBaseClient.js +2 -1
  99. package/_cjs/ethers/clients/createFhevmBaseClient.js.map +1 -1
  100. package/_cjs/ethers/clients/createFhevmClient.js +2 -2
  101. package/_cjs/ethers/clients/createFhevmClient.js.map +1 -1
  102. package/_cjs/ethers/clients/createFhevmDecryptClient.js +1 -1
  103. package/_cjs/ethers/clients/createFhevmDecryptClient.js.map +1 -1
  104. package/_cjs/ethers/clients/createFhevmEncryptClient.js +1 -1
  105. package/_cjs/ethers/clients/createFhevmEncryptClient.js.map +1 -1
  106. package/_cjs/{viem → ethers/clients}/decorators/decrypt.js +2 -2
  107. package/_cjs/ethers/clients/decorators/decrypt.js.map +1 -0
  108. package/_cjs/ethers/{decorators → clients/decorators}/encrypt.js +2 -2
  109. package/_cjs/ethers/clients/decorators/encrypt.js.map +1 -0
  110. package/_cjs/ethers/index.js +4 -3
  111. package/_cjs/ethers/index.js.map +1 -1
  112. package/_cjs/ethers/internal/config.js +32 -0
  113. package/_cjs/ethers/internal/config.js.map +1 -0
  114. package/_cjs/ethers/internal/ethereum-ct.js +42 -0
  115. package/_cjs/ethers/internal/ethereum-ct.js.map +1 -0
  116. package/_cjs/ethers/internal/ethers-p.js +0 -32
  117. package/_cjs/ethers/internal/ethers-p.js.map +1 -1
  118. package/_cjs/ethers/internal/runtime-ct.js +22 -0
  119. package/_cjs/ethers/internal/runtime-ct.js.map +1 -0
  120. package/_cjs/ethers/internal/runtime.js +22 -0
  121. package/_cjs/ethers/internal/runtime.js.map +1 -0
  122. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js +3 -2
  123. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
  124. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js +3 -2
  125. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
  126. package/_cjs/ethers/runtime/initFhevmRuntime.js +3 -2
  127. package/_cjs/ethers/runtime/initFhevmRuntime.js.map +1 -1
  128. package/_cjs/index.js +2 -0
  129. package/_cjs/index.js.map +1 -0
  130. package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js +17 -0
  131. package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  132. package/_cjs/viem/cleartext/createFhevmCleartextClient.js +11 -0
  133. package/_cjs/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
  134. package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js +10 -0
  135. package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  136. package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js +10 -0
  137. package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  138. package/_cjs/viem/cleartext/decorators/decrypt.js +9 -0
  139. package/_cjs/viem/cleartext/decorators/decrypt.js.map +1 -0
  140. package/_cjs/viem/cleartext/decorators/encrypt.js +9 -0
  141. package/_cjs/viem/cleartext/decorators/encrypt.js.map +1 -0
  142. package/_cjs/viem/cleartext/index.js +12 -0
  143. package/_cjs/viem/cleartext/index.js.map +1 -0
  144. package/_cjs/viem/clients/createFhevmBaseClient.js +2 -1
  145. package/_cjs/viem/clients/createFhevmBaseClient.js.map +1 -1
  146. package/_cjs/viem/clients/createFhevmClient.js +2 -2
  147. package/_cjs/viem/clients/createFhevmClient.js.map +1 -1
  148. package/_cjs/viem/clients/createFhevmDecryptClient.js +1 -1
  149. package/_cjs/viem/clients/createFhevmDecryptClient.js.map +1 -1
  150. package/_cjs/viem/clients/createFhevmEncryptClient.js +1 -1
  151. package/_cjs/viem/clients/createFhevmEncryptClient.js.map +1 -1
  152. package/_cjs/{ethers → viem/clients}/decorators/decrypt.js +2 -2
  153. package/_cjs/viem/clients/decorators/decrypt.js.map +1 -0
  154. package/_cjs/viem/{decorators → clients/decorators}/encrypt.js +2 -2
  155. package/_cjs/viem/clients/decorators/encrypt.js.map +1 -0
  156. package/_cjs/viem/index.js +6 -5
  157. package/_cjs/viem/index.js.map +1 -1
  158. package/_cjs/viem/internal/config.js +32 -0
  159. package/_cjs/viem/internal/config.js.map +1 -0
  160. package/_cjs/viem/internal/ethereum-ct.js +42 -0
  161. package/_cjs/viem/internal/ethereum-ct.js.map +1 -0
  162. package/_cjs/viem/internal/runtime-ct.js +22 -0
  163. package/_cjs/viem/internal/runtime-ct.js.map +1 -0
  164. package/_cjs/viem/internal/runtime.js +22 -0
  165. package/_cjs/viem/internal/runtime.js.map +1 -0
  166. package/_cjs/viem/internal/viem-p.js +0 -32
  167. package/_cjs/viem/internal/viem-p.js.map +1 -1
  168. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js +2 -1
  169. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
  170. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js +2 -1
  171. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
  172. package/_cjs/viem/runtime/initFhevmRuntime.js +2 -1
  173. package/_cjs/viem/runtime/initFhevmRuntime.js.map +1 -1
  174. package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js +279 -426
  175. package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js.map +7 -0
  176. package/_cjs/wasm/tfhe/tfhe.v1.5.3.js +2779 -3032
  177. package/_cjs/wasm/tfhe/tfhe.v1.5.3.js.map +7 -0
  178. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +29 -1
  179. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js.map +7 -0
  180. package/_cjs/wasm/tkms/kms_lib.v0.13.10.js +1793 -1985
  181. package/_cjs/wasm/tkms/kms_lib.v0.13.10.js.map +7 -0
  182. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +29 -3
  183. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js.map +7 -0
  184. package/_cjs/wasm/wasmBaseUrl.js +36 -14
  185. package/_cjs/wasm/wasmBaseUrl.js.map +7 -0
  186. package/_esm/core/_version.js +1 -1
  187. package/_esm/core/actions/base/fetchVerifiedInputProof.js +1 -1
  188. package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +1 -1
  189. package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
  190. package/_esm/core/actions/chain/index.js +4 -4
  191. package/_esm/core/actions/chain/index.js.map +1 -1
  192. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +2 -3
  193. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
  194. package/_esm/core/actions/chain/parseTransportKeypair.js +1 -3
  195. package/_esm/core/actions/chain/parseTransportKeypair.js.map +1 -1
  196. package/_esm/core/actions/chain/serializeTransportKeypair.js +0 -1
  197. package/_esm/core/actions/chain/serializeTransportKeypair.js.map +1 -1
  198. package/_esm/core/actions/decrypt/decryptValue.js +5 -1
  199. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
  200. package/_esm/core/actions/decrypt/decryptValues.js +5 -1
  201. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
  202. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +5 -1
  203. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  204. package/_esm/core/actions/decrypt/index.js +2 -2
  205. package/_esm/core/actions/decrypt/index.js.map +1 -1
  206. package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js +13 -14
  207. package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -1
  208. package/_esm/core/base/bytes.js +7 -0
  209. package/_esm/core/base/bytes.js.map +1 -1
  210. package/_esm/core/base/sign.js +58 -0
  211. package/_esm/core/base/sign.js.map +1 -0
  212. package/_esm/core/base/typedValue.js +16 -0
  213. package/_esm/core/base/typedValue.js.map +1 -1
  214. package/_esm/core/base/uint.js +30 -0
  215. package/_esm/core/base/uint.js.map +1 -1
  216. package/_esm/core/clients/decorators/decrypt.js +3 -3
  217. package/_esm/core/clients/decorators/decrypt.js.map +1 -1
  218. package/_esm/core/coprocessor/InputProof-p.js +2 -2
  219. package/_esm/core/coprocessor/InputProof-p.js.map +1 -1
  220. package/_esm/core/coprocessor/ZkProof-p.js +19 -12
  221. package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
  222. package/_esm/core/coprocessor/ZkProofBuilder-p.js +7 -5
  223. package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  224. package/_esm/core/coprocessor/encrypt.js +1 -3
  225. package/_esm/core/coprocessor/encrypt.js.map +1 -1
  226. package/_esm/core/coprocessor/fetchVerifiedInputProof.js +3 -4
  227. package/_esm/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
  228. package/_esm/core/handle/FheType.js +4 -2
  229. package/_esm/core/handle/FheType.js.map +1 -1
  230. package/_esm/core/host-contracts/KmsSignersContext-p.js +1 -1
  231. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  232. package/_esm/core/host-contracts/checkDelegation.js +81 -0
  233. package/_esm/core/host-contracts/checkDelegation.js.map +1 -0
  234. package/_esm/core/host-contracts/getUserDecryptionDelegationExpirationDate.js +19 -0
  235. package/_esm/core/host-contracts/getUserDecryptionDelegationExpirationDate.js.map +1 -0
  236. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +32 -0
  237. package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -0
  238. package/_esm/core/host-contracts/persistAllowed.js +1 -1
  239. package/_esm/core/host-contracts/persistAllowed.js.map +1 -1
  240. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js +18 -8
  241. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
  242. package/_esm/core/kms/publicDecrypt.js +1 -4
  243. package/_esm/core/kms/publicDecrypt.js.map +1 -1
  244. package/_esm/core/modules/decrypt/mock.js +96 -10
  245. package/_esm/core/modules/decrypt/mock.js.map +1 -1
  246. package/_esm/core/modules/encrypt/mock.js +151 -12
  247. package/_esm/core/modules/encrypt/mock.js.map +1 -1
  248. package/_esm/core/modules/encrypt/module/api-p.js +7 -2
  249. package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
  250. package/_esm/core/modules/ethereum/types-ct.js +2 -0
  251. package/_esm/core/modules/ethereum/types-ct.js.map +1 -0
  252. package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +75 -0
  253. package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
  254. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +121 -0
  255. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
  256. package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
  257. package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
  258. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +119 -0
  259. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
  260. package/_esm/core/modules/relayer/cleartext/mock.js +39 -0
  261. package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -0
  262. package/_esm/core/modules/relayer/cleartext/signers.js +34 -0
  263. package/_esm/core/modules/relayer/cleartext/signers.js.map +1 -0
  264. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
  265. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  266. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
  267. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  268. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  269. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  270. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
  271. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  272. package/_esm/core/modules/relayer/utils.js +13 -0
  273. package/_esm/core/modules/relayer/utils.js.map +1 -0
  274. package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js +15 -0
  275. package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  276. package/_esm/ethers/cleartext/createFhevmCleartextClient.js +9 -0
  277. package/_esm/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
  278. package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js +8 -0
  279. package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  280. package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js +8 -0
  281. package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  282. package/_esm/ethers/cleartext/decorators/decrypt.js +7 -0
  283. package/_esm/ethers/cleartext/decorators/decrypt.js.map +1 -0
  284. package/_esm/ethers/cleartext/decorators/encrypt.js +7 -0
  285. package/_esm/ethers/cleartext/decorators/encrypt.js.map +1 -0
  286. package/_esm/ethers/cleartext/index.js +5 -0
  287. package/_esm/ethers/cleartext/index.js.map +1 -0
  288. package/_esm/ethers/clients/createFhevmBaseClient.js +2 -1
  289. package/_esm/ethers/clients/createFhevmBaseClient.js.map +1 -1
  290. package/_esm/ethers/clients/createFhevmClient.js +2 -2
  291. package/_esm/ethers/clients/createFhevmClient.js.map +1 -1
  292. package/_esm/ethers/clients/createFhevmDecryptClient.js +1 -1
  293. package/_esm/ethers/clients/createFhevmDecryptClient.js.map +1 -1
  294. package/_esm/ethers/clients/createFhevmEncryptClient.js +1 -1
  295. package/_esm/ethers/clients/createFhevmEncryptClient.js.map +1 -1
  296. package/_esm/ethers/clients/decorators/decrypt.js +7 -0
  297. package/_esm/ethers/clients/decorators/decrypt.js.map +1 -0
  298. package/_esm/ethers/clients/decorators/encrypt.js +7 -0
  299. package/_esm/ethers/clients/decorators/encrypt.js.map +1 -0
  300. package/_esm/ethers/index.js +1 -1
  301. package/_esm/ethers/index.js.map +1 -1
  302. package/_esm/ethers/internal/config.js +38 -0
  303. package/_esm/ethers/internal/config.js.map +1 -0
  304. package/_esm/ethers/internal/ethereum-ct.js +39 -0
  305. package/_esm/ethers/internal/ethereum-ct.js.map +1 -0
  306. package/_esm/ethers/internal/ethers-p.js +0 -43
  307. package/_esm/ethers/internal/ethers-p.js.map +1 -1
  308. package/_esm/ethers/internal/runtime-ct.js +21 -0
  309. package/_esm/ethers/internal/runtime-ct.js.map +1 -0
  310. package/_esm/ethers/internal/runtime.js +21 -0
  311. package/_esm/ethers/internal/runtime.js.map +1 -0
  312. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js +2 -1
  313. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
  314. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js +2 -1
  315. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
  316. package/_esm/ethers/runtime/initFhevmRuntime.js +2 -1
  317. package/_esm/ethers/runtime/initFhevmRuntime.js.map +1 -1
  318. package/_esm/index.js +2 -0
  319. package/_esm/index.js.map +1 -0
  320. package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js +15 -0
  321. package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  322. package/_esm/viem/cleartext/createFhevmCleartextClient.js +9 -0
  323. package/_esm/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
  324. package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js +8 -0
  325. package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  326. package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js +8 -0
  327. package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  328. package/_esm/viem/cleartext/decorators/decrypt.js +7 -0
  329. package/_esm/viem/cleartext/decorators/decrypt.js.map +1 -0
  330. package/_esm/viem/cleartext/decorators/encrypt.js +7 -0
  331. package/_esm/viem/cleartext/decorators/encrypt.js.map +1 -0
  332. package/_esm/viem/cleartext/index.js +5 -0
  333. package/_esm/viem/cleartext/index.js.map +1 -0
  334. package/_esm/viem/clients/createFhevmBaseClient.js +2 -1
  335. package/_esm/viem/clients/createFhevmBaseClient.js.map +1 -1
  336. package/_esm/viem/clients/createFhevmClient.js +2 -2
  337. package/_esm/viem/clients/createFhevmClient.js.map +1 -1
  338. package/_esm/viem/clients/createFhevmDecryptClient.js +1 -1
  339. package/_esm/viem/clients/createFhevmDecryptClient.js.map +1 -1
  340. package/_esm/viem/clients/createFhevmEncryptClient.js +1 -2
  341. package/_esm/viem/clients/createFhevmEncryptClient.js.map +1 -1
  342. package/_esm/viem/clients/decorators/decrypt.js +7 -0
  343. package/_esm/viem/clients/decorators/decrypt.js.map +1 -0
  344. package/_esm/viem/clients/decorators/encrypt.js +7 -0
  345. package/_esm/viem/clients/decorators/encrypt.js.map +1 -0
  346. package/_esm/viem/index.js +2 -2
  347. package/_esm/viem/index.js.map +1 -1
  348. package/_esm/viem/internal/config.js +38 -0
  349. package/_esm/viem/internal/config.js.map +1 -0
  350. package/_esm/viem/internal/ethereum-ct.js +39 -0
  351. package/_esm/viem/internal/ethereum-ct.js.map +1 -0
  352. package/_esm/viem/internal/runtime-ct.js +21 -0
  353. package/_esm/viem/internal/runtime-ct.js.map +1 -0
  354. package/_esm/viem/internal/runtime.js +21 -0
  355. package/_esm/viem/internal/runtime.js.map +1 -0
  356. package/_esm/viem/internal/viem-p.js +0 -43
  357. package/_esm/viem/internal/viem-p.js.map +1 -1
  358. package/_esm/viem/runtime/initFhevmDecryptRuntime.js +2 -1
  359. package/_esm/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
  360. package/_esm/viem/runtime/initFhevmEncryptRuntime.js +2 -1
  361. package/_esm/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
  362. package/_esm/viem/runtime/initFhevmRuntime.js +2 -1
  363. package/_esm/viem/runtime/initFhevmRuntime.js.map +1 -1
  364. package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
  365. package/_types/core/actions/chain/index.d.ts +4 -4
  366. package/_types/core/actions/chain/index.d.ts.map +1 -1
  367. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +7 -2
  368. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
  369. package/_types/core/actions/chain/parseTransportKeypair.d.ts +2 -2
  370. package/_types/core/actions/chain/parseTransportKeypair.d.ts.map +1 -1
  371. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +1 -1
  372. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -1
  373. package/_types/core/actions/decrypt/decryptValue.d.ts +5 -13
  374. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
  375. package/_types/core/actions/decrypt/decryptValues.d.ts +5 -13
  376. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
  377. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +5 -13
  378. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
  379. package/_types/core/actions/decrypt/index.d.ts +3 -3
  380. package/_types/core/actions/decrypt/index.d.ts.map +1 -1
  381. package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts +5 -2
  382. package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -1
  383. package/_types/core/base/bytes.d.ts +1 -0
  384. package/_types/core/base/bytes.d.ts.map +1 -1
  385. package/_types/core/base/sign.d.ts +10 -0
  386. package/_types/core/base/sign.d.ts.map +1 -0
  387. package/_types/core/base/typedValue.d.ts +2 -1
  388. package/_types/core/base/typedValue.d.ts.map +1 -1
  389. package/_types/core/base/uint.d.ts +3 -0
  390. package/_types/core/base/uint.d.ts.map +1 -1
  391. package/_types/core/clients/decorators/decrypt.d.ts +6 -15
  392. package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
  393. package/_types/core/coprocessor/ZkProof-p.d.ts +2 -2
  394. package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
  395. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +2 -1
  396. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
  397. package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
  398. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts +0 -2
  399. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts.map +1 -1
  400. package/_types/core/handle/FheType.d.ts +1 -0
  401. package/_types/core/handle/FheType.d.ts.map +1 -1
  402. package/_types/core/host-contracts/checkDelegation.d.ts +22 -0
  403. package/_types/core/host-contracts/checkDelegation.d.ts.map +1 -0
  404. package/_types/core/host-contracts/getUserDecryptionDelegationExpirationDate.d.ts +19 -0
  405. package/_types/core/host-contracts/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -0
  406. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts +20 -0
  407. package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts.map +1 -0
  408. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +1 -1
  409. package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
  410. package/_types/core/modules/decrypt/mock.d.ts +5 -5
  411. package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
  412. package/_types/core/modules/encrypt/mock.d.ts +6 -6
  413. package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
  414. package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
  415. package/_types/core/modules/encrypt/types.d.ts +6 -2
  416. package/_types/core/modules/encrypt/types.d.ts.map +1 -1
  417. package/_types/core/modules/ethereum/types-ct.d.ts +46 -0
  418. package/_types/core/modules/ethereum/types-ct.d.ts.map +1 -0
  419. package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts +3 -0
  420. package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts.map +1 -0
  421. package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts +3 -0
  422. package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +1 -0
  423. package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts +3 -0
  424. package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts.map +1 -0
  425. package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts +3 -0
  426. package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -0
  427. package/_types/core/modules/relayer/cleartext/mock.d.ts +3 -0
  428. package/_types/core/modules/relayer/cleartext/mock.d.ts.map +1 -0
  429. package/_types/core/modules/relayer/cleartext/signers.d.ts +7 -0
  430. package/_types/core/modules/relayer/cleartext/signers.d.ts.map +1 -0
  431. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts +2 -2
  432. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
  433. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts +2 -2
  434. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -1
  435. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts +2 -2
  436. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
  437. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts +2 -2
  438. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
  439. package/_types/core/modules/relayer/types.d.ts +14 -5
  440. package/_types/core/modules/relayer/types.d.ts.map +1 -1
  441. package/_types/core/modules/relayer/utils.d.ts +4 -0
  442. package/_types/core/modules/relayer/utils.d.ts.map +1 -0
  443. package/_types/core/types/index.d.ts +1 -0
  444. package/_types/core/types/index.d.ts.map +1 -1
  445. package/_types/core/types/kms.d.ts +21 -0
  446. package/_types/core/types/kms.d.ts.map +1 -1
  447. package/_types/core/types/zkProof-p.d.ts +2 -1
  448. package/_types/core/types/zkProof-p.d.ts.map +1 -1
  449. package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
  450. package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
  451. package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts +11 -0
  452. package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
  453. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
  454. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
  455. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
  456. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
  457. package/_types/ethers/cleartext/decorators/decrypt.d.ts +6 -0
  458. package/_types/ethers/cleartext/decorators/decrypt.d.ts.map +1 -0
  459. package/_types/ethers/cleartext/decorators/encrypt.d.ts +6 -0
  460. package/_types/ethers/cleartext/decorators/encrypt.d.ts.map +1 -0
  461. package/_types/ethers/cleartext/index.d.ts +5 -0
  462. package/_types/ethers/cleartext/index.d.ts.map +1 -0
  463. package/_types/ethers/clients/createFhevmBaseClient.d.ts.map +1 -1
  464. package/_types/ethers/clients/decorators/decrypt.d.ts +6 -0
  465. package/_types/ethers/clients/decorators/decrypt.d.ts.map +1 -0
  466. package/_types/ethers/clients/decorators/encrypt.d.ts +6 -0
  467. package/_types/ethers/clients/decorators/encrypt.d.ts.map +1 -0
  468. package/_types/ethers/index.d.ts +1 -1
  469. package/_types/ethers/index.d.ts.map +1 -1
  470. package/_types/ethers/internal/config.d.ts +15 -0
  471. package/_types/ethers/internal/config.d.ts.map +1 -0
  472. package/_types/ethers/internal/ethereum-ct.d.ts +3 -0
  473. package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -0
  474. package/_types/ethers/internal/ethers-p.d.ts +1 -13
  475. package/_types/ethers/internal/ethers-p.d.ts.map +1 -1
  476. package/_types/ethers/internal/runtime-ct.d.ts +3 -0
  477. package/_types/ethers/internal/runtime-ct.d.ts.map +1 -0
  478. package/_types/ethers/internal/runtime.d.ts +3 -0
  479. package/_types/ethers/internal/runtime.d.ts.map +1 -0
  480. package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
  481. package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
  482. package/_types/ethers/runtime/initFhevmRuntime.d.ts.map +1 -1
  483. package/_types/index.d.ts +2 -0
  484. package/_types/index.d.ts.map +1 -0
  485. package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
  486. package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
  487. package/_types/viem/cleartext/createFhevmCleartextClient.d.ts +11 -0
  488. package/_types/viem/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
  489. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
  490. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
  491. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
  492. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
  493. package/_types/viem/cleartext/decorators/decrypt.d.ts +6 -0
  494. package/_types/viem/cleartext/decorators/decrypt.d.ts.map +1 -0
  495. package/_types/viem/cleartext/decorators/encrypt.d.ts +6 -0
  496. package/_types/viem/cleartext/decorators/encrypt.d.ts.map +1 -0
  497. package/_types/viem/cleartext/index.d.ts +5 -0
  498. package/_types/viem/cleartext/index.d.ts.map +1 -0
  499. package/_types/viem/clients/createFhevmBaseClient.d.ts.map +1 -1
  500. package/_types/viem/clients/decorators/decrypt.d.ts +6 -0
  501. package/_types/viem/clients/decorators/decrypt.d.ts.map +1 -0
  502. package/_types/viem/clients/decorators/encrypt.d.ts +6 -0
  503. package/_types/viem/clients/decorators/encrypt.d.ts.map +1 -0
  504. package/_types/viem/index.d.ts +2 -2
  505. package/_types/viem/index.d.ts.map +1 -1
  506. package/_types/viem/internal/config.d.ts +15 -0
  507. package/_types/viem/internal/config.d.ts.map +1 -0
  508. package/_types/viem/internal/ethereum-ct.d.ts +3 -0
  509. package/_types/viem/internal/ethereum-ct.d.ts.map +1 -0
  510. package/_types/viem/internal/runtime-ct.d.ts +3 -0
  511. package/_types/viem/internal/runtime-ct.d.ts.map +1 -0
  512. package/_types/viem/internal/runtime.d.ts +3 -0
  513. package/_types/viem/internal/runtime.d.ts.map +1 -0
  514. package/_types/viem/internal/viem-p.d.ts +1 -13
  515. package/_types/viem/internal/viem-p.d.ts.map +1 -1
  516. package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
  517. package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
  518. package/_types/viem/runtime/initFhevmRuntime.d.ts.map +1 -1
  519. package/core/_version.ts +1 -1
  520. package/core/actions/base/fetchVerifiedInputProof.ts +1 -1
  521. package/core/actions/base/signDecryptionPermit.ts +2 -0
  522. package/core/actions/chain/index.ts +11 -11
  523. package/core/actions/chain/parseSignedDecryptionPermit.ts +9 -6
  524. package/core/actions/chain/parseTransportKeypair.ts +3 -7
  525. package/core/actions/chain/serializeTransportKeypair.ts +0 -2
  526. package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +1 -1
  527. package/core/actions/decrypt/decryptValue.ts +9 -28
  528. package/core/actions/decrypt/decryptValues.ts +9 -28
  529. package/core/actions/decrypt/decryptValuesFromPairs.ts +9 -28
  530. package/core/actions/decrypt/index.ts +3 -14
  531. package/core/actions/host/getUserDecryptionDelegationExpirationDate.ts +22 -18
  532. package/core/base/bytes.ts +8 -0
  533. package/core/base/sign.ts +75 -0
  534. package/core/base/typedValue.ts +18 -0
  535. package/core/base/uint.ts +32 -0
  536. package/core/clients/decorators/decrypt.ts +12 -28
  537. package/core/coprocessor/InputProof-p.ts +2 -2
  538. package/core/coprocessor/ZkProof-p.ts +21 -9
  539. package/core/coprocessor/ZkProofBuilder-p.ts +15 -8
  540. package/core/coprocessor/encrypt.ts +1 -3
  541. package/core/coprocessor/fetchVerifiedInputProof.ts +7 -13
  542. package/core/handle/FheType.ts +5 -2
  543. package/core/host-contracts/KmsSignersContext-p.ts +1 -1
  544. package/core/host-contracts/checkDelegation.ts +114 -0
  545. package/core/host-contracts/getUserDecryptionDelegationExpirationDate.ts +45 -0
  546. package/core/host-contracts/isHandleDelegatedForUserDecryption-p.ts +77 -0
  547. package/core/host-contracts/persistAllowed.ts +1 -1
  548. package/core/kms/fetchKmsSignedcryptedShares-p.ts +31 -29
  549. package/core/kms/publicDecrypt.ts +6 -12
  550. package/core/modules/decrypt/mock.ts +126 -13
  551. package/core/modules/encrypt/mock.ts +206 -12
  552. package/core/modules/encrypt/module/api-p.ts +7 -2
  553. package/core/modules/encrypt/types.ts +6 -2
  554. package/core/modules/ethereum/types-ct.ts +89 -0
  555. package/core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts +94 -0
  556. package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +147 -0
  557. package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +67 -0
  558. package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +141 -0
  559. package/core/modules/relayer/cleartext/mock.ts +54 -0
  560. package/core/modules/relayer/cleartext/signers.ts +52 -0
  561. package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +4 -4
  562. package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +3 -3
  563. package/core/modules/relayer/module/fetchPublicDecrypt.ts +3 -3
  564. package/core/modules/relayer/module/fetchUserDecrypt.ts +3 -3
  565. package/core/modules/relayer/types.ts +13 -5
  566. package/core/modules/relayer/utils.ts +17 -0
  567. package/core/types/index.ts +1 -0
  568. package/core/types/kms.ts +19 -0
  569. package/core/types/zkProof-p.ts +3 -1
  570. package/ethers/cleartext/createFhevmCleartextBaseClient.ts +25 -0
  571. package/ethers/cleartext/createFhevmCleartextClient.ts +20 -0
  572. package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +18 -0
  573. package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +19 -0
  574. package/ethers/cleartext/decorators/decrypt.ts +12 -0
  575. package/ethers/cleartext/decorators/encrypt.ts +12 -0
  576. package/ethers/cleartext/index.ts +4 -0
  577. package/ethers/cleartext/package.json +6 -0
  578. package/ethers/clients/createFhevmBaseClient.ts +2 -1
  579. package/ethers/clients/createFhevmClient.ts +2 -2
  580. package/ethers/clients/createFhevmDecryptClient.ts +1 -1
  581. package/ethers/clients/createFhevmEncryptClient.ts +1 -1
  582. package/ethers/clients/decorators/decrypt.ts +12 -0
  583. package/ethers/clients/decorators/encrypt.ts +12 -0
  584. package/ethers/index.ts +1 -1
  585. package/ethers/internal/config.ts +50 -0
  586. package/ethers/internal/ethereum-ct.ts +61 -0
  587. package/ethers/internal/ethers-p.ts +1 -56
  588. package/ethers/internal/runtime-ct.ts +28 -0
  589. package/ethers/internal/runtime.ts +28 -0
  590. package/ethers/runtime/initFhevmDecryptRuntime.ts +2 -1
  591. package/ethers/runtime/initFhevmEncryptRuntime.ts +2 -1
  592. package/ethers/runtime/initFhevmRuntime.ts +2 -1
  593. package/index.ts +0 -0
  594. package/package.json +14 -2
  595. package/viem/cleartext/createFhevmCleartextBaseClient.ts +28 -0
  596. package/viem/cleartext/createFhevmCleartextClient.ts +20 -0
  597. package/viem/cleartext/createFhevmCleartextDecryptClient.ts +21 -0
  598. package/viem/cleartext/createFhevmCleartextEncryptClient.ts +22 -0
  599. package/viem/cleartext/decorators/decrypt.ts +12 -0
  600. package/viem/cleartext/decorators/encrypt.ts +12 -0
  601. package/viem/cleartext/index.ts +4 -0
  602. package/viem/cleartext/package.json +6 -0
  603. package/viem/clients/createFhevmBaseClient.ts +2 -1
  604. package/viem/clients/createFhevmClient.ts +2 -2
  605. package/viem/clients/createFhevmDecryptClient.ts +1 -1
  606. package/viem/clients/createFhevmEncryptClient.ts +1 -3
  607. package/viem/clients/decorators/decrypt.ts +12 -0
  608. package/viem/clients/decorators/encrypt.ts +12 -0
  609. package/viem/index.ts +2 -2
  610. package/viem/internal/config.ts +50 -0
  611. package/viem/internal/ethereum-ct.ts +61 -0
  612. package/viem/internal/runtime-ct.ts +28 -0
  613. package/viem/internal/runtime.ts +28 -0
  614. package/viem/internal/viem-p.ts +1 -56
  615. package/viem/runtime/initFhevmDecryptRuntime.ts +2 -1
  616. package/viem/runtime/initFhevmEncryptRuntime.ts +2 -1
  617. package/viem/runtime/initFhevmRuntime.ts +2 -1
  618. package/_cjs/core/modules/relayer/mock.js +0 -29
  619. package/_cjs/core/modules/relayer/mock.js.map +0 -1
  620. package/_cjs/ethers/decorators/decrypt.js.map +0 -1
  621. package/_cjs/ethers/decorators/encrypt.js.map +0 -1
  622. package/_cjs/viem/decorators/decrypt.js.map +0 -1
  623. package/_cjs/viem/decorators/encrypt.js.map +0 -1
  624. package/_esm/core/modules/relayer/mock.js +0 -28
  625. package/_esm/core/modules/relayer/mock.js.map +0 -1
  626. package/_esm/ethers/decorators/decrypt.js +0 -7
  627. package/_esm/ethers/decorators/decrypt.js.map +0 -1
  628. package/_esm/ethers/decorators/encrypt.js +0 -7
  629. package/_esm/ethers/decorators/encrypt.js.map +0 -1
  630. package/_esm/viem/decorators/decrypt.js +0 -7
  631. package/_esm/viem/decorators/decrypt.js.map +0 -1
  632. package/_esm/viem/decorators/encrypt.js +0 -7
  633. package/_esm/viem/decorators/encrypt.js.map +0 -1
  634. package/_types/core/modules/relayer/mock.d.ts +0 -3
  635. package/_types/core/modules/relayer/mock.d.ts.map +0 -1
  636. package/_types/ethers/decorators/decrypt.d.ts +0 -6
  637. package/_types/ethers/decorators/decrypt.d.ts.map +0 -1
  638. package/_types/ethers/decorators/encrypt.d.ts +0 -6
  639. package/_types/ethers/decorators/encrypt.d.ts.map +0 -1
  640. package/_types/viem/decorators/decrypt.d.ts +0 -6
  641. package/_types/viem/decorators/decrypt.d.ts.map +0 -1
  642. package/_types/viem/decorators/encrypt.d.ts +0 -6
  643. package/_types/viem/decorators/encrypt.d.ts.map +0 -1
  644. package/core/modules/relayer/mock.ts +0 -47
  645. package/ethers/decorators/decrypt.ts +0 -12
  646. package/ethers/decorators/encrypt.ts +0 -12
  647. package/viem/decorators/decrypt.ts +0 -12
  648. package/viem/decorators/encrypt.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"persistAllowed.js","sourceRoot":"","sources":["../../../core/host-contracts/persistAllowed.ts"],"names":[],"mappings":";;AAyBA,wCAeC;AApCD,+DAAiE;AACjE,8DAA6D;AAC7D,mDAAyD;AAmBlD,KAAK,UAAU,cAAc,CAAC,OAAgB,EAAE,UAAsB;IAC3E,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAEtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CACxB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CACb,eAAe,CAAC,OAAO,EAAE;QACvB,OAAO;QACP,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CACL,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAmB,EAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnF,OAAO,OAAO,CAAC;AACjB,CAAC;AAID,KAAK,UAAU,eAAe,CAC5B,OAAgB,EAChB,UAIC;IAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAChD,MAAM,aAAa,GAAG,IAAA,iCAAgB,EAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE;QACrE,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,gCAAiB;QACtB,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;QAClC,YAAY,EAAE,gCAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;KACxC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"persistAllowed.js","sourceRoot":"","sources":["../../../core/host-contracts/persistAllowed.ts"],"names":[],"mappings":";;AAyBA,wCAeC;AApCD,+DAAiE;AACjE,8DAA6D;AAC7D,mDAAyD;AAmBlD,KAAK,UAAU,cAAc,CAAC,OAAgB,EAAE,UAAsB;IAC3E,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAEtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CACxB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CACb,eAAe,CAAC,OAAO,EAAE;QACvB,OAAO;QACP,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CACL,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAmB,EAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnF,OAAO,OAAO,CAAC;AACjB,CAAC;AAID,KAAK,UAAU,eAAe,CAC5B,OAAgB,EAChB,UAIC;IAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAChD,MAAM,aAAa,GAAG,IAAA,iCAAgB,EAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE;QACrE,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,gCAAiB;QACtB,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;QAClC,YAAY,EAAE,gCAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;KACxC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -9,6 +9,7 @@ const utils_js_1 = require("./utils.js");
9
9
  const checkPersistAllowed_js_1 = require("../host-contracts/checkPersistAllowed.js");
10
10
  const KmsSignersContext_p_js_1 = require("../host-contracts/KmsSignersContext-p.js");
11
11
  const createKmsEip712Domain_js_1 = require("./createKmsEip712Domain.js");
12
+ const checkDelegation_js_1 = require("../host-contracts/checkDelegation.js");
12
13
  const MAX_USER_DECRYPT_CONTRACT_ADDRESSES = 10;
13
14
  async function fetchKmsSignedcryptedShares(context, parameters) {
14
15
  const { signedPermit, options, pairs } = parameters;
@@ -35,11 +36,21 @@ async function fetchKmsSignedcryptedShares(context, parameters) {
35
36
  (0, FhevmHandle_js_1.assertHandlesBelongToSameChainId)(handles, BigInt(context.chain.id));
36
37
  (0, utils_js_1.assertKmsDecryptionBitLimit)(handles);
37
38
  signedPermit.assertNotExpired();
38
- await (0, checkPersistAllowed_js_1.checkPersistAllowed)(context, {
39
- address: context.chain.fhevm.contracts.acl.address,
40
- userAddress: encryptedDataOwnerAddress,
41
- handleContractPairs,
42
- });
39
+ if (signedPermit.isDelegated) {
40
+ await (0, checkDelegation_js_1.checkDelegation)(context, {
41
+ address: context.chain.fhevm.contracts.acl.address,
42
+ delegate: signerAddress,
43
+ delegator: encryptedDataOwnerAddress,
44
+ handleContractPairs,
45
+ });
46
+ }
47
+ else {
48
+ await (0, checkPersistAllowed_js_1.checkPersistAllowed)(context, {
49
+ address: context.chain.fhevm.contracts.acl.address,
50
+ userAddress: encryptedDataOwnerAddress,
51
+ handleContractPairs,
52
+ });
53
+ }
43
54
  const requestedKmsSignersContext = await (0, readKmsSignersContext_p_js_1.readKmsSignersContext)(context, {
44
55
  address: context.chain.fhevm.contracts.kmsVerifier.address,
45
56
  });
@@ -47,10 +58,9 @@ async function fetchKmsSignedcryptedShares(context, parameters) {
47
58
  extraData: signedPermit.eip712.message.extraData,
48
59
  kmsSignersContext: requestedKmsSignersContext,
49
60
  }, { subject: 'Invalid permit' });
50
- const relayerUrl = context.chain.fhevm.relayerUrl;
51
61
  let shares;
52
62
  if (signedPermit.isDelegated) {
53
- shares = await context.runtime.relayer.fetchDelegatedUserDecrypt({ relayerUrl, chainId: context.chain.id }, {
63
+ shares = await context.runtime.relayer.fetchDelegatedUserDecrypt(context, {
54
64
  payload: {
55
65
  handleContractPairs,
56
66
  kmsDecryptEip712Signer: signerAddress,
@@ -61,7 +71,7 @@ async function fetchKmsSignedcryptedShares(context, parameters) {
61
71
  });
62
72
  }
63
73
  else {
64
- shares = await context.runtime.relayer.fetchUserDecrypt({ relayerUrl, chainId: context.chain.id }, {
74
+ shares = await context.runtime.relayer.fetchUserDecrypt(context, {
65
75
  payload: {
66
76
  handleContractPairs,
67
77
  kmsDecryptEip712Signer: signerAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"fetchKmsSignedcryptedShares-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSignedcryptedShares-p.ts"],"names":[],"mappings":";;AAoEA,kEA8IC;AAzMD,6DAA4E;AAC5E,gFAA8E;AAC9E,6FAAqF;AACrF,+EAAsH;AACtH,yCAAyD;AACzD,qFAA+E;AAC/E,qFAAmG;AACnG,yEAAmE;AA8CnE,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAMxC,KAAK,UAAU,2BAA2B,CAAC,OAAgB,EAAE,UAAsB;IACxF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAGpD,IAAA,mEAAqC,EACnC,YAAY,EACZ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CACpC,CAAC;IAGF,MAAM,cAAc,GAAG;QACrB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;QACjC,GAAG,OAAO;KACX,CAAC;IAEF,IAAA,4DAA8B,EAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAGjD,MAAM,EAAE,yBAAyB,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;IAG7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,CACT,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAGD,MAAM,uBAAuB,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACrF,IAAI,uBAAuB,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAGD,IAAI,uBAAuB,GAAG,mCAAmC,EAAE,CAAC;QAClE,MAAM,KAAK,CAAC,mCAAmC,mCAAmC,WAAW,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAGvB,IAAA,iDAAgC,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAiB,CAAC,CAAC;IAGpF,IAAA,sCAA2B,EAAC,OAAO,CAAC,CAAC;IAGrC,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAGhC,MAAM,IAAA,4CAAmB,EAAC,OAAO,EAAE;QACjC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B;QACxE,WAAW,EAAE,yBAAyB;QACtC,mBAAmB;KACpB,CAAC,CAAC;IAmBH,MAAM,0BAA0B,GAAsB,MAAM,IAAA,kDAAqB,EAAC,OAAO,EAAE;QACzF,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;KACjF,CAAC,CAAC;IAEH,IAAA,gEAAuC,EACrC;QACE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;QAChD,iBAAiB,EAAE,0BAA0B;KAC9C,EACD,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAC9B,CAAC;IAMF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;IAElD,IAAI,MAAsC,CAAC;IAE3C,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAC9D,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EACzC;YACE,OAAO,EAAE;gBACP,mBAAmB;gBACnB,sBAAsB,EAAE,aAAa;gBACrC,uBAAuB,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;gBACpD,yBAAyB,EAAE,SAAS;aACrC;YACD,OAAO,EAAE,cAAoD;SAC9D,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CACrD,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EACzC;YACE,OAAO,EAAE;gBACP,mBAAmB;gBACnB,sBAAsB,EAAE,aAAa;gBACrC,uBAAuB,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;gBACpD,yBAAyB,EAAE,SAAS;aACrC;YACD,OAAO,EAAE,cAA2C;SACrD,CACF,CAAC;IACJ,CAAC;IAGD,MAAM,cAAc,GAAiC;QACnD,iBAAiB,EAAE,0BAA0B;QAC7C,YAAY,EAAE,IAAA,gDAAqB,EAAC;YAClC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACvC,kCAAkC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;SAC7F,CAAC;QACF,eAAe,EAAE,SAAS;QAC1B,mBAAmB,EAAE,aAAa;QAClC,OAAO;KACR,CAAC;IAKF,OAAO,MAAM,IAAA,sDAA0B,EAAC,OAAO,EAAE;QAC/C,QAAQ,EAAE,cAAc;QACxB,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"fetchKmsSignedcryptedShares-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSignedcryptedShares-p.ts"],"names":[],"mappings":";;AAqEA,kEA+IC;AA3MD,6DAA4E;AAC5E,gFAA8E;AAC9E,6FAAqF;AACrF,+EAAsH;AACtH,yCAAyD;AACzD,qFAA+E;AAC/E,qFAAmG;AACnG,yEAAmE;AACnE,6EAAuE;AA8CvE,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAMxC,KAAK,UAAU,2BAA2B,CAAC,OAAgB,EAAE,UAAsB;IACxF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAGpD,IAAA,mEAAqC,EACnC,YAAY,EACZ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CACpC,CAAC;IAGF,MAAM,cAAc,GAAG;QACrB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;QACjC,GAAG,OAAO;KACX,CAAC;IAEF,IAAA,4DAA8B,EAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAGjD,MAAM,EAAE,yBAAyB,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;IAG7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,CACT,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAGD,MAAM,uBAAuB,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACrF,IAAI,uBAAuB,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAGD,IAAI,uBAAuB,GAAG,mCAAmC,EAAE,CAAC;QAClE,MAAM,KAAK,CAAC,mCAAmC,mCAAmC,WAAW,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAGvB,IAAA,iDAAgC,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAiB,CAAC,CAAC;IAGpF,IAAA,sCAA2B,EAAC,OAAO,CAAC,CAAC;IAGrC,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAGhC,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,IAAA,oCAAe,EAAC,OAAO,EAAE;YAC7B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B;YACxE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,yBAAyB;YACpC,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAA,4CAAmB,EAAC,OAAO,EAAE;YACjC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B;YACxE,WAAW,EAAE,yBAAyB;YACtC,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC;IAmBD,MAAM,0BAA0B,GAAsB,MAAM,IAAA,kDAAqB,EAAC,OAAO,EAAE;QACzF,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;KACjF,CAAC,CAAC;IAEH,IAAA,gEAAuC,EACrC;QACE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;QAChD,iBAAiB,EAAE,0BAA0B;KAC9C,EACD,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAC9B,CAAC;IAMF,IAAI,MAAsC,CAAC;IAE3C,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE;YACxE,OAAO,EAAE;gBACP,mBAAmB;gBACnB,sBAAsB,EAAE,aAAa;gBACrC,uBAAuB,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;gBACpD,yBAAyB,EAAE,SAAS;aACrC;YACD,OAAO,EAAE,cAAoD;SAC9D,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC/D,OAAO,EAAE;gBACP,mBAAmB;gBACnB,sBAAsB,EAAE,aAAa;gBACrC,uBAAuB,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;gBACpD,yBAAyB,EAAE,SAAS;aACrC;YACD,OAAO,EAAE,cAA2C;SACrD,CAAC,CAAC;IACL,CAAC;IAGD,MAAM,cAAc,GAAiC;QACnD,iBAAiB,EAAE,0BAA0B;QAC7C,YAAY,EAAE,IAAA,gDAAqB,EAAC;YAClC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACvC,kCAAkC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;SAC7F,CAAC;QACF,eAAe,EAAE,SAAS;QAC1B,mBAAmB,EAAE,aAAa;QAClC,OAAO;KACR,CAAC;IAKF,OAAO,MAAM,IAAA,sDAA0B,EAAC,OAAO,EAAE;QAC/C,QAAQ,EAAE,cAAc;QACxB,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
@@ -27,10 +27,7 @@ async function publicDecrypt(context, parameters) {
27
27
  address: context.chain.fhevm.contracts.acl.address,
28
28
  handles: orderedHandles,
29
29
  });
30
- const { orderedAbiEncodedClearValues, kmsPublicDecryptEIP712Signatures, extraData: relayerExtraData, } = await context.runtime.relayer.fetchPublicDecrypt({
31
- relayerUrl: context.chain.fhevm.relayerUrl,
32
- chainId: context.chain.id,
33
- }, {
30
+ const { orderedAbiEncodedClearValues, kmsPublicDecryptEIP712Signatures, extraData: relayerExtraData, } = await context.runtime.relayer.fetchPublicDecrypt(context, {
34
31
  payload: {
35
32
  orderedHandles,
36
33
  extraData: requestedExtraData,
@@ -1 +1 @@
1
- {"version":3,"file":"publicDecrypt.js","sourceRoot":"","sources":["../../../core/kms/publicDecrypt.ts"],"names":[],"mappings":";;AAiCA,sCA2EC;AArGD,6DAA4E;AAC5E,8CAA8D;AAC9D,6FAAiH;AACjH,qFAAwF;AACxF,kFAAgF;AAChF,iGAA2F;AAqBpF,KAAK,UAAU,aAAa,CAAC,OAAgB,EAAE,UAAsB;IAC1E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAMrD,MAAM,0BAA0B,GAAG,MAAM,IAAA,kDAAqB,EAAC,OAAO,EAAE;QACtE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;KACjF,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAa,IAAA,qDAA4B,EAAC,0BAA0B,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG,OAAO,CAAC;IAG/B,MAAM,cAAc,GAAgC;QAClD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;QACjC,GAAG,OAAO;KACX,CAAC;IAGF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;IAGD,IAAA,sCAA2B,EAAC,cAAc,CAAC,CAAC;IAG5C,IAAA,iDAAgC,EAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAiB,CAAC,CAAC;IAG3F,MAAM,IAAA,wDAAyB,EAAC,OAAO,EAAE;QACvC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B;QACxE,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAGH,MAAM,EACJ,4BAA4B,EAC5B,gCAAgC,EAChC,SAAS,EAAE,gBAAgB,GAC5B,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAClD;QACE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;QAC1C,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;KAC1B,EACD;QACE,OAAO,EAAE;YACP,cAAc;YACd,SAAS,EAAE,kBAAkB;SAC9B;QACD,OAAO,EAAE,cAAc;KACxB,CACF,CAAC;IAGF,MAAM,2BAA2B,GAAsB,MAAM,IAAA,uDAA0B,EAAC,OAAO,EAAE;QAC/F,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;QAChF,gBAAgB;QAChB,0BAA0B,EAAE,0BAA0B;QACtD,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAGH,MAAM,qBAAqB,GAA0B,MAAM,IAAA,wDAA2B,EAAC,OAAO,EAAE;QAC9F,WAAW;QACX,cAAc,EAAE,cAAc;QAC9B,4BAA4B;QAC5B,gCAAgC;QAChC,iBAAiB,EAAE,2BAA2B;KAC/C,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"publicDecrypt.js","sourceRoot":"","sources":["../../../core/kms/publicDecrypt.ts"],"names":[],"mappings":";;AAiCA,sCAqEC;AA/FD,6DAA4E;AAC5E,8CAA8D;AAC9D,6FAAiH;AACjH,qFAAwF;AACxF,kFAAgF;AAChF,iGAA2F;AAqBpF,KAAK,UAAU,aAAa,CAAC,OAAgB,EAAE,UAAsB;IAC1E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAMrD,MAAM,0BAA0B,GAAG,MAAM,IAAA,kDAAqB,EAAC,OAAO,EAAE;QACtE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;KACjF,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAa,IAAA,qDAA4B,EAAC,0BAA0B,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG,OAAO,CAAC;IAG/B,MAAM,cAAc,GAAgC;QAClD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;QACjC,GAAG,OAAO;KACX,CAAC;IAGF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;IAGD,IAAA,sCAA2B,EAAC,cAAc,CAAC,CAAC;IAG5C,IAAA,iDAAgC,EAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAiB,CAAC,CAAC;IAG3F,MAAM,IAAA,wDAAyB,EAAC,OAAO,EAAE;QACvC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B;QACxE,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAGH,MAAM,EACJ,4BAA4B,EAC5B,gCAAgC,EAChC,SAAS,EAAE,gBAAgB,GAC5B,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC5D,OAAO,EAAE;YACP,cAAc;YACd,SAAS,EAAE,kBAAkB;SAC9B;QACD,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAGH,MAAM,2BAA2B,GAAsB,MAAM,IAAA,uDAA0B,EAAC,OAAO,EAAE;QAC/F,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;QAChF,gBAAgB;QAChB,0BAA0B,EAAE,0BAA0B;QACtD,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAGH,MAAM,qBAAqB,GAA0B,MAAM,IAAA,wDAA2B,EAAC,OAAO,EAAE;QAC9F,WAAW;QACX,cAAc,EAAE,cAAc;QAC9B,4BAA4B;QAC5B,gCAAgC;QAChC,iBAAiB,EAAE,2BAA2B;KAC/C,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC"}
@@ -7,20 +7,103 @@ exports.getTkmsPublicKeyHex = getTkmsPublicKeyHex;
7
7
  exports.serializeTkmsPrivateKey = serializeTkmsPrivateKey;
8
8
  exports.deserializeTkmsPrivateKey = deserializeTkmsPrivateKey;
9
9
  exports.verifyTkmsPrivateKey = verifyTkmsPrivateKey;
10
- async function decryptAndReconstruct(_runtime, _parameters) {
11
- throw new Error('Not yet implemented');
10
+ const kmsExtraData_js_1 = require("../../kms/kmsExtraData.js");
11
+ const string_js_1 = require("../../base/string.js");
12
+ const KmsSigncryptedShares_p_js_1 = require("../../kms/KmsSigncryptedShares-p.js");
13
+ const bytes_js_1 = require("../../base/bytes.js");
14
+ const FheType_js_1 = require("../../handle/FheType.js");
15
+ const ClearValue_js_1 = require("../../handle/ClearValue.js");
16
+ const PRIVATE_CLEARTEXT_TKMS_LIB_TOKEN = Symbol('CleartextTKMSLib.token');
17
+ function _xorUnmaskWithPublicKey(publicKey, maskedCleartexts) {
18
+ const hex = (0, string_js_1.remove0x)(publicKey);
19
+ if (hex.length < 64) {
20
+ throw new Error(`PublicKeyTooShort: publicKey has ${hex.length / 2} bytes, need >= 32`);
21
+ }
22
+ const mask = BigInt('0x' + hex.slice(0, 64));
23
+ return maskedCleartexts.map((c) => c ^ mask);
12
24
  }
13
- async function generateTkmsPrivateKey(_runtime) {
14
- throw new Error('Not yet implemented');
25
+ async function decryptAndReconstruct(runtime, parameters) {
26
+ const cleartextEthereumModule = runtime.ethereum;
27
+ const { tkmsPrivateKey, shares } = parameters;
28
+ const privateKeySecp256k1 = (0, bytes_js_1.asBytesHex)(tkmsPrivateKey);
29
+ const publicKeySecp256k1 = cleartextEthereumModule.getPublicKey({ privateKey: privateKeySecp256k1 });
30
+ const metadata = (0, KmsSigncryptedShares_p_js_1.getMetadata)(shares);
31
+ const sharesArray = (0, KmsSigncryptedShares_p_js_1.getShares)(shares);
32
+ const firstShare = sharesArray[0];
33
+ if (firstShare === undefined) {
34
+ throw new Error('Expected at least one signcrypted share.');
35
+ }
36
+ const firstExtraData = firstShare.extraData;
37
+ for (let i = 1; i < sharesArray.length; i++) {
38
+ const share = sharesArray[i];
39
+ if (share !== undefined && share.extraData !== firstExtraData) {
40
+ throw new Error(`Mismatched extraData across shares: share[0]="${firstExtraData}" vs share[${i}]="${share.extraData}".`);
41
+ }
42
+ }
43
+ const extraData = (0, string_js_1.ensure0x)(firstExtraData);
44
+ (0, kmsExtraData_js_1.assertIsKmsExtraData)(extraData, {});
45
+ for (let i = 0; i < sharesArray.length; ++i) {
46
+ const s = sharesArray[i];
47
+ if (!s) {
48
+ throw new Error('Internal error');
49
+ }
50
+ const recoveredAddress = await cleartextEthereumModule.recoverAddress({
51
+ hash: (0, string_js_1.ensure0x)(s.payload),
52
+ signature: (0, string_js_1.ensure0x)(s.signature),
53
+ });
54
+ if (!metadata.kmsSignersContext.has(recoveredAddress)) {
55
+ throw new Error(`Unknown KMS signer: recovered address ${recoveredAddress} from share[${i}] is not a registered KMS signer.`);
56
+ }
57
+ }
58
+ const decoded = cleartextEthereumModule.decode({
59
+ encodedData: (0, string_js_1.ensure0x)(firstShare.payload),
60
+ types: ['uint256[]', 'bytes'],
61
+ });
62
+ if (decoded.length !== 2) {
63
+ throw new Error('Invalid decrypted result.');
64
+ }
65
+ const maskedCleartexts = decoded[0];
66
+ const signedExtraData = decoded[1];
67
+ const cleartexts = _xorUnmaskWithPublicKey(publicKeySecp256k1, maskedCleartexts);
68
+ if (extraData !== signedExtraData) {
69
+ throw new Error(`extraData mismatch: share extraData="${extraData}" does not match the signed payload's extraData="${signedExtraData}".`);
70
+ }
71
+ const orderedClearValues = cleartexts.map((plaintext, idx) => {
72
+ const fhevmHandle = metadata.handles[idx];
73
+ if (fhevmHandle === undefined) {
74
+ throw new Error('Internal error');
75
+ }
76
+ return (0, ClearValue_js_1.createClearValue)({
77
+ value: (0, FheType_js_1.bigintToClearValueType)(fhevmHandle.fheType, plaintext),
78
+ handle: fhevmHandle,
79
+ originToken: PRIVATE_CLEARTEXT_TKMS_LIB_TOKEN,
80
+ });
81
+ });
82
+ Object.freeze(orderedClearValues);
83
+ return orderedClearValues;
15
84
  }
16
- async function getTkmsPublicKeyHex(_runtime, _parameters) {
17
- throw new Error('Not yet implemented');
85
+ async function generateTkmsPrivateKey(runtime) {
86
+ const cleartextEthereumModule = runtime.ethereum;
87
+ const privateKeySecp256k1 = cleartextEthereumModule.generatePrivateKey();
88
+ return Promise.resolve(privateKeySecp256k1);
18
89
  }
19
- async function serializeTkmsPrivateKey(_runtime, _parameters) {
20
- throw new Error('Not yet implemented');
90
+ async function getTkmsPublicKeyHex(runtime, parameters) {
91
+ const { tkmsPrivateKey } = parameters;
92
+ const privateKeySecp256k1 = (0, bytes_js_1.asBytesHex)(tkmsPrivateKey);
93
+ const cleartextEthereumModule = runtime.ethereum;
94
+ const publicKeySecp256k1 = cleartextEthereumModule.getPublicKey({ privateKey: privateKeySecp256k1 });
95
+ return Promise.resolve(publicKeySecp256k1);
21
96
  }
22
- async function deserializeTkmsPrivateKey(_runtime, _parameters) {
23
- throw new Error('Not yet implemented');
97
+ async function serializeTkmsPrivateKey(_runtime, parameters) {
98
+ const { tkmsPrivateKey } = parameters;
99
+ const privateKeySecp256k1 = (0, bytes_js_1.asBytesHex)(tkmsPrivateKey);
100
+ const privateKeySecp256k1Bytes = (0, bytes_js_1.hexToBytes)(privateKeySecp256k1);
101
+ return Promise.resolve(privateKeySecp256k1Bytes);
102
+ }
103
+ async function deserializeTkmsPrivateKey(_runtime, parameters) {
104
+ const { tkmsPrivateKeyBytes } = parameters;
105
+ const privateKeySecp256k1 = (0, bytes_js_1.bytesToHex)(tkmsPrivateKeyBytes);
106
+ return Promise.resolve(privateKeySecp256k1);
24
107
  }
25
108
  function verifyTkmsPrivateKey(_runtime, _parameters) {
26
109
  throw new Error('Not yet implemented');
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../../core/modules/decrypt/mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../../core/modules/decrypt/mock.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ 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");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ 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");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _CleartextTfheCompactPublicKeyImpl_id, _CleartextTfheCompactPublicKeyImpl_tfheCompactPublicKeyWasmType, _CleartextTfheCompactPkeCrsImpl_id, _CleartextTfheCompactPkeCrsImpl_capacity, _CleartextTfheCompactPkeCrsImpl_compactPublicKeyWasmType;
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.encryptModule = void 0;
4
16
  exports.parseTFHEProvenCompactCiphertextList = parseTFHEProvenCompactCiphertextList;
@@ -8,26 +20,144 @@ exports.serializeFheEncryptionPublicKey = serializeFheEncryptionPublicKey;
8
20
  exports.serializeFheEncryptionCrs = serializeFheEncryptionCrs;
9
21
  exports.deserializeFheEncryptionCrs = deserializeFheEncryptionCrs;
10
22
  exports.deserializeFheEncryptionPublicKey = deserializeFheEncryptionPublicKey;
23
+ const bytes_js_1 = require("../../base/bytes.js");
24
+ const string_js_1 = require("../../base/string.js");
25
+ const typedValue_js_1 = require("../../base/typedValue.js");
26
+ const GET_NATIVE_FUNC = Symbol('CleartextTFHELib.getNative');
27
+ const PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN = Symbol('CleartextTFHELib.token');
28
+ class CleartextTfheCompactPublicKeyImpl {
29
+ constructor(token, id, publicEncKeyMlKem512Wasm) {
30
+ _CleartextTfheCompactPublicKeyImpl_id.set(this, void 0);
31
+ _CleartextTfheCompactPublicKeyImpl_tfheCompactPublicKeyWasmType.set(this, void 0);
32
+ if (token !== PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN) {
33
+ throw new Error('Unauthorized');
34
+ }
35
+ __classPrivateFieldSet(this, _CleartextTfheCompactPublicKeyImpl_id, id, "f");
36
+ __classPrivateFieldSet(this, _CleartextTfheCompactPublicKeyImpl_tfheCompactPublicKeyWasmType, publicEncKeyMlKem512Wasm, "f");
37
+ }
38
+ get id() {
39
+ return __classPrivateFieldGet(this, _CleartextTfheCompactPublicKeyImpl_id, "f");
40
+ }
41
+ static [(_CleartextTfheCompactPublicKeyImpl_id = new WeakMap(), _CleartextTfheCompactPublicKeyImpl_tfheCompactPublicKeyWasmType = new WeakMap(), GET_NATIVE_FUNC)](key, token) {
42
+ if (token !== PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN) {
43
+ throw new Error('Unauthorized');
44
+ }
45
+ if (!(key instanceof CleartextTfheCompactPublicKeyImpl)) {
46
+ throw new Error('Unauthorized');
47
+ }
48
+ return __classPrivateFieldGet(key, _CleartextTfheCompactPublicKeyImpl_tfheCompactPublicKeyWasmType, "f");
49
+ }
50
+ }
51
+ class CleartextTfheCompactPkeCrsImpl {
52
+ constructor(token, id, capacity, compactPublicKeyWasmType) {
53
+ _CleartextTfheCompactPkeCrsImpl_id.set(this, void 0);
54
+ _CleartextTfheCompactPkeCrsImpl_capacity.set(this, void 0);
55
+ _CleartextTfheCompactPkeCrsImpl_compactPublicKeyWasmType.set(this, void 0);
56
+ if (token !== PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN) {
57
+ throw new Error('Unauthorized');
58
+ }
59
+ __classPrivateFieldSet(this, _CleartextTfheCompactPkeCrsImpl_id, id, "f");
60
+ __classPrivateFieldSet(this, _CleartextTfheCompactPkeCrsImpl_capacity, capacity, "f");
61
+ __classPrivateFieldSet(this, _CleartextTfheCompactPkeCrsImpl_compactPublicKeyWasmType, compactPublicKeyWasmType, "f");
62
+ }
63
+ get id() {
64
+ return __classPrivateFieldGet(this, _CleartextTfheCompactPkeCrsImpl_id, "f");
65
+ }
66
+ get capacity() {
67
+ return __classPrivateFieldGet(this, _CleartextTfheCompactPkeCrsImpl_capacity, "f");
68
+ }
69
+ static [(_CleartextTfheCompactPkeCrsImpl_id = new WeakMap(), _CleartextTfheCompactPkeCrsImpl_capacity = new WeakMap(), _CleartextTfheCompactPkeCrsImpl_compactPublicKeyWasmType = new WeakMap(), GET_NATIVE_FUNC)](key, token) {
70
+ if (token !== PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN) {
71
+ throw new Error('Unauthorized');
72
+ }
73
+ if (!(key instanceof CleartextTfheCompactPkeCrsImpl)) {
74
+ throw new Error('Unauthorized');
75
+ }
76
+ return __classPrivateFieldGet(key, _CleartextTfheCompactPkeCrsImpl_compactPublicKeyWasmType, "f");
77
+ }
78
+ }
11
79
  async function parseTFHEProvenCompactCiphertextList(_parameters) {
12
80
  throw new Error('Not yet implemented');
13
81
  }
14
- async function buildWithProofPacked(_parameters) {
15
- throw new Error('Not yet implemented');
82
+ async function buildWithProofPacked(parameters) {
83
+ const { fheEncryptionKey: publicEncryptionParams, metaData, typedValues, extraData } = parameters;
84
+ const tfheCompactPublicKeyImpl = publicEncryptionParams.publicKey;
85
+ const tfheCompactPkeCrsImpl = publicEncryptionParams.crs;
86
+ if (!(tfheCompactPublicKeyImpl instanceof CleartextTfheCompactPublicKeyImpl)) {
87
+ throw new Error('Invalid tfhePublicKey');
88
+ }
89
+ if (!(tfheCompactPkeCrsImpl instanceof CleartextTfheCompactPkeCrsImpl)) {
90
+ throw new Error('Invalid tfheCrs');
91
+ }
92
+ const typedValuesBytes32HexNo0x = typedValues.map(typedValue_js_1.typedValueToBytes32Hex).map(string_js_1.remove0x).join('');
93
+ const cleartextExtraData = `0x${typedValuesBytes32HexNo0x}${(0, string_js_1.remove0x)(extraData)}`;
94
+ const perValueBlobs = typedValues.map((tv) => {
95
+ const nonce = crypto.getRandomValues(new Uint8Array(new ArrayBuffer(8)));
96
+ const valueBytes = (0, bytes_js_1.hexToBytes32)((0, typedValue_js_1.typedValueToBytes32Hex)(tv));
97
+ return (0, bytes_js_1.concatBytes)(nonce, metaData, valueBytes);
98
+ });
99
+ const ciphertextWithZKProofBytes = (0, bytes_js_1.concatBytes)(...perValueBlobs);
100
+ return {
101
+ ciphertextWithZKProofBytes,
102
+ extraData: cleartextExtraData,
103
+ };
16
104
  }
17
- async function serializeFheEncryptionKey(_parameters) {
18
- throw new Error('Not yet implemented');
105
+ async function serializeFheEncryptionKey(parameters) {
106
+ const { fheEncryptionKey: publicEncryptionParams } = parameters;
107
+ const tfheCompactPublicKeyImpl = publicEncryptionParams.publicKey;
108
+ const tfheCompactPkeCrsImpl = publicEncryptionParams.crs;
109
+ if (!(tfheCompactPublicKeyImpl instanceof CleartextTfheCompactPublicKeyImpl)) {
110
+ throw new Error('Invalid tfhePublicKey');
111
+ }
112
+ if (!(tfheCompactPkeCrsImpl instanceof CleartextTfheCompactPkeCrsImpl)) {
113
+ throw new Error('Invalid tfheCrs');
114
+ }
115
+ const tfhePublicKeyBytes = CleartextTfheCompactPublicKeyImpl[GET_NATIVE_FUNC](tfheCompactPublicKeyImpl, PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN);
116
+ const tfheCrsBytes = CleartextTfheCompactPkeCrsImpl[GET_NATIVE_FUNC](tfheCompactPkeCrsImpl, PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN);
117
+ return Object.freeze({
118
+ publicKeyBytes: Object.freeze({
119
+ id: publicEncryptionParams.publicKey.id,
120
+ bytes: tfhePublicKeyBytes,
121
+ }),
122
+ crsBytes: Object.freeze({
123
+ id: publicEncryptionParams.crs.id,
124
+ capacity: publicEncryptionParams.crs.capacity,
125
+ bytes: tfheCrsBytes,
126
+ }),
127
+ });
19
128
  }
20
- async function serializeFheEncryptionPublicKey(_parameters) {
21
- throw new Error('Not yet implemented');
129
+ async function serializeFheEncryptionPublicKey(parameters) {
130
+ const { publicKey: tfhePublicKey } = parameters;
131
+ const tfheCompactPublicKeyImpl = tfhePublicKey;
132
+ if (!(tfheCompactPublicKeyImpl instanceof CleartextTfheCompactPublicKeyImpl)) {
133
+ throw new Error('Invalid tfhePublicKey');
134
+ }
135
+ const tfhePublicKeyBytes = CleartextTfheCompactPublicKeyImpl[GET_NATIVE_FUNC](tfheCompactPublicKeyImpl, PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN);
136
+ return Object.freeze({
137
+ id: tfhePublicKey.id,
138
+ bytes: tfhePublicKeyBytes,
139
+ });
22
140
  }
23
- async function serializeFheEncryptionCrs(_parameters) {
24
- throw new Error('Not yet implemented');
141
+ async function serializeFheEncryptionCrs(parameters) {
142
+ const { crs: tfheCrs } = parameters;
143
+ const tfheCompactPkeCrsImpl = tfheCrs;
144
+ if (!(tfheCompactPkeCrsImpl instanceof CleartextTfheCompactPkeCrsImpl)) {
145
+ throw new Error('Invalid tfheCrs');
146
+ }
147
+ const tfheCrsBytes = CleartextTfheCompactPkeCrsImpl[GET_NATIVE_FUNC](tfheCompactPkeCrsImpl, PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN);
148
+ return Object.freeze({
149
+ id: tfheCrs.id,
150
+ capacity: tfheCrs.capacity,
151
+ bytes: tfheCrsBytes,
152
+ });
25
153
  }
26
- async function deserializeFheEncryptionCrs(_parameters) {
27
- throw new Error('Not yet implemented');
154
+ async function deserializeFheEncryptionCrs(parameters) {
155
+ const { crsBytes: globalFheCrsBytes } = parameters;
156
+ return new CleartextTfheCompactPkeCrsImpl(PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN, globalFheCrsBytes.id, globalFheCrsBytes.capacity, globalFheCrsBytes.bytes);
28
157
  }
29
- async function deserializeFheEncryptionPublicKey(_parameters) {
30
- throw new Error('Not yet implemented');
158
+ async function deserializeFheEncryptionPublicKey(parameters) {
159
+ const { publicKeyBytes: globalFhePublicKeyBytes } = parameters;
160
+ return new CleartextTfheCompactPublicKeyImpl(PRIVATE_CLEARTEXT_TFHE_LIB_TOKEN, globalFhePublicKeyBytes.id, globalFhePublicKeyBytes.bytes);
31
161
  }
32
162
  const encryptModule = (_runtime) => {
33
163
  return Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../../core/modules/encrypt/mock.ts"],"names":[],"mappings":";;;AAwBA,oFAIC;AAMD,oDAIC;AAMD,8DAIC;AAMD,0EAIC;AAMD,8DAIC;AAMD,kEAIC;AAMD,8EAIC;AAhEM,KAAK,UAAU,oCAAoC,CACxD,WAA2D;IAE3D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAMM,KAAK,UAAU,oBAAoB,CACxC,WAAqD;IAErD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAMM,KAAK,UAAU,yBAAyB,CAC7C,WAAgD;IAEhD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAMM,KAAK,UAAU,+BAA+B,CACnD,WAAsD;IAEtD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAMM,KAAK,UAAU,yBAAyB,CAC7C,WAAgD;IAEhD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAMM,KAAK,UAAU,2BAA2B,CAC/C,WAAkD;IAElD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAMM,KAAK,UAAU,iCAAiC,CACrD,WAAwD;IAExD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAMM,MAAM,aAAa,GAAyB,CAAC,QAAsB,EAAE,EAAE;IAC5E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;YACvC,iBAAiB,EAAE,GAAG,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YACD,oCAAoC;YACpC,oBAAoB;YACpB,yBAAyB;YACzB,+BAA+B;YAC/B,yBAAyB;YACzB,iCAAiC;YACjC,2BAA2B;SAC5B,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../../core/modules/encrypt/mock.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ const FheType_js_1 = require("../../../handle/FheType.js");
27
27
  const EncryptionError_js_1 = require("../../../errors/EncryptionError.js");
28
28
  const utils_js_1 = require("../../../base/errors/utils.js");
29
29
  const init_p_js_1 = require("./init-p.js");
30
+ const typedValue_js_1 = require("../../../base/typedValue.js");
30
31
  const GET_NATIVE_FUNC = Symbol('TFHELib.getNative');
31
32
  const PRIVATE_TFHE_LIB_TOKEN = Symbol('TFHELib.token');
32
33
  exports.SERIALIZED_SIZE_LIMIT_CIPHERTEXT = BigInt(1024 * 1024 * 512);
@@ -131,7 +132,7 @@ async function parseTFHEProvenCompactCiphertextList(runtime, parameters) {
131
132
  }
132
133
  async function buildWithProofPacked(runtime, parameters) {
133
134
  await (0, init_p_js_1.initTfheModule)(runtime);
134
- const { fheEncryptionKey: publicEncryptionParams, metaData, typedValues } = parameters;
135
+ const { fheEncryptionKey: publicEncryptionParams, metaData, typedValues, extraData } = parameters;
135
136
  const tfheCompactPublicKeyImpl = publicEncryptionParams.publicKey;
136
137
  const tfheCompactPkeCrsImpl = publicEncryptionParams.crs;
137
138
  if (!(tfheCompactPublicKeyImpl instanceof TfheCompactPublicKeyImpl)) {
@@ -148,6 +149,7 @@ async function buildWithProofPacked(runtime, parameters) {
148
149
  const compactPkeCrsWasm = TfheCompactPkeCrsImpl[GET_NATIVE_FUNC](tfheCompactPkeCrsImpl, PRIVATE_TFHE_LIB_TOKEN);
149
150
  fheCompactCiphertextListBuilderWasm = tfhe_v1_5_3_js_1.CompactCiphertextList.builder(tfheCompactPublicKeyWasm);
150
151
  for (const typedValue of typedValues) {
152
+ (0, typedValue_js_1.assertIsTypedValue)(typedValue, {});
151
153
  switch (typedValue.type) {
152
154
  case 'uint8':
153
155
  fheCompactCiphertextListBuilderWasm.push_u8(typedValue.value);
@@ -177,7 +179,10 @@ async function buildWithProofPacked(runtime, parameters) {
177
179
  }
178
180
  tfheProvenCompactCiphertextList = fheCompactCiphertextListBuilderWasm.build_with_proof_packed(compactPkeCrsWasm, metaData, tfhe_v1_5_3_js_1.ZkComputeLoad.Verify);
179
181
  ciphertextWithZKProofBytes = tfheProvenCompactCiphertextList.safe_serialize(exports.SERIALIZED_SIZE_LIMIT_CIPHERTEXT);
180
- return ciphertextWithZKProofBytes;
182
+ return Object.freeze({
183
+ ciphertextWithZKProofBytes,
184
+ extraData,
185
+ });
181
186
  }
182
187
  finally {
183
188
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"api-p.js","sourceRoot":"","sources":["../../../../../core/modules/encrypt/module/api-p.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAsIA,oFAsDC;AAMD,oDA0FC;AAMD,8DAsCC;AAMD,0EAuBC;AAMD,8DAwBC;AAMD,kEAmBC;AAMD,8EAcC;AAnZD,yEAM8C;AAC9C,uDAA2D;AAC3D,qDAA0D;AAC1D,2DAAsF;AACtF,2EAAqE;AACrE,4DAAgE;AAChE,2CAA6C;AAI7C,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACpD,MAAM,sBAAsB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAQ1C,QAAA,gCAAgC,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;AAC7D,QAAA,wBAAwB,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;AACrD,QAAA,yBAAyB,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;AAMnE,MAAM,wBAAwB;IAM5B,YAAY,KAAa,EAAE,EAAU,EAAE,wBAA8C;QAH5E,+CAAY;QACZ,yEAAoD;QAG3D,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,uBAAA,IAAI,gCAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,0DAAiC,wBAAwB,MAAA,CAAC;IAChE,CAAC;IAED,IAAW,EAAE;QACX,OAAO,uBAAA,IAAI,oCAAI,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,wHAAC,eAAe,EAAC,CAAC,GAAY,EAAE,KAAa;QACzD,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,YAAY,wBAAwB,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,uBAAA,GAAG,8DAA8B,CAAC;IAC3C,CAAC;CACF;AAMD,MAAM,qBAAqB;IAOzB,YAAY,KAAa,EAAE,EAAU,EAAE,QAAoB,EAAE,wBAAuC;QAJ3F,4CAAY;QACZ,kDAAsB;QACtB,kEAAyC;QAGhD,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,uBAAA,IAAI,6BAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,mCAAa,QAAQ,MAAA,CAAC;QAC1B,uBAAA,IAAI,mDAA6B,wBAAwB,MAAA,CAAC;IAC5D,CAAC;IAED,IAAW,EAAE;QACX,OAAO,uBAAA,IAAI,iCAAI,CAAC;IAClB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,uBAAA,IAAI,uCAAU,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,+JAAC,eAAe,EAAC,CAAC,GAAY,EAAE,KAAa;QACzD,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,YAAY,qBAAqB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,uBAAA,GAAG,uDAA0B,CAAC;IACvC,CAAC;CACF;AAMM,KAAK,UAAU,oCAAoC,CACxD,OAAqB,EACrB,UAA0D;IAE1D,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC;IACpE,IAAK,qBAAiC,IAAI,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,oCAAe,CAAC;YACxB,OAAO,EAAE,sDAAsD;SAChE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,qBAAqB,YAAY,UAAU,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,qBAAqB,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,oCAAe,CAAC;YACxB,OAAO,EAAE,yCAAyC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GACd,OAAO,qBAAqB,KAAK,QAAQ;QACvC,CAAC,CAAC,IAAA,2BAAgB,EAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC,CAAC,qBAAqB,CAAC;IAE5B,IAAI,QAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,QAAQ,GAAG,4CAA2B,CAAC,gBAAgB,CAAC,UAAU,EAAE,wCAAgC,CAAC,CAAC;IACxG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,oCAAe,CAAC;YACxB,OAAO,EAAE,wCAAwC,IAAA,0BAAe,EAAC,CAAC,CAAC,GAAG;SACvE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,IAAA,wBAAW,EAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,oCAAe,CAAC;oBACxB,OAAO,EAAE,sBAAsB,CAAC,EAAE;iBACnC,CAAC,CAAC;YACL,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,OAAO;YACL,UAAU;YACV,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,wCAA2B,CAAC;SAC5D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAMM,KAAK,UAAU,oBAAoB,CACxC,OAAqB,EACrB,UAAoD;IAEpD,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAEvF,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,SAAS,CAAC;IAClE,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,GAAG,CAAC;IAEzD,IAAI,CAAC,CAAC,wBAAwB,YAAY,wBAAwB,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,CAAC,qBAAqB,YAAY,qBAAqB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,+BAAwE,CAAC;IAE7E,IAAI,0BAAkD,CAAC;IACvD,IAAI,mCAA6E,CAAC;IAElF,IAAI,CAAC;QACH,MAAM,wBAAwB,GAAyB,wBAAwB,CAAC,eAAe,CAAC,CAC9F,wBAAwB,EACxB,sBAAsB,CACvB,CAAC;QACF,MAAM,iBAAiB,GAAkB,qBAAqB,CAAC,eAAe,CAAC,CAC7E,qBAAqB,EACrB,sBAAsB,CACvB,CAAC;QAEF,mCAAmC,GAAG,sCAAqB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE9F,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,OAAO;oBACV,mCAAmC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC9D,MAAM;gBACR,KAAK,QAAQ;oBACX,mCAAmC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,QAAQ;oBACX,mCAAmC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,QAAQ;oBACX,mCAAmC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,SAAS;oBACZ,mCAAmC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,SAAS;oBACZ,mCAAmC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,MAAM;oBACT,mCAAmC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACnE,MAAM;gBACR,KAAK,SAAS;oBACZ,mCAAmC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oBACxE,MAAM;YACV,CAAC;QACH,CAAC;QAED,+BAA+B,GAAG,mCAAmC,CAAC,uBAAuB,CAC3F,iBAAiB,EACjB,QAAQ,EACR,8BAAa,CAAC,MAAM,CACrB,CAAC;QAEF,0BAA0B,GAAG,+BAA+B,CAAC,cAAc,CAAC,wCAAgC,CAAC,CAAC;QAE9G,OAAO,0BAA0B,CAAC;IACpC,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,IAAI,+BAA+B,KAAK,SAAS,EAAE,CAAC;gBAClD,+BAA+B,CAAC,IAAI,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,IAAI,CAAC;YACH,IAAI,mCAAmC,KAAK,SAAS,EAAE,CAAC;gBACtD,mCAAmC,CAAC,IAAI,EAAE,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;AACH,CAAC;AAMM,KAAK,UAAU,yBAAyB,CAC7C,OAAqB,EACrB,UAA+C;IAE/C,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,UAAU,CAAC;IAEhE,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,SAAS,CAAC;IAClE,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,GAAG,CAAC;IAEzD,IAAI,CAAC,CAAC,wBAAwB,YAAY,wBAAwB,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,CAAC,qBAAqB,YAAY,qBAAqB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,kBAAkB,GAAU,wBAAwB,CAAC,eAAe,CAAC,CACzE,wBAAwB,EACxB,sBAAsB,CACvB,CAAC,cAAc,CAAC,gCAAwB,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAU,qBAAqB,CAAC,eAAe,CAAC,CAChE,qBAAqB,EACrB,sBAAsB,CACvB,CAAC,cAAc,CAAC,iCAAyB,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC;YAC5B,EAAE,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAAE;YACvC,KAAK,EAAE,kBAAkB;SAC1B,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,EAAE,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAE;YACjC,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,QAAQ;YAC7C,KAAK,EAAE,YAAY;SACpB,CAAC;KACH,CAA0B,CAAC;AAC9B,CAAC;AAMM,KAAK,UAAU,+BAA+B,CACnD,OAAqB,EACrB,UAAqD;IAErD,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAEhD,MAAM,wBAAwB,GAAG,aAAa,CAAC;IAE/C,IAAI,CAAC,CAAC,wBAAwB,YAAY,wBAAwB,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,kBAAkB,GAAU,wBAAwB,CAAC,eAAe,CAAC,CACzE,wBAAwB,EACxB,sBAAsB,CACvB,CAAC,cAAc,CAAC,gCAAwB,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,aAAa,CAAC,EAAE;QACpB,KAAK,EAAE,kBAAkB;KAC1B,CAAgC,CAAC;AACpC,CAAC;AAMM,KAAK,UAAU,yBAAyB,CAC7C,OAAqB,EACrB,UAA+C;IAE/C,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAEpC,MAAM,qBAAqB,GAAG,OAAO,CAAC;IAEtC,IAAI,CAAC,CAAC,qBAAqB,YAAY,qBAAqB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,YAAY,GAAU,qBAAqB,CAAC,eAAe,CAAC,CAChE,qBAAqB,EACrB,sBAAsB,CACvB,CAAC,cAAc,CAAC,iCAAyB,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,YAAY;KACpB,CAA0B,CAAC;AAC9B,CAAC;AAMM,KAAK,UAAU,2BAA2B,CAC/C,OAAqB,EACrB,UAAiD;IAEjD,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC;IAEnD,MAAM,iBAAiB,GAAkB,8BAAa,CAAC,gBAAgB,CACrE,iBAAiB,CAAC,KAAK,EACvB,iCAAyB,CAC1B,CAAC;IAEF,OAAO,IAAI,qBAAqB,CAC9B,sBAAsB,EACtB,iBAAiB,CAAC,EAAE,EACpB,iBAAiB,CAAC,QAAQ,EAC1B,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,iCAAiC,CACrD,OAAqB,EACrB,UAAuD;IAEvD,MAAM,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,GAAG,UAAU,CAAC;IAE/D,MAAM,wBAAwB,GAAyB,qCAAoB,CAAC,gBAAgB,CAC1F,uBAAuB,CAAC,KAAK,EAC7B,gCAAwB,CACzB,CAAC;IAEF,OAAO,IAAI,wBAAwB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;AACpH,CAAC"}
1
+ {"version":3,"file":"api-p.js","sourceRoot":"","sources":["../../../../../core/modules/encrypt/module/api-p.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types-ct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-ct.js","sourceRoot":"","sources":["../../../../core/modules/ethereum/types-ct.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchCoprocessorSignatures = fetchCoprocessorSignatures;
4
+ const uint_js_1 = require("../../../base/uint.js");
5
+ const CoreFhevm_p_js_1 = require("../../../runtime/CoreFhevm-p.js");
6
+ const signers_js_1 = require("./signers.js");
7
+ const inputProofAbi = [
8
+ {
9
+ type: 'function',
10
+ name: 'inputProof',
11
+ inputs: [
12
+ {
13
+ name: 'ctHandles',
14
+ type: 'bytes32[]',
15
+ internalType: 'bytes32[]',
16
+ },
17
+ { name: 'userAddress', type: 'address', internalType: 'address' },
18
+ {
19
+ name: 'contractAddress',
20
+ type: 'address',
21
+ internalType: 'address',
22
+ },
23
+ { name: 'extraData', type: 'bytes', internalType: 'bytes' },
24
+ ],
25
+ outputs: [
26
+ { name: 'digest', type: 'bytes32', internalType: 'bytes32' },
27
+ { name: 'signers', type: 'address[]', internalType: 'address[]' },
28
+ { name: 'threshold', type: 'uint256', internalType: 'uint256' },
29
+ ],
30
+ stateMutability: 'view',
31
+ },
32
+ ];
33
+ async function fetchCoprocessorSignatures(relayerClient, parameters) {
34
+ const cleartextEthereumModule = relayerClient.runtime.ethereum;
35
+ const { payload } = parameters;
36
+ const trustedClient = (0, CoreFhevm_p_js_1.getTrustedClient)(relayerClient);
37
+ const res = (await relayerClient.runtime.ethereum.readContract(trustedClient, {
38
+ abi: inputProofAbi,
39
+ address: relayerClient.chain.fhevm.contracts.inputVerifier.address,
40
+ args: [
41
+ payload.zkProof.getInputHandles().map((h) => h.bytes32Hex),
42
+ payload.zkProof.userAddress,
43
+ payload.zkProof.contractAddress,
44
+ payload.zkProof.getExtraData(),
45
+ ],
46
+ functionName: inputProofAbi[0].name,
47
+ }));
48
+ const digest = res[0];
49
+ const signersAddress = res[1];
50
+ const threshold = (0, uint_js_1.asUint32BigInt)(res[2]);
51
+ const signers = (0, signers_js_1.getCoprocessorSignersPrivateKeyMap)(relayerClient);
52
+ const randomSignersAddress = (0, uint_js_1.randomUniqueUints)(signersAddress.length, Number(threshold)).map((i) => signersAddress[i]);
53
+ const coprocessorEip712Signatures = [];
54
+ for (const signerAddress of randomSignersAddress) {
55
+ const privateKey = signers.get(signerAddress);
56
+ if (privateKey === undefined) {
57
+ throw new Error(`Unable to find KMS signer for address ${signerAddress}`);
58
+ }
59
+ const signature = await cleartextEthereumModule.sign({ hash: digest, privateKey });
60
+ coprocessorEip712Signatures.push(signature);
61
+ }
62
+ return Promise.resolve({
63
+ extraData: payload.zkProof.getExtraData(),
64
+ handles: payload.zkProof.getInputHandles(),
65
+ coprocessorEip712Signatures,
66
+ });
67
+ }
68
+ //# sourceMappingURL=fetchCoprocessorSignatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchCoprocessorSignatures.js","sourceRoot":"","sources":["../../../../../core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts"],"names":[],"mappings":";;AA8CA,gEA+CC;AAtFD,mDAA0E;AAC1E,oEAAmE;AACnE,6CAAkE;AAUlE,MAAM,aAAa,GAAG;IACpB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,WAAW;aAC1B;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YACjE;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC5D;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;YACjE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SAChE;QACD,eAAe,EAAE,MAAM;KACxB;CACO,CAAC;AAEJ,KAAK,UAAU,0BAA0B,CAC9C,aAAuC,EACvC,UAAgD;IAEhD,MAAM,uBAAuB,GAAG,aAAa,CAAC,OAAO,CAAC,QAAmC,CAAC;IAC1F,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAE/B,MAAM,aAAa,GAAG,IAAA,iCAAgB,EAAC,aAAa,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE;QAC5E,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,OAA6B;QACxF,IAAI,EAAE;YACJ,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1D,OAAO,CAAC,OAAO,CAAC,WAAW;YAC3B,OAAO,CAAC,OAAO,CAAC,eAAe;YAC/B,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;SAC/B;QACD,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;KACpC,CAAC,CAAc,CAAC;IAEjB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAa,CAAC;IAClC,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAyB,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,+CAAkC,EAAC,aAAa,CAAC,CAAC;IAElE,MAAM,oBAAoB,GAAG,IAAA,2BAAiB,EAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAE1F,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAE,CAC1B,CAAC;IAEF,MAAM,2BAA2B,GAAiB,EAAE,CAAC;IAErD,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACnF,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;QACzC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE;QAC1C,2BAA2B;KAC5B,CAAC,CAAC;AACL,CAAC"}