@inco/js 0.2.16 → 0.3.0

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 (535) hide show
  1. package/dist/cjs/attestedcompute/attested-compute.d.ts +38 -0
  2. package/dist/cjs/attestedcompute/attested-compute.js +98 -0
  3. package/dist/cjs/attestedcompute/types.d.ts +34 -0
  4. package/dist/cjs/attestedcompute/types.js +46 -0
  5. package/dist/{attesteddecrypt → cjs/attesteddecrypt}/attested-decrypt.d.ts +16 -11
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.js +93 -0
  7. package/dist/cjs/attesteddecrypt/index.d.ts +2 -0
  8. package/dist/{generated/abis → cjs/attesteddecrypt}/index.js +3 -3
  9. package/dist/cjs/attesteddecrypt/types.d.ts +20 -0
  10. package/dist/{attesteddecrypt → cjs/attesteddecrypt}/types.js +1 -1
  11. package/dist/cjs/binary.js +82 -0
  12. package/dist/{chain.d.ts → cjs/chain.d.ts} +3 -0
  13. package/dist/cjs/chain.js +31 -0
  14. package/dist/{encryption → cjs/encryption}/encryption.d.ts +2 -2
  15. package/dist/cjs/encryption/encryption.js +109 -0
  16. package/dist/cjs/encryption/index.d.ts +1 -0
  17. package/dist/{encryption → cjs/encryption}/index.js +2 -2
  18. package/dist/{fhevm → cjs/fhevm}/fhe-environment.d.ts +1 -1
  19. package/dist/cjs/fhevm/fhe-environment.js +11 -0
  20. package/dist/{fhevm → cjs/fhevm}/fhevm.d.ts +1 -1
  21. package/dist/cjs/fhevm/fhevm.js +145 -0
  22. package/dist/cjs/fhevm/index.d.ts +1 -0
  23. package/dist/{fhevm → cjs/fhevm}/index.js +2 -2
  24. package/dist/{fhevm → cjs/fhevm}/reencrypt.d.ts +3 -3
  25. package/dist/cjs/fhevm/reencrypt.js +127 -0
  26. package/dist/{fhevm → cjs/fhevm}/tfhe.d.ts +1 -1
  27. package/dist/cjs/fhevm/tfhe.js +336 -0
  28. package/dist/{fhevm → cjs/fhevm}/types.d.ts +1 -1
  29. package/dist/cjs/fhevm/types.js +29 -0
  30. package/dist/cjs/generated/abis/addTwo.js +62 -0
  31. package/dist/cjs/generated/abis/inco-fhevm.js +681 -0
  32. package/dist/{generated → cjs/generated}/abis/lightning.d.ts +4 -0
  33. package/dist/cjs/generated/abis/lightning.js +1609 -0
  34. package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.d.ts +1 -1
  35. package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.js +6 -6
  36. package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.d.ts +1 -1
  37. package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.js +16 -16
  38. package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.d.ts +1 -1
  39. package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.js +4 -4
  40. package/dist/{generated → cjs/generated}/es/google/api/http_pb.d.ts +1 -1
  41. package/dist/{generated → cjs/generated}/es/google/api/http_pb.js +6 -6
  42. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.d.ts +1 -1
  43. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.js +6 -6
  44. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.d.ts +1 -1
  45. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.js +11 -11
  46. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.d.ts +1 -1
  47. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.js +23 -23
  48. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.d.ts +1 -1
  49. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.js +23 -23
  50. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.d.ts +1 -1
  51. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.js +17 -17
  52. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.d.ts +239 -33
  53. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +161 -0
  54. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.d.ts +1 -1
  55. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.js +11 -11
  56. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.d.ts +1 -1
  57. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.js +6 -6
  58. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.d.ts +1 -1
  59. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.js +9 -9
  60. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.d.ts +1 -1
  61. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.js +11 -11
  62. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.d.ts +1 -1
  63. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.js +9 -9
  64. package/dist/{generated → cjs/generated}/fhe-environments.js +1 -1
  65. package/dist/{generated → cjs/generated}/lightning.d.ts +42 -0
  66. package/dist/{generated → cjs/generated}/lightning.js +45 -1
  67. package/dist/cjs/generated/local-node.d.ts +34 -0
  68. package/dist/cjs/generated/local-node.js +38 -0
  69. package/dist/{generated → cjs/generated}/ts/amino/amino.js +2 -2
  70. package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.js +49 -49
  71. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +108 -0
  72. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +433 -0
  73. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +716 -0
  74. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +358 -0
  75. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +221 -0
  76. package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.js +2 -2
  77. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +216 -0
  78. package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.js +2 -2
  79. package/dist/{generated → cjs/generated}/ts/google/api/annotations.js +2 -2
  80. package/dist/cjs/generated/ts/google/api/http.js +356 -0
  81. package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.js +35 -35
  82. package/dist/cjs/generated/ts/google/protobuf/duration.js +93 -0
  83. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +93 -0
  84. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +509 -0
  85. package/dist/cjs/generated/ts/inco/abci/v1/types.js +73 -0
  86. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +66 -0
  87. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +190 -0
  88. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +714 -0
  89. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.d.ts +19 -19
  90. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.js +20 -20
  91. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.d.ts +19 -19
  92. package/dist/cjs/generated/ts/inco/fhe/v1/tx.js +1236 -0
  93. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +990 -0
  94. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +66 -0
  95. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +331 -0
  96. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +216 -0
  97. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +69 -0
  98. package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/query.d.ts +5 -5
  99. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +280 -0
  100. package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/tx.d.ts +3 -3
  101. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +140 -0
  102. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +203 -0
  103. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +66 -0
  104. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +185 -0
  105. package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/query.d.ts +5 -5
  106. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +259 -0
  107. package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/tx.d.ts +7 -7
  108. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +448 -0
  109. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +398 -0
  110. package/dist/{handle.d.ts → cjs/handle.d.ts} +1 -1
  111. package/dist/{handle.js → cjs/handle.js} +5 -5
  112. package/dist/cjs/index.d.ts +5 -0
  113. package/dist/{index.js → cjs/index.js} +5 -5
  114. package/dist/{kms → cjs/kms}/client.d.ts +2 -2
  115. package/dist/{kms → cjs/kms}/client.js +3 -3
  116. package/dist/{l1 → cjs/l1}/client.d.ts +6 -6
  117. package/dist/{l1 → cjs/l1}/client.js +8 -8
  118. package/dist/cjs/l1/index.d.ts +2 -0
  119. package/dist/{l1 → cjs/l1}/index.js +3 -3
  120. package/dist/{l1 → cjs/l1}/preflight.d.ts +3 -3
  121. package/dist/cjs/l1/preflight.js +42 -0
  122. package/dist/cjs/lite/attested-compute.d.ts +4 -0
  123. package/dist/cjs/lite/attested-compute.js +6 -0
  124. package/dist/{lite → cjs/lite}/attested-decrypt.d.ts +1 -1
  125. package/dist/cjs/lite/attested-decrypt.js +6 -0
  126. package/dist/{lite → cjs/lite}/deployments.d.ts +2 -2
  127. package/dist/cjs/lite/deployments.js +21 -0
  128. package/dist/{lite → cjs/lite}/ecies.d.ts +6 -6
  129. package/dist/cjs/lite/ecies.js +135 -0
  130. package/dist/{lite → cjs/lite}/hadu.d.ts +1 -1
  131. package/dist/cjs/lite/hadu.js +41 -0
  132. package/dist/cjs/lite/index.d.ts +7 -0
  133. package/dist/{attesteddecrypt → cjs/lite}/index.js +7 -3
  134. package/dist/{lite → cjs/lite}/lightning.d.ts +20 -9
  135. package/dist/cjs/lite/lightning.js +217 -0
  136. package/dist/{lite → cjs/lite}/reencrypt.d.ts +7 -6
  137. package/dist/cjs/lite/reencrypt.js +142 -0
  138. package/dist/cjs/local/index.d.ts +1 -0
  139. package/dist/{local → cjs/local}/index.js +2 -2
  140. package/dist/{local → cjs/local}/local-node.d.ts +4 -1
  141. package/dist/cjs/local/local-node.js +33 -0
  142. package/dist/{reencryption → cjs/reencryption}/eip712.js +9 -7
  143. package/dist/cjs/reencryption/index.d.ts +2 -0
  144. package/dist/cjs/reencryption/index.js +19 -0
  145. package/dist/{reencryption → cjs/reencryption}/types.d.ts +6 -8
  146. package/dist/{reencryption → cjs/reencryption}/types.js +1 -1
  147. package/dist/{retry.js → cjs/retry.js} +1 -1
  148. package/dist/{schema.js → cjs/schema.js} +1 -1
  149. package/dist/{viem.d.ts → cjs/viem.d.ts} +363 -1
  150. package/dist/cjs/viem.js +12 -0
  151. package/dist/esm/attestedcompute/attested-compute.d.ts +38 -0
  152. package/dist/esm/attestedcompute/attested-compute.js +95 -0
  153. package/dist/esm/attestedcompute/types.d.ts +34 -0
  154. package/dist/esm/attestedcompute/types.js +42 -0
  155. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +40 -0
  156. package/dist/esm/attesteddecrypt/attested-decrypt.js +89 -0
  157. package/dist/esm/attesteddecrypt/index.d.ts +2 -0
  158. package/dist/esm/attesteddecrypt/index.js +3 -0
  159. package/dist/esm/attesteddecrypt/types.d.ts +20 -0
  160. package/dist/esm/attesteddecrypt/types.js +12 -0
  161. package/dist/esm/binary.d.ts +21 -0
  162. package/dist/esm/binary.js +67 -0
  163. package/dist/esm/chain.d.ts +25 -0
  164. package/dist/esm/chain.js +27 -0
  165. package/dist/esm/encryption/encryption.d.ts +119 -0
  166. package/dist/esm/encryption/encryption.js +101 -0
  167. package/dist/esm/encryption/index.d.ts +1 -0
  168. package/dist/esm/encryption/index.js +2 -0
  169. package/dist/esm/fhevm/fhe-environment.d.ts +9 -0
  170. package/dist/esm/fhevm/fhe-environment.js +8 -0
  171. package/dist/esm/fhevm/fhevm.d.ts +41 -0
  172. package/dist/esm/fhevm/fhevm.js +139 -0
  173. package/dist/esm/fhevm/index.d.ts +1 -0
  174. package/dist/esm/fhevm/index.js +2 -0
  175. package/dist/esm/fhevm/reencrypt.d.ts +20 -0
  176. package/dist/esm/fhevm/reencrypt.js +123 -0
  177. package/dist/esm/fhevm/tfhe.d.ts +74 -0
  178. package/dist/esm/fhevm/tfhe.js +328 -0
  179. package/dist/esm/fhevm/types.d.ts +3 -0
  180. package/dist/esm/fhevm/types.js +26 -0
  181. package/dist/esm/generated/abis/addTwo.d.ts +83 -0
  182. package/dist/{generated → esm/generated}/abis/addTwo.js +2 -5
  183. package/dist/esm/generated/abis/inco-fhevm.d.ts +874 -0
  184. package/dist/{generated → esm/generated}/abis/inco-fhevm.js +3 -6
  185. package/dist/esm/generated/abis/lightning.d.ts +2230 -0
  186. package/dist/{generated → esm/generated}/abis/lightning.js +6 -6
  187. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  188. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
  189. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  190. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +115 -0
  191. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +13 -0
  192. package/dist/esm/generated/es/google/api/annotations_pb.js +27 -0
  193. package/dist/esm/generated/es/google/api/http_pb.d.ts +440 -0
  194. package/dist/esm/generated/es/google/api/http_pb.js +34 -0
  195. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  196. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +21 -0
  197. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  198. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
  199. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  200. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +108 -0
  201. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  202. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +108 -0
  203. package/dist/esm/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  204. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +133 -0
  205. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +526 -0
  206. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +158 -0
  207. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  208. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
  209. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  210. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
  211. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  212. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +38 -0
  213. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  214. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +48 -0
  215. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  216. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +34 -0
  217. package/dist/esm/generated/fhe-environments.d.ts +14 -0
  218. package/dist/esm/generated/fhe-environments.js +15 -0
  219. package/dist/esm/generated/lightning.d.ts +253 -0
  220. package/dist/esm/generated/lightning.js +267 -0
  221. package/dist/esm/generated/local-node.d.ts +34 -0
  222. package/dist/esm/generated/local-node.js +35 -0
  223. package/dist/esm/generated/ts/amino/amino.d.ts +1 -0
  224. package/dist/esm/generated/ts/amino/amino.js +8 -0
  225. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  226. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +5063 -0
  227. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  228. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +105 -0
  229. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  230. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +430 -0
  231. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  232. package/dist/esm/generated/ts/cometbft/types/v1/params.js +713 -0
  233. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  234. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +353 -0
  235. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  236. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
  237. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  238. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +8 -0
  239. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  240. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +211 -0
  241. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +1 -0
  242. package/dist/esm/generated/ts/gogoproto/gogo.js +8 -0
  243. package/dist/esm/generated/ts/google/api/annotations.d.ts +1 -0
  244. package/dist/esm/generated/ts/google/api/annotations.js +8 -0
  245. package/dist/esm/generated/ts/google/api/http.d.ts +371 -0
  246. package/dist/esm/generated/ts/google/api/http.js +353 -0
  247. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  248. package/dist/esm/generated/ts/google/protobuf/descriptor.js +5070 -0
  249. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +99 -0
  250. package/dist/esm/generated/ts/google/protobuf/duration.js +90 -0
  251. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  252. package/dist/esm/generated/ts/google/protobuf/timestamp.js +90 -0
  253. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  254. package/dist/esm/generated/ts/google/protobuf/wrappers.js +506 -0
  255. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +35 -0
  256. package/dist/esm/generated/ts/inco/abci/v1/types.js +70 -0
  257. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  258. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +63 -0
  259. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  260. package/dist/esm/generated/ts/inco/fhe/v1/events.js +187 -0
  261. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  262. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +711 -0
  263. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  264. package/dist/esm/generated/ts/inco/fhe/v1/query.js +1391 -0
  265. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  266. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +1233 -0
  267. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  268. package/dist/esm/generated/ts/inco/fhe/v1/types.js +985 -0
  269. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  270. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +63 -0
  271. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  272. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +328 -0
  273. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  274. package/dist/esm/generated/ts/inco/originchain/v1/events.js +213 -0
  275. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  276. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +66 -0
  277. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  278. package/dist/esm/generated/ts/inco/originchain/v1/query.js +277 -0
  279. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  280. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +137 -0
  281. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  282. package/dist/esm/generated/ts/inco/originchain/v1/types.js +200 -0
  283. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  284. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +63 -0
  285. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  286. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +182 -0
  287. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  288. package/dist/esm/generated/ts/inco/preflight/v1/query.js +256 -0
  289. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  290. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +445 -0
  291. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  292. package/dist/esm/generated/ts/inco/preflight/v1/types.js +395 -0
  293. package/dist/esm/handle.d.ts +41 -0
  294. package/dist/esm/handle.js +94 -0
  295. package/dist/esm/index.d.ts +5 -0
  296. package/dist/esm/index.js +6 -0
  297. package/dist/esm/kms/client.d.ts +8 -0
  298. package/dist/esm/kms/client.js +35 -0
  299. package/dist/esm/l1/client.d.ts +35 -0
  300. package/dist/esm/l1/client.js +93 -0
  301. package/dist/esm/l1/index.d.ts +2 -0
  302. package/dist/esm/l1/index.js +3 -0
  303. package/dist/esm/l1/preflight.d.ts +20 -0
  304. package/dist/esm/l1/preflight.js +39 -0
  305. package/dist/esm/lite/attested-compute.d.ts +4 -0
  306. package/dist/esm/lite/attested-compute.js +3 -0
  307. package/dist/esm/lite/attested-decrypt.d.ts +3 -0
  308. package/dist/esm/lite/attested-decrypt.js +3 -0
  309. package/dist/esm/lite/deployments.d.ts +6 -0
  310. package/dist/esm/lite/deployments.js +17 -0
  311. package/dist/esm/lite/ecies.d.ts +26 -0
  312. package/dist/esm/lite/ecies.js +124 -0
  313. package/dist/esm/lite/hadu.d.ts +24 -0
  314. package/dist/esm/lite/hadu.js +36 -0
  315. package/dist/esm/lite/index.d.ts +7 -0
  316. package/dist/esm/lite/index.js +7 -0
  317. package/dist/esm/lite/lightning.d.ts +132 -0
  318. package/dist/esm/lite/lightning.js +213 -0
  319. package/dist/esm/lite/reencrypt.d.ts +24 -0
  320. package/dist/esm/lite/reencrypt.js +132 -0
  321. package/dist/esm/local/index.d.ts +1 -0
  322. package/dist/esm/local/index.js +2 -0
  323. package/dist/esm/local/local-node.d.ts +22 -0
  324. package/dist/esm/local/local-node.js +29 -0
  325. package/dist/esm/reencryption/eip712.d.ts +29 -0
  326. package/dist/esm/reencryption/eip712.js +83 -0
  327. package/dist/esm/reencryption/index.d.ts +2 -0
  328. package/dist/esm/reencryption/index.js +3 -0
  329. package/dist/esm/reencryption/types.d.ts +25 -0
  330. package/dist/esm/reencryption/types.js +2 -0
  331. package/dist/esm/retry.d.ts +15 -0
  332. package/dist/esm/retry.js +25 -0
  333. package/dist/esm/schema.d.ts +4 -0
  334. package/dist/esm/schema.js +15 -0
  335. package/dist/esm/viem.d.ts +789 -0
  336. package/dist/esm/viem.js +8 -0
  337. package/dist/types/attestedcompute/attested-compute.d.ts +38 -0
  338. package/dist/types/attestedcompute/types.d.ts +34 -0
  339. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +40 -0
  340. package/dist/types/attesteddecrypt/index.d.ts +2 -0
  341. package/dist/types/attesteddecrypt/types.d.ts +20 -0
  342. package/dist/types/binary.d.ts +21 -0
  343. package/dist/types/chain.d.ts +25 -0
  344. package/dist/types/encryption/encryption.d.ts +119 -0
  345. package/dist/types/encryption/index.d.ts +1 -0
  346. package/dist/types/fhevm/fhe-environment.d.ts +9 -0
  347. package/dist/types/fhevm/fhevm.d.ts +41 -0
  348. package/dist/types/fhevm/index.d.ts +1 -0
  349. package/dist/types/fhevm/reencrypt.d.ts +20 -0
  350. package/dist/types/fhevm/tfhe.d.ts +74 -0
  351. package/dist/types/fhevm/types.d.ts +3 -0
  352. package/dist/types/generated/abis/addTwo.d.ts +83 -0
  353. package/dist/types/generated/abis/inco-fhevm.d.ts +874 -0
  354. package/dist/types/generated/abis/lightning.d.ts +2230 -0
  355. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  356. package/dist/types/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  357. package/dist/types/generated/es/google/api/annotations_pb.d.ts +13 -0
  358. package/dist/types/generated/es/google/api/http_pb.d.ts +440 -0
  359. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  360. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  361. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  362. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  363. package/dist/types/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  364. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +526 -0
  365. package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  366. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  367. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  368. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  369. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  370. package/dist/types/generated/fhe-environments.d.ts +14 -0
  371. package/dist/types/generated/lightning.d.ts +253 -0
  372. package/dist/types/generated/local-node.d.ts +34 -0
  373. package/dist/types/generated/ts/amino/amino.d.ts +1 -0
  374. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  375. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  376. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  377. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  378. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  379. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  380. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  381. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  382. package/dist/types/generated/ts/gogoproto/gogo.d.ts +1 -0
  383. package/dist/types/generated/ts/google/api/annotations.d.ts +1 -0
  384. package/dist/types/generated/ts/google/api/http.d.ts +371 -0
  385. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  386. package/dist/types/generated/ts/google/protobuf/duration.d.ts +99 -0
  387. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  388. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  389. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +35 -0
  390. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  391. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  392. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  393. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  394. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  395. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  396. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  397. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  398. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  399. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  400. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  401. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  402. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  403. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  404. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  405. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  406. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  407. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  408. package/dist/types/handle.d.ts +41 -0
  409. package/dist/types/index.d.ts +5 -0
  410. package/dist/types/kms/client.d.ts +8 -0
  411. package/dist/types/l1/client.d.ts +35 -0
  412. package/dist/types/l1/index.d.ts +2 -0
  413. package/dist/types/l1/preflight.d.ts +20 -0
  414. package/dist/types/lite/attested-compute.d.ts +4 -0
  415. package/dist/types/lite/attested-decrypt.d.ts +3 -0
  416. package/dist/types/lite/deployments.d.ts +6 -0
  417. package/dist/types/lite/ecies.d.ts +26 -0
  418. package/dist/types/lite/hadu.d.ts +24 -0
  419. package/dist/types/lite/index.d.ts +7 -0
  420. package/dist/types/lite/lightning.d.ts +132 -0
  421. package/dist/types/lite/reencrypt.d.ts +24 -0
  422. package/dist/types/local/index.d.ts +1 -0
  423. package/dist/types/local/local-node.d.ts +22 -0
  424. package/dist/types/reencryption/eip712.d.ts +29 -0
  425. package/dist/types/reencryption/index.d.ts +2 -0
  426. package/dist/types/reencryption/types.d.ts +25 -0
  427. package/dist/types/retry.d.ts +15 -0
  428. package/dist/types/schema.d.ts +4 -0
  429. package/dist/types/viem.d.ts +789 -0
  430. package/package.json +67 -15
  431. package/dist/attesteddecrypt/attested-decrypt.js +0 -79
  432. package/dist/attesteddecrypt/index.d.ts +0 -2
  433. package/dist/attesteddecrypt/types.d.ts +0 -28
  434. package/dist/binary.js +0 -82
  435. package/dist/chain.js +0 -28
  436. package/dist/encryption/encryption.js +0 -109
  437. package/dist/encryption/index.d.ts +0 -1
  438. package/dist/fhevm/fhe-environment.js +0 -11
  439. package/dist/fhevm/fhevm.js +0 -145
  440. package/dist/fhevm/index.d.ts +0 -1
  441. package/dist/fhevm/reencrypt.js +0 -127
  442. package/dist/fhevm/tfhe.js +0 -336
  443. package/dist/fhevm/types.js +0 -29
  444. package/dist/generated/abis/index.d.ts +0 -2
  445. package/dist/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +0 -593
  446. package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js +0 -201
  447. package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js +0 -66
  448. package/dist/generated/es/kms/base_pb.d.ts +0 -765
  449. package/dist/generated/es/kms/base_pb.js +0 -241
  450. package/dist/generated/es/sf/ethereum/type/v2/type_pb.d.ts +0 -1736
  451. package/dist/generated/es/sf/ethereum/type/v2/type_pb.js +0 -574
  452. package/dist/generated/local-node.d.ts +0 -7
  453. package/dist/generated/local-node.js +0 -11
  454. package/dist/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  455. package/dist/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  456. package/dist/generated/ts/cometbft/types/v1/params.js +0 -716
  457. package/dist/generated/ts/cometbft/types/v1/validator.js +0 -358
  458. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  459. package/dist/generated/ts/cosmos_proto/cosmos.js +0 -216
  460. package/dist/generated/ts/google/api/http.js +0 -356
  461. package/dist/generated/ts/google/protobuf/duration.js +0 -93
  462. package/dist/generated/ts/google/protobuf/timestamp.js +0 -93
  463. package/dist/generated/ts/google/protobuf/wrappers.js +0 -509
  464. package/dist/generated/ts/inco/abci/v1/types.js +0 -73
  465. package/dist/generated/ts/inco/fhe/module/v1/module.js +0 -66
  466. package/dist/generated/ts/inco/fhe/v1/events.js +0 -190
  467. package/dist/generated/ts/inco/fhe/v1/genesis.js +0 -714
  468. package/dist/generated/ts/inco/fhe/v1/tx.js +0 -1236
  469. package/dist/generated/ts/inco/fhe/v1/types.js +0 -990
  470. package/dist/generated/ts/inco/originchain/module/v1/module.js +0 -66
  471. package/dist/generated/ts/inco/originchain/v1/abci.js +0 -331
  472. package/dist/generated/ts/inco/originchain/v1/events.js +0 -216
  473. package/dist/generated/ts/inco/originchain/v1/genesis.js +0 -69
  474. package/dist/generated/ts/inco/originchain/v1/query.js +0 -280
  475. package/dist/generated/ts/inco/originchain/v1/tx.js +0 -140
  476. package/dist/generated/ts/inco/originchain/v1/types.js +0 -203
  477. package/dist/generated/ts/inco/preflight/module/v1/module.js +0 -66
  478. package/dist/generated/ts/inco/preflight/v1/genesis.js +0 -185
  479. package/dist/generated/ts/inco/preflight/v1/query.js +0 -259
  480. package/dist/generated/ts/inco/preflight/v1/tx.js +0 -448
  481. package/dist/generated/ts/inco/preflight/v1/types.js +0 -398
  482. package/dist/index.d.ts +0 -5
  483. package/dist/l1/index.d.ts +0 -2
  484. package/dist/l1/preflight.js +0 -42
  485. package/dist/lite/attested-decrypt.js +0 -6
  486. package/dist/lite/deployments.js +0 -21
  487. package/dist/lite/ecies.js +0 -135
  488. package/dist/lite/hadu.js +0 -41
  489. package/dist/lite/index.d.ts +0 -7
  490. package/dist/lite/index.js +0 -23
  491. package/dist/lite/lightning.js +0 -198
  492. package/dist/lite/reencrypt.js +0 -142
  493. package/dist/local/index.d.ts +0 -1
  494. package/dist/local/local-node.js +0 -28
  495. package/dist/reencryption/index.d.ts +0 -2
  496. package/dist/reencryption/index.js +0 -19
  497. package/dist/types.d.ts +0 -20
  498. package/dist/types.js +0 -3
  499. package/dist/viem.js +0 -12
  500. /package/dist/{binary.d.ts → cjs/binary.d.ts} +0 -0
  501. /package/dist/{generated → cjs/generated}/abis/addTwo.d.ts +0 -0
  502. /package/dist/{generated → cjs/generated}/abis/inco-fhevm.d.ts +0 -0
  503. /package/dist/{generated → cjs/generated}/fhe-environments.d.ts +0 -0
  504. /package/dist/{generated → cjs/generated}/ts/amino/amino.d.ts +0 -0
  505. /package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.d.ts +0 -0
  506. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/keys.d.ts +0 -0
  507. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/proof.d.ts +0 -0
  508. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/params.d.ts +0 -0
  509. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/validator.d.ts +0 -0
  510. /package/dist/{generated → cjs/generated}/ts/cosmos/app/v1alpha1/module.d.ts +0 -0
  511. /package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.d.ts +0 -0
  512. /package/dist/{generated → cjs/generated}/ts/cosmos_proto/cosmos.d.ts +0 -0
  513. /package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.d.ts +0 -0
  514. /package/dist/{generated → cjs/generated}/ts/google/api/annotations.d.ts +0 -0
  515. /package/dist/{generated → cjs/generated}/ts/google/api/http.d.ts +0 -0
  516. /package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.d.ts +0 -0
  517. /package/dist/{generated → cjs/generated}/ts/google/protobuf/duration.d.ts +0 -0
  518. /package/dist/{generated → cjs/generated}/ts/google/protobuf/timestamp.d.ts +0 -0
  519. /package/dist/{generated → cjs/generated}/ts/google/protobuf/wrappers.d.ts +0 -0
  520. /package/dist/{generated → cjs/generated}/ts/inco/abci/v1/types.d.ts +0 -0
  521. /package/dist/{generated → cjs/generated}/ts/inco/fhe/module/v1/module.d.ts +0 -0
  522. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/events.d.ts +0 -0
  523. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/genesis.d.ts +0 -0
  524. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/types.d.ts +0 -0
  525. /package/dist/{generated → cjs/generated}/ts/inco/originchain/module/v1/module.d.ts +0 -0
  526. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/abci.d.ts +0 -0
  527. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/events.d.ts +0 -0
  528. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/genesis.d.ts +0 -0
  529. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/types.d.ts +0 -0
  530. /package/dist/{generated → cjs/generated}/ts/inco/preflight/module/v1/module.d.ts +0 -0
  531. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/genesis.d.ts +0 -0
  532. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/types.d.ts +0 -0
  533. /package/dist/{reencryption → cjs/reencryption}/eip712.d.ts +0 -0
  534. /package/dist/{retry.d.ts → cjs/retry.d.ts} +0 -0
  535. /package/dist/{schema.d.ts → cjs/schema.d.ts} +0 -0
