@inco/js 0.2.16 → 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 (529) hide show
  1. package/dist/{attesteddecrypt → cjs/attesteddecrypt}/attested-decrypt.d.ts +10 -11
  2. package/dist/cjs/attesteddecrypt/attested-decrypt.js +91 -0
  3. package/dist/cjs/attesteddecrypt/index.d.ts +2 -0
  4. package/dist/{attesteddecrypt → cjs/attesteddecrypt}/index.js +3 -3
  5. package/dist/cjs/attesteddecrypt/types.d.ts +18 -0
  6. package/dist/{attesteddecrypt → cjs/attesteddecrypt}/types.js +1 -1
  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/{encryption → 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/{fhevm → 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.js +1 -1
  50. package/dist/cjs/generated/local-node.d.ts +23 -0
  51. package/dist/cjs/generated/local-node.js +27 -0
  52. package/dist/{generated → cjs/generated}/ts/amino/amino.js +1 -1
  53. package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.js +1 -1
  54. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +108 -0
  55. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +433 -0
  56. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +716 -0
  57. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +358 -0
  58. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +221 -0
  59. package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.js +1 -1
  60. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +216 -0
  61. package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.js +1 -1
  62. package/dist/{generated → cjs/generated}/ts/google/api/annotations.js +1 -1
  63. package/dist/cjs/generated/ts/google/api/http.js +356 -0
  64. package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.js +1 -1
  65. package/dist/cjs/generated/ts/google/protobuf/duration.js +93 -0
  66. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +93 -0
  67. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +509 -0
  68. package/dist/cjs/generated/ts/inco/abci/v1/types.js +73 -0
  69. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +66 -0
  70. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +190 -0
  71. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +714 -0
  72. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.js +1 -1
  73. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.js +1 -1
  74. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +990 -0
  75. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +66 -0
  76. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +331 -0
  77. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +216 -0
  78. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +69 -0
  79. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +280 -0
  80. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +140 -0
  81. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +203 -0
  82. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +66 -0
  83. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +185 -0
  84. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +259 -0
  85. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +448 -0
  86. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +398 -0
  87. package/dist/{handle.d.ts → cjs/handle.d.ts} +1 -1
  88. package/dist/{handle.js → cjs/handle.js} +5 -5
  89. package/dist/cjs/index.d.ts +5 -0
  90. package/dist/{index.js → cjs/index.js} +5 -5
  91. package/dist/{kms → cjs/kms}/client.d.ts +2 -2
  92. package/dist/{kms → cjs/kms}/client.js +3 -3
  93. package/dist/{l1 → cjs/l1}/client.d.ts +6 -6
  94. package/dist/{l1 → cjs/l1}/client.js +8 -8
  95. package/dist/cjs/l1/index.d.ts +2 -0
  96. package/dist/{l1 → cjs/l1}/index.js +3 -3
  97. package/dist/{l1 → cjs/l1}/preflight.d.ts +3 -3
  98. package/dist/cjs/l1/preflight.js +42 -0
  99. package/dist/{lite → cjs/lite}/attested-decrypt.d.ts +1 -1
  100. package/dist/cjs/lite/attested-decrypt.js +6 -0
  101. package/dist/{lite → cjs/lite}/deployments.d.ts +2 -2
  102. package/dist/cjs/lite/deployments.js +21 -0
  103. package/dist/{lite → cjs/lite}/ecies.d.ts +6 -6
  104. package/dist/cjs/lite/ecies.js +135 -0
  105. package/dist/{lite → cjs/lite}/hadu.d.ts +1 -1
  106. package/dist/cjs/lite/hadu.js +41 -0
  107. package/dist/cjs/lite/index.d.ts +7 -0
  108. package/dist/cjs/lite/index.js +23 -0
  109. package/dist/{lite → cjs/lite}/lightning.d.ts +12 -9
  110. package/dist/cjs/lite/lightning.js +204 -0
  111. package/dist/{lite → cjs/lite}/reencrypt.d.ts +7 -6
  112. package/dist/cjs/lite/reencrypt.js +142 -0
  113. package/dist/cjs/local/index.d.ts +1 -0
  114. package/dist/{local → cjs/local}/index.js +2 -2
  115. package/dist/{local → cjs/local}/local-node.js +1 -1
  116. package/dist/{reencryption → cjs/reencryption}/eip712.js +5 -5
  117. package/dist/cjs/reencryption/index.d.ts +2 -0
  118. package/dist/cjs/reencryption/index.js +19 -0
  119. package/dist/{reencryption → cjs/reencryption}/types.d.ts +6 -8
  120. package/dist/{reencryption → cjs/reencryption}/types.js +1 -1
  121. package/dist/{retry.js → cjs/retry.js} +1 -1
  122. package/dist/{schema.js → cjs/schema.js} +1 -1
  123. package/dist/{viem.d.ts → cjs/viem.d.ts} +1 -1
  124. package/dist/cjs/viem.js +12 -0
  125. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +34 -0
  126. package/dist/esm/attesteddecrypt/attested-decrypt.js +88 -0
  127. package/dist/esm/attesteddecrypt/index.d.ts +2 -0
  128. package/dist/esm/attesteddecrypt/index.js +3 -0
  129. package/dist/esm/attesteddecrypt/types.d.ts +18 -0
  130. package/dist/esm/attesteddecrypt/types.js +12 -0
  131. package/dist/esm/binary.d.ts +21 -0
  132. package/dist/esm/binary.js +67 -0
  133. package/dist/esm/chain.d.ts +22 -0
  134. package/dist/esm/chain.js +24 -0
  135. package/dist/esm/encryption/encryption.d.ts +119 -0
  136. package/dist/esm/encryption/encryption.js +101 -0
  137. package/dist/esm/encryption/index.d.ts +1 -0
  138. package/dist/esm/encryption/index.js +2 -0
  139. package/dist/esm/fhevm/fhe-environment.d.ts +9 -0
  140. package/dist/esm/fhevm/fhe-environment.js +8 -0
  141. package/dist/esm/fhevm/fhevm.d.ts +41 -0
  142. package/dist/esm/fhevm/fhevm.js +139 -0
  143. package/dist/esm/fhevm/index.d.ts +1 -0
  144. package/dist/esm/fhevm/index.js +2 -0
  145. package/dist/esm/fhevm/reencrypt.d.ts +20 -0
  146. package/dist/esm/fhevm/reencrypt.js +123 -0
  147. package/dist/esm/fhevm/tfhe.d.ts +74 -0
  148. package/dist/esm/fhevm/tfhe.js +328 -0
  149. package/dist/esm/fhevm/types.d.ts +3 -0
  150. package/dist/esm/fhevm/types.js +26 -0
  151. package/dist/esm/generated/abis/addTwo.d.ts +83 -0
  152. package/dist/{generated → esm/generated}/abis/addTwo.js +2 -5
  153. package/dist/esm/generated/abis/inco-fhevm.d.ts +874 -0
  154. package/dist/{generated → esm/generated}/abis/inco-fhevm.js +3 -6
  155. package/dist/esm/generated/abis/index.d.ts +2 -0
  156. package/dist/esm/generated/abis/index.js +3 -0
  157. package/dist/esm/generated/abis/lightning.d.ts +2226 -0
  158. package/dist/{generated → esm/generated}/abis/lightning.js +2 -5
  159. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  160. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.js +198 -0
  161. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  162. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
  163. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  164. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +115 -0
  165. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +13 -0
  166. package/dist/esm/generated/es/google/api/annotations_pb.js +27 -0
  167. package/dist/esm/generated/es/google/api/http_pb.d.ts +440 -0
  168. package/dist/esm/generated/es/google/api/http_pb.js +34 -0
  169. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  170. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +21 -0
  171. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  172. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
  173. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  174. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +108 -0
  175. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  176. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +108 -0
  177. package/dist/esm/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  178. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +133 -0
  179. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  180. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +58 -0
  181. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  182. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
  183. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  184. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
  185. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  186. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +38 -0
  187. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  188. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +48 -0
  189. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  190. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +34 -0
  191. package/dist/esm/generated/es/kms/base_pb.d.ts +765 -0
  192. package/dist/esm/generated/es/kms/base_pb.js +238 -0
  193. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  194. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.js +571 -0
  195. package/dist/esm/generated/fhe-environments.d.ts +14 -0
  196. package/dist/esm/generated/fhe-environments.js +15 -0
  197. package/dist/esm/generated/lightning.d.ts +211 -0
  198. package/dist/esm/generated/lightning.js +223 -0
  199. package/dist/esm/generated/local-node.d.ts +23 -0
  200. package/dist/esm/generated/local-node.js +24 -0
  201. package/dist/esm/generated/ts/amino/amino.d.ts +1 -0
  202. package/dist/esm/generated/ts/amino/amino.js +8 -0
  203. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  204. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +5063 -0
  205. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  206. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +105 -0
  207. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  208. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +430 -0
  209. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  210. package/dist/esm/generated/ts/cometbft/types/v1/params.js +713 -0
  211. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  212. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +353 -0
  213. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  214. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
  215. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  216. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +8 -0
  217. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  218. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +211 -0
  219. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +1 -0
  220. package/dist/esm/generated/ts/gogoproto/gogo.js +8 -0
  221. package/dist/esm/generated/ts/google/api/annotations.d.ts +1 -0
  222. package/dist/esm/generated/ts/google/api/annotations.js +8 -0
  223. package/dist/esm/generated/ts/google/api/http.d.ts +371 -0
  224. package/dist/esm/generated/ts/google/api/http.js +353 -0
  225. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  226. package/dist/esm/generated/ts/google/protobuf/descriptor.js +5070 -0
  227. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +99 -0
  228. package/dist/esm/generated/ts/google/protobuf/duration.js +90 -0
  229. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  230. package/dist/esm/generated/ts/google/protobuf/timestamp.js +90 -0
  231. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  232. package/dist/esm/generated/ts/google/protobuf/wrappers.js +506 -0
  233. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +35 -0
  234. package/dist/esm/generated/ts/inco/abci/v1/types.js +70 -0
  235. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  236. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +63 -0
  237. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  238. package/dist/esm/generated/ts/inco/fhe/v1/events.js +187 -0
  239. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  240. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +711 -0
  241. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  242. package/dist/esm/generated/ts/inco/fhe/v1/query.js +1391 -0
  243. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  244. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +1233 -0
  245. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  246. package/dist/esm/generated/ts/inco/fhe/v1/types.js +985 -0
  247. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  248. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +63 -0
  249. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  250. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +328 -0
  251. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  252. package/dist/esm/generated/ts/inco/originchain/v1/events.js +213 -0
  253. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  254. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +66 -0
  255. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  256. package/dist/esm/generated/ts/inco/originchain/v1/query.js +277 -0
  257. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  258. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +137 -0
  259. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  260. package/dist/esm/generated/ts/inco/originchain/v1/types.js +200 -0
  261. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  262. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +63 -0
  263. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  264. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +182 -0
  265. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  266. package/dist/esm/generated/ts/inco/preflight/v1/query.js +256 -0
  267. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  268. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +445 -0
  269. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  270. package/dist/esm/generated/ts/inco/preflight/v1/types.js +395 -0
  271. package/dist/esm/handle.d.ts +41 -0
  272. package/dist/esm/handle.js +94 -0
  273. package/dist/esm/index.d.ts +5 -0
  274. package/dist/esm/index.js +6 -0
  275. package/dist/esm/kms/client.d.ts +8 -0
  276. package/dist/esm/kms/client.js +35 -0
  277. package/dist/esm/l1/client.d.ts +35 -0
  278. package/dist/esm/l1/client.js +93 -0
  279. package/dist/esm/l1/index.d.ts +2 -0
  280. package/dist/esm/l1/index.js +3 -0
  281. package/dist/esm/l1/preflight.d.ts +20 -0
  282. package/dist/esm/l1/preflight.js +39 -0
  283. package/dist/esm/lite/attested-decrypt.d.ts +3 -0
  284. package/dist/esm/lite/attested-decrypt.js +3 -0
  285. package/dist/esm/lite/deployments.d.ts +6 -0
  286. package/dist/esm/lite/deployments.js +17 -0
  287. package/dist/esm/lite/ecies.d.ts +26 -0
  288. package/dist/esm/lite/ecies.js +124 -0
  289. package/dist/esm/lite/hadu.d.ts +24 -0
  290. package/dist/esm/lite/hadu.js +36 -0
  291. package/dist/esm/lite/index.d.ts +7 -0
  292. package/dist/esm/lite/index.js +7 -0
  293. package/dist/esm/lite/lightning.d.ts +124 -0
  294. package/dist/esm/lite/lightning.js +200 -0
  295. package/dist/esm/lite/reencrypt.d.ts +24 -0
  296. package/dist/esm/lite/reencrypt.js +132 -0
  297. package/dist/esm/local/index.d.ts +1 -0
  298. package/dist/esm/local/index.js +2 -0
  299. package/dist/esm/local/local-node.d.ts +19 -0
  300. package/dist/esm/local/local-node.js +24 -0
  301. package/dist/esm/reencryption/eip712.d.ts +29 -0
  302. package/dist/esm/reencryption/eip712.js +81 -0
  303. package/dist/esm/reencryption/index.d.ts +2 -0
  304. package/dist/esm/reencryption/index.js +3 -0
  305. package/dist/esm/reencryption/types.d.ts +25 -0
  306. package/dist/esm/reencryption/types.js +2 -0
  307. package/dist/esm/retry.d.ts +15 -0
  308. package/dist/esm/retry.js +25 -0
  309. package/dist/esm/schema.d.ts +4 -0
  310. package/dist/esm/schema.js +15 -0
  311. package/dist/esm/viem.d.ts +427 -0
  312. package/dist/esm/viem.js +8 -0
  313. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +34 -0
  314. package/dist/types/attesteddecrypt/index.d.ts +2 -0
  315. package/dist/types/attesteddecrypt/types.d.ts +18 -0
  316. package/dist/types/binary.d.ts +21 -0
  317. package/dist/types/chain.d.ts +22 -0
  318. package/dist/types/encryption/encryption.d.ts +119 -0
  319. package/dist/types/encryption/index.d.ts +1 -0
  320. package/dist/types/fhevm/fhe-environment.d.ts +9 -0
  321. package/dist/types/fhevm/fhevm.d.ts +41 -0
  322. package/dist/types/fhevm/index.d.ts +1 -0
  323. package/dist/types/fhevm/reencrypt.d.ts +20 -0
  324. package/dist/types/fhevm/tfhe.d.ts +74 -0
  325. package/dist/types/fhevm/types.d.ts +3 -0
  326. package/dist/types/generated/abis/addTwo.d.ts +83 -0
  327. package/dist/types/generated/abis/inco-fhevm.d.ts +874 -0
  328. package/dist/types/generated/abis/index.d.ts +2 -0
  329. package/dist/types/generated/abis/lightning.d.ts +2226 -0
  330. package/dist/types/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  331. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  332. package/dist/types/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  333. package/dist/types/generated/es/google/api/annotations_pb.d.ts +13 -0
  334. package/dist/types/generated/es/google/api/http_pb.d.ts +440 -0
  335. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  336. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  337. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  338. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  339. package/dist/types/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  340. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  341. package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  342. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  343. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  344. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  345. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  346. package/dist/types/generated/es/kms/base_pb.d.ts +765 -0
  347. package/dist/types/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  348. package/dist/types/generated/fhe-environments.d.ts +14 -0
  349. package/dist/types/generated/lightning.d.ts +211 -0
  350. package/dist/types/generated/local-node.d.ts +23 -0
  351. package/dist/types/generated/ts/amino/amino.d.ts +1 -0
  352. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  353. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  354. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  355. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  356. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  357. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  358. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  359. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  360. package/dist/types/generated/ts/gogoproto/gogo.d.ts +1 -0
  361. package/dist/types/generated/ts/google/api/annotations.d.ts +1 -0
  362. package/dist/types/generated/ts/google/api/http.d.ts +371 -0
  363. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  364. package/dist/types/generated/ts/google/protobuf/duration.d.ts +99 -0
  365. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  366. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  367. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +35 -0
  368. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  369. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  370. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  371. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  372. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  373. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  374. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  375. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  376. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  377. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  378. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  379. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  380. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  381. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  382. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  383. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  384. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  385. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  386. package/dist/types/handle.d.ts +41 -0
  387. package/dist/types/index.d.ts +5 -0
  388. package/dist/types/kms/client.d.ts +8 -0
  389. package/dist/types/l1/client.d.ts +35 -0
  390. package/dist/types/l1/index.d.ts +2 -0
  391. package/dist/types/l1/preflight.d.ts +20 -0
  392. package/dist/types/lite/attested-decrypt.d.ts +3 -0
  393. package/dist/types/lite/deployments.d.ts +6 -0
  394. package/dist/types/lite/ecies.d.ts +26 -0
  395. package/dist/types/lite/hadu.d.ts +24 -0
  396. package/dist/types/lite/index.d.ts +7 -0
  397. package/dist/types/lite/lightning.d.ts +124 -0
  398. package/dist/types/lite/reencrypt.d.ts +24 -0
  399. package/dist/types/local/index.d.ts +1 -0
  400. package/dist/types/local/local-node.d.ts +19 -0
  401. package/dist/types/reencryption/eip712.d.ts +29 -0
  402. package/dist/types/reencryption/index.d.ts +2 -0
  403. package/dist/types/reencryption/types.d.ts +25 -0
  404. package/dist/types/retry.d.ts +15 -0
  405. package/dist/types/schema.d.ts +4 -0
  406. package/dist/types/viem.d.ts +427 -0
  407. package/package.json +64 -15
  408. package/dist/attesteddecrypt/attested-decrypt.js +0 -79
  409. package/dist/attesteddecrypt/index.d.ts +0 -2
  410. package/dist/attesteddecrypt/types.d.ts +0 -28
  411. package/dist/binary.js +0 -82
  412. package/dist/encryption/encryption.js +0 -109
  413. package/dist/encryption/index.d.ts +0 -1
  414. package/dist/fhevm/fhe-environment.js +0 -11
  415. package/dist/fhevm/fhevm.js +0 -145
  416. package/dist/fhevm/index.d.ts +0 -1
  417. package/dist/fhevm/reencrypt.js +0 -127
  418. package/dist/fhevm/tfhe.js +0 -336
  419. package/dist/fhevm/types.js +0 -29
  420. package/dist/generated/local-node.d.ts +0 -7
  421. package/dist/generated/local-node.js +0 -11
  422. package/dist/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  423. package/dist/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  424. package/dist/generated/ts/cometbft/types/v1/params.js +0 -716
  425. package/dist/generated/ts/cometbft/types/v1/validator.js +0 -358
  426. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  427. package/dist/generated/ts/cosmos_proto/cosmos.js +0 -216
  428. package/dist/generated/ts/google/api/http.js +0 -356
  429. package/dist/generated/ts/google/protobuf/duration.js +0 -93
  430. package/dist/generated/ts/google/protobuf/timestamp.js +0 -93
  431. package/dist/generated/ts/google/protobuf/wrappers.js +0 -509
  432. package/dist/generated/ts/inco/abci/v1/types.js +0 -73
  433. package/dist/generated/ts/inco/fhe/module/v1/module.js +0 -66
  434. package/dist/generated/ts/inco/fhe/v1/events.js +0 -190
  435. package/dist/generated/ts/inco/fhe/v1/genesis.js +0 -714
  436. package/dist/generated/ts/inco/fhe/v1/types.js +0 -990
  437. package/dist/generated/ts/inco/originchain/module/v1/module.js +0 -66
  438. package/dist/generated/ts/inco/originchain/v1/abci.js +0 -331
  439. package/dist/generated/ts/inco/originchain/v1/events.js +0 -216
  440. package/dist/generated/ts/inco/originchain/v1/genesis.js +0 -69
  441. package/dist/generated/ts/inco/originchain/v1/query.js +0 -280
  442. package/dist/generated/ts/inco/originchain/v1/tx.js +0 -140
  443. package/dist/generated/ts/inco/originchain/v1/types.js +0 -203
  444. package/dist/generated/ts/inco/preflight/module/v1/module.js +0 -66
  445. package/dist/generated/ts/inco/preflight/v1/genesis.js +0 -185
  446. package/dist/generated/ts/inco/preflight/v1/query.js +0 -259
  447. package/dist/generated/ts/inco/preflight/v1/tx.js +0 -448
  448. package/dist/generated/ts/inco/preflight/v1/types.js +0 -398
  449. package/dist/index.d.ts +0 -5
  450. package/dist/l1/index.d.ts +0 -2
  451. package/dist/l1/preflight.js +0 -42
  452. package/dist/lite/attested-decrypt.js +0 -6
  453. package/dist/lite/deployments.js +0 -21
  454. package/dist/lite/ecies.js +0 -135
  455. package/dist/lite/hadu.js +0 -41
  456. package/dist/lite/index.d.ts +0 -7
  457. package/dist/lite/index.js +0 -23
  458. package/dist/lite/lightning.js +0 -198
  459. package/dist/lite/reencrypt.js +0 -142
  460. package/dist/local/index.d.ts +0 -1
  461. package/dist/reencryption/index.d.ts +0 -2
  462. package/dist/reencryption/index.js +0 -19
  463. package/dist/types.d.ts +0 -20
  464. package/dist/types.js +0 -3
  465. package/dist/viem.js +0 -12
  466. /package/dist/{binary.d.ts → cjs/binary.d.ts} +0 -0
  467. /package/dist/{chain.d.ts → cjs/chain.d.ts} +0 -0
  468. /package/dist/{generated → cjs/generated}/abis/addTwo.d.ts +0 -0
  469. /package/dist/{generated → cjs/generated}/abis/inco-fhevm.d.ts +0 -0
  470. /package/dist/{generated → cjs/generated}/abis/index.d.ts +0 -0
  471. /package/dist/{generated → cjs/generated}/abis/lightning.d.ts +0 -0
  472. /package/dist/{generated → cjs/generated}/es/cosmos/ics23/v1/proofs_pb.d.ts +0 -0
  473. /package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.d.ts +0 -0
  474. /package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.d.ts +0 -0
  475. /package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.d.ts +0 -0
  476. /package/dist/{generated → cjs/generated}/es/google/api/http_pb.d.ts +0 -0
  477. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.d.ts +0 -0
  478. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.d.ts +0 -0
  479. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.d.ts +0 -0
  480. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.d.ts +0 -0
  481. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.d.ts +0 -0
  482. /package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.d.ts +0 -0
  483. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.d.ts +0 -0
  484. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.d.ts +0 -0
  485. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.d.ts +0 -0
  486. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.d.ts +0 -0
  487. /package/dist/{generated → cjs/generated}/es/kms/base_pb.d.ts +0 -0
  488. /package/dist/{generated → cjs/generated}/es/sf/ethereum/type/v2/type_pb.d.ts +0 -0
  489. /package/dist/{generated → cjs/generated}/fhe-environments.d.ts +0 -0
  490. /package/dist/{generated → cjs/generated}/lightning.d.ts +0 -0
  491. /package/dist/{generated → cjs/generated}/ts/amino/amino.d.ts +0 -0
  492. /package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.d.ts +0 -0
  493. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/keys.d.ts +0 -0
  494. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/proof.d.ts +0 -0
  495. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/params.d.ts +0 -0
  496. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/validator.d.ts +0 -0
  497. /package/dist/{generated → cjs/generated}/ts/cosmos/app/v1alpha1/module.d.ts +0 -0
  498. /package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.d.ts +0 -0
  499. /package/dist/{generated → cjs/generated}/ts/cosmos_proto/cosmos.d.ts +0 -0
  500. /package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.d.ts +0 -0
  501. /package/dist/{generated → cjs/generated}/ts/google/api/annotations.d.ts +0 -0
  502. /package/dist/{generated → cjs/generated}/ts/google/api/http.d.ts +0 -0
  503. /package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.d.ts +0 -0
  504. /package/dist/{generated → cjs/generated}/ts/google/protobuf/duration.d.ts +0 -0
  505. /package/dist/{generated → cjs/generated}/ts/google/protobuf/timestamp.d.ts +0 -0
  506. /package/dist/{generated → cjs/generated}/ts/google/protobuf/wrappers.d.ts +0 -0
  507. /package/dist/{generated → cjs/generated}/ts/inco/abci/v1/types.d.ts +0 -0
  508. /package/dist/{generated → cjs/generated}/ts/inco/fhe/module/v1/module.d.ts +0 -0
  509. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/events.d.ts +0 -0
  510. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/genesis.d.ts +0 -0
  511. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.d.ts +0 -0
  512. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.d.ts +0 -0
  513. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/types.d.ts +0 -0
  514. /package/dist/{generated → cjs/generated}/ts/inco/originchain/module/v1/module.d.ts +0 -0
  515. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/abci.d.ts +0 -0
  516. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/events.d.ts +0 -0
  517. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/genesis.d.ts +0 -0
  518. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/query.d.ts +0 -0
  519. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/tx.d.ts +0 -0
  520. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/types.d.ts +0 -0
  521. /package/dist/{generated → cjs/generated}/ts/inco/preflight/module/v1/module.d.ts +0 -0
  522. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/genesis.d.ts +0 -0
  523. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/query.d.ts +0 -0
  524. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/tx.d.ts +0 -0
  525. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/types.d.ts +0 -0
  526. /package/dist/{local → cjs/local}/local-node.d.ts +0 -0
  527. /package/dist/{reencryption → cjs/reencryption}/eip712.d.ts +0 -0
  528. /package/dist/{retry.d.ts → cjs/retry.d.ts} +0 -0
  529. /package/dist/{schema.d.ts → cjs/schema.d.ts} +0 -0
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cosmJSPreflight = cosmJSPreflight;
4
+ const effect_1 = require("effect");
5
+ const binary_js_1 = require("../binary.js");
6
+ const tx_js_1 = require("../generated/ts/inco/preflight/v1/tx.js");
7
+ const handle_js_1 = require("../handle.js");
8
+ const schema_js_1 = require("../schema.js");
9
+ const client_js_1 = require("./client.js");
10
+ // Do not export this value, only allow parsing of Handle to happen here
11
+ const Handle = binary_js_1.Bytes32.pipe(effect_1.Schema.brand('Handle'));
12
+ // Sends a preflight input to the Cosmos L1 chain using CosmJS.
13
+ async function cosmJSPreflight({ cometRpcEndpoint, grpcEndpoint, wallet, signerAddress, }) {
14
+ const l1Client = await (0, client_js_1.createL1Client)({ cometRpcEndpoint, wallet, grpcEndpoint });
15
+ return {
16
+ async send({ prehandle, ciphertext, context }) {
17
+ const msg = tx_js_1.MsgRegisterInput.create({
18
+ prehandle: Buffer.from(prehandle.replace(/^0x/, ''), 'hex'),
19
+ signer: signerAddress,
20
+ ciphertext: Buffer.from(ciphertext.value, 'hex'),
21
+ context: {
22
+ ownerAddr: context.userAddress.replace(/^0x/, ''),
23
+ contractAddr: context.contractAddress.replace(/^0x/, ''),
24
+ // We decided to put the ACL address in the keyset ID field.
25
+ keysetId: context.aclAddress.replace(/^0x/, ''),
26
+ hostChainId: 'evm/' + context.hostChainId,
27
+ },
28
+ });
29
+ // There are some hidden dependencies needed to make the following line work:
30
+ //
31
+ // 1. The signer must have an account on the chain. In Cosmos, this is
32
+ // usually done by sending some tokens to the account. However, since the
33
+ // fees are 0, this account doesn't need to have any tokens.
34
+ // 2. The FheEnv must have been created in the on-chain registry. Only the
35
+ // council can add new FheEnvs to the registry.
36
+ const result = await l1Client.sendTx(signerAddress, '/inco.preflight.v1.MsgRegisterInput', msg);
37
+ const handle = (0, handle_js_1.computeHandle)({ prehandle: (0, binary_js_1.bytesFromHexString)(prehandle), context });
38
+ return { transactionHash: result.transactionHash, handle: (0, schema_js_1.parse)(Handle, handle) };
39
+ },
40
+ };
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2wxL3ByZWZsaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdDQSwwQ0FvQ0M7QUFwRUQsbUNBQWdDO0FBQ2hDLDRDQUEyRDtBQUUzRCxtRUFBMkU7QUFDM0UsNENBQTZDO0FBQzdDLDRDQUFxQztBQUNyQywyQ0FBZ0U7QUFFaEUsd0VBQXdFO0FBQ3hFLE1BQU0sTUFBTSxHQUFHLG1CQUFPLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQXNCcEQsK0RBQStEO0FBQ3hELEtBQUssVUFBVSxlQUFlLENBQUMsRUFDcEMsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixNQUFNLEVBQ04sYUFBYSxHQUM0QjtJQUN6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMEJBQWMsRUFBQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRWxGLE9BQU87UUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQW9CO1lBQzdELE1BQU0sR0FBRyxHQUFHLHdCQUFnQixDQUFDLE1BQU0sQ0FBQztnQkFDbEMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO2dCQUMzRCxNQUFNLEVBQUUsYUFBYTtnQkFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ2hELE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDakQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ3hELDREQUE0RDtvQkFDNUQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQy9DLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFdBQVc7aUJBQzFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsNkVBQTZFO1lBQzdFLEVBQUU7WUFDRixzRUFBc0U7WUFDdEUseUVBQXlFO1lBQ3pFLDREQUE0RDtZQUM1RCwwRUFBMEU7WUFDMUUsK0NBQStDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFaEcsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBYSxFQUFDLEVBQUUsU0FBUyxFQUFFLElBQUEsOEJBQWtCLEVBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLElBQUEsaUJBQUssRUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNwRixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,3 +1,3 @@
1
- import { type IncoLiteAttestedDecryptorArgs, incoLiteAttestedDecryptor } from '../attesteddecrypt/attested-decrypt';
1
+ import { type IncoLiteAttestedDecryptorArgs, incoLiteAttestedDecryptor } from '../attesteddecrypt/attested-decrypt.js';
2
2
  export { incoLiteAttestedDecryptor };
3
3
  export type { IncoLiteAttestedDecryptorArgs };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.incoLiteAttestedDecryptor = void 0;
4
+ const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
5
+ Object.defineProperty(exports, "incoLiteAttestedDecryptor", { enumerable: true, get: function () { return attested_decrypt_js_1.incoLiteAttestedDecryptor; } });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saXRlL2F0dGVzdGVkLWRlY3J5cHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0ZBQXVIO0FBRTlHLDBHQUZvQywrQ0FBeUIsT0FFcEMifQ==
@@ -1,5 +1,5 @@
1
- import { Chainish } from '../chain';
2
- import { lightningDeployments } from '../generated/lightning';
1
+ import { Chainish } from '../chain.js';
2
+ import { lightningDeployments } from '../generated/lightning.js';
3
3
  export type Address = `0x${string}`;
4
4
  export type IncoLiteDeployment = (typeof lightningDeployments)[number];
5
5
  export declare function getActiveLightningDeployment(chain: Chainish): IncoLiteDeployment;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getActiveLightningDeployment = getActiveLightningDeployment;
4
+ exports.getLightningDeployments = getLightningDeployments;
5
+ // Avoid inporting any other dependencies in this file to avoid serialisation issues downstream in infracto
6
+ const chain_js_1 = require("../chain.js");
7
+ const lightning_js_1 = require("../generated/lightning.js");
8
+ function getActiveLightningDeployment(chain) {
9
+ const supportedChain = (0, chain_js_1.getSupportedChain)(chain);
10
+ const deployments = lightning_js_1.lightningDeployments.filter((d) => d.chainId === supportedChain.id);
11
+ if (!deployments?.length) {
12
+ throw new Error(`No deployments found for chain ${chain}`);
13
+ }
14
+ return deployments[0];
15
+ }
16
+ function getLightningDeployments(chainId) {
17
+ const supportedChain = (0, chain_js_1.getSupportedChain)(chainId);
18
+ const deployments = lightning_js_1.lightningDeployments.filter((d) => d.chainId === supportedChain.id);
19
+ return deployments ?? [];
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGl0ZS9kZXBsb3ltZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVNBLG9FQU9DO0FBRUQsMERBSUM7QUF0QkQsMkdBQTJHO0FBQzNHLDBDQUEwRDtBQUMxRCw0REFBaUU7QUFPakUsU0FBZ0IsNEJBQTRCLENBQUMsS0FBZTtJQUMxRCxNQUFNLGNBQWMsR0FBRyxJQUFBLDRCQUFpQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLG1DQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsT0FBaUI7SUFDdkQsTUFBTSxjQUFjLEdBQUcsSUFBQSw0QkFBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLFdBQVcsR0FBRyxtQ0FBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLE9BQU8sV0FBVyxJQUFJLEVBQUUsQ0FBQztBQUMzQixDQUFDIn0=
@@ -1,12 +1,12 @@
1
- import { curve, ec } from 'elliptic';
2
- import { Decryptor, EciesScheme, Encryptor } from '../encryption/encryption';
3
- import { PubKeyEncodable } from '../reencryption';
1
+ import * as ellipticPkg from 'elliptic';
2
+ import { Decryptor, EciesScheme, Encryptor } from '../encryption/encryption.js';
3
+ import { PubKeyEncodable } from '../reencryption/index.js';
4
4
  export interface Secp256k1Keypair extends PubKeyEncodable {
5
5
  scheme: EciesScheme;
6
- kp: ec.KeyPair;
6
+ kp: ellipticPkg.ec.KeyPair;
7
7
  }
8
- export type Secp256k1PubKey = curve.base.BasePoint;
9
- export declare function toSecp256k1Keypair(kp: ec.KeyPair): Secp256k1Keypair;
8
+ export type Secp256k1PubKey = ellipticPkg.curve.base.BasePoint;
9
+ export declare function toSecp256k1Keypair(kp: ellipticPkg.ec.KeyPair): Secp256k1Keypair;
10
10
  export declare function generateSecp256k1Keypair(): Secp256k1Keypair;
11
11
  export declare function encodeSecp256k1PublicKey(pub: Secp256k1PubKey): Uint8Array;
12
12
  export declare function decodeSecp256k1PublicKey(pubKeyCompressed: Uint8Array): Secp256k1PubKey;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toSecp256k1Keypair = toSecp256k1Keypair;
4
+ exports.generateSecp256k1Keypair = generateSecp256k1Keypair;
5
+ exports.encodeSecp256k1PublicKey = encodeSecp256k1PublicKey;
6
+ exports.decodeSecp256k1PublicKey = decodeSecp256k1PublicKey;
7
+ exports.decodeSecp256k1PrivateKey = decodeSecp256k1PrivateKey;
8
+ exports.encrypt = encrypt;
9
+ exports.getEciesEncryptor = getEciesEncryptor;
10
+ exports.decrypt = decrypt;
11
+ exports.getEciesDecryptor = getEciesDecryptor;
12
+ const ecies_geth_1 = require("ecies-geth");
13
+ const ellipticPkg = require("elliptic");
14
+ const binary_js_1 = require("../binary.js");
15
+ const encryption_js_1 = require("../encryption/encryption.js");
16
+ const handle_js_1 = require("../handle.js");
17
+ const hadu_js_1 = require("./hadu.js");
18
+ const secp256k1 = new ellipticPkg.ec('secp256k1');
19
+ // Convert an ec.KeyPair from the 'elliptic' package (assumed to have geen generated
20
+ // with the secp256k1 curve) to our Secp256k1Keypair type.
21
+ function toSecp256k1Keypair(kp) {
22
+ return {
23
+ scheme: encryption_js_1.encryptionSchemes.ecies,
24
+ kp,
25
+ encodePublicKey() {
26
+ return new Uint8Array(kp.getPublic().encode('array', false));
27
+ },
28
+ };
29
+ }
30
+ // Generate a new ephemeral keypair for reencryption.
31
+ function generateSecp256k1Keypair() {
32
+ return toSecp256k1Keypair(secp256k1.genKeyPair());
33
+ }
34
+ // EncodePublicKey encodes an ECIES public key it's 33-byte compressed form.
35
+ function encodeSecp256k1PublicKey(pub) {
36
+ return new Uint8Array(pub.encodeCompressed('array'));
37
+ }
38
+ // DecodeSecp256k1PublicKey decodes a 33-byte compressed ECIES public key.
39
+ function decodeSecp256k1PublicKey(pubKeyCompressed) {
40
+ return secp256k1.keyFromPublic(pubKeyCompressed, 'array').getPublic();
41
+ }
42
+ // DecodeSecp256k1PrivateKey returns a ECIES secp256k1 private key based on the provided byte slice which is
43
+ // interpreted as an unsigned 256-bit big-endian integer in the range [0, N-1],
44
+ // where N is the order of the curve.
45
+ // where N is the order of the curve.
46
+ //
47
+ // WARNING: This means passing a slice with more than 32 bytes is truncated and
48
+ // that truncated value is reduced modulo N. Further, 0 is not a valid private
49
+ // key. It is up to the caller to provide a value in the appropriate range of
50
+ // [1, N-1]. Failure to do so will either result in an invalid private key or
51
+ // potentially weak private keys that have bias that could be exploited.
52
+ //
53
+ // This function primarily exists to provide a mechanism for converting
54
+ // serialized private keys that are already known to be good.
55
+ //
56
+ // For more info, refer to the decred/dcrd documentation:
57
+ // ref: https://pkg.go.dev/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.2.0#PrivKeyFromBytes
58
+ //
59
+ // We don't include any curve parameters or ECIES params, as they are assumed to
60
+ // be the ones in ecies.ECIES_AES128_SHA256 from go-ethereum.
61
+ // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.0/crypto/ecies/params.go#L76-L82
62
+ function decodeSecp256k1PrivateKey(privKey) {
63
+ return toSecp256k1Keypair(secp256k1.keyFromPrivate(privKey, 'array'));
64
+ }
65
+ // Given a (usually 3rd-party known) public key, called `pubKeyA`, and an ephemeral
66
+ // private key (usually generated locally), called `privKeyB`, encrypt the `msg`
67
+ // using ECIES, with geth's parameters:
68
+ // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.2/crypto/ecies/ecies.go
69
+ async function encrypt(pubKeyA, plaintext, privKeyB) {
70
+ const pubKeyABuffer = Buffer.from(pubKeyA.encode('array', false));
71
+ const privKeyBBuffer = privKeyB.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
72
+ const ct = await (0, ecies_geth_1.encrypt)(pubKeyABuffer, Buffer.from(plaintext), {
73
+ ephemPrivateKey: privKeyBBuffer,
74
+ });
75
+ return new Uint8Array(ct);
76
+ }
77
+ function getEciesEncryptor({ pubKeyA, privKeyB }) {
78
+ const pubKeyABuffer = Buffer.from(pubKeyA.encode('array', false));
79
+ const privKeyBBuffer = privKeyB.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
80
+ return async ({ plaintext, context, }) => {
81
+ if (plaintext.scheme !== encryption_js_1.encryptionSchemes.ecies) {
82
+ throw new Error(`Plaintext with scheme ${(0, encryption_js_1.getEncryptionSchemeName)(plaintext.scheme)} cannot be encrypted with ECIES`);
83
+ }
84
+ const ptBuf = Buffer.from((0, hadu_js_1.encodeInput)({ plaintext, context }));
85
+ const ct = await (0, ecies_geth_1.encrypt)(pubKeyABuffer, ptBuf, {
86
+ ephemPrivateKey: privKeyBBuffer,
87
+ });
88
+ const prehandle = (0, handle_js_1.computePrehandle)({
89
+ ciphertext: ct,
90
+ handleType: plaintext.type,
91
+ indexHandle: 0,
92
+ handleVersion: 0,
93
+ });
94
+ const handle = (0, handle_js_1.computeHandle)({
95
+ prehandle,
96
+ context: context,
97
+ });
98
+ return {
99
+ prehandle: (0, binary_js_1.asBytes32)(prehandle),
100
+ handle: (0, binary_js_1.asBytes32)(handle),
101
+ context,
102
+ ciphertext: {
103
+ scheme: encryption_js_1.encryptionSchemes.ecies,
104
+ type: plaintext.type,
105
+ value: (0, binary_js_1.bytesToHex)(ct),
106
+ },
107
+ };
108
+ };
109
+ }
110
+ // Given an ephemeral private key, called `privKeyA`, and a ciphertext `ct`,
111
+ // decrypt the ciphertext using ECIES, with geth's parameters:
112
+ // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.2/crypto/ecies/ecies.go
113
+ async function decrypt(privKeyA, ciphertext) {
114
+ const privKeyABuffer = privKeyA.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
115
+ const pt = await (0, ecies_geth_1.decrypt)(privKeyABuffer, Buffer.from(ciphertext));
116
+ return new Uint8Array(pt);
117
+ }
118
+ function getEciesDecryptor({ privKeyA }) {
119
+ const privKeyABuffer = privKeyA.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
120
+ return async ({ scheme, type, value, envelope, }) => {
121
+ if (scheme !== encryption_js_1.encryptionSchemes.ecies) {
122
+ throw new Error(`Ciphertext with scheme ${(0, encryption_js_1.getEncryptionSchemeName)(scheme)} cannot be decrypted with ECIES`);
123
+ }
124
+ const ptBuf = await (0, ecies_geth_1.decrypt)(privKeyABuffer, (0, binary_js_1.bytesFromHexString)(value));
125
+ // If envelope field is omitted then assume HADU, only with an explicit none envelope do we assume a raw byte
126
+ // encoding as would be performed by the compute server
127
+ if (envelope === encryption_js_1.ciphertextEnvelopes.none) {
128
+ const bigPt = (0, binary_js_1.bytes32ToBigint)(Buffer.from(ptBuf).toString('hex'));
129
+ return (0, encryption_js_1.bigintToPlaintext)(scheme, type, bigPt);
130
+ }
131
+ const { plaintext } = (0, hadu_js_1.decodeInput)(ptBuf.toString());
132
+ return plaintext;
133
+ };
134
+ }
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGl0ZS9lY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlDQSxnREFRQztBQUdELDREQUVDO0FBR0QsNERBRUM7QUFHRCw0REFFQztBQXNCRCw4REFFQztBQU1ELDBCQWFDO0FBUUQsOENBcUNDO0FBS0QsMEJBS0M7QUFPRCw4Q0FxQkM7QUF0TEQsMkNBQThFO0FBQzlFLHdDQUF3QztBQUN4Qyw0Q0FBMEY7QUFDMUYsK0RBYXFDO0FBQ3JDLDRDQUErRDtBQUUvRCx1Q0FBcUQ7QUFFckQsTUFBTSxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBVWxELG9GQUFvRjtBQUNwRiwwREFBMEQ7QUFDMUQsU0FBZ0Isa0JBQWtCLENBQUMsRUFBMEI7SUFDM0QsT0FBTztRQUNMLE1BQU0sRUFBRSxpQ0FBaUIsQ0FBQyxLQUFLO1FBQy9CLEVBQUU7UUFDRixlQUFlO1lBQ2IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELHFEQUFxRDtBQUNyRCxTQUFnQix3QkFBd0I7SUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsNEVBQTRFO0FBQzVFLFNBQWdCLHdCQUF3QixDQUFDLEdBQW9CO0lBQzNELE9BQU8sSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELDBFQUEwRTtBQUMxRSxTQUFnQix3QkFBd0IsQ0FBQyxnQkFBNEI7SUFDbkUsT0FBTyxTQUFTLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLE9B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
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'effect';
2
- import { PlaintextWithContext } from '../encryption';
2
+ import { PlaintextWithContext } from '../encryption/index.js';
3
3
  export declare const encryptionEnvelopes: {
4
4
  readonly none: 0;
5
5
  readonly hadu: 1;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HaduInput = exports.EncryptionEnvelope = exports.encryptionEnvelopes = void 0;
4
+ exports.encodeInput = encodeInput;
5
+ exports.decodeInput = decodeInput;
6
+ const effect_1 = require("effect");
7
+ const Schema_1 = require("effect/Schema");
8
+ const binary_js_1 = require("../binary.js");
9
+ const index_js_1 = require("../encryption/index.js");
10
+ const handle_js_1 = require("../handle.js");
11
+ // HADU stands for "Host Chain, ACL, DApp, and User" it maps to the InputContext type where the aclAddress
12
+ // may actually be the singular IncoLite contract which embeds its own ACL
13
+ exports.encryptionEnvelopes = {
14
+ none: 0,
15
+ hadu: 1,
16
+ };
17
+ exports.EncryptionEnvelope = effect_1.Schema.Literal(...Object.values(exports.encryptionEnvelopes));
18
+ exports.HaduInput = (0, Schema_1.parseJson)(effect_1.Schema.Struct({
19
+ envelope: effect_1.Schema.Literal(exports.encryptionEnvelopes.hadu),
20
+ scheme: index_js_1.EncryptionScheme,
21
+ context: handle_js_1.InputContext,
22
+ plaintext: binary_js_1.Bytes32,
23
+ type: index_js_1.SupportedFheType,
24
+ }));
25
+ function encodeInput({ plaintext, context }) {
26
+ return effect_1.Schema.encodeSync(exports.HaduInput)({
27
+ envelope: exports.encryptionEnvelopes.hadu,
28
+ scheme: plaintext.scheme,
29
+ type: plaintext.type,
30
+ plaintext: (0, index_js_1.plaintextToBytes32)(plaintext),
31
+ context,
32
+ });
33
+ }
34
+ function decodeInput(json) {
35
+ const { scheme, context, plaintext, type } = effect_1.Schema.decodeSync(exports.HaduInput)(json);
36
+ return {
37
+ plaintext: (0, index_js_1.bytes32ToPlaintext)(plaintext, scheme, type),
38
+ context,
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFkdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saXRlL2hhZHUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUNBLGtDQVFDO0FBRUQsa0NBTUM7QUFyREQsbUNBQWdDO0FBQ2hDLDBDQUEwQztBQUMxQyw0Q0FBdUM7QUFDdkMscURBTWdDO0FBQ2hDLDRDQUE0QztBQUU1QywwR0FBMEc7QUFDMUcsMEVBQTBFO0FBRTdELFFBQUEsbUJBQW1CLEdBQUc7SUFDakMsSUFBSSxFQUFFLENBQUM7SUFDUCxJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFLRSxRQUFBLGtCQUFrQixHQUFHLGVBQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLDJCQUFtQixDQUFDLENBQUMsQ0FBQztBQUUzRSxRQUFBLFNBQVMsR0FBRyxJQUFBLGtCQUFTLEVBQ2hDLGVBQU0sQ0FBQyxNQUFNLENBQUM7SUFDWixRQUFRLEVBQUUsZUFBTSxDQUFDLE9BQU8sQ0FBQywyQkFBbUIsQ0FBQyxJQUFJLENBQUM7SUFDbEQsTUFBTSxFQUFFLDJCQUFnQjtJQUN4QixPQUFPLEVBQUUsd0JBQVk7SUFDckIsU0FBUyxFQUFFLG1CQUFPO0lBQ2xCLElBQUksRUFBRSwyQkFBZ0I7Q0FDdkIsQ0FBQyxDQUNILENBQUM7QUFJRixTQUFnQixXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUF3QjtJQUN0RSxPQUFPLGVBQU0sQ0FBQyxVQUFVLENBQUMsaUJBQVMsQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsRUFBRSwyQkFBbUIsQ0FBQyxJQUFJO1FBQ2xDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsU0FBUyxFQUFFLElBQUEsNkJBQWtCLEVBQUMsU0FBUyxDQUFDO1FBQ3hDLE9BQU87S0FDUixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDdEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLGVBQU0sQ0FBQyxVQUFVLENBQUMsaUJBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLE9BQU87UUFDTCxTQUFTLEVBQUUsSUFBQSw2QkFBa0IsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztRQUN0RCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ export * from '../generated/abis/lightning.js';
2
+ export type { KmsService, ReencryptRequest } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
3
+ export * from './deployments.js';
4
+ export * from './ecies.js';
5
+ export * from './hadu.js';
6
+ export * from './lightning.js';
7
+ export * from './reencrypt.js';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../generated/abis/lightning.js"), exports);
18
+ __exportStar(require("./deployments.js"), exports);
19
+ __exportStar(require("./ecies.js"), exports);
20
+ __exportStar(require("./hadu.js"), exports);
21
+ __exportStar(require("./lightning.js"), exports);
22
+ __exportStar(require("./reencrypt.js"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGl0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUVBQStDO0FBRS9DLG1EQUFpQztBQUNqQyw2Q0FBMkI7QUFDM0IsNENBQTBCO0FBQzFCLGlEQUErQjtBQUMvQixpREFBK0IifQ==
@@ -1,9 +1,10 @@
1
1
  import { Account, Chain, Transport, WalletClient } from 'viem';
2
- import { Address, HexString } from '../binary';
3
- import { EciesScheme } from '../encryption';
4
- import { lightningDeployments } from '../generated/lightning';
5
- import { LocalNodeEnv } from '../local';
6
- import type { Reencryptor } from '../reencryption';
2
+ import { Address, HexString } from '../binary.js';
3
+ import { EciesScheme } from '../encryption/index.js';
4
+ import { lightningDeployments } from '../generated/lightning.js';
5
+ import { localNodeLightningConfig } from '../generated/local-node.js';
6
+ import { LocalNodeEnv } from '../local/index.js';
7
+ import type { Reencryptor } from '../reencryption/index.js';
7
8
  type TupleToUnion<T> = T extends readonly unknown[] ? T[number] : never;
8
9
  type Deployment = TupleToUnion<typeof lightningDeployments>;
9
10
  type DistributedPick<T, K> = T extends any ? Pick<T, Extract<keyof T, K>> : never;
@@ -11,6 +12,7 @@ export type DeploymentByName = DistributedPick<Deployment, 'name' | 'chainId'>;
11
12
  export type DeploymentByExecutor = DistributedPick<Deployment, 'executorAddress' | 'chainId'>;
12
13
  export type DeploymentId = DeploymentByName | DeploymentByExecutor;
13
14
  export type Pepper = Deployment['pepper'];
15
+ export type LocalNodePepper = Pepper & keyof typeof localNodeLightningConfig;
14
16
  export type ChainId = Deployment['chainId'];
15
17
  export type SupportedNativeType = boolean | bigint | number;
16
18
  export type EncryptionContext = {
@@ -56,12 +58,13 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
56
58
  *
57
59
  * See the sample docker-compose file here: https://github.com/Inco-fhevm/lightning-rod/blob/main/docker-compose.yaml
58
60
  *
59
- * @param env this is an optional object containing the environment variables to use for the local node. If none is
60
- * provided, the default testnet local node configuration will be used. The LocalNodeEnv is part of the state dump
61
- * and one is provided for each network.
61
+ * @param env either a Pepper such as 'testnet', 'devnet', 'alphanet' or a LocalNodeEnv object containing the
62
+ * executorAddress, eciesPublicKey, chainId, covalidatorUrl and senderPrivateKey. If none is provided, it defaults to
63
+ * the 'testnet' Pepper. This produces allows connection to a local node running against a state dump of the
64
+ * corresponding Pepper.
62
65
  *
63
66
  */
64
- static localNode(env?: LocalNodeEnv): Lightning<DeploymentSlice & CustomConfig>;
67
+ static localNode(env?: LocalNodeEnv | LocalNodePepper): Lightning<DeploymentSlice & CustomConfig>;
65
68
  /**
66
69
  * Get a Lightning deployment by name or executor address on a particular chain.
67
70
  *
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lightning = void 0;
4
+ const viem_1 = require("viem");
5
+ const chains_1 = require("viem/chains");
6
+ const binary_js_1 = require("../binary.js");
7
+ const index_js_1 = require("../encryption/index.js");
8
+ const lightning_js_1 = require("../generated/lightning.js");
9
+ const local_node_js_1 = require("../generated/local-node.js");
10
+ const handle_js_1 = require("../handle.js");
11
+ const schema_js_1 = require("../schema.js");
12
+ const ecies_js_1 = require("./ecies.js");
13
+ const reencrypt_js_1 = require("./reencrypt.js");
14
+ const DefaultPepper = 'testnet';
15
+ /**
16
+ * The Lightning class provides a convenient way to interact with the Inco Lightning contract by binding to a specific
17
+ * deployment.
18
+ */
19
+ class Lightning {
20
+ _deployment;
21
+ covalidatorUrl;
22
+ executorAddress;
23
+ eciesPublicKey;
24
+ chainId;
25
+ encryptor;
26
+ ephemeralKeypair;
27
+ kmsClient;
28
+ constructor(_deployment, covalidatorUrl) {
29
+ this._deployment = _deployment;
30
+ this.covalidatorUrl = covalidatorUrl;
31
+ this.executorAddress = (0, binary_js_1.parseAddress)(_deployment.executorAddress);
32
+ this.eciesPublicKey = (0, schema_js_1.parse)(binary_js_1.HexString, _deployment.eciesPublicKey);
33
+ this.chainId = BigInt(_deployment.chainId);
34
+ this.ephemeralKeypair = (0, ecies_js_1.generateSecp256k1Keypair)();
35
+ this.kmsClient = (0, reencrypt_js_1.getKmsClient)(covalidatorUrl);
36
+ this.encryptor = (0, ecies_js_1.getEciesEncryptor)({
37
+ scheme: index_js_1.encryptionSchemes.ecies,
38
+ pubKeyA: (0, ecies_js_1.decodeSecp256k1PublicKey)((0, viem_1.hexToBytes)((0, schema_js_1.parse)(binary_js_1.HexString, _deployment.eciesPublicKey))),
39
+ privKeyB: this.ephemeralKeypair,
40
+ });
41
+ }
42
+ /**
43
+ * Get a Lightning instance bound to the latest Lightning deployment for the Base Sepolia testnet.
44
+ */
45
+ static baseSepoliaTestnet() {
46
+ return Lightning.latest('testnet', chains_1.baseSepolia.id);
47
+ }
48
+ /**
49
+ * Get a Lightning instance bound to our canonical Anvil-based test node and test Covalidator node
50
+ *
51
+ * These can be run in docker-compose using images pushed to dockerhub as:
52
+ * - inconetwork/local-node-anvil
53
+ * - inconetwork/local-node-covalidator
54
+ *
55
+ * See the sample docker-compose file here: https://github.com/Inco-fhevm/lightning-rod/blob/main/docker-compose.yaml
56
+ *
57
+ * @param env either a Pepper such as 'testnet', 'devnet', 'alphanet' or a LocalNodeEnv object containing the
58
+ * executorAddress, eciesPublicKey, chainId, covalidatorUrl and senderPrivateKey. If none is provided, it defaults to
59
+ * the 'testnet' Pepper. This produces allows connection to a local node running against a state dump of the
60
+ * corresponding Pepper.
61
+ *
62
+ */
63
+ static localNode(env) {
64
+ if (!env) {
65
+ return Lightning.custom(local_node_js_1.localNodeLightningConfig[DefaultPepper]);
66
+ }
67
+ if (typeof env === 'string') {
68
+ return Lightning.custom(local_node_js_1.localNodeLightningConfig[env]);
69
+ }
70
+ const conf = local_node_js_1.localNodeLightningConfig[DefaultPepper];
71
+ return Lightning.custom({
72
+ // We assume that we always run a local node as the default anvil node
73
+ chainId: conf.chainId,
74
+ covalidatorUrl: conf.covalidatorUrl,
75
+ // These variables vary per environment
76
+ executorAddress: env.EXECUTOR_ADDRESS,
77
+ eciesPublicKey: env.ECIES_PUBLIC_KEY,
78
+ senderPrivateKey: env.SENDER_PRIVATE_KEY,
79
+ });
80
+ }
81
+ /**
82
+ * Get a Lightning deployment by name or executor address on a particular chain.
83
+ *
84
+ * @param id this is an object containing either the pair of name and chainId or the executorAddress and chainId
85
+ */
86
+ static at(id) {
87
+ const deployment = this.isIdByName(id)
88
+ ? lightning_js_1.lightningDeployments.find((d) => d.name === id.name && d.chainId === id.chainId)
89
+ : lightning_js_1.lightningDeployments.find((d) => d.executorAddress === id.executorAddress && d.chainId === id.chainId);
90
+ if (!deployment) {
91
+ throw new Error(`No deployment found for ${JSON.stringify(id)}`);
92
+ }
93
+ return new Lightning(deployment, Lightning.getCovalidatorUrl(deployment));
94
+ }
95
+ /**
96
+ * Get a Lightning deployment for a local or custom node
97
+ *
98
+ * @param config this is an object containing the executorAddress, eciesPublicKey, chainId and covalidatorUrl.
99
+ * additional fields past will be made available as part of the `deployment` property.
100
+ */
101
+ static custom(config) {
102
+ return new Lightning(config, config.covalidatorUrl);
103
+ }
104
+ /**
105
+ * Get the latest deployment for a given pepper, which usually denotes a family of deployments distinct from their
106
+ * version such as 'devnet', 'testnet', 'mainnet', etc.
107
+ *
108
+ * @param pepper the pepper to use to filter the deployments
109
+ * @param chainId the chainId to use to filter the deployments
110
+ */
111
+ static latestDeployment(pepper, chainId) {
112
+ // Deployments are sorted so we are guaranteed to get the latest first
113
+ const latestByPepper = lightning_js_1.lightningDeployments.find((d) => d.pepper === pepper && d.chainId === chainId);
114
+ if (!latestByPepper) {
115
+ // This should not actually happen provided this file compiles since we are extracting the available peppers
116
+ // from the const itself
117
+ throw new Error(`No deployment found for pepper ${pepper}`);
118
+ }
119
+ return latestByPepper;
120
+ }
121
+ /**
122
+ * Get the latest Lightning deployment for a given pepper amd chainId unconditionally.
123
+ * Note that if you upgrade the library the latest deployment may change and contracts deployed to a previous version
124
+ * will not be compatible with the new version.
125
+ *
126
+ * @param pepper the pepper to use to filter the deployments
127
+ * @param chainId the chainId to use to filter the deployments
128
+ */
129
+ static latest(pepper, chainId) {
130
+ return Lightning.at(Lightning.latestDeployment(pepper, chainId));
131
+ }
132
+ /*
133
+ * Get the latest deployment for a given pepper, which usually denotes a family of deployments distinct from their
134
+ * version such as 'devnet', 'testnet', 'mainnet', etc.
135
+ */
136
+ get deployment() {
137
+ return { ...this._deployment };
138
+ }
139
+ /**
140
+ * Encrypt a value using the public ECIES key of the Lightning deployment.
141
+ *
142
+ * @param value a boolean or numeric value to encrypt
143
+ * @param accountAddress the address of the account interacting with the dapp contract, normally an Externally Owned Account (EOA)
144
+ * @param dappAddress the address of the dapp contract that interacts with the Inco Lightning contract or library
145
+ */
146
+ async encrypt(value, { accountAddress, dappAddress }) {
147
+ const { ciphertext } = await this.encryptor({
148
+ plaintext: Lightning.plaintextFromValue(value),
149
+ context: {
150
+ hostChainId: this.chainId,
151
+ aclAddress: this.executorAddress,
152
+ userAddress: (0, binary_js_1.parseAddress)(accountAddress),
153
+ contractAddress: (0, binary_js_1.parseAddress)(dappAddress),
154
+ },
155
+ });
156
+ return ciphertext.value;
157
+ }
158
+ /**
159
+ * Obtain a reencryptor for a particular Externally Owned Account (EOA) to request decrypted values.
160
+ * The account associated with the walletClient must have permissions to decrypt the handle or ciphertext passed
161
+ * to the reencryptor function.
162
+ *
163
+ * @param walletClient the wallet client to use for signing the reencrypt request.
164
+ */
165
+ getReencryptor(walletClient) {
166
+ return (0, reencrypt_js_1.incoLiteReencryptor)({
167
+ walletClient,
168
+ kmsConnectRpcEndpointOrClient: this.kmsClient,
169
+ chainId: this.chainId,
170
+ ephemeralKeypair: this.ephemeralKeypair,
171
+ });
172
+ }
173
+ /**
174
+ * Get the GRPC endpoint for the covalidator that services this deployment.
175
+ */
176
+ static getCovalidatorUrl(deployment) {
177
+ const { executorAddress, chainId, pepper } = deployment;
178
+ return `https://${executorAddress.toLowerCase()}.${chainId}.${pepper}.inco.org`;
179
+ }
180
+ static isIdByName(id) {
181
+ return id.name !== undefined;
182
+ }
183
+ static plaintextFromValue(value) {
184
+ if (typeof value === 'boolean') {
185
+ return {
186
+ scheme: index_js_1.encryptionSchemes.ecies,
187
+ type: handle_js_1.handleTypes.ebool,
188
+ value: value,
189
+ };
190
+ }
191
+ else if (typeof value === 'bigint' || typeof value === 'number') {
192
+ return {
193
+ scheme: index_js_1.encryptionSchemes.ecies,
194
+ type: handle_js_1.handleTypes.euint256,
195
+ value: BigInt(value),
196
+ };
197
+ }
198
+ else {
199
+ throw new Error(`Unsupported type ${typeof value}`);
200
+ }
201
+ }
202
+ }
203
+ exports.Lightning = Lightning;
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpdGUvbGlnaHRuaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtCQUEyRTtBQUMzRSx3Q0FBMEM7QUFDMUMsNENBQWdFO0FBQ2hFLHFEQUFnRztBQUVoRyw0REFBaUU7QUFDakUsOERBQXNFO0FBQ3RFLDRDQUEyQztBQUczQyw0Q0FBcUM7QUFDckMseUNBQXFIO0FBQ3JILGlEQUFtRTtBQXdCbkUsTUFBTSxhQUFhLEdBQW9CLFNBQVMsQ0FBQztBQW9CakQ7OztHQUdHO0FBQ0gsTUFBYSxTQUFTO0lBVUQ7SUFDRDtJQVZGLGVBQWUsQ0FBVTtJQUN6QixjQUFjLENBQVk7SUFDMUIsT0FBTyxDQUFTO0lBRWYsU0FBUyxDQUF5QjtJQUNsQyxnQkFBZ0IsQ0FBbUI7SUFDbkMsU0FBUyxDQUE0QjtJQUV0RCxZQUNtQixXQUFjLEVBQ2YsY0FBc0I7UUFEckIsZ0JBQVcsR0FBWCxXQUFXLENBQUc7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUV0QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUEsd0JBQVksRUFBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFBLGlCQUFLLEVBQUMscUJBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFBLG1DQUF3QixHQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFBLDJCQUFZLEVBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFBLDRCQUFpQixFQUFDO1lBQ2pDLE1BQU0sRUFBRSw0QkFBaUIsQ0FBQyxLQUFLO1lBQy9CLE9B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
@@ -1,11 +1,12 @@
1
1
  import { Client } from '@connectrpc/connect';
2
2
  import { Account, Chain, Hex, Transport, WalletClient } from 'viem';
3
- import { SupportedChain } from '../chain';
4
- import { EciesScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption';
5
- import { KmsService, ReencryptResponse } from '../generated/es/inco/kms/lite/v1/kms_service_pb';
6
- import { Handle } from '../handle';
7
- import type { EIP712, Reencryptor, ReencryptorArgs } from '../reencryption';
8
- import { Secp256k1Keypair } from './ecies';
3
+ import { SupportedChain } from '../chain.js';
4
+ import { EciesScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption.js';
5
+ import { KmsService, ReencryptResponse } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
6
+ import { Handle } from '../handle.js';
7
+ import type { EIP712 } from '../reencryption/eip712.js';
8
+ import type { Reencryptor, ReencryptorArgs } from '../reencryption/types.js';
9
+ import { Secp256k1Keypair } from './ecies.js';
9
10
  export interface IncoLiteReencryptorArgs extends ReencryptorArgs {
10
11
  walletClient: WalletClient<Transport, Chain, Account>;
11
12
  kmsConnectRpcEndpointOrClient?: string | Client<typeof KmsService>;