@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/dist/cjs/viem.js CHANGED
@@ -4,9 +4,16 @@ exports.chains = void 0;
4
4
  exports.getViemChain = getViemChain;
5
5
  const chains_1 = require("viem/chains");
6
6
  const chain_js_1 = require("./chain.js");
7
- exports.chains = { sepolia: chains_1.sepolia, baseSepolia: chains_1.baseSepolia, monadTestnet: chains_1.monadTestnet, plasmaTestnet: chains_1.plasmaTestnet, anvil: chains_1.anvil, worldchainSepolia: chains_1.worldchainSepolia };
7
+ exports.chains = {
8
+ sepolia: chains_1.sepolia,
9
+ baseSepolia: chains_1.baseSepolia,
10
+ monadTestnet: chains_1.monadTestnet,
11
+ plasmaTestnet: chains_1.plasmaTestnet,
12
+ anvil: chains_1.anvil,
13
+ worldchainSepolia: chains_1.worldchainSepolia,
14
+ };
8
15
  function getViemChain(chainish) {
9
16
  const { name } = (0, chain_js_1.getSupportedChain)(chainish);
10
17
  return exports.chains[name];
11
18
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmllbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBLG9DQUdDO0FBWkQsd0NBQTBHO0FBQzFHLHlDQUF5RDtBQUU1QyxRQUFBLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBUCxnQkFBTyxFQUFFLFdBQVcsRUFBWCxvQkFBVyxFQUFFLFlBQVksRUFBWixxQkFBWSxFQUFFLGFBQWEsRUFBYixzQkFBYSxFQUFFLEtBQUssRUFBTCxjQUFLLEVBQUUsaUJBQWlCLEVBQWpCLDBCQUFpQixFQUFFLENBQUM7QUFNdEcsU0FBZ0IsWUFBWSxDQUFDLFFBQWtCO0lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFBLDRCQUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sY0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUMifQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmllbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVCQSxvQ0FHQztBQTFCRCx3Q0FPcUI7QUFDckIseUNBQXlEO0FBRTVDLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLE9BQU8sRUFBUCxnQkFBTztJQUNQLFdBQVcsRUFBWCxvQkFBVztJQUNYLFlBQVksRUFBWixxQkFBWTtJQUNaLGFBQWEsRUFBYixzQkFBYTtJQUNiLEtBQUssRUFBTCxjQUFLO0lBQ0wsaUJBQWlCLEVBQWpCLDBCQUFpQjtDQUNsQixDQUFDO0FBTUYsU0FBZ0IsWUFBWSxDQUFDLFFBQWtCO0lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFBLDRCQUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sY0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUMifQ==
@@ -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>>>;
@@ -1,23 +1,28 @@
1
+ import { create } from '@bufbuild/protobuf';
1
2
  import { encodeAbiParameters, getContract, hexToBytes, toFunctionSelector, } from 'viem';
2
3
  import { privateKeyToAccount } from 'viem/accounts';
4
+ import { AttestedDecryptError, } from '../attesteddecrypt/index.js';
3
5
  import { getSupportedChain } from '../chain.js';
4
- import { abiHelperAbi, advancedAccessControlAbi, sessionVerifierAbi } from '../generated/abis/lightning-preview.js';
6
+ import { bigintToPlaintext, encryptionSchemes, } from '../encryption/encryption.js';
7
+ import { abiHelperAbi, advancedAccessControlAbi, sessionVerifierAbi, } from '../generated/abis/lightning-preview.js';
5
8
  import { incoLightningAbi } from '../generated/abis/lightning.js';
6
- import { decryptGrpcResponse, defaultCovalidatorGrpc, getKmsClient, reencryptEIP712 } from '../lite/index.js';
7
- import { createEIP712Payload } from '../reencryption/index.js';
9
+ import { incoVerifierAbi } from '../generated/abis/verifier.js';
10
+ import { bigintToBytes32, bytesToBigInt, getHandleType, } from '../index.js';
11
+ import { ATTESTED_COMPUTE_DOMAIN_NAME, ATTESTED_COMPUTE_DOMAIN_VERSION, ATTESTED_DECRYPT_DOMAIN_NAME, ATTESTED_DECRYPT_DOMAIN_VERSION, decryptGrpcResponse, defaultCovalidatorGrpc, getKmsClient, reencryptEIP712, } from '../lite/index.js';
12
+ import { createEIP712Payload, } from '../reencryption/index.js';
13
+ import { retryWithBackoff } from '../retry.js';
14
+ import { AttestedComputeRequestSchema, AttestedDecryptRequestSchema, ReencryptRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
15
+ import { AllowanceProofSchema, AllowanceVoucherSchema, HandleWithProofSchema, IncoLiteAdvancedACLProofSchema, } from '../generated/es/inco/kms/lite/v1/types_pb.js';
8
16
  // Given a sharer's wallet client, an incoLite contract address, and a
9
17
  // (verifyingContract, callFunction, sharerArgData) tuple, this function
10
18
  // creates an AllowanceVoucher.
11
19
  export async function createAllowanceVoucher(incoLiteAddress, sharerWalletClient, verifyingContract, callFunction, sharerArgData) {
12
- const advancedACL = getContract({
13
- address: incoLiteAddress,
14
- // Could have used the incoLightningAbi, but this is more efficient.
15
- abi: advancedAccessControlAbi,
16
- client: sharerWalletClient,
17
- });
20
+ const verifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
18
21
  // The session nonce in the AllowanceVoucher must match the current active
19
22
  // session nonce of the sharer on-chain.
20
- const sessionNonce = await advancedACL.read.getActiveVouchersSessionNonce([sharerWalletClient.account.address]);
23
+ const sessionNonce = await verifier.read.getActiveVouchersSessionNonce([
24
+ sharerWalletClient.account.address,
25
+ ]);
21
26
  return {
22
27
  sessionNonce,
23
28
  verifyingContract,
@@ -31,15 +36,22 @@ export async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifie
31
36
  decrypter: granteeAddress,
32
37
  expiresAt: BigInt(Math.floor(expiresAt.getTime() / 1000)),
33
38
  };
34
- const sharerArgData = encodeAbiParameters(getSessionAbi(), [session.decrypter, session.expiresAt]);
35
- // Get the domain name and version from the incoLite contract.
36
- const incoLitePreview = getContract({
37
- abi: incoLightningAbi,
38
- address: incoLiteAddress,
39
- client: sharerWalletClient,
40
- });
41
- const eip712DomainName = await incoLitePreview.read.getName();
42
- const eip712DomainVersion = await incoLitePreview.read.getVersion();
39
+ const sharerArgData = encodeAbiParameters(getSessionAbi(), [
40
+ session.decrypter,
41
+ session.expiresAt,
42
+ ]);
43
+ const incoVerifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
44
+ // returned by read.eip712Domain():
45
+ // bytes1 fields,
46
+ // string memory name,
47
+ // string memory version,
48
+ // uint256 chainId,
49
+ // address verifyingContract,
50
+ // bytes32 salt,
51
+ // uint256[] memory extensions
52
+ const verifierDomain = await incoVerifier.read.eip712Domain();
53
+ const eip712DomainName = verifierDomain[1];
54
+ const eip712DomainVersion = verifierDomain[2];
43
55
  const voucher = await createAllowanceVoucher(incoLiteAddress, sharerWalletClient,
44
56
  // Careful that the verifying contract here is the SessionVerifier contract,
45
57
  // not the incoLite contract.
@@ -50,10 +62,10 @@ export async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifie
50
62
  primaryTypeFields: getAllowanceVoucherAbi(),
51
63
  message: voucher,
52
64
  // Related to comment above: careful that the verifying contract here is
53
- // the incoLite contract (not the SessionVerifier contract).
54
- verifyingContract: incoLiteAddress,
55
- ...(eip712DomainName && { domainName: eip712DomainName }),
56
- ...(eip712DomainVersion && { domainVersion: eip712DomainVersion }),
65
+ // the incoVerifier contract (not the SessionVerifier contract).
66
+ verifyingContract: incoVerifier.address,
67
+ domainName: eip712DomainName,
68
+ domainVersion: eip712DomainVersion,
57
69
  });
58
70
  // Using browser extensions, this step will prompt the user to sign the
59
71
  // payload.
@@ -67,7 +79,8 @@ export async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifie
67
79
  // The sessionKeyReencryptor function is a reencryptor that uses a session key
68
80
  // to reencrypt data.
69
81
  export async function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
70
- const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc(getSupportedChain(chainId)));
82
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
83
+ defaultCovalidatorGrpc(getSupportedChain(chainId)));
71
84
  const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