@@ -0,0 +1,38 @@
1
+ import type { Account, Chain, Transport, WalletClient } from 'viem';
2
+ import { SupportedChainId } from '../chain.js';
3
+ import { EciesScheme } from '../encryption/encryption.js';
4
+ import type { KmsClient } from '../kms/client.js';
5
+ import { AttestedCompute } from './types.js';
6
+ /**
7
+ * Arguments for creating an attested compute.
8
+ */
9
+ export interface IncoLiteAttestedComputeArgs {
10
+ /** The wallet used to interact with the blockchain and sign the compute request */
11
+ walletClient: WalletClient<Transport, Chain, Account>;
12
+ /** The KMS connect RPC endpoint or client instance */
13
+ kmsConnectRpcEndpointOrClient?: string | KmsClient;
14
+ /** The chain ID to use */
15
+ chainId: SupportedChainId;
16
+ }
17
+ /**
18
+ * Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
19
+ * @param args - The arguments for creating the attested compute function
20
+ * @returns A function that can perform binary operation on a handle and return an attestation
21
+ * @throws {AttestedComputeError} If the creation fails
22
+ *
23
+ * @todo Support multiple operations in a single request.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const compute = await incoLiteAttestedCompute({
28
+ * walletClient,
29
+ * chainId: sepolia,
30
+ * });
31
+ * const decryptionAttestation = await compute({
32
+ * lhsHandle: '0x...',
33
+ * op: AttestedComputeSupportedOps.Eq,
34
+ * rhsPlaintext: 1337n,
35
+ * });
36
+ * ```
37
+ */
38
+ export declare function incoLiteAttestedCompute({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }: IncoLiteAttestedComputeArgs): AttestedCompute<EciesScheme>;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.incoLiteAttestedCompute = incoLiteAttestedCompute;
4
+ const viem_1 = require("viem");
5
+ const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
6
+ const binary_js_1 = require("../binary.js");
7
+ const chain_js_1 = require("../chain.js");
8
+ const encryption_js_1 = require("../encryption/encryption.js");
9
+ const handle_js_1 = require("../handle.js");
10
+ const client_js_1 = require("../kms/client.js");
11
+ const eip712_js_1 = require("../reencryption/eip712.js");
12
+ const retry_js_1 = require("../retry.js");
13
+ const types_js_1 = require("./types.js");
14
+ const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
15
+ const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
16
+ /**
17
+ * Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
18
+ * @param args - The arguments for creating the attested compute function
19
+ * @returns A function that can perform binary operation on a handle and return an attestation
20
+ * @throws {AttestedComputeError} If the creation fails
21
+ *
22
+ * @todo Support multiple operations in a single request.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const compute = await incoLiteAttestedCompute({
27
+ * walletClient,
28
+ * chainId: sepolia,
29
+ * });
30
+ * const decryptionAttestation = await compute({
31
+ * lhsHandle: '0x...',
32
+ * op: AttestedComputeSupportedOps.Eq,
33
+ * rhsPlaintext: 1337n,
34
+ * });
35
+ * ```
36
+ */
37
+ function incoLiteAttestedCompute({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }) {
38
+ const kmsClient = (0, client_js_1.getKmsClient)(kmsConnectRpcEndpointOrClient || (0, client_js_1.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
39
+ return async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, }) {
40
+ try {
41
+ (0, attested_decrypt_js_1.validateHandle)(lhsHandle);
42
+ const rhsPlaintextBig = BigInt(rhsPlaintext);
43
+ // Create the EIP712 payload for the handles to decrypt
44
+ const eip712Payload = (0, eip712_js_1.createEIP712Payload)({
45
+ chainId: BigInt(chainId),
46
+ primaryType: 'AttestedComputeRequest',
47
+ primaryTypeFields: [
48
+ { name: 'op', type: 'uint8' },
49
+ { name: 'lhsHandle', type: 'bytes32' },
50
+ { name: 'rhsPlaintext', type: 'bytes32' },
51
+ ],
52
+ message: {
53
+ op: op,
54
+ lhsHandle: lhsHandle,
55
+ rhsPlaintext: (0, binary_js_1.bigintToBytes32)(rhsPlaintextBig),
56
+ },
57
+ domainName: ATTESTED_COMPUTE_DOMAIN_NAME,
58
+ domainVersion: ATTESTED_COMPUTE_DOMAIN_VERSION,
59
+ });
60
+ // Sign the EIP712 message
61
+ const eip712Signature = await walletClient.signTypedData(eip712Payload);
62
+ const rhsValueBytes = (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0, handle_js_1.getHandleType)(lhsHandle), rhsPlaintextBig);
63
+ const attestedComputeRequest = {
64
+ $typeName: 'inco.kms.lite.v1.AttestedComputeRequest',
65
+ userAddress: walletClient.account.address,
66
+ op: op,
67
+ lhsHandle: lhsHandle,
68
+ rhsPlaintext: rhsValueBytes.value.toString(16),
69
+ eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
70
+ };
71
+ const response = await (0, retry_js_1.retryWithBackoff)(async () => {
72
+ return await kmsClient.attestedCompute(attestedComputeRequest);
73
+ }, backoffConfig);
74
+ const decryptionAttestation = response.decryptionAttestation;
75
+ if (decryptionAttestation?.plaintext === undefined) {
76
+ throw new types_js_1.AttestedComputeError('No plaintext in response');
77
+ }
78
+ const computeResultHandle = response.decryptionAttestation?.handle;
79
+ if (!computeResultHandle) {
80
+ throw new types_js_1.AttestedComputeError('No compute result handle in response');
81
+ }
82
+ const handleType = (0, handle_js_1.getHandleType)(computeResultHandle);
83
+ const bigIntValue = (0, binary_js_1.bytesToBigInt)(decryptionAttestation.plaintext);
84
+ return {
85
+ handle: computeResultHandle,
86
+ plaintext: (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, handleType, bigIntValue),
87
+ covalidatorSignature: decryptionAttestation.signature,
88
+ };
89
+ }
90
+ catch (error) {
91
+ if (error instanceof types_js_1.AttestedComputeError) {
92
+ throw error;
93
+ }
94
+ throw new types_js_1.AttestedComputeError('Failed to perform attested compute', error);
95
+ }
96
+ };
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9EQSwwREFvRkM7QUF2SUQsK0JBQWtDO0FBQ2xDLGdGQUF3RTtBQUV4RSw0Q0FBeUU7QUFDekUsMENBQWtFO0FBQ2xFLCtEQUFrSDtBQUVsSCw0Q0FBNkM7QUFFN0MsZ0RBQXdFO0FBQ3hFLHlEQUFnRTtBQUVoRSwwQ0FBK0M7QUFDL0MseUNBQXNGO0FBRXRGLE1BQU0sNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7QUFDM0QsTUFBTSwrQkFBK0IsR0FBRyxPQUFPLENBQUM7QUFjaEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsRUFDdEMsNkJBQTZCLEVBQzdCLE9BQU8sRUFDUCxZQUFZLEdBQ2dCO0lBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUEsd0JBQVksRUFBQyw2QkFBNkIsSUFBSSxJQUFBLGtDQUFzQixFQUFDLElBQUEsNEJBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBILE9BQU8sS0FBSyxVQUFVLGVBQWUsQ0FBNkIsRUFDaEUsU0FBUyxFQUNULEVBQUUsRUFDRixZQUFZLEVBQ1osYUFBYSxHQU1kO1FBQ0MsSUFBSSxDQUFDO1lBQ0gsSUFBQSxvQ0FBYyxFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUU3Qyx1REFBdUQ7WUFDdkQsTUFBTSxhQUFhLEdBQUcsSUFBQSwrQkFBbUIsRUFBQztnQkFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLGlCQUFpQixFQUFFO29CQUNqQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFB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
@@ -0,0 +1,34 @@
1
+ import type { DecryptionAttestation } from '../attesteddecrypt/types.js';
2
+ import { HexString } from '../binary.js';
3
+ import { EncryptionScheme, SupportedFheType } from '../encryption/encryption.js';
4
+ import { SupportedScalarBinaryOp } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
5
+ import type { BackoffConfig } from '../retry.js';
6
+ /**
7
+ * Supported attested compute operations.
8
+ */
9
+ export declare const AttestedComputeSupportedOps: {
10
+ readonly Eq: SupportedScalarBinaryOp.FHE_EQ;
11
+ readonly Ne: SupportedScalarBinaryOp.FHE_NE;
12
+ readonly Ge: SupportedScalarBinaryOp.FHE_GE;
13
+ readonly Gt: SupportedScalarBinaryOp.FHE_GT;
14
+ readonly Le: SupportedScalarBinaryOp.FHE_LE;
15
+ readonly Lt: SupportedScalarBinaryOp.FHE_LT;
16
+ };
17
+ /**
18
+ * This type represents all the supported operations for attested compute.
19
+ */
20
+ export type AttestedComputeOP = (typeof AttestedComputeSupportedOps)[keyof typeof AttestedComputeSupportedOps];
21
+ /**
22
+ * Custom error class for attested compute operations.
23
+ */
24
+ export declare class AttestedComputeError extends Error {
25
+ readonly cause?: unknown | undefined;
26
+ constructor(message: string, cause?: unknown | undefined);
27
+ }
28
+ export type AttestedCompute<S extends EncryptionScheme> = <T extends SupportedFheType>(args: {
29
+ /** The handle to compute on */
30
+ lhsHandle: HexString;
31
+ op: AttestedComputeOP;
32
+ rhsPlaintext: bigint | boolean;
33
+ backoffConfig?: Partial<BackoffConfig>;
34
+ }) => Promise<DecryptionAttestation<S, T>>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AttestedComputeError = exports.AttestedComputeSupportedOps = void 0;
4
+ const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
5
+ /**
6
+ * Supported attested compute operations.
7
+ */
8
+ exports.AttestedComputeSupportedOps = {
9
+ /*
10
+ Add: SupportedScalarBinaryOp.FHE_ADD,
11
+ Sub: SupportedScalarBinaryOp.FHE_SUB,
12
+ Mul: SupportedScalarBinaryOp.FHE_MUL,
13
+ Div: SupportedScalarBinaryOp.FHE_DIV,
14
+ Rem: SupportedScalarBinaryOp.FHE_REM,
15
+ BitAnd: SupportedScalarBinaryOp.FHE_BIT_AND,
16
+ BitOr: SupportedScalarBinaryOp.FHE_BIT_OR,
17
+ BitXor: SupportedScalarBinaryOp.FHE_BIT_XOR,
18
+ Shl: SupportedScalarBinaryOp.FHE_SHL,
19
+ Shr: SupportedScalarBinaryOp.FHE_SHR,
20
+ Rotl: SupportedScalarBinaryOp.FHE_ROTL,
21
+ Rotr: SupportedScalarBinaryOp.FHE_ROTR,
22
+ */
23
+ Eq: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_EQ,
24
+ Ne: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_NE,
25
+ Ge: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_GE,
26
+ Gt: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_GT,
27
+ Le: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_LE,
28
+ Lt: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_LT,
29
+ /*
30
+ Min: SupportedScalarBinaryOp.FHE_MIN,
31
+ Max: SupportedScalarBinaryOp.FHE_MAX,
32
+ */
33
+ };
34
+ /**
35
+ * Custom error class for attested compute operations.
36
+ */
37
+ class AttestedComputeError extends Error {
38
+ cause;
39
+ constructor(message, cause) {
40
+ super(message);
41
+ this.cause = cause;
42
+ this.name = 'AttestedComputeError';
43
+ }
44
+ }
45
+ exports.AttestedComputeError = AttestedComputeError;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRjb21wdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDBGQUE2RjtBQUc3Rjs7R0FFRztBQUNVLFFBQUEsMkJBQTJCLEdBQUc7SUFDekM7Ozs7Ozs7Ozs7Ozs7TUFhRTtJQUNGLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDOzs7TUFHRTtDQUNNLENBQUM7QUFPWDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsS0FBSztJQUczQjtJQUZsQixZQUNFLE9BQWUsRUFDQyxLQUFlO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFSRCxvREFRQyJ9
@@ -1,9 +1,14 @@
1
1
  import type { Account, Chain, Transport, WalletClient } from 'viem';
