@nucypher/taco 0.7.0-alpha.2 → 0.7.0-dev.viem

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 (297) hide show
  1. package/README.md +149 -0
  2. package/dist/cjs/access-client/client.d.ts +237 -0
  3. package/dist/cjs/access-client/client.js +196 -0
  4. package/dist/cjs/access-client/client.js.map +1 -0
  5. package/dist/cjs/access-client/config-validator.d.ts +92 -0
  6. package/dist/cjs/access-client/config-validator.js +204 -0
  7. package/dist/cjs/access-client/config-validator.js.map +1 -0
  8. package/dist/cjs/access-client/config.d.ts +50 -0
  9. package/dist/cjs/access-client/config.js +27 -0
  10. package/dist/cjs/access-client/config.js.map +1 -0
  11. package/dist/cjs/access-client/index.d.ts +2 -0
  12. package/dist/cjs/access-client/index.js +19 -0
  13. package/dist/cjs/access-client/index.js.map +1 -0
  14. package/dist/cjs/conditions/base/contract.d.ts +4 -4
  15. package/dist/cjs/conditions/base/contract.js +8 -8
  16. package/dist/cjs/conditions/base/contract.js.map +1 -1
  17. package/dist/cjs/conditions/base/index.d.ts +6 -9
  18. package/dist/cjs/conditions/base/index.js +7 -10
  19. package/dist/cjs/conditions/base/index.js.map +1 -1
  20. package/dist/cjs/conditions/base/json-api.d.ts +4 -4
  21. package/dist/cjs/conditions/base/json-api.js +8 -8
  22. package/dist/cjs/conditions/base/json-api.js.map +1 -1
  23. package/dist/cjs/conditions/base/json-rpc.d.ts +4 -4
  24. package/dist/cjs/conditions/base/json-rpc.js +8 -8
  25. package/dist/cjs/conditions/base/json-rpc.js.map +1 -1
  26. package/dist/cjs/conditions/base/jwt.d.ts +4 -4
  27. package/dist/cjs/conditions/base/jwt.js +9 -9
  28. package/dist/cjs/conditions/base/jwt.js.map +1 -1
  29. package/dist/cjs/conditions/base/rpc.d.ts +4 -4
  30. package/dist/cjs/conditions/base/rpc.js +8 -8
  31. package/dist/cjs/conditions/base/rpc.js.map +1 -1
  32. package/dist/cjs/conditions/base/time.d.ts +4 -4
  33. package/dist/cjs/conditions/base/time.js +9 -9
  34. package/dist/cjs/conditions/base/time.js.map +1 -1
  35. package/dist/cjs/conditions/compound-condition.d.ts +4 -4
  36. package/dist/cjs/conditions/compound-condition.js +9 -9
  37. package/dist/cjs/conditions/compound-condition.js.map +1 -1
  38. package/dist/cjs/conditions/condition-expr.d.ts +1 -1
  39. package/dist/cjs/conditions/condition-expr.js +7 -7
  40. package/dist/cjs/conditions/condition-expr.js.map +1 -1
  41. package/dist/cjs/conditions/condition-factory.d.ts +1 -1
  42. package/dist/cjs/conditions/condition-factory.js +27 -38
  43. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  44. package/dist/cjs/conditions/condition.d.ts +1 -1
  45. package/dist/cjs/conditions/condition.js +6 -6
  46. package/dist/cjs/conditions/condition.js.map +1 -1
  47. package/dist/cjs/conditions/context/context.d.ts +2 -6
  48. package/dist/cjs/conditions/context/context.js +16 -41
  49. package/dist/cjs/conditions/context/context.js.map +1 -1
  50. package/dist/cjs/conditions/context/index.d.ts +1 -1
  51. package/dist/cjs/conditions/context/index.js +2 -2
  52. package/dist/cjs/conditions/context/index.js.map +1 -1
  53. package/dist/cjs/conditions/if-then-else-condition.d.ts +4 -4
  54. package/dist/cjs/conditions/if-then-else-condition.js +8 -8
  55. package/dist/cjs/conditions/if-then-else-condition.js.map +1 -1
  56. package/dist/cjs/conditions/index.d.ts +9 -9
  57. package/dist/cjs/conditions/index.js +10 -10
  58. package/dist/cjs/conditions/index.js.map +1 -1
  59. package/dist/cjs/conditions/multi-condition.d.ts +1 -1
  60. package/dist/cjs/conditions/multi-condition.js +8 -8
  61. package/dist/cjs/conditions/multi-condition.js.map +1 -1
  62. package/dist/cjs/conditions/predefined/erc20.d.ts +1 -1
  63. package/dist/cjs/conditions/predefined/erc20.js +3 -3
  64. package/dist/cjs/conditions/predefined/erc20.js.map +1 -1
  65. package/dist/cjs/conditions/predefined/erc721.d.ts +1 -1
  66. package/dist/cjs/conditions/predefined/erc721.js +5 -5
  67. package/dist/cjs/conditions/predefined/erc721.js.map +1 -1
  68. package/dist/cjs/conditions/predefined/index.d.ts +2 -2
  69. package/dist/cjs/conditions/predefined/index.js +2 -2
  70. package/dist/cjs/conditions/predefined/index.js.map +1 -1
  71. package/dist/cjs/conditions/schemas/common.d.ts +0 -2
  72. package/dist/cjs/conditions/schemas/common.js +8 -25
  73. package/dist/cjs/conditions/schemas/common.js.map +1 -1
  74. package/dist/cjs/conditions/schemas/compound.js +6 -6
  75. package/dist/cjs/conditions/schemas/compound.js.map +1 -1
  76. package/dist/cjs/conditions/schemas/context.js +5 -5
  77. package/dist/cjs/conditions/schemas/context.js.map +1 -1
  78. package/dist/cjs/conditions/schemas/contract.d.ts +30 -33
  79. package/dist/cjs/conditions/schemas/contract.js +4 -4
  80. package/dist/cjs/conditions/schemas/contract.js.map +1 -1
  81. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +13 -16
  82. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +13 -17
  83. package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
  84. package/dist/cjs/conditions/schemas/if-then-else.js +10 -10
  85. package/dist/cjs/conditions/schemas/if-then-else.js.map +1 -1
  86. package/dist/cjs/conditions/schemas/json-api.d.ts +14 -47
  87. package/dist/cjs/conditions/schemas/json-api.js +9 -23
  88. package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
  89. package/dist/cjs/conditions/schemas/json-rpc.d.ts +13 -48
  90. package/dist/cjs/conditions/schemas/json-rpc.js +9 -23
  91. package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -1
  92. package/dist/cjs/conditions/schemas/jwt.d.ts +4 -2
  93. package/dist/cjs/conditions/schemas/jwt.js +4 -4
  94. package/dist/cjs/conditions/schemas/jwt.js.map +1 -1
  95. package/dist/cjs/conditions/schemas/return-value-test.d.ts +12 -28
  96. package/dist/cjs/conditions/schemas/return-value-test.js +8 -22
  97. package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -1
  98. package/dist/cjs/conditions/schemas/rpc.d.ts +16 -22
  99. package/dist/cjs/conditions/schemas/rpc.js +8 -8
  100. package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
  101. package/dist/cjs/conditions/schemas/sequential.js +18 -38
  102. package/dist/cjs/conditions/schemas/sequential.js.map +1 -1
  103. package/dist/cjs/conditions/schemas/time.d.ts +10 -18
  104. package/dist/cjs/conditions/schemas/time.js +2 -2
  105. package/dist/cjs/conditions/schemas/time.js.map +1 -1
  106. package/dist/cjs/conditions/schemas/utils.js +18 -25
  107. package/dist/cjs/conditions/schemas/utils.js.map +1 -1
  108. package/dist/cjs/conditions/sequential.d.ts +4 -4
  109. package/dist/cjs/conditions/sequential.js +8 -8
  110. package/dist/cjs/conditions/sequential.js.map +1 -1
  111. package/dist/cjs/conditions/shared.d.ts +2 -2
  112. package/dist/cjs/conditions/shared.js +6 -6
  113. package/dist/cjs/conditions/shared.js.map +1 -1
  114. package/dist/cjs/index.d.ts +3 -3
  115. package/dist/cjs/index.js +8 -9
  116. package/dist/cjs/index.js.map +1 -1
  117. package/dist/cjs/taco.d.ts +82 -43
  118. package/dist/cjs/taco.js +28 -86
  119. package/dist/cjs/taco.js.map +1 -1
  120. package/dist/cjs/tdec.d.ts +2 -2
  121. package/dist/cjs/tdec.js +7 -7
  122. package/dist/cjs/tdec.js.map +1 -1
  123. package/dist/cjs/types.d.ts +0 -1
  124. package/dist/es/access-client/client.d.ts +237 -0
  125. package/dist/es/access-client/client.js +192 -0
  126. package/dist/es/access-client/client.js.map +1 -0
  127. package/dist/es/access-client/config-validator.d.ts +92 -0
  128. package/dist/es/access-client/config-validator.js +200 -0
  129. package/dist/es/access-client/config-validator.js.map +1 -0
  130. package/dist/es/access-client/config.d.ts +50 -0
  131. package/dist/es/access-client/config.js +23 -0
  132. package/dist/es/access-client/config.js.map +1 -0
  133. package/dist/es/access-client/index.d.ts +2 -0
  134. package/dist/es/access-client/index.js +3 -0
  135. package/dist/es/access-client/index.js.map +1 -0
  136. package/dist/es/conditions/base/contract.d.ts +4 -4
  137. package/dist/es/conditions/base/contract.js +3 -3
  138. package/dist/es/conditions/base/contract.js.map +1 -1
  139. package/dist/es/conditions/base/index.d.ts +6 -9
  140. package/dist/es/conditions/base/index.js +6 -9
  141. package/dist/es/conditions/base/index.js.map +1 -1
  142. package/dist/es/conditions/base/json-api.d.ts +4 -4
  143. package/dist/es/conditions/base/json-api.js +3 -3
  144. package/dist/es/conditions/base/json-api.js.map +1 -1
  145. package/dist/es/conditions/base/json-rpc.d.ts +4 -4
  146. package/dist/es/conditions/base/json-rpc.js +3 -3
  147. package/dist/es/conditions/base/json-rpc.js.map +1 -1
  148. package/dist/es/conditions/base/jwt.d.ts +4 -4
  149. package/dist/es/conditions/base/jwt.js +3 -3
  150. package/dist/es/conditions/base/jwt.js.map +1 -1
  151. package/dist/es/conditions/base/rpc.d.ts +4 -4
  152. package/dist/es/conditions/base/rpc.js +3 -3
  153. package/dist/es/conditions/base/rpc.js.map +1 -1
  154. package/dist/es/conditions/base/time.d.ts +4 -4
  155. package/dist/es/conditions/base/time.js +3 -3
  156. package/dist/es/conditions/base/time.js.map +1 -1
  157. package/dist/es/conditions/compound-condition.d.ts +4 -4
  158. package/dist/es/conditions/compound-condition.js +3 -3
  159. package/dist/es/conditions/compound-condition.js.map +1 -1
  160. package/dist/es/conditions/condition-expr.d.ts +1 -1
  161. package/dist/es/conditions/condition-expr.js +2 -2
  162. package/dist/es/conditions/condition-expr.js.map +1 -1
  163. package/dist/es/conditions/condition-factory.d.ts +1 -1
  164. package/dist/es/conditions/condition-factory.js +9 -20
  165. package/dist/es/conditions/condition-factory.js.map +1 -1
  166. package/dist/es/conditions/condition.d.ts +1 -1
  167. package/dist/es/conditions/condition.js +3 -3
  168. package/dist/es/conditions/condition.js.map +1 -1
  169. package/dist/es/conditions/context/context.d.ts +2 -6
  170. package/dist/es/conditions/context/context.js +6 -31
  171. package/dist/es/conditions/context/context.js.map +1 -1
  172. package/dist/es/conditions/context/index.d.ts +1 -1
  173. package/dist/es/conditions/context/index.js +1 -1
  174. package/dist/es/conditions/context/index.js.map +1 -1
  175. package/dist/es/conditions/if-then-else-condition.d.ts +4 -4
  176. package/dist/es/conditions/if-then-else-condition.js +3 -3
  177. package/dist/es/conditions/if-then-else-condition.js.map +1 -1
  178. package/dist/es/conditions/index.d.ts +9 -9
  179. package/dist/es/conditions/index.js +9 -9
  180. package/dist/es/conditions/index.js.map +1 -1
  181. package/dist/es/conditions/multi-condition.d.ts +1 -1
  182. package/dist/es/conditions/multi-condition.js +3 -3
  183. package/dist/es/conditions/multi-condition.js.map +1 -1
  184. package/dist/es/conditions/predefined/erc20.d.ts +1 -1
  185. package/dist/es/conditions/predefined/erc20.js +1 -1
  186. package/dist/es/conditions/predefined/erc20.js.map +1 -1
  187. package/dist/es/conditions/predefined/erc721.d.ts +1 -1
  188. package/dist/es/conditions/predefined/erc721.js +1 -1
  189. package/dist/es/conditions/predefined/erc721.js.map +1 -1
  190. package/dist/es/conditions/predefined/index.d.ts +2 -2
  191. package/dist/es/conditions/predefined/index.js +2 -2
  192. package/dist/es/conditions/predefined/index.js.map +1 -1
  193. package/dist/es/conditions/schemas/common.d.ts +0 -2
  194. package/dist/es/conditions/schemas/common.js +3 -20
  195. package/dist/es/conditions/schemas/common.js.map +1 -1
  196. package/dist/es/conditions/schemas/compound.js +3 -3
  197. package/dist/es/conditions/schemas/compound.js.map +1 -1
  198. package/dist/es/conditions/schemas/context.js +2 -2
  199. package/dist/es/conditions/schemas/context.js.map +1 -1
  200. package/dist/es/conditions/schemas/contract.d.ts +30 -33
  201. package/dist/es/conditions/schemas/contract.js +2 -2
  202. package/dist/es/conditions/schemas/contract.js.map +1 -1
  203. package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +13 -16
  204. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +13 -17
  205. package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
  206. package/dist/es/conditions/schemas/if-then-else.js +3 -3
  207. package/dist/es/conditions/schemas/if-then-else.js.map +1 -1
  208. package/dist/es/conditions/schemas/json-api.d.ts +14 -47
  209. package/dist/es/conditions/schemas/json-api.js +5 -19
  210. package/dist/es/conditions/schemas/json-api.js.map +1 -1
  211. package/dist/es/conditions/schemas/json-rpc.d.ts +13 -48
  212. package/dist/es/conditions/schemas/json-rpc.js +5 -19
  213. package/dist/es/conditions/schemas/json-rpc.js.map +1 -1
  214. package/dist/es/conditions/schemas/jwt.d.ts +4 -2
  215. package/dist/es/conditions/schemas/jwt.js +2 -2
  216. package/dist/es/conditions/schemas/jwt.js.map +1 -1
  217. package/dist/es/conditions/schemas/return-value-test.d.ts +12 -28
  218. package/dist/es/conditions/schemas/return-value-test.js +6 -20
  219. package/dist/es/conditions/schemas/return-value-test.js.map +1 -1
  220. package/dist/es/conditions/schemas/rpc.d.ts +16 -22
  221. package/dist/es/conditions/schemas/rpc.js +3 -3
  222. package/dist/es/conditions/schemas/rpc.js.map +1 -1
  223. package/dist/es/conditions/schemas/sequential.js +14 -34
  224. package/dist/es/conditions/schemas/sequential.js.map +1 -1
  225. package/dist/es/conditions/schemas/time.d.ts +10 -18
  226. package/dist/es/conditions/schemas/time.js +1 -1
  227. package/dist/es/conditions/schemas/time.js.map +1 -1
  228. package/dist/es/conditions/schemas/utils.js +10 -17
  229. package/dist/es/conditions/schemas/utils.js.map +1 -1
  230. package/dist/es/conditions/sequential.d.ts +4 -4
  231. package/dist/es/conditions/sequential.js +3 -3
  232. package/dist/es/conditions/sequential.js.map +1 -1
  233. package/dist/es/conditions/shared.d.ts +2 -2
  234. package/dist/es/conditions/shared.js +2 -2
  235. package/dist/es/conditions/shared.js.map +1 -1
  236. package/dist/es/index.d.ts +3 -3
  237. package/dist/es/index.js +3 -3
  238. package/dist/es/index.js.map +1 -1
  239. package/dist/es/package.json +3 -0
  240. package/dist/es/taco.d.ts +82 -43
  241. package/dist/es/taco.js +25 -82
  242. package/dist/es/taco.js.map +1 -1
  243. package/dist/es/tdec.d.ts +2 -2
  244. package/dist/es/tdec.js +5 -5
  245. package/dist/es/tdec.js.map +1 -1
  246. package/dist/es/types.d.ts +0 -1
  247. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  248. package/dist/tsconfig.es.tsbuildinfo +1 -1
  249. package/package.json +12 -8
  250. package/dist/cjs/conditions/base/address-allowlist.d.ts +0 -10
  251. package/dist/cjs/conditions/base/address-allowlist.js +0 -19
  252. package/dist/cjs/conditions/base/address-allowlist.js.map +0 -1
  253. package/dist/cjs/conditions/base/ecdsa.d.ts +0 -7
  254. package/dist/cjs/conditions/base/ecdsa.js +0 -21
  255. package/dist/cjs/conditions/base/ecdsa.js.map +0 -1
  256. package/dist/cjs/conditions/base/signing.d.ts +0 -10
  257. package/dist/cjs/conditions/base/signing.js +0 -32
  258. package/dist/cjs/conditions/base/signing.js.map +0 -1
  259. package/dist/cjs/conditions/schemas/address-allowlist.d.ts +0 -16
  260. package/dist/cjs/conditions/schemas/address-allowlist.js +0 -20
  261. package/dist/cjs/conditions/schemas/address-allowlist.js.map +0 -1
  262. package/dist/cjs/conditions/schemas/ecdsa.d.ts +0 -38
  263. package/dist/cjs/conditions/schemas/ecdsa.js +0 -40
  264. package/dist/cjs/conditions/schemas/ecdsa.js.map +0 -1
  265. package/dist/cjs/conditions/schemas/signing.d.ts +0 -12
  266. package/dist/cjs/conditions/schemas/signing.js +0 -204
  267. package/dist/cjs/conditions/schemas/signing.js.map +0 -1
  268. package/dist/cjs/conditions/zod.d.ts +0 -3
  269. package/dist/cjs/conditions/zod.js +0 -19
  270. package/dist/cjs/conditions/zod.js.map +0 -1
  271. package/dist/cjs/sign.d.ts +0 -26
  272. package/dist/cjs/sign.js +0 -99
  273. package/dist/cjs/sign.js.map +0 -1
  274. package/dist/es/conditions/base/address-allowlist.d.ts +0 -10
  275. package/dist/es/conditions/base/address-allowlist.js +0 -15
  276. package/dist/es/conditions/base/address-allowlist.js.map +0 -1
  277. package/dist/es/conditions/base/ecdsa.d.ts +0 -7
  278. package/dist/es/conditions/base/ecdsa.js +0 -12
  279. package/dist/es/conditions/base/ecdsa.js.map +0 -1
  280. package/dist/es/conditions/base/signing.d.ts +0 -10
  281. package/dist/es/conditions/base/signing.js +0 -20
  282. package/dist/es/conditions/base/signing.js.map +0 -1
  283. package/dist/es/conditions/schemas/address-allowlist.d.ts +0 -16
  284. package/dist/es/conditions/schemas/address-allowlist.js +0 -17
  285. package/dist/es/conditions/schemas/address-allowlist.js.map +0 -1
  286. package/dist/es/conditions/schemas/ecdsa.d.ts +0 -38
  287. package/dist/es/conditions/schemas/ecdsa.js +0 -37
  288. package/dist/es/conditions/schemas/ecdsa.js.map +0 -1
  289. package/dist/es/conditions/schemas/signing.d.ts +0 -12
  290. package/dist/es/conditions/schemas/signing.js +0 -201
  291. package/dist/es/conditions/schemas/signing.js.map +0 -1
  292. package/dist/es/conditions/zod.d.ts +0 -3
  293. package/dist/es/conditions/zod.js +0 -17
  294. package/dist/es/conditions/zod.js.map +0 -1
  295. package/dist/es/sign.d.ts +0 -26
  296. package/dist/es/sign.js +0 -95
  297. package/dist/es/sign.js.map +0 -1
package/dist/es/taco.d.ts CHANGED
@@ -1,61 +1,100 @@
1
1
  import { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
2
- import { Domain } from '@nucypher/shared';
2
+ import { Domain, PublicClient, SignerAccount } from '@nucypher/shared';
3
3
  import { ethers } from 'ethers';
4
- import { Condition } from './conditions/condition';
5
- import { ConditionContext } from './conditions/context';
4
+ import { Condition } from './conditions/condition.js';
5
+ import { ConditionContext } from './conditions/context/index.js';
6
6
  /**
7
- * Encrypts a message under given conditions using a public key from an active DKG ritual.
7
+ * Encrypts a message gated by TACo Conditions using an ethers.js `Provider` and `Signer`.
8
+ *
9
+ * Use this overload when your application uses ethers.js.
10
+ *
11
+ * @export
12
+ * @param {ethers.providers.Provider} provider - Ethers provider for network operations.
13
+ * @param {Domain} domain - Logical TACo domain in which encryption will be performed (must match the ritual's domain).
14
+ * @param {Uint8Array | string} message - The message to be encrypted.
15
+ * @param {Condition} condition - Access condition (single or composite) that must be satisfied at decryption time.
16
+ * @param {number} ritualId - ID of the DKG ritual whose public key will be used for encryption.
17
+ * @param {ethers.Signer} authSigner - Signer used to identify encryptor and verify authorization.
18
+ *
19
+ * @returns {Promise<ThresholdMessageKit>} Encrypted message kit representing the ciphertext and associated metadata.
20
+ *
21
+ * @throws {Error} If the ritual cannot be retrieved or encryption fails.
22
+ */
23
+ export declare function encrypt(provider: ethers.providers.Provider, domain: Domain, message: Uint8Array | string, condition: Condition, ritualId: number, authSigner: ethers.Signer): Promise<ThresholdMessageKit>;
24
+ /**
25
+ * Encrypts a message gated by TACo Conditions using a viem `PublicClient` and a Signer Account (`LocalAccount` or `WalletClient`).
26
+ *
27
+ * Use this overload when your application uses viem.
8
28
  *
9
29
  * @export
10
- * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
11
- * your selected network.
12
- * @param {Domain} domain - Represents the logical network in which the encryption will be performed.
13
- * Must match the `ritualId`.
14
- * @param {Uint8Array | string} message - The message to be encrypted.
15
- * @param {Condition} condition - Condition under which the message will be encrypted. Those conditions must be
16
- * satisfied in order to decrypt the message.
17
- * @param {number} ritualId - The ID of the DKG Ritual to be used for encryption. The message will be encrypted
18
- * under the public key of this ritual.
19
- * @param {ethers.Signer} authSigner - The signer that will be used to sign the encrypter authorization.
20
- *
21
- * @returns {Promise<ThresholdMessageKit>} Returns Promise that resolves with an instance of ThresholdMessageKit.
22
- * It represents the encrypted message.
23
- *
24
- * @throws {Error} If the active DKG Ritual cannot be retrieved an error is thrown.
30
+ * @param {PublicClient} publicClient - Viem `PublicClient` for network operations.
31
+ * @param {Domain} domain - Logical TACo domain in which encryption will be performed (must match the ritual's domain).
32
+ * @param {Uint8Array | string} message - The message to be encrypted.
33
+ * @param {Condition} condition - Access condition (single or composite) that must be satisfied at decryption time.
34
+ * @param {number} ritualId - ID of the DKG ritual whose public key will be used for encryption.
35
+ * @param {SignerAccount} authAccount - Viem account used to identify encryptor and verify authorization.
36
+ *
37
+ * @returns {Promise<ThresholdMessageKit>} Encrypted message kit representing the ciphertext and associated metadata.
38
+ *
39
+ *
40
+ * @throws {Error} If the ritual cannot be retrieved or encryption fails.
25
41
  */
26
- export declare const encrypt: (provider: ethers.providers.Provider, domain: Domain, message: Uint8Array | string, condition: Condition, ritualId: number, authSigner: ethers.Signer) => Promise<ThresholdMessageKit>;
42
+ export declare function encrypt(publicClient: PublicClient, domain: Domain, message: Uint8Array | string, condition: Condition, ritualId: number, authAccount: SignerAccount): Promise<ThresholdMessageKit>;
27
43
  /**
28
- * Encrypts a message with the given DKG public key under a specified condition.
44
+ * Encrypts a message with the given DKG public key gated by TACo Conditions.
29
45
  *
30
46
  * @export
31
- * @param {Uint8Array | string} message - The message to be encrypted.
32
- * @param {Condition} condition - Condition under which the message will be encrypted. Those conditions must be
33
- * satisfied in order to decrypt the message.
47
+ * @param {Uint8Array | string} message - The message to be encrypted.
48
+ * @param {Condition} condition - Access condition (single or composite) that must be satisfied at decryption time.
34
49
  * @param {DkgPublicKey} dkgPublicKey - The public key of an active DKG Ritual to be used for encryption
35
- * @param {ethers.Signer} authSigner - The signer that will be used to sign the encrypter authorization.
50
+ * @param {Signer} authSigner - Signer used to identify encryptor and verify authorization. Accepts an ethers `Signer` or a viem Signer Account (`LocalAccount` or `WalletClient`).
36
51
  *
37
- * @returns {Promise<ThresholdMessageKit>} Returns Promise that resolves with an instance of ThresholdMessageKit.
38
- * It represents the encrypted message.
52
+ * @returns {Promise<ThresholdMessageKit>} Encrypted message kit representing the ciphertext and associated metadata.
39
53
  *
40
54
  * @throws {Error} If the encryption process throws an error, an error is thrown.
41
55
  */
42
- export declare const encryptWithPublicKey: (message: Uint8Array | string, condition: Condition, dkgPublicKey: DkgPublicKey, authSigner: ethers.Signer) => Promise<ThresholdMessageKit>;
56
+ export declare function encryptWithPublicKey(message: Uint8Array | string, condition: Condition, dkgPublicKey: DkgPublicKey, authSigner: ethers.Signer): Promise<ThresholdMessageKit>;
43
57
  /**
44
- * Decrypts an encrypted message.
58
+ * Encrypts a message with the given DKG public key gated by TACo Conditions.
45
59
  *
46
60
  * @export
47
- * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
48
- * your selected network.
49
- * @param {Domain} domain - Represents the logical network in which the decryption will be performed.
50
- * Must match the `ritualId`.
51
- * @param {ThresholdMessageKit} messageKit - The kit containing the message to be decrypted
52
- * @param {ConditionContext} context - Optional context data used for decryption time values for the condition(s) within the `messageKit`.
53
- * @param {string[]} [porterUris] - Optional URI(s) for the Porter service. If not provided, a value will be obtained
54
- * from the Domain
55
- *
56
- * @returns {Promise<Uint8Array>} Returns Promise that resolves with a decrypted message
57
- *
58
- * @throws {Error} If the active DKG Ritual cannot be retrieved or decryption process throws an error,
59
- * an error is thrown.
61
+ * @param {Uint8Array | string} message - The message to be encrypted.
62
+ * @param {Condition} condition - Access condition (single or composite) that must be satisfied at decryption time.
63
+ * @param {DkgPublicKey} dkgPublicKey - The public key of an active DKG Ritual to be used for encryption
64
+ * @param {SignerAccount} authAccount - Viem account used to identify encryptor and verify authorization.
65
+ *
66
+ * @returns {Promise<ThresholdMessageKit>} Encrypted message kit representing the ciphertext and associated metadata.
67
+ *
68
+ * @throws {Error} If the encryption process throws an error, an error is thrown.
69
+ */
70
+ export declare function encryptWithPublicKey(message: Uint8Array | string, condition: Condition, dkgPublicKey: DkgPublicKey, authAccount: SignerAccount): Promise<ThresholdMessageKit>;
71
+ /**
72
+ * Decrypts an encrypted message (ethers overload).
73
+ *
74
+ * @export
75
+ * @param {ethers.providers.Provider} provider - Ethers provider for network operations.
76
+ * @param {Domain} domain - Logical TACo domain used for decryption.
77
+ * @param {ThresholdMessageKit} messageKit - The representation of the ciphertext and associated metadata.
78
+ * @param {ConditionContext} [context] - Optional context data required by conditions.
79
+ * @param {string[]} [porterUris] - Optional Porter service URI(s). If omitted, they are resolved via `getPorterUris(domain)`.
80
+ *
81
+ * @returns {Promise<Uint8Array>} The decrypted message bytes.
82
+ *
83
+ * @throws {Error} If the ritual cannot be resolved, Porter retrieval fails, or decryption fails.
84
+ */
85
+ export declare function decrypt(provider: ethers.providers.Provider, domain: Domain, messageKit: ThresholdMessageKit, context?: ConditionContext, porterUris?: string[]): Promise<Uint8Array>;
86
+ /**
87
+ * Decrypts an encrypted message (viem overload).
88
+ *
89
+ * @export
90
+ * @param {PublicClient} publicClient - Viem `PublicClient` for network operations.
91
+ * @param {Domain} domain - Logical TACo domain used for decryption.
92
+ * @param {ThresholdMessageKit} messageKit - The kit containing the ciphertext and access policy.
93
+ * @param {ConditionContext} [context] - Optional context data required by conditions.
94
+ * @param {string[]} [porterUris] - Optional Porter service URI(s). If omitted, they are resolved via `getPorterUris(domain)`.
95
+ *
96
+ * @returns {Promise<Uint8Array>} The decrypted message bytes.
97
+ *
98
+ * @throws {Error} If the ritual cannot be resolved, Porter retrieval fails, or decryption fails.
60
99
  */
61
- export declare const decrypt: (provider: ethers.providers.Provider, domain: Domain, messageKit: ThresholdMessageKit, context?: ConditionContext, porterUris?: string[]) => Promise<Uint8Array>;
100
+ export declare function decrypt(publicClient: PublicClient, domain: Domain, messageKit: ThresholdMessageKit, context?: ConditionContext, porterUris?: string[]): Promise<Uint8Array>;
package/dist/es/taco.js CHANGED
@@ -1,95 +1,38 @@
1
1
  import { AccessControlPolicy, encryptForDkg, ThresholdMessageKit, } from '@nucypher/nucypher-core';
2
- import { DkgCoordinatorAgent, fromHexString, getPorterUris, PorterClient, toBytes, } from '@nucypher/shared';
3
- import { keccak256 } from 'ethers/lib/utils';
4
- import { ConditionExpression } from './conditions/condition-expr';
5
- import { DkgClient } from './dkg';
6
- import { retrieveAndDecrypt } from './tdec';
7
- /**
8
- * Encrypts a message under given conditions using a public key from an active DKG ritual.
9
- *
10
- * @export
11
- * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
12
- * your selected network.
13
- * @param {Domain} domain - Represents the logical network in which the encryption will be performed.
14
- * Must match the `ritualId`.
15
- * @param {Uint8Array | string} message - The message to be encrypted.
16
- * @param {Condition} condition - Condition under which the message will be encrypted. Those conditions must be
17
- * satisfied in order to decrypt the message.
18
- * @param {number} ritualId - The ID of the DKG Ritual to be used for encryption. The message will be encrypted
19
- * under the public key of this ritual.
20
- * @param {ethers.Signer} authSigner - The signer that will be used to sign the encrypter authorization.
21
- *
22
- * @returns {Promise<ThresholdMessageKit>} Returns Promise that resolves with an instance of ThresholdMessageKit.
23
- * It represents the encrypted message.
24
- *
25
- * @throws {Error} If the active DKG Ritual cannot be retrieved an error is thrown.
26
- */
27
- export const encrypt = async (provider, domain, message, condition, ritualId, authSigner) => {
28
- // TODO(#264): Enable ritual initialization
29
- // if (ritualId === undefined) {
30
- // ritualId = await DkgClient.initializeRitual(
31
- // provider,
32
- // this.cohort.ursulaAddresses,
33
- // true
34
- // );
35
- // }
36
- // if (ritualId === undefined) {
37
- // // Given that we just initialized the ritual, this should never happen
38
- // throw new Error('Ritual ID is undefined');
39
- // }
40
- const dkgRitual = await DkgClient.getActiveRitual(provider, domain, ritualId);
41
- return await encryptWithPublicKey(message, condition, dkgRitual.dkgPublicKey, authSigner);
42
- };
43
- /**
44
- * Encrypts a message with the given DKG public key under a specified condition.
45
- *
46
- * @export
47
- * @param {Uint8Array | string} message - The message to be encrypted.
48
- * @param {Condition} condition - Condition under which the message will be encrypted. Those conditions must be
49
- * satisfied in order to decrypt the message.
50
- * @param {DkgPublicKey} dkgPublicKey - The public key of an active DKG Ritual to be used for encryption
51
- * @param {ethers.Signer} authSigner - The signer that will be used to sign the encrypter authorization.
52
- *
53
- * @returns {Promise<ThresholdMessageKit>} Returns Promise that resolves with an instance of ThresholdMessageKit.
54
- * It represents the encrypted message.
55
- *
56
- * @throws {Error} If the encryption process throws an error, an error is thrown.
57
- */
58
- export const encryptWithPublicKey = async (message, condition, dkgPublicKey, authSigner) => {
2
+ import { DkgCoordinatorAgent, fromHexString, getPorterUris, PorterClient, toBytes, toEthersProvider, toTacoSigner, } from '@nucypher/shared';
3
+ import { ethers } from 'ethers';
4
+ import { ConditionExpression } from './conditions/condition-expr.js';
5
+ import { DkgClient } from './dkg.js';
6
+ import { retrieveAndDecrypt } from './tdec.js';
7
+ export async function encrypt(providerLike, domain, message, condition, ritualId, signerLike) {
8
+ // Create TACo provider and signer adapters from viem objects
9
+ const providerAdapter = toEthersProvider(providerLike);
10
+ const dkgRitual = await DkgClient.getActiveRitual(providerAdapter, domain, ritualId);
11
+ return await encryptWithPublicKey(message, condition, dkgRitual.dkgPublicKey,
12
+ // Casting is needed because with the function definition of encryptWithPublicKey,
13
+ // this param can be either a Signer or a viem signer account. But not a type that is the union of both.
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ signerLike);
16
+ }
17
+ export async function encryptWithPublicKey(message, condition, dkgPublicKey, signerLike) {
59
18
  if (typeof message === 'string') {
60
19
  message = toBytes(message);
61
20
  }
21
+ const signer = toTacoSigner(signerLike);
62
22
  const conditionExpr = new ConditionExpression(condition);
63
23
  const [ciphertext, authenticatedData] = encryptForDkg(message, dkgPublicKey, conditionExpr.toCoreCondition());
64
- const headerHash = keccak256(ciphertext.header.toBytes());
65
- const authorization = await authSigner.signMessage(fromHexString(headerHash));
24
+ const headerHash = ethers.utils.keccak256(ciphertext.header.toBytes());
25
+ const authorization = await signer.signMessage(fromHexString(headerHash));
66
26
  const acp = new AccessControlPolicy(authenticatedData, fromHexString(authorization));
67
27
  return new ThresholdMessageKit(ciphertext, acp);
68
- };
69
- /**
70
- * Decrypts an encrypted message.
71
- *
72
- * @export
73
- * @param {ethers.providers.Provider} provider - Instance of ethers provider which is used to interact with
74
- * your selected network.
75
- * @param {Domain} domain - Represents the logical network in which the decryption will be performed.
76
- * Must match the `ritualId`.
77
- * @param {ThresholdMessageKit} messageKit - The kit containing the message to be decrypted
78
- * @param {ConditionContext} context - Optional context data used for decryption time values for the condition(s) within the `messageKit`.
79
- * @param {string[]} [porterUris] - Optional URI(s) for the Porter service. If not provided, a value will be obtained
80
- * from the Domain
81
- *
82
- * @returns {Promise<Uint8Array>} Returns Promise that resolves with a decrypted message
83
- *
84
- * @throws {Error} If the active DKG Ritual cannot be retrieved or decryption process throws an error,
85
- * an error is thrown.
86
- */
87
- export const decrypt = async (provider, domain, messageKit, context, porterUris) => {
28
+ }
29
+ export async function decrypt(providerLike, domain, messageKit, context, porterUris) {
88
30
  const porterUrisFull = porterUris
89
31
  ? porterUris
90
32
  : await getPorterUris(domain);
91
33
  const porter = new PorterClient(porterUrisFull);
92
- const ritualId = await DkgCoordinatorAgent.getRitualIdFromPublicKey(provider, domain, messageKit.acp.publicKey);
93
- return retrieveAndDecrypt(provider, domain, porter, messageKit, ritualId, context);
94
- };
34
+ const providerAdapter = toEthersProvider(providerLike);
35
+ const ritualId = await DkgCoordinatorAgent.getRitualIdFromPublicKey(providerAdapter, domain, messageKit.acp.publicKey);
36
+ return retrieveAndDecrypt(providerAdapter, domain, porter, messageKit, ritualId, context);
37
+ }
95
38
  //# sourceMappingURL=taco.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taco.js","sourceRoot":"","sources":["../../src/taco.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEnB,aAAa,EACb,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EAEnB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAmC,EACnC,MAAc,EACd,OAA4B,EAC5B,SAAoB,EACpB,QAAgB,EAChB,UAAyB,EACK,EAAE;IAChC,2CAA2C;IAC3C,gCAAgC;IAChC,iDAAiD;IACjD,gBAAgB;IAChB,mCAAmC;IACnC,WAAW;IACX,OAAO;IACP,IAAI;IACJ,gCAAgC;IAChC,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI;IACJ,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE9E,OAAO,MAAM,oBAAoB,CAC/B,OAAO,EACP,SAAS,EACT,SAAS,CAAC,YAAY,EACtB,UAAU,CACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,OAA4B,EAC5B,SAAoB,EACpB,YAA0B,EAC1B,UAAyB,EACK,EAAE;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEzD,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,aAAa,CACnD,OAAO,EACP,YAAY,EACZ,aAAa,CAAC,eAAe,EAAE,CAChC,CAAC;IAEF,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,mBAAmB,CACjC,iBAAiB,EACjB,aAAa,CAAC,aAAa,CAAC,CAC7B,CAAC;IAEF,OAAO,IAAI,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAmC,EACnC,MAAc,EACd,UAA+B,EAC/B,OAA0B,EAC1B,UAAqB,EACA,EAAE;IACvB,MAAM,cAAc,GAAa,UAAU;QACzC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,wBAAwB,CACjE,QAAQ,EACR,MAAM,EACN,UAAU,CAAC,GAAG,CAAC,SAAS,CACzB,CAAC;IACF,OAAO,kBAAkB,CACvB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"taco.js","sourceRoot":"","sources":["../../src/taco.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEnB,aAAa,EACb,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EAEnB,aAAa,EACb,aAAa,EACb,YAAY,EAKZ,OAAO,EACP,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAwD/C,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,YAA0B,EAC1B,MAAc,EACd,OAA4B,EAC5B,SAAoB,EACpB,QAAgB,EAChB,UAAsB;IAEtB,6DAA6D;IAC7D,MAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,CAC/C,eAAe,EACf,MAAM,EACN,QAAQ,CACT,CAAC;IAEF,OAAO,MAAM,oBAAoB,CAC/B,OAAO,EACP,SAAS,EACT,SAAS,CAAC,YAAY;IACtB,kFAAkF;IAClF,wGAAwG;IACxG,8DAA8D;IAC9D,UAAiB,CAClB,CAAC;AACJ,CAAC;AA0CD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA4B,EAC5B,SAAoB,EACpB,YAA0B,EAC1B,UAAsB;IAEtB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAExC,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEzD,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,aAAa,CACnD,OAAO,EACP,YAAY,EACZ,aAAa,CAAC,eAAe,EAAE,CAChC,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,mBAAmB,CACjC,iBAAiB,EACjB,aAAa,CAAC,aAAa,CAAC,CAC7B,CAAC;IAEF,OAAO,IAAI,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AA8CD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,YAA0B,EAC1B,MAAc,EACd,UAA+B,EAC/B,OAA0B,EAC1B,UAAqB;IAErB,MAAM,cAAc,GAAa,UAAU;QACzC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IAEhD,MAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,wBAAwB,CACjE,eAAe,EACf,MAAM,EACN,UAAU,CAAC,GAAG,CAAC,SAAS,CACzB,CAAC;IACF,OAAO,kBAAkB,CACvB,eAAe,EACf,MAAM,EACN,MAAM,EACN,UAAU,EACV,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC"}
package/dist/es/tdec.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { DkgPublicKey, ThresholdMessageKit } from '@nucypher/nucypher-core';
2
2
  import { Domain, PorterClient } from '@nucypher/shared';
3
3
  import { ethers } from 'ethers';
4
- import { ConditionExpression } from './conditions/condition-expr';
5
- import { ConditionContext } from './conditions/context';
4
+ import { ConditionExpression } from './conditions/condition-expr.js';
5
+ import { ConditionContext } from './conditions/context/index.js';
6
6
  export declare const encryptMessage: (plaintext: Uint8Array | string, encryptingKey: DkgPublicKey, conditions: ConditionExpression, authSigner: ethers.Signer) => Promise<ThresholdMessageKit>;
7
7
  export declare const retrieveAndDecrypt: (provider: ethers.providers.Provider, domain: Domain, porter: PorterClient, thresholdMessageKit: ThresholdMessageKit, ritualId: number, context?: ConditionContext) => Promise<Uint8Array>;
package/dist/es/tdec.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { AccessControlPolicy, combineDecryptionSharesSimple, DecryptionShareSimple, encryptForDkg, FerveoVariant, SessionStaticSecret, ThresholdDecryptionRequest, ThresholdMessageKit, } from '@nucypher/nucypher-core';
2
2
  import { DkgCoordinatorAgent, toBytes, } from '@nucypher/shared';
3
- import { arrayify, keccak256 } from 'ethers/lib/utils';
4
- import { ConditionContext } from './conditions/context';
5
- import { DkgClient } from './dkg';
3
+ import { ethers } from 'ethers';
4
+ import { ConditionContext } from './conditions/context/index.js';
5
+ import { DkgClient } from './dkg.js';
6
6
  const ERR_DECRYPTION_FAILED = (errors) => `Threshold of responses not met; TACo decryption failed with errors: ${JSON.stringify(errors)}`;
7
7
  const ERR_RITUAL_ID_MISMATCH = (expectedRitualId, ritualIds) => `Ritual id mismatch. Expected ${expectedRitualId}, got ${ritualIds}`;
8
8
  export const encryptMessage = async (plaintext, encryptingKey, conditions, authSigner) => {
9
9
  const [ciphertext, authenticatedData] = encryptForDkg(plaintext instanceof Uint8Array ? plaintext : toBytes(plaintext), encryptingKey, conditions.toCoreCondition());
10
- const headerHash = keccak256(ciphertext.header.toBytes());
11
- const authorization = await authSigner.signMessage(arrayify(headerHash));
10
+ const headerHash = ethers.utils.keccak256(ciphertext.header.toBytes());
11
+ const authorization = await authSigner.signMessage(ethers.utils.arrayify(headerHash));
12
12
  const acp = new AccessControlPolicy(authenticatedData, toBytes(authorization));
13
13
  return new ThresholdMessageKit(ciphertext, acp);
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tdec.js","sourceRoot":"","sources":["../../src/tdec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tdec.js","sourceRoot":"","sources":["../../src/tdec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export { Conditions as CoreConditions, Context as CoreContext, } from '@nucypher/nucypher-core';
2
- export type { UserOperation } from '@nucypher/shared';