@inco/js 0.2.15 → 0.2.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +34 -0
  2. package/dist/cjs/attesteddecrypt/attested-decrypt.js +91 -0
  3. package/dist/cjs/attesteddecrypt/index.d.ts +2 -0
  4. package/dist/cjs/attesteddecrypt/index.js +19 -0
  5. package/dist/cjs/attesteddecrypt/types.d.ts +18 -0
  6. package/dist/cjs/attesteddecrypt/types.js +16 -0
  7. package/dist/cjs/binary.js +82 -0
  8. package/dist/{chain.js → cjs/chain.js} +1 -1
  9. package/dist/{encryption → cjs/encryption}/encryption.d.ts +2 -2
  10. package/dist/cjs/encryption/encryption.js +109 -0
  11. package/dist/cjs/encryption/index.d.ts +1 -0
  12. package/dist/{fhevm → cjs/encryption}/index.js +2 -2
  13. package/dist/{fhevm → cjs/fhevm}/fhe-environment.d.ts +1 -1
  14. package/dist/cjs/fhevm/fhe-environment.js +11 -0
  15. package/dist/{fhevm → cjs/fhevm}/fhevm.d.ts +1 -1
  16. package/dist/cjs/fhevm/fhevm.js +145 -0
  17. package/dist/cjs/fhevm/index.d.ts +1 -0
  18. package/dist/{encryption → cjs/fhevm}/index.js +2 -2
  19. package/dist/{fhevm → cjs/fhevm}/reencrypt.d.ts +3 -3
  20. package/dist/cjs/fhevm/reencrypt.js +127 -0
  21. package/dist/{fhevm → cjs/fhevm}/tfhe.d.ts +1 -1
  22. package/dist/cjs/fhevm/tfhe.js +336 -0
  23. package/dist/{fhevm → cjs/fhevm}/types.d.ts +1 -1
  24. package/dist/cjs/fhevm/types.js +29 -0
  25. package/dist/cjs/generated/abis/addTwo.js +62 -0
  26. package/dist/cjs/generated/abis/inco-fhevm.js +681 -0
  27. package/dist/{generated → cjs/generated}/abis/index.js +1 -1
  28. package/dist/cjs/generated/abis/lightning.js +1606 -0
  29. package/dist/{generated → cjs/generated}/es/cosmos/ics23/v1/proofs_pb.js +1 -1
  30. package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.js +1 -1
  31. package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.js +1 -1
  32. package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.js +1 -1
  33. package/dist/{generated → cjs/generated}/es/google/api/http_pb.js +1 -1
  34. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.js +1 -1
  35. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.js +1 -1
  36. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.js +1 -1
  37. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.js +1 -1
  38. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.js +1 -1
  39. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.d.ts +54 -41
  40. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.js +6 -11
  41. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.js +1 -1
  42. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.js +1 -1
  43. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.js +1 -1
  44. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.js +1 -1
  45. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.js +1 -1
  46. package/dist/{generated → cjs/generated}/es/kms/base_pb.js +1 -1
  47. package/dist/{generated → cjs/generated}/es/sf/ethereum/type/v2/type_pb.js +1 -1
  48. package/dist/{generated → cjs/generated}/fhe-environments.js +1 -1
  49. package/dist/{generated → cjs/generated}/lightning.d.ts +21 -0
  50. package/dist/{generated → cjs/generated}/lightning.js +23 -1
  51. package/dist/cjs/generated/local-node.d.ts +23 -0
  52. package/dist/cjs/generated/local-node.js +27 -0
  53. package/dist/{generated → cjs/generated}/ts/amino/amino.js +1 -1
  54. package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.js +1 -1
  55. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +108 -0
  56. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +433 -0
  57. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +716 -0
  58. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +358 -0
  59. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +221 -0
  60. package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.js +1 -1
  61. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +216 -0
  62. package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.js +1 -1
  63. package/dist/{generated → cjs/generated}/ts/google/api/annotations.js +1 -1
  64. package/dist/cjs/generated/ts/google/api/http.js +356 -0
  65. package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.js +1 -1
  66. package/dist/cjs/generated/ts/google/protobuf/duration.js +93 -0
  67. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +93 -0
  68. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +509 -0
  69. package/dist/cjs/generated/ts/inco/abci/v1/types.js +73 -0
  70. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +66 -0
  71. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +190 -0
  72. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +714 -0
  73. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.js +1 -1
  74. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.js +1 -1
  75. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +990 -0
  76. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +66 -0
  77. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +331 -0
  78. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +216 -0
  79. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +69 -0
  80. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +280 -0
  81. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +140 -0
  82. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +203 -0
  83. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +66 -0
  84. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +185 -0
  85. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +259 -0
  86. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +448 -0
  87. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +398 -0
  88. package/dist/{handle.d.ts → cjs/handle.d.ts} +1 -1
  89. package/dist/{handle.js → cjs/handle.js} +5 -5
  90. package/dist/cjs/index.d.ts +5 -0
  91. package/dist/{index.js → cjs/index.js} +5 -5
  92. package/dist/cjs/kms/client.d.ts +8 -0
  93. package/dist/cjs/kms/client.js +41 -0
  94. package/dist/{l1 → cjs/l1}/client.d.ts +6 -6
  95. package/dist/{l1 → cjs/l1}/client.js +8 -8
  96. package/dist/cjs/l1/index.d.ts +2 -0
  97. package/dist/{l1 → cjs/l1}/index.js +3 -3
  98. package/dist/{l1 → cjs/l1}/preflight.d.ts +3 -3
  99. package/dist/cjs/l1/preflight.js +42 -0
  100. package/dist/cjs/lite/attested-decrypt.d.ts +3 -0
  101. package/dist/cjs/lite/attested-decrypt.js +6 -0
  102. package/dist/{lite → cjs/lite}/deployments.d.ts +2 -2
  103. package/dist/cjs/lite/deployments.js +21 -0
  104. package/dist/{lite → cjs/lite}/ecies.d.ts +6 -6
  105. package/dist/cjs/lite/ecies.js +135 -0
  106. package/dist/{lite → cjs/lite}/hadu.d.ts +1 -1
  107. package/dist/cjs/lite/hadu.js +41 -0
  108. package/dist/cjs/lite/index.d.ts +7 -0
  109. package/dist/cjs/lite/index.js +23 -0
  110. package/dist/{lite → cjs/lite}/lightning.d.ts +13 -6
  111. package/dist/cjs/lite/lightning.js +204 -0
  112. package/dist/{lite → cjs/lite}/reencrypt.d.ts +7 -7
  113. package/dist/cjs/lite/reencrypt.js +142 -0
  114. package/dist/cjs/local/index.d.ts +1 -0
  115. package/dist/{local → cjs/local}/index.js +2 -2
  116. package/dist/{local → cjs/local}/local-node.js +1 -1
  117. package/dist/{reencryption → cjs/reencryption}/eip712.js +5 -5
  118. package/dist/cjs/reencryption/index.d.ts +2 -0
  119. package/dist/cjs/reencryption/index.js +19 -0
  120. package/dist/{reencryption → cjs/reencryption}/types.d.ts +6 -10
  121. package/dist/{reencryption → cjs/reencryption}/types.js +1 -1
  122. package/dist/cjs/retry.d.ts +15 -0
  123. package/dist/cjs/retry.js +28 -0
  124. package/dist/{schema.js → cjs/schema.js} +1 -1
  125. package/dist/{viem.d.ts → cjs/viem.d.ts} +1 -1
  126. package/dist/cjs/viem.js +12 -0
  127. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +34 -0
  128. package/dist/esm/attesteddecrypt/attested-decrypt.js +88 -0
  129. package/dist/esm/attesteddecrypt/index.d.ts +2 -0
  130. package/dist/esm/attesteddecrypt/index.js +3 -0
  131. package/dist/esm/attesteddecrypt/types.d.ts +18 -0
  132. package/dist/esm/attesteddecrypt/types.js +12 -0
  133. package/dist/esm/binary.d.ts +21 -0
  134. package/dist/esm/binary.js +67 -0
  135. package/dist/esm/chain.d.ts +22 -0
  136. package/dist/esm/chain.js +24 -0
  137. package/dist/esm/encryption/encryption.d.ts +119 -0
  138. package/dist/esm/encryption/encryption.js +101 -0
  139. package/dist/esm/encryption/index.d.ts +1 -0
  140. package/dist/esm/encryption/index.js +2 -0
  141. package/dist/esm/fhevm/fhe-environment.d.ts +9 -0
  142. package/dist/esm/fhevm/fhe-environment.js +8 -0
  143. package/dist/esm/fhevm/fhevm.d.ts +41 -0
  144. package/dist/esm/fhevm/fhevm.js +139 -0
  145. package/dist/esm/fhevm/index.d.ts +1 -0
  146. package/dist/esm/fhevm/index.js +2 -0
  147. package/dist/esm/fhevm/reencrypt.d.ts +20 -0
  148. package/dist/esm/fhevm/reencrypt.js +123 -0
  149. package/dist/esm/fhevm/tfhe.d.ts +74 -0
  150. package/dist/esm/fhevm/tfhe.js +328 -0
  151. package/dist/esm/fhevm/types.d.ts +3 -0
  152. package/dist/esm/fhevm/types.js +26 -0
  153. package/dist/esm/generated/abis/addTwo.d.ts +83 -0
  154. package/dist/{generated → esm/generated}/abis/addTwo.js +2 -5
  155. package/dist/esm/generated/abis/inco-fhevm.d.ts +874 -0
  156. package/dist/{generated → esm/generated}/abis/inco-fhevm.js +3 -6
  157. package/dist/esm/generated/abis/index.d.ts +2 -0
  158. package/dist/esm/generated/abis/index.js +3 -0
  159. package/dist/esm/generated/abis/lightning.d.ts +2226 -0
  160. package/dist/{generated → esm/generated}/abis/lightning.js +2 -5
  161. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  162. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.js +198 -0
  163. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  164. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
  165. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  166. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +115 -0
  167. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +13 -0
  168. package/dist/esm/generated/es/google/api/annotations_pb.js +27 -0
  169. package/dist/esm/generated/es/google/api/http_pb.d.ts +440 -0
  170. package/dist/esm/generated/es/google/api/http_pb.js +34 -0
  171. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  172. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +21 -0
  173. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  174. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
  175. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  176. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +108 -0
  177. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  178. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +108 -0
  179. package/dist/esm/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  180. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +133 -0
  181. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  182. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +58 -0
  183. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  184. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
  185. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  186. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
  187. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  188. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +38 -0
  189. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  190. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +48 -0
  191. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  192. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +34 -0
  193. package/dist/esm/generated/es/kms/base_pb.d.ts +765 -0
  194. package/dist/esm/generated/es/kms/base_pb.js +238 -0
  195. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  196. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.js +571 -0
  197. package/dist/esm/generated/fhe-environments.d.ts +14 -0
  198. package/dist/esm/generated/fhe-environments.js +15 -0
  199. package/dist/esm/generated/lightning.d.ts +211 -0
  200. package/dist/esm/generated/lightning.js +223 -0
  201. package/dist/esm/generated/local-node.d.ts +23 -0
  202. package/dist/esm/generated/local-node.js +24 -0
  203. package/dist/esm/generated/ts/amino/amino.d.ts +1 -0
  204. package/dist/esm/generated/ts/amino/amino.js +8 -0
  205. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  206. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +5063 -0
  207. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  208. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +105 -0
  209. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  210. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +430 -0
  211. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  212. package/dist/esm/generated/ts/cometbft/types/v1/params.js +713 -0
  213. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  214. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +353 -0
  215. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  216. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
  217. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  218. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +8 -0
  219. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  220. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +211 -0
  221. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +1 -0
  222. package/dist/esm/generated/ts/gogoproto/gogo.js +8 -0
  223. package/dist/esm/generated/ts/google/api/annotations.d.ts +1 -0
  224. package/dist/esm/generated/ts/google/api/annotations.js +8 -0
  225. package/dist/esm/generated/ts/google/api/http.d.ts +371 -0
  226. package/dist/esm/generated/ts/google/api/http.js +353 -0
  227. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  228. package/dist/esm/generated/ts/google/protobuf/descriptor.js +5070 -0
  229. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +99 -0
  230. package/dist/esm/generated/ts/google/protobuf/duration.js +90 -0
  231. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  232. package/dist/esm/generated/ts/google/protobuf/timestamp.js +90 -0
  233. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  234. package/dist/esm/generated/ts/google/protobuf/wrappers.js +506 -0
  235. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +35 -0
  236. package/dist/esm/generated/ts/inco/abci/v1/types.js +70 -0
  237. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  238. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +63 -0
  239. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  240. package/dist/esm/generated/ts/inco/fhe/v1/events.js +187 -0
  241. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  242. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +711 -0
  243. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  244. package/dist/esm/generated/ts/inco/fhe/v1/query.js +1391 -0
  245. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  246. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +1233 -0
  247. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  248. package/dist/esm/generated/ts/inco/fhe/v1/types.js +985 -0
  249. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  250. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +63 -0
  251. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  252. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +328 -0
  253. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  254. package/dist/esm/generated/ts/inco/originchain/v1/events.js +213 -0
  255. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  256. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +66 -0
  257. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  258. package/dist/esm/generated/ts/inco/originchain/v1/query.js +277 -0
  259. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  260. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +137 -0
  261. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  262. package/dist/esm/generated/ts/inco/originchain/v1/types.js +200 -0
  263. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  264. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +63 -0
  265. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  266. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +182 -0
  267. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  268. package/dist/esm/generated/ts/inco/preflight/v1/query.js +256 -0
  269. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  270. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +445 -0
  271. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  272. package/dist/esm/generated/ts/inco/preflight/v1/types.js +395 -0
  273. package/dist/esm/handle.d.ts +41 -0
  274. package/dist/esm/handle.js +94 -0
  275. package/dist/esm/index.d.ts +5 -0
  276. package/dist/esm/index.js +6 -0
  277. package/dist/esm/kms/client.d.ts +8 -0
  278. package/dist/esm/kms/client.js +35 -0
  279. package/dist/esm/l1/client.d.ts +35 -0
  280. package/dist/esm/l1/client.js +93 -0
  281. package/dist/esm/l1/index.d.ts +2 -0
  282. package/dist/esm/l1/index.js +3 -0
  283. package/dist/esm/l1/preflight.d.ts +20 -0
  284. package/dist/esm/l1/preflight.js +39 -0
  285. package/dist/esm/lite/attested-decrypt.d.ts +3 -0
  286. package/dist/esm/lite/attested-decrypt.js +3 -0
  287. package/dist/esm/lite/deployments.d.ts +6 -0
  288. package/dist/esm/lite/deployments.js +17 -0
  289. package/dist/esm/lite/ecies.d.ts +26 -0
  290. package/dist/esm/lite/ecies.js +124 -0
  291. package/dist/esm/lite/hadu.d.ts +24 -0
  292. package/dist/esm/lite/hadu.js +36 -0
  293. package/dist/esm/lite/index.d.ts +7 -0
  294. package/dist/esm/lite/index.js +7 -0
  295. package/dist/esm/lite/lightning.d.ts +124 -0
  296. package/dist/esm/lite/lightning.js +200 -0
  297. package/dist/esm/lite/reencrypt.d.ts +24 -0
  298. package/dist/esm/lite/reencrypt.js +132 -0
  299. package/dist/esm/local/index.d.ts +1 -0
  300. package/dist/esm/local/index.js +2 -0
  301. package/dist/esm/local/local-node.d.ts +19 -0
  302. package/dist/esm/local/local-node.js +24 -0
  303. package/dist/esm/reencryption/eip712.d.ts +29 -0
  304. package/dist/esm/reencryption/eip712.js +81 -0
  305. package/dist/esm/reencryption/index.d.ts +2 -0
  306. package/dist/esm/reencryption/index.js +3 -0
  307. package/dist/esm/reencryption/types.d.ts +25 -0
  308. package/dist/esm/reencryption/types.js +2 -0
  309. package/dist/esm/retry.d.ts +15 -0
  310. package/dist/esm/retry.js +25 -0
  311. package/dist/esm/schema.d.ts +4 -0
  312. package/dist/esm/schema.js +15 -0
  313. package/dist/esm/viem.d.ts +427 -0
  314. package/dist/esm/viem.js +8 -0
  315. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +34 -0
  316. package/dist/types/attesteddecrypt/index.d.ts +2 -0
  317. package/dist/types/attesteddecrypt/types.d.ts +18 -0
  318. package/dist/types/binary.d.ts +21 -0
  319. package/dist/types/chain.d.ts +22 -0
  320. package/dist/types/encryption/encryption.d.ts +119 -0
  321. package/dist/types/encryption/index.d.ts +1 -0
  322. package/dist/types/fhevm/fhe-environment.d.ts +9 -0
  323. package/dist/types/fhevm/fhevm.d.ts +41 -0
  324. package/dist/types/fhevm/index.d.ts +1 -0
  325. package/dist/types/fhevm/reencrypt.d.ts +20 -0
  326. package/dist/types/fhevm/tfhe.d.ts +74 -0
  327. package/dist/types/fhevm/types.d.ts +3 -0
  328. package/dist/types/generated/abis/addTwo.d.ts +83 -0
  329. package/dist/types/generated/abis/inco-fhevm.d.ts +874 -0
  330. package/dist/types/generated/abis/index.d.ts +2 -0
  331. package/dist/types/generated/abis/lightning.d.ts +2226 -0
  332. package/dist/types/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  333. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  334. package/dist/types/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  335. package/dist/types/generated/es/google/api/annotations_pb.d.ts +13 -0
  336. package/dist/types/generated/es/google/api/http_pb.d.ts +440 -0
  337. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  338. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  339. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  340. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  341. package/dist/types/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  342. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  343. package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  344. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  345. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  346. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  347. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  348. package/dist/types/generated/es/kms/base_pb.d.ts +765 -0
  349. package/dist/types/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  350. package/dist/types/generated/fhe-environments.d.ts +14 -0
  351. package/dist/types/generated/lightning.d.ts +211 -0
  352. package/dist/types/generated/local-node.d.ts +23 -0
  353. package/dist/types/generated/ts/amino/amino.d.ts +1 -0
  354. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  355. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  356. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  357. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  358. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  359. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  360. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  361. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  362. package/dist/types/generated/ts/gogoproto/gogo.d.ts +1 -0
  363. package/dist/types/generated/ts/google/api/annotations.d.ts +1 -0
  364. package/dist/types/generated/ts/google/api/http.d.ts +371 -0
  365. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  366. package/dist/types/generated/ts/google/protobuf/duration.d.ts +99 -0
  367. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  368. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  369. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +35 -0
  370. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  371. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  372. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  373. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  374. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  375. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  376. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  377. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  378. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  379. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  380. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  381. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  382. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  383. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  384. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  385. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  386. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  387. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  388. package/dist/types/handle.d.ts +41 -0
  389. package/dist/types/index.d.ts +5 -0
  390. package/dist/types/kms/client.d.ts +8 -0
  391. package/dist/types/l1/client.d.ts +35 -0
  392. package/dist/types/l1/index.d.ts +2 -0
  393. package/dist/types/l1/preflight.d.ts +20 -0
  394. package/dist/types/lite/attested-decrypt.d.ts +3 -0
  395. package/dist/types/lite/deployments.d.ts +6 -0
  396. package/dist/types/lite/ecies.d.ts +26 -0
  397. package/dist/types/lite/hadu.d.ts +24 -0
  398. package/dist/types/lite/index.d.ts +7 -0
  399. package/dist/types/lite/lightning.d.ts +124 -0
  400. package/dist/types/lite/reencrypt.d.ts +24 -0
  401. package/dist/types/local/index.d.ts +1 -0
  402. package/dist/types/local/local-node.d.ts +19 -0
  403. package/dist/types/reencryption/eip712.d.ts +29 -0
  404. package/dist/types/reencryption/index.d.ts +2 -0
  405. package/dist/types/reencryption/types.d.ts +25 -0
  406. package/dist/types/retry.d.ts +15 -0
  407. package/dist/types/schema.d.ts +4 -0
  408. package/dist/types/viem.d.ts +427 -0
  409. package/package.json +64 -15
  410. package/dist/binary.js +0 -82
  411. package/dist/encryption/encryption.js +0 -109
  412. package/dist/encryption/index.d.ts +0 -1
  413. package/dist/fhevm/fhe-environment.js +0 -11
  414. package/dist/fhevm/fhevm.js +0 -145
  415. package/dist/fhevm/index.d.ts +0 -1
  416. package/dist/fhevm/reencrypt.js +0 -127
  417. package/dist/fhevm/tfhe.js +0 -336
  418. package/dist/fhevm/types.js +0 -29
  419. package/dist/generated/local-node.d.ts +0 -7
  420. package/dist/generated/local-node.js +0 -11
  421. package/dist/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  422. package/dist/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  423. package/dist/generated/ts/cometbft/types/v1/params.js +0 -716
  424. package/dist/generated/ts/cometbft/types/v1/validator.js +0 -358
  425. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  426. package/dist/generated/ts/cosmos_proto/cosmos.js +0 -216
  427. package/dist/generated/ts/google/api/http.js +0 -356
  428. package/dist/generated/ts/google/protobuf/duration.js +0 -93
  429. package/dist/generated/ts/google/protobuf/timestamp.js +0 -93
  430. package/dist/generated/ts/google/protobuf/wrappers.js +0 -509
  431. package/dist/generated/ts/inco/abci/v1/types.js +0 -73
  432. package/dist/generated/ts/inco/fhe/module/v1/module.js +0 -66
  433. package/dist/generated/ts/inco/fhe/v1/events.js +0 -190
  434. package/dist/generated/ts/inco/fhe/v1/genesis.js +0 -714
  435. package/dist/generated/ts/inco/fhe/v1/types.js +0 -990
  436. package/dist/generated/ts/inco/originchain/module/v1/module.js +0 -66
  437. package/dist/generated/ts/inco/originchain/v1/abci.js +0 -331
  438. package/dist/generated/ts/inco/originchain/v1/events.js +0 -216
  439. package/dist/generated/ts/inco/originchain/v1/genesis.js +0 -69
  440. package/dist/generated/ts/inco/originchain/v1/query.js +0 -280
  441. package/dist/generated/ts/inco/originchain/v1/tx.js +0 -140
  442. package/dist/generated/ts/inco/originchain/v1/types.js +0 -203
  443. package/dist/generated/ts/inco/preflight/module/v1/module.js +0 -66
  444. package/dist/generated/ts/inco/preflight/v1/genesis.js +0 -185
  445. package/dist/generated/ts/inco/preflight/v1/query.js +0 -259
  446. package/dist/generated/ts/inco/preflight/v1/tx.js +0 -448
  447. package/dist/generated/ts/inco/preflight/v1/types.js +0 -398
  448. package/dist/index.d.ts +0 -5
  449. package/dist/l1/index.d.ts +0 -2
  450. package/dist/l1/preflight.js +0 -42
  451. package/dist/lite/deployments.js +0 -21
  452. package/dist/lite/ecies.js +0 -135
  453. package/dist/lite/hadu.js +0 -41
  454. package/dist/lite/index.d.ts +0 -7
  455. package/dist/lite/index.js +0 -23
  456. package/dist/lite/lightning.js +0 -183
  457. package/dist/lite/reencrypt.js +0 -161
  458. package/dist/local/index.d.ts +0 -1
  459. package/dist/reencryption/index.d.ts +0 -2
  460. package/dist/reencryption/index.js +0 -19
  461. package/dist/viem.js +0 -12
  462. /package/dist/{binary.d.ts → cjs/binary.d.ts} +0 -0
  463. /package/dist/{chain.d.ts → cjs/chain.d.ts} +0 -0
  464. /package/dist/{generated → cjs/generated}/abis/addTwo.d.ts +0 -0
  465. /package/dist/{generated → cjs/generated}/abis/inco-fhevm.d.ts +0 -0
  466. /package/dist/{generated → cjs/generated}/abis/index.d.ts +0 -0
  467. /package/dist/{generated → cjs/generated}/abis/lightning.d.ts +0 -0
  468. /package/dist/{generated → cjs/generated}/es/cosmos/ics23/v1/proofs_pb.d.ts +0 -0
  469. /package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.d.ts +0 -0
  470. /package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.d.ts +0 -0
  471. /package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.d.ts +0 -0
  472. /package/dist/{generated → cjs/generated}/es/google/api/http_pb.d.ts +0 -0
  473. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.d.ts +0 -0
  474. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.d.ts +0 -0
  475. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.d.ts +0 -0
  476. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.d.ts +0 -0
  477. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.d.ts +0 -0
  478. /package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.d.ts +0 -0
  479. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.d.ts +0 -0
  480. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.d.ts +0 -0
  481. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.d.ts +0 -0
  482. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.d.ts +0 -0
  483. /package/dist/{generated → cjs/generated}/es/kms/base_pb.d.ts +0 -0
  484. /package/dist/{generated → cjs/generated}/es/sf/ethereum/type/v2/type_pb.d.ts +0 -0
  485. /package/dist/{generated → cjs/generated}/fhe-environments.d.ts +0 -0
  486. /package/dist/{generated → cjs/generated}/ts/amino/amino.d.ts +0 -0
  487. /package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.d.ts +0 -0
  488. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/keys.d.ts +0 -0
  489. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/proof.d.ts +0 -0
  490. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/params.d.ts +0 -0
  491. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/validator.d.ts +0 -0
  492. /package/dist/{generated → cjs/generated}/ts/cosmos/app/v1alpha1/module.d.ts +0 -0
  493. /package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.d.ts +0 -0
  494. /package/dist/{generated → cjs/generated}/ts/cosmos_proto/cosmos.d.ts +0 -0
  495. /package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.d.ts +0 -0
  496. /package/dist/{generated → cjs/generated}/ts/google/api/annotations.d.ts +0 -0
  497. /package/dist/{generated → cjs/generated}/ts/google/api/http.d.ts +0 -0
  498. /package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.d.ts +0 -0
  499. /package/dist/{generated → cjs/generated}/ts/google/protobuf/duration.d.ts +0 -0
  500. /package/dist/{generated → cjs/generated}/ts/google/protobuf/timestamp.d.ts +0 -0
  501. /package/dist/{generated → cjs/generated}/ts/google/protobuf/wrappers.d.ts +0 -0
  502. /package/dist/{generated → cjs/generated}/ts/inco/abci/v1/types.d.ts +0 -0
  503. /package/dist/{generated → cjs/generated}/ts/inco/fhe/module/v1/module.d.ts +0 -0
  504. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/events.d.ts +0 -0
  505. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/genesis.d.ts +0 -0
  506. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.d.ts +0 -0
  507. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.d.ts +0 -0
  508. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/types.d.ts +0 -0
  509. /package/dist/{generated → cjs/generated}/ts/inco/originchain/module/v1/module.d.ts +0 -0
  510. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/abci.d.ts +0 -0
  511. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/events.d.ts +0 -0
  512. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/genesis.d.ts +0 -0
  513. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/query.d.ts +0 -0
  514. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/tx.d.ts +0 -0
  515. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/types.d.ts +0 -0
  516. /package/dist/{generated → cjs/generated}/ts/inco/preflight/module/v1/module.d.ts +0 -0
  517. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/genesis.d.ts +0 -0
  518. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/query.d.ts +0 -0
  519. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/tx.d.ts +0 -0
  520. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/types.d.ts +0 -0
  521. /package/dist/{local → cjs/local}/local-node.d.ts +0 -0
  522. /package/dist/{reencryption → cjs/reencryption}/eip712.d.ts +0 -0
  523. /package/dist/{schema.d.ts → cjs/schema.d.ts} +0 -0
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reencryptEIP712 = reencryptEIP712;
4
+ exports.incoLiteReencryptor = incoLiteReencryptor;
5
+ exports.getKmsClient = getKmsClient;
6
+ exports.decryptGrpcResponse = decryptGrpcResponse;
7
+ exports.defaultCovalidatorGrpc = defaultCovalidatorGrpc;
8
+ exports.pulumiCovalidatorGrpc = pulumiCovalidatorGrpc;
9
+ exports.lightningDevnetCovalidatorGrpc = lightningDevnetCovalidatorGrpc;
10
+ exports.lightningTestnetCovalidatorGrpc = lightningTestnetCovalidatorGrpc;
11
+ const connect_1 = require("@connectrpc/connect");
12
+ const connect_web_1 = require("@connectrpc/connect-web");
13
+ const viem_1 = require("viem");
14
+ const binary_js_1 = require("../binary.js");
15
+ const chain_js_1 = require("../chain.js");
16
+ const encryption_js_1 = require("../encryption/encryption.js");
17
+ const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
18
+ const handle_js_1 = require("../handle.js");
19
+ const eip712_js_1 = require("../reencryption/eip712.js");
20
+ const retry_js_1 = require("../retry.js");
21
+ const ecies_js_1 = require("./ecies.js");
22
+ // The domain constants used for basic reencrypts.
23
+ // Note: for advanced ACL, since the signature is checked on-chain, the domain
24
+ // and version must match the ones used in the contract. For basic ones, we use
25
+ // a domain different than the one used on-chain
26
+ const BASIC_REENCRYPT_DOMAIN = {
27
+ name: 'IncoReencryption',
28
+ version: '0.1.0',
29
+ };
30
+ // Create an EIP712 payload for the Inco Lite basic reencrypt.
31
+ function reencryptEIP712(chainId, ephemeralPubKey) {
32
+ return (0, eip712_js_1.createEIP712Payload)({
33
+ chainId,
34
+ primaryType: 'ReencryptionRequest',
35
+ primaryTypeFields: [{ name: 'publicKey', type: 'bytes' }],
36
+ message: {
37
+ publicKey: (0, viem_1.bytesToHex)(ephemeralPubKey),
38
+ },
39
+ domainName: BASIC_REENCRYPT_DOMAIN.name,
40
+ domainVersion: BASIC_REENCRYPT_DOMAIN.version,
41
+ });
42
+ }
43
+ // Returns the Inco Lite Reencryptor, which can reencrypt a handle using the
44
+ // Basic ACL.
45
+ async function incoLiteReencryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, ephemeralKeypair, }) {
46
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc((0, chain_js_1.getSupportedChain)(chainId)));
47
+ if (!ephemeralKeypair) {
48
+ ephemeralKeypair = await (0, ecies_js_1.generateSecp256k1Keypair)();
49
+ }
50
+ // Sign the EIP712 attesting that the user has access to the private key
51
+ // corresponding to the ephemeral public key.
52
+ const eip712Payload = reencryptEIP712(chainId, ephemeralKeypair.encodePublicKey());
53
+ // Using browser extensions, this step will prompt the user to sign the
54
+ // payload.
55
+ const eip712Signature = await walletClient.signTypedData(eip712Payload);
56
+ return async function reencrypt({ handle }, backoffConfig) {
57
+ const ephemeralPubKey = ephemeralKeypair.encodePublicKey();
58
+ const reencryptRequest = {
59
+ $typeName: 'inco.kms.lite.v1.ReencryptRequest',
60
+ userAddress: walletClient.account.address,
61
+ ephemeralPubKey,
62
+ eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
63
+ handlesWithProofs: [
64
+ {
65
+ $typeName: 'inco.kms.lite.v1.HandleWithProof',
66
+ handle,
67
+ aclProof: {
68
+ $typeName: 'inco.kms.lite.v1.ACLProof',
69
+ // See advancedacl/session-key.ts for an example of using
70
+ // Advanced ACL.
71
+ proof: {
72
+ case: 'incoLiteBasicAclProof',
73
+ value: {
74
+ $typeName: 'inco.kms.lite.v1.IncoLiteBasicACLProof',
75
+ },
76
+ },
77
+ },
78
+ },
79
+ ],
80
+ };
81
+ try {
82
+ return await (0, retry_js_1.retryWithBackoff)(async () => {
83
+ const response = await kmsClient.reencrypt(reencryptRequest);
84
+ return decryptGrpcResponse(response, ephemeralKeypair, handle);
85
+ }, backoffConfig);
86
+ }
87
+ catch (error) {
88
+ console.log(error);
89
+ throw error;
90
+ }
91
+ };
92
+ }
93
+ // Helper function to get a KMS client from a string or a Client instance.
94
+ function getKmsClient(kmsConnectRpcEndpointOrClient) {
95
+ if (typeof kmsConnectRpcEndpointOrClient === 'string') {
96
+ const transport = (0, connect_web_1.createConnectTransport)({
97
+ baseUrl: kmsConnectRpcEndpointOrClient,
98
+ });
99
+ return (0, connect_1.createClient)(kms_service_pb_js_1.KmsService, transport);
100
+ }
101
+ return kmsConnectRpcEndpointOrClient;
102
+ }
103
+ // Decrypt using ECIES the ciphertext in the response.
104
+ // Even though the proto specifies a list of ciphertexts, our JS SDK
105
+ // currently only supports a single ciphertext.
106
+ async function decryptGrpcResponse(response, ephemeralKeypair, handle) {
107
+ const reencryptedCt = response.payload?.userCiphertexts[0];
108
+ if (!reencryptedCt) {
109
+ throw new Error('No reencrypted ciphertext in the response');
110
+ }
111
+ const plaintextBytes = await (0, ecies_js_1.decrypt)(ephemeralKeypair, reencryptedCt.ciphertext);
112
+ const plaintext = (0, binary_js_1.bytesToBigInt)(plaintextBytes);
113
+ return (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0, handle_js_1.getHandleType)(handle), plaintext);
114
+ }
115
+ // Helper function to return the default gRPC endpoint for the covalidator.
116
+ // Currently, this returns the covalidator for the Inco Lightning public testnet.
117
+ function defaultCovalidatorGrpc(chain) {
118
+ return lightningTestnetCovalidatorGrpc(chain);
119
+ }
120
+ // Helper function to get the gRPC endpoint for the Denver covalidator on the
121
+ // AWS (Pulumi) setup. This function is a convenience, and might disappear in
122
+ // the future, if the denver testnet is no longer supported.
123
+ function pulumiCovalidatorGrpc(chain) {
124
+ return `https://grpc.${chain.name.toLowerCase()}.covalidator.denver.inco.org`;
125
+ }
126
+ // Helper function to get the devnet gRPC endpoint for the Inco Lightning covalidator.
127
+ function lightningDevnetCovalidatorGrpc(chain) {
128
+ return getCovalidatorGrpcHelper(chain, 'devnet', 'lightning');
129
+ }
130
+ // Helper function to get the testnet gRPC endpoint for the Inco Lightning covalidator.
131
+ function lightningTestnetCovalidatorGrpc(chain) {
132
+ return getCovalidatorGrpcHelper(chain, 'testnet', 'lightning');
133
+ }
134
+ // Convert camelCase to dash-case.
135
+ function camelToDashCase(str) {
136
+ return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
137
+ }
138
+ // Small helper, as our GCP covalidator URLs are in a specific format.
139
+ function getCovalidatorGrpcHelper(chain, network, cluster) {
140
+ return `https://grpc.${camelToDashCase(chain.name)}.${cluster}.${network}.inco.org`;
141
+ }
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVlbmNyeXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpdGUvcmVlbmNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBOENBLDBDQVdDO0FBSUQsa0RBeURDO0FBR0Qsb0NBV0M7QUFLRCxrREFhQztBQUlELHdEQUVDO0FBS0Qsc0RBRUM7QUFHRCx3RUFFQztBQUdELDBFQUVDO0FBN0tELGlEQUEyRDtBQUMzRCx5REFBaUU7QUFDakUsK0JBQTRGO0FBQzVGLDRDQUE2QztBQUM3QywwQ0FBZ0U7QUFDaEUsK0RBTXFDO0FBQ3JDLDBGQUFxSDtBQUNySCw0Q0FBcUQ7QUFFckQseURBQWdFO0FBR2hFLDBDQUErQztBQUMvQyx5Q0FBaUY7QUFpQmpGLGtEQUFrRDtBQUNsRCw4RUFBOEU7QUFDOUUsK0VBQStFO0FBQy9FLGdEQUFnRDtBQUNoRCxNQUFNLHNCQUFzQixHQUFHO0lBQzdCLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsT0FBTyxFQUFFLE9BQU87Q0FDakIsQ0FBQztBQUVGLDhEQUE4RDtBQUM5RCxTQUFnQixlQUFlLENBQUMsT0FBZSxFQUFFLGVBQTJCO0lBQzFFLE9BQU8sSUFBQSwrQkFBbUIsRUFBQztRQUN6QixPQUFPO1FBQ1AsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDekQsT0FBTyxFQUFFO1lBQ1AsU0FBUyxFQUFFLElBQUEsaUJBQVUsRUFBQyxlQUFlLENBQUM7U0FDdkM7UUFDRCxVQUFVLEVBQUUsc0JBQXNCLENBQUMsSUFBSTtRQUN2QyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsT0FBTztLQUM5QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsNEVBQTRFO0FBQzVFLGFBQWE7QUFDTixLQUFLLFVBQVUsbUJBQW1CLENBQUMsRUFDeEMsNkJBQTZCLEVBQzdCLE9BQU8sRUFD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
@@ -0,0 +1 @@
1
+ export * from './local-node.js';
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./local-node"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9jYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QiJ9
17
+ __exportStar(require("./local-node.js"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQyJ9
@@ -25,4 +25,4 @@ function parseLocalEnv(envFileContents) {
25
25
  const envObj = dotenv.parse(envFileContents);
26
26
  return effect_1.Schema.decodeUnknownSync(exports.LocalNodeEnv)(envObj);
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbC9sb2NhbC1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVCQSxzQ0FHQztBQTFCRCw0Q0FBd0Q7QUFDeEQsaUNBQWlDO0FBQ2pDLG1DQUFnQztBQUVuQixRQUFBLFlBQVksR0FBRyxlQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3hDLGdCQUFnQixFQUFFLGFBQU87SUFDekIsVUFBVSxFQUFFLGVBQU0sQ0FBQyxNQUFNO0lBQ3pCLGdCQUFnQixFQUFFLGFBQU87SUFDekIsZ0JBQWdCLEVBQUUsZUFBUztJQUMzQixnQkFBZ0IsRUFBRSxlQUFTO0lBQzNCLGNBQWMsRUFBRSxhQUFPO0lBQ3ZCLGtCQUFrQixFQUFFLGVBQVM7SUFDN0IsTUFBTSxFQUFFLGVBQU0sQ0FBQyxNQUFNO0lBQ3JCLDZCQUE2QixFQUFFLGVBQVM7SUFDeEMsc0NBQXNDLEVBQUUsZUFBUztJQUNqRCxnQ0FBZ0MsRUFBRSxlQUFTO0lBQzNDLG9CQUFvQixFQUFFLGFBQU87SUFDN0IsOEJBQThCLEVBQUUsYUFBTztJQUN2QyxtQ0FBbUMsRUFBRSxhQUFPO0NBQzdDLENBQUMsQ0FBQztBQUlILFNBQWdCLGFBQWEsQ0FBQyxlQUFnQztJQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sZUFBTSxDQUFDLGlCQUFpQixDQUFDLG9CQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4RCxDQUFDIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbC9sb2NhbC1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVCQSxzQ0FHQztBQTFCRCw0Q0FBd0Q7QUFDeEQsaUNBQWlDO0FBQ2pDLG1DQUFnQztBQUVuQixRQUFBLFlBQVksR0FBRyxlQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3hDLGdCQUFnQixFQUFFLGFBQU87SUFDekIsVUFBVSxFQUFFLGVBQU0sQ0FBQyxNQUFNO0lBQ3pCLGdCQUFnQixFQUFFLGFBQU87SUFDekIsZ0JBQWdCLEVBQUUsZUFBUztJQUMzQixnQkFBZ0IsRUFBRSxlQUFTO0lBQzNCLGNBQWMsRUFBRSxhQUFPO0lBQ3ZCLGtCQUFrQixFQUFFLGVBQVM7SUFDN0IsTUFBTSxFQUFFLGVBQU0sQ0FBQyxNQUFNO0lBQ3JCLDZCQUE2QixFQUFFLGVBQVM7SUFDeEMsc0NBQXNDLEVBQUUsZUFBUztJQUNqRCxnQ0FBZ0MsRUFBRSxlQUFTO0lBQzNDLG9CQUFvQixFQUFFLGFBQU87SUFDN0IsOEJBQThCLEVBQUUsYUFBTztJQUN2QyxtQ0FBbUMsRUFBRSxhQUFPO0NBQzdDLENBQUMsQ0FBQztBQUlILFNBQWdCLGFBQWEsQ0FBQyxlQUFnQztJQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sZUFBTSxDQUFDLGlCQUFpQixDQUFDLG9CQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4RCxDQUFDIn0=
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createEIP712Payload = createEIP712Payload;
4
4
  const effect_1 = require("effect");
5
- const binary_1 = require("../binary");
6
- const deployments_1 = require("../lite/deployments");
5
+ const binary_js_1 = require("../binary.js");
6
+ const deployments_js_1 = require("../lite/deployments.js");
7
7
  // An effect Schema representing a base EIP712 typed message, without any
8
8
  // custom message types, as defined in EIP-712.
9
9
  const baseEIP712 = effect_1.Schema.Struct({
@@ -11,7 +11,7 @@ const baseEIP712 = effect_1.Schema.Struct({
11
11
  chainId: effect_1.Schema.BigInt,
12
12
  name: effect_1.Schema.String,
13
13
  version: effect_1.Schema.String,
14
- verifyingContract: effect_1.Schema.optional(binary_1.HexString),
14
+ verifyingContract: effect_1.Schema.optional(binary_js_1.HexString),
15
15
  // If salt is needed, it can be added here. Currently, none of the Incolite
16
16
  // features need this.
17
17
  }),
@@ -57,7 +57,7 @@ function createEIP712Payload({ chainId, primaryType, primaryTypeFields, message,
57
57
  }
58
58
  // TODO: We could also check that the types of the values are correct here.
59
59
  if (!domainVersion) {
60
- const incoLite = (0, deployments_1.getActiveLightningDeployment)(chainId);
60
+ const incoLite = (0, deployments_js_1.getActiveLightningDeployment)(chainId);
61
61
  // See Version.sol for the format of the version string.
62
62
  domainVersion = `${incoLite.version.major}_${incoLite.version.minor}_${incoLite.version.patch}`;
63
63
  }
@@ -81,4 +81,4 @@ function createEIP712Payload({ chainId, primaryType, primaryTypeFields, message,
81
81
  };
82
82
  return msgParams;
83
83
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwNzEyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlZW5jcnlwdGlvbi9laXA3MTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5Q0Esa0RBdUVDO0FBaEhELG1DQUFnQztBQUVoQyxzQ0FBc0M7QUFDdEMscURBQW1FO0FBRW5FLHlFQUF5RTtBQUN6RSwrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLEdBQUcsZUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMvQixNQUFNLEVBQUUsZUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNwQixPQUFPLEVBQUUsZUFBTSxDQUFDLE1BQU07UUFDdEIsSUFBSSxFQUFFLGVBQU0sQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxlQUFNLENBQUMsTUFBTTtRQUN0QixpQkFBaUIsRUFBRSxlQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFTLENBQUM7UUFDN0MsMkVBQTJFO1FBQzNFLHNCQUFzQjtLQUN2QixDQUFDO0lBQ0YsV0FBVyxFQUFFLGVBQU0sQ0FBQyxNQUFNO0lBQzFCLEtBQUssRUFBRSxlQUFNLENBQUMsTUFBTSxDQUFDO1FBQ25CLEdBQUcsRUFBRSxlQUFNLENBQUMsTUFBTTtRQUNsQixLQUFLLEVBQUUsZUFBTSxDQUFDLEtBQUssQ0FDakIsZUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNaLElBQUksRUFBRSxlQUFNLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsZUFBTSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUNIO0tBQ0YsQ0FBQztDQUNILENBQUMsQ0FBQztBQVNILG1HQUFtRztBQUNuRyxrR0FBa0c7QUFDbEcsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRiw4RUFBOEU7QUFDOUUsdUNBQXVDO0FBQ3ZDLFNBQWdCLG1CQUFtQixDQUFxRCxFQUN0RixPQUFPLEVBQ1AsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixhQUFhLEdBU2Q7SUFDQyxNQUFNLEtBQUssR0FBRztRQUNaLHVEQUF1RDtRQUN2RCxZQUFZLEVBQUU7WUFDWixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNuQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUNyQztRQUNELHdCQUF3QjtRQUN4QixDQUFDLFdBQVcsQ0FBQyxFQUFFLGlCQUFpQjtLQUNqQyxDQUFDO0lBRUYsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxxRUFBcUU7SUFDckUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNFLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxHQUFHLHVDQUF1QyxDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFDRCwyRUFBMkU7SUFFM0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUEsMENBQTRCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsd0RBQXdEO1FBQ3hELGFBQWEsR0FBRyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEcsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHO1FBQ2hCLEtBQUs7UUFDTCw2RkFBNkY7UUFDN0YsZ0dBQWdHO1FBQ2hHLHNCQUFzQjtRQUN0Qix5REFBeUQ7UUFDekQsV0FBVztRQUNYLE1BQU0sRUFBRTtZQUNOLHlFQUF5RTtZQUN6RSxJQUFJLEVBQUUsVUFBVSxJQUFJLFVBQVU7WUFDOUIsc0NBQXNDO1lBQ3RDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLG1EQUFtRDtZQUNuRCxPQUFPO1lBQ1AsaUJBQWlCO1NBQ2xCO1FBQ0QsT0FBTztLQUNSLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIn0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwNzEyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZW5jcnlwdGlvbi9laXA3MTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5Q0Esa0RBdUVDO0FBaEhELG1DQUFnQztBQUVoQyw0Q0FBeUM7QUFDekMsMkRBQXNFO0FBRXRFLHlFQUF5RTtBQUN6RSwrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLEdBQUcsZUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMvQixNQUFNLEVBQUUsZUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNwQixPQUFPLEVBQUUsZUFBTSxDQUFDLE1BQU07UUFDdEIsSUFBSSxFQUFFLGVBQU0sQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxlQUFNLENBQUMsTUFBTTtRQUN0QixpQkFBaUIsRUFBRSxlQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFTLENBQUM7UUFDN0MsMkVBQTJFO1FBQzNFLHNCQUFzQjtLQUN2QixDQUFDO0lBQ0YsV0FBVyxFQUFFLGVBQU0sQ0FBQyxNQUFNO0lBQzFCLEtBQUssRUFBRSxlQUFNLENBQUMsTUFBTSxDQUFDO1FBQ25CLEdBQUcsRUFBRSxlQUFNLENBQUMsTUFBTTtRQUNsQixLQUFLLEVBQUUsZUFBTSxDQUFDLEtBQUssQ0FDakIsZUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNaLElBQUksRUFBRSxlQUFNLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsZUFBTSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUNIO0tBQ0YsQ0FBQztDQUNILENBQUMsQ0FBQztBQVNILG1HQUFtRztBQUNuRyxrR0FBa0c7QUFDbEcsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRiw4RUFBOEU7QUFDOUUsdUNBQXVDO0FBQ3ZDLFNBQWdCLG1CQUFtQixDQUFxRCxFQUN0RixPQUFPLEVBQ1AsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixhQUFhLEdBU2Q7SUFDQyxNQUFNLEtBQUssR0FBRztRQUNaLHVEQUF1RDtRQUN2RCxZQUFZLEVBQUU7WUFDWixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNuQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUNyQztRQUNELHdCQUF3QjtRQUN4QixDQUFDLFdBQVcsQ0FBQyxFQUFFLGlCQUFpQjtLQUNqQyxDQUFDO0lBRUYsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxxRUFBcUU7SUFDckUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNFLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxHQUFHLHVDQUF1QyxDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFDRCwyRUFBMkU7SUFFM0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUEsNkNBQTRCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsd0RBQXdEO1FBQ3hELGFBQWEsR0FBRyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEcsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHO1FBQ2hCLEtBQUs7UUFDTCw2RkFBNkY7UUFDN0YsZ0dBQWdHO1FBQ2hHLHNCQUFzQjtRQUN0Qix5REFBeUQ7UUFDekQsV0FBVztRQUNYLE1BQU0sRUFBRTtZQUNOLHlFQUF5RTtZQUN6RSxJQUFJLEVBQUUsVUFBVSxJQUFJLFVBQVU7WUFDOUIsc0NBQXNDO1lBQ3RDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLG1EQUFtRDtZQUNuRCxPQUFPO1lBQ1AsaUJBQWlCO1NBQ2xCO1FBQ0QsT0FBTztLQUNSLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export * from './eip712.js';
2
+ export * from './types.js';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./eip712.js"), exports);
18
+ __exportStar(require("./types.js"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVlbmNyeXB0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBNEI7QUFDNUIsNkNBQTJCIn0=
@@ -1,15 +1,11 @@
1
1
  import { Address } from 'viem';
2
- import { HexString } from '../binary';
3
- import { CiphertextOf, EncryptionScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption';
4
- import type { EphemeralCryptoBoxKeypair } from '../fhevm/reencrypt';
5
- import { Handle } from '../handle';
6
- import type { Secp256k1Keypair } from '../lite/ecies';
2
+ import { HexString } from '../binary.js';
3
+ import { CiphertextOf, EncryptionScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption.js';
4
+ import type { EphemeralCryptoBoxKeypair } from '../fhevm/reencrypt.js';
5
+ import { Handle } from '../handle.js';
6
+ import type { Secp256k1Keypair } from '../lite/ecies.js';
7
+ import type { BackoffConfig } from '../retry.js';
7
8
  export type Reencryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: ReencryptFnArgs<S, T>, backoffConfig?: Partial<BackoffConfig>) => Promise<PlaintextOf<S, T>>;
8
- export type BackoffConfig = {
9
- maxRetries: number;
10
- baseDelayInMs: number;
11
- backoffFactor: number;
12
- };
13
9
  export interface ReencryptorArgs {
14
10
  chainId: bigint;
15
11
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVlbmNyeXB0aW9uL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVlbmNyeXB0aW9uL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Configuration for exponential backoff retry logic.
3
+ */
4
+ export type BackoffConfig = {
5
+ maxRetries: number;
6
+ baseDelayInMs: number;
7
+ backoffFactor: number;
8
+ };
9
+ /**
10
+ * Helper function to implement exponential backoff retry logic.
11
+ * @param fn - The function to retry
12
+ * @param config - Optional backoff configuration
13
+ * @returns Promise that resolves with the result of the function
14
+ */
15
+ export declare function retryWithBackoff<T>(fn: () => Promise<T>, { maxRetries, baseDelayInMs, backoffFactor }?: Partial<BackoffConfig>): Promise<T>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.retryWithBackoff = retryWithBackoff;
4
+ /**
5
+ * Helper function to implement exponential backoff retry logic.
6
+ * @param fn - The function to retry
7
+ * @param config - Optional backoff configuration
8
+ * @returns Promise that resolves with the result of the function
9
+ */
10
+ async function retryWithBackoff(fn, { maxRetries = 10, baseDelayInMs = 1000, backoffFactor = 1.5 } = {}) {
11
+ let lastError;
12
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
13
+ try {
14
+ return await fn();
15
+ }
16
+ catch (error) {
17
+ lastError = error;
18
+ if (attempt === maxRetries - 1) {
19
+ break;
20
+ }
21
+ const delay = baseDelayInMs * Math.pow(backoffFactor, attempt);
22
+ const jitter = delay * (0.8 + Math.random() * 0.4); // random jitter, 80% to 120% of the delay
23
+ await new Promise((resolve) => setTimeout(resolve, jitter));
24
+ }
25
+ }
26
+ throw lastError;
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSw0Q0FxQkM7QUEzQkQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLEVBQW9CLEVBQ3BCLEVBQUUsVUFBVSxHQUFHLEVBQUUsRUFBRSxhQUFhLEdBQUcsSUFBSSxFQUFFLGFBQWEsR0FBRyxHQUFHLEtBQTZCLEVBQUU7SUFFM0YsSUFBSSxTQUE0QixDQUFDO0lBRWpDLEtBQUssSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUM7WUFDSCxPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixTQUFTLEdBQUcsS0FBYyxDQUFDO1lBQzNCLElBQUksT0FBTyxLQUFLLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLEtBQUssR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0QsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLDBDQUEwQztZQUM5RixNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLFNBQVMsQ0FBQztBQUNsQixDQUFDIn0=
@@ -16,4 +16,4 @@ function parseJson(schema, json, options) {
16
16
  }
17
17
  return effect_1.Schema.decodeUnknownSync(effect_1.Schema.parseJson(schema))(json, options);
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHNCQUVDO0FBSUQsOEJBS0M7QUFoQkQsbUNBQWdDO0FBR2hDLHdIQUF3SDtBQUN4SCw0RUFBNEU7QUFDNUUsU0FBZ0IsS0FBSyxDQUFPLE1BQTJCLEVBQUUsR0FBWSxFQUFFLE9BQXNCO0lBQzNGLE9BQU8sZUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQseUhBQXlIO0FBQ3pILDRFQUE0RTtBQUM1RSxTQUFnQixTQUFTLENBQU8sTUFBMkIsRUFBRSxJQUF5QixFQUFFLE9BQXNCO0lBQzVHLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxlQUFNLENBQUMsaUJBQWlCLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzRSxDQUFDIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHNCQUVDO0FBSUQsOEJBS0M7QUFoQkQsbUNBQWdDO0FBR2hDLHdIQUF3SDtBQUN4SCw0RUFBNEU7QUFDNUUsU0FBZ0IsS0FBSyxDQUFPLE1BQTJCLEVBQUUsR0FBWSxFQUFFLE9BQXNCO0lBQzNGLE9BQU8sZUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQseUhBQXlIO0FBQ3pILDRFQUE0RTtBQUM1RSxTQUFnQixTQUFTLENBQU8sTUFBMkIsRUFBRSxJQUF5QixFQUFFLE9BQXNCO0lBQzVHLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxlQUFNLENBQUMsaUJBQWlCLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzRSxDQUFDIn0=
@@ -1,4 +1,4 @@
1
- import { Chainish } from './chain';
1
+ import { Chainish } from './chain.js';
2
2
  export declare const chains: {
3
3
  sepolia: {
4
4
  blockExplorers: {
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chains = void 0;
4
+ exports.getViemChain = getViemChain;
5
+ const chains_1 = require("viem/chains");
6
+ const chain_js_1 = require("./chain.js");
7
+ exports.chains = { sepolia: chains_1.sepolia, baseSepolia: chains_1.baseSepolia, monadTestnet: chains_1.monadTestnet, anvil: chains_1.anvil };
8
+ function getViemChain(chainish) {
9
+ const { name } = (0, chain_js_1.getSupportedChain)(chainish);
10
+ return exports.chains[name];
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmllbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBLG9DQUdDO0FBWkQsd0NBQXdFO0FBQ3hFLHlDQUF5RDtBQUU1QyxRQUFBLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBUCxnQkFBTyxFQUFFLFdBQVcsRUFBWCxvQkFBVyxFQUFFLFlBQVksRUFBWixxQkFBWSxFQUFFLEtBQUssRUFBTCxjQUFLLEVBQUUsQ0FBQztBQU1wRSxTQUFnQixZQUFZLENBQUMsUUFBa0I7SUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUEsNEJBQWlCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsT0FBTyxjQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEIsQ0FBQyJ9
@@ -0,0 +1,34 @@
1
+ import type { Account, Chain, Transport, WalletClient } from 'viem';
2
+ import { SupportedChainId } from '../chain.js';
3
+ import { EciesScheme } from '../encryption/encryption.js';
4
+ import type { KmsClient } from '../kms/client.js';
5
+ import { AttestedDecryptor } from './types.js';
6
+ /**
7
+ * Arguments for creating an attested decryptor.
8
+ */
9
+ export interface IncoLiteAttestedDecryptorArgs {
10
+ /** The wallet used to interact with the blockchain and sign the decrypt request */
11
+ walletClient: WalletClient<Transport, Chain, Account>;
12
+ /** The KMS connect RPC endpoint or client instance */
13
+ kmsConnectRpcEndpointOrClient?: string | KmsClient;
14
+ /** The chain ID to use */
15
+ chainId: SupportedChainId;
16
+ }
17
+ /**
18
+ * Creates an attested decryptor that can decrypt handles with an attached attestation from the covalidator.
19
+ * @param args - The arguments for creating the decryptor
20
+ * @returns A function that can decrypt handles using attestation
21
+ * @throws {AttestedDecryptError} If the decryptor creation fails
22
+ *
23
+ * @todo Support multiple handles in a single request.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const decryptor = await incoLiteAttestedDecryptor({
28
+ * walletClient,
29
+ * chainId: sepolia,
30
+ * });
31
+ * const { plaintext, covalidatorSignature } = await decryptor({ handle: '0x...' });
32
+ * ```
33
+ */
34
+ export declare function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }: IncoLiteAttestedDecryptorArgs): AttestedDecryptor<EciesScheme>;
@@ -0,0 +1,88 @@
1
+ import { hexToBytes } from 'viem';
2
+ import { bytesToBigInt } from '../binary.js';
3
+ import { getSupportedChain } from '../chain.js';
4
+ import { bigintToPlaintext, encryptionSchemes, } from '../encryption/encryption.js';
5
+ import { getHandleType } from '../handle.js';
6
+ import { defaultCovalidatorGrpc, getKmsClient } from '../kms/client.js';
7
+ import { createEIP712Payload } from '../reencryption/eip712.js';
8
+ import { retryWithBackoff } from '../retry.js';
9
+ import { AttestedDecryptError } from './types.js';
10
+ const ATTESTED_DECRYPT_DOMAIN_NAME = 'IncoAttestedDecrypt';
11
+ const ATTESTED_DECRYPT_DOMAIN_VERSION = '0.1.0';
12
+ /**
13
+ * Validates a handle format.
14
+ * @param handle - The handle to validate
15
+ * @throws {AttestedDecryptError} If the handle format is invalid
16
+ */
17
+ function validateHandle(handle) {
18
+ if (!handle.startsWith('0x') || handle.length !== 66) {
19
+ throw new AttestedDecryptError('Invalid handle format: must be a 32-byte hex string with 0x prefix');
20
+ }
21
+ }
22
+ /**
23
+ * Creates an attested decryptor that can decrypt handles with an attached attestation from the covalidator.
24
+ * @param args - The arguments for creating the decryptor
25
+ * @returns A function that can decrypt handles using attestation
26
+ * @throws {AttestedDecryptError} If the decryptor creation fails
27
+ *
28
+ * @todo Support multiple handles in a single request.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const decryptor = await incoLiteAttestedDecryptor({
33
+ * walletClient,
34
+ * chainId: sepolia,
35
+ * });
36
+ * const { plaintext, covalidatorSignature } = await decryptor({ handle: '0x...' });
37
+ * ```
38
+ */
39
+ export function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }) {
40
+ const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient || defaultCovalidatorGrpc(getSupportedChain(chainId)));
41
+ return async function attestedDecrypt({ handle, backoffConfig, }) {
42
+ try {
43
+ validateHandle(handle);
44
+ // Create the EIP712 payload for the handles to decrypt
45
+ const eip712Payload = createEIP712Payload({
46
+ chainId: BigInt(chainId),
47
+ primaryType: 'AttestedDecryptRequest',
48
+ primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
49
+ message: {
50
+ handles: [handle],
51
+ },
52
+ domainName: ATTESTED_DECRYPT_DOMAIN_NAME,
53
+ domainVersion: ATTESTED_DECRYPT_DOMAIN_VERSION,
54
+ });
55
+ // Sign the EIP712 message
56
+ const eip712Signature = await walletClient.signTypedData(eip712Payload);
57
+ const attestedDecryptRequest = {
58
+ $typeName: 'inco.kms.lite.v1.AttestedDecryptRequest',
59
+ userAddress: walletClient.account.address,
60
+ handles: [handle],
61
+ eip712Signature: hexToBytes(eip712Signature),
62
+ };
63
+ const response = await retryWithBackoff(async () => {
64
+ return await kmsClient.attestedDecrypt(attestedDecryptRequest);
65
+ }, backoffConfig);
66
+ if (response.decryptionAttestations.length !== 1) {
67
+ throw new AttestedDecryptError('Expected 1 decryption attestation in response');
68
+ }
69
+ const decryptionAttestation = response.decryptionAttestations[0];
70
+ if (decryptionAttestation.plaintext === undefined) {
71
+ throw new AttestedDecryptError('No plaintext in response');
72
+ }
73
+ const handleType = getHandleType(handle);
74
+ const bigIntValue = bytesToBigInt(decryptionAttestation.plaintext);
75
+ return {
76
+ plaintext: bigintToPlaintext(encryptionSchemes.ecies, handleType, bigIntValue),
77
+ covalidatorSignature: decryptionAttestation.signature,
78
+ };
79
+ }
80
+ catch (error) {
81
+ if (error instanceof AttestedDecryptError) {
82
+ throw error;
83
+ }
84
+ throw new AttestedDecryptError('Failed to decrypt handle', error);
85
+ }
86
+ };
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLGlCQUFpQixHQUdsQixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQXFCLE1BQU0sWUFBWSxDQUFDO0FBRXJFLE1BQU0sNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7QUFDM0QsTUFBTSwrQkFBK0IsR0FBRyxPQUFPLENBQUM7QUFFaEQ7Ozs7R0FJRztBQUNILFNBQVMsY0FBYyxDQUFDLE1BQWM7SUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxNQUFNLElBQUksb0JBQW9CLENBQUMsb0VBQW9FLENBQUMsQ0FBQztJQUN2RyxDQUFDO0FBQ0gsQ0FBQztBQWNEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEVBQ3hDLDZCQUE2QixFQUM3QixPQUFPLEVBQ1AsWUFB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
@@ -0,0 +1,2 @@
1
+ export * from './attested-decrypt.js';
2
+ export * from './types.js';
@@ -0,0 +1,3 @@
1
+ export * from './attested-decrypt.js';
2
+ export * from './types.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRkZWNyeXB0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxZQUFZLENBQUMifQ==
@@ -0,0 +1,18 @@
1
+ import { HexString } from '../binary.js';
2
+ import { EncryptionScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption.js';
3
+ import type { BackoffConfig } from '../retry.js';
4
+ /**
5
+ * Custom error class for attested decrypt operations.
6
+ */
7
+ export declare class AttestedDecryptError extends Error {
8
+ readonly cause?: unknown | undefined;
9
+ constructor(message: string, cause?: unknown | undefined);
10
+ }
11
+ export type AttestedDecryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: {
12
+ /** The handle to decrypt */
13
+ handle: HexString;
14
+ backoffConfig?: Partial<BackoffConfig>;
15
+ }) => Promise<{
16
+ plaintext: PlaintextOf<S, T>;
17
+ covalidatorSignature: Uint8Array;
18
+ }>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Custom error class for attested decrypt operations.
3
+ */
4
+ export class AttestedDecryptError extends Error {
5
+ cause;
6
+ constructor(message, cause) {
7
+ super(message);
8
+ this.cause = cause;
9
+ this.name = 'AttestedDecryptError';
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRkZWNyeXB0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLEtBQUs7SUFHM0I7SUFGbEIsWUFDRSxPQUFlLEVBQ0MsS0FBZTtRQUUvQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFGQyxVQUFLLEdBQUwsS0FBSyxDQUFVO1FBRy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUM7SUFDckMsQ0FBQztDQUNGIn0=
@@ -0,0 +1,21 @@
1
+ import { Schema } from 'effect';
2
+ import { Hex } from 'viem';
3
+ export declare const HexString: Schema.TemplateLiteral<`0x${string}`>;
4
+ export type HexString = typeof HexString.Type;
5
+ export type BytesIsh = string | Uint8Array;
6
+ export declare function bytesToBigInt(byteArray: Uint8Array): bigint;
7
+ export declare function bufferToBigInt(buffer: Buffer): bigint;
8
+ export declare function bigintToBytes32(value: bigint): Bytes32;
9
+ export declare function padLeft(bs: Uint8Array, n: number): Buffer;
10
+ export declare function bytes32ToBigint(bs: BytesIsh): bigint;
11
+ export declare function bytesFromHexString(hexString: string): Buffer;
12
+ export declare function mustBeHex(value: string): Hex;
13
+ export declare function normaliseToHex(value: string): Hex;
14
+ export declare function bytesToHex(bs: Uint8Array): Hex;
15
+ export declare const Bytes32: Schema.brand<Schema.filter<Schema.transformOrFail<Schema.Union<[typeof Schema.String, Schema.refine<object & Uint8Array<ArrayBufferLike>, Schema.Schema<object, object, never>>]>, Schema.TemplateLiteral<`0x${string}`>, never>>, "Bytes32">;
16
+ export declare function asBytes32(x: BytesIsh): Bytes32;
17
+ export type Bytes32 = typeof Bytes32.Type;
18
+ export type Address = typeof Address.Type;
19
+ export declare const Address: Schema.brand<Schema.filter<Schema.TemplateLiteral<`0x${string}`>>, "Address">;
20
+ export declare function parseAddress(address: string): Address;
21
+ export declare function parseHex(hex: string): HexString;
@@ -0,0 +1,67 @@
1
+ import { ParseResult, Schema } from 'effect';
2
+ import { isHex } from 'viem';
3
+ import { parse } from './schema.js';
4
+ export const HexString = Schema.TemplateLiteral('0x', Schema.String);
5
+ export function bytesToBigInt(byteArray) {
6
+ // Ugly but better than bigint-buffer that insists on writing junk to stderr if it doesn't have native bindings
7
+ return !byteArray?.length ? BigInt(0) : BigInt('0x' + Buffer.from(byteArray).toString('hex'));
8
+ }
9
+ export function bufferToBigInt(buffer) {
10
+ return bytesToBigInt(Uint8Array.from(buffer));
11
+ }
12
+ // Convert a bigint to a 32-byte array, left-padded if necessary. Note: it is
13
+ // caller's responsibility to ensure that the bigint is not too large to fit in
14
+ // 32 bytes, or else the result will be truncated.
15
+ export function bigintToBytes32(value) {
16
+ return parse(Bytes32, Buffer.from(value.toString(16).padStart(64, '0'), 'hex').toString('hex'));
17
+ }
18
+ export function padLeft(bs, n) {
19
+ if (bs.length > n) {
20
+ throw new Error(`Cannot pad ${bs.length} bytes to ${n} - would truncate`);
21
+ }
22
+ const buf = Buffer.alloc(n);
23
+ buf.set(bs, n - bs.length);
24
+ return buf;
25
+ }
26
+ export function bytes32ToBigint(bs) {
27
+ const bytes32 = asBytes32(bs);
28
+ return BigInt(bytes32);
29
+ }
30
+ export function bytesFromHexString(hexString) {
31
+ return Buffer.from(hexString.startsWith('0x') ? hexString.slice(2) : hexString, 'hex');
32
+ }
33
+ export function mustBeHex(value) {
34
+ if (!isHex(value)) {
35
+ throw new Error(`Expected hex string, got: ${value}`);
36
+ }
37
+ return value;
38
+ }
39
+ export function normaliseToHex(value) {
40
+ return mustBeHex(value.startsWith('0x') ? value : `0x${value}`);
41
+ }
42
+ export function bytesToHex(bs) {
43
+ return ('0x' + Buffer.from(bs).toString('hex'));
44
+ }
45
+ const ByteArray = Schema.Object.pipe(Schema.filter((x) => x instanceof Uint8Array));
46
+ const BytesToHex = Schema.transformOrFail(Schema.Union(Schema.String, ByteArray), HexString, {
47
+ strict: true,
48
+ encode: ParseResult.succeed,
49
+ decode: (x) => x instanceof Uint8Array
50
+ ? ParseResult.succeed(bytesToHex(x))
51
+ : ((y) => isHex(y)
52
+ ? ParseResult.succeed(y)
53
+ : ParseResult.fail(new ParseResult.Unexpected(y, `'${y}' is not a hex string`)))(normaliseToHex(x)),
54
+ });
55
+ export const Bytes32 = BytesToHex.pipe(Schema.filter((x) => x.length === 66 ||
56
+ `Expected 32-byte hex string (66 characters with 0x prefix) but got ${x.length} character string`), Schema.brand('Bytes32'));
57
+ export function asBytes32(x) {
58
+ return parse(Bytes32, x);
59
+ }
60
+ export const Address = HexString.pipe(Schema.filter((s) => s.length === 42 || `Address must be a 20-byte '0x'-prefixed hex string, but got: ${s}`), Schema.brand('Address'));
61
+ export function parseAddress(address) {
62
+ return parse(Address, address);
63
+ }
64
+ export function parseHex(hex) {
65
+ return parse(HexString, hex);
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQU1yRSxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQXFCO0lBQ2pELCtHQUErRztJQUMvRyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDaEcsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBYztJQUMzQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELDZFQUE2RTtBQUM3RSwrRUFBK0U7QUFDL0Usa0RBQWtEO0FBQ2xELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEcsQ0FBQztBQUVELE1B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