2
- import { HexString } from '../binary';
3
- import { SupportedChain } from '../chain';
4
- import { EciesScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption';
5
- import type { KmsClient } from '../kms/client';
6
- import type { BackoffConfig } from '../retry';
2
+ import { SupportedChainId } from '../chain.js';
3
+ import { EciesScheme } from '../encryption/encryption.js';
4
+ import type { KmsClient } from '../kms/client.js';
5
+ import { AttestedDecryptor } from './types.js';
6
+ /**
7
+ * Validates a handle format.
8
+ * @param handle - The handle to validate
9
+ * @throws {AttestedDecryptError} If the handle format is invalid
10
+ */
11
+ export declare function validateHandle(handle: string): void;
7
12
  /**
8
13
  * Arguments for creating an attested decryptor.
9
14
  */
@@ -13,23 +18,23 @@ export interface IncoLiteAttestedDecryptorArgs {
13
18
  /** The KMS connect RPC endpoint or client instance */
14
19
  kmsConnectRpcEndpointOrClient?: string | KmsClient;
15
20
  /** The chain ID to use */
16
- chainId: SupportedChain;
21
+ chainId: SupportedChainId;
17
22
  }
18
23
  /**
19
- * Creates an attested decryptor that can decrypt handles using attestation.
24
+ * Creates an attested decryptor that can decrypt handles with an attached attestation from the covalidator.
20
25
  * @param args - The arguments for creating the decryptor
21
26
  * @returns A function that can decrypt handles using attestation
22
27
  * @throws {AttestedDecryptError} If the decryptor creation fails
23
28
  *
29
+ * @todo Support multiple handles in a single request.
30
+ *
24
31
  * @example
25
32
  * ```typescript
26
33
  * const decryptor = await incoLiteAttestedDecryptor({
27
34
  * walletClient,
28
35
  * chainId: sepolia,
29
36
  * });
30
- * const plaintext = await decryptor({ handle: '0x...' });
37
+ * const { plaintext, covalidatorSignature } = await decryptor({ handle: '0x...' });
31
38
  * ```
32
39
  */
33
- export declare function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }: IncoLiteAttestedDecryptorArgs): Promise<(<T extends SupportedFheType>({ handle, }: {
34
- handle: HexString;
35
- }, backoffConfig?: Partial<BackoffConfig>) => Promise<PlaintextOf<EciesScheme, T>>)>;
40
+ export declare function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }: IncoLiteAttestedDecryptorArgs): AttestedDecryptor<EciesScheme>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateHandle = validateHandle;
4
+ exports.incoLiteAttestedDecryptor = incoLiteAttestedDecryptor;
5
+ const viem_1 = require("viem");
6
+ const binary_js_1 = require("../binary.js");
7
+ const chain_js_1 = require("../chain.js");
8
+ const encryption_js_1 = require("../encryption/encryption.js");
9
+ const handle_js_1 = require("../handle.js");
10
+ const client_js_1 = require("../kms/client.js");
11
+ const eip712_js_1 = require("../reencryption/eip712.js");
12
+ const retry_js_1 = require("../retry.js");
13
+ const types_js_1 = require("./types.js");
14
+ const ATTESTED_DECRYPT_DOMAIN_NAME = 'IncoAttestedDecrypt';
15
+ const ATTESTED_DECRYPT_DOMAIN_VERSION = '0.1.0';
16
+ /**
17
+ * Validates a handle format.
18
+ * @param handle - The handle to validate
19
+ * @throws {AttestedDecryptError} If the handle format is invalid
20
+ */
21
+ function validateHandle(handle) {
22
+ if (!handle.startsWith('0x') || handle.length !== 66) {
23
+ throw new types_js_1.AttestedDecryptError('Invalid handle format: must be a 32-byte hex string with 0x prefix');
24
+ }
25
+ }
26
+ /**
27
+ * Creates an attested decryptor that can decrypt handles with an attached attestation from the covalidator.
28
+ * @param args - The arguments for creating the decryptor
29
+ * @returns A function that can decrypt handles using attestation
30
+ * @throws {AttestedDecryptError} If the decryptor creation fails
31
+ *
32
+ * @todo Support multiple handles in a single request.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const decryptor = await incoLiteAttestedDecryptor({
37
+ * walletClient,
38
+ * chainId: sepolia,
39
+ * });
40
+ * const { plaintext, covalidatorSignature } = await decryptor({ handle: '0x...' });
41
+ * ```
42
+ */
43
+ function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }) {
44
+ const kmsClient = (0, client_js_1.getKmsClient)(kmsConnectRpcEndpointOrClient || (0, client_js_1.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
45
+ return async function attestedDecrypt({ handle, backoffConfig, }) {
46
+ try {
47
+ validateHandle(handle);
48
+ // Create the EIP712 payload for the handles to decrypt
49
+ const eip712Payload = (0, eip712_js_1.createEIP712Payload)({
50
+ chainId: BigInt(chainId),
51
+ primaryType: 'AttestedDecryptRequest',
52
+ primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
53
+ message: {
54
+ handles: [handle],
55
+ },
56
+ domainName: ATTESTED_DECRYPT_DOMAIN_NAME,
57
+ domainVersion: ATTESTED_DECRYPT_DOMAIN_VERSION,
58
+ });
59
+ // Sign the EIP712 message
60
+ const eip712Signature = await walletClient.signTypedData(eip712Payload);
61
+ const attestedDecryptRequest = {
62
+ $typeName: 'inco.kms.lite.v1.AttestedDecryptRequest',
63
+ userAddress: walletClient.account.address,
64
+ handles: [handle],
65
+ eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
66
+ };
67
+ const response = await (0, retry_js_1.retryWithBackoff)(async () => {
68
+ return await kmsClient.attestedDecrypt(attestedDecryptRequest);
69
+ }, backoffConfig);
70
+ if (response.decryptionAttestations.length !== 1) {
71
+ throw new types_js_1.AttestedDecryptError('Expected 1 decryption attestation in response');
72
+ }
73
+ const decryptionAttestation = response.decryptionAttestations[0];
74
+ if (decryptionAttestation.plaintext === undefined) {
75
+ throw new types_js_1.AttestedDecryptError('No plaintext in response');
76
+ }
77
+ const handleType = (0, handle_js_1.getHandleType)(handle);
78
+ const bigIntValue = (0, binary_js_1.bytesToBigInt)(decryptionAttestation.plaintext);
79
+ return {
80
+ handle: decryptionAttestation.handle,
81
+ plaintext: (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, handleType, bigIntValue),
82
+ covalidatorSignature: decryptionAttestation.signature,
83
+ };
84
+ }
85
+ catch (error) {
86
+ if (error instanceof types_js_1.AttestedDecryptError) {
87
+ throw error;
88
+ }
89
+ throw new types_js_1.AttestedDecryptError('Failed to decrypt handle', error);
90
+ }
91
+ };
92
+ }
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNCQSx3Q0FJQztBQStCRCw4REFvRUM7QUE1SEQsK0JBQWtDO0FBQ2xDLDRDQUF3RDtBQUN4RCwwQ0FBa0U7QUFDbEUsK0RBQWtIO0FBRWxILDRDQUE2QztBQUU3QyxnREFBd0U7QUFDeEUseURBQWdFO0FBRWhFLDBDQUErQztBQUMvQyx5Q0FBNEY7QUFFNUYsTUFBTSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUMzRCxNQUFNLCtCQUErQixHQUFHLE9BQU8sQ0FBQztBQUVoRDs7OztHQUlHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLE1BQWM7SUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxNQUFNLElBQUksK0JBQW9CLENBQUMsb0VBQW9FLENBQUMsQ0FBQztJQUN2RyxDQUFDO0FBQ0gsQ0FBQztBQWNEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IseUJBQXlCLENBQUMsRUFDeEMsNkJBQTZCLEVBQzdCLE9BQU8sRUFDUCxZQUFZLEdBQ2tCO0lBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUEsd0JBQVksRUFBQyw2QkFBNkIsSUFBSSxJQUFBLGtDQUFzQixFQUFDLElBQUEsNEJBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBILE9BQU8sS0FBSyxVQUFVLGVBQWUsQ0FBNkIsRUFDaEUsTUFBTSxFQUNOLGFBQWEsR0FJZDtRQUNDLElBQUksQ0FBQztZQUNILGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV2Qix1REFBdUQ7WUFDdkQsTUFBTSxhQUFhLEdBQUcsSUFBQSwrQkFBbUIsRUFBQztnQkFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDM0QsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztpQkFDbEI7Z0JBQ0QsVUFBVSxFQUFFLDRCQUE0QjtnQkFDeEMsYUFBYSxFQUFFLCtCQUErQjthQUMvQyxDQUFDLENBQUM7WUFFSCwwQkFBMEI7WUFDMUIsTUFBTSxlQUFlLEdBQUcsTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXhFLE1BQU0sc0JBQXNCLEdBQTJCO2dCQUNyRCxTQUFTLEVBQUUseUNBQXlDO2dCQUNwRCxXQUFXLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUN6QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pCLGVBQWUsRUFBRSxJQUFBLGlCQUFVLEVBQUMsZUFBZSxDQUFDO2FBQzdDLENBQUM7WUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMkJBQWdCLEVBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2pELE9BQU8sTUFBTSxTQUFTLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDakUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBRWxCLElBQUksUUFBUSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxJQUFJLCtCQUFvQixDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDbEYsQ0FBQztZQUVELE1BQU0scUJBQXFCLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpFLElBQUkscUJBQXFCLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLElBQUksK0JBQW9CLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBYSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQWEsRUFBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVuRSxPQUFPO2dCQUNMLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxNQUFtQjtnQkFDakQsU0FBUyxFQUFFLElBQUEsaUNBQWlCLEVBQUMsaUNBQWlCLENBQUMsS0FBSyxFQUFFLFVBQWUsRUFBRSxXQUFXLENBQUM7Z0JBQ25GLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDLFNBQVM7YUFDdEQsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxLQUFLLFlBQVksK0JBQW9CLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxLQUFLLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxJQUFJLCtCQUFvQixDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export * from './attested-decrypt.js';
2
+ export * from './types.js';
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./lightning"), exports);
18
- __exportStar(require("./addTwo"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2FiaXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUEyQjtBQUMzQiwyQ0FBd0IifQ==
17
+ __exportStar(require("./attested-decrypt.js"), exports);
18
+ __exportStar(require("./types.js"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRkZWNyeXB0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBc0M7QUFDdEMsNkNBQTJCIn0=
@@ -0,0 +1,20 @@
1
+ import { HexString } from '../binary.js';
2
+ import { EncryptionScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption.js';
3
+ import type { BackoffConfig } from '../retry.js';
4
+ /**
5
+ * Custom error class for attested decrypt operations.
6
+ */
7
+ export declare class AttestedDecryptError extends Error {
8
+ readonly cause?: unknown | undefined;
9
+ constructor(message: string, cause?: unknown | undefined);
10
+ }
11
+ export type DecryptionAttestation<S extends EncryptionScheme, T extends SupportedFheType> = {
12
+ handle: HexString;
13
+ plaintext: PlaintextOf<S, T>;
14
+ covalidatorSignature: Uint8Array;
15
+ };
16
+ export type AttestedDecryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: {
17
+ /** The handle to decrypt */
18
+ handle: HexString;
19
+ backoffConfig?: Partial<BackoffConfig>;
20
+ }) => Promise<DecryptionAttestation<S, T>>;
@@ -13,4 +13,4 @@ class AttestedDecryptError extends Error {
13
13
  }
14
14
  }
15
15
  exports.AttestedDecryptError = AttestedDecryptError;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0ZXN0ZWRkZWNyeXB0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQTs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsS0FBSztJQUczQjtJQUZsQixZQUNFLE9BQWUsRUFDQyxLQUFlO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFSRCxvREFRQyJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRkZWNyeXB0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBRzNCO0lBRmxCLFlBQ0UsT0FBZSxFQUNDLEtBQWU7UUFFL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRkMsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQVJELG9EQVFDIn0=
@@ -0,0 +1,82 @@
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_js_1 = require("./schema.js");
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_js_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_js_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_js_1.parse)(exports.Address, address);
78
+ }
79
+ function parseHex(hex) {
80
+ return (0, schema_js_1.parse)(exports.HexString, hex);
81
+ }
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSxzQ0FHQztBQUVELHdDQUVDO0FBS0QsMENBRUM7QUFFRCwwQkFPQztBQUVELDBDQUdDO0FBRUQsZ0RBRUM7QUFFRCw4QkFLQztBQUVELHdDQUVDO0FBRUQsZ0NBRUM7QUEyQkQsOEJBRUM7QUFXRCxvQ0FFQztBQUVELDRCQUVDO0FBdkdELG1DQUE2QztBQUM3QywrQkFBa0M7QUFDbEMsMkNBQW9DO0FBRXZCLFFBQUEsU0FBUyxHQUFHLGVBQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQU1yRSxTQUFnQixhQUFhLENBQUMsU0FBcUI7SUFDakQsK0dBQStHO0lBQy9HLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRyxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLE1BQWM7SUFDM0MsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsK0VBQStFO0FBQy9FLGtEQUFrRDtBQUNsRCxTQUFnQixlQUFlLENBQUMsS0FBYTtJQUMzQyxPQUFPLElBQUEsaUJBQUssRUFBQyxlQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxD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
@@ -2,6 +2,9 @@ export declare const supportedChains: {
2
2
  readonly baseSepolia: 84532;
3
3
  readonly sepolia: 11155111;
4
4
  readonly monadTestnet: 10143;
5
+ readonly plasmaTestnet: 9746;
6
+ readonly worldchainSepolia: 4801;
7
+ readonly anvil: 31337;
5
8
  };
6
9
  export declare const fheSupportedChains: {
7
10
  readonly baseSepolia: 84532;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ // No imports here to avoid issues with closures and modules across pulumi boundary
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.fheSupportedChains = exports.supportedChains = void 0;
5
+ exports.getSupportedChain = getSupportedChain;
6
+ // This file can be seen as mirroring the functionality of viem changes without depending on it directly.
7
+ // It exists as a workaround for some very gnarly issues with code reuse between Pulumi and this module, partly
8
+ // relating to modules but also linked to Pulumi's ability to capture closures and serialise them.
9
+ exports.supportedChains = {
10
+ baseSepolia: 84532,
11
+ sepolia: 11155111,
12
+ monadTestnet: 10143,
13
+ plasmaTestnet: 9746,
14
+ worldchainSepolia: 4801,
15
+ anvil: 31337,
16
+ };
17
+ exports.fheSupportedChains = { baseSepolia: 84532, sepolia: 11155111 };
18
+ // Get supportedChain either by its chain ID or the short name (lower pascal case)
19
+ function getSupportedChain(chainish) {
20
+ const found = typeof chainish === 'number' || typeof chainish === 'bigint'
21
+ ? Object.entries(exports.supportedChains).find(([, id]) => id === Number(chainish))
22
+ : typeof chainish === 'object'
23
+ ? Object.entries(exports.supportedChains).find(([, id]) => id === Number(chainish.id))
24
+ : Object.entries(exports.supportedChains).find(([shortName]) => shortName === chainish);
25
+ if (!found) {
26
+ throw new Error(`Supported chain ${chainish} not found`);
27
+ }
28
+ const [name, id] = found;
29
+ return { name: name, id };
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1GQUFtRjs7O0FBOEJuRiw4Q0FZQztBQXhDRCx5R0FBeUc7QUFDekcsK0dBQStHO0FBQy9HLGtHQUFrRztBQUVyRixRQUFBLGVBQWUsR0FBRztJQUM3QixXQUFXLEVBQUUsS0FBSztJQUNsQixPQUFPLEVBQUUsUUFBUTtJQUNqQixZQUFZLEVBQUUsS0FBSztJQUNuQixhQUFhLEVBQUUsSUFBSTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLEtBQUssRUFBRSxLQUFLO0NBQ0osQ0FBQztBQUVFLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQVcsQ0FBQztBQWNyRixrRkFBa0Y7QUFDbEYsU0FBZ0IsaUJBQWlCLENBQUMsUUFBa0I7SUFDbEQsTUFBTSxLQUFLLEdBQ1QsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDMUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUTtZQUM1QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5RSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ3RGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLFFBQVEsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBMEIsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUNsRCxDQUFDIn0=
@@ -1,6 +1,6 @@
1
1
  import { Schema } from 'effect';
2
- import { Bytes32 } from '../binary';
3
- import { InputContext } from '../handle';
2
+ import { Bytes32 } from '../binary.js';
3
+ import { InputContext } from '../handle.js';
4
4
  export type Encryptor<S extends EncryptionScheme = EncryptionScheme> = <T extends SupportedFheType>(plaintext: PlaintextWithContextOf<S, T>) => Promise<EncryptResultOf<S, T>>;
5
5
  export type Decryptor<S extends EncryptionScheme = EncryptionScheme> = <T extends SupportedFheType>(ciphertext: CiphertextOf<S, T>, context?: InputContext) => Promise<PlaintextOf<S, T>>;
6
6
  export declare const supportedFheTypes: {