@inco/js 0.3.2-alpha.0 → 0.4.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 (376) hide show
  1. package/dist/cjs/advancedacl/session-key.d.ts +29 -0
  2. package/dist/cjs/advancedacl/session-key.js +167 -27
  3. package/dist/cjs/attestedcompute/attested-compute.d.ts +2 -0
  4. package/dist/cjs/attestedcompute/attested-compute.js +17 -9
  5. package/dist/cjs/attestedcompute/types.d.ts +3 -2
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +2 -0
  7. package/dist/cjs/attesteddecrypt/attested-decrypt.js +27 -11
  8. package/dist/cjs/attesteddecrypt/types.d.ts +3 -2
  9. package/dist/cjs/attestedreveal/attested-reveal.d.ts +21 -0
  10. package/dist/cjs/attestedreveal/attested-reveal.js +66 -0
  11. package/dist/cjs/attestedreveal/index.d.ts +1 -0
  12. package/dist/cjs/{fhevm → attestedreveal}/index.js +2 -2
  13. package/dist/cjs/attestedreveal/types.d.ts +7 -0
  14. package/dist/cjs/attestedreveal/types.js +16 -0
  15. package/dist/cjs/generated/abis/addTwo.d.ts +18 -0
  16. package/dist/cjs/generated/abis/addTwo.js +9 -1
  17. package/dist/cjs/generated/abis/lightning-preview.d.ts +48 -0
  18. package/dist/cjs/generated/abis/lightning-preview.js +29 -1
  19. package/dist/cjs/generated/abis/lightning.d.ts +34 -0
  20. package/dist/cjs/generated/abis/lightning.js +22 -1
  21. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  22. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +17 -7
  23. package/dist/cjs/generated/lightning.d.ts +31 -10
  24. package/dist/cjs/generated/lightning.js +33 -11
  25. package/dist/cjs/lite/attested-compute.d.ts +5 -3
  26. package/dist/cjs/lite/attested-compute.js +5 -1
  27. package/dist/cjs/lite/attested-decrypt.d.ts +2 -0
  28. package/dist/cjs/lite/attested-decrypt.js +5 -1
  29. package/dist/cjs/lite/index.d.ts +4 -1
  30. package/dist/cjs/lite/index.js +3 -1
  31. package/dist/cjs/lite/lightning.d.ts +32 -0
  32. package/dist/cjs/lite/lightning.js +52 -44
  33. package/dist/cjs/lite/reencrypt.d.ts +0 -1
  34. package/dist/cjs/lite/reencrypt.js +8 -20
  35. package/dist/cjs/local/local-node.js +35 -3
  36. package/dist/cjs/reencryption/types.d.ts +1 -2
  37. package/dist/esm/advancedacl/session-key.d.ts +29 -0
  38. package/dist/esm/advancedacl/session-key.js +160 -22
  39. package/dist/esm/attestedcompute/attested-compute.d.ts +2 -0
  40. package/dist/esm/attestedcompute/attested-compute.js +14 -7
  41. package/dist/esm/attestedcompute/types.d.ts +3 -2
  42. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +2 -0
  43. package/dist/esm/attesteddecrypt/attested-decrypt.js +24 -9
  44. package/dist/esm/attesteddecrypt/types.d.ts +3 -2
  45. package/dist/esm/attestedreveal/attested-reveal.d.ts +21 -0
  46. package/dist/esm/attestedreveal/attested-reveal.js +63 -0
  47. package/dist/esm/attestedreveal/index.d.ts +1 -0
  48. package/dist/esm/attestedreveal/index.js +2 -0
  49. package/dist/esm/attestedreveal/types.d.ts +7 -0
  50. package/dist/esm/attestedreveal/types.js +12 -0
  51. package/dist/esm/generated/abis/addTwo.d.ts +18 -0
  52. package/dist/esm/generated/abis/addTwo.js +9 -1
  53. package/dist/esm/generated/abis/lightning-preview.d.ts +48 -0
  54. package/dist/esm/generated/abis/lightning-preview.js +29 -1
  55. package/dist/esm/generated/abis/lightning.d.ts +34 -0
  56. package/dist/esm/generated/abis/lightning.js +22 -1
  57. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  58. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +16 -6
  59. package/dist/esm/generated/lightning.d.ts +31 -10
  60. package/dist/esm/generated/lightning.js +33 -11
  61. package/dist/esm/lite/attested-compute.d.ts +5 -3
  62. package/dist/esm/lite/attested-compute.js +3 -2
  63. package/dist/esm/lite/attested-decrypt.d.ts +2 -0
  64. package/dist/esm/lite/attested-decrypt.js +3 -2
  65. package/dist/esm/lite/index.d.ts +4 -1
  66. package/dist/esm/lite/index.js +3 -1
  67. package/dist/esm/lite/lightning.d.ts +32 -0
  68. package/dist/esm/lite/lightning.js +53 -45
  69. package/dist/esm/lite/reencrypt.d.ts +0 -1
  70. package/dist/esm/lite/reencrypt.js +9 -20
  71. package/dist/esm/local/local-node.js +35 -3
  72. package/dist/esm/reencryption/types.d.ts +1 -2
  73. package/dist/types/advancedacl/session-key.d.ts +29 -0
  74. package/dist/types/attestedcompute/attested-compute.d.ts +2 -0
  75. package/dist/types/attestedcompute/types.d.ts +3 -2
  76. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +2 -0
  77. package/dist/types/attesteddecrypt/types.d.ts +3 -2
  78. package/dist/types/attestedreveal/attested-reveal.d.ts +21 -0
  79. package/dist/types/attestedreveal/index.d.ts +1 -0
  80. package/dist/types/attestedreveal/types.d.ts +7 -0
  81. package/dist/types/generated/abis/addTwo.d.ts +18 -0
  82. package/dist/types/generated/abis/lightning-preview.d.ts +48 -0
  83. package/dist/types/generated/abis/lightning.d.ts +34 -0
  84. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  85. package/dist/types/generated/lightning.d.ts +31 -10
  86. package/dist/types/lite/attested-compute.d.ts +5 -3
  87. package/dist/types/lite/attested-decrypt.d.ts +2 -0
  88. package/dist/types/lite/index.d.ts +4 -1
  89. package/dist/types/lite/lightning.d.ts +32 -0
  90. package/dist/types/lite/reencrypt.d.ts +0 -1
  91. package/dist/types/reencryption/types.d.ts +1 -2
  92. package/package.json +28 -17
  93. package/dist/cjs/fhevm/fhe-environment.d.ts +0 -9
  94. package/dist/cjs/fhevm/fhe-environment.js +0 -11
  95. package/dist/cjs/fhevm/fhevm.d.ts +0 -41
  96. package/dist/cjs/fhevm/fhevm.js +0 -145
  97. package/dist/cjs/fhevm/index.d.ts +0 -1
  98. package/dist/cjs/fhevm/reencrypt.d.ts +0 -20
  99. package/dist/cjs/fhevm/reencrypt.js +0 -127
  100. package/dist/cjs/fhevm/tfhe.d.ts +0 -74
  101. package/dist/cjs/fhevm/tfhe.js +0 -336
  102. package/dist/cjs/fhevm/types.d.ts +0 -3
  103. package/dist/cjs/fhevm/types.js +0 -29
  104. package/dist/cjs/generated/abis/inco-fhevm.d.ts +0 -874
  105. package/dist/cjs/generated/abis/inco-fhevm.js +0 -681
  106. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  107. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.js +0 -36
  108. package/dist/cjs/generated/es/google/api/annotations_pb.d.ts +0 -13
  109. package/dist/cjs/generated/es/google/api/annotations_pb.js +0 -30
  110. package/dist/cjs/generated/es/google/api/http_pb.d.ts +0 -440
  111. package/dist/cjs/generated/es/google/api/http_pb.js +0 -37
  112. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  113. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.js +0 -24
  114. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  115. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.js +0 -49
  116. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  117. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.js +0 -111
  118. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  119. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.js +0 -111
  120. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  121. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.js +0 -23
  122. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  123. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.js +0 -41
  124. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  125. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.js +0 -51
  126. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  127. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.js +0 -37
  128. package/dist/cjs/generated/fhe-environments.d.ts +0 -14
  129. package/dist/cjs/generated/fhe-environments.js +0 -18
  130. package/dist/cjs/generated/ts/amino/amino.d.ts +0 -1
  131. package/dist/cjs/generated/ts/amino/amino.js +0 -11
  132. package/dist/cjs/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  133. package/dist/cjs/generated/ts/cometbft/abci/v1/types.js +0 -5079
  134. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  135. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  136. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  137. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  138. package/dist/cjs/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  139. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +0 -716
  140. package/dist/cjs/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  141. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +0 -358
  142. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  143. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  144. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  145. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.js +0 -11
  146. package/dist/cjs/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  147. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +0 -216
  148. package/dist/cjs/generated/ts/gogoproto/gogo.d.ts +0 -1
  149. package/dist/cjs/generated/ts/gogoproto/gogo.js +0 -11
  150. package/dist/cjs/generated/ts/google/api/annotations.d.ts +0 -1
  151. package/dist/cjs/generated/ts/google/api/annotations.js +0 -11
  152. package/dist/cjs/generated/ts/google/api/http.d.ts +0 -371
  153. package/dist/cjs/generated/ts/google/api/http.js +0 -356
  154. package/dist/cjs/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  155. package/dist/cjs/generated/ts/google/protobuf/descriptor.js +0 -5108
  156. package/dist/cjs/generated/ts/google/protobuf/duration.d.ts +0 -99
  157. package/dist/cjs/generated/ts/google/protobuf/duration.js +0 -93
  158. package/dist/cjs/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  159. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +0 -93
  160. package/dist/cjs/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  161. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +0 -509
  162. package/dist/cjs/generated/ts/inco/abci/v1/types.d.ts +0 -35
  163. package/dist/cjs/generated/ts/inco/abci/v1/types.js +0 -73
  164. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  165. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +0 -66
  166. package/dist/cjs/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  167. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +0 -190
  168. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  169. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +0 -714
  170. package/dist/cjs/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  171. package/dist/cjs/generated/ts/inco/fhe/v1/query.js +0 -1394
  172. package/dist/cjs/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  173. package/dist/cjs/generated/ts/inco/fhe/v1/tx.js +0 -1236
  174. package/dist/cjs/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  175. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +0 -990
  176. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  177. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +0 -66
  178. package/dist/cjs/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  179. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +0 -331
  180. package/dist/cjs/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  181. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +0 -216
  182. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  183. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +0 -69
  184. package/dist/cjs/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  185. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +0 -280
  186. package/dist/cjs/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  187. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +0 -140
  188. package/dist/cjs/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  189. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +0 -203
  190. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  191. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +0 -66
  192. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  193. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +0 -185
  194. package/dist/cjs/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  195. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +0 -259
  196. package/dist/cjs/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  197. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +0 -448
  198. package/dist/cjs/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  199. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +0 -398
  200. package/dist/cjs/l1/client.d.ts +0 -35
  201. package/dist/cjs/l1/client.js +0 -97
  202. package/dist/cjs/l1/index.d.ts +0 -2
  203. package/dist/cjs/l1/index.js +0 -19
  204. package/dist/cjs/l1/preflight.d.ts +0 -20
  205. package/dist/cjs/l1/preflight.js +0 -42
  206. package/dist/esm/fhevm/fhe-environment.d.ts +0 -9
  207. package/dist/esm/fhevm/fhe-environment.js +0 -8
  208. package/dist/esm/fhevm/fhevm.d.ts +0 -41
  209. package/dist/esm/fhevm/fhevm.js +0 -139
  210. package/dist/esm/fhevm/index.d.ts +0 -1
  211. package/dist/esm/fhevm/index.js +0 -2
  212. package/dist/esm/fhevm/reencrypt.d.ts +0 -20
  213. package/dist/esm/fhevm/reencrypt.js +0 -123
  214. package/dist/esm/fhevm/tfhe.d.ts +0 -74
  215. package/dist/esm/fhevm/tfhe.js +0 -328
  216. package/dist/esm/fhevm/types.d.ts +0 -3
  217. package/dist/esm/fhevm/types.js +0 -26
  218. package/dist/esm/generated/abis/inco-fhevm.d.ts +0 -874
  219. package/dist/esm/generated/abis/inco-fhevm.js +0 -678
  220. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  221. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +0 -33
  222. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +0 -13
  223. package/dist/esm/generated/es/google/api/annotations_pb.js +0 -27
  224. package/dist/esm/generated/es/google/api/http_pb.d.ts +0 -440
  225. package/dist/esm/generated/es/google/api/http_pb.js +0 -34
  226. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  227. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +0 -21
  228. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  229. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +0 -46
  230. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  231. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +0 -108
  232. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  233. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +0 -108
  234. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  235. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +0 -20
  236. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  237. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +0 -38
  238. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  239. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +0 -48
  240. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  241. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +0 -34
  242. package/dist/esm/generated/fhe-environments.d.ts +0 -14
  243. package/dist/esm/generated/fhe-environments.js +0 -15
  244. package/dist/esm/generated/ts/amino/amino.d.ts +0 -1
  245. package/dist/esm/generated/ts/amino/amino.js +0 -8
  246. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  247. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +0 -5063
  248. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  249. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +0 -105
  250. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  251. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +0 -430
  252. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  253. package/dist/esm/generated/ts/cometbft/types/v1/params.js +0 -713
  254. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  255. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +0 -353
  256. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  257. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +0 -218
  258. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  259. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +0 -8
  260. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  261. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +0 -211
  262. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +0 -1
  263. package/dist/esm/generated/ts/gogoproto/gogo.js +0 -8
  264. package/dist/esm/generated/ts/google/api/annotations.d.ts +0 -1
  265. package/dist/esm/generated/ts/google/api/annotations.js +0 -8
  266. package/dist/esm/generated/ts/google/api/http.d.ts +0 -371
  267. package/dist/esm/generated/ts/google/api/http.js +0 -353
  268. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  269. package/dist/esm/generated/ts/google/protobuf/descriptor.js +0 -5070
  270. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +0 -99
  271. package/dist/esm/generated/ts/google/protobuf/duration.js +0 -90
  272. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  273. package/dist/esm/generated/ts/google/protobuf/timestamp.js +0 -90
  274. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  275. package/dist/esm/generated/ts/google/protobuf/wrappers.js +0 -506
  276. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +0 -35
  277. package/dist/esm/generated/ts/inco/abci/v1/types.js +0 -70
  278. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  279. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +0 -63
  280. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  281. package/dist/esm/generated/ts/inco/fhe/v1/events.js +0 -187
  282. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  283. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +0 -711
  284. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  285. package/dist/esm/generated/ts/inco/fhe/v1/query.js +0 -1391
  286. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  287. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +0 -1233
  288. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  289. package/dist/esm/generated/ts/inco/fhe/v1/types.js +0 -985
  290. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  291. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +0 -63
  292. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  293. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +0 -328
  294. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  295. package/dist/esm/generated/ts/inco/originchain/v1/events.js +0 -213
  296. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  297. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +0 -66
  298. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  299. package/dist/esm/generated/ts/inco/originchain/v1/query.js +0 -277
  300. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  301. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +0 -137
  302. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  303. package/dist/esm/generated/ts/inco/originchain/v1/types.js +0 -200
  304. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  305. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +0 -63
  306. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  307. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +0 -182
  308. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  309. package/dist/esm/generated/ts/inco/preflight/v1/query.js +0 -256
  310. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  311. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +0 -445
  312. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  313. package/dist/esm/generated/ts/inco/preflight/v1/types.js +0 -395
  314. package/dist/esm/l1/client.d.ts +0 -35
  315. package/dist/esm/l1/client.js +0 -93
  316. package/dist/esm/l1/index.d.ts +0 -2
  317. package/dist/esm/l1/index.js +0 -3
  318. package/dist/esm/l1/preflight.d.ts +0 -20
  319. package/dist/esm/l1/preflight.js +0 -39
  320. package/dist/types/fhevm/fhe-environment.d.ts +0 -9
  321. package/dist/types/fhevm/fhevm.d.ts +0 -41
  322. package/dist/types/fhevm/index.d.ts +0 -1
  323. package/dist/types/fhevm/reencrypt.d.ts +0 -20
  324. package/dist/types/fhevm/tfhe.d.ts +0 -74
  325. package/dist/types/fhevm/types.d.ts +0 -3
  326. package/dist/types/generated/abis/inco-fhevm.d.ts +0 -874
  327. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  328. package/dist/types/generated/es/google/api/annotations_pb.d.ts +0 -13
  329. package/dist/types/generated/es/google/api/http_pb.d.ts +0 -440
  330. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  331. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  332. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  333. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  334. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  335. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  336. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  337. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  338. package/dist/types/generated/fhe-environments.d.ts +0 -14
  339. package/dist/types/generated/ts/amino/amino.d.ts +0 -1
  340. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  341. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  342. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  343. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  344. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  345. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  346. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  347. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  348. package/dist/types/generated/ts/gogoproto/gogo.d.ts +0 -1
  349. package/dist/types/generated/ts/google/api/annotations.d.ts +0 -1
  350. package/dist/types/generated/ts/google/api/http.d.ts +0 -371
  351. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  352. package/dist/types/generated/ts/google/protobuf/duration.d.ts +0 -99
  353. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  354. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  355. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +0 -35
  356. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  357. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  358. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  359. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  360. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  361. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  362. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  363. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  364. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  365. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  366. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  367. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  368. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  369. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  370. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  371. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  372. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  373. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  374. package/dist/types/l1/client.d.ts +0 -35
  375. package/dist/types/l1/index.d.ts +0 -2
  376. package/dist/types/l1/preflight.d.ts +0 -20
@@ -1,10 +1,17 @@
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';
6
+ import { bigintToPlaintext, encryptionSchemes } from '../encryption/encryption.js';
4
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';
9
+ import { bigintToBytes32, bytesToBigInt, getHandleType } from '../index.js';
10
+ 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';
7
11
  import { createEIP712Payload } from '../reencryption/index.js';
12
+ import { retryWithBackoff } from '../retry.js';
13
+ import { AttestedComputeRequestSchema, AttestedDecryptRequestSchema, ReencryptRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
14
+ import { AllowanceProofSchema, AllowanceVoucherSchema, HandleWithProofSchema, IncoLiteAdvancedACLProofSchema, } from '../generated/es/inco/kms/lite/v1/types_pb.js';
8
15
  // Given a sharer's wallet client, an incoLite contract address, and a
9
16
  // (verifyingContract, callFunction, sharerArgData) tuple, this function
10
17
  // creates an AllowanceVoucher.
@@ -77,43 +84,34 @@ export async function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrCl
77
84
  // this step will NOT prompt the user with a pop-up.
78
85
  const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
79
86
  return async function reencrypt({ handle }) {
80
- const reencryptRequest = {
81
- $typeName: 'inco.kms.lite.v1.ReencryptRequest',
87
+ const reencryptRequest = create(ReencryptRequestSchema, {
82
88
  userAddress: requesterAccount.address,
83
89
  ephemeralPubKey,
84
90
  eip712Signature: hexToBytes(eip712Signature),
85
91
  handlesWithProofs: [
86
- {
87
- $typeName: 'inco.kms.lite.v1.HandleWithProof',
92
+ create(HandleWithProofSchema, {
88
93
  handle,
89
94
  aclProof: {
90
- $typeName: 'inco.kms.lite.v1.ACLProof',
91
95
  proof: {
92
- value: {
93
- $typeName: 'inco.kms.lite.v1.IncoLiteAdvancedACLProof',
94
- allowanceProof: {
95
- $typeName: 'inco.kms.lite.v1.AllowanceProof',
96
+ case: 'incoLiteAdvancedAclProof',
97
+ value: create(IncoLiteAdvancedACLProofSchema, {
98
+ allowanceProof: create(AllowanceProofSchema, {
96
99
  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',
100
+ voucher: create(AllowanceVoucherSchema, {
101
101
  sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
102
102
  verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
103
103
  callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
104
104
  sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
105
- },
105
+ }),
106
106
  voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
107
- // For SessionVerifier, the requesterArgData is empty.
108
107
  requesterArgData: new Uint8Array(),
109
- },
110
- },
111
- case: 'incoLiteAdvancedAclProof',
108
+ }),
109
+ }),
112
110
  },
113
111
  },
114
- },
112
+ }),
115
113
  ],
116
- };
114
+ });
117
115
  const response = await kmsClient.reencrypt(reencryptRequest);
118
116
  return decryptGrpcResponse(response, ephemeralKeypair, handle);
119
117
  };
@@ -127,6 +125,146 @@ export async function updateActiveVouchersSessionNonce(incoLiteAddress, sharerWa
127
125
  const txHash = await advancedACL.write.updateActiveVouchersSessionNonce();
128
126
  return txHash;
129
127
  }
128
+ // The sessionKeyAttestedCompute function is a decryptor that uses a session key
129
+ // to compute on a handle.
130
+ export async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
131
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc(getSupportedChain(chainId)));
132
+ const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
133
+ const rhsPlaintextBig = BigInt(rhsPlaintext);
134
+ const rhsValueBytes = bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), rhsPlaintextBig);
135
+ // Sign the EIP712 attesting that the requester has access to the private key
136
+ // corresponding to the ephemeral public key.
137
+ const eip712Payload = createEIP712Payload({
138
+ chainId: BigInt(chainId),
139
+ primaryType: 'AttestedComputeRequest',
140
+ primaryTypeFields: [
141
+ { name: 'op', type: 'uint8' },
142
+ { name: 'lhsHandle', type: 'bytes32' },
143
+ { name: 'rhsPlaintext', type: 'bytes32' },
144
+ ],
145
+ message: {
146
+ op: op,
147
+ lhsHandle: lhsHandle,
148
+ rhsPlaintext: bigintToBytes32(rhsPlaintextBig),
149
+ },
150
+ domainName: ATTESTED_COMPUTE_DOMAIN_NAME,
151
+ domainVersion: ATTESTED_COMPUTE_DOMAIN_VERSION,
152
+ });
153
+ // Since the account is an ephemeral keypair stored in memory (not in Metamask),
154
+ // this step will NOT prompt the user with a pop-up.
155
+ const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
156
+ const attestedComputeRequest = create(AttestedComputeRequestSchema, {
157
+ userAddress: requesterAccount.address,
158
+ op: op,
159
+ lhsHandle: lhsHandle,
160
+ rhsPlaintext: rhsValueBytes.value.toString(16),
161
+ eip712Signature: hexToBytes(eip712Signature),
162
+ aclProof: {
163
+ proof: {
164
+ case: 'incoLiteAdvancedAclProof',
165
+ value: create(IncoLiteAdvancedACLProofSchema, {
166
+ allowanceProof: create(AllowanceProofSchema, {
167
+ sharer: allowanceVoucherWithSig.sharer,
168
+ voucher: create(AllowanceVoucherSchema, {
169
+ sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
170
+ verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
171
+ callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
172
+ sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
173
+ }),
174
+ voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
175
+ // For SessionVerifier, the requesterArgData is empty.
176
+ requesterArgData: new Uint8Array(),
177
+ }),
178
+ }),
179
+ },
180
+ },
181
+ });
182
+ const response = await retryWithBackoff(async () => {
183
+ return await kmsClient.attestedCompute(attestedComputeRequest);
184
+ }, backoffConfig);
185
+ if (!response.decryptionAttestation) {
186
+ throw new Error('Failed to get decryption attestation from attested compute');
187
+ }
188
+ const decryptionAttestation = response.decryptionAttestation;
189
+ if (decryptionAttestation.plaintext === undefined) {
190
+ throw new Error('No plaintext in compute response');
191
+ }
192
+ const bigIntValue = bytesToBigInt(decryptionAttestation.plaintext);
193
+ return {
194
+ handle: decryptionAttestation.handle,
195
+ plaintext: bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), bigIntValue),
196
+ covalidatorSignature: decryptionAttestation.signature,
197
+ };
198
+ }
199
+ // The sessionKeyAttestedDecrypt function is a decryptor that uses a session key
200
+ // to decrypt data.
201
+ export async function sessionKeyAttestedDecrypt({ chainId, kmsConnectRpcEndpointOrClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, }) {
202
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc(getSupportedChain(chainId)));
203
+ const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
204
+ // Sign the EIP712 attesting that the requester has access to the private key
205
+ // corresponding to the ephemeral public key.
206
+ const eip712Payload = createEIP712Payload({
207
+ chainId: BigInt(chainId),
208
+ primaryType: 'AttestedDecryptRequest',
209
+ primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
210
+ message: {
211
+ handles: handles,
212
+ },
213
+ domainName: ATTESTED_DECRYPT_DOMAIN_NAME,
214
+ domainVersion: ATTESTED_DECRYPT_DOMAIN_VERSION,
215
+ });
216
+ // Since the account is an ephemeral keypair stored in memory (not in Metamask),
217
+ // this step will NOT prompt the user with a pop-up.
218
+ const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
219
+ const handlesWithProofs = handles.map((handle) => {
220
+ return create(HandleWithProofSchema, {
221
+ handle: handle,
222
+ aclProof: {
223
+ proof: {
224
+ case: 'incoLiteAdvancedAclProof',
225
+ value: create(IncoLiteAdvancedACLProofSchema, {
226
+ allowanceProof: create(AllowanceProofSchema, {
227
+ sharer: allowanceVoucherWithSig.sharer,
228
+ voucher: create(AllowanceVoucherSchema, {
229
+ sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
230
+ verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
231
+ callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
232
+ sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
233
+ }),
234
+ voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
235
+ requesterArgData: new Uint8Array(),
236
+ }),
237
+ }),
238
+ },
239
+ },
240
+ });
241
+ });
242
+ const attestedDecryptRequest = create(AttestedDecryptRequestSchema, {
243
+ userAddress: requesterAccount.address,
244
+ handlesWithProofs: handlesWithProofs,
245
+ eip712Signature: hexToBytes(eip712Signature),
246
+ });
247
+ const response = await retryWithBackoff(async () => {
248
+ return await kmsClient.attestedDecrypt(attestedDecryptRequest);
249
+ }, backoffConfig);
250
+ if (!response.decryptionAttestations || response.decryptionAttestations.length === 0) {
251
+ throw new AttestedDecryptError('No decryption attestations in response');
252
+ }
253
+ const results = response.decryptionAttestations.map((att) => {
254
+ if (att.plaintext === undefined) {
255
+ throw new AttestedDecryptError('No plaintext in attestation');
256
+ }
257
+ const h = att.handle;
258
+ const handleType = getHandleType(h);
259
+ const bigIntValue = bytesToBigInt(att.plaintext);
260
+ return {
261
+ handle: h,
262
+ plaintext: bigintToPlaintext(encryptionSchemes.ecies, handleType, bigIntValue),
263
+ covalidatorSignature: att.signature,
264
+ };
265
+ });
266
+ return results;
267
+ }
130
268
  // Below are helpers to get ABIs of functions/structs from the SessionVerifier
131
269
  // contract.
132
270
  // Get the ABI of the `AllowanceVoucher` struct.
@@ -167,4 +305,4 @@ function getCanUseSessionAbi() {
167
305
  }
168
306
  return canUseSession;
169
307
  }
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlMLG1CQUFtQixFQUNuQixXQUFXLEVBRVgsVUFBVSxFQUNWLGtCQUFrQixHQUduQixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUcsT0FBTyxFQUFFLG1CQUFtQixFQUF3QixNQUFNLDBCQUEwQixDQUFDO0FBa0JyRixzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxlQUF3QixFQUN4QixrQkFBMkQsRUFDM0QsaUJBQTBCLEVBQzFCLFlBQWlCLEVBQ2pCLGFBQWtCO0lBRWxCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM5QixPQUFPLEVBQUUsZUFBZTtRQUN4QixvRUFBb0U7UUFDcEUsR0FBRyxFQUFFLHdCQUF3QjtRQUM3QixNQUFNLEVBQUUsa0JBQWtCO0tBQzNCLENBQUMsQ0FBQztJQUVILDBFQUEwRTtJQUMxRSx3Q0FBd0M7SUFDeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9B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
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVDLE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFVBQVUsRUFDVixrQkFBa0IsR0FHbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUF5QixNQUFNLDZCQUE2QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixpQkFBaUIsRUFBb0IsTUFBTSw2QkFBNkIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFhLE1BQU0sYUFBYSxDQUFDO0FBU3ZGLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osZUFBZSxHQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRixPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTlELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUN2QixNQUFNLG9EQUFv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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
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
@@ -43,20 +45,25 @@ export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConf
43
45
  // Sign the EIP712 message
44
46
  const eip712Signature = await walletClient.signTypedData(eip712Payload);
45
47
  const rhsValueBytes = bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), rhsPlaintextBig);
46
- const attestedComputeRequest = {
47
- $typeName: 'inco.kms.lite.v1.AttestedComputeRequest',
48
+ const attestedComputeRequest = create(AttestedComputeRequestSchema, {
48
49
  userAddress: walletClient.account.address,
49
50
  op: op,
50
51
  lhsHandle: lhsHandle,
51
52
  rhsPlaintext: rhsValueBytes.value.toString(16),
52
53
  eip712Signature: hexToBytes(eip712Signature),
53
- };
54
+ aclProof: {
55
+ proof: {
56
+ case: 'incoLiteBasicAclProof',
57
+ value: {},
58
+ },
59
+ },
60
+ });
54
61
  const response = await retryWithBackoff(async () => {
55
62
  return await kmsClient.attestedCompute(attestedComputeRequest);
56
63
  }, backoffConfig);
57
64
  const decryptionAttestation = response.decryptionAttestation;
58
65
  if (decryptionAttestation?.plaintext === undefined) {
59
- throw new AttestedComputeError('No plaintext in response');
66
+ throw new AttestedComputeError('No plaintext in compute response');
60
67
  }
61
68
  const computeResultHandle = response.decryptionAttestation?.handle;
62
69
  if (!computeResultHandle) {
@@ -77,4 +84,4 @@ export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConf
77
84
  throw new AttestedComputeError('Failed to perform attested compute', error);
78
85
  }
79
86
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYSxNQUFNLGNBQWMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxpQkFBaUIsRUFBb0IsTUFBTSw2QkFBNkIsQ0FBQztBQUVsSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFxQixNQUFNLFlBQVksQ0FBQztBQUVyRSxNQUFNLDRCQUE0QixHQUFHLHFCQUFxQixDQUFDO0FBQzNELE1BQU0sK0JBQStCLEdBQUcsT0FBTyxDQUFDO0FBY2hEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FBNkIsRUFDaEUsU0FBUyxFQUNULEVBQUUsRUFDRixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWiw2QkFBNkIsRUFDN0IsT0FBTyxHQVNSO0lBQ0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLDZCQUE2QixJQUFJLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxD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
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQWUsaUJBQWlCLEVBQW9CLE1BQU0sNkJBQTZCLENBQUM7QUFDbEgsT0FBTyxFQUVMLDRCQUE0QixHQUM3QixNQUFNLG9EQUFvRCxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQXFCLE1BQU0sWUFBWSxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLHFCQUFxQixDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLE9BQU8sQ0FBQztBQWN2RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQTZCLEVBQ2hFLFNBQVMsRUFDVCxFQUFFLEVBQ0YsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osNkJBQTZC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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
+ };
@@ -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
@@ -1,21 +1,24 @@
1
+ import { create } from '@bufbuild/protobuf';
1
2
  import { hexToBytes } from 'viem';
2
3
  import { bytesToBigInt } from '../binary.js';
3
4
  import { getSupportedChain } from '../chain.js';
4
5
  import { bigintToPlaintext, encryptionSchemes } from '../encryption/encryption.js';
6
+ import { AttestedDecryptRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
7
+ import { HandleWithProofSchema } from '../generated/es/inco/kms/lite/v1/types_pb.js';
5
8
  import { getHandleType } from '../handle.js';
6
9
  import { defaultCovalidatorGrpc, getKmsClient } from '../kms/client.js';
7
10
  import { createEIP712Payload } from '../reencryption/eip712.js';
8
11
  import { retryWithBackoff } from '../retry.js';
9
12
  import { AttestedDecryptError } from './types.js';
10
- const ATTESTED_DECRYPT_DOMAIN_NAME = 'IncoAttestedDecrypt';
11
- const ATTESTED_DECRYPT_DOMAIN_VERSION = '0.1.0';
13
+ export const ATTESTED_DECRYPT_DOMAIN_NAME = 'IncoAttestedDecrypt';
14
+ export const ATTESTED_DECRYPT_DOMAIN_VERSION = '0.1.0';
12
15
  /**
13
16
  * Validates a handle format.
14
17
  * @param handle - The handle to validate
15
18
  * @throws {AttestedDecryptError} If the handle format is invalid
16
19
  */
17
20
  export function validateHandle(handle) {
18
- if (!handle.startsWith('0x') || handle.length !== 66) {
21
+ if (!handle.startsWith('0x') || handle.length !== 2 + 2 * 32) {
19
22
  throw new AttestedDecryptError('Invalid handle format: must be a 32-byte hex string with 0x prefix');
20
23
  }
21
24
  }
@@ -31,23 +34,35 @@ export async function attestedDecrypt({ handles, backoffConfig, walletClient, ch
31
34
  try {
32
35
  handles.forEach(validateHandle);
33
36
  const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc(getSupportedChain(chainId)));
37
+ // Create the EIP712 payload for the handles to decrypt
34
38
  const eip712Payload = createEIP712Payload({
35
39
  chainId: BigInt(chainId),
36
40
  primaryType: 'AttestedDecryptRequest',
37
41
  primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
38
42
  message: {
39
- handles,
43
+ handles: handles,
40
44
  },
41
45
  domainName: ATTESTED_DECRYPT_DOMAIN_NAME,
42
46
  domainVersion: ATTESTED_DECRYPT_DOMAIN_VERSION,
43
47
  });
48
+ // Sign the EIP712 message
44
49
  const eip712Signature = await walletClient.signTypedData(eip712Payload);
45
- const attestedDecryptRequest = {
46
- $typeName: 'inco.kms.lite.v1.AttestedDecryptRequest',
50
+ const handlesWithProofs = handles.map((handle) => {
51
+ return create(HandleWithProofSchema, {
52
+ handle: handle,
53
+ aclProof: {
54
+ proof: {
55
+ case: 'incoLiteBasicAclProof',
56
+ value: {},
57
+ },
58
+ },
59
+ });
60
+ });
61
+ const attestedDecryptRequest = create(AttestedDecryptRequestSchema, {
47
62
  userAddress: walletClient.account.address,
48
- handles,
63
+ handlesWithProofs: handlesWithProofs,
49
64
  eip712Signature: hexToBytes(eip712Signature),
50
- };
65
+ });
51
66
  const response = await retryWithBackoff(async () => {
52
67
  return await kmsClient.attestedDecrypt(attestedDecryptRequest);
53
68
  }, backoffConfig);
@@ -76,4 +91,4 @@ export async function attestedDecrypt({ handles, backoffConfig, walletClient, ch
76
91
  throw new AttestedDecryptError('Failed to decrypt handles', error);
77
92
  }
78
93
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQWUsaUJBQWlCLEVBQW9CLE1BQU0sNkJBQTZCLENBQUM7QUFFbEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSxZQUFZLENBQUM7QUFFekUsTUFBTSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUMzRCxNQUFNLCtCQUErQixHQUFHLE9BQU8sQ0FBQztBQUVoRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFpQjtJQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3JELE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7QUFDSCxDQUFDO0FBY0Q7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLE9BQU8sRUFDUCxhQUFhLEVBQ2IsWUFB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
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFlLGlCQUFpQixFQUFvQixNQUFNLDZCQUE2QixDQUFDO0FBQ2xILE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQXdCLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSxZQUFZLENBQUM7QUFFekUsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7QUFDbEUsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsT0FBTyxDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWlCO0lBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxH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
@@ -13,8 +13,9 @@ export type DecryptionAttestation<S extends EncryptionScheme, T extends Supporte
13
13
  plaintext: PlaintextOf<S, T>;
14
14
  covalidatorSignature: Uint8Array;
15
15
  };
16
- export type AttestedDecryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: {
16
+ export type AttestedDecryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: AttestedDecryptFnArgs<S, T>) => Promise<DecryptionAttestation<S, T>>;
17
+ export type AttestedDecryptFnArgs<S extends EncryptionScheme, T extends SupportedFheType> = {
17
18
  /** The handle to decrypt */
18
19
  handle: HexString;
19
20
  backoffConfig?: Partial<BackoffConfig>;
20
- }) => Promise<DecryptionAttestation<S, T>>;
21
+ };
@@ -0,0 +1,21 @@
1
+ import { DecryptionAttestation } from '../attesteddecrypt/types.js';
2
+ import { HexString } from '../binary.js';
3
+ import { SupportedChainId } from '../chain.js';
4
+ import { EciesScheme, SupportedFheType } from '../encryption/encryption.js';
5
+ import type { KmsClient } from '../kms/client.js';
6
+ import type { BackoffConfig } from '../retry.js';
7
+ /**
8
+ * Just like attestedDecrypt, attestedReveal multiple revealed handles in a single attested request.
9
+ * Returns an array of attestations aligned with the response ordering.
10
+ * Handles must be revealed ahead of time using the .reveal() on-chain call.
11
+ *
12
+ * @param args - The arguments for creating the attested reveal function
13
+ * @returns A function that can reveal handles and return an attestation
14
+ * @throws {AttestedRevealError} If the creation fails
15
+ */
16
+ export declare function attestedReveal({ handles, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, }: {
17
+ handles: HexString[];
18
+ backoffConfig?: Partial<BackoffConfig> | undefined;
19
+ chainId: SupportedChainId;
20
+ kmsConnectRpcEndpointOrClient?: string | KmsClient;
21
+ }): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
@@ -0,0 +1,63 @@
1
+ import { bytesToBigInt } from '../binary.js';
2
+ import { getSupportedChain } from '../chain.js';
3
+ import { bigintToPlaintext, encryptionSchemes } from '../encryption/encryption.js';
4
+ import { getHandleType } from '../handle.js';
5
+ import { defaultCovalidatorGrpc, getKmsClient } from '../kms/client.js';
6
+ import { retryWithBackoff } from '../retry.js';
7
+ import { AttestedRevealError } from './types.js';
8
+ /**
9
+ * Validates a handle format.
10
+ * @param handle - The handle to validate
11
+ * @throws {AttestedRevealError} If the handle format is invalid
12
+ */
13
+ function validateHandle(handle) {
14
+ if (!handle.startsWith('0x') || handle.length !== 2 + 2 * 32) {
15
+ throw new AttestedRevealError('Invalid handle format: must be a 32-byte hex string with 0x prefix');
16
+ }
17
+ }
18
+ /**
19
+ * Just like attestedDecrypt, attestedReveal multiple revealed handles in a single attested request.
20
+ * Returns an array of attestations aligned with the response ordering.
21
+ * Handles must be revealed ahead of time using the .reveal() on-chain call.
22
+ *
23
+ * @param args - The arguments for creating the attested reveal function
24
+ * @returns A function that can reveal handles and return an attestation
25
+ * @throws {AttestedRevealError} If the creation fails
26
+ */
27
+ export async function attestedReveal({ handles, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, }) {
28
+ try {
29
+ handles.forEach(validateHandle);
30
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc(getSupportedChain(chainId)));
31
+ const attestedRevealRequest = {
32
+ $typeName: 'inco.kms.lite.v1.AttestedRevealRequest',
33
+ handles: handles,
34
+ };
35
+ const response = await retryWithBackoff(async () => {
36
+ return await kmsClient.attestedReveal(attestedRevealRequest);
37
+ }, backoffConfig);
38
+ if (response.decryptionAttestations.length !== handles.length) {
39
+ throw new AttestedRevealError(`Expected ${handles.length} decryption attestations in response, got ${response.decryptionAttestations.length}`);
40
+ }
41
+ const results = response.decryptionAttestations.map((att) => {
42
+ if (att.plaintext === undefined) {
43
+ throw new AttestedRevealError('No plaintext in attestation');
44
+ }
45
+ const h = att.handle;
46
+ const handleType = getHandleType(h);
47
+ const bigIntValue = bytesToBigInt(att.plaintext);
48
+ return {
49
+ handle: h,
50
+ plaintext: bigintToPlaintext(encryptionSchemes.ecies, handleType, bigIntValue),
51
+ covalidatorSignature: att.signature,
52
+ };
53
+ });
54
+ return results;
55
+ }
56
+ catch (error) {
57
+ if (error instanceof AttestedRevealError) {
58
+ throw error;
59
+ }
60
+ throw new AttestedRevealError('Failed to reveal handles', error);
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtcmV2ZWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0dGVzdGVkcmV2ZWFsL2F0dGVzdGVkLXJldmVhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFlLGlCQUFpQixFQUFvQixNQUFNLDZCQUE2QixDQUFDO0FBRWxILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFakQ7Ozs7R0FJRztBQUNILFNBQVMsY0FBYyxDQUFDLE1BQWM7SUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQzdELE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxFQUNuQyxPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sRUFDUCw2QkFBNkIsR0FNOUI7SUFDQyxJQUFJLENBQUM7UUFDSCxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyw2QkFBNkIsSUFBSSxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEgsTUFBTSxxQkFBcUIsR0FBMEI7WUFDbkQsU0FBUyxFQUFFLHdDQUF3QztZQUNuRCxPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqRCxPQUFPLE1BQU0sU0FBUyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQy9ELENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVsQixJQUFJLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlELE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0IsWUFBWSxPQUFPLENBQUMsTUFBTSw2Q0FBNkMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUNoSCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFnRSxRQUFRLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUM5RyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ04sSUFBSSxHQUFHLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLElBQUksbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUMvRCxDQUFDO1lBQ0QsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQW1CLENBQUM7WUFDbEMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakQsT0FBTztnQkFDTCxNQUFNLEVBQUUsQ0FBQztnQkFDVCxTQUFTLEVBQUUsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFVBQThCLEVBQUUsV0FBVyxDQUFDO2dCQUNsRyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsU0FBUzthQUNwQyxDQUFDO1FBQ0osQ0FBQyxDQUNGLENBQUM7UUFFRixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxZQUFZLG1CQUFtQixFQUFFLENBQUM7WUFDekMsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxJQUFJLG1CQUFtQixDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7QUFDSCxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export * from './types.js';
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRyZXZlYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Custom error class for attested reveal operations.
3
+ */
4
+ export declare class AttestedRevealError extends Error {
5
+ readonly cause?: unknown | undefined;
6
+ constructor(message: string, cause?: unknown | undefined);
7
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Custom error class for attested reveal operations.
3
+ */
4
+ export class AttestedRevealError extends Error {
5
+ cause;
6
+ constructor(message, cause) {
7
+ super(message);
8
+ this.cause = cause;
9
+ this.name = 'AttestedRevealError';
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRyZXZlYWwvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsS0FBSztJQUcxQjtJQUZsQixZQUNFLE9BQWUsRUFDQyxLQUFlO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0NBQ0YifQ==
@@ -20,6 +20,20 @@ export declare const addTwoAbi: readonly [{
20
20
  readonly type: "bytes32";
21
21
  }];
22
22
  readonly stateMutability: "nonpayable";
23
+ }, {
24
+ readonly type: "function";
25
+ readonly inputs: readonly [{
26
+ readonly name: "a";
27
+ readonly internalType: "euint256";
28
+ readonly type: "bytes32";
29
+ }];
30
+ readonly name: "addTwoAlt";
31
+ readonly outputs: readonly [{
32
+ readonly name: "";
33
+ readonly internalType: "euint256";
34
+ readonly type: "bytes32";
35
+ }];
36
+ readonly stateMutability: "nonpayable";
23
37
  }, {
24
38
  readonly type: "function";
25
39
  readonly inputs: readonly [{
@@ -36,6 +50,10 @@ export declare const addTwoAbi: readonly [{
36
50
  readonly name: "";
37
51
  readonly internalType: "euint256";
38
52
  readonly type: "bytes32";
53
+ }, {
54
+ readonly name: "";
55
+ readonly internalType: "euint256";
56
+ readonly type: "bytes32";
39
57
  }];
40
58
  readonly stateMutability: "nonpayable";
41
59
  }, {