72
85
  const ephemeralPubKey = ephemeralKeypair.encodePublicKey();
73
86
  // Sign the EIP712 attesting that the requester has access to the private key
@@ -76,57 +89,187 @@ export async function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrCl
76
89
  // Since the account is an ephemeral keypair stored in memory (not in Metamask),
77
90
  // this step will NOT prompt the user with a pop-up.
78
91
  const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
79
- return async function reencrypt({ handle }) {
80
- const reencryptRequest = {
81
- $typeName: 'inco.kms.lite.v1.ReencryptRequest',
92
+ return async function reencrypt({ handle, }) {
93
+ const reencryptRequest = create(ReencryptRequestSchema, {
82
94
  userAddress: requesterAccount.address,
83
95
  ephemeralPubKey,
84
96
  eip712Signature: hexToBytes(eip712Signature),
85
97
  handlesWithProofs: [
86
- {
87
- $typeName: 'inco.kms.lite.v1.HandleWithProof',
98
+ create(HandleWithProofSchema, {
88
99
  handle,
89
100
  aclProof: {
90
- $typeName: 'inco.kms.lite.v1.ACLProof',
91
101
  proof: {
92
- value: {
93
- $typeName: 'inco.kms.lite.v1.IncoLiteAdvancedACLProof',
94
- allowanceProof: {
95
- $typeName: 'inco.kms.lite.v1.AllowanceProof',
102
+ case: 'incoLiteAdvancedAclProof',
103
+ value: create(IncoLiteAdvancedACLProofSchema, {
104
+ allowanceProof: create(AllowanceProofSchema, {
96
105
  sharer: allowanceVoucherWithSig.sharer,
97
- voucher: {
98
- // Converting from the AllowanceVoucher domain type to the
99
- // AllowanceVoucher proto type.
100
- $typeName: 'inco.kms.lite.v1.AllowanceVoucher',
106
+ voucher: create(AllowanceVoucherSchema, {
101
107
  sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
102
108
  verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
103
109
  callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
104
110
  sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
105
- },
111
+ }),
106
112
  voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
107
- // For SessionVerifier, the requesterArgData is empty.
108
113
  requesterArgData: new Uint8Array(),
109
- },
110
- },
111
- case: 'incoLiteAdvancedAclProof',
114
+ }),
115
+ }),
112
116
  },
113
117
  },
114
- },
118
+ }),
115
119
  ],
116
- };
120
+ });
117
121
  const response = await kmsClient.reencrypt(reencryptRequest);
118
122
  return decryptGrpcResponse(response, ephemeralKeypair, handle);
119
123
  };
120
124
  }
