@primuslabs/fhetransform-sdk 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/README.md +198 -0
  2. package/dist/abis/acl.abi.d.ts +379 -0
  3. package/dist/abis/acl.abi.js +495 -0
  4. package/dist/abis/acl.abi.js.map +1 -0
  5. package/dist/abis/alphatrion_reward.abi.d.ts +407 -0
  6. package/dist/abis/alphatrion_reward.abi.js +532 -0
  7. package/dist/abis/alphatrion_reward.abi.js.map +1 -0
  8. package/dist/abis/ciphertext_digests.abi.d.ts +336 -0
  9. package/dist/abis/ciphertext_digests.abi.js +444 -0
  10. package/dist/abis/ciphertext_digests.abi.js.map +1 -0
  11. package/dist/abis/ciphertext_verification.abi.d.ts +637 -0
  12. package/dist/abis/ciphertext_verification.abi.js +830 -0
  13. package/dist/abis/ciphertext_verification.abi.js.map +1 -0
  14. package/dist/abis/convert_token.abi.d.ts +922 -0
  15. package/dist/abis/convert_token.abi.js +1208 -0
  16. package/dist/abis/convert_token.abi.js.map +1 -0
  17. package/dist/abis/decryption.abi.d.ts +956 -0
  18. package/dist/abis/decryption.abi.js +1244 -0
  19. package/dist/abis/decryption.abi.js.map +1 -0
  20. package/dist/abis/erc20.abi.d.ts +265 -0
  21. package/dist/abis/erc20.abi.js +350 -0
  22. package/dist/abis/erc20.abi.js.map +1 -0
  23. package/dist/abis/fhe_executor.abi.d.ts +1535 -0
  24. package/dist/abis/fhe_executor.abi.js +1962 -0
  25. package/dist/abis/fhe_executor.abi.js.map +1 -0
  26. package/dist/abis/space_bridge_config.abi.d.ts +792 -0
  27. package/dist/abis/space_bridge_config.abi.js +1032 -0
  28. package/dist/abis/space_bridge_config.abi.js.map +1 -0
  29. package/dist/abis/token.abi.d.ts +630 -0
  30. package/dist/abis/token.abi.js +828 -0
  31. package/dist/abis/token.abi.js.map +1 -0
  32. package/dist/cli/eusdc.d.ts +2 -0
  33. package/dist/cli/eusdc.js +41 -0
  34. package/dist/cli/eusdc.js.map +1 -0
  35. package/dist/contract/callbacks.d.ts +59 -0
  36. package/dist/contract/callbacks.js +2 -0
  37. package/dist/contract/callbacks.js.map +1 -0
  38. package/dist/contract/convert-token.d.ts +107 -0
  39. package/dist/contract/convert-token.js +249 -0
  40. package/dist/contract/convert-token.js.map +1 -0
  41. package/dist/contract/token.d.ts +167 -0
  42. package/dist/contract/token.js +404 -0
  43. package/dist/contract/token.js.map +1 -0
  44. package/dist/contract/transaction.d.ts +29 -0
  45. package/dist/contract/transaction.js +2 -0
  46. package/dist/contract/transaction.js.map +1 -0
  47. package/dist/core/address.d.ts +118 -0
  48. package/dist/core/address.js +200 -0
  49. package/dist/core/address.js.map +1 -0
  50. package/dist/core/auth.d.ts +68 -0
  51. package/dist/core/auth.js +58 -0
  52. package/dist/core/auth.js.map +1 -0
  53. package/dist/core/bytes.d.ts +48 -0
  54. package/dist/core/bytes.js +117 -0
  55. package/dist/core/bytes.js.map +1 -0
  56. package/dist/core/cache-manager.d.ts +138 -0
  57. package/dist/core/cache-manager.js +440 -0
  58. package/dist/core/cache-manager.js.map +1 -0
  59. package/dist/core/chain.d.ts +41 -0
  60. package/dist/core/chain.js +59 -0
  61. package/dist/core/chain.js.map +1 -0
  62. package/dist/core/constants.d.ts +24 -0
  63. package/dist/core/constants.js +25 -0
  64. package/dist/core/constants.js.map +1 -0
  65. package/dist/core/error.d.ts +2 -0
  66. package/dist/core/error.js +14 -0
  67. package/dist/core/error.js.map +1 -0
  68. package/dist/core/errors/error-catalog.d.ts +29 -0
  69. package/dist/core/errors/error-catalog.js +84 -0
  70. package/dist/core/errors/error-catalog.js.map +1 -0
  71. package/dist/core/errors/error-codes.d.ts +52 -0
  72. package/dist/core/errors/error-codes.js +61 -0
  73. package/dist/core/errors/error-codes.js.map +1 -0
  74. package/dist/core/errors/error-utils.d.ts +27 -0
  75. package/dist/core/errors/error-utils.js +110 -0
  76. package/dist/core/errors/error-utils.js.map +1 -0
  77. package/dist/core/errors/fhe-error.d.ts +98 -0
  78. package/dist/core/errors/fhe-error.js +190 -0
  79. package/dist/core/errors/fhe-error.js.map +1 -0
  80. package/dist/core/errors/index.d.ts +4 -0
  81. package/dist/core/errors/index.js +5 -0
  82. package/dist/core/errors/index.js.map +1 -0
  83. package/dist/core/estimate.d.ts +39 -0
  84. package/dist/core/estimate.js +111 -0
  85. package/dist/core/estimate.js.map +1 -0
  86. package/dist/core/event.d.ts +212 -0
  87. package/dist/core/event.js +42 -0
  88. package/dist/core/event.js.map +1 -0
  89. package/dist/core/fhe-type.d.ts +75 -0
  90. package/dist/core/fhe-type.js +115 -0
  91. package/dist/core/fhe-type.js.map +1 -0
  92. package/dist/core/fhe.d.ts +11 -0
  93. package/dist/core/fhe.js +23 -0
  94. package/dist/core/fhe.js.map +1 -0
  95. package/dist/core/handle.d.ts +42 -0
  96. package/dist/core/handle.js +99 -0
  97. package/dist/core/handle.js.map +1 -0
  98. package/dist/core/json-utils.d.ts +18 -0
  99. package/dist/core/json-utils.js +37 -0
  100. package/dist/core/json-utils.js.map +1 -0
  101. package/dist/core/kms.d.ts +42 -0
  102. package/dist/core/kms.js +70 -0
  103. package/dist/core/kms.js.map +1 -0
  104. package/dist/core/logger.d.ts +3 -0
  105. package/dist/core/logger.js +11 -0
  106. package/dist/core/logger.js.map +1 -0
  107. package/dist/core/pretty-print.d.ts +18 -0
  108. package/dist/core/pretty-print.js +84 -0
  109. package/dist/core/pretty-print.js.map +1 -0
  110. package/dist/core/primitives.d.ts +22 -0
  111. package/dist/core/primitives.js +2 -0
  112. package/dist/core/primitives.js.map +1 -0
  113. package/dist/core/retryable-handler.d.ts +74 -0
  114. package/dist/core/retryable-handler.js +227 -0
  115. package/dist/core/retryable-handler.js.map +1 -0
  116. package/dist/core/signer-address-info.d.ts +15 -0
  117. package/dist/core/signer-address-info.js +33 -0
  118. package/dist/core/signer-address-info.js.map +1 -0
  119. package/dist/core/string.d.ts +28 -0
  120. package/dist/core/string.js +33 -0
  121. package/dist/core/string.js.map +1 -0
  122. package/dist/core/swallow.d.ts +23 -0
  123. package/dist/core/swallow.js +37 -0
  124. package/dist/core/swallow.js.map +1 -0
  125. package/dist/core/system-contract-info.d.ts +17 -0
  126. package/dist/core/system-contract-info.js +41 -0
  127. package/dist/core/system-contract-info.js.map +1 -0
  128. package/dist/core/ttl-cache.d.ts +81 -0
  129. package/dist/core/ttl-cache.js +113 -0
  130. package/dist/core/ttl-cache.js.map +1 -0
  131. package/dist/core/tx-error-parser.d.ts +40 -0
  132. package/dist/core/tx-error-parser.js +83 -0
  133. package/dist/core/tx-error-parser.js.map +1 -0
  134. package/dist/core/utils.d.ts +62 -0
  135. package/dist/core/utils.js +143 -0
  136. package/dist/core/utils.js.map +1 -0
  137. package/dist/index.d.ts +40 -0
  138. package/dist/index.js +48 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/jazz/encrypt-key-p.d.ts +65 -0
  141. package/dist/jazz/encrypt-key-p.js +283 -0
  142. package/dist/jazz/encrypt-key-p.js.map +1 -0
  143. package/dist/jazz/encrypt-p.d.ts +82 -0
  144. package/dist/jazz/encrypt-p.js +139 -0
  145. package/dist/jazz/encrypt-p.js.map +1 -0
  146. package/dist/jazz/encrypt.d.ts +58 -0
  147. package/dist/jazz/encrypt.js +155 -0
  148. package/dist/jazz/encrypt.js.map +1 -0
  149. package/dist/jazz/input-proof-p.d.ts +122 -0
  150. package/dist/jazz/input-proof-p.js +265 -0
  151. package/dist/jazz/input-proof-p.js.map +1 -0
  152. package/dist/jazz/jazz-client-i.d.ts +16 -0
  153. package/dist/jazz/jazz-client-i.js +2 -0
  154. package/dist/jazz/jazz-client-i.js.map +1 -0
  155. package/dist/jazz/jazz-client.d.ts +18 -0
  156. package/dist/jazz/jazz-client.js +24 -0
  157. package/dist/jazz/jazz-client.js.map +1 -0
  158. package/dist/jazz/key-pair.d.ts +50 -0
  159. package/dist/jazz/key-pair.js +166 -0
  160. package/dist/jazz/key-pair.js.map +1 -0
  161. package/dist/jazz/mock/fake.d.ts +3 -0
  162. package/dist/jazz/mock/fake.js +23 -0
  163. package/dist/jazz/mock/fake.js.map +1 -0
  164. package/dist/jazz/mock/fetch-input-proof.d.ts +4 -0
  165. package/dist/jazz/mock/fetch-input-proof.js +63 -0
  166. package/dist/jazz/mock/fetch-input-proof.js.map +1 -0
  167. package/dist/jazz/mock/fetch-key-url.d.ts +3 -0
  168. package/dist/jazz/mock/fetch-key-url.js +15 -0
  169. package/dist/jazz/mock/fetch-key-url.js.map +1 -0
  170. package/dist/jazz/mock/fetch-public-decrypt.d.ts +3 -0
  171. package/dist/jazz/mock/fetch-public-decrypt.js +81 -0
  172. package/dist/jazz/mock/fetch-public-decrypt.js.map +1 -0
  173. package/dist/jazz/mock/fetch-user-decrypt.d.ts +4 -0
  174. package/dist/jazz/mock/fetch-user-decrypt.js +174 -0
  175. package/dist/jazz/mock/fetch-user-decrypt.js.map +1 -0
  176. package/dist/jazz/module/fetch-input-proof.d.ts +19 -0
  177. package/dist/jazz/module/fetch-input-proof.js +72 -0
  178. package/dist/jazz/module/fetch-input-proof.js.map +1 -0
  179. package/dist/jazz/module/fetch-key-url.d.ts +17 -0
  180. package/dist/jazz/module/fetch-key-url.js +46 -0
  181. package/dist/jazz/module/fetch-key-url.js.map +1 -0
  182. package/dist/jazz/module/fetch-public-decrypt.d.ts +19 -0
  183. package/dist/jazz/module/fetch-public-decrypt.js +65 -0
  184. package/dist/jazz/module/fetch-public-decrypt.js.map +1 -0
  185. package/dist/jazz/module/fetch-user-decrypt.d.ts +19 -0
  186. package/dist/jazz/module/fetch-user-decrypt.js +109 -0
  187. package/dist/jazz/module/fetch-user-decrypt.js.map +1 -0
  188. package/dist/jazz/module/jazz-async-request.d.ts +102 -0
  189. package/dist/jazz/module/jazz-async-request.js +515 -0
  190. package/dist/jazz/module/jazz-async-request.js.map +1 -0
  191. package/dist/jazz/module/jazz-p.d.ts +61 -0
  192. package/dist/jazz/module/jazz-p.js +33 -0
  193. package/dist/jazz/module/jazz-p.js.map +1 -0
  194. package/dist/jazz/module/s3-download.d.ts +85 -0
  195. package/dist/jazz/module/s3-download.js +293 -0
  196. package/dist/jazz/module/s3-download.js.map +1 -0
  197. package/dist/jazz/permit.d.ts +200 -0
  198. package/dist/jazz/permit.js +319 -0
  199. package/dist/jazz/permit.js.map +1 -0
  200. package/dist/jazz/public-decrypt-p.d.ts +96 -0
  201. package/dist/jazz/public-decrypt-p.js +258 -0
  202. package/dist/jazz/public-decrypt-p.js.map +1 -0
  203. package/dist/jazz/public-decrypt.d.ts +48 -0
  204. package/dist/jazz/public-decrypt.js +156 -0
  205. package/dist/jazz/public-decrypt.js.map +1 -0
  206. package/dist/jazz/read-contract.d.ts +81 -0
  207. package/dist/jazz/read-contract.js +125 -0
  208. package/dist/jazz/read-contract.js.map +1 -0
  209. package/dist/jazz/types/common.d.ts +17 -0
  210. package/dist/jazz/types/common.js +2 -0
  211. package/dist/jazz/types/common.js.map +1 -0
  212. package/dist/jazz/types/input-proof.d.ts +76 -0
  213. package/dist/jazz/types/input-proof.js +2 -0
  214. package/dist/jazz/types/input-proof.js.map +1 -0
  215. package/dist/jazz/types/key-url.d.ts +68 -0
  216. package/dist/jazz/types/key-url.js +5 -0
  217. package/dist/jazz/types/key-url.js.map +1 -0
  218. package/dist/jazz/types/public-decrypt.d.ts +61 -0
  219. package/dist/jazz/types/public-decrypt.js +2 -0
  220. package/dist/jazz/types/public-decrypt.js.map +1 -0
  221. package/dist/jazz/types/user-decrypt.d.ts +123 -0
  222. package/dist/jazz/types/user-decrypt.js +2 -0
  223. package/dist/jazz/types/user-decrypt.js.map +1 -0
  224. package/dist/jazz/user-decrypt-p.d.ts +111 -0
  225. package/dist/jazz/user-decrypt-p.js +280 -0
  226. package/dist/jazz/user-decrypt-p.js.map +1 -0
  227. package/dist/jazz/user-decrypt.d.ts +74 -0
  228. package/dist/jazz/user-decrypt.js +143 -0
  229. package/dist/jazz/user-decrypt.js.map +1 -0
  230. package/dist/native/fhe-api.js +5959 -0
  231. package/dist/native/fhe-api.node.cjs +6167 -0
  232. package/dist/native/fhe-api.node.worker.cjs +210 -0
  233. package/dist/native/fhe-api.wasm +0 -0
  234. package/dist/native/fhe-api.worker.js +164 -0
  235. package/dist/native/kms/node/kms_lib.d.ts +38 -0
  236. package/dist/native/kms/node/kms_lib.js +356 -0
  237. package/dist/native/kms/node/kms_lib_bg.wasm +0 -0
  238. package/dist/native/kms/node/kms_lib_bg.wasm.d.ts +21 -0
  239. package/dist/native/kms/node/package.json +11 -0
  240. package/dist/native/kms/web/kms_lib.d.ts +84 -0
  241. package/dist/native/kms/web/kms_lib.js +443 -0
  242. package/dist/native/kms/web/kms_lib_bg.wasm +0 -0
  243. package/dist/native/kms/web/kms_lib_bg.wasm.d.ts +21 -0
  244. package/dist/native/kms/web/package.json +15 -0
  245. package/dist/runtime/browser.d.ts +36 -0
  246. package/dist/runtime/browser.js +115 -0
  247. package/dist/runtime/browser.js.map +1 -0
  248. package/dist/runtime/node.d.ts +30 -0
  249. package/dist/runtime/node.js +95 -0
  250. package/dist/runtime/node.js.map +1 -0
  251. package/dist/sdk/fhetransform-sdk-b.d.ts +102 -0
  252. package/dist/sdk/fhetransform-sdk-b.js +294 -0
  253. package/dist/sdk/fhetransform-sdk-b.js.map +1 -0
  254. package/dist/sdk/fhetransform-sdk.d.ts +87 -0
  255. package/dist/sdk/fhetransform-sdk.js +135 -0
  256. package/dist/sdk/fhetransform-sdk.js.map +1 -0
  257. package/dist/sdk/jazz-service.d.ts +13 -0
  258. package/dist/sdk/jazz-service.js +58 -0
  259. package/dist/sdk/jazz-service.js.map +1 -0
  260. package/dist/sdk/permit-service.d.ts +45 -0
  261. package/dist/sdk/permit-service.js +144 -0
  262. package/dist/sdk/permit-service.js.map +1 -0
  263. package/dist/wasm/fhe-wasm-client.d.ts +19 -0
  264. package/dist/wasm/fhe-wasm-client.js +23 -0
  265. package/dist/wasm/fhe-wasm-client.js.map +1 -0
  266. package/dist/wasm/fhe-wasm-module.d.ts +24 -0
  267. package/dist/wasm/fhe-wasm-module.js +141 -0
  268. package/dist/wasm/fhe-wasm-module.js.map +1 -0
  269. package/dist/wasm/fhe-wasm-type.d.ts +59 -0
  270. package/dist/wasm/fhe-wasm-type.js +244 -0
  271. package/dist/wasm/fhe-wasm-type.js.map +1 -0
  272. package/dist/wasm/wasm-loader.browser.d.ts +21 -0
  273. package/dist/wasm/wasm-loader.browser.js +143 -0
  274. package/dist/wasm/wasm-loader.browser.js.map +1 -0
  275. package/dist/wasm/wasm-loader.node.d.ts +24 -0
  276. package/dist/wasm/wasm-loader.node.js +114 -0
  277. package/dist/wasm/wasm-loader.node.js.map +1 -0
  278. package/dist/wasm/worker-client.browser.d.ts +6 -0
  279. package/dist/wasm/worker-client.browser.js +21 -0
  280. package/dist/wasm/worker-client.browser.js.map +1 -0
  281. package/dist/wasm/worker-client.d.ts +34 -0
  282. package/dist/wasm/worker-client.js +160 -0
  283. package/dist/wasm/worker-client.js.map +1 -0
  284. package/dist/wasm/worker-client.node.d.ts +6 -0
  285. package/dist/wasm/worker-client.node.js +20 -0
  286. package/dist/wasm/worker-client.node.js.map +1 -0
  287. package/dist/wasm/worker-message.d.ts +61 -0
  288. package/dist/wasm/worker-message.js +2 -0
  289. package/dist/wasm/worker-message.js.map +1 -0
  290. package/dist/wasm/worker-transport.browser.d.ts +15 -0
  291. package/dist/wasm/worker-transport.browser.js +35 -0
  292. package/dist/wasm/worker-transport.browser.js.map +1 -0
  293. package/dist/wasm/worker-transport.d.ts +6 -0
  294. package/dist/wasm/worker-transport.js +2 -0
  295. package/dist/wasm/worker-transport.js.map +1 -0
  296. package/dist/wasm/worker-transport.node.d.ts +17 -0
  297. package/dist/wasm/worker-transport.node.js +39 -0
  298. package/dist/wasm/worker-transport.node.js.map +1 -0
  299. package/dist/wasm/worker.d.ts +1 -0
  300. package/dist/wasm/worker.js +69 -0
  301. package/dist/wasm/worker.js.map +1 -0
  302. package/package.json +81 -0
@@ -0,0 +1,18 @@
1
+ import { IJazzClient, JazzConfig } from "./jazz-client-i.js";
2
+ import { EncryptParameters, EncryptPayload, EncryptResult } from "./encrypt.js";
3
+ import { GenerateTransportKeyPairResult } from "./key-pair.js";
4
+ import { SignDecryptionPermitParameters, SignedDecryptionPermitResult } from "./permit.js";
5
+ import { PublicDecryptParameters, PublicDecryptPayload, PublicDecryptResult } from "./public-decrypt.js";
6
+ import { UserDecryptParameters, UserDecryptPayload, UserDecryptResult } from "./user-decrypt.js";
7
+ import type { FheTransformSDK } from "../sdk/fhetransform-sdk";
8
+ export declare class JazzClientImpl implements IJazzClient {
9
+ private readonly config;
10
+ readonly sdk: FheTransformSDK;
11
+ constructor(sdk: FheTransformSDK, config: JazzConfig);
12
+ encryptValue: <T extends EncryptPayload>(parameters: EncryptParameters<T>) => Promise<EncryptResult<T>>;
13
+ decryptPublicValue: <T extends PublicDecryptPayload>(parameters: PublicDecryptParameters<T>) => Promise<PublicDecryptResult<T>>;
14
+ generateTransportKeyPair: () => Promise<GenerateTransportKeyPairResult>;
15
+ signDecryptionPermit: (parameters: SignDecryptionPermitParameters) => Promise<SignedDecryptionPermitResult>;
16
+ decryptUserValue: <T extends UserDecryptPayload>(parameters: UserDecryptParameters<T>) => Promise<UserDecryptResult<T>>;
17
+ }
18
+ export declare function createJazzClient(sdk: FheTransformSDK, config: JazzConfig): IJazzClient;
@@ -0,0 +1,24 @@
1
+ import { encryptValue } from "./encrypt.js";
2
+ import { generateTransportKeyPair } from "./key-pair.js";
3
+ import { signDecryptionPermit } from "./permit.js";
4
+ import { decryptPublicValue } from "./public-decrypt.js";
5
+ import { decryptUserValue } from "./user-decrypt.js";
6
+ export class JazzClientImpl {
7
+ config;
8
+ sdk;
9
+ constructor(sdk, config) {
10
+ this.config = config;
11
+ this.sdk = sdk;
12
+ }
13
+ // IMPLEMENTS
14
+ encryptValue = async (parameters) => encryptValue(this, parameters);
15
+ decryptPublicValue = async (parameters) => decryptPublicValue(this, parameters);
16
+ generateTransportKeyPair = async () => generateTransportKeyPair(this.sdk);
17
+ signDecryptionPermit = async (parameters) => signDecryptionPermit(this.sdk, parameters);
18
+ decryptUserValue = async (parameters) => decryptUserValue(this, parameters);
19
+ }
20
+ export function createJazzClient(sdk, config) {
21
+ const c = new JazzClientImpl(sdk, config);
22
+ return c;
23
+ }
24
+ //# sourceMappingURL=jazz-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jazz-client.js","sourceRoot":"","sources":["../../src/jazz/jazz-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAoD,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAkC,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAgE,MAAM,aAAa,CAAC;AACjH,OAAO,EAAE,kBAAkB,EAAsE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAAgE,MAAM,mBAAmB,CAAC;AAGnH,MAAM,OAAO,cAAc;IAG0B;IAF1C,GAAG,CAAkB;IAE9B,YAAY,GAAoB,EAAmB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QACnE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,aAAa;IACb,YAAY,GAAG,KAAK,EAA4B,UAAgC,EACpD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE9D,kBAAkB,GAAG,KAAK,EAAkC,UAAsC,EAChE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1E,wBAAwB,GAAG,KAAK,IACU,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,oBAAoB,GAAG,KAAK,EAAE,UAA0C,EAChC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEtF,gBAAgB,GAAG,KAAK,EAAgC,UAAoC,EAC5D,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;CACvE;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAoB,EAAE,MAAkB;IACvE,MAAM,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { Address, BytesHex } from "../core/primitives.js";
2
+ import { FheTransformSDK } from "../sdk/fhetransform-sdk.js";
3
+ /**
4
+ * Branded type for TransportKeyPair to ensure type safety.
5
+ */
6
+ declare const TransportKeyPairBrand: unique symbol;
7
+ /**
8
+ * Transport key pair for secure communication.
9
+ *
10
+ * This key pair is used for transport-level encryption and authentication.
11
+ * The private key should never be exposed outside of secure storage.
12
+ */
13
+ export type TransportKeyPair = {
14
+ /** Private key as hex with 0x prefix (keep secure) */
15
+ readonly privateKey: BytesHex;
16
+ /** Public key as hex with 0x prefix (can be shared) */
17
+ readonly publicKey: BytesHex;
18
+ /** Brand to prevent accidental type compatibility */
19
+ readonly [TransportKeyPairBrand]: true;
20
+ };
21
+ /**
22
+ * Result of generating a transport key pair.
23
+ */
24
+ export type GenerateTransportKeyPairResult = TransportKeyPair;
25
+ /**
26
+ * Generates a new transport key pair using the KMS backend.
27
+ *
28
+ * This function initializes the KMS module and generates a new key pair.
29
+ * The generated keys are returned as hex strings with 0x prefix.
30
+ *
31
+ * @returns Promise resolving to TransportKeyPair containing private and public keys
32
+ * @throws Error if KMS initialization or key generation fails
33
+ */
34
+ export declare function generateTransportKeyPair(sdk: FheTransformSDK): Promise<GenerateTransportKeyPairResult>;
35
+ /**
36
+ * Gets an existing transport key pair from cache, or generates a new one.
37
+ *
38
+ * This function implements a caching strategy:
39
+ * 1. Checks if the key pair exists in cache and is still valid (TTL)
40
+ * 2. If expired or missing, generates a new key pair
41
+ * 3. Saves the new key pair to cache
42
+ * 4. Returns the key pair
43
+ *
44
+ * @param client - The Jazz client instance
45
+ * @param signerAddress - Address of the signer (used as cache key prefix)
46
+ * @returns Promise resolving to TransportKeyPair
47
+ * @throws Error if KMS initialization or key generation fails
48
+ */
49
+ export declare function getOrCreateKeyPair(sdk: FheTransformSDK, signerAddress: Address): Promise<TransportKeyPair>;
50
+ export {};
@@ -0,0 +1,166 @@
1
+ import { bytesToHex } from "../core/bytes.js";
2
+ import { kms_enc_keygen, kms_init } from "../core/kms.js";
3
+ import { logger } from "../core/logger.js";
4
+ import { DEFAULT_TRANSPORT_KEY_PAIR_TTL_SECONDS } from "../core/constants.js";
5
+ import { FheErrorCode } from "../core/errors/error-codes.js";
6
+ import { FheError } from "../core/errors/fhe-error.js";
7
+ // ============================================================================
8
+ // Key Pair Generation
9
+ // ============================================================================
10
+ /**
11
+ * Generates a new transport key pair using the KMS backend.
12
+ *
13
+ * This function initializes the KMS module and generates a new key pair.
14
+ * The generated keys are returned as hex strings with 0x prefix.
15
+ *
16
+ * @returns Promise resolving to TransportKeyPair containing private and public keys
17
+ * @throws Error if KMS initialization or key generation fails
18
+ */
19
+ export async function generateTransportKeyPair(sdk) {
20
+ // ============================================================================
21
+ // Step 1: Initialize KMS
22
+ // ============================================================================
23
+ logger.trace('[generateTransportKeyPair] Initializing KMS module');
24
+ await kms_init();
25
+ // ============================================================================
26
+ // Step 2: Generate Key Pair
27
+ // ============================================================================
28
+ logger.debug('[generateTransportKeyPair] Generating new key pair');
29
+ const [sk, pk] = kms_enc_keygen();
30
+ if (!sk || !pk) {
31
+ throw new FheError({ code: FheErrorCode.EncryptionFailed, message: "KMS key generation returned no keys" });
32
+ }
33
+ logger.debug('[generateTransportKeyPair] Key pair generated', {
34
+ skLength: sk.length,
35
+ pkLength: pk.length,
36
+ });
37
+ // ============================================================================
38
+ // Step 3: Convert to Hex
39
+ // ============================================================================
40
+ const privateKey = bytesToHex(sk);
41
+ const publicKey = bytesToHex(pk);
42
+ logger.debug('[generateTransportKeyPair] Key pair generated successfully', {
43
+ privateKeyLength: privateKey.length,
44
+ publicKeyLength: publicKey.length,
45
+ });
46
+ return {
47
+ privateKey: privateKey,
48
+ publicKey: publicKey,
49
+ };
50
+ }
51
+ // ============================================================================
52
+ // Key Pair Management with Caching
53
+ // ============================================================================
54
+ /**
55
+ * Gets an existing transport key pair from cache, or generates a new one.
56
+ *
57
+ * This function implements a caching strategy:
58
+ * 1. Checks if the key pair exists in cache and is still valid (TTL)
59
+ * 2. If expired or missing, generates a new key pair
60
+ * 3. Saves the new key pair to cache
61
+ * 4. Returns the key pair
62
+ *
63
+ * @param client - The Jazz client instance
64
+ * @param signerAddress - Address of the signer (used as cache key prefix)
65
+ * @returns Promise resolving to TransportKeyPair
66
+ * @throws Error if KMS initialization or key generation fails
67
+ */
68
+ export async function getOrCreateKeyPair(sdk, signerAddress) {
69
+ // Enter method
70
+ logger.debug('[getOrCreateKeyPair] Enter', {
71
+ signerAddress,
72
+ hasClient: !!sdk,
73
+ });
74
+ // ============================================================================
75
+ // Step 1: Build Cache Keys
76
+ // ============================================================================
77
+ const KEY_PAIR_PREFIX = signerAddress;
78
+ const KEY_PAIR_SK_PATH = `keypair:${KEY_PAIR_PREFIX}_sk`;
79
+ const KEY_PAIR_PK_PATH = `keypair:${KEY_PAIR_PREFIX}_pk`;
80
+ // Get TTL from config or use default
81
+ const KEY_PAIR_TTL_SECONDS = sdk.config.transportKeyPairTTL ??
82
+ DEFAULT_TRANSPORT_KEY_PAIR_TTL_SECONDS;
83
+ logger.debug('[getOrCreateKeyPair] Cache configuration', {
84
+ skPath: KEY_PAIR_SK_PATH,
85
+ pkPath: KEY_PAIR_PK_PATH,
86
+ ttlSeconds: KEY_PAIR_TTL_SECONDS,
87
+ });
88
+ // ============================================================================
89
+ // Step 2: Check Cache Expiration
90
+ // ============================================================================
91
+ const [shouldRefreshSk, shouldRefreshPk] = await Promise.all([
92
+ sdk.cacheManager.shouldRefresh(KEY_PAIR_SK_PATH, KEY_PAIR_TTL_SECONDS),
93
+ sdk.cacheManager.shouldRefresh(KEY_PAIR_PK_PATH, KEY_PAIR_TTL_SECONDS),
94
+ ]);
95
+ logger.debug('[getOrCreateKeyPair] Cache status', {
96
+ skExpired: shouldRefreshSk,
97
+ pkExpired: shouldRefreshPk,
98
+ needsRefresh: shouldRefreshSk || shouldRefreshPk,
99
+ });
100
+ // ============================================================================
101
+ // Step 3: Initialize KMS
102
+ // ============================================================================
103
+ // TODO: Move kms_init() inside the KMS API wrapper
104
+ logger.trace('[getOrCreateKeyPair] Initializing KMS module');
105
+ await kms_init();
106
+ // ============================================================================
107
+ // Step 4: Generate or Load Key Pair
108
+ // ============================================================================
109
+ let sk;
110
+ let pk;
111
+ const needsRefresh = shouldRefreshSk || shouldRefreshPk;
112
+ if (needsRefresh) {
113
+ logger.debug('[getOrCreateKeyPair] Generating new key pair', {
114
+ reason: shouldRefreshSk && shouldRefreshPk ? 'both expired' :
115
+ shouldRefreshSk ? 'private key expired' : 'public key expired',
116
+ });
117
+ // Generate new key pair
118
+ [sk, pk] = kms_enc_keygen();
119
+ if (!sk || !pk) {
120
+ throw new FheError({ code: FheErrorCode.EncryptionFailed, message: "KMS key generation returned no keys" });
121
+ }
122
+ logger.debug('[getOrCreateKeyPair] Key pair generated', {
123
+ skLength: sk.length,
124
+ pkLength: pk.length,
125
+ });
126
+ // Save to cache
127
+ await Promise.all([
128
+ sdk.cacheManager.save(KEY_PAIR_SK_PATH, sk),
129
+ sdk.cacheManager.save(KEY_PAIR_PK_PATH, pk),
130
+ ]);
131
+ logger.debug('[getOrCreateKeyPair] Key pair saved to cache', {
132
+ skPath: KEY_PAIR_SK_PATH,
133
+ pkPath: KEY_PAIR_PK_PATH,
134
+ });
135
+ }
136
+ else {
137
+ logger.debug('[getOrCreateKeyPair] Loading key pair from cache');
138
+ // Load from cache
139
+ [sk, pk] = await Promise.all([
140
+ sdk.cacheManager.load(KEY_PAIR_SK_PATH),
141
+ sdk.cacheManager.load(KEY_PAIR_PK_PATH),
142
+ ]);
143
+ if (!sk || !pk) {
144
+ logger.error('[getOrCreateKeyPair] Cache load failed', {
145
+ hasSk: !!sk,
146
+ hasPk: !!pk,
147
+ });
148
+ throw new FheError({ code: FheErrorCode.KeyPairNotFound, message: 'Failed to load key pair from cache' });
149
+ }
150
+ logger.debug('[getOrCreateKeyPair] Key pair loaded from cache', {
151
+ skLength: sk.length,
152
+ pkLength: pk.length,
153
+ });
154
+ }
155
+ // ============================================================================
156
+ // Step 5: Convert to Hex and Return
157
+ // ============================================================================
158
+ const privateKey = bytesToHex(sk);
159
+ const publicKey = bytesToHex(pk);
160
+ logger.debug('[getOrCreateKeyPair] Key pair ready', { signerAddress, fromCache: !needsRefresh });
161
+ return {
162
+ privateKey: privateKey,
163
+ publicKey: publicKey,
164
+ };
165
+ }
166
+ //# sourceMappingURL=key-pair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-pair.js","sourceRoot":"","sources":["../../src/jazz/key-pair.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { HandleLike } from "../../core/fhe-type.js";
2
+ import { BytesHex } from "../../core/primitives.js";
3
+ export declare function fakeAbiEncodeClearValues(ctHandles: HandleLike[]): BytesHex;
@@ -0,0 +1,23 @@
1
+ import { ethers } from "ethers";
2
+ import { getHandleAbiType } from "../../core/handle.js";
3
+ import { logger } from "../../core/logger.js";
4
+ export function fakeAbiEncodeClearValues(ctHandles) {
5
+ const clearTypes = [];
6
+ const clearTexts = [];
7
+ for (let i = 0; i < ctHandles.length; i++) {
8
+ const handle = ctHandles[i];
9
+ const abiType = getHandleAbiType(handle);
10
+ clearTypes.push(abiType);
11
+ if (abiType == "bool") {
12
+ clearTexts.push(1);
13
+ }
14
+ else {
15
+ clearTexts.push((i + 1) * 3);
16
+ }
17
+ }
18
+ const abiCoder = ethers.AbiCoder.defaultAbiCoder();
19
+ const abiEncodeClearValues = abiCoder.encode(clearTypes, clearTexts);
20
+ logger.debug('[fakeAbiEncodeClearValues] Encoded values', { abiEncodeClearValues });
21
+ return abiEncodeClearValues;
22
+ }
23
+ //# sourceMappingURL=fake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake.js","sourceRoot":"","sources":["../../../src/jazz/mock/fake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,UAAU,wBAAwB,CAAC,SAAuB;IAC9D,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;IACnD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAa,CAAC;IACjF,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEpF,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { IJazzClient } from "../jazz-client-i.js";
2
+ import { FetchInputProofParameters, FetchInputProofResult } from "../types/input-proof.js";
3
+ import { EncryptPayloadItem } from "../encrypt.js";
4
+ export declare function fetchInputProof(client: IJazzClient, parameters: FetchInputProofParameters, payloads: EncryptPayloadItem[]): Promise<FetchInputProofResult>;
@@ -0,0 +1,63 @@
1
+ import { ethers } from "ethers";
2
+ import { makeHandle } from "../../core/handle.js";
3
+ import { logger } from "../../core/logger.js";
4
+ const inputProofAbi = [
5
+ {
6
+ type: 'function',
7
+ name: 'inputProofMock',
8
+ inputs: [
9
+ {
10
+ name: 'ctHandles',
11
+ type: 'bytes32[]',
12
+ internalType: 'bytes32[]',
13
+ },
14
+ { name: 'userAddress', type: 'address', internalType: 'address' },
15
+ {
16
+ name: 'contractAddress',
17
+ type: 'address',
18
+ internalType: 'address',
19
+ },
20
+ { name: 'extraData', type: 'bytes', internalType: 'bytes' },
21
+ ],
22
+ outputs: [
23
+ { name: 'digest', type: 'bytes32', internalType: 'bytes32' },
24
+ { name: 'signers', type: 'address[]', internalType: 'address[]' },
25
+ { name: 'threshold', type: 'uint256', internalType: 'uint256' },
26
+ ],
27
+ stateMutability: 'view',
28
+ },
29
+ ];
30
+ export async function fetchInputProof(client, parameters, payloads) {
31
+ const { options, payload } = parameters;
32
+ const sysContractInfo = await client.sdk.getSystemContractInfo();
33
+ const chainId = payload.zkProof.chainId;
34
+ const extraData = "0x00";
35
+ const handles = [];
36
+ for (const item of payloads) {
37
+ const handle = makeHandle(Number(chainId), item.fheType);
38
+ handles.push(handle);
39
+ }
40
+ const provider = await client.sdk.requireProvider();
41
+ const contract = new ethers.Contract(sysContractInfo.ciphertextVerificationAddress, inputProofAbi, provider);
42
+ const res = await contract.inputProofMock(handles, payload.zkProof.userAddress, payload.zkProof.contractAddress, extraData);
43
+ logger.debug('[fetchInputProof] inputProofMock result', res);
44
+ const digest = res[0];
45
+ const alphatrionEip712Signatures = [];
46
+ {
47
+ const privateKey = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80";
48
+ const signingKey = new ethers.SigningKey(privateKey);
49
+ const signature = signingKey.sign(digest);
50
+ logger.debug('[fetchInputProof] Signature generated:', signature);
51
+ const compact = ethers.Signature.from(signature).serialized;
52
+ logger.debug('[fetchInputProof] Compact signature generated', compact);
53
+ alphatrionEip712Signatures.push(compact);
54
+ }
55
+ const result = {
56
+ handles,
57
+ alphatrionEip712Signatures,
58
+ extraData,
59
+ };
60
+ logger.debug('[fetchInputProof] Mock result built', { result });
61
+ return result;
62
+ }
63
+ //# sourceMappingURL=fetch-input-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-input-proof.js","sourceRoot":"","sources":["../../../src/jazz/mock/fetch-input-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { IJazzClient } from "../jazz-client-i.js";
2
+ import { FetchKeyUrlParameters, FetchKeyUrlResult } from "../types/key-url.js";
3
+ export declare function fetchKeyUrl(client: IJazzClient, parameters: FetchKeyUrlParameters): Promise<FetchKeyUrlResult>;
@@ -0,0 +1,15 @@
1
+ export async function fetchKeyUrl(client, parameters) {
2
+ const keyUrlResult = {
3
+ publicKeySource: {
4
+ id: "mock-pk-id",
5
+ url: "_pk_mcl_snark1.bin", // local file
6
+ },
7
+ crsSource: {
8
+ id: "mock-crs-id",
9
+ url: "_crs_mcl_snark1.bin", // local file
10
+ capacity: 2048,
11
+ },
12
+ };
13
+ return keyUrlResult;
14
+ }
15
+ //# sourceMappingURL=fetch-key-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-key-url.js","sourceRoot":"","sources":["../../../src/jazz/mock/fetch-key-url.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,UAAiC;IAGjC,MAAM,YAAY,GAAqB;QACrC,eAAe,EAAE;YACf,EAAE,EAAE,YAAY;YAChB,GAAG,EAAE,oBAAoB,EAAE,aAAa;SACzC;QACD,SAAS,EAAE;YACT,EAAE,EAAE,aAAa;YACjB,GAAG,EAAE,qBAAqB,EAAE,aAAa;YACzC,QAAQ,EAAE,IAAI;SACf;KACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IJazzClient } from "../jazz-client-i.js";
2
+ import { FetchPublicDecryptParameters, FetchPublicDecryptResult } from "../types/public-decrypt.js";
3
+ export declare function fetchPublicDecrypt(client: IJazzClient, parameters: FetchPublicDecryptParameters): Promise<FetchPublicDecryptResult>;
@@ -0,0 +1,81 @@
1
+ import { ethers } from "ethers";
2
+ import { fakeAbiEncodeClearValues } from "./fake.js";
3
+ import { logger } from "../../core/logger.js";
4
+ const publicDecryptAbi = [
5
+ {
6
+ "inputs": [
7
+ {
8
+ "internalType": "bytes32[]",
9
+ "name": "handles",
10
+ "type": "bytes32[]"
11
+ },
12
+ {
13
+ "internalType": "bytes",
14
+ "name": "decryptedResult",
15
+ "type": "bytes"
16
+ }
17
+ ],
18
+ "name": "publicDecryptMock",
19
+ "outputs": [
20
+ {
21
+ "internalType": "bytes32",
22
+ "name": "digest",
23
+ "type": "bytes32"
24
+ },
25
+ {
26
+ "internalType": "address[]",
27
+ "name": "signers",
28
+ "type": "address[]"
29
+ },
30
+ {
31
+ "internalType": "uint256",
32
+ "name": "threshold",
33
+ "type": "uint256"
34
+ },
35
+ {
36
+ "internalType": "bytes",
37
+ "name": "extraData",
38
+ "type": "bytes"
39
+ }
40
+ ],
41
+ "stateMutability": "view",
42
+ "type": "function"
43
+ }
44
+ ];
45
+ export async function fetchPublicDecrypt(client, parameters) {
46
+ const { options, payload } = parameters;
47
+ const sysContractInfo = await client.sdk.getSystemContractInfo();
48
+ const ctHandles = payload.orderedHandles;
49
+ const abiEncodeClearValues = fakeAbiEncodeClearValues([...ctHandles]);
50
+ const decryptedResult = abiEncodeClearValues;
51
+ // {
52
+ // logger.debug("Clear txt", clearTexts)
53
+ // logger.debug("Encoded:", encoded);
54
+ // const decoded = abiCoder.decode(clearTypes, encoded);
55
+ // logger.debug("Decoded:", decoded);
56
+ // }
57
+ const provider = await client.sdk.requireProvider();
58
+ const contract = new ethers.Contract(sysContractInfo.decryptionContractAddress, publicDecryptAbi, provider);
59
+ const res = await contract.publicDecryptMock(ctHandles, decryptedResult);
60
+ logger.debug('[fetchPublicDecrypt] publicDecryptMock result', { res });
61
+ const digest = res[0];
62
+ const signersAddress = res[1];
63
+ const kmsPublicDecryptEIP712Signatures = [];
64
+ {
65
+ const privateKey = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80";
66
+ const signingKey = new ethers.SigningKey(privateKey);
67
+ const signature = signingKey.sign(digest);
68
+ logger.debug('[fetchPublicDecrypt] Signature generated', signature);
69
+ const compact = ethers.Signature.from(signature).serialized;
70
+ logger.debug('[fetchPublicDecrypt] Compact signature generated', compact);
71
+ kmsPublicDecryptEIP712Signatures.push(compact);
72
+ }
73
+ const result = {
74
+ orderedAbiEncodedClearValues: decryptedResult,
75
+ kmsPublicDecryptEIP712Signatures,
76
+ extraData: res[3],
77
+ };
78
+ logger.debug('[fetchPublicDecrypt] Mock result built', { result });
79
+ return result;
80
+ }
81
+ //# sourceMappingURL=fetch-public-decrypt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-public-decrypt.js","sourceRoot":"","sources":["../../../src/jazz/mock/fetch-public-decrypt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,gBAAgB,GAAG;IACvB;QACE,QAAQ,EAAE;YACR;gBACE,cAAc,EAAE,WAAW;gBAC3B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,WAAW;aACpB;YACD;gBACE,cAAc,EAAE,OAAO;gBACvB,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,OAAO;aAChB;SACF;QACD,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE;YACT;gBACE,cAAc,EAAE,SAAS;gBACzB,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,SAAS;aAClB;YACD;gBACE,cAAc,EAAE,WAAW;gBAC3B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,WAAW;aACpB;YACD;gBACE,cAAc,EAAE,SAAS;gBACzB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,SAAS;aAClB;YACD;gBACE,cAAc,EAAE,OAAO;gBACvB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,OAAO;aAChB;SACF;QACD,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;CACO,CAAC;AAGX,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAmB,EACnB,UAAwC;IAExC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAExC,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEjE,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAEzC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,oBAAoB,CAAC;IAE7C,IAAI;IACJ,0CAA0C;IAC1C,uCAAuC;IACvC,0DAA0D;IAC1D,uCAAuC;IACvC,IAAI;IAEJ,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC5G,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAC1C,SAAS,EAAE,eAAe,CAC3B,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAe,CAAC;IACpC,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAuB,CAAC;IAEpD,MAAM,gCAAgC,GAAiB,EAAE,CAAC;IAC1D,CAAC;QACC,MAAM,UAAU,GAAG,oEAAoE,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,SAAS,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAC;QAC1E,gCAAgC,CAAC,IAAI,CAAC,OAAqB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG;QACb,4BAA4B,EAAE,eAAe;QAC7C,gCAAgC;QAChC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAa;KAC9B,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnE,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { IJazzClient } from "../jazz-client-i.js";
2
+ import { FetchUserDecryptParameters, FetchUserDecryptResult } from "../types/user-decrypt.js";
3
+ import { TransportKeyPair } from "../key-pair.js";
4
+ export declare function fetchUserDecrypt(client: IJazzClient, parameters: FetchUserDecryptParameters, keypair: TransportKeyPair): Promise<FetchUserDecryptResult>;