@inco/js 0.2.15 → 0.2.17

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 (523) hide show
  1. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +34 -0
  2. package/dist/cjs/attesteddecrypt/attested-decrypt.js +91 -0
  3. package/dist/cjs/attesteddecrypt/index.d.ts +2 -0
  4. package/dist/cjs/attesteddecrypt/index.js +19 -0
  5. package/dist/cjs/attesteddecrypt/types.d.ts +18 -0
  6. package/dist/cjs/attesteddecrypt/types.js +16 -0
  7. package/dist/cjs/binary.js +82 -0
  8. package/dist/{chain.js → cjs/chain.js} +1 -1
  9. package/dist/{encryption → cjs/encryption}/encryption.d.ts +2 -2
  10. package/dist/cjs/encryption/encryption.js +109 -0
  11. package/dist/cjs/encryption/index.d.ts +1 -0
  12. package/dist/{fhevm → cjs/encryption}/index.js +2 -2
  13. package/dist/{fhevm → cjs/fhevm}/fhe-environment.d.ts +1 -1
  14. package/dist/cjs/fhevm/fhe-environment.js +11 -0
  15. package/dist/{fhevm → cjs/fhevm}/fhevm.d.ts +1 -1
  16. package/dist/cjs/fhevm/fhevm.js +145 -0
  17. package/dist/cjs/fhevm/index.d.ts +1 -0
  18. package/dist/{encryption → cjs/fhevm}/index.js +2 -2
  19. package/dist/{fhevm → cjs/fhevm}/reencrypt.d.ts +3 -3
  20. package/dist/cjs/fhevm/reencrypt.js +127 -0
  21. package/dist/{fhevm → cjs/fhevm}/tfhe.d.ts +1 -1
  22. package/dist/cjs/fhevm/tfhe.js +336 -0
  23. package/dist/{fhevm → cjs/fhevm}/types.d.ts +1 -1
  24. package/dist/cjs/fhevm/types.js +29 -0
  25. package/dist/cjs/generated/abis/addTwo.js +62 -0
  26. package/dist/cjs/generated/abis/inco-fhevm.js +681 -0
  27. package/dist/{generated → cjs/generated}/abis/index.js +1 -1
  28. package/dist/cjs/generated/abis/lightning.js +1606 -0
  29. package/dist/{generated → cjs/generated}/es/cosmos/ics23/v1/proofs_pb.js +1 -1
  30. package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.js +1 -1
  31. package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.js +1 -1
  32. package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.js +1 -1
  33. package/dist/{generated → cjs/generated}/es/google/api/http_pb.js +1 -1
  34. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.js +1 -1
  35. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.js +1 -1
  36. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.js +1 -1
  37. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.js +1 -1
  38. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.js +1 -1
  39. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.d.ts +54 -41
  40. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.js +6 -11
  41. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.js +1 -1
  42. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.js +1 -1
  43. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.js +1 -1
  44. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.js +1 -1
  45. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.js +1 -1
  46. package/dist/{generated → cjs/generated}/es/kms/base_pb.js +1 -1
  47. package/dist/{generated → cjs/generated}/es/sf/ethereum/type/v2/type_pb.js +1 -1
  48. package/dist/{generated → cjs/generated}/fhe-environments.js +1 -1
  49. package/dist/{generated → cjs/generated}/lightning.d.ts +21 -0
  50. package/dist/{generated → cjs/generated}/lightning.js +23 -1
  51. package/dist/cjs/generated/local-node.d.ts +23 -0
  52. package/dist/cjs/generated/local-node.js +27 -0
  53. package/dist/{generated → cjs/generated}/ts/amino/amino.js +1 -1
  54. package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.js +1 -1
  55. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +108 -0
  56. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +433 -0
  57. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +716 -0
  58. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +358 -0
  59. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +221 -0
  60. package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.js +1 -1
  61. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +216 -0
  62. package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.js +1 -1
  63. package/dist/{generated → cjs/generated}/ts/google/api/annotations.js +1 -1
  64. package/dist/cjs/generated/ts/google/api/http.js +356 -0
  65. package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.js +1 -1
  66. package/dist/cjs/generated/ts/google/protobuf/duration.js +93 -0
  67. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +93 -0
  68. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +509 -0
  69. package/dist/cjs/generated/ts/inco/abci/v1/types.js +73 -0
  70. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +66 -0
  71. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +190 -0
  72. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +714 -0
  73. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.js +1 -1
  74. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.js +1 -1
  75. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +990 -0
  76. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +66 -0
  77. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +331 -0
  78. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +216 -0
  79. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +69 -0
  80. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +280 -0
  81. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +140 -0
  82. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +203 -0
  83. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +66 -0
  84. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +185 -0
  85. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +259 -0
  86. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +448 -0
  87. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +398 -0
  88. package/dist/{handle.d.ts → cjs/handle.d.ts} +1 -1
  89. package/dist/{handle.js → cjs/handle.js} +5 -5
  90. package/dist/cjs/index.d.ts +5 -0
  91. package/dist/{index.js → cjs/index.js} +5 -5
  92. package/dist/cjs/kms/client.d.ts +8 -0
  93. package/dist/cjs/kms/client.js +41 -0
  94. package/dist/{l1 → cjs/l1}/client.d.ts +6 -6
  95. package/dist/{l1 → cjs/l1}/client.js +8 -8
  96. package/dist/cjs/l1/index.d.ts +2 -0
  97. package/dist/{l1 → cjs/l1}/index.js +3 -3
  98. package/dist/{l1 → cjs/l1}/preflight.d.ts +3 -3
  99. package/dist/cjs/l1/preflight.js +42 -0
  100. package/dist/cjs/lite/attested-decrypt.d.ts +3 -0
  101. package/dist/cjs/lite/attested-decrypt.js +6 -0
  102. package/dist/{lite → cjs/lite}/deployments.d.ts +2 -2
  103. package/dist/cjs/lite/deployments.js +21 -0
  104. package/dist/{lite → cjs/lite}/ecies.d.ts +6 -6
  105. package/dist/cjs/lite/ecies.js +135 -0
  106. package/dist/{lite → cjs/lite}/hadu.d.ts +1 -1
  107. package/dist/cjs/lite/hadu.js +41 -0
  108. package/dist/cjs/lite/index.d.ts +7 -0
  109. package/dist/cjs/lite/index.js +23 -0
  110. package/dist/{lite → cjs/lite}/lightning.d.ts +13 -6
  111. package/dist/cjs/lite/lightning.js +204 -0
  112. package/dist/{lite → cjs/lite}/reencrypt.d.ts +7 -7
  113. package/dist/cjs/lite/reencrypt.js +142 -0
  114. package/dist/cjs/local/index.d.ts +1 -0
  115. package/dist/{local → cjs/local}/index.js +2 -2
  116. package/dist/{local → cjs/local}/local-node.js +1 -1
  117. package/dist/{reencryption → cjs/reencryption}/eip712.js +5 -5
  118. package/dist/cjs/reencryption/index.d.ts +2 -0
  119. package/dist/cjs/reencryption/index.js +19 -0
  120. package/dist/{reencryption → cjs/reencryption}/types.d.ts +6 -10
  121. package/dist/{reencryption → cjs/reencryption}/types.js +1 -1
  122. package/dist/cjs/retry.d.ts +15 -0
  123. package/dist/cjs/retry.js +28 -0
  124. package/dist/{schema.js → cjs/schema.js} +1 -1
  125. package/dist/{viem.d.ts → cjs/viem.d.ts} +1 -1
  126. package/dist/cjs/viem.js +12 -0
  127. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +34 -0
  128. package/dist/esm/attesteddecrypt/attested-decrypt.js +88 -0
  129. package/dist/esm/attesteddecrypt/index.d.ts +2 -0
  130. package/dist/esm/attesteddecrypt/index.js +3 -0
  131. package/dist/esm/attesteddecrypt/types.d.ts +18 -0
  132. package/dist/esm/attesteddecrypt/types.js +12 -0
  133. package/dist/esm/binary.d.ts +21 -0
  134. package/dist/esm/binary.js +67 -0
  135. package/dist/esm/chain.d.ts +22 -0
  136. package/dist/esm/chain.js +24 -0
  137. package/dist/esm/encryption/encryption.d.ts +119 -0
  138. package/dist/esm/encryption/encryption.js +101 -0
  139. package/dist/esm/encryption/index.d.ts +1 -0
  140. package/dist/esm/encryption/index.js +2 -0
  141. package/dist/esm/fhevm/fhe-environment.d.ts +9 -0
  142. package/dist/esm/fhevm/fhe-environment.js +8 -0
  143. package/dist/esm/fhevm/fhevm.d.ts +41 -0
  144. package/dist/esm/fhevm/fhevm.js +139 -0
  145. package/dist/esm/fhevm/index.d.ts +1 -0
  146. package/dist/esm/fhevm/index.js +2 -0
  147. package/dist/esm/fhevm/reencrypt.d.ts +20 -0
  148. package/dist/esm/fhevm/reencrypt.js +123 -0
  149. package/dist/esm/fhevm/tfhe.d.ts +74 -0
  150. package/dist/esm/fhevm/tfhe.js +328 -0
  151. package/dist/esm/fhevm/types.d.ts +3 -0
  152. package/dist/esm/fhevm/types.js +26 -0
  153. package/dist/esm/generated/abis/addTwo.d.ts +83 -0
  154. package/dist/{generated → esm/generated}/abis/addTwo.js +2 -5
  155. package/dist/esm/generated/abis/inco-fhevm.d.ts +874 -0
  156. package/dist/{generated → esm/generated}/abis/inco-fhevm.js +3 -6
  157. package/dist/esm/generated/abis/index.d.ts +2 -0
  158. package/dist/esm/generated/abis/index.js +3 -0
  159. package/dist/esm/generated/abis/lightning.d.ts +2226 -0
  160. package/dist/{generated → esm/generated}/abis/lightning.js +2 -5
  161. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  162. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.js +198 -0
  163. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  164. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
  165. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  166. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +115 -0
  167. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +13 -0
  168. package/dist/esm/generated/es/google/api/annotations_pb.js +27 -0
  169. package/dist/esm/generated/es/google/api/http_pb.d.ts +440 -0
  170. package/dist/esm/generated/es/google/api/http_pb.js +34 -0
  171. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  172. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +21 -0
  173. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  174. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
  175. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  176. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +108 -0
  177. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  178. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +108 -0
  179. package/dist/esm/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  180. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +133 -0
  181. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  182. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +58 -0
  183. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  184. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
  185. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  186. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
  187. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  188. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +38 -0
  189. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  190. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +48 -0
  191. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  192. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +34 -0
  193. package/dist/esm/generated/es/kms/base_pb.d.ts +765 -0
  194. package/dist/esm/generated/es/kms/base_pb.js +238 -0
  195. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  196. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.js +571 -0
  197. package/dist/esm/generated/fhe-environments.d.ts +14 -0
  198. package/dist/esm/generated/fhe-environments.js +15 -0
  199. package/dist/esm/generated/lightning.d.ts +211 -0
  200. package/dist/esm/generated/lightning.js +223 -0
  201. package/dist/esm/generated/local-node.d.ts +23 -0
  202. package/dist/esm/generated/local-node.js +24 -0
  203. package/dist/esm/generated/ts/amino/amino.d.ts +1 -0
  204. package/dist/esm/generated/ts/amino/amino.js +8 -0
  205. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  206. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +5063 -0
  207. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  208. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +105 -0
  209. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  210. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +430 -0
  211. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  212. package/dist/esm/generated/ts/cometbft/types/v1/params.js +713 -0
  213. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  214. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +353 -0
  215. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  216. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
  217. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  218. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +8 -0
  219. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  220. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +211 -0
  221. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +1 -0
  222. package/dist/esm/generated/ts/gogoproto/gogo.js +8 -0
  223. package/dist/esm/generated/ts/google/api/annotations.d.ts +1 -0
  224. package/dist/esm/generated/ts/google/api/annotations.js +8 -0
  225. package/dist/esm/generated/ts/google/api/http.d.ts +371 -0
  226. package/dist/esm/generated/ts/google/api/http.js +353 -0
  227. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  228. package/dist/esm/generated/ts/google/protobuf/descriptor.js +5070 -0
  229. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +99 -0
  230. package/dist/esm/generated/ts/google/protobuf/duration.js +90 -0
  231. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  232. package/dist/esm/generated/ts/google/protobuf/timestamp.js +90 -0
  233. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  234. package/dist/esm/generated/ts/google/protobuf/wrappers.js +506 -0
  235. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +35 -0
  236. package/dist/esm/generated/ts/inco/abci/v1/types.js +70 -0
  237. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  238. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +63 -0
  239. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  240. package/dist/esm/generated/ts/inco/fhe/v1/events.js +187 -0
  241. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  242. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +711 -0
  243. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  244. package/dist/esm/generated/ts/inco/fhe/v1/query.js +1391 -0
  245. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  246. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +1233 -0
  247. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  248. package/dist/esm/generated/ts/inco/fhe/v1/types.js +985 -0
  249. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  250. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +63 -0
  251. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  252. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +328 -0
  253. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  254. package/dist/esm/generated/ts/inco/originchain/v1/events.js +213 -0
  255. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  256. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +66 -0
  257. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  258. package/dist/esm/generated/ts/inco/originchain/v1/query.js +277 -0
  259. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  260. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +137 -0
  261. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  262. package/dist/esm/generated/ts/inco/originchain/v1/types.js +200 -0
  263. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  264. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +63 -0
  265. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  266. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +182 -0
  267. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  268. package/dist/esm/generated/ts/inco/preflight/v1/query.js +256 -0
  269. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  270. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +445 -0
  271. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  272. package/dist/esm/generated/ts/inco/preflight/v1/types.js +395 -0
  273. package/dist/esm/handle.d.ts +41 -0
  274. package/dist/esm/handle.js +94 -0
  275. package/dist/esm/index.d.ts +5 -0
  276. package/dist/esm/index.js +6 -0
  277. package/dist/esm/kms/client.d.ts +8 -0
  278. package/dist/esm/kms/client.js +35 -0
  279. package/dist/esm/l1/client.d.ts +35 -0
  280. package/dist/esm/l1/client.js +93 -0
  281. package/dist/esm/l1/index.d.ts +2 -0
  282. package/dist/esm/l1/index.js +3 -0
  283. package/dist/esm/l1/preflight.d.ts +20 -0
  284. package/dist/esm/l1/preflight.js +39 -0
  285. package/dist/esm/lite/attested-decrypt.d.ts +3 -0
  286. package/dist/esm/lite/attested-decrypt.js +3 -0
  287. package/dist/esm/lite/deployments.d.ts +6 -0
  288. package/dist/esm/lite/deployments.js +17 -0
  289. package/dist/esm/lite/ecies.d.ts +26 -0
  290. package/dist/esm/lite/ecies.js +124 -0
  291. package/dist/esm/lite/hadu.d.ts +24 -0
  292. package/dist/esm/lite/hadu.js +36 -0
  293. package/dist/esm/lite/index.d.ts +7 -0
  294. package/dist/esm/lite/index.js +7 -0
  295. package/dist/esm/lite/lightning.d.ts +124 -0
  296. package/dist/esm/lite/lightning.js +200 -0
  297. package/dist/esm/lite/reencrypt.d.ts +24 -0
  298. package/dist/esm/lite/reencrypt.js +132 -0
  299. package/dist/esm/local/index.d.ts +1 -0
  300. package/dist/esm/local/index.js +2 -0
  301. package/dist/esm/local/local-node.d.ts +19 -0
  302. package/dist/esm/local/local-node.js +24 -0
  303. package/dist/esm/reencryption/eip712.d.ts +29 -0
  304. package/dist/esm/reencryption/eip712.js +81 -0
  305. package/dist/esm/reencryption/index.d.ts +2 -0
  306. package/dist/esm/reencryption/index.js +3 -0
  307. package/dist/esm/reencryption/types.d.ts +25 -0
  308. package/dist/esm/reencryption/types.js +2 -0
  309. package/dist/esm/retry.d.ts +15 -0
  310. package/dist/esm/retry.js +25 -0
  311. package/dist/esm/schema.d.ts +4 -0
  312. package/dist/esm/schema.js +15 -0
  313. package/dist/esm/viem.d.ts +427 -0
  314. package/dist/esm/viem.js +8 -0
  315. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +34 -0
  316. package/dist/types/attesteddecrypt/index.d.ts +2 -0
  317. package/dist/types/attesteddecrypt/types.d.ts +18 -0
  318. package/dist/types/binary.d.ts +21 -0
  319. package/dist/types/chain.d.ts +22 -0
  320. package/dist/types/encryption/encryption.d.ts +119 -0
  321. package/dist/types/encryption/index.d.ts +1 -0
  322. package/dist/types/fhevm/fhe-environment.d.ts +9 -0
  323. package/dist/types/fhevm/fhevm.d.ts +41 -0
  324. package/dist/types/fhevm/index.d.ts +1 -0
  325. package/dist/types/fhevm/reencrypt.d.ts +20 -0
  326. package/dist/types/fhevm/tfhe.d.ts +74 -0
  327. package/dist/types/fhevm/types.d.ts +3 -0
  328. package/dist/types/generated/abis/addTwo.d.ts +83 -0
  329. package/dist/types/generated/abis/inco-fhevm.d.ts +874 -0
  330. package/dist/types/generated/abis/index.d.ts +2 -0
  331. package/dist/types/generated/abis/lightning.d.ts +2226 -0
  332. package/dist/types/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  333. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  334. package/dist/types/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  335. package/dist/types/generated/es/google/api/annotations_pb.d.ts +13 -0
  336. package/dist/types/generated/es/google/api/http_pb.d.ts +440 -0
  337. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  338. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  339. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  340. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  341. package/dist/types/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  342. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  343. package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  344. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  345. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  346. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  347. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  348. package/dist/types/generated/es/kms/base_pb.d.ts +765 -0
  349. package/dist/types/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  350. package/dist/types/generated/fhe-environments.d.ts +14 -0
  351. package/dist/types/generated/lightning.d.ts +211 -0
  352. package/dist/types/generated/local-node.d.ts +23 -0
  353. package/dist/types/generated/ts/amino/amino.d.ts +1 -0
  354. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  355. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  356. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  357. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  358. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  359. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  360. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  361. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  362. package/dist/types/generated/ts/gogoproto/gogo.d.ts +1 -0
  363. package/dist/types/generated/ts/google/api/annotations.d.ts +1 -0
  364. package/dist/types/generated/ts/google/api/http.d.ts +371 -0
  365. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  366. package/dist/types/generated/ts/google/protobuf/duration.d.ts +99 -0
  367. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  368. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  369. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +35 -0
  370. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  371. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  372. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  373. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  374. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  375. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  376. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  377. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  378. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  379. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  380. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  381. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  382. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  383. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  384. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  385. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  386. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  387. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  388. package/dist/types/handle.d.ts +41 -0
  389. package/dist/types/index.d.ts +5 -0
  390. package/dist/types/kms/client.d.ts +8 -0
  391. package/dist/types/l1/client.d.ts +35 -0
  392. package/dist/types/l1/index.d.ts +2 -0
  393. package/dist/types/l1/preflight.d.ts +20 -0
  394. package/dist/types/lite/attested-decrypt.d.ts +3 -0
  395. package/dist/types/lite/deployments.d.ts +6 -0
  396. package/dist/types/lite/ecies.d.ts +26 -0
  397. package/dist/types/lite/hadu.d.ts +24 -0
  398. package/dist/types/lite/index.d.ts +7 -0
  399. package/dist/types/lite/lightning.d.ts +124 -0
  400. package/dist/types/lite/reencrypt.d.ts +24 -0
  401. package/dist/types/local/index.d.ts +1 -0
  402. package/dist/types/local/local-node.d.ts +19 -0
  403. package/dist/types/reencryption/eip712.d.ts +29 -0
  404. package/dist/types/reencryption/index.d.ts +2 -0
  405. package/dist/types/reencryption/types.d.ts +25 -0
  406. package/dist/types/retry.d.ts +15 -0
  407. package/dist/types/schema.d.ts +4 -0
  408. package/dist/types/viem.d.ts +427 -0
  409. package/package.json +64 -15
  410. package/dist/binary.js +0 -82
  411. package/dist/encryption/encryption.js +0 -109
  412. package/dist/encryption/index.d.ts +0 -1
  413. package/dist/fhevm/fhe-environment.js +0 -11
  414. package/dist/fhevm/fhevm.js +0 -145
  415. package/dist/fhevm/index.d.ts +0 -1
  416. package/dist/fhevm/reencrypt.js +0 -127
  417. package/dist/fhevm/tfhe.js +0 -336
  418. package/dist/fhevm/types.js +0 -29
  419. package/dist/generated/local-node.d.ts +0 -7
  420. package/dist/generated/local-node.js +0 -11
  421. package/dist/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  422. package/dist/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  423. package/dist/generated/ts/cometbft/types/v1/params.js +0 -716
  424. package/dist/generated/ts/cometbft/types/v1/validator.js +0 -358
  425. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  426. package/dist/generated/ts/cosmos_proto/cosmos.js +0 -216
  427. package/dist/generated/ts/google/api/http.js +0 -356
  428. package/dist/generated/ts/google/protobuf/duration.js +0 -93
  429. package/dist/generated/ts/google/protobuf/timestamp.js +0 -93
  430. package/dist/generated/ts/google/protobuf/wrappers.js +0 -509
  431. package/dist/generated/ts/inco/abci/v1/types.js +0 -73
  432. package/dist/generated/ts/inco/fhe/module/v1/module.js +0 -66
  433. package/dist/generated/ts/inco/fhe/v1/events.js +0 -190
  434. package/dist/generated/ts/inco/fhe/v1/genesis.js +0 -714
  435. package/dist/generated/ts/inco/fhe/v1/types.js +0 -990
  436. package/dist/generated/ts/inco/originchain/module/v1/module.js +0 -66
  437. package/dist/generated/ts/inco/originchain/v1/abci.js +0 -331
  438. package/dist/generated/ts/inco/originchain/v1/events.js +0 -216
  439. package/dist/generated/ts/inco/originchain/v1/genesis.js +0 -69
  440. package/dist/generated/ts/inco/originchain/v1/query.js +0 -280
  441. package/dist/generated/ts/inco/originchain/v1/tx.js +0 -140
  442. package/dist/generated/ts/inco/originchain/v1/types.js +0 -203
  443. package/dist/generated/ts/inco/preflight/module/v1/module.js +0 -66
  444. package/dist/generated/ts/inco/preflight/v1/genesis.js +0 -185
  445. package/dist/generated/ts/inco/preflight/v1/query.js +0 -259
  446. package/dist/generated/ts/inco/preflight/v1/tx.js +0 -448
  447. package/dist/generated/ts/inco/preflight/v1/types.js +0 -398
  448. package/dist/index.d.ts +0 -5
  449. package/dist/l1/index.d.ts +0 -2
  450. package/dist/l1/preflight.js +0 -42
  451. package/dist/lite/deployments.js +0 -21
  452. package/dist/lite/ecies.js +0 -135
  453. package/dist/lite/hadu.js +0 -41
  454. package/dist/lite/index.d.ts +0 -7
  455. package/dist/lite/index.js +0 -23
  456. package/dist/lite/lightning.js +0 -183
  457. package/dist/lite/reencrypt.js +0 -161
  458. package/dist/local/index.d.ts +0 -1
  459. package/dist/reencryption/index.d.ts +0 -2
  460. package/dist/reencryption/index.js +0 -19
  461. package/dist/viem.js +0 -12
  462. /package/dist/{binary.d.ts → cjs/binary.d.ts} +0 -0
  463. /package/dist/{chain.d.ts → cjs/chain.d.ts} +0 -0
  464. /package/dist/{generated → cjs/generated}/abis/addTwo.d.ts +0 -0
  465. /package/dist/{generated → cjs/generated}/abis/inco-fhevm.d.ts +0 -0
  466. /package/dist/{generated → cjs/generated}/abis/index.d.ts +0 -0
  467. /package/dist/{generated → cjs/generated}/abis/lightning.d.ts +0 -0
  468. /package/dist/{generated → cjs/generated}/es/cosmos/ics23/v1/proofs_pb.d.ts +0 -0
  469. /package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.d.ts +0 -0
  470. /package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.d.ts +0 -0
  471. /package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.d.ts +0 -0
  472. /package/dist/{generated → cjs/generated}/es/google/api/http_pb.d.ts +0 -0
  473. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.d.ts +0 -0
  474. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.d.ts +0 -0
  475. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.d.ts +0 -0
  476. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.d.ts +0 -0
  477. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.d.ts +0 -0
  478. /package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.d.ts +0 -0
  479. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.d.ts +0 -0
  480. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.d.ts +0 -0
  481. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.d.ts +0 -0
  482. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.d.ts +0 -0
  483. /package/dist/{generated → cjs/generated}/es/kms/base_pb.d.ts +0 -0
  484. /package/dist/{generated → cjs/generated}/es/sf/ethereum/type/v2/type_pb.d.ts +0 -0
  485. /package/dist/{generated → cjs/generated}/fhe-environments.d.ts +0 -0
  486. /package/dist/{generated → cjs/generated}/ts/amino/amino.d.ts +0 -0
  487. /package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.d.ts +0 -0
  488. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/keys.d.ts +0 -0
  489. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/proof.d.ts +0 -0
  490. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/params.d.ts +0 -0
  491. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/validator.d.ts +0 -0
  492. /package/dist/{generated → cjs/generated}/ts/cosmos/app/v1alpha1/module.d.ts +0 -0
  493. /package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.d.ts +0 -0
  494. /package/dist/{generated → cjs/generated}/ts/cosmos_proto/cosmos.d.ts +0 -0
  495. /package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.d.ts +0 -0
  496. /package/dist/{generated → cjs/generated}/ts/google/api/annotations.d.ts +0 -0
  497. /package/dist/{generated → cjs/generated}/ts/google/api/http.d.ts +0 -0
  498. /package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.d.ts +0 -0
  499. /package/dist/{generated → cjs/generated}/ts/google/protobuf/duration.d.ts +0 -0
  500. /package/dist/{generated → cjs/generated}/ts/google/protobuf/timestamp.d.ts +0 -0
  501. /package/dist/{generated → cjs/generated}/ts/google/protobuf/wrappers.d.ts +0 -0
  502. /package/dist/{generated → cjs/generated}/ts/inco/abci/v1/types.d.ts +0 -0
  503. /package/dist/{generated → cjs/generated}/ts/inco/fhe/module/v1/module.d.ts +0 -0
  504. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/events.d.ts +0 -0
  505. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/genesis.d.ts +0 -0
  506. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.d.ts +0 -0
  507. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.d.ts +0 -0
  508. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/types.d.ts +0 -0
  509. /package/dist/{generated → cjs/generated}/ts/inco/originchain/module/v1/module.d.ts +0 -0
  510. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/abci.d.ts +0 -0
  511. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/events.d.ts +0 -0
  512. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/genesis.d.ts +0 -0
  513. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/query.d.ts +0 -0
  514. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/tx.d.ts +0 -0
  515. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/types.d.ts +0 -0
  516. /package/dist/{generated → cjs/generated}/ts/inco/preflight/module/v1/module.d.ts +0 -0
  517. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/genesis.d.ts +0 -0
  518. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/query.d.ts +0 -0
  519. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/tx.d.ts +0 -0
  520. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/types.d.ts +0 -0
  521. /package/dist/{local → cjs/local}/local-node.d.ts +0 -0
  522. /package/dist/{reencryption → cjs/reencryption}/eip712.d.ts +0 -0
  523. /package/dist/{schema.d.ts → cjs/schema.d.ts} +0 -0
package/dist/binary.js DELETED
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Address = exports.Bytes32 = exports.HexString = void 0;
4
- exports.bytesToBigInt = bytesToBigInt;
5
- exports.bufferToBigInt = bufferToBigInt;
6
- exports.bigintToBytes32 = bigintToBytes32;
7
- exports.padLeft = padLeft;
8
- exports.bytes32ToBigint = bytes32ToBigint;
9
- exports.bytesFromHexString = bytesFromHexString;
10
- exports.mustBeHex = mustBeHex;
11
- exports.normaliseToHex = normaliseToHex;
12
- exports.bytesToHex = bytesToHex;
13
- exports.asBytes32 = asBytes32;
14
- exports.parseAddress = parseAddress;
15
- exports.parseHex = parseHex;
16
- const effect_1 = require("effect");
17
- const viem_1 = require("viem");
18
- const schema_1 = require("./schema");
19
- exports.HexString = effect_1.Schema.TemplateLiteral('0x', effect_1.Schema.String);
20
- function bytesToBigInt(byteArray) {
21
- // Ugly but better than bigint-buffer that insists on writing junk to stderr if it doesn't have native bindings
22
- return !byteArray?.length ? BigInt(0) : BigInt('0x' + Buffer.from(byteArray).toString('hex'));
23
- }
24
- function bufferToBigInt(buffer) {
25
- return bytesToBigInt(Uint8Array.from(buffer));
26
- }
27
- // Convert a bigint to a 32-byte array, left-padded if necessary. Note: it is
28
- // caller's responsibility to ensure that the bigint is not too large to fit in
29
- // 32 bytes, or else the result will be truncated.
30
- function bigintToBytes32(value) {
31
- return (0, schema_1.parse)(exports.Bytes32, Buffer.from(value.toString(16).padStart(64, '0'), 'hex').toString('hex'));
32
- }
33
- function padLeft(bs, n) {
34
- if (bs.length > n) {
35
- throw new Error(`Cannot pad ${bs.length} bytes to ${n} - would truncate`);
36
- }
37
- const buf = Buffer.alloc(n);
38
- buf.set(bs, n - bs.length);
39
- return buf;
40
- }
41
- function bytes32ToBigint(bs) {
42
- const bytes32 = asBytes32(bs);
43
- return BigInt(bytes32);
44
- }
45
- function bytesFromHexString(hexString) {
46
- return Buffer.from(hexString.startsWith('0x') ? hexString.slice(2) : hexString, 'hex');
47
- }
48
- function mustBeHex(value) {
49
- if (!(0, viem_1.isHex)(value)) {
50
- throw new Error(`Expected hex string, got: ${value}`);
51
- }
52
- return value;
53
- }
54
- function normaliseToHex(value) {
55
- return mustBeHex(value.startsWith('0x') ? value : `0x${value}`);
56
- }
57
- function bytesToHex(bs) {
58
- return ('0x' + Buffer.from(bs).toString('hex'));
59
- }
60
- const ByteArray = effect_1.Schema.Object.pipe(effect_1.Schema.filter((x) => x instanceof Uint8Array));
61
- const BytesToHex = effect_1.Schema.transformOrFail(effect_1.Schema.Union(effect_1.Schema.String, ByteArray), exports.HexString, {
62
- strict: true,
63
- encode: effect_1.ParseResult.succeed,
64
- decode: (x) => x instanceof Uint8Array
65
- ? effect_1.ParseResult.succeed(bytesToHex(x))
66
- : ((y) => (0, viem_1.isHex)(y)
67
- ? effect_1.ParseResult.succeed(y)
68
- : effect_1.ParseResult.fail(new effect_1.ParseResult.Unexpected(y, `'${y}' is not a hex string`)))(normaliseToHex(x)),
69
- });
70
- exports.Bytes32 = BytesToHex.pipe(effect_1.Schema.filter((x) => x.length === 66 ||
71
- `Expected 32-byte hex string (66 characters with 0x prefix) but got ${x.length} character string`), effect_1.Schema.brand('Bytes32'));
72
- function asBytes32(x) {
73
- return (0, schema_1.parse)(exports.Bytes32, x);
74
- }
75
- exports.Address = exports.HexString.pipe(effect_1.Schema.filter((s) => s.length === 42 || `Address must be a 20-byte '0x'-prefixed hex string, but got: ${s}`), effect_1.Schema.brand('Address'));
76
- function parseAddress(address) {
77
- return (0, schema_1.parse)(exports.Address, address);
78
- }
79
- function parseHex(hex) {
80
- return (0, schema_1.parse)(exports.HexString, hex);
81
- }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSxzQ0FHQztBQUVELHdDQUVDO0FBS0QsMENBRUM7QUFFRCwwQkFPQztBQUVELDBDQUdDO0FBRUQsZ0RBRUM7QUFFRCw4QkFLQztBQUVELHdDQUVDO0FBRUQsZ0NBRUM7QUF5QkQsOEJBRUM7QUFXRCxvQ0FFQztBQUVELDRCQUVDO0FBckdELG1DQUE2QztBQUM3QywrQkFBa0M7QUFDbEMscUNBQWlDO0FBRXBCLFFBQUEsU0FBUyxHQUFHLGVBQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQU1yRSxTQUFnQixhQUFhLENBQUMsU0FBcUI7SUFDakQsK0dBQStHO0lBQy9HLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRyxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLE1BQWM7SUFDM0MsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsK0VBQStFO0FBQy9FLGtEQUFrRDtBQUNsRCxTQUFnQixlQUFlLENBQUMsS0FBYTtJQUMzQyxPQUFPLElBQUEsY0FBSyxFQUFDLGVBQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMs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
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PlaintextWithContext = exports.Plaintext = exports.EncryptResult = exports.CiphertextWithContext = exports.Ciphertext = exports.CiphertextEnvelope = exports.ciphertextEnvelopes = exports.EncryptionScheme = exports.encryptionSchemes = exports.SupportedFheType = exports.SupportedFheTypeName = exports.supportedFheTypes = void 0;
4
- exports.getEncryptionSchemeName = getEncryptionSchemeName;
5
- exports.bigintToPlaintext = bigintToPlaintext;
6
- exports.plaintextToBigint = plaintextToBigint;
7
- exports.plaintextToBytes32 = plaintextToBytes32;
8
- exports.bytes32ToPlaintext = bytes32ToPlaintext;
9
- const effect_1 = require("effect");
10
- const binary_1 = require("../binary");
11
- const handle_1 = require("../handle");
12
- exports.supportedFheTypes = {
13
- euint64: handle_1.handleTypes.euint64,
14
- euint160: handle_1.handleTypes.euint160,
15
- euint256: handle_1.handleTypes.euint256,
16
- ebool: handle_1.handleTypes.ebool,
17
- };
18
- const supportedFheTypeNames = Object.keys(exports.supportedFheTypes);
19
- exports.SupportedFheTypeName = effect_1.Schema.Literal(...supportedFheTypeNames);
20
- // TODO: extend to all types
21
- exports.SupportedFheType = effect_1.Schema.Literal(...Object.values(exports.supportedFheTypes));
22
- exports.encryptionSchemes = {
23
- tfhe: 0,
24
- ecies: 1,
25
- cryptobox: 2,
26
- };
27
- function getEncryptionSchemeName(scheme) {
28
- switch (scheme) {
29
- case exports.encryptionSchemes.tfhe:
30
- return 'TFHE';
31
- case exports.encryptionSchemes.ecies:
32
- return 'ECIES';
33
- case exports.encryptionSchemes.cryptobox:
34
- return 'NACLCryptoBox';
35
- default:
36
- throw new Error(`Unknown encryption scheme: ${scheme}`);
37
- }
38
- }
39
- exports.EncryptionScheme = effect_1.Schema.Literal(exports.encryptionSchemes.tfhe, exports.encryptionSchemes.ecies, exports.encryptionSchemes.cryptobox);
40
- exports.ciphertextEnvelopes = {
41
- none: 0,
42
- hadu: 1,
43
- };
44
- exports.CiphertextEnvelope = effect_1.Schema.Literal(...Object.values(exports.ciphertextEnvelopes));
45
- exports.Ciphertext = effect_1.Schema.Struct({
46
- scheme: exports.EncryptionScheme,
47
- type: exports.SupportedFheType,
48
- value: binary_1.HexString,
49
- envelope: effect_1.Schema.optional(exports.CiphertextEnvelope),
50
- });
51
- exports.CiphertextWithContext = effect_1.Schema.Struct({
52
- ciphertext: exports.Ciphertext,
53
- context: handle_1.InputContext,
54
- });
55
- exports.EncryptResult = effect_1.Schema.Struct({
56
- ciphertext: exports.Ciphertext,
57
- context: handle_1.InputContext,
58
- prehandle: binary_1.Bytes32,
59
- handle: binary_1.Bytes32,
60
- });
61
- exports.Plaintext = effect_1.Schema.Union(effect_1.Schema.Struct({
62
- scheme: exports.EncryptionScheme,
63
- type: effect_1.Schema.Literal(handle_1.handleTypes.euint64, handle_1.handleTypes.euint160, handle_1.handleTypes.euint256),
64
- value: effect_1.Schema.BigInt,
65
- }), effect_1.Schema.Struct({
66
- scheme: exports.EncryptionScheme,
67
- type: effect_1.Schema.Literal(handle_1.handleTypes.ebool),
68
- value: effect_1.Schema.Boolean,
69
- }));
70
- exports.PlaintextWithContext = effect_1.Schema.Struct({
71
- plaintext: exports.Plaintext,
72
- context: handle_1.InputContext,
73
- });
74
- function bigintToPlaintext(scheme, type, bigPt) {
75
- switch (type) {
76
- case handle_1.handleTypes.euint64:
77
- case handle_1.handleTypes.euint160:
78
- case handle_1.handleTypes.euint256:
79
- return {
80
- scheme,
81
- type,
82
- value: bigPt,
83
- };
84
- case handle_1.handleTypes.ebool:
85
- return {
86
- scheme,
87
- type,
88
- value: bigPt !== 0n,
89
- };
90
- }
91
- throw new Error(`Unsupported FHE type: ${type}`);
92
- }
93
- function plaintextToBigint(plaintext) {
94
- switch (plaintext.type) {
95
- case handle_1.handleTypes.euint64:
96
- case handle_1.handleTypes.euint160:
97
- case handle_1.handleTypes.euint256:
98
- return plaintext.value;
99
- case handle_1.handleTypes.ebool:
100
- return plaintext.value ? 1n : 0n;
101
- }
102
- }
103
- function plaintextToBytes32(plaintext) {
104
- return (0, binary_1.bigintToBytes32)(plaintextToBigint(plaintext));
105
- }
106
- function bytes32ToPlaintext(plaintext, scheme, type) {
107
- return bigintToPlaintext(scheme, type, BigInt(plaintext));
108
- }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0aW9uL2VuY3J5cHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUNBLDBEQVdDO0FBNkZELDhDQXNCQztBQUVELDhDQVNDO0FBRUQsZ0RBRUM7QUFFRCxnREFFQztBQXhMRCxtQ0FBZ0M7QUFDaEMsc0NBQWdFO0FBQ2hFLHNDQUFzRDtBQWF6QyxRQUFBLGlCQUFpQixHQUFHO0lBQy9CLE9BQU8sRUFBRSxvQkFBVyxDQUFDLE9BQU87SUFDNUIsUUFBUSxFQUFFLG9CQUFXLENBQUMsUUFBUTtJQUM5QixRQUFRLEVBQUUsb0JBQVcsQ0FBQyxRQUFRO0lBQzlCLEtBQUssRUFBRSxvQkFBVyxDQUFDLEtBQUs7Q0FDaEIsQ0FBQztBQUVYLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBaUIsQ0FBdUMsQ0FBQztBQUV0RixRQUFBLG9CQUFvQixHQUFHLGVBQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0FBSTdFLDRCQUE0QjtBQUNmLFFBQUEsZ0JBQWdCLEdBQUcsZUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMseUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBSXZFLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQztJQUNSLFNBQVMsRUFBRSxDQUFDO0NBQ0osQ0FBQztBQUVYLFNBQWdCLHVCQUF1QixDQUFDLE1BQWM7SUFDcEQsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUsseUJBQWlCLENBQUMsSUFBSTtZQUN6QixPQUFPLE1BQU0sQ0FBQztRQUNoQixLQUFLLHlCQUFpQixDQUFDLEtBQUs7WUFDMUIsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyx5QkFBaUIsQ0FBQyxTQUFTO1lBQzlCLE9BQU8sZUFB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
@@ -1 +0,0 @@
1
- export * from './encryption';
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFheEnvironment = getFheEnvironment;
4
- // Avoid inporting any other dependencies in this file to avoid serialisation issues downstream in infracto
5
- const chain_1 = require("../chain");
6
- const fhe_environments_1 = require("../generated/fhe-environments");
7
- function getFheEnvironment(chainId) {
8
- const supportedChain = (0, chain_1.getSupportedChain)(chainId);
9
- return fhe_environments_1.FHEEnvironments[supportedChain.name];
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmhlLWVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZoZXZtL2ZoZS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLDhDQUdDO0FBbEJELDJHQUEyRztBQUMzRyxvQ0FBMkU7QUFDM0Usb0VBQWdFO0FBYWhFLFNBQWdCLGlCQUFpQixDQUFDLE9BQWlCO0lBQ2pELE1BQU0sY0FBYyxHQUFHLElBQUEseUJBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsT0FBTyxrQ0FBZSxDQUFDLGNBQWMsQ0FBQyxJQUF1QyxDQUFDLENBQUM7QUFDakYsQ0FBQyJ9
@@ -1,145 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPublicWalletClient = createPublicWalletClient;
4
- exports.getFhevmDeployerClient = getFhevmDeployerClient;
5
- exports.configureFhevmContracts = configureFhevmContracts;
6
- exports.ensureFheEnvironmentRegistered = ensureFheEnvironmentRegistered;
7
- const connect_1 = require("@connectrpc/connect");
8
- const connect_node_1 = require("@connectrpc/connect-node");
9
- const viem_1 = require("viem");
10
- const accounts_1 = require("viem/accounts");
11
- const chains = require("viem/chains");
12
- const binary_1 = require("../binary");
13
- const inco_fhevm_1 = require("../generated/abis/inco-fhevm");
14
- const query_pb_1 = require("../generated/es/inco/fhe/v1/query_pb");
15
- const l1_1 = require("../l1");
16
- const fhe_environment_1 = require("./fhe-environment");
17
- // Create a public and wallet client for the given chain.
18
- function createPublicWalletClient({ account, hostChainRpcUrl, chain, }) {
19
- const transport = (0, viem_1.http)(hostChainRpcUrl);
20
- const publicClient = (0, viem_1.createPublicClient)({
21
- chain,
22
- transport,
23
- });
24
- // const privateKey = await shell("cast wallet private-key --account sepolia_deployer --password ''");
25
- // const account = privateKeyToAccount(mustBeHex(privateKey));
26
- const walletClient = (0, viem_1.createWalletClient)({
27
- chain,
28
- transport,
29
- account,
30
- });
31
- return { public: publicClient, wallet: walletClient };
32
- }
33
- function getFhevmDeployerClient({ deployer, hostChainRpcUrl, chain, }) {
34
- const viemChain = getViemChain(chain.id);
35
- const transport = (0, viem_1.http)(hostChainRpcUrl);
36
- const publicClient = (0, viem_1.createPublicClient)({
37
- chain: viemChain,
38
- transport,
39
- });
40
- // const privateKey = await shell("cast wallet private-key --account sepolia_deployer --password ''");
41
- // const account = privateKeyToAccount(mustBeHex(privateKey));
42
- const walletClient = (0, viem_1.createWalletClient)({
43
- chain: viemChain,
44
- transport,
45
- account: deployer,
46
- });
47
- return { public: publicClient, wallet: walletClient };
48
- }
49
- async function configureFhevmContracts({ chain, hostChain: { privateKeys, rpcUrl }, }) {
50
- const deployer = (0, accounts_1.privateKeyToAccount)((0, binary_1.normaliseToHex)(privateKeys.deployer));
51
- const relayer = (0, accounts_1.privateKeyToAccount)((0, binary_1.normaliseToHex)(privateKeys.relayer));
52
- const kmsSigner = (0, accounts_1.privateKeyToAccount)((0, binary_1.normaliseToHex)(privateKeys.kmsSigner));
53
- console.log(`Configuring FHE environment contracts on ${chain.name} with deployer ${deployer.address}, relayer ${relayer.address}, and KMS signer ${kmsSigner.address}...`);
54
- const client = getFhevmDeployerClient({
55
- hostChainRpcUrl: rpcUrl,
56
- deployer,
57
- chain,
58
- });
59
- const { gatewayAddress, kmsVerifierAddress } = (0, fhe_environment_1.getFheEnvironment)(chain.id);
60
- const gateway = (0, viem_1.getContract)({
61
- address: gatewayAddress,
62
- abi: inco_fhevm_1.gatewayContractAbi,
63
- client,
64
- });
65
- const kmsVerifier = (0, viem_1.getContract)({
66
- address: kmsVerifierAddress,
67
- abi: inco_fhevm_1.kmsVerifierAbi,
68
- client,
69
- });
70
- console.log(`Adding relayer ${relayer.address}...`);
71
- let addRelayerTxReceipt = null;
72
- let addKmsSignerTxReceipt = null;
73
- const ErrAlreadyRelayer = 'Address is already relayer';
74
- try {
75
- const addRelayerTxHash = await gateway.write.addRelayer([relayer.address]);
76
- addRelayerTxReceipt = await client.public.waitForTransactionReceipt({
77
- hash: addRelayerTxHash,
78
- });
79
- }
80
- catch (err) {
81
- if (!err.message.includes(ErrAlreadyRelayer)) {
82
- throw err;
83
- }
84
- console.log(`Relayer ${relayer.address} already added`);
85
- }
86
- console.log(`Adding KMS signer ${kmsSigner.address}...`);
87
- const ErrAlreadySigner = 'Address is already a signer';
88
- try {
89
- const addKmsSignerTxHash = await kmsVerifier.write.addSigner([kmsSigner.address]);
90
- addKmsSignerTxReceipt = await client.public.waitForTransactionReceipt({
91
- hash: addKmsSignerTxHash,
92
- });
93
- }
94
- catch (err) {
95
- if (!err.message.includes(ErrAlreadySigner)) {
96
- throw err;
97
- }
98
- console.log(`KMS signer ${kmsSigner.address} already added`);
99
- }
100
- return { addRelayerTxReceipt, addKmsSignerTxReceipt };
101
- }
102
- // Attempts to ensure the given Inco L1 has the FHE environment for the given chain/ACL registered.
103
- // based extracting from logs.
104
- async function ensureFheEnvironmentRegistered({ l1, chain, }) {
105
- console.log(`Ensuring FHE environment is registered on ${l1.grpcEndpoint} ...`);
106
- const { aclAddress } = (0, fhe_environment_1.getFheEnvironment)(chain.id);
107
- const wallet = await (0, l1_1.createL1Wallet)(l1.mnemonic);
108
- const signingClient = await (0, l1_1.createL1Client)({
109
- cometRpcEndpoint: l1.cometRpcEndpoint,
110
- grpcEndpoint: l1.grpcEndpoint,
111
- wallet,
112
- });
113
- const transport = (0, connect_node_1.createGrpcTransport)({ baseUrl: l1.grpcEndpoint });
114
- const queryClient = (0, connect_1.createClient)(query_pb_1.Query, transport);
115
- const [signingAccount] = await wallet.getAccounts();
116
- const fheEnvArg = {
117
- keysetId: aclAddress.slice(2),
118
- hostChainId: `evm/${chain.id}`,
119
- accessControl: undefined,
120
- };
121
- const NotFoundErrorMessage = 'collections: not found';
122
- try {
123
- const { fheEnv } = await queryClient.fheEnv(fheEnvArg);
124
- console.log(`FHE environment already registered on ${chain.id} using ACL ${aclAddress} : ${JSON.stringify(fheEnv)} `);
125
- }
126
- catch (err) {
127
- if (String(err).includes(NotFoundErrorMessage)) {
128
- const tx = await signingClient.sendTx(signingAccount.address, '/inco.fhe.v1.MsgAddFheEnv', {
129
- fheEnv: fheEnvArg,
130
- authority: signingAccount.address,
131
- });
132
- console.log(tx);
133
- return;
134
- }
135
- throw err;
136
- }
137
- }
138
- function getViemChain(chainId) {
139
- const found = Object.values(chains).find((chain) => chain.id === chainId);
140
- if (!found) {
141
- throw new Error(`could not find chain with id ${chainId}`);
142
- }
143
- return found;
144
- }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmhldm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmhldm0vZmhldm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE2QkEsNERBdUJDO0FBRUQsd0RBd0JDO0FBYUQsMERBZ0VDO0FBVUQsd0VBd0NDO0FBN01ELGlEQUFtRDtBQUNuRCwyREFBK0Q7QUFDL0QsK0JBV2M7QUFDZCw0Q0FBb0Q7QUFDcEQsc0NBQXNDO0FBQ3RDLHNDQUEyQztBQUUzQyw2REFBa0Y7QUFDbEYsbUVBQTZEO0FBQzdELDhCQUF1RDtBQUN2RCx1REFBc0Q7QUFPdEQseURBQXlEO0FBQ3pELFNBQWdCLHdCQUF3QixDQUFDLEVBQ3ZDLE9BQU8sRUFDUCxlQUFlLEVBQ2YsS0FBSyxHQUtOO0lBQ0MsTUFBTSxTQUFTLEdBQUcsSUFBQSxXQUFJLEVBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEMsTUFBTSxZQUFZLEdBQUcsSUFBQSx5QkFBa0IsRUFBNEI7UUFDakUsS0FBSztRQUNMLFNBQVM7S0FDVixDQUFDLENBQUM7SUFDSCxzR0FBc0c7SUFDdEcsOERBQThEO0lBQzlELE1BQU0sWUFBWSxHQUFHLElBQUEseUJBQWtCLEVBQUM7UUFDdEMsS0FBSztRQUNMLFNBQVM7UUFDVCxPQUFPO0tBQ1IsQ0FBQyxDQUFDO0lBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3hELENBQUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxFQUNyQyxRQUFRLEVBQ1IsZUFBZSxFQUNmLEtBQUssR0FLTjtJQUNDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBQSxXQUFJLEVBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEMsTUFBTSxZQUFZLEdBQUcsSUFBQSx5QkFBa0IsRUFBNEI7UUFDakUsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FB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
@@ -1 +0,0 @@
1
- export * from './fhe-environment';
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zamaReencryptor = zamaReencryptor;
4
- exports.generateCryptoBoxEphemeralKeyPair = generateCryptoBoxEphemeralKeyPair;
5
- const effect_1 = require("effect");
6
- const node_tkms_1 = require("node-tkms");
7
- const viem_1 = require("viem");
8
- const binary_1 = require("../binary");
9
- const encryption_1 = require("../encryption/encryption");
10
- const handle_1 = require("../handle");
11
- const reencryption_1 = require("../reencryption");
12
- const schema_1 = require("../schema");
13
- // The domain constants that Zama uses for reencrypts.
14
- const ZAMA_REENCRYPT_DOMAIN = {
15
- name: 'Authorization token',
16
- version: '1',
17
- salt: undefined,
18
- };
19
- async function zamaReencryptor({ chainId, gatewayUrl, walletClient, unsafeSkipVerifyKMSSignatures, contractAddress, kmsSigners, userAddress, }) {
20
- const ephemeralKeypair = generateCryptoBoxEphemeralKeyPair();
21
- // Sign the EIP712 attesting that the user has access to the private key
22
- // corresponding to the ephemeral public key.
23
- const eip712Payload = (0, reencryption_1.createEIP712Payload)({
24
- chainId,
25
- primaryType: 'ReencryptionRequest',
26
- primaryTypeFields: [{ name: 'publicKey', type: 'bytes' }],
27
- message: {
28
- publicKey: (0, binary_1.bytesToHex)(ephemeralKeypair.encodePublicKey()),
29
- },
30
- domainName: ZAMA_REENCRYPT_DOMAIN.name,
31
- domainVersion: ZAMA_REENCRYPT_DOMAIN.version,
32
- });
33
- // Using browser extensions, this step will prompt the user to sign the
34
- // payload.
35
- const eip712Signature = await walletClient.signTypedData(eip712Payload);
36
- return async function reencrypt({ handle, }) {
37
- const handleBigInt = (0, viem_1.hexToBigInt)(handle);
38
- const reencryptRequest = {
39
- signature: eip712Signature.replace(/^(0x)/, ''),
40
- client_address: (0, viem_1.getAddress)(userAddress),
41
- enc_key: (0, binary_1.bytesToHex)(ephemeralKeypair.encodePublicKey()).replace(/^(0x)/, ''),
42
- ciphertext_handle: handleBigInt.toString(16).padStart(64, '0'),
43
- eip712_verifying_contract: (0, viem_1.getAddress)(contractAddress),
44
- };
45
- const reencryptResponse = await makeReencryptRequest(reencryptRequest, gatewayUrl);
46
- let pubKey;
47
- let privKey;
48
- try {
49
- pubKey = (0, node_tkms_1.u8vec_to_cryptobox_pk)(ephemeralKeypair.publicKey);
50
- privKey = (0, node_tkms_1.u8vec_to_cryptobox_sk)(ephemeralKeypair.privateKey);
51
- }
52
- catch (e) {
53
- throw new Error(`Invalid public or private key: ${JSON.stringify(e)}`);
54
- }
55
- const client = (0, node_tkms_1.new_client)(kmsSigners, userAddress, 'default');
56
- try {
57
- const buffer = new ArrayBuffer(32);
58
- const view = new DataView(buffer);
59
- view.setUint32(28, Number(chainId), false);
60
- const chainIdArrayBE = new Uint8Array(buffer);
61
- // Duplicate reencryptRequest and replace ciphertext_handle with ciphertext_digest.
62
- const { ciphertext_handle, ...p } = reencryptRequest;
63
- // TODO (from Zama): check all ciphertext digests are all the same
64
- const payloadForVerification = {
65
- ...p,
66
- ciphertext_digest: reencryptResponse.response[0].ciphertext_digest,
67
- };
68
- const decrypted = (0, node_tkms_1.process_reencryption_resp_from_js)(client, payloadForVerification, {
69
- name: eip712Payload.domain.name,
70
- version: eip712Payload.domain.version,
71
- chain_id: chainIdArrayBE,
72
- verifying_contract: eip712Payload.domain.verifyingContract,
73
- }, reencryptResponse.response, pubKey, privKey, !unsafeSkipVerifyKMSSignatures);
74
- return (0, encryption_1.bigintToPlaintext)(encryption_1.encryptionSchemes.cryptobox, (0, handle_1.getHandleType)(handle), (0, binary_1.bytesToBigInt)(decrypted));
75
- }
76
- catch (e) {
77
- console.error(e);
78
- throw new Error(`An error occurred during decryption: ${e}`);
79
- }
80
- };
81
- }
82
- // Generate a new ephemeral keypair for reencryption.
83
- function generateCryptoBoxEphemeralKeyPair() {
84
- const keypair = (0, node_tkms_1.cryptobox_keygen)();
85
- const publicKey = (0, node_tkms_1.cryptobox_pk_to_u8vec)((0, node_tkms_1.cryptobox_get_pk)(keypair));
86
- return {
87
- scheme: encryption_1.encryptionSchemes.cryptobox,
88
- publicKey,
89
- privateKey: (0, node_tkms_1.cryptobox_sk_to_u8vec)(keypair),
90
- encodePublicKey() {
91
- return publicKey;
92
- },
93
- };
94
- }
95
- // This is the response type of the reencrypt endpoint, defined on the
96
- // server-side in Zama's gateway. The response field is a vector of this struct
97
- // in Rust:
98
- // https://github.com/zama-ai/kms-core/blob/a3b824b389e87429d04537696e28dee902a3b2d9/blockchain/events/src/kms.rs#L985-L1003
99
- const ZamaGatewayReencryptResponse = effect_1.Schema.Struct({
100
- status: effect_1.Schema.Union(effect_1.Schema.Literal('success'), effect_1.Schema.Literal('failure')),
101
- response: effect_1.Schema.Array(effect_1.Schema.Struct({
102
- ciphertext_digest: effect_1.Schema.optional(effect_1.Schema.String),
103
- payload: effect_1.Schema.String,
104
- signature: effect_1.Schema.String,
105
- })),
106
- });
107
- // Make a HTTP request to the reencrypt endpoint of the gateway.
108
- async function makeReencryptRequest(request, gatewayUrl) {
109
- const fetchOptions = {
110
- method: 'POST',
111
- headers: {
112
- 'Content-Type': 'application/json',
113
- },
114
- body: JSON.stringify(request),
115
- };
116
- const response = await fetch(`${gatewayUrl}/reencrypt`, fetchOptions);
117
- if (!response.ok) {
118
- throw new Error(`Reencrypt failed: gateway respond with HTTP code ${response.status}: ${JSON.stringify(await response.json())}`);
119
- }
120
- const json = await response.json();
121
- const reencryptResponse = (0, schema_1.parse)(ZamaGatewayReencryptResponse, json);
122
- if (reencryptResponse.status === 'failure') {
123
- throw new Error('Reencrypt failed: gateway responded with failure');
124
- }
125
- return reencryptResponse;
126
- }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVlbmNyeXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZoZXZtL3JlZW5jcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdFQSwwQ0FxRkM7QUFHRCw4RUFXQztBQW5LRCxtQ0FBZ0M7QUFDaEMseUNBU21CO0FBQ25CLCtCQUFpRztBQUNqRyxzQ0FBc0Q7QUFDdEQseURBTWtDO0FBQ2xDLHNDQUEwQztBQUUxQyxrREFBc0Q7QUFFdEQsc0NBQWtDO0FBaUNsQyxzREFBc0Q7QUFDdEQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE9BQU8sRUFBRSxHQUFHO0lBQ1osSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztBQUVLLEtBQUssVUFBVSxlQUFlLENBQUMsRUFDcEMsT0FBTyxFQUNQLFVBQVUsRUFDVixZQUFZLEVBQ1osNkJBQTZCLEVBQzdCLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxHQUNTO0lBQ3BCLE1BQU0sZ0JBQWdCLEdBQUcsaUNBQWlDLEVBQUUsQ0FBQztJQUU3RCx3RUFBd0U7SUFDeEUsNkNBQTZDO0lBQzdDLE1BQU0sYUFBYSxHQUFHLElBQUEsa0NBQW1CLEVBQUM7UUFDeEMsT0FBTztRQUNQLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3pELE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxJQUFBLG1CQUFVLEVBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDMUQ7UUFDRCxVQUFVLEVBQUUscUJBQXFCLENBQUMsSUFBSTtRQUN0QyxhQUFhLEVBQUUscUJBQXFCLENBQUMsT0FBTztLQUM3QyxDQUFDLENBQUM7SUFDSCx1RUFBdUU7SUFDdkUsV0FBVztJQUNYLE1BQU0sZUFBZSxHQUFHLE1BQU0sWUFBWSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUV4RSxPQUFPLEtBQUssVUFBVSxTQUFTLENBQTZCLEVBQzFELE1BQU0sR0FDOEI7UUFDcEMsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQkFBVyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sZ0JBQWdCLEdBQWdDO1lBQ3BELFNBQVMsRUFBRSxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDL0MsY0FBYyxFQUFFLElBQUEsaUJBQVUsRUFBQyxXQUFXLENBQUM7WUFDdkMsT0FBTyxFQUFFLElBQUEsbUJBQVUsRUFBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQzVFLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUM7WUFDOUQseUJBQXlCLEVBQUUsSUFBQSxpQkFBVSxFQUFDLGVBQWUsQ0FBQztTQUN2RCxDQUFDO1FBQ0YsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5GLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxPQUFPLENBQUM7UUFDWixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsSUFBQSxpQ0FBcUIsRUFBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzRCxPQUFPLEdBQUcsSUFBQSxpQ0FBcUIsRUFBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHNCQUFVLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsbUZBQW1GO1lBQ25GLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLGdCQUFnQixDQUFDO1lBQ3JELGtFQUFrRTtZQUNsRSxNQUFNLHNCQUFzQixHQUFHO2dCQUM3QixHQUFHLENBQUM7Z0JBQ0osaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjthQUNuRSxDQUFDO1lBRUYsTUFBTSxTQUFTLEdBQUcsSUFBQSw2Q0FBaUMsRUFDakQsTUFBTSxFQUNOLHNCQUFzQixFQUN0QjtnQkFDRSxJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUMvQixPQUFPLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2dCQUNyQyxRQUFRLEVBQUUsY0FBYztnQkFDeEIsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7YUFDM0QsRUFDRCxpQkFBaUIsQ0FBQyxRQUFRLEVBQzFCLE1BQU0sRUFDTixPQUFPLEVBQ1AsQ0FBQyw2QkFBNkIsQ0FDL0IsQ0FBQztZQUVGLE9BQU8sSUFBQSw4QkFBaUIsRUFBQyw4QkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBQSxzQkFBYSxFQUFDLE1BQU0sQ0FBTSxFQUFFLElBQUEsc0JBQWEsRUFBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlHLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQscURBQXFEO0FBQ3JELFNBQWdCLGlDQUFpQztJQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDRCQUFnQixHQUFFLENBQUM7SUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBQSxpQ0FBcUIsRUFBQyxJQUFBLDRCQUFnQixFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbkUsT0FBTztRQUNMLE1BQU0sRUFBRSw4QkFBaUIsQ0FBQyxTQUFTO1FBQ25DLFNBQVM7UUFDVCxVQUFVLEVBQUUsSUFBQSxpQ0FBcUIsRUFBQyxPQUFPLENBQUM7UUFDMUMsZUFBZTtZQUNiLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQWFELHNFQUFzRTtBQUN0RSwrRUFBK0U7QUFDL0UsV0FBVztBQUNYLDRIQUE0SDtBQUM1SCxNQUFNLDRCQUE0QixHQUFHLGVBQU0sQ0FBQyxNQUFNLENBQUM7SUFDakQsTUFBTSxFQUFFLGVBQU0sQ0FBQyxLQUFLLENBQUMsZUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxlQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFFLFFBQVEsRUFBRSxlQUFNLENBQUMsS0FBSyxDQUNwQixlQUFNLENBQUMsTUFBTSxDQUFDO1FBQ1osaUJBQWlCLEVBQUUsZUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2pELE9BQU8sRUFBRSxlQUFNLENBQUMsTUFBTTtRQUN0QixTQUFTLEVBQUUsZUFBTSxDQUFDLE1BQU07S0FDekIsQ0FBQyxDQUNIO0NBQ0YsQ0FBQyxDQUFDO0FBSUgsZ0VBQWdFO0FBQ2hFLEtBQUssVUFBVSxvQkFBb0IsQ0FDakMsT0FBb0MsRUFDcEMsVUFBa0I7SUFFbEIsTUFBTSxZQUFZLEdBQUc7UUFDbkIsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1NBQ25DO1FBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO0tBQzlCLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLFVBQVUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDYixvREFBb0QsUUFBUSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FDaEgsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxNQUFNLGlCQUFpQixHQUFHLElBQUEsY0FBSyxFQUFDLDRCQUE0QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLElBQUksaUJBQWlCLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsT0FBTyxpQkFBaUIsQ0FBQztBQUMzQixDQUFDIn0=