121
125
  export async function updateActiveVouchersSessionNonce(incoLiteAddress, sharerWalletClient) {
122
- const advancedACL = getContract({
123
- address: incoLiteAddress,
124
- abi: advancedAccessControlAbi,
125
- client: sharerWalletClient,
126
- });
127
- const txHash = await advancedACL.write.updateActiveVouchersSessionNonce();
126
+ const verifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
127
+ const txHash = await verifier.write.updateActiveVouchersSessionNonce();
128
128
  return txHash;
129
129
  }
130
+ // The sessionKeyAttestedCompute function is a decryptor that uses a session key
131
+ // to compute on a handle.
132
+ export async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
133
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
134
+ defaultCovalidatorGrpc(getSupportedChain(chainId)));
135
+ const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
136
+ const rhsPlaintextBig = BigInt(rhsPlaintext);
137
+ const rhsValueBytes = bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), rhsPlaintextBig);
138
+ // Sign the EIP712 attesting that the requester has access to the private key
139
+ // corresponding to the ephemeral public key.
140
+ const eip712Payload = createEIP712Payload({
141
+ chainId: BigInt(chainId),
142
+ primaryType: 'AttestedComputeRequest',
143
+ primaryTypeFields: [
144
+ { name: 'op', type: 'uint8' },
145
+ { name: 'lhsHandle', type: 'bytes32' },
146
+ { name: 'rhsPlaintext', type: 'bytes32' },
147
+ ],
148
+ message: {
149
+ op: op,
150
+ lhsHandle: lhsHandle,
151
+ rhsPlaintext: bigintToBytes32(rhsPlaintextBig),
152
+ },
153
+ domainName: ATTESTED_COMPUTE_DOMAIN_NAME,
154
+ domainVersion: ATTESTED_COMPUTE_DOMAIN_VERSION,
155
+ });
156
+ // Since the account is an ephemeral keypair stored in memory (not in Metamask),
157
+ // this step will NOT prompt the user with a pop-up.
158
+ const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
159
+ const attestedComputeRequest = create(AttestedComputeRequestSchema, {
160
+ userAddress: requesterAccount.address,
161
+ op: op,
162
+ lhsHandle: lhsHandle,
163
+ rhsPlaintext: rhsValueBytes.value.toString(16),
164
+ eip712Signature: hexToBytes(eip712Signature),
165
+ aclProof: {
166
+ proof: {
167
+ case: 'incoLiteAdvancedAclProof',
168
+ value: create(IncoLiteAdvancedACLProofSchema, {
169
+ allowanceProof: create(AllowanceProofSchema, {
170
+ sharer: allowanceVoucherWithSig.sharer,
171
+ voucher: create(AllowanceVoucherSchema, {
172
+ sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
173
+ verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
174
+ callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
175
+ sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
176
+ }),
177
+ voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
178
+ // For SessionVerifier, the requesterArgData is empty.
179
+ requesterArgData: new Uint8Array(),
180
+ }),
181
+ }),
182
+ },
183
+ },
184
+ });
185
+ const response = await retryWithBackoff(async () => {
186
+ return await kmsClient.attestedCompute(attestedComputeRequest);
187
+ }, backoffConfig);
188
+ if (!response.decryptionAttestation) {
189
+ throw new Error('Failed to get decryption attestation from attested compute');
190
+ }
191
+ const decryptionAttestation = response.decryptionAttestation;
192
+ if (decryptionAttestation.plaintext === undefined) {
193
+ throw new Error('No plaintext in compute response');
194
+ }
195
+ const bigIntValue = bytesToBigInt(decryptionAttestation.plaintext);
196
+ return {
197
+ handle: decryptionAttestation.handle,
198
+ plaintext: bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), bigIntValue),
199
+ covalidatorSignature: decryptionAttestation.signature,
200
+ };
201
+ }
202
+ // The sessionKeyAttestedDecrypt function is a decryptor that uses a session key
203
+ // to decrypt data.
204
+ export async function sessionKeyAttestedDecrypt({ chainId, kmsConnectRpcEndpointOrClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, }) {
205
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
206
+ defaultCovalidatorGrpc(getSupportedChain(chainId)));
207
+ const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
208
+ // Sign the EIP712 attesting that the requester has access to the private key
209
+ // corresponding to the ephemeral public key.
210
+ const eip712Payload = createEIP712Payload({
211
+ chainId: BigInt(chainId),
212
+ primaryType: 'AttestedDecryptRequest',
213
+ primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
214
+ message: {
215
+ handles: handles,
216
+ },
217
+ domainName: ATTESTED_DECRYPT_DOMAIN_NAME,
218
+ domainVersion: ATTESTED_DECRYPT_DOMAIN_VERSION,
219
+ });
220
+ // Since the account is an ephemeral keypair stored in memory (not in Metamask),
221
+ // this step will NOT prompt the user with a pop-up.
222
+ const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
223
+ const handlesWithProofs = handles.map((handle) => {
224
+ return create(HandleWithProofSchema, {
225
+ handle: handle,
226
+ aclProof: {
227
+ proof: {
228
+ case: 'incoLiteAdvancedAclProof',
229
+ value: create(IncoLiteAdvancedACLProofSchema, {
230
+ allowanceProof: create(AllowanceProofSchema, {
231
+ sharer: allowanceVoucherWithSig.sharer,
232
+ voucher: create(AllowanceVoucherSchema, {
233
+ sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
234
+ verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
235
+ callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
236
+ sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
237
+ }),
238
+ voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
239
+ requesterArgData: new Uint8Array(),
240
+ }),
241
+ }),
242
+ },
243
+ },
244
+ });
245
+ });
246
+ const attestedDecryptRequest = create(AttestedDecryptRequestSchema, {
247
+ userAddress: requesterAccount.address,
248
+ handlesWithProofs: handlesWithProofs,
249
+ eip712Signature: hexToBytes(eip712Signature),
250
+ });
251
+ const response = await retryWithBackoff(async () => {
252
+ return await kmsClient.attestedDecrypt(attestedDecryptRequest);
253
+ }, backoffConfig);
254
+ if (!response.decryptionAttestations ||
255
+ response.decryptionAttestations.length === 0) {
256
+ throw new AttestedDecryptError('No decryption attestations in response');
257
+ }
258
+ const results = response.decryptionAttestations.map((att) => {
259
+ if (att.plaintext === undefined) {
260
+ throw new AttestedDecryptError('No plaintext in attestation');
261
+ }
262
+ const h = att.handle;
263
+ const handleType = getHandleType(h);
264
+ const bigIntValue = bytesToBigInt(att.plaintext);
265
+ return {
266
+ handle: h,
267
+ plaintext: bigintToPlaintext(encryptionSchemes.ecies, handleType, bigIntValue),
268
+ covalidatorSignature: att.signature,
269
+ };
270
+ });
271
+ return results;
272
+ }
130
273
  // Below are helpers to get ABIs of functions/structs from the SessionVerifier
131
274
  // contract.
132
275
  // Get the ABI of the `AllowanceVoucher` struct.
@@ -167,4 +310,27 @@ function getCanUseSessionAbi() {
167
310
  }
168
311
  return canUseSession;
169
312
  }
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlMLG1CQUFtQixFQUNuQixXQUFXLEVBRVgsVUFBVSxFQUNWLGtCQUFrQixHQUduQixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUcsT0FBTyxFQUFFLG1CQUFtQixFQUF3QixNQUFNLDBCQUEwQixDQUFDO0FBa0JyRixzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxlQUF3QixFQUN4QixrQkFBMkQsRUFDM0QsaUJBQTBCLEVBQzFCLFlBQWlCLEVBQ2pCLGFBQWtCO0lBRWxCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM5QixPQUFPLEVBQUUsZUFBZTtRQUN4QixvRUFBb0U7UUFDcEUsR0FBRyxFQUFFLHdCQUF3QjtRQUM3QixNQUFNLEVBQUUsa0JBQWtCO0tBQzNCLENBQUMsQ0FBQztJQUVILDBFQUEwRTtJQUMxRSx3Q0FBd0M7SUFDeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9B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
313
+ function getAdvancedAcl(incoVerifierAddress, sharerWalletClient) {
314
+ return getContract({
315
+ address: incoVerifierAddress,
316
+ abi: advancedAccessControlAbi,
317
+ client: sharerWalletClient,
318
+ });
319
+ }
320
+ function getIncoLightning(incoLiteAddress, walletClient) {
321
+ return getContract({
322
+ address: incoLiteAddress,
323
+ abi: incoLightningAbi,
324
+ client: walletClient,
325
+ });
326
+ }
327
+ async function getIncoVerifier(incoLiteAddress, walletClient) {
328
+ const incoLite = getIncoLightning(incoLiteAddress, walletClient);
329
+ const incoVerifierAddress = await incoLite.read.incoVerifier();
330
+ return getContract({
331
+ address: incoVerifierAddress,
332
+ abi: incoVerifierAbi,
333
+ client: walletClient,
334
+ });
335
+ }
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVDLE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFVBQVUsRUFDVixrQkFBa0IsR0FHbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUNMLG9CQUFvQixHQUVyQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixpQkFBaUIsR0FFbEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixrQkFBa0IsR0FDbkIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxHQUVkLE1BQU0sYUFBYSxDQUFDO0FBU3JCLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osZUFBZSxHQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFDTCxtQkFBbUIsR0FFcEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTlELE9BQU8sRUFDTCw0QkFB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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,15 +1,17 @@
1
+ import { create } from '@bufbuild/protobuf';
1
2
  import { hexToBytes } from 'viem';
2
3
  import { validateHandle } from '../attesteddecrypt/attested-decrypt.js';
3
4
  import { bigintToBytes32, bytesToBigInt } from '../binary.js';
4
5
  import { getSupportedChain } from '../chain.js';
5
- import { bigintToPlaintext, encryptionSchemes } from '../encryption/encryption.js';
6
+ import { bigintToPlaintext, encryptionSchemes, } from '../encryption/encryption.js';
7
+ import { AttestedComputeRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
6
8
  import { getHandleType } from '../handle.js';
7
9
  import { defaultCovalidatorGrpc, getKmsClient } from '../kms/client.js';
8
10
  import { createEIP712Payload } from '../reencryption/eip712.js';
9
11
  import { retryWithBackoff } from '../retry.js';
10
12
  import { AttestedComputeError } from './types.js';
11
- const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
12
- const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
13
+ export const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
14
+ export const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
13
15
  /**
14
16
  * Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
15
17
  * @param args - The arguments for creating the attested compute function
@@ -20,7 +22,8 @@ const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
20
22
  */
21
23
  export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsConnectRpcEndpointOrClient, chainId, }) {
22
24
  try {
23
- const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc(getSupportedChain(chainId)));
25
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
26
+ defaultCovalidatorGrpc(getSupportedChain(chainId)));
24
27
  validateHandle(lhsHandle);
25
28
  const rhsPlaintextBig = BigInt(rhsPlaintext);
26
29
  // Create the EIP712 payload for the handles to decrypt
@@ -43,20 +46,25 @@ export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConf
43
46
  // Sign the EIP712 message
44
47
  const eip712Signature = await walletClient.signTypedData(eip712Payload);
45
48
  const rhsValueBytes = bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), rhsPlaintextBig);
46
- const attestedComputeRequest = {
47
- $typeName: 'inco.kms.lite.v1.AttestedComputeRequest',
49
+ const attestedComputeRequest = create(AttestedComputeRequestSchema, {
48
50
  userAddress: walletClient.account.address,
49
51
  op: op,
50
52
  lhsHandle: lhsHandle,
51
53
  rhsPlaintext: rhsValueBytes.value.toString(16),
52
54
  eip712Signature: hexToBytes(eip712Signature),
53
- };
55
+ aclProof: {
56
+ proof: {
57
+ case: 'incoLiteBasicAclProof',
58
+ value: {},
59
+ },
60
+ },
61
+ });
54
62
  const response = await retryWithBackoff(async () => {
55
63
  return await kmsClient.attestedCompute(attestedComputeRequest);
56
64
  }, backoffConfig);
57
65
  const decryptionAttestation = response.decryptionAttestation;
58
66
  if (decryptionAttestation?.plaintext === undefined) {
59
- throw new AttestedComputeError('No plaintext in response');
67
+ throw new AttestedComputeError('No plaintext in compute response');
60
68
  }
61
69
  const computeResultHandle = response.decryptionAttestation?.handle;
62
70
  if (!computeResultHandle) {
@@ -77,4 +85,4 @@ export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConf
77
85
  throw new AttestedComputeError('Failed to perform attested compute', error);
78
86
  }
79
87
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYSxNQUFNLGNBQWMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxpQkFBaUIsRUFBb0IsTUFBTSw2QkFBNkIsQ0FBQztBQUVsSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFxQixNQUFNLFlBQVksQ0FBQztBQUVyRSxNQUFNLDRCQUE0QixHQUFHLHFCQUFxQixDQUFDO0FBQzNELE1BQU0sK0JBQStCLEdBQUcsT0FBTyxDQUFDO0FBY2hEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FBNkIsRUFDaEUsU0FBUyxFQUNULEVBQUUsRUFDRixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWiw2QkFBNkIsRUFDN0IsT0FBTyxHQVNSO0lBQ0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLDZCQUE2QixJQUFJLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxD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
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLGlCQUFpQixHQUVsQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFxQixNQUFNLFlBQVksQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxPQUFPLENBQUM7QUFjdkQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUE2QixFQUNoRSxTQUFTLEVBQ1QsRUFBRSxFQUNGLFlBQVksRUFDWixhQUFhLEVBQ2IsWUFBWSxFQUNaLDZCQUE2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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
+ };
@@ -39,4 +39,4 @@ export class AttestedComputeError extends Error {
39
39
  this.name = 'AttestedComputeError';
40
40
  }
41
41
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRjb21wdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzdGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekM7Ozs7Ozs7Ozs7Ozs7TUFhRTtJQUNGLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDOzs7TUFHRTtDQUNNLENBQUM7QUFPWDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxLQUFLO0lBRzNCO0lBRmxCLFlBQ0UsT0FBZSxFQUNDLEtBQWU7UUFFL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRkMsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7Q0FDRiJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRjb21wdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzdGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekM7Ozs7Ozs7Ozs7Ozs7TUFhRTtJQUNGLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDOzs7TUFHRTtDQUNNLENBQUM7QUFRWDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxLQUFLO0lBRzNCO0lBRmxCLFlBQ0UsT0FBZSxFQUNDLEtBQWU7UUFFL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRkMsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7Q0FDRiJ9
@@ -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