@inco/js 0.3.2 → 0.5.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 (436) hide show
  1. package/README.md +4 -1
  2. package/dist/cjs/advancedacl/session-key.d.ts +30 -1
  3. package/dist/cjs/advancedacl/session-key.js +222 -54
  4. package/dist/cjs/attestedcompute/attested-compute.d.ts +2 -0
  5. package/dist/cjs/attestedcompute/attested-compute.js +19 -10
  6. package/dist/cjs/attestedcompute/types.d.ts +3 -2
  7. package/dist/cjs/attestedcompute/types.js +1 -1
  8. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +2 -0
  9. package/dist/cjs/attesteddecrypt/attested-decrypt.js +31 -13
  10. package/dist/cjs/attesteddecrypt/types.d.ts +3 -2
  11. package/dist/cjs/attesteddecrypt/types.js +1 -1
  12. package/dist/cjs/attestedreveal/attested-reveal.d.ts +21 -0
  13. package/dist/cjs/attestedreveal/attested-reveal.js +67 -0
  14. package/dist/cjs/attestedreveal/index.d.ts +1 -0
  15. package/dist/cjs/{fhevm → attestedreveal}/index.js +2 -2
  16. package/dist/cjs/attestedreveal/types.d.ts +7 -0
  17. package/dist/cjs/attestedreveal/types.js +16 -0
  18. package/dist/cjs/binary.js +6 -3
  19. package/dist/cjs/chain.js +5 -2
  20. package/dist/cjs/encryption/encryption.js +1 -1
  21. package/dist/cjs/generated/abis/TestElist.d.ts +247 -0
  22. package/dist/cjs/generated/abis/TestElist.js +152 -0
  23. package/dist/cjs/generated/abis/addTwo.d.ts +12 -30
  24. package/dist/cjs/generated/abis/addTwo.js +7 -18
  25. package/dist/cjs/generated/abis/lightning-preview.d.ts +98 -979
  26. package/dist/cjs/generated/abis/lightning-preview.js +100 -635
  27. package/dist/cjs/generated/abis/lightning.d.ts +80 -425
  28. package/dist/cjs/generated/abis/lightning.js +64 -317
  29. package/dist/{esm/generated/abis/inco-fhevm.d.ts → cjs/generated/abis/verifier.d.ts} +610 -468
  30. package/dist/cjs/generated/abis/verifier.js +704 -0
  31. package/dist/cjs/generated/es/cosmos_proto/cosmos_pb.js +1 -1
  32. package/dist/cjs/generated/es/inco/fhe/v1/types_pb.js +1 -1
  33. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  34. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +18 -8
  35. package/dist/cjs/generated/es/inco/kms/lite/v1/types_pb.js +1 -1
  36. package/dist/cjs/generated/lightning.d.ts +31 -10
  37. package/dist/cjs/generated/lightning.js +33 -11
  38. package/dist/cjs/handle.d.ts +1 -1
  39. package/dist/cjs/handle.js +5 -3
  40. package/dist/cjs/kms/client.js +1 -1
  41. package/dist/cjs/lite/attested-compute.d.ts +6 -3
  42. package/dist/cjs/lite/attested-compute.js +7 -1
  43. package/dist/cjs/lite/attested-decrypt.d.ts +2 -0
  44. package/dist/cjs/lite/attested-decrypt.js +5 -1
  45. package/dist/cjs/lite/deployments.js +1 -1
  46. package/dist/cjs/lite/ecies.d.ts +2 -2
  47. package/dist/cjs/lite/ecies.js +3 -3
  48. package/dist/cjs/lite/hadu.d.ts +1 -1
  49. package/dist/cjs/lite/hadu.js +2 -2
  50. package/dist/cjs/lite/index.d.ts +4 -1
  51. package/dist/cjs/lite/index.js +3 -1
  52. package/dist/cjs/lite/lightning.d.ts +33 -1
  53. package/dist/cjs/lite/lightning.js +60 -47
  54. package/dist/cjs/lite/reencrypt.d.ts +0 -1
  55. package/dist/cjs/lite/reencrypt.js +10 -21
  56. package/dist/cjs/local/local-node.js +38 -3
  57. package/dist/cjs/reencryption/eip712.d.ts +2 -2
  58. package/dist/cjs/reencryption/eip712.js +2 -11
  59. package/dist/cjs/reencryption/types.d.ts +1 -2
  60. package/dist/cjs/retry.d.ts +1 -1
  61. package/dist/cjs/retry.js +2 -2
  62. package/dist/cjs/schema.js +1 -1
  63. package/dist/cjs/viem.d.ts +12 -15
  64. package/dist/cjs/viem.js +9 -2
  65. package/dist/esm/advancedacl/session-key.d.ts +30 -1
  66. package/dist/esm/advancedacl/session-key.js +218 -52
  67. package/dist/esm/attestedcompute/attested-compute.d.ts +2 -0
  68. package/dist/esm/attestedcompute/attested-compute.js +17 -9
  69. package/dist/esm/attestedcompute/types.d.ts +3 -2
  70. package/dist/esm/attestedcompute/types.js +1 -1
  71. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +2 -0
  72. package/dist/esm/attesteddecrypt/attested-decrypt.js +29 -12
  73. package/dist/esm/attesteddecrypt/types.d.ts +3 -2
  74. package/dist/esm/attesteddecrypt/types.js +1 -1
  75. package/dist/esm/attestedreveal/attested-reveal.d.ts +21 -0
  76. package/dist/esm/attestedreveal/attested-reveal.js +64 -0
  77. package/dist/esm/attestedreveal/index.d.ts +1 -0
  78. package/dist/esm/attestedreveal/index.js +2 -0
  79. package/dist/esm/attestedreveal/types.d.ts +7 -0
  80. package/dist/esm/attestedreveal/types.js +12 -0
  81. package/dist/esm/binary.js +6 -3
  82. package/dist/esm/chain.js +5 -2
  83. package/dist/esm/encryption/encryption.js +1 -1
  84. package/dist/esm/generated/abis/TestElist.d.ts +247 -0
  85. package/dist/esm/generated/abis/TestElist.js +149 -0
  86. package/dist/esm/generated/abis/addTwo.d.ts +12 -30
  87. package/dist/esm/generated/abis/addTwo.js +7 -18
  88. package/dist/esm/generated/abis/lightning-preview.d.ts +98 -979
  89. package/dist/esm/generated/abis/lightning-preview.js +100 -635
  90. package/dist/esm/generated/abis/lightning.d.ts +80 -425
  91. package/dist/esm/generated/abis/lightning.js +64 -317
  92. package/dist/{cjs/generated/abis/inco-fhevm.d.ts → esm/generated/abis/verifier.d.ts} +610 -468
  93. package/dist/esm/generated/abis/verifier.js +701 -0
  94. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +1 -1
  95. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +1 -1
  96. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  97. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +17 -7
  98. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +1 -1
  99. package/dist/esm/generated/lightning.d.ts +31 -10
  100. package/dist/esm/generated/lightning.js +33 -11
  101. package/dist/esm/handle.d.ts +1 -1
  102. package/dist/esm/handle.js +5 -3
  103. package/dist/esm/kms/client.js +1 -1
  104. package/dist/esm/lite/attested-compute.d.ts +6 -3
  105. package/dist/esm/lite/attested-compute.js +4 -2
  106. package/dist/esm/lite/attested-decrypt.d.ts +2 -0
  107. package/dist/esm/lite/attested-decrypt.js +3 -2
  108. package/dist/esm/lite/deployments.js +1 -1
  109. package/dist/esm/lite/ecies.d.ts +2 -2
  110. package/dist/esm/lite/ecies.js +4 -4
  111. package/dist/esm/lite/hadu.d.ts +1 -1
  112. package/dist/esm/lite/hadu.js +2 -2
  113. package/dist/esm/lite/index.d.ts +4 -1
  114. package/dist/esm/lite/index.js +3 -1
  115. package/dist/esm/lite/lightning.d.ts +33 -1
  116. package/dist/esm/lite/lightning.js +63 -50
  117. package/dist/esm/lite/reencrypt.d.ts +0 -1
  118. package/dist/esm/lite/reencrypt.js +13 -23
  119. package/dist/esm/local/local-node.js +38 -3
  120. package/dist/esm/reencryption/eip712.d.ts +2 -2
  121. package/dist/esm/reencryption/eip712.js +2 -11
  122. package/dist/esm/reencryption/types.d.ts +1 -2
  123. package/dist/esm/retry.d.ts +1 -1
  124. package/dist/esm/retry.js +2 -2
  125. package/dist/esm/schema.js +1 -1
  126. package/dist/esm/viem.d.ts +12 -15
  127. package/dist/esm/viem.js +10 -3
  128. package/dist/types/advancedacl/session-key.d.ts +30 -1
  129. package/dist/types/attestedcompute/attested-compute.d.ts +2 -0
  130. package/dist/types/attestedcompute/types.d.ts +3 -2
  131. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +2 -0
  132. package/dist/types/attesteddecrypt/types.d.ts +3 -2
  133. package/dist/types/attestedreveal/attested-reveal.d.ts +21 -0
  134. package/dist/types/attestedreveal/index.d.ts +1 -0
  135. package/dist/types/attestedreveal/types.d.ts +7 -0
  136. package/dist/types/generated/abis/TestElist.d.ts +247 -0
  137. package/dist/types/generated/abis/addTwo.d.ts +12 -30
  138. package/dist/types/generated/abis/lightning-preview.d.ts +98 -979
  139. package/dist/types/generated/abis/lightning.d.ts +80 -425
  140. package/dist/types/generated/abis/{inco-fhevm.d.ts → verifier.d.ts} +610 -468
  141. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  142. package/dist/types/generated/lightning.d.ts +31 -10
  143. package/dist/types/handle.d.ts +1 -1
  144. package/dist/types/lite/attested-compute.d.ts +6 -3
  145. package/dist/types/lite/attested-decrypt.d.ts +2 -0
  146. package/dist/types/lite/ecies.d.ts +2 -2
  147. package/dist/types/lite/hadu.d.ts +1 -1
  148. package/dist/types/lite/index.d.ts +4 -1
  149. package/dist/types/lite/lightning.d.ts +33 -1
  150. package/dist/types/lite/reencrypt.d.ts +0 -1
  151. package/dist/types/reencryption/eip712.d.ts +2 -2
  152. package/dist/types/reencryption/types.d.ts +1 -2
  153. package/dist/types/retry.d.ts +1 -1
  154. package/dist/types/viem.d.ts +12 -15
  155. package/package.json +40 -53
  156. package/dist/cjs/fhevm/fhe-environment.d.ts +0 -9
  157. package/dist/cjs/fhevm/fhe-environment.js +0 -11
  158. package/dist/cjs/fhevm/fhevm.d.ts +0 -41
  159. package/dist/cjs/fhevm/fhevm.js +0 -145
  160. package/dist/cjs/fhevm/index.d.ts +0 -1
  161. package/dist/cjs/fhevm/reencrypt.d.ts +0 -20
  162. package/dist/cjs/fhevm/reencrypt.js +0 -127
  163. package/dist/cjs/fhevm/tfhe.d.ts +0 -74
  164. package/dist/cjs/fhevm/tfhe.js +0 -336
  165. package/dist/cjs/fhevm/types.d.ts +0 -3
  166. package/dist/cjs/fhevm/types.js +0 -29
  167. package/dist/cjs/generated/abis/inco-fhevm.js +0 -681
  168. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  169. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.js +0 -36
  170. package/dist/cjs/generated/es/google/api/annotations_pb.d.ts +0 -13
  171. package/dist/cjs/generated/es/google/api/annotations_pb.js +0 -30
  172. package/dist/cjs/generated/es/google/api/http_pb.d.ts +0 -440
  173. package/dist/cjs/generated/es/google/api/http_pb.js +0 -37
  174. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  175. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.js +0 -24
  176. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  177. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.js +0 -49
  178. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  179. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.js +0 -111
  180. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  181. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.js +0 -111
  182. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  183. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.js +0 -23
  184. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  185. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.js +0 -41
  186. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  187. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.js +0 -51
  188. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  189. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.js +0 -37
  190. package/dist/cjs/generated/fhe-environments.d.ts +0 -14
  191. package/dist/cjs/generated/fhe-environments.js +0 -18
  192. package/dist/cjs/generated/ts/amino/amino.d.ts +0 -1
  193. package/dist/cjs/generated/ts/amino/amino.js +0 -11
  194. package/dist/cjs/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  195. package/dist/cjs/generated/ts/cometbft/abci/v1/types.js +0 -5079
  196. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  197. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  198. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  199. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  200. package/dist/cjs/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  201. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +0 -716
  202. package/dist/cjs/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  203. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +0 -358
  204. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  205. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  206. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  207. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.js +0 -11
  208. package/dist/cjs/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  209. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +0 -216
  210. package/dist/cjs/generated/ts/gogoproto/gogo.d.ts +0 -1
  211. package/dist/cjs/generated/ts/gogoproto/gogo.js +0 -11
  212. package/dist/cjs/generated/ts/google/api/annotations.d.ts +0 -1
  213. package/dist/cjs/generated/ts/google/api/annotations.js +0 -11
  214. package/dist/cjs/generated/ts/google/api/http.d.ts +0 -371
  215. package/dist/cjs/generated/ts/google/api/http.js +0 -356
  216. package/dist/cjs/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  217. package/dist/cjs/generated/ts/google/protobuf/descriptor.js +0 -5108
  218. package/dist/cjs/generated/ts/google/protobuf/duration.d.ts +0 -99
  219. package/dist/cjs/generated/ts/google/protobuf/duration.js +0 -93
  220. package/dist/cjs/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  221. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +0 -93
  222. package/dist/cjs/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  223. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +0 -509
  224. package/dist/cjs/generated/ts/inco/abci/v1/types.d.ts +0 -35
  225. package/dist/cjs/generated/ts/inco/abci/v1/types.js +0 -73
  226. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  227. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +0 -66
  228. package/dist/cjs/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  229. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +0 -190
  230. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  231. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +0 -714
  232. package/dist/cjs/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  233. package/dist/cjs/generated/ts/inco/fhe/v1/query.js +0 -1394
  234. package/dist/cjs/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  235. package/dist/cjs/generated/ts/inco/fhe/v1/tx.js +0 -1236
  236. package/dist/cjs/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  237. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +0 -990
  238. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  239. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +0 -66
  240. package/dist/cjs/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  241. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +0 -331
  242. package/dist/cjs/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  243. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +0 -216
  244. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  245. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +0 -69
  246. package/dist/cjs/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  247. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +0 -280
  248. package/dist/cjs/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  249. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +0 -140
  250. package/dist/cjs/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  251. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +0 -203
  252. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  253. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +0 -66
  254. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  255. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +0 -185
  256. package/dist/cjs/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  257. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +0 -259
  258. package/dist/cjs/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  259. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +0 -448
  260. package/dist/cjs/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  261. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +0 -398
  262. package/dist/cjs/l1/client.d.ts +0 -35
  263. package/dist/cjs/l1/client.js +0 -97
  264. package/dist/cjs/l1/index.d.ts +0 -2
  265. package/dist/cjs/l1/index.js +0 -19
  266. package/dist/cjs/l1/preflight.d.ts +0 -20
  267. package/dist/cjs/l1/preflight.js +0 -42
  268. package/dist/esm/fhevm/fhe-environment.d.ts +0 -9
  269. package/dist/esm/fhevm/fhe-environment.js +0 -8
  270. package/dist/esm/fhevm/fhevm.d.ts +0 -41
  271. package/dist/esm/fhevm/fhevm.js +0 -139
  272. package/dist/esm/fhevm/index.d.ts +0 -1
  273. package/dist/esm/fhevm/index.js +0 -2
  274. package/dist/esm/fhevm/reencrypt.d.ts +0 -20
  275. package/dist/esm/fhevm/reencrypt.js +0 -123
  276. package/dist/esm/fhevm/tfhe.d.ts +0 -74
  277. package/dist/esm/fhevm/tfhe.js +0 -328
  278. package/dist/esm/fhevm/types.d.ts +0 -3
  279. package/dist/esm/fhevm/types.js +0 -26
  280. package/dist/esm/generated/abis/inco-fhevm.js +0 -678
  281. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  282. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +0 -33
  283. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +0 -13
  284. package/dist/esm/generated/es/google/api/annotations_pb.js +0 -27
  285. package/dist/esm/generated/es/google/api/http_pb.d.ts +0 -440
  286. package/dist/esm/generated/es/google/api/http_pb.js +0 -34
  287. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  288. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +0 -21
  289. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  290. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +0 -46
  291. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  292. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +0 -108
  293. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  294. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +0 -108
  295. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  296. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +0 -20
  297. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  298. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +0 -38
  299. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  300. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +0 -48
  301. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  302. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +0 -34
  303. package/dist/esm/generated/fhe-environments.d.ts +0 -14
  304. package/dist/esm/generated/fhe-environments.js +0 -15
  305. package/dist/esm/generated/ts/amino/amino.d.ts +0 -1
  306. package/dist/esm/generated/ts/amino/amino.js +0 -8
  307. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  308. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +0 -5063
  309. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  310. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +0 -105
  311. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  312. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +0 -430
  313. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  314. package/dist/esm/generated/ts/cometbft/types/v1/params.js +0 -713
  315. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  316. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +0 -353
  317. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  318. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +0 -218
  319. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  320. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +0 -8
  321. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  322. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +0 -211
  323. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +0 -1
  324. package/dist/esm/generated/ts/gogoproto/gogo.js +0 -8
  325. package/dist/esm/generated/ts/google/api/annotations.d.ts +0 -1
  326. package/dist/esm/generated/ts/google/api/annotations.js +0 -8
  327. package/dist/esm/generated/ts/google/api/http.d.ts +0 -371
  328. package/dist/esm/generated/ts/google/api/http.js +0 -353
  329. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  330. package/dist/esm/generated/ts/google/protobuf/descriptor.js +0 -5070
  331. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +0 -99
  332. package/dist/esm/generated/ts/google/protobuf/duration.js +0 -90
  333. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  334. package/dist/esm/generated/ts/google/protobuf/timestamp.js +0 -90
  335. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  336. package/dist/esm/generated/ts/google/protobuf/wrappers.js +0 -506
  337. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +0 -35
  338. package/dist/esm/generated/ts/inco/abci/v1/types.js +0 -70
  339. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  340. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +0 -63
  341. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  342. package/dist/esm/generated/ts/inco/fhe/v1/events.js +0 -187
  343. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  344. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +0 -711
  345. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  346. package/dist/esm/generated/ts/inco/fhe/v1/query.js +0 -1391
  347. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  348. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +0 -1233
  349. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  350. package/dist/esm/generated/ts/inco/fhe/v1/types.js +0 -985
  351. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  352. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +0 -63
  353. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  354. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +0 -328
  355. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  356. package/dist/esm/generated/ts/inco/originchain/v1/events.js +0 -213
  357. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  358. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +0 -66
  359. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  360. package/dist/esm/generated/ts/inco/originchain/v1/query.js +0 -277
  361. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  362. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +0 -137
  363. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  364. package/dist/esm/generated/ts/inco/originchain/v1/types.js +0 -200
  365. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  366. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +0 -63
  367. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  368. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +0 -182
  369. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  370. package/dist/esm/generated/ts/inco/preflight/v1/query.js +0 -256
  371. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  372. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +0 -445
  373. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  374. package/dist/esm/generated/ts/inco/preflight/v1/types.js +0 -395
  375. package/dist/esm/l1/client.d.ts +0 -35
  376. package/dist/esm/l1/client.js +0 -93
  377. package/dist/esm/l1/index.d.ts +0 -2
  378. package/dist/esm/l1/index.js +0 -3
  379. package/dist/esm/l1/preflight.d.ts +0 -20
  380. package/dist/esm/l1/preflight.js +0 -39
  381. package/dist/types/fhevm/fhe-environment.d.ts +0 -9
  382. package/dist/types/fhevm/fhevm.d.ts +0 -41
  383. package/dist/types/fhevm/index.d.ts +0 -1
  384. package/dist/types/fhevm/reencrypt.d.ts +0 -20
  385. package/dist/types/fhevm/tfhe.d.ts +0 -74
  386. package/dist/types/fhevm/types.d.ts +0 -3
  387. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  388. package/dist/types/generated/es/google/api/annotations_pb.d.ts +0 -13
  389. package/dist/types/generated/es/google/api/http_pb.d.ts +0 -440
  390. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  391. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  392. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  393. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  394. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  395. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  396. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  397. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  398. package/dist/types/generated/fhe-environments.d.ts +0 -14
  399. package/dist/types/generated/ts/amino/amino.d.ts +0 -1
  400. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  401. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  402. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  403. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  404. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  405. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  406. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  407. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  408. package/dist/types/generated/ts/gogoproto/gogo.d.ts +0 -1
  409. package/dist/types/generated/ts/google/api/annotations.d.ts +0 -1
  410. package/dist/types/generated/ts/google/api/http.d.ts +0 -371
  411. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  412. package/dist/types/generated/ts/google/protobuf/duration.d.ts +0 -99
  413. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  414. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  415. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +0 -35
  416. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  417. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  418. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  419. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  420. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  421. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  422. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  423. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  424. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  425. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  426. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  427. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  428. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  429. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  430. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  431. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  432. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  433. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  434. package/dist/types/l1/client.d.ts +0 -35
  435. package/dist/types/l1/index.d.ts +0 -2
  436. package/dist/types/l1/preflight.d.ts +0 -20
