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

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 (609) 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/base/bytes.js +8 -0
  19. package/_cjs/core/base/bytes.js.map +1 -1
  20. package/_cjs/core/base/sign.js +50 -0
  21. package/_cjs/core/base/sign.js.map +1 -0
  22. package/_cjs/core/base/typedValue.js +17 -0
  23. package/_cjs/core/base/typedValue.js.map +1 -1
  24. package/_cjs/core/base/uint.js +29 -0
  25. package/_cjs/core/base/uint.js.map +1 -1
  26. package/_cjs/core/clients/decorators/decrypt.js +3 -3
  27. package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
  28. package/_cjs/core/coprocessor/ZkProof-p.js +17 -11
  29. package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
  30. package/_cjs/core/coprocessor/ZkProofBuilder-p.js +6 -4
  31. package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  32. package/_cjs/core/coprocessor/encrypt.js +1 -3
  33. package/_cjs/core/coprocessor/encrypt.js.map +1 -1
  34. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js +3 -4
  35. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
  36. package/_cjs/core/handle/FheType.js +5 -2
  37. package/_cjs/core/handle/FheType.js.map +1 -1
  38. package/_cjs/core/host-contracts/KmsSignersContext-p.js +1 -1
  39. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  40. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js +2 -3
  41. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
  42. package/_cjs/core/kms/publicDecrypt.js +1 -4
  43. package/_cjs/core/kms/publicDecrypt.js.map +1 -1
  44. package/_cjs/core/modules/decrypt/mock.js +93 -10
  45. package/_cjs/core/modules/decrypt/mock.js.map +1 -1
  46. package/_cjs/core/modules/encrypt/mock.js +142 -12
  47. package/_cjs/core/modules/encrypt/mock.js.map +1 -1
  48. package/_cjs/core/modules/encrypt/module/api-p.js +7 -2
  49. package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
  50. package/_cjs/core/modules/ethereum/types-ct.js +3 -0
  51. package/_cjs/core/modules/ethereum/types-ct.js.map +1 -0
  52. package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +68 -0
  53. package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
  54. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +119 -0
  55. package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
  56. package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
  57. package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
  58. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +117 -0
  59. package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
  60. package/_cjs/core/modules/relayer/cleartext/mock.js +40 -0
  61. package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -0
  62. package/_cjs/core/modules/relayer/cleartext/signers.js +34 -0
  63. package/_cjs/core/modules/relayer/cleartext/signers.js.map +1 -0
  64. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
  65. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  66. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
  67. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  68. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  69. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  70. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
  71. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  72. package/_cjs/core/modules/relayer/utils.js +16 -0
  73. package/_cjs/core/modules/relayer/utils.js.map +1 -0
  74. package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js +17 -0
  75. package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  76. package/_cjs/ethers/cleartext/createFhevmCleartextClient.js +11 -0
  77. package/_cjs/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
  78. package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js +10 -0
  79. package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  80. package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js +10 -0
  81. package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  82. package/_cjs/ethers/cleartext/decorators/decrypt.js +9 -0
  83. package/_cjs/ethers/cleartext/decorators/decrypt.js.map +1 -0
  84. package/_cjs/ethers/cleartext/decorators/encrypt.js +9 -0
  85. package/_cjs/ethers/cleartext/decorators/encrypt.js.map +1 -0
  86. package/_cjs/ethers/cleartext/index.js +12 -0
  87. package/_cjs/ethers/cleartext/index.js.map +1 -0
  88. package/_cjs/ethers/clients/createFhevmBaseClient.js +2 -1
  89. package/_cjs/ethers/clients/createFhevmBaseClient.js.map +1 -1
  90. package/_cjs/ethers/clients/createFhevmClient.js +2 -2
  91. package/_cjs/ethers/clients/createFhevmClient.js.map +1 -1
  92. package/_cjs/ethers/clients/createFhevmDecryptClient.js +1 -1
  93. package/_cjs/ethers/clients/createFhevmDecryptClient.js.map +1 -1
  94. package/_cjs/ethers/clients/createFhevmEncryptClient.js +1 -1
  95. package/_cjs/ethers/clients/createFhevmEncryptClient.js.map +1 -1
  96. package/_cjs/{viem → ethers/clients}/decorators/decrypt.js +2 -2
  97. package/_cjs/ethers/clients/decorators/decrypt.js.map +1 -0
  98. package/_cjs/ethers/{decorators → clients/decorators}/encrypt.js +2 -2
  99. package/_cjs/ethers/clients/decorators/encrypt.js.map +1 -0
  100. package/_cjs/ethers/index.js +4 -3
  101. package/_cjs/ethers/index.js.map +1 -1
  102. package/_cjs/ethers/internal/config.js +32 -0
  103. package/_cjs/ethers/internal/config.js.map +1 -0
  104. package/_cjs/ethers/internal/ethereum-ct.js +42 -0
  105. package/_cjs/ethers/internal/ethereum-ct.js.map +1 -0
  106. package/_cjs/ethers/internal/ethers-p.js +0 -32
  107. package/_cjs/ethers/internal/ethers-p.js.map +1 -1
  108. package/_cjs/ethers/internal/runtime-ct.js +22 -0
  109. package/_cjs/ethers/internal/runtime-ct.js.map +1 -0
  110. package/_cjs/ethers/internal/runtime.js +22 -0
  111. package/_cjs/ethers/internal/runtime.js.map +1 -0
  112. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js +3 -2
  113. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
  114. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js +3 -2
  115. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
  116. package/_cjs/ethers/runtime/initFhevmRuntime.js +3 -2
  117. package/_cjs/ethers/runtime/initFhevmRuntime.js.map +1 -1
  118. package/_cjs/index.js +2 -0
  119. package/_cjs/index.js.map +1 -0
  120. package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js +17 -0
  121. package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  122. package/_cjs/viem/cleartext/createFhevmCleartextClient.js +11 -0
  123. package/_cjs/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
  124. package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js +10 -0
  125. package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  126. package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js +10 -0
  127. package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  128. package/_cjs/viem/cleartext/decorators/decrypt.js +9 -0
  129. package/_cjs/viem/cleartext/decorators/decrypt.js.map +1 -0
  130. package/_cjs/viem/cleartext/decorators/encrypt.js +9 -0
  131. package/_cjs/viem/cleartext/decorators/encrypt.js.map +1 -0
  132. package/_cjs/viem/cleartext/index.js +12 -0
  133. package/_cjs/viem/cleartext/index.js.map +1 -0
  134. package/_cjs/viem/clients/createFhevmBaseClient.js +2 -1
  135. package/_cjs/viem/clients/createFhevmBaseClient.js.map +1 -1
  136. package/_cjs/viem/clients/createFhevmClient.js +2 -2
  137. package/_cjs/viem/clients/createFhevmClient.js.map +1 -1
  138. package/_cjs/viem/clients/createFhevmDecryptClient.js +1 -1
  139. package/_cjs/viem/clients/createFhevmDecryptClient.js.map +1 -1
  140. package/_cjs/viem/clients/createFhevmEncryptClient.js +1 -1
  141. package/_cjs/viem/clients/createFhevmEncryptClient.js.map +1 -1
  142. package/_cjs/{ethers → viem/clients}/decorators/decrypt.js +2 -2
  143. package/_cjs/viem/clients/decorators/decrypt.js.map +1 -0
  144. package/_cjs/viem/{decorators → clients/decorators}/encrypt.js +2 -2
  145. package/_cjs/viem/clients/decorators/encrypt.js.map +1 -0
  146. package/_cjs/viem/index.js +6 -5
  147. package/_cjs/viem/index.js.map +1 -1
  148. package/_cjs/viem/internal/config.js +32 -0
  149. package/_cjs/viem/internal/config.js.map +1 -0
  150. package/_cjs/viem/internal/ethereum-ct.js +42 -0
  151. package/_cjs/viem/internal/ethereum-ct.js.map +1 -0
  152. package/_cjs/viem/internal/runtime-ct.js +22 -0
  153. package/_cjs/viem/internal/runtime-ct.js.map +1 -0
  154. package/_cjs/viem/internal/runtime.js +22 -0
  155. package/_cjs/viem/internal/runtime.js.map +1 -0
  156. package/_cjs/viem/internal/viem-p.js +0 -32
  157. package/_cjs/viem/internal/viem-p.js.map +1 -1
  158. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js +2 -1
  159. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
  160. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js +2 -1
  161. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
  162. package/_cjs/viem/runtime/initFhevmRuntime.js +2 -1
  163. package/_cjs/viem/runtime/initFhevmRuntime.js.map +1 -1
  164. package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js +279 -426
  165. package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js.map +7 -0
  166. package/_cjs/wasm/tfhe/tfhe.v1.5.3.js +2779 -3032
  167. package/_cjs/wasm/tfhe/tfhe.v1.5.3.js.map +7 -0
  168. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +29 -1
  169. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js.map +7 -0
  170. package/_cjs/wasm/tkms/kms_lib.v0.13.10.js +1793 -1985
  171. package/_cjs/wasm/tkms/kms_lib.v0.13.10.js.map +7 -0
  172. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +29 -3
  173. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js.map +7 -0
  174. package/_cjs/wasm/wasmBaseUrl.js +36 -14
  175. package/_cjs/wasm/wasmBaseUrl.js.map +7 -0
  176. package/_esm/core/_version.js +1 -1
  177. package/_esm/core/actions/base/fetchVerifiedInputProof.js +1 -1
  178. package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +1 -1
  179. package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
  180. package/_esm/core/actions/chain/index.js +4 -4
  181. package/_esm/core/actions/chain/index.js.map +1 -1
  182. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +2 -3
  183. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
  184. package/_esm/core/actions/chain/parseTransportKeypair.js +1 -3
  185. package/_esm/core/actions/chain/parseTransportKeypair.js.map +1 -1
  186. package/_esm/core/actions/chain/serializeTransportKeypair.js +0 -1
  187. package/_esm/core/actions/chain/serializeTransportKeypair.js.map +1 -1
  188. package/_esm/core/actions/decrypt/decryptValue.js +5 -1
  189. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
  190. package/_esm/core/actions/decrypt/decryptValues.js +5 -1
  191. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
  192. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +5 -1
  193. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
  194. package/_esm/core/actions/decrypt/index.js +2 -2
  195. package/_esm/core/actions/decrypt/index.js.map +1 -1
  196. package/_esm/core/base/bytes.js +7 -0
  197. package/_esm/core/base/bytes.js.map +1 -1
  198. package/_esm/core/base/sign.js +58 -0
  199. package/_esm/core/base/sign.js.map +1 -0
  200. package/_esm/core/base/typedValue.js +16 -0
  201. package/_esm/core/base/typedValue.js.map +1 -1
  202. package/_esm/core/base/uint.js +30 -0
  203. package/_esm/core/base/uint.js.map +1 -1
  204. package/_esm/core/clients/decorators/decrypt.js +3 -3
  205. package/_esm/core/clients/decorators/decrypt.js.map +1 -1
  206. package/_esm/core/coprocessor/InputProof-p.js +2 -2
  207. package/_esm/core/coprocessor/InputProof-p.js.map +1 -1
  208. package/_esm/core/coprocessor/ZkProof-p.js +19 -12
  209. package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
  210. package/_esm/core/coprocessor/ZkProofBuilder-p.js +7 -5
  211. package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
  212. package/_esm/core/coprocessor/encrypt.js +1 -3
  213. package/_esm/core/coprocessor/encrypt.js.map +1 -1
  214. package/_esm/core/coprocessor/fetchVerifiedInputProof.js +3 -4
  215. package/_esm/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
  216. package/_esm/core/handle/FheType.js +4 -2
  217. package/_esm/core/handle/FheType.js.map +1 -1
  218. package/_esm/core/host-contracts/KmsSignersContext-p.js +1 -1
  219. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
  220. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js +2 -3
  221. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
  222. package/_esm/core/kms/publicDecrypt.js +1 -4
  223. package/_esm/core/kms/publicDecrypt.js.map +1 -1
  224. package/_esm/core/modules/decrypt/mock.js +96 -10
  225. package/_esm/core/modules/decrypt/mock.js.map +1 -1
  226. package/_esm/core/modules/encrypt/mock.js +151 -12
  227. package/_esm/core/modules/encrypt/mock.js.map +1 -1
  228. package/_esm/core/modules/encrypt/module/api-p.js +7 -2
  229. package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
  230. package/_esm/core/modules/ethereum/types-ct.js +2 -0
  231. package/_esm/core/modules/ethereum/types-ct.js.map +1 -0
  232. package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +75 -0
  233. package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
  234. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +121 -0
  235. package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
  236. package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
  237. package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
  238. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +119 -0
  239. package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
  240. package/_esm/core/modules/relayer/cleartext/mock.js +39 -0
  241. package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -0
  242. package/_esm/core/modules/relayer/cleartext/signers.js +34 -0
  243. package/_esm/core/modules/relayer/cleartext/signers.js.map +1 -0
  244. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
  245. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  246. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
  247. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  248. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
  249. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  250. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
  251. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  252. package/_esm/core/modules/relayer/utils.js +13 -0
  253. package/_esm/core/modules/relayer/utils.js.map +1 -0
  254. package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js +15 -0
  255. package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  256. package/_esm/ethers/cleartext/createFhevmCleartextClient.js +9 -0
  257. package/_esm/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
  258. package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js +8 -0
  259. package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  260. package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js +8 -0
  261. package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  262. package/_esm/ethers/cleartext/decorators/decrypt.js +7 -0
  263. package/_esm/ethers/cleartext/decorators/decrypt.js.map +1 -0
  264. package/_esm/ethers/cleartext/decorators/encrypt.js +7 -0
  265. package/_esm/ethers/cleartext/decorators/encrypt.js.map +1 -0
  266. package/_esm/ethers/cleartext/index.js +5 -0
  267. package/_esm/ethers/cleartext/index.js.map +1 -0
  268. package/_esm/ethers/clients/createFhevmBaseClient.js +2 -1
  269. package/_esm/ethers/clients/createFhevmBaseClient.js.map +1 -1
  270. package/_esm/ethers/clients/createFhevmClient.js +2 -2
  271. package/_esm/ethers/clients/createFhevmClient.js.map +1 -1
  272. package/_esm/ethers/clients/createFhevmDecryptClient.js +1 -1
  273. package/_esm/ethers/clients/createFhevmDecryptClient.js.map +1 -1
  274. package/_esm/ethers/clients/createFhevmEncryptClient.js +1 -1
  275. package/_esm/ethers/clients/createFhevmEncryptClient.js.map +1 -1
  276. package/_esm/ethers/clients/decorators/decrypt.js +7 -0
  277. package/_esm/ethers/clients/decorators/decrypt.js.map +1 -0
  278. package/_esm/ethers/clients/decorators/encrypt.js +7 -0
  279. package/_esm/ethers/clients/decorators/encrypt.js.map +1 -0
  280. package/_esm/ethers/index.js +1 -1
  281. package/_esm/ethers/index.js.map +1 -1
  282. package/_esm/ethers/internal/config.js +38 -0
  283. package/_esm/ethers/internal/config.js.map +1 -0
  284. package/_esm/ethers/internal/ethereum-ct.js +39 -0
  285. package/_esm/ethers/internal/ethereum-ct.js.map +1 -0
  286. package/_esm/ethers/internal/ethers-p.js +0 -43
  287. package/_esm/ethers/internal/ethers-p.js.map +1 -1
  288. package/_esm/ethers/internal/runtime-ct.js +21 -0
  289. package/_esm/ethers/internal/runtime-ct.js.map +1 -0
  290. package/_esm/ethers/internal/runtime.js +21 -0
  291. package/_esm/ethers/internal/runtime.js.map +1 -0
  292. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js +2 -1
  293. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
  294. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js +2 -1
  295. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
  296. package/_esm/ethers/runtime/initFhevmRuntime.js +2 -1
  297. package/_esm/ethers/runtime/initFhevmRuntime.js.map +1 -1
  298. package/_esm/index.js +2 -0
  299. package/_esm/index.js.map +1 -0
  300. package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js +15 -0
  301. package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
  302. package/_esm/viem/cleartext/createFhevmCleartextClient.js +9 -0
  303. package/_esm/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
  304. package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js +8 -0
  305. package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
  306. package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js +8 -0
  307. package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
  308. package/_esm/viem/cleartext/decorators/decrypt.js +7 -0
  309. package/_esm/viem/cleartext/decorators/decrypt.js.map +1 -0
  310. package/_esm/viem/cleartext/decorators/encrypt.js +7 -0
  311. package/_esm/viem/cleartext/decorators/encrypt.js.map +1 -0
  312. package/_esm/viem/cleartext/index.js +5 -0
  313. package/_esm/viem/cleartext/index.js.map +1 -0
  314. package/_esm/viem/clients/createFhevmBaseClient.js +2 -1
  315. package/_esm/viem/clients/createFhevmBaseClient.js.map +1 -1
  316. package/_esm/viem/clients/createFhevmClient.js +2 -2
  317. package/_esm/viem/clients/createFhevmClient.js.map +1 -1
  318. package/_esm/viem/clients/createFhevmDecryptClient.js +1 -1
  319. package/_esm/viem/clients/createFhevmDecryptClient.js.map +1 -1
  320. package/_esm/viem/clients/createFhevmEncryptClient.js +1 -2
  321. package/_esm/viem/clients/createFhevmEncryptClient.js.map +1 -1
  322. package/_esm/viem/clients/decorators/decrypt.js +7 -0
  323. package/_esm/viem/clients/decorators/decrypt.js.map +1 -0
  324. package/_esm/viem/clients/decorators/encrypt.js +7 -0
  325. package/_esm/viem/clients/decorators/encrypt.js.map +1 -0
  326. package/_esm/viem/index.js +2 -2
  327. package/_esm/viem/index.js.map +1 -1
  328. package/_esm/viem/internal/config.js +38 -0
  329. package/_esm/viem/internal/config.js.map +1 -0
  330. package/_esm/viem/internal/ethereum-ct.js +39 -0
  331. package/_esm/viem/internal/ethereum-ct.js.map +1 -0
  332. package/_esm/viem/internal/runtime-ct.js +21 -0
  333. package/_esm/viem/internal/runtime-ct.js.map +1 -0
  334. package/_esm/viem/internal/runtime.js +21 -0
  335. package/_esm/viem/internal/runtime.js.map +1 -0
  336. package/_esm/viem/internal/viem-p.js +0 -43
  337. package/_esm/viem/internal/viem-p.js.map +1 -1
  338. package/_esm/viem/runtime/initFhevmDecryptRuntime.js +2 -1
  339. package/_esm/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
  340. package/_esm/viem/runtime/initFhevmEncryptRuntime.js +2 -1
  341. package/_esm/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
  342. package/_esm/viem/runtime/initFhevmRuntime.js +2 -1
  343. package/_esm/viem/runtime/initFhevmRuntime.js.map +1 -1
  344. package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
  345. package/_types/core/actions/chain/index.d.ts +4 -4
  346. package/_types/core/actions/chain/index.d.ts.map +1 -1
  347. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +3 -2
  348. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
  349. package/_types/core/actions/chain/parseTransportKeypair.d.ts +2 -2
  350. package/_types/core/actions/chain/parseTransportKeypair.d.ts.map +1 -1
  351. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +1 -1
  352. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -1
  353. package/_types/core/actions/decrypt/decryptValue.d.ts +5 -13
  354. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
  355. package/_types/core/actions/decrypt/decryptValues.d.ts +5 -13
  356. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
  357. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +5 -13
  358. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
  359. package/_types/core/actions/decrypt/index.d.ts +3 -3
  360. package/_types/core/actions/decrypt/index.d.ts.map +1 -1
  361. package/_types/core/base/bytes.d.ts +1 -0
  362. package/_types/core/base/bytes.d.ts.map +1 -1
  363. package/_types/core/base/sign.d.ts +10 -0
  364. package/_types/core/base/sign.d.ts.map +1 -0
  365. package/_types/core/base/typedValue.d.ts +2 -1
  366. package/_types/core/base/typedValue.d.ts.map +1 -1
  367. package/_types/core/base/uint.d.ts +3 -0
  368. package/_types/core/base/uint.d.ts.map +1 -1
  369. package/_types/core/clients/decorators/decrypt.d.ts +6 -15
  370. package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
  371. package/_types/core/coprocessor/ZkProof-p.d.ts +2 -2
  372. package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
  373. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +2 -1
  374. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
  375. package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
  376. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts +0 -2
  377. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts.map +1 -1
  378. package/_types/core/handle/FheType.d.ts +1 -0
  379. package/_types/core/handle/FheType.d.ts.map +1 -1
  380. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +1 -1
  381. package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
  382. package/_types/core/modules/decrypt/mock.d.ts +5 -5
  383. package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
  384. package/_types/core/modules/encrypt/mock.d.ts +6 -6
  385. package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
  386. package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
  387. package/_types/core/modules/encrypt/types.d.ts +6 -2
  388. package/_types/core/modules/encrypt/types.d.ts.map +1 -1
  389. package/_types/core/modules/ethereum/types-ct.d.ts +46 -0
  390. package/_types/core/modules/ethereum/types-ct.d.ts.map +1 -0
  391. package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts +3 -0
  392. package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts.map +1 -0
  393. package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts +3 -0
  394. package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +1 -0
  395. package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts +3 -0
  396. package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts.map +1 -0
  397. package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts +3 -0
  398. package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -0
  399. package/_types/core/modules/relayer/cleartext/mock.d.ts +3 -0
  400. package/_types/core/modules/relayer/cleartext/mock.d.ts.map +1 -0
  401. package/_types/core/modules/relayer/cleartext/signers.d.ts +7 -0
  402. package/_types/core/modules/relayer/cleartext/signers.d.ts.map +1 -0
  403. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts +2 -2
  404. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
  405. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts +2 -2
  406. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -1
  407. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts +2 -2
  408. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
  409. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts +2 -2
  410. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
  411. package/_types/core/modules/relayer/types.d.ts +14 -5
  412. package/_types/core/modules/relayer/types.d.ts.map +1 -1
  413. package/_types/core/modules/relayer/utils.d.ts +4 -0
  414. package/_types/core/modules/relayer/utils.d.ts.map +1 -0
  415. package/_types/core/types/zkProof-p.d.ts +2 -1
  416. package/_types/core/types/zkProof-p.d.ts.map +1 -1
  417. package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
  418. package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
  419. package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts +11 -0
  420. package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
  421. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
  422. package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
  423. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
  424. package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
  425. package/_types/ethers/cleartext/decorators/decrypt.d.ts +6 -0
  426. package/_types/ethers/cleartext/decorators/decrypt.d.ts.map +1 -0
  427. package/_types/ethers/cleartext/decorators/encrypt.d.ts +6 -0
  428. package/_types/ethers/cleartext/decorators/encrypt.d.ts.map +1 -0
  429. package/_types/ethers/cleartext/index.d.ts +5 -0
  430. package/_types/ethers/cleartext/index.d.ts.map +1 -0
  431. package/_types/ethers/clients/createFhevmBaseClient.d.ts.map +1 -1
  432. package/_types/ethers/clients/decorators/decrypt.d.ts +6 -0
  433. package/_types/ethers/clients/decorators/decrypt.d.ts.map +1 -0
  434. package/_types/ethers/clients/decorators/encrypt.d.ts +6 -0
  435. package/_types/ethers/clients/decorators/encrypt.d.ts.map +1 -0
  436. package/_types/ethers/index.d.ts +1 -1
  437. package/_types/ethers/index.d.ts.map +1 -1
  438. package/_types/ethers/internal/config.d.ts +15 -0
  439. package/_types/ethers/internal/config.d.ts.map +1 -0
  440. package/_types/ethers/internal/ethereum-ct.d.ts +3 -0
  441. package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -0
  442. package/_types/ethers/internal/ethers-p.d.ts +1 -13
  443. package/_types/ethers/internal/ethers-p.d.ts.map +1 -1
  444. package/_types/ethers/internal/runtime-ct.d.ts +3 -0
  445. package/_types/ethers/internal/runtime-ct.d.ts.map +1 -0
  446. package/_types/ethers/internal/runtime.d.ts +3 -0
  447. package/_types/ethers/internal/runtime.d.ts.map +1 -0
  448. package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
  449. package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
  450. package/_types/ethers/runtime/initFhevmRuntime.d.ts.map +1 -1
  451. package/_types/index.d.ts +2 -0
  452. package/_types/index.d.ts.map +1 -0
  453. package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
  454. package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
  455. package/_types/viem/cleartext/createFhevmCleartextClient.d.ts +11 -0
  456. package/_types/viem/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
  457. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
  458. package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
  459. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
  460. package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
  461. package/_types/viem/cleartext/decorators/decrypt.d.ts +6 -0
  462. package/_types/viem/cleartext/decorators/decrypt.d.ts.map +1 -0
  463. package/_types/viem/cleartext/decorators/encrypt.d.ts +6 -0
  464. package/_types/viem/cleartext/decorators/encrypt.d.ts.map +1 -0
  465. package/_types/viem/cleartext/index.d.ts +5 -0
  466. package/_types/viem/cleartext/index.d.ts.map +1 -0
  467. package/_types/viem/clients/createFhevmBaseClient.d.ts.map +1 -1
  468. package/_types/viem/clients/decorators/decrypt.d.ts +6 -0
  469. package/_types/viem/clients/decorators/decrypt.d.ts.map +1 -0
  470. package/_types/viem/clients/decorators/encrypt.d.ts +6 -0
  471. package/_types/viem/clients/decorators/encrypt.d.ts.map +1 -0
  472. package/_types/viem/index.d.ts +2 -2
  473. package/_types/viem/index.d.ts.map +1 -1
  474. package/_types/viem/internal/config.d.ts +15 -0
  475. package/_types/viem/internal/config.d.ts.map +1 -0
  476. package/_types/viem/internal/ethereum-ct.d.ts +3 -0
  477. package/_types/viem/internal/ethereum-ct.d.ts.map +1 -0
  478. package/_types/viem/internal/runtime-ct.d.ts +3 -0
  479. package/_types/viem/internal/runtime-ct.d.ts.map +1 -0
  480. package/_types/viem/internal/runtime.d.ts +3 -0
  481. package/_types/viem/internal/runtime.d.ts.map +1 -0
  482. package/_types/viem/internal/viem-p.d.ts +1 -13
  483. package/_types/viem/internal/viem-p.d.ts.map +1 -1
  484. package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
  485. package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
  486. package/_types/viem/runtime/initFhevmRuntime.d.ts.map +1 -1
  487. package/core/_version.ts +1 -1
  488. package/core/actions/base/fetchVerifiedInputProof.ts +1 -1
  489. package/core/actions/base/signDecryptionPermit.ts +2 -0
  490. package/core/actions/chain/index.ts +11 -11
  491. package/core/actions/chain/parseSignedDecryptionPermit.ts +5 -6
  492. package/core/actions/chain/parseTransportKeypair.ts +3 -7
  493. package/core/actions/chain/serializeTransportKeypair.ts +0 -2
  494. package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +1 -1
  495. package/core/actions/decrypt/decryptValue.ts +9 -28
  496. package/core/actions/decrypt/decryptValues.ts +9 -28
  497. package/core/actions/decrypt/decryptValuesFromPairs.ts +9 -28
  498. package/core/actions/decrypt/index.ts +3 -14
  499. package/core/base/bytes.ts +8 -0
  500. package/core/base/sign.ts +75 -0
  501. package/core/base/typedValue.ts +18 -0
  502. package/core/base/uint.ts +32 -0
  503. package/core/clients/decorators/decrypt.ts +12 -28
  504. package/core/coprocessor/InputProof-p.ts +2 -2
  505. package/core/coprocessor/ZkProof-p.ts +21 -9
  506. package/core/coprocessor/ZkProofBuilder-p.ts +15 -8
  507. package/core/coprocessor/encrypt.ts +1 -3
  508. package/core/coprocessor/fetchVerifiedInputProof.ts +7 -13
  509. package/core/handle/FheType.ts +5 -2
  510. package/core/host-contracts/KmsSignersContext-p.ts +1 -1
  511. package/core/kms/fetchKmsSignedcryptedShares-p.ts +16 -24
  512. package/core/kms/publicDecrypt.ts +6 -12
  513. package/core/modules/decrypt/mock.ts +126 -13
  514. package/core/modules/encrypt/mock.ts +206 -12
  515. package/core/modules/encrypt/module/api-p.ts +7 -2
  516. package/core/modules/encrypt/types.ts +6 -2
  517. package/core/modules/ethereum/types-ct.ts +89 -0
  518. package/core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts +94 -0
  519. package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +147 -0
  520. package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +67 -0
  521. package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +141 -0
  522. package/core/modules/relayer/cleartext/mock.ts +54 -0
  523. package/core/modules/relayer/cleartext/signers.ts +52 -0
  524. package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +4 -4
  525. package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +3 -3
  526. package/core/modules/relayer/module/fetchPublicDecrypt.ts +3 -3
  527. package/core/modules/relayer/module/fetchUserDecrypt.ts +3 -3
  528. package/core/modules/relayer/types.ts +13 -5
  529. package/core/modules/relayer/utils.ts +17 -0
  530. package/core/types/zkProof-p.ts +3 -1
  531. package/ethers/cleartext/createFhevmCleartextBaseClient.ts +25 -0
  532. package/ethers/cleartext/createFhevmCleartextClient.ts +20 -0
  533. package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +18 -0
  534. package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +19 -0
  535. package/ethers/cleartext/decorators/decrypt.ts +12 -0
  536. package/ethers/cleartext/decorators/encrypt.ts +12 -0
  537. package/ethers/cleartext/index.ts +4 -0
  538. package/ethers/cleartext/package.json +6 -0
  539. package/ethers/clients/createFhevmBaseClient.ts +2 -1
  540. package/ethers/clients/createFhevmClient.ts +2 -2
  541. package/ethers/clients/createFhevmDecryptClient.ts +1 -1
  542. package/ethers/clients/createFhevmEncryptClient.ts +1 -1
  543. package/ethers/clients/decorators/decrypt.ts +12 -0
  544. package/ethers/clients/decorators/encrypt.ts +12 -0
  545. package/ethers/index.ts +1 -1
  546. package/ethers/internal/config.ts +50 -0
  547. package/ethers/internal/ethereum-ct.ts +61 -0
  548. package/ethers/internal/ethers-p.ts +1 -56
  549. package/ethers/internal/runtime-ct.ts +28 -0
  550. package/ethers/internal/runtime.ts +28 -0
  551. package/ethers/runtime/initFhevmDecryptRuntime.ts +2 -1
  552. package/ethers/runtime/initFhevmEncryptRuntime.ts +2 -1
  553. package/ethers/runtime/initFhevmRuntime.ts +2 -1
  554. package/index.ts +0 -0
  555. package/package.json +14 -2
  556. package/viem/cleartext/createFhevmCleartextBaseClient.ts +28 -0
  557. package/viem/cleartext/createFhevmCleartextClient.ts +20 -0
  558. package/viem/cleartext/createFhevmCleartextDecryptClient.ts +21 -0
  559. package/viem/cleartext/createFhevmCleartextEncryptClient.ts +22 -0
  560. package/viem/cleartext/decorators/decrypt.ts +12 -0
  561. package/viem/cleartext/decorators/encrypt.ts +12 -0
  562. package/viem/cleartext/index.ts +4 -0
  563. package/viem/cleartext/package.json +6 -0
  564. package/viem/clients/createFhevmBaseClient.ts +2 -1
  565. package/viem/clients/createFhevmClient.ts +2 -2
  566. package/viem/clients/createFhevmDecryptClient.ts +1 -1
  567. package/viem/clients/createFhevmEncryptClient.ts +1 -3
  568. package/viem/clients/decorators/decrypt.ts +12 -0
  569. package/viem/clients/decorators/encrypt.ts +12 -0
  570. package/viem/index.ts +2 -2
  571. package/viem/internal/config.ts +50 -0
  572. package/viem/internal/ethereum-ct.ts +61 -0
  573. package/viem/internal/runtime-ct.ts +28 -0
  574. package/viem/internal/runtime.ts +28 -0
  575. package/viem/internal/viem-p.ts +1 -56
  576. package/viem/runtime/initFhevmDecryptRuntime.ts +2 -1
  577. package/viem/runtime/initFhevmEncryptRuntime.ts +2 -1
  578. package/viem/runtime/initFhevmRuntime.ts +2 -1
  579. package/_cjs/core/modules/relayer/mock.js +0 -29
  580. package/_cjs/core/modules/relayer/mock.js.map +0 -1
  581. package/_cjs/ethers/decorators/decrypt.js.map +0 -1
  582. package/_cjs/ethers/decorators/encrypt.js.map +0 -1
  583. package/_cjs/viem/decorators/decrypt.js.map +0 -1
  584. package/_cjs/viem/decorators/encrypt.js.map +0 -1
  585. package/_esm/core/modules/relayer/mock.js +0 -28
  586. package/_esm/core/modules/relayer/mock.js.map +0 -1
  587. package/_esm/ethers/decorators/decrypt.js +0 -7
  588. package/_esm/ethers/decorators/decrypt.js.map +0 -1
  589. package/_esm/ethers/decorators/encrypt.js +0 -7
  590. package/_esm/ethers/decorators/encrypt.js.map +0 -1
  591. package/_esm/viem/decorators/decrypt.js +0 -7
  592. package/_esm/viem/decorators/decrypt.js.map +0 -1
  593. package/_esm/viem/decorators/encrypt.js +0 -7
  594. package/_esm/viem/decorators/encrypt.js.map +0 -1
  595. package/_types/core/modules/relayer/mock.d.ts +0 -3
  596. package/_types/core/modules/relayer/mock.d.ts.map +0 -1
  597. package/_types/ethers/decorators/decrypt.d.ts +0 -6
  598. package/_types/ethers/decorators/decrypt.d.ts.map +0 -1
  599. package/_types/ethers/decorators/encrypt.d.ts +0 -6
  600. package/_types/ethers/decorators/encrypt.d.ts.map +0 -1
  601. package/_types/viem/decorators/decrypt.d.ts +0 -6
  602. package/_types/viem/decorators/decrypt.d.ts.map +0 -1
  603. package/_types/viem/decorators/encrypt.d.ts +0 -6
  604. package/_types/viem/decorators/encrypt.d.ts.map +0 -1
  605. package/core/modules/relayer/mock.ts +0 -47
  606. package/ethers/decorators/decrypt.ts +0 -12
  607. package/ethers/decorators/encrypt.ts +0 -12
  608. package/viem/decorators/decrypt.ts +0 -12
  609. package/viem/decorators/encrypt.ts +0 -12
@@ -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":"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"}
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":"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"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchDelegatedUserDecrypt = fetchDelegatedUserDecrypt;
4
+ const string_js_1 = require("../../../base/string.js");
5
+ const uint_js_1 = require("../../../base/uint.js");
6
+ const CoreFhevm_p_js_1 = require("../../../runtime/CoreFhevm-p.js");
7
+ const utils_js_1 = require("../utils.js");
8
+ const signers_js_1 = require("./signers.js");
9
+ const delegatedUserDecryptAbi = [
10
+ {
11
+ type: 'function',
12
+ name: 'delegatedUserDecrypt',
13
+ inputs: [
14
+ {
15
+ name: 'pairs',
16
+ type: 'tuple[]',
17
+ internalType: 'struct HandleContractPair[]',
18
+ components: [
19
+ { name: 'handle', type: 'bytes32', internalType: 'bytes32' },
20
+ {
21
+ name: 'contractAddress',
22
+ type: 'address',
23
+ internalType: 'address',
24
+ },
25
+ ],
26
+ },
27
+ { name: 'delegator', type: 'address', internalType: 'address' },
28
+ { name: 'delegate', type: 'address', internalType: 'address' },
29
+ { name: 'publicKey', type: 'bytes', internalType: 'bytes' },
30
+ {
31
+ name: 'contractAddresses',
32
+ type: 'address[]',
33
+ internalType: 'address[]',
34
+ },
35
+ {
36
+ name: 'startTimestamp',
37
+ type: 'uint256',
38
+ internalType: 'uint256',
39
+ },
40
+ {
41
+ name: 'durationDays',
42
+ type: 'uint256',
43
+ internalType: 'uint256',
44
+ },
45
+ { name: 'delegateSignature', type: 'bytes', internalType: 'bytes' },
46
+ ],
47
+ outputs: [
48
+ { name: 'payload', type: 'bytes', internalType: 'bytes' },
49
+ { name: 'signers', type: 'address[]', internalType: 'address[]' },
50
+ { name: 'threshold', type: 'uint256', internalType: 'uint256' },
51
+ { name: 'extraData', type: 'bytes', internalType: 'bytes' },
52
+ ],
53
+ stateMutability: 'view',
54
+ },
55
+ ];
56
+ async function fetchDelegatedUserDecrypt(relayerClient, parameters) {
57
+ const cleartextEthereumModule = relayerClient.runtime.ethereum;
58
+ const { payload } = parameters;
59
+ const pairs = payload.handleContractPairs;
60
+ const contractAddresses = payload.kmsDecryptEip712Message.contractAddresses;
61
+ const authCount = contractAddresses.length;
62
+ for (const { contractAddress: c } of pairs) {
63
+ let authorized = false;
64
+ for (let i = 0; i < authCount; ++i) {
65
+ if (contractAddresses[i] == c) {
66
+ authorized = true;
67
+ break;
68
+ }
69
+ }
70
+ if (!authorized) {
71
+ throw new Error(`ContractAddressNotAuthorized: ${c} is not in the EIP-712 authorized contractAddresses list.`);
72
+ }
73
+ }
74
+ const { kmsDecryptEip712Message, kmsDecryptEip712Signer, kmsDecryptEip712Signature } = payload;
75
+ const trustedClient = (0, CoreFhevm_p_js_1.getTrustedClient)(relayerClient);
76
+ const res = (await relayerClient.runtime.ethereum.readContract(trustedClient, {
77
+ abi: delegatedUserDecryptAbi,
78
+ address: relayerClient.chain.fhevm.contracts.kmsVerifier.address,
79
+ args: [
80
+ pairs.map((p) => ({
81
+ handle: p.handle.bytes32Hex,
82
+ contractAddress: p.contractAddress,
83
+ })),
84
+ kmsDecryptEip712Message.delegatorAddress,
85
+ kmsDecryptEip712Signer,
86
+ kmsDecryptEip712Message.publicKey,
87
+ kmsDecryptEip712Message.contractAddresses,
88
+ _parseUintBigIntString('kmsDecryptEip712Message.startTimestamp', kmsDecryptEip712Message.startTimestamp),
89
+ _parseUintBigIntString('kmsDecryptEip712Message.durationDays', kmsDecryptEip712Message.durationDays),
90
+ kmsDecryptEip712Signature,
91
+ ],
92
+ functionName: delegatedUserDecryptAbi[0].name,
93
+ }));
94
+ const commonKmsSigncryptedSharePayload = res[0];
95
+ const commonKmsSigncryptedSharePayloadNo0x = (0, string_js_1.remove0x)(commonKmsSigncryptedSharePayload);
96
+ const signersAddress = res[1];
97
+ const threshold = (0, uint_js_1.asUint32BigInt)(res[2]);
98
+ const extraData = res[3];
99
+ const signers = (0, signers_js_1.getKmsSignersPrivateKeyMap)(relayerClient);
100
+ const randomSignersAddress = (0, uint_js_1.randomUniqueUints)(signersAddress.length, Number(threshold)).map((i) => signersAddress[i]);
101
+ const result = [];
102
+ for (const signerAddress of randomSignersAddress) {
103
+ const privateKey = signers.get(signerAddress);
104
+ if (privateKey === undefined) {
105
+ throw new Error(`Unable to find KMS signer for address ${signerAddress}`);
106
+ }
107
+ const signature = await cleartextEthereumModule.sign({ hash: commonKmsSigncryptedSharePayload, privateKey });
108
+ result.push({ signature: (0, string_js_1.remove0x)(signature), payload: commonKmsSigncryptedSharePayloadNo0x, extraData });
109
+ }
110
+ return (0, utils_js_1.userDecryptResultToKmsSigncryptedShares)(result);
111
+ }
112
+ function _parseUintBigIntString(label, value) {
113
+ const bn = (0, uint_js_1.parseUintBigIntString)(value);
114
+ if (bn === undefined) {
115
+ throw new Error(`${label} is not a valid uint string, got ${JSON.stringify(value)}`);
116
+ }
117
+ return bn;
118
+ }
119
+ //# sourceMappingURL=fetchDelegatedUserDecrypt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchDelegatedUserDecrypt.js","sourceRoot":"","sources":["../../../../../core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchPublicDecrypt = fetchPublicDecrypt;
4
+ const CoreFhevm_p_js_1 = require("../../../runtime/CoreFhevm-p.js");
5
+ const signers_js_1 = require("./signers.js");
6
+ const publicDecryptAbi = [
7
+ {
8
+ type: 'function',
9
+ name: 'publicDecrypt',
10
+ inputs: [{ name: 'handles', type: 'bytes32[]', internalType: 'bytes32[]' }],
11
+ outputs: [
12
+ {
13
+ name: 'abiEncodedCleartexts',
14
+ type: 'bytes',
15
+ internalType: 'bytes',
16
+ },
17
+ { name: 'digest', type: 'bytes32', internalType: 'bytes32' },
18
+ { name: 'signers', type: 'address[]', internalType: 'address[]' },
19
+ { name: 'threshold', type: 'uint256', internalType: 'uint256' },
20
+ { name: 'extraData', type: 'bytes', internalType: 'bytes' },
21
+ ],
22
+ stateMutability: 'view',
23
+ },
24
+ ];
25
+ async function fetchPublicDecrypt(relayerClient, parameters) {
26
+ const cleartextEthereumModule = relayerClient.runtime.ethereum;
27
+ const trustedClient = (0, CoreFhevm_p_js_1.getTrustedClient)(relayerClient);
28
+ const res = (await relayerClient.runtime.ethereum.readContract(trustedClient, {
29
+ abi: publicDecryptAbi,
30
+ address: relayerClient.chain.fhevm.contracts.kmsVerifier.address,
31
+ args: [parameters.payload.orderedHandles.map((h) => h.bytes32Hex)],
32
+ functionName: publicDecryptAbi[0].name,
33
+ }));
34
+ const digest = res[1];
35
+ const signersAddress = res[2];
36
+ const signers = (0, signers_js_1.getKmsSignersPrivateKeyMap)(relayerClient);
37
+ const kmsPublicDecryptEIP712Signatures = [];
38
+ for (let i = 0; i < signersAddress.length; ++i) {
39
+ const privateKey = signers.get(signersAddress[i]);
40
+ if (privateKey === undefined) {
41
+ throw new Error('Unable to find kms signer');
42
+ }
43
+ const signature = await cleartextEthereumModule.sign({ hash: digest, privateKey });
44
+ kmsPublicDecryptEIP712Signatures.push(signature);
45
+ }
46
+ return {
47
+ orderedAbiEncodedClearValues: res[0],
48
+ kmsPublicDecryptEIP712Signatures,
49
+ extraData: res[4],
50
+ };
51
+ }
52
+ //# sourceMappingURL=fetchPublicDecrypt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPublicDecrypt.js","sourceRoot":"","sources":["../../../../../core/modules/relayer/cleartext/fetchPublicDecrypt.ts"],"names":[],"mappings":";;AA8BA,gDAoCC;AA/DD,oEAAmE;AACnE,6CAA0D;AAI1D,MAAM,gBAAgB,GAAG;IACvB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;QAC3E,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;YACD,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;YAC/D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC5D;QACD,eAAe,EAAE,MAAM;KACxB;CACO,CAAC;AAIJ,KAAK,UAAU,kBAAkB,CACtC,aAAuC,EACvC,UAAwC;IAExC,MAAM,uBAAuB,GAAG,aAAa,CAAC,OAAO,CAAC,QAAmC,CAAC;IAE1F,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,gBAAgB;QACrB,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;QACtF,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAClE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;KACvC,CAAC,CAAc,CAAC;IAEjB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAe,CAAC;IACpC,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAkC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAA,uCAA0B,EAAC,aAAa,CAAC,CAAC;IAE1D,MAAM,gCAAgC,GAAiB,EAAE,CAAC;IAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACnF,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,4BAA4B,EAAE,GAAG,CAAC,CAAC,CAAa;QAChD,gCAAgC;QAChC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAa;KAC9B,CAAC;AACJ,CAAC"}