package/README.md CHANGED
@@ -89,7 +89,10 @@ const backoffConfig: BackoffConfig = {
89
89
  baseDelayInMs: 1000,
90
90
  backoffFactor: 1.5,
91
91
  };
92
- const resultPlaintext = await reencryptor({ handle: resultHandle }, backoffConfig);
92
+ const resultPlaintext = await reencryptor(
93
+ { handle: resultHandle },
94
+ backoffConfig,
95
+ );
93
96
  ```
94
97
 
95
98
  ## License
@@ -1,9 +1,14 @@
1
1
  import type { Client } from '@connectrpc/connect';
2
2
  import { type Account, type Address, type Chain, type Hex, type Transport, type WalletClient } from 'viem';
3
+ import { DecryptionAttestation } from '../attesteddecrypt/index.js';
4
+ import { SupportedChainId } from '../chain.js';
3
5
  import { type EciesScheme, SupportedFheType } from '../encryption/encryption.js';
6
+ import { HexString } from '../index.js';
4
7
  import type { KmsService, Secp256k1Keypair } from '../lite/index.js';
5
8
  import { type ReencryptFnArgs } from '../reencryption/index.js';
9
+ import { BackoffConfig } from '../retry.js';
6
10
  import type { AllowanceVoucher, AllowanceVoucherWithSig } from './types.js';
11
+ import { AttestedComputeOP } from '../attestedcompute/types.js';
7
12
  export interface Session {
8
13
  decrypter: Address;
9
14
  expiresAt: bigint;
@@ -24,5 +29,29 @@ export interface SessionKeyReencryptorArgs {
24
29
  kmsConnectRpcEndpointOrClient: string | Client<typeof KmsService>;
25
30
  allowanceVoucherWithSig: AllowanceVoucherWithSig;
26
31
  }
27
- export declare function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }: SessionKeyReencryptorArgs): Promise<(<T extends SupportedFheType>({ handle }: ReencryptFnArgs<EciesScheme, T>) => Promise<import("../encryption/encryption.js").PlaintextOf<1, 0 | 5 | 7 | 8>>)>;
32
+ export declare function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }: SessionKeyReencryptorArgs): Promise<(<T extends SupportedFheType>({ handle, }: ReencryptFnArgs<EciesScheme, T>) => Promise<import("../encryption/encryption.js").PlaintextOf<1, 0 | 5 | 7 | 8>>)>;
28
33
  export declare function updateActiveVouchersSessionNonce(incoLiteAddress: Address, sharerWalletClient: WalletClient<Transport, Chain, Account>): Promise<`0x${string}`>;
34
+ export interface SessionKeyAttestedComputeArgs {
35
+ chainId: SupportedChainId;
36
+ ephemeralKeypair: Secp256k1Keypair;
37
+ kmsConnectRpcEndpointOrClient: string | Client<typeof KmsService>;
38
+ allowanceVoucherWithSig: AllowanceVoucherWithSig;
39
+ lhsHandle: HexString;
40
+ op: AttestedComputeOP;
41
+ rhsPlaintext: bigint | boolean;
42
+ backoffConfig?: Partial<BackoffConfig> | undefined;
43
+ }
44
+ export declare function sessionKeyAttestedCompute<T extends SupportedFheType>({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }: SessionKeyAttestedComputeArgs): Promise<{
45
+ handle: HexString;
46
+ plaintext: import("../encryption/encryption.js").PlaintextOf<1, T>;
47
+ covalidatorSignature: Uint8Array<ArrayBufferLike>;
48
+ }>;
49
+ export interface SessionKeyAttestedDecryptArgs {
50
+ chainId: SupportedChainId;
51
+ ephemeralKeypair: Secp256k1Keypair;
52
+ kmsConnectRpcEndpointOrClient: string | Client<typeof KmsService>;
53
+ allowanceVoucherWithSig: AllowanceVoucherWithSig;
54
+ handles: HexString[];
55
+ backoffConfig?: Partial<BackoffConfig> | undefined;
56
+ }
57
+ export declare function sessionKeyAttestedDecrypt({ chainId, kmsConnectRpcEndpointOrClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, }: SessionKeyAttestedDecryptArgs): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
@@ -4,26 +4,33 @@ exports.createAllowanceVoucher = createAllowanceVoucher;
4
4
  exports.grantSessionKey = grantSessionKey;
5
5
  exports.sessionKeyReencryptor = sessionKeyReencryptor;
6
6
  exports.updateActiveVouchersSessionNonce = updateActiveVouchersSessionNonce;
7
+ exports.sessionKeyAttestedCompute = sessionKeyAttestedCompute;
8
+ exports.sessionKeyAttestedDecrypt = sessionKeyAttestedDecrypt;
9
+ const protobuf_1 = require("@bufbuild/protobuf");
7
10
  const viem_1 = require("viem");
8
11
  const accounts_1 = require("viem/accounts");
12
+ const index_js_1 = require("../attesteddecrypt/index.js");
9
13
  const chain_js_1 = require("../chain.js");
14
+ const encryption_js_1 = require("../encryption/encryption.js");
10
15
  const lightning_preview_js_1 = require("../generated/abis/lightning-preview.js");
11
16
  const lightning_js_1 = require("../generated/abis/lightning.js");
12
- const index_js_1 = require("../lite/index.js");
13
- const index_js_2 = require("../reencryption/index.js");
17
+ const verifier_js_1 = require("../generated/abis/verifier.js");
18
+ const index_js_2 = require("../index.js");
19
+ const index_js_3 = require("../lite/index.js");
20
+ const index_js_4 = require("../reencryption/index.js");
21
+ const retry_js_1 = require("../retry.js");
22
+ const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
23
+ const types_pb_js_1 = require("../generated/es/inco/kms/lite/v1/types_pb.js");
14
24
  // Given a sharer's wallet client, an incoLite contract address, and a
15
25
  // (verifyingContract, callFunction, sharerArgData) tuple, this function
16
26
  // creates an AllowanceVoucher.
17
27
  async function createAllowanceVoucher(incoLiteAddress, sharerWalletClient, verifyingContract, callFunction, sharerArgData) {
18
- const advancedACL = (0, viem_1.getContract)({
19
- address: incoLiteAddress,
20
- // Could have used the incoLightningAbi, but this is more efficient.
21
- abi: lightning_preview_js_1.advancedAccessControlAbi,
22
- client: sharerWalletClient,
23
- });
28
+ const verifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
24
29
  // The session nonce in the AllowanceVoucher must match the current active
25
30
  // session nonce of the sharer on-chain.
26
- const sessionNonce = await advancedACL.read.getActiveVouchersSessionNonce([sharerWalletClient.account.address]);
31
+ const sessionNonce = await verifier.read.getActiveVouchersSessionNonce([
32
+ sharerWalletClient.account.address,
33
+ ]);
27
34
  return {
28
35
  sessionNonce,
29
36
  verifyingContract,
@@ -37,29 +44,36 @@ async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifierContra
37
44
  decrypter: granteeAddress,
38
45
  expiresAt: BigInt(Math.floor(expiresAt.getTime() / 1000)),
39
46
  };
40
- const sharerArgData = (0, viem_1.encodeAbiParameters)(getSessionAbi(), [session.decrypter, session.expiresAt]);
41
- // Get the domain name and version from the incoLite contract.
42
- const incoLitePreview = (0, viem_1.getContract)({
43
- abi: lightning_js_1.incoLightningAbi,
44
- address: incoLiteAddress,
45
- client: sharerWalletClient,
46
- });
47
- const eip712DomainName = await incoLitePreview.read.getName();
48
- const eip712DomainVersion = await incoLitePreview.read.getVersion();
47
+ const sharerArgData = (0, viem_1.encodeAbiParameters)(getSessionAbi(), [
48
+ session.decrypter,
49
+ session.expiresAt,
50
+ ]);
51
+ const incoVerifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
52
+ // returned by read.eip712Domain():
53
+ // bytes1 fields,
54
+ // string memory name,
55
+ // string memory version,
56
+ // uint256 chainId,
57
+ // address verifyingContract,
58
+ // bytes32 salt,
59
+ // uint256[] memory extensions
60
+ const verifierDomain = await incoVerifier.read.eip712Domain();
61
+ const eip712DomainName = verifierDomain[1];
62
+ const eip712DomainVersion = verifierDomain[2];
49
63
  const voucher = await createAllowanceVoucher(incoLiteAddress, sharerWalletClient,
50
64
  // Careful that the verifying contract here is the SessionVerifier contract,
51
65
  // not the incoLite contract.
52
66
  sessionVerifierContractAddress, (0, viem_1.toFunctionSelector)(getCanUseSessionAbi()), sharerArgData);
53
- const eip712Payload = (0, index_js_2.createEIP712Payload)({
67
+ const eip712Payload = (0, index_js_4.createEIP712Payload)({
54
68
  chainId,
55
69
  primaryType: 'AllowanceVoucher',
56
70
  primaryTypeFields: getAllowanceVoucherAbi(),
57
71
  message: voucher,
58
72
  // Related to comment above: careful that the verifying contract here is
59
- // the incoLite contract (not the SessionVerifier contract).
60
- verifyingContract: incoLiteAddress,
61
- ...(eip712DomainName && { domainName: eip712DomainName }),
62
- ...(eip712DomainVersion && { domainVersion: eip712DomainVersion }),
73
+ // the incoVerifier contract (not the SessionVerifier contract).
74
+ verifyingContract: incoVerifier.address,
75
+ domainName: eip712DomainName,
76
+ domainVersion: eip712DomainVersion,
63
77
  });
64
78
  // Using browser extensions, this step will prompt the user to sign the
65
79
  // payload.
@@ -73,66 +87,197 @@ async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifierContra
73
87
  // The sessionKeyReencryptor function is a reencryptor that uses a session key
74
88
  // to reencrypt data.
75
89
  async function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
76
- const kmsClient = (0, index_js_1.getKmsClient)(kmsConnectRpcEndpointOrClient || (0, index_js_1.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
90
+ const kmsClient = (0, index_js_3.getKmsClient)(kmsConnectRpcEndpointOrClient ||
91
+ (0, index_js_3.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
77
92
  const requesterAccount = (0, accounts_1.privateKeyToAccount)(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
78
93
  const ephemeralPubKey = ephemeralKeypair.encodePublicKey();
79
94
  // Sign the EIP712 attesting that the requester has access to the private key
80
95
  // corresponding to the ephemeral public key.
81
- const eip712Payload = (0, index_js_1.reencryptEIP712)(chainId, ephemeralPubKey);
96
+ const eip712Payload = (0, index_js_3.reencryptEIP712)(chainId, ephemeralPubKey);
82
97
  // Since the account is an ephemeral keypair stored in memory (not in Metamask),
83
98
  // this step will NOT prompt the user with a pop-up.
84
99
  const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
85
- return async function reencrypt({ handle }) {
86
- const reencryptRequest = {
87
- $typeName: 'inco.kms.lite.v1.ReencryptRequest',
100
+ return async function reencrypt({ handle, }) {
101
+ const reencryptRequest = (0, protobuf_1.create)(kms_service_pb_js_1.ReencryptRequestSchema, {
88
102
  userAddress: requesterAccount.address,
89
103
  ephemeralPubKey,
90
104
  eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
91
105
  handlesWithProofs: [
92
- {
93
- $typeName: 'inco.kms.lite.v1.HandleWithProof',
106
+ (0, protobuf_1.create)(types_pb_js_1.HandleWithProofSchema, {
94
107
  handle,
95
108
  aclProof: {
96
- $typeName: 'inco.kms.lite.v1.ACLProof',
97
109
  proof: {
98
- value: {
99
- $typeName: 'inco.kms.lite.v1.IncoLiteAdvancedACLProof',
100
- allowanceProof: {
101
- $typeName: 'inco.kms.lite.v1.AllowanceProof',
110
+ case: 'incoLiteAdvancedAclProof',
111
+ value: (0, protobuf_1.create)(types_pb_js_1.IncoLiteAdvancedACLProofSchema, {
112
+ allowanceProof: (0, protobuf_1.create)(types_pb_js_1.AllowanceProofSchema, {
102
113
  sharer: allowanceVoucherWithSig.sharer,
103
- voucher: {
104
- // Converting from the AllowanceVoucher domain type to the
105
- // AllowanceVoucher proto type.
106
- $typeName: 'inco.kms.lite.v1.AllowanceVoucher',
114
+ voucher: (0, protobuf_1.create)(types_pb_js_1.AllowanceVoucherSchema, {
107
115
  sessionNonce: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.sessionNonce),
108
116
  verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
109
117
  callFunction: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.callFunction),
110
118
  sharerArgData: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.sharerArgData),
111
- },
119
+ }),
112
120
  voucherSignature: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucherSignature),
113
- // For SessionVerifier, the requesterArgData is empty.
114
121
  requesterArgData: new Uint8Array(),
115
- },
116
- },
117
- case: 'incoLiteAdvancedAclProof',
122
+ }),
123
+ }),
118
124
  },
119
125
  },
120
- },
126
+ }),
121
127
  ],
122
- };
128
+ });
123
129
  const response = await kmsClient.reencrypt(reencryptRequest);
124
- return (0, index_js_1.decryptGrpcResponse)(response, ephemeralKeypair, handle);
130
+ return (0, index_js_3.decryptGrpcResponse)(response, ephemeralKeypair, handle);
125
131
  };
126
132
  }
127
133
  async function updateActiveVouchersSessionNonce(incoLiteAddress, sharerWalletClient) {
128
- const advancedACL = (0, viem_1.getContract)({
129
- address: incoLiteAddress,
130
- abi: lightning_preview_js_1.advancedAccessControlAbi,
131
- client: sharerWalletClient,
132
- });
133
- const txHash = await advancedACL.write.updateActiveVouchersSessionNonce();
134
+ const verifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
135
+ const txHash = await verifier.write.updateActiveVouchersSessionNonce();
134
136
  return txHash;
135
137
  }
138
+ // The sessionKeyAttestedCompute function is a decryptor that uses a session key
139
+ // to compute on a handle.
140
+ async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
141
+ const kmsClient = (0, index_js_3.getKmsClient)(kmsConnectRpcEndpointOrClient ||
142
+ (0, index_js_3.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
143
+ const requesterAccount = (0, accounts_1.privateKeyToAccount)(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
144
+ const rhsPlaintextBig = BigInt(rhsPlaintext);
145
+ const rhsValueBytes = (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0, index_js_2.getHandleType)(lhsHandle), rhsPlaintextBig);
146
+ // Sign the EIP712 attesting that the requester has access to the private key
147
+ // corresponding to the ephemeral public key.
148
+ const eip712Payload = (0, index_js_4.createEIP712Payload)({
149
+ chainId: BigInt(chainId),
150
+ primaryType: 'AttestedComputeRequest',
151
+ primaryTypeFields: [
152
+ { name: 'op', type: 'uint8' },
153
+ { name: 'lhsHandle', type: 'bytes32' },
154
+ { name: 'rhsPlaintext', type: 'bytes32' },
155
+ ],
156
+ message: {
157
+ op: op,
158
+ lhsHandle: lhsHandle,
159
+ rhsPlaintext: (0, index_js_2.bigintToBytes32)(rhsPlaintextBig),
160
+ },
161
+ domainName: index_js_3.ATTESTED_COMPUTE_DOMAIN_NAME,
162
+ domainVersion: index_js_3.ATTESTED_COMPUTE_DOMAIN_VERSION,
163
+ });
164
+ // Since the account is an ephemeral keypair stored in memory (not in Metamask),
165
+ // this step will NOT prompt the user with a pop-up.
166
+ const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
167
+ const attestedComputeRequest = (0, protobuf_1.create)(kms_service_pb_js_1.AttestedComputeRequestSchema, {
168
+ userAddress: requesterAccount.address,
169
+ op: op,
170
+ lhsHandle: lhsHandle,
171
+ rhsPlaintext: rhsValueBytes.value.toString(16),
172
+ eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
173
+ aclProof: {
174
+ proof: {
175
+ case: 'incoLiteAdvancedAclProof',
176
+ value: (0, protobuf_1.create)(types_pb_js_1.IncoLiteAdvancedACLProofSchema, {
177
+ allowanceProof: (0, protobuf_1.create)(types_pb_js_1.AllowanceProofSchema, {
178
+ sharer: allowanceVoucherWithSig.sharer,
179
+ voucher: (0, protobuf_1.create)(types_pb_js_1.AllowanceVoucherSchema, {
180
+ sessionNonce: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.sessionNonce),
181
+ verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
182
+ callFunction: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.callFunction),
183
+ sharerArgData: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.sharerArgData),
184
+ }),
185
+ voucherSignature: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucherSignature),
186
+ // For SessionVerifier, the requesterArgData is empty.
187
+ requesterArgData: new Uint8Array(),
188
+ }),
189
+ }),
190
+ },
191
+ },
192
+ });
193
+ const response = await (0, retry_js_1.retryWithBackoff)(async () => {
194
+ return await kmsClient.attestedCompute(attestedComputeRequest);
195
+ }, backoffConfig);
196
+ if (!response.decryptionAttestation) {
197
+ throw new Error('Failed to get decryption attestation from attested compute');
198
+ }
199
+ const decryptionAttestation = response.decryptionAttestation;
200
+ if (decryptionAttestation.plaintext === undefined) {
201
+ throw new Error('No plaintext in compute response');
202
+ }
203
+ const bigIntValue = (0, index_js_2.bytesToBigInt)(decryptionAttestation.plaintext);
204
+ return {
205
+ handle: decryptionAttestation.handle,
206
+ plaintext: (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0, index_js_2.getHandleType)(lhsHandle), bigIntValue),
207
+ covalidatorSignature: decryptionAttestation.signature,
208
+ };
209
+ }
210
+ // The sessionKeyAttestedDecrypt function is a decryptor that uses a session key
211
+ // to decrypt data.
212
+ async function sessionKeyAttestedDecrypt({ chainId, kmsConnectRpcEndpointOrClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, }) {
213
+ const kmsClient = (0, index_js_3.getKmsClient)(kmsConnectRpcEndpointOrClient ||
214
+ (0, index_js_3.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
215
+ const requesterAccount = (0, accounts_1.privateKeyToAccount)(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
216
+ // Sign the EIP712 attesting that the requester has access to the private key
217
+ // corresponding to the ephemeral public key.
218
+ const eip712Payload = (0, index_js_4.createEIP712Payload)({
219
+ chainId: BigInt(chainId),
220
+ primaryType: 'AttestedDecryptRequest',
221
+ primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
222
+ message: {
223
+ handles: handles,
224
+ },
225
+ domainName: index_js_3.ATTESTED_DECRYPT_DOMAIN_NAME,
226
+ domainVersion: index_js_3.ATTESTED_DECRYPT_DOMAIN_VERSION,
227
+ });
228
+ // Since the account is an ephemeral keypair stored in memory (not in Metamask),
229
+ // this step will NOT prompt the user with a pop-up.
230
+ const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
231
+ const handlesWithProofs = handles.map((handle) => {
232
+ return (0, protobuf_1.create)(types_pb_js_1.HandleWithProofSchema, {
233
+ handle: handle,
234
+ aclProof: {
235
+ proof: {
236
+ case: 'incoLiteAdvancedAclProof',
237
+ value: (0, protobuf_1.create)(types_pb_js_1.IncoLiteAdvancedACLProofSchema, {
238
+ allowanceProof: (0, protobuf_1.create)(types_pb_js_1.AllowanceProofSchema, {
239
+ sharer: allowanceVoucherWithSig.sharer,
240
+ voucher: (0, protobuf_1.create)(types_pb_js_1.AllowanceVoucherSchema, {
241
+ sessionNonce: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.sessionNonce),
242
+ verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
243
+ callFunction: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.callFunction),
244
+ sharerArgData: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucher.sharerArgData),
245
+ }),
246
+ voucherSignature: (0, viem_1.hexToBytes)(allowanceVoucherWithSig.voucherSignature),
247
+ requesterArgData: new Uint8Array(),
248
+ }),
249
+ }),
250
+ },
251
+ },
252
+ });
253
+ });
254
+ const attestedDecryptRequest = (0, protobuf_1.create)(kms_service_pb_js_1.AttestedDecryptRequestSchema, {
255
+ userAddress: requesterAccount.address,
256
+ handlesWithProofs: handlesWithProofs,
257
+ eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
258
+ });
259
+ const response = await (0, retry_js_1.retryWithBackoff)(async () => {
260
+ return await kmsClient.attestedDecrypt(attestedDecryptRequest);
261
+ }, backoffConfig);
262
+ if (!response.decryptionAttestations ||
263
+ response.decryptionAttestations.length === 0) {
264
+ throw new index_js_1.AttestedDecryptError('No decryption attestations in response');
265
+ }
266
+ const results = response.decryptionAttestations.map((att) => {
267
+ if (att.plaintext === undefined) {
268
+ throw new index_js_1.AttestedDecryptError('No plaintext in attestation');
269
+ }
270
+ const h = att.handle;
271
+ const handleType = (0, index_js_2.getHandleType)(h);
272
+ const bigIntValue = (0, index_js_2.bytesToBigInt)(att.plaintext);
273
+ return {
274
+ handle: h,
275
+ plaintext: (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, handleType, bigIntValue),
276
+ covalidatorSignature: att.signature,
277
+ };
278
+ });
279
+ return results;
280
+ }
136
281
  // Below are helpers to get ABIs of functions/structs from the SessionVerifier
137
282
  // contract.
138
283
  // Get the ABI of the `AllowanceVoucher` struct.
@@ -173,4 +318,27 @@ function getCanUseSessionAbi() {
173
318
  }
174
319
  return canUseSession;
175
320
  }
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5Q0Esd0RBd0JDO0FBd0JELDBDQXNEQztBQXNCRCxzREEyREM7QUFFRCw0RUFXQztBQTVPRCwrQkFXYztBQUNkLDRDQUFvRDtBQUNwRCwwQ0FBZ0Q7QUFFaEQsaUZBQW9IO0FBQ3BILGlFQUFrRTtBQUVsRSwrQ0FBOEc7QUFDOUcsdURBQXFGO0FBa0JyRixzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLCtCQUErQjtBQUN4QixLQUFLLFVBQVUsc0JBQXNCLENBQzFDLGVBQXdCLEVBQ3hCLGtCQUEyRCxFQUMzRCxpQkFBMEIsRUFDMUIsWUFBaUIsRUFDakIsYUFBa0I7SUFFbEIsTUFBTSxXQUFXLEdBQUcsSUFBQSxrQkFBVyxFQUFDO1FBQzlCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLG9FQUFvRTtRQUNwRSxHQUFHLEVBQUUsK0NBQXdCO1FBQzdCLE1BQU0sRUFBRSxrQkFBa0I7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsMEVBQTBFO0lBQzFFLHdDQUF3QztJQUN4QyxNQUFNLFlBQVksR0FBRyxNQUFNLFdBQVcsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVoSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDO0FBdUJELG1EQUFtRDtBQUM1QyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLE9BQU8sRUFDUCxlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsU0FBUyxHQUNXO0lBQ3BCLE1BQU0sT0FBTyxHQUFHO1FBQ2QsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFF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
321
+ function getAdvancedAcl(incoVerifierAddress, sharerWalletClient) {
322
+ return (0, viem_1.getContract)({
323
+ address: incoVerifierAddress,
324
+ abi: lightning_preview_js_1.advancedAccessControlAbi,
325
+ client: sharerWalletClient,
326
+ });
327
+ }
328
+ function getIncoLightning(incoLiteAddress, walletClient) {
329
+ return (0, viem_1.getContract)({
330
+ address: incoLiteAddress,
331
+ abi: lightning_js_1.incoLightningAbi,
332
+ client: walletClient,
333
+ });
334
+ }
335
+ async function getIncoVerifier(incoLiteAddress, walletClient) {
336
+ const incoLite = getIncoLightning(incoLiteAddress, walletClient);
337
+ const incoVerifierAddress = await incoLite.read.incoVerifier();
338
+ return (0, viem_1.getContract)({
339
+ address: incoVerifierAddress,
340
+ abi: verifier_js_1.incoVerifierAbi,
341
+ client: walletClient,
342
+ });
343
+ }
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4RkEsd0RBcUJDO0FBd0JELDBDQWlFQztBQXNCRCxzREFrRUM7QUFFRCw0RUFPQztBQTZCRCw4REE4R0M7QUEwQkQsOERBMEdDO0FBNWpCRCxpREFBNEM7QUFFNUMsK0JBV2M7QUFDZCw0Q0FBb0Q7QUFDcEQsMERBR3FDO0FBQ3JDLDBDQUFrRTtBQUNsRSwrREFLcUM7QUFDckMsaUZBSWdEO0FBQ2hELGlFQUFrRTtBQUNsRSwrREFBZ0U7QUFDaEUsMENBS3FCO0FBU3JCLCtDQVMwQjtBQUMxQix1REFHa0M7QUFDbEMsMENBQThEO0FBSTlELDBGQUk0RDtBQUM1RCw4RUFLc0Q7QUFnQnRELHNFQUFzRTtBQUN0RSx3RUFBd0U7QUFDeEUsK0JBQStCO0FBQ3hCLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsZUFBd0IsRUFDeEIsa0JBQTJELEVBQzNELGlCQUEwQixFQUMxQixZQUFpQixFQUNqQixhQUFrQjtJQUVsQixNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUU1RSwwRUFBMEU7SUFDMUUsd0NBQXdDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztRQUNyRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDO0FBdUJELG1EQUFtRDtBQUM1QyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLE9BQU8sRUFDUCxlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsU0FB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
@@ -6,6 +6,8 @@ import { EciesScheme, SupportedFheType } from '../encryption/encryption.js';
6
6
  import type { KmsClient } from '../kms/client.js';
7
7
  import type { BackoffConfig } from '../retry.js';
8
8
  import { AttestedComputeOP } from './types.js';
9
+ export declare const ATTESTED_COMPUTE_DOMAIN_NAME = "IncoAttestedCompute";
10
+ export declare const ATTESTED_COMPUTE_DOMAIN_VERSION = "0.1.0";
9
11
  /**
10
12
  * Arguments for creating an attested compute.
11
13
  */
@@ -1,18 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ATTESTED_COMPUTE_DOMAIN_VERSION = exports.ATTESTED_COMPUTE_DOMAIN_NAME = void 0;
3
4
  exports.attestedCompute = attestedCompute;
5
+ const protobuf_1 = require("@bufbuild/protobuf");
4
6
  const viem_1 = require("viem");
5
7
  const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
6
8
  const binary_js_1 = require("../binary.js");
7
9
  const chain_js_1 = require("../chain.js");
8
10
  const encryption_js_1 = require("../encryption/encryption.js");
11
+ const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
9
12
  const handle_js_1 = require("../handle.js");
10
13
  const client_js_1 = require("../kms/client.js");
11
14
  const eip712_js_1 = require("../reencryption/eip712.js");
12
15
  const retry_js_1 = require("../retry.js");
13
16
  const types_js_1 = require("./types.js");
14
- const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
15
- const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
17
+ exports.ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
18
+ exports.ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
16
19
  /**
17
20
  * Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
18
21
  * @param args - The arguments for creating the attested compute function
@@ -23,7 +26,8 @@ const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
23
26
  */
24
27
  async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsConnectRpcEndpointOrClient, chainId, }) {
25
28
  try {
26
- const kmsClient = (0, client_js_1.getKmsClient)(kmsConnectRpcEndpointOrClient || (0, client_js_1.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
29
+ const kmsClient = (0, client_js_1.getKmsClient)(kmsConnectRpcEndpointOrClient ||
30
+ (0, client_js_1.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
27
31
  (0, attested_decrypt_js_1.validateHandle)(lhsHandle);
28
32
  const rhsPlaintextBig = BigInt(rhsPlaintext);
29
33
  // Create the EIP712 payload for the handles to decrypt
@@ -40,26 +44,31 @@ async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, wal
40
44
  lhsHandle: lhsHandle,
41
45
  rhsPlaintext: (0, binary_js_1.bigintToBytes32)(rhsPlaintextBig),
42
46
  },
43
- domainName: ATTESTED_COMPUTE_DOMAIN_NAME,
44
- domainVersion: ATTESTED_COMPUTE_DOMAIN_VERSION,
47
+ domainName: exports.ATTESTED_COMPUTE_DOMAIN_NAME,
48
+ domainVersion: exports.ATTESTED_COMPUTE_DOMAIN_VERSION,
45
49
  });
46
50
  // Sign the EIP712 message
47
51
  const eip712Signature = await walletClient.signTypedData(eip712Payload);
48
52
  const rhsValueBytes = (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0, handle_js_1.getHandleType)(lhsHandle), rhsPlaintextBig);
49
- const attestedComputeRequest = {
50
- $typeName: 'inco.kms.lite.v1.AttestedComputeRequest',
53
+ const attestedComputeRequest = (0, protobuf_1.create)(kms_service_pb_js_1.AttestedComputeRequestSchema, {
51
54
  userAddress: walletClient.account.address,
52
55
  op: op,
53
56
  lhsHandle: lhsHandle,
54
57
  rhsPlaintext: rhsValueBytes.value.toString(16),
55
58
  eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
56
- };
59
+ aclProof: {
60
+ proof: {
61
+ case: 'incoLiteBasicAclProof',
62
+ value: {},
63
+ },
64
+ },
65
+ });
57
66
  const response = await (0, retry_js_1.retryWithBackoff)(async () => {
58
67
  return await kmsClient.attestedCompute(attestedComputeRequest);
59
68
  }, backoffConfig);
60
69
  const decryptionAttestation = response.decryptionAttestation;
61
70
  if (decryptionAttestation?.plaintext === undefined) {
62
- throw new types_js_1.AttestedComputeError('No plaintext in response');
71
+ throw new types_js_1.AttestedComputeError('No plaintext in compute response');
63
72
  }
64
73
  const computeResultHandle = response.decryptionAttestation?.handle;
65
74
  if (!computeResultHandle) {
@@ -80,4 +89,4 @@ async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, wal
80
89
  throw new types_js_1.AttestedComputeError('Failed to perform attested compute', error);
81
90
  }
82
91
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVDQSwwQ0FtRkM7QUF6SEQsK0JBQWtDO0FBQ2xDLGdGQUF3RTtBQUV4RSw0Q0FBeUU7QUFDekUsMENBQWtFO0FBQ2xFLCtEQUFrSDtBQUVsSCw0Q0FBNkM7QUFFN0MsZ0RBQXdFO0FBQ3hFLHlEQUFnRTtBQUVoRSwwQ0FBK0M7QUFDL0MseUNBQXFFO0FBRXJFLE1BQU0sNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7QUFDM0QsTUFBTSwrQkFBK0IsR0FBRyxPQUFPLENBQUM7QUFjaEQ7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxlQUFlLENBQTZCLEVBQ2hFLFNBQVMsRUFDVCxFQUFFLEVBQ0YsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osNkJBQTZCLEVBQzdCLE9BQU8sR0FTUjtJQUNDLElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUEsd0JBQVksRUFBQyw2QkFBNkIsSUFBSSxJQUFBLGtDQUFzQixFQUFDLElBQUEsNEJBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BILElBQUEsb0NBQWMsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUUxQixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFN0MsdURBQXVEO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLElBQUEsK0JBQW1CLEVBQUM7WUFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDeEIsV0FBVyxFQUFFLHdCQUF3QjtZQUNyQyxpQkFBaUIsRUFBRTtnQkFDakIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7Z0JBQzdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJ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
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnREEsMENBc0dDO0FBdEpELGlEQUE0QztBQUU1QywrQkFBa0M7QUFDbEMsZ0ZBQXdFO0FBRXhFLDRDQUF5RTtBQUN6RSwwQ0FBa0U7QUFDbEUsK0RBS3FDO0FBQ3JDLDBGQUc0RDtBQUM1RCw0Q0FBNkM7QUFFN0MsZ0RBQXdFO0FBQ3hFLHlEQUFnRTtBQUVoRSwwQ0FBK0M7QUFDL0MseUNBQXFFO0FBRXhELFFBQUEsNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7QUFDckQsUUFBQSwrQkFBK0IsR0FBRyxPQUFPLENBQUM7QUFjdkQ7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxlQUFlLENBQTZCLEVBQ2hFLFNBQVMsRUFDVCxFQUFFLEVBQ0YsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osNkJBQTZCLEVBQzdCLE9BQU8sR0FTUjtJQUNDLElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUEsd0JBQVksRUFDNUIsNkJBQTZCO1lBQzNCLElBQUEsa0NBQXNCLEVBQUMsSUFBQSw0QkFBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUNyRCxDQUFDO1FBQ0YsSUFBQSxvQ0FBYyxFQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU3Qyx1REFBdUQ7UUFDdkQsTUFBTSxhQUFhLEdBQUcsSUFBQSwrQkFBbUIsRUFBQztZQUN4QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUN4QixXQUFXLEVBQUUsd0JBQXdCO1lBQ3JDLGlCQUFpQixFQUFFO2dCQUNqQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtnQkFDN0Is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
@@ -25,10 +25,11 @@ export declare class AttestedComputeError extends Error {
25
25
  readonly cause?: unknown | undefined;
26
26
  constructor(message: string, cause?: unknown | undefined);
27
27
  }
28
- export type AttestedCompute<S extends EncryptionScheme> = <T extends SupportedFheType>(args: {
28
+ export type AttestedCompute<S extends EncryptionScheme> = <T extends SupportedFheType>(args: AttestedComputeFnArgs<S, T>) => Promise<DecryptionAttestation<S, T>>;
29
+ export type AttestedComputeFnArgs<S extends EncryptionScheme, T extends SupportedFheType> = {
29
30
  /** The handle to compute on */
30
31
  lhsHandle: HexString;
31
32
  op: AttestedComputeOP;
32
33
  rhsPlaintext: bigint | boolean;
33
34
  backoffConfig?: Partial<BackoffConfig>;
34
- }) => Promise<DecryptionAttestation<S, T>>;
35
+ };
@@ -43,4 +43,4 @@ class AttestedComputeError extends Error {
43
43
  }
44
44
  }
45
45
  exports.AttestedComputeError = AttestedComputeError;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRjb21wdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDBGQUE2RjtBQUc3Rjs7R0FFRztBQUNVLFFBQUEsMkJBQTJCLEdBQUc7SUFDekM7Ozs7Ozs7Ozs7Ozs7TUFhRTtJQUNGLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDOzs7TUFHRTtDQUNNLENBQUM7QUFPWDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsS0FBSztJQUczQjtJQUZsQixZQUNFLE9BQWUsRUFDQyxLQUFlO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFSRCxvREFRQyJ9
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRjb21wdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDBGQUE2RjtBQUc3Rjs7R0FFRztBQUNVLFFBQUEsMkJBQTJCLEdBQUc7SUFDekM7Ozs7Ozs7Ozs7Ozs7TUFhRTtJQUNGLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDOzs7TUFHRTtDQUNNLENBQUM7QUFRWDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsS0FBSztJQUczQjtJQUZsQixZQUNFLE9BQWUsRUFDQyxLQUFlO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFSRCxvREFRQyJ9
@@ -5,6 +5,8 @@ import { EciesScheme, SupportedFheType } from '../encryption/encryption.js';
5
5
  import type { KmsClient } from '../kms/client.js';
6
6
  import type { BackoffConfig } from '../retry.js';
7
7
  import { DecryptionAttestation } from './types.js';
8
+ export declare const ATTESTED_DECRYPT_DOMAIN_NAME = "IncoAttestedDecrypt";
9
+ export declare const ATTESTED_DECRYPT_DOMAIN_VERSION = "0.1.0";
8
10
  /**
9
11
  * Validates a handle format.
10
12
  * @param handle - The handle to validate