@reclaimprotocol/attestor-core 3.1.0 → 4.0.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 (88) hide show
  1. package/lib/avs/contracts/index.js +18 -8
  2. package/lib/avs/utils/tasks.d.ts +1 -1
  3. package/lib/client/create-claim.d.ts +2 -2
  4. package/lib/client/create-claim.js +89 -33
  5. package/lib/client/utils/client-socket.d.ts +3 -1
  6. package/lib/client/utils/client-socket.js +25 -8
  7. package/lib/config/index.d.ts +4 -0
  8. package/lib/config/index.js +8 -3
  9. package/lib/index.js +18 -8
  10. package/lib/proto/api.d.ts +80 -2
  11. package/lib/proto/api.js +853 -101
  12. package/lib/providers/http/index.js +221 -128
  13. package/lib/providers/http/utils.d.ts +3 -6
  14. package/lib/providers/http/utils.js +13 -11
  15. package/lib/providers/index.js +1 -3
  16. package/lib/scripts/generate-receipt.js +6 -3
  17. package/lib/scripts/generate-toprf-keys.d.ts +1 -0
  18. package/lib/scripts/generate-toprf-keys.js +23 -0
  19. package/lib/server/create-server.js +14 -7
  20. package/lib/server/handlers/claimTunnel.js +33 -10
  21. package/lib/server/handlers/createTunnel.js +44 -8
  22. package/lib/server/handlers/disconnectTunnel.js +2 -2
  23. package/lib/server/handlers/index.js +4 -2
  24. package/lib/server/handlers/init.js +17 -2
  25. package/lib/server/handlers/toprf.d.ts +2 -0
  26. package/lib/server/handlers/toprf.js +21 -0
  27. package/lib/server/socket.d.ts +5 -3
  28. package/lib/server/socket.js +25 -5
  29. package/lib/server/tunnels/make-tcp-tunnel.js +10 -24
  30. package/lib/server/utils/apm.js +1 -1
  31. package/lib/server/utils/assert-valid-claim-request.d.ts +2 -2
  32. package/lib/server/utils/assert-valid-claim-request.js +17 -9
  33. package/lib/server/utils/dns.d.ts +1 -0
  34. package/lib/server/utils/dns.js +22 -0
  35. package/lib/server/utils/generics.d.ts +1 -1
  36. package/lib/tests/describe-with-server.d.ts +0 -2
  37. package/lib/tests/describe-with-server.js +1 -4
  38. package/lib/tests/mock-provider-server.d.ts +1 -1
  39. package/lib/tests/test.auth.d.ts +1 -0
  40. package/lib/tests/test.auth.js +75 -0
  41. package/lib/tests/test.bgp-listener.d.ts +1 -0
  42. package/lib/tests/test.bgp-listener.js +169 -0
  43. package/lib/tests/test.claim-creation.js +100 -7
  44. package/lib/tests/test.http-parser.d.ts +1 -1
  45. package/lib/tests/test.http-parser.js +7 -5
  46. package/lib/tests/test.http-provider-utils.js +155 -30
  47. package/lib/tests/test.http-provider.js +50 -7
  48. package/lib/tests/test.zk.js +54 -4
  49. package/lib/tests/utils.d.ts +6 -0
  50. package/lib/tests/utils.js +16 -1
  51. package/lib/types/bgp.d.ts +11 -0
  52. package/lib/types/bgp.js +3 -0
  53. package/lib/types/claims.d.ts +14 -5
  54. package/lib/types/client.d.ts +30 -3
  55. package/lib/types/general.d.ts +12 -0
  56. package/lib/types/handlers.d.ts +4 -4
  57. package/lib/types/index.d.ts +1 -0
  58. package/lib/types/index.js +2 -1
  59. package/lib/types/providers.d.ts +9 -9
  60. package/lib/types/providers.gen.d.ts +12 -152
  61. package/lib/types/providers.gen.js +2 -6
  62. package/lib/types/zk.d.ts +11 -2
  63. package/lib/utils/auth.d.ts +7 -0
  64. package/lib/utils/auth.js +64 -0
  65. package/lib/utils/b64-json.d.ts +2 -0
  66. package/lib/utils/b64-json.js +23 -0
  67. package/lib/utils/bgp-listener.d.ts +7 -0
  68. package/lib/utils/bgp-listener.js +126 -0
  69. package/lib/utils/claims.js +3 -3
  70. package/lib/utils/generics.d.ts +5 -5
  71. package/lib/utils/generics.js +3 -3
  72. package/lib/utils/index.d.ts +2 -0
  73. package/lib/utils/index.js +3 -1
  74. package/lib/utils/redactions.d.ts +19 -6
  75. package/lib/utils/redactions.js +41 -4
  76. package/lib/utils/socket-base.d.ts +3 -2
  77. package/lib/utils/socket-base.js +7 -2
  78. package/lib/utils/ws.d.ts +5 -5
  79. package/lib/utils/ws.js +27 -10
  80. package/lib/utils/zk.d.ts +12 -7
  81. package/lib/utils/zk.js +197 -42
  82. package/lib/window-rpc/setup-window-rpc.js +29 -8
  83. package/lib/window-rpc/types.d.ts +16 -21
  84. package/lib/window-rpc/utils.d.ts +2 -1
  85. package/lib/window-rpc/utils.js +27 -1
  86. package/lib/window-rpc/window-rpc-zk.d.ts +8 -3
  87. package/lib/window-rpc/window-rpc-zk.js +58 -45
  88. package/package.json +24 -22
@@ -6,6 +6,7 @@ const create_claim_on_avs_1 = require("../avs/client/create-claim-on-avs");
6
6
  const client_1 = require("../client");
7
7
  const utils_1 = require("../providers/http/utils");
8
8
  const utils_2 = require("../utils");
9
+ const b64_json_1 = require("../utils/b64-json");
9
10
  const benchmark_1 = require("../utils/benchmark");
10
11
  const utils_3 = require("../window-rpc/utils");
11
12
  const window_rpc_zk_1 = require("../window-rpc/window-rpc-zk");
@@ -19,12 +20,13 @@ const VALID_MODULES = [
19
20
  'attestor-core',
20
21
  'witness-sdk'
21
22
  ];
22
- let logger = (0, utils_2.makeLogger)(true);
23
+ let logger = utils_2.logger;
23
24
  /**
24
25
  * Sets up the current window to listen for RPC requests
25
26
  * from React Native or other windows
26
27
  */
27
28
  function setupWindowRpc() {
29
+ logger = (0, utils_2.makeLogger)(true);
28
30
  window.addEventListener('message', handleMessage, false);
29
31
  const windowMsgs = new EventTarget();
30
32
  const defaultUrl = (0, utils_3.getWsApiUrlFromLocation)();
@@ -37,8 +39,9 @@ function setupWindowRpc() {
37
39
  return;
38
40
  }
39
41
  const req = (typeof event.data === 'string'
40
- ? JSON.parse(event.data)
42
+ ? JSON.parse(event.data, b64_json_1.B64_JSON_REVIVER)
41
43
  : event.data);
44
+ logger.debug({ req, origin: event.origin }, 'recv RPC message');
42
45
  // ignore any messages not for us
43
46
  if (!VALID_MODULES.includes(req.module)) {
44
47
  return;
@@ -63,7 +66,11 @@ function setupWindowRpc() {
63
66
  ? JSON.parse(req.request.context)
64
67
  : undefined,
65
68
  zkOperators: getZkOperators(req.request.zkOperatorMode, req.request.zkEngine),
66
- client: { url: defaultUrl },
69
+ oprfOperators: getOprfOperators(req.request.zkOperatorMode, req.request.zkEngine),
70
+ client: {
71
+ url: defaultUrl,
72
+ authRequest: req.request.authRequest
73
+ },
67
74
  logger,
68
75
  onStep(step) {
69
76
  sendMessage({
@@ -99,6 +106,7 @@ function setupWindowRpc() {
99
106
  ? JSON.parse(req.request.context)
100
107
  : undefined,
101
108
  zkOperators: getZkOperators(req.request.zkOperatorMode, req.request.zkEngine),
109
+ oprfOperators: getOprfOperators(req.request.zkOperatorMode, req.request.zkEngine),
102
110
  logger,
103
111
  onStep(step) {
104
112
  sendMessage({
@@ -167,9 +175,9 @@ function setupWindowRpc() {
167
175
  }
168
176
  });
169
177
  }
170
- function getZkOperators(zkOperatorMode = 'default', zkEngine = 'snarkjs') {
178
+ function getZkOperators(mode = 'default', zkEngine = 'snarkjs') {
171
179
  // use default snarkJS ops
172
- if (zkOperatorMode === 'default') {
180
+ if (mode === 'default') {
173
181
  return;
174
182
  }
175
183
  // the native app/window calling implements
@@ -180,6 +188,19 @@ function setupWindowRpc() {
180
188
  }
181
189
  return operators;
182
190
  }
191
+ function getOprfOperators(mode = 'default', zkEngine = 'snarkjs') {
192
+ // use default webview ops
193
+ if (mode === 'default') {
194
+ return;
195
+ }
196
+ // the native app/window calling implements
197
+ // a ZK operator & wants to use it
198
+ const operators = {};
199
+ for (const alg of window_rpc_zk_1.ALL_ENC_ALGORITHMS) {
200
+ operators[alg] = (0, window_rpc_zk_1.makeWindowRpcOprfOperator)(alg, makeCommunicationBridge(), zkEngine);
201
+ }
202
+ return operators;
203
+ }
183
204
  function makeCommunicationBridge() {
184
205
  return {
185
206
  send: sendMessage,
@@ -205,7 +226,7 @@ function setupWindowRpc() {
205
226
  }
206
227
  function sendMessage(data) {
207
228
  var _a;
208
- const str = JSON.stringify(data);
229
+ const str = JSON.stringify(data, b64_json_1.B64_JSON_REPLACER);
209
230
  if (channel) {
210
231
  (_a = window[channel]) === null || _a === void 0 ? void 0 : _a.postMessage(str);
211
232
  }
@@ -217,7 +238,7 @@ function setupWindowRpc() {
217
238
  const { req, res } = (0, utils_1.generateRequstAndResponseFromTranscript)(transcript, tlsVersion);
218
239
  const bridge = makeCommunicationBridge();
219
240
  const id = (0, utils_3.generateRpcRequestId)();
220
- const waitForRes = (0, window_rpc_zk_1.waitForResponse)('updateProviderParams', id, bridge);
241
+ const waitForRes = (0, utils_3.waitForResponse)('updateProviderParams', id, bridge);
221
242
  bridge.send({
222
243
  type: 'updateProviderParams',
223
244
  id,
@@ -236,4 +257,4 @@ function setupWindowRpc() {
236
257
  }
237
258
  }
238
259
  }
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtd2luZG93LXJwYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3NldHVwLXdpbmRvdy1ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE2QkEsd0NBaVJDO0FBOVNELDhDQUFzRDtBQUV0RCw0RUFBcUU7QUFDckUsdUNBQWtEO0FBQ2xELG9EQUE2SDtBQUU3SCxxQ0FBc0M7QUFDdEMsbURBQStDO0FBRS9DLGdEQUFxSTtBQUNySSxnRUFBMkc7QUFFM0csTUFBTSxjQUFlLFNBQVEsS0FBSztJQUNqQyxZQUE0QixJQUEwQjtRQUNyRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7UUFEVyxTQUFJLEdBQUosSUFBSSxDQUFzQjtJQUV0RCxDQUFDO0NBQ0Q7QUFFRCxNQUFNLGFBQWEsR0FBRztJQUNyQixlQUFlO0lBQ2YsYUFBYTtDQUNiLENBQUE7QUFFRCxJQUFJLE1BQU0sR0FBRyxJQUFBLGtCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUE7QUFFN0I7OztHQUdHO0FBQ0gsU0FBZ0IsY0FBYztJQUM3QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRXBDLE1BQU0sVUFBVSxHQUFHLElBQUEsK0JBQXVCLEdBQUUsQ0FBQTtJQUU1QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUUvQyxLQUFLLFVBQVUsYUFBYSxDQUFDLEtBQXdCO1FBQ3BELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNYLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUM7WUFDSixJQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQixPQUFNO1lBQ1AsQ0FBQztZQUVELE1BQU0sR0FBRyxH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
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtd2luZG93LXJwYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3NldHVwLXdpbmRvdy1ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4QkEsd0NBdVRDO0FBclZELDhDQUFzRDtBQUV0RCw0RUFBcUU7QUFDckUsdUNBQWtEO0FBQ2xELG9EQUE2SDtBQUU3SCxxQ0FBd0Q7QUFDeEQsaURBQXdFO0FBQ3hFLG1EQUErQztBQUUvQyxnREFBc0o7QUFDdEosZ0VBQXFIO0FBRXJILE1BQU0sY0FBZSxTQUFRLEtBQUs7SUFDakMsWUFBNEIsSUFBMEI7UUFDckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBc0I7SUFFdEQsQ0FBQztDQUNEO0FBRUQsTUFBTSxhQUFhLEdBQUc7SUFDckIsZUFBZTtJQUNmLGFBQWE7Q0FDYixDQUFBO0FBRUQsSUFBSSxNQUFNLEdBQUcsY0FBTSxDQUFBO0FBRW5COzs7R0FHRztBQUNILFNBQWdCLGNBQWM7SUFDN0IsTUFBTSxHQUFHLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUV6QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRXBDLE1BQU0sVUFBVSxHQUFHLElBQUEsK0JBQXVCLEdBQUUsQ0FBQTtJQUU1QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUUvQyxLQUFLLFVBQVUsYUFBYSxDQUFDLEtBQXdCO1FBQ3BELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNYLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUM7WUFDSixJQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFD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
@@ -1,6 +1,7 @@
1
- import type { EncryptionAlgorithm, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
1
+ import type { OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
2
2
  import type { TaskCompletedEventObject } from '../avs/contracts/ReclaimServiceManager';
3
3
  import type { CreateClaimOnAvsOpts, CreateClaimOnAvsStep } from '../avs/types';
4
+ import { AuthenticationRequest } from '../proto/api';
4
5
  import type { extractHTMLElement, extractJSONValueIndex } from '../providers/http/utils';
5
6
  import type { AttestorData, CompleteClaimData, CreateClaimOnAttestorOpts, LogLevel, ProofGenerationStep, ProviderName, ProviderParams, ProviderSecretParams } from '../types';
6
7
  import { HttpRequest, HttpResponse } from '../utils';
@@ -16,7 +17,7 @@ type IdentifiedMessage = {
16
17
  };
17
18
  type CreateClaimRPCBaseOpts = {
18
19
  /**
19
- * Specify the mode for the ZK operator,
20
+ * Specify the mode for the ZK & OPRF operator,
20
21
  * 'default' -> will use the default ZK operator included in the SDK
21
22
  * (presently that's SnarkJS supported by FFs running on WASM)
22
23
  * 'rpc' -> if you've access to a native ZK operator, you can use this mode
@@ -26,8 +27,9 @@ type CreateClaimRPCBaseOpts = {
26
27
  context?: string;
27
28
  zkEngine?: ZKEngine;
28
29
  updateProviderParams?: boolean;
30
+ authRequest?: AuthenticationRequest;
29
31
  };
30
- export type RPCCreateClaimOptions<N extends ProviderName = any> = Omit<CreateClaimOnAttestorOpts<N>, 'zkOperators' | 'context'> & CreateClaimRPCBaseOpts;
32
+ export type RPCCreateClaimOptions<N extends ProviderName = any> = Omit<CreateClaimOnAttestorOpts<N>, 'zkOperators' | 'context' | 'client'> & CreateClaimRPCBaseOpts;
31
33
  export type RPCCreateClaimOnAvsOptions<N extends ProviderName = any> = Omit<CreateClaimOnAvsOpts<N>, 'zkOperators' | 'context' | 'payer'> & {
32
34
  payer?: 'attestor';
33
35
  } & CreateClaimRPCBaseOpts;
@@ -40,13 +42,6 @@ type ExtractJSONValueIndexOptions = {
40
42
  json: string;
41
43
  jsonPath: string;
42
44
  };
43
- type ZKProveOpts = {
44
- algorithm: EncryptionAlgorithm;
45
- input: {
46
- /** Base64 encoded attestor */
47
- witnessB64: string;
48
- };
49
- };
50
45
  type UpdateProviderParamsOpts = {
51
46
  request: Omit<HttpRequest, 'body'> & {
52
47
  body: string | undefined;
@@ -55,13 +50,6 @@ type UpdateProviderParamsOpts = {
55
50
  body: string | undefined;
56
51
  };
57
52
  };
58
- type ZKVerifyOpts = {
59
- algorithm: EncryptionAlgorithm;
60
- publicSignals: number[];
61
- proof: {
62
- [key: string]: unknown;
63
- } | string;
64
- };
65
53
  type LogLevelOptions = {
66
54
  logLevel: LogLevel;
67
55
  /**
@@ -116,12 +104,19 @@ export type WindowRPCClient = {
116
104
  setLogLevel(options: LogLevelOptions): Promise<void>;
117
105
  benchmarkZK(): Promise<string>;
118
106
  };
107
+ type AsFunction<K> = K extends (...args: any[]) => any ? K : never;
108
+ type FunctionalOperator<T, K extends keyof T> = {
109
+ fn: K;
110
+ args: Parameters<AsFunction<T[K]>>;
111
+ };
112
+ export type ExecuteZKOpts<T extends keyof ZKOperator = keyof ZKOperator> = FunctionalOperator<ZKOperator, T>;
113
+ export type ExecuteOPRFOpts<T extends keyof OPRFOperator = keyof OPRFOperator> = FunctionalOperator<OPRFOperator, T>;
119
114
  /**
120
115
  * Fns the attestor calls on the app
121
116
  */
122
117
  export type WindowRPCAppClient = {
123
- zkProve(opts: ZKProveOpts): ReturnType<ZKOperator['groth16Prove']>;
124
- zkVerify(opts: ZKVerifyOpts): ReturnType<ZKOperator['groth16Verify']>;
118
+ executeZkFunctionV3(opts: ExecuteZKOpts): Promise<any>;
119
+ executeOprfFunctionV3(opts: ExecuteOPRFOpts): Promise<any>;
125
120
  updateProviderParams(opts: UpdateProviderParamsOpts): Promise<{
126
121
  params: Partial<ProviderParams<'http'>>;
127
122
  secretParams: Partial<ProviderSecretParams<'http'>>;
@@ -151,12 +146,12 @@ type AsResponse<T> = T & {
151
146
  /**
152
147
  * Data sent to the attestor from the window/application
153
148
  */
154
- export type WindowRPCIncomingMsg = (WindowRPCRequest<WindowRPCClient, 'createClaim'> | WindowRPCRequest<WindowRPCClient, 'createClaimOnAvs'> | WindowRPCRequest<WindowRPCClient, 'extractHtmlElement'> | WindowRPCRequest<WindowRPCClient, 'extractJSONValueIndex'> | WindowRPCRequest<WindowRPCClient, 'getCurrentMemoryUsage'> | WindowRPCRequest<WindowRPCClient, 'setLogLevel'> | WindowRPCRequest<WindowRPCClient, 'benchmarkZK'> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'zkProve'>> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'zkVerify'>> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'updateProviderParams'>> | AsResponse<WindowRPCErrorResponse>) & IdentifiedMessage;
149
+ export type WindowRPCIncomingMsg = (WindowRPCRequest<WindowRPCClient, 'createClaim'> | WindowRPCRequest<WindowRPCClient, 'createClaimOnAvs'> | WindowRPCRequest<WindowRPCClient, 'extractHtmlElement'> | WindowRPCRequest<WindowRPCClient, 'extractJSONValueIndex'> | WindowRPCRequest<WindowRPCClient, 'getCurrentMemoryUsage'> | WindowRPCRequest<WindowRPCClient, 'setLogLevel'> | WindowRPCRequest<WindowRPCClient, 'benchmarkZK'> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'executeZkFunctionV3'>> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'executeOprfFunctionV3'>> | AsResponse<WindowRPCResponse<WindowRPCAppClient, 'updateProviderParams'>> | AsResponse<WindowRPCErrorResponse>) & IdentifiedMessage;
155
150
  /**
156
151
  * Data sent back from the attestor to
157
152
  * the window/application containing the attestor
158
153
  */
159
- export type WindowRPCOutgoingMsg = (AsResponse<WindowRPCResponse<WindowRPCClient, 'createClaim'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'createClaimOnAvs'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'extractHtmlElement'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'extractJSONValueIndex'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'getCurrentMemoryUsage'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'setLogLevel'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'benchmarkZK'>> | WindowRPCRequest<WindowRPCAppClient, 'zkProve'> | WindowRPCRequest<WindowRPCAppClient, 'zkVerify'> | WindowRPCRequest<WindowRPCAppClient, 'updateProviderParams'> | ({
154
+ export type WindowRPCOutgoingMsg = (AsResponse<WindowRPCResponse<WindowRPCClient, 'createClaim'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'createClaimOnAvs'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'extractHtmlElement'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'extractJSONValueIndex'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'getCurrentMemoryUsage'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'setLogLevel'>> | AsResponse<WindowRPCResponse<WindowRPCClient, 'benchmarkZK'>> | WindowRPCRequest<WindowRPCAppClient, 'executeZkFunctionV3'> | WindowRPCRequest<WindowRPCAppClient, 'executeOprfFunctionV3'> | WindowRPCRequest<WindowRPCAppClient, 'updateProviderParams'> | ({
160
155
  type: 'createClaimStep';
161
156
  step: {
162
157
  name: 'attestor-progress' | 'witness-progress';
@@ -1,5 +1,5 @@
1
1
  import { ClaimTunnelResponse } from '../proto/api';
2
- import { CreateClaimResponse } from '../window-rpc/types';
2
+ import { CommunicationBridge, CreateClaimResponse, WindowRPCAppClient } from '../window-rpc/types';
3
3
  export declare function getCurrentMemoryUsage(): Promise<{
4
4
  available: boolean;
5
5
  content: string;
@@ -11,3 +11,4 @@ export declare function generateRpcRequestId(): string;
11
11
  */
12
12
  export declare function getWsApiUrlFromLocation(): string;
13
13
  export declare function mapToCreateClaimResponse(res: ClaimTunnelResponse): CreateClaimResponse;
14
+ export declare function waitForResponse<T extends keyof WindowRPCAppClient>(type: T, requestId: string, bridge: CommunicationBridge, timeoutMs?: number): Promise<Awaited<ReturnType<WindowRPCAppClient[T]>>>;
@@ -4,6 +4,7 @@ exports.getCurrentMemoryUsage = getCurrentMemoryUsage;
4
4
  exports.generateRpcRequestId = generateRpcRequestId;
5
5
  exports.getWsApiUrlFromLocation = getWsApiUrlFromLocation;
6
6
  exports.mapToCreateClaimResponse = mapToCreateClaimResponse;
7
+ exports.waitForResponse = waitForResponse;
7
8
  const ethers_1 = require("ethers");
8
9
  const config_1 = require("../config");
9
10
  const utils_1 = require("../utils");
@@ -73,4 +74,29 @@ function mapToCreateClaimResponse(res) {
73
74
  ]
74
75
  };
75
76
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2luZG93LXJwYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLHNEQStCQztBQUVELG9EQUVDO0FBTUQsMERBSUM7QUFFRCw0REFzQkM7QUE1RUQsbUNBQStCO0FBQy9CLHVDQUF3QztBQUV4QyxxQ0FBcUU7QUFHckUscUJBQXFCO0FBQ2QsS0FBSyxVQUFVLHFCQUFxQjtJQUMxQyxJQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDaEMsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxzQ0FBc0M7U0FDL0MsQ0FBQTtJQUNGLENBQUM7U0FBTSxJQUFHLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDdkQsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxxRUFBcUU7U0FDOUUsQ0FBQTtJQUNGLENBQUM7U0FBTSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsOEJBQThCLEVBQUUsQ0FBQTtZQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFBO1lBRXRELE9BQU87Z0JBQ04sU0FBUyxFQUFFLElBQUk7Z0JBQ2YsT0FBTyxFQUFFLEdBQUcsT0FBTyxJQUFJO2FBQ3ZCLENBQUE7UUFDRixDQUFDO1FBQUMsT0FBTSxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUcsS0FBSyxZQUFZLFlBQVksSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO2dCQUNwRSxPQUFPO29CQUNOLFNBQVMsRUFBRSxLQUFLO29CQUNoQixPQUFPLEVBQUUsUUFBUSxLQUFLLENBQUMsT0FBTyxHQUFHO2lCQUNqQyxDQUFBO1lBQ0YsQ0FBQztZQUVELE1BQU0sS0FBSyxDQUFBO1FBQ1osQ0FBQztJQUNGLENBQUM7QUFDRixDQUFDO0FBRUQsU0FBZ0Isb0JBQW9CO0lBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDM0MsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHVCQUF1QjtJQUN0QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLFFBQVEsQ0FBQTtJQUNuQyxNQUFNLFVBQVUsR0FBRyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUN6RCxPQUFPLEdBQUcsVUFBVSxLQUFLLElBQUksR0FBRyxvQkFBVyxFQUFFLENBQUE7QUFDOUMsQ0FBQztBQUVELFNBQWdCLHdCQUF3QixDQUN2QyxHQUF3QjtJQUV4QixJQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxxQkFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELE9BQU87UUFDTixVQUFVLEVBQUUsSUFBQSxrQ0FBMEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ2pELFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSztRQUNwQixTQUFTLEVBQUU7WUFDVjtnQkFDQyxFQUFFLEVBQUUsR0FBRyxDQUFDLFVBQVcsQ0FBQyxlQUFlO2dCQUNuQyxHQUFHLEVBQUUsdUJBQXVCLEVBQUU7YUFDOUI7U0FDRDtRQUNELFVBQVUsRUFBRTtZQUNYLGVBQU0sQ0FBQyxLQUFLO2lCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVyxDQUFDLGNBQWMsQ0FBQztpQkFDdkMsV0FBVyxFQUFFO1NBQ2Y7S0FDRCxDQUFBO0FBQ0YsQ0FBQyJ9
77
+ function waitForResponse(type, requestId, bridge, timeoutMs = 60000) {
78
+ const returnType = `${type}Done`;
79
+ return new Promise((resolve, reject) => {
80
+ const timeout = setTimeout(() => {
81
+ reject(new utils_1.AttestorError('ERROR_INTERNAL', `Timeout waiting for response: ${type}`, { requestId }));
82
+ cancel();
83
+ }, timeoutMs);
84
+ const cancel = bridge.onMessage(msg => {
85
+ if (msg.id !== requestId) {
86
+ return;
87
+ }
88
+ if (msg.type === 'error') {
89
+ reject(new Error(msg.data.message));
90
+ }
91
+ else if (msg.type === returnType) {
92
+ resolve(msg.response);
93
+ }
94
+ else {
95
+ return;
96
+ }
97
+ clearTimeout(timeout);
98
+ cancel();
99
+ });
100
+ });
101
+ }
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2luZG93LXJwYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLHNEQStCQztBQUVELG9EQUVDO0FBTUQsMERBSUM7QUFFRCw0REFzQkM7QUFFRCwwQ0FxQ0M7QUFuSEQsbUNBQStCO0FBQy9CLHVDQUF3QztBQUV4QyxxQ0FBcUU7QUFHckUscUJBQXFCO0FBQ2QsS0FBSyxVQUFVLHFCQUFxQjtJQUMxQyxJQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDaEMsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxzQ0FBc0M7U0FDL0MsQ0FBQTtJQUNGLENBQUM7U0FBTSxJQUFHLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDdkQsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxxRUFBcUU7U0FDOUUsQ0FBQTtJQUNGLENBQUM7U0FBTSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsOEJBQThCLEVBQUUsQ0FBQTtZQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFBO1lBRXRELE9BQU87Z0JBQ04sU0FBUyxFQUFFLElBQUk7Z0JBQ2YsT0FBTyxFQUFFLEdBQUcsT0FBTyxJQUFJO2FBQ3ZCLENBQUE7UUFDRixDQUFDO1FBQUMsT0FBTSxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUcsS0FBSyxZQUFZLFlBQVksSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO2dCQUNwRSxPQUFPO29CQUNOLFNBQVMsRUFBRSxLQUFLO29CQUNoQixPQUFPLEVBQUUsUUFBUSxLQUFLLENBQUMsT0FBTyxHQUFHO2lCQUNq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
@@ -1,5 +1,5 @@
1
- import { EncryptionAlgorithm, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
2
- import { CommunicationBridge, WindowRPCAppClient } from '../window-rpc/types';
1
+ import { EncryptionAlgorithm, OPRFOperator, ZKEngine, ZKOperator } from '@reclaimprotocol/zk-symmetric-crypto';
2
+ import { CommunicationBridge } from '../window-rpc/types';
3
3
  export declare const ALL_ENC_ALGORITHMS: EncryptionAlgorithm[];
4
4
  /**
5
5
  * The goal of this RPC operator is if the attestor client
@@ -7,4 +7,9 @@ export declare const ALL_ENC_ALGORITHMS: EncryptionAlgorithm[];
7
7
  * application to perform the ZK operations
8
8
  */
9
9
  export declare function makeWindowRpcZkOperator(algorithm: EncryptionAlgorithm, bridge: CommunicationBridge, zkEngine?: ZKEngine): ZKOperator;
10
- export declare function waitForResponse<T extends keyof WindowRPCAppClient>(type: T, requestId: string, bridge: CommunicationBridge): Promise<Awaited<ReturnType<WindowRPCAppClient[T]>>>;
10
+ /**
11
+ * The goal of this RPC operator is if the attestor client
12
+ * is running in a WebView, it can call the native
13
+ * application to perform the OPRF operations
14
+ */
15
+ export declare function makeWindowRpcOprfOperator(algorithm: EncryptionAlgorithm, bridge: CommunicationBridge, zkEngine?: ZKEngine): OPRFOperator;
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ALL_ENC_ALGORITHMS = void 0;
4
4
  exports.makeWindowRpcZkOperator = makeWindowRpcZkOperator;
5
- exports.waitForResponse = waitForResponse;
6
- const utils_1 = require("ethers/lib/utils");
7
- const utils_2 = require("../utils");
8
- const utils_3 = require("../window-rpc/utils");
5
+ exports.makeWindowRpcOprfOperator = makeWindowRpcOprfOperator;
6
+ const utils_1 = require("../utils");
7
+ const utils_2 = require("../window-rpc/utils");
9
8
  exports.ALL_ENC_ALGORITHMS = [
10
9
  'aes-256-ctr',
11
10
  'aes-128-ctr',
@@ -19,54 +18,68 @@ exports.ALL_ENC_ALGORITHMS = [
19
18
  function makeWindowRpcZkOperator(algorithm, bridge, zkEngine = 'snarkjs') {
20
19
  return {
21
20
  async generateWitness(input) {
22
- const operator = await (0, utils_2.makeDefaultZkOperator)(algorithm, zkEngine, utils_2.logger);
21
+ const operator = await (0, utils_1.makeDefaultZkOperator)(algorithm, zkEngine, utils_1.logger);
23
22
  return operator.generateWitness(input);
24
23
  },
25
24
  groth16Prove(input) {
26
- const id = (0, utils_3.generateRpcRequestId)();
27
- const waitForRes = waitForResponse('zkProve', id, bridge);
28
- bridge.send({
29
- type: 'zkProve',
30
- id,
31
- request: {
32
- algorithm,
33
- input: { witnessB64: utils_1.base64.encode(input) },
34
- },
35
- module: 'attestor-core'
36
- });
37
- return waitForRes;
25
+ return callFn({ fn: 'groth16Prove', args: [input] });
38
26
  },
39
27
  groth16Verify(publicSignals, proof) {
40
- const id = (0, utils_3.generateRpcRequestId)();
41
- const waitForRes = waitForResponse('zkVerify', id, bridge);
42
- bridge.send({
43
- type: 'zkVerify',
44
- id,
45
- request: {
46
- algorithm,
47
- publicSignals,
48
- proof,
49
- },
50
- module: 'attestor-core'
51
- });
52
- return waitForRes;
28
+ return callFn({ fn: 'groth16Verify', args: [publicSignals, proof] });
53
29
  },
54
30
  };
31
+ function callFn(opts) {
32
+ const id = (0, utils_2.generateRpcRequestId)();
33
+ const waitForRes = (0, utils_2.waitForResponse)('executeZkFunctionV3', id, bridge);
34
+ bridge.send({
35
+ type: 'executeZkFunctionV3',
36
+ id,
37
+ request: opts,
38
+ module: 'attestor-core'
39
+ });
40
+ return waitForRes;
41
+ }
55
42
  }
56
- function waitForResponse(type, requestId, bridge) {
57
- const returnType = `${type}Done`;
58
- return new Promise((resolve, reject) => {
59
- const cancel = bridge.onMessage(msg => {
60
- if (msg.id === requestId) {
61
- if (msg.type === 'error') {
62
- reject(new Error(msg.data.message));
63
- }
64
- else if (msg.type === returnType) {
65
- resolve(msg.response);
66
- }
67
- cancel();
68
- }
43
+ /**
44
+ * The goal of this RPC operator is if the attestor client
45
+ * is running in a WebView, it can call the native
46
+ * application to perform the OPRF operations
47
+ */
48
+ function makeWindowRpcOprfOperator(algorithm, bridge, zkEngine = 'snarkjs') {
49
+ return {
50
+ async generateWitness(input) {
51
+ const operator = await (0, utils_1.makeDefaultZkOperator)(algorithm, zkEngine, utils_1.logger);
52
+ return operator.generateWitness(input);
53
+ },
54
+ groth16Prove(input) {
55
+ return callFn({ fn: 'groth16Prove', args: [input] });
56
+ },
57
+ groth16Verify(publicSignals, proof) {
58
+ return callFn({ fn: 'groth16Verify', args: [publicSignals, proof] });
59
+ },
60
+ generateThresholdKeys(total, threshold) {
61
+ return callFn({ fn: 'generateThresholdKeys', args: [total, threshold] });
62
+ },
63
+ generateOPRFRequestData(data, domainSeparator) {
64
+ return callFn({ fn: 'generateOPRFRequestData', args: [data, domainSeparator] });
65
+ },
66
+ finaliseOPRF(serverPublicKey, request, responses) {
67
+ return callFn({ fn: 'finaliseOPRF', args: [serverPublicKey, request, responses] });
68
+ },
69
+ evaluateOPRF(serverPrivateKey, request) {
70
+ return callFn({ fn: 'evaluateOPRF', args: [serverPrivateKey, request] });
71
+ },
72
+ };
73
+ function callFn(opts) {
74
+ const id = (0, utils_2.generateRpcRequestId)();
75
+ const waitForRes = (0, utils_2.waitForResponse)('executeOprfFunctionV3', id, bridge);
76
+ bridge.send({
77
+ type: 'executeOprfFunctionV3',
78
+ id,
79
+ request: opts,
80
+ module: 'attestor-core'
69
81
  });
70
- });
82
+ return waitForRes;
83
+ }
71
84
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXJwYy16ay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3dpbmRvdy1ycGMtemsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaUJBLDBEQThDQztBQUVELDBDQW9CQztBQXBGRCw0Q0FBeUM7QUFDekMscUNBQXlEO0FBRXpELGdEQUEyRDtBQUU5QyxRQUFBLGtCQUFrQixHQUEwQjtJQUN4RCxhQUFhO0lBQ2IsYUFBYTtJQUNiLFVBQVU7Q0FDVixDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLHVCQUF1QixDQUN0QyxTQUE4QixFQUM5QixNQUEyQixFQUMzQixXQUFxQixTQUFTO0lBRTlCLE9BQU87UUFDTixLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDMUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDZCQUFxQixFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBTSxDQUFDLENBQUE7WUFDekUsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFDRCxZQUFZLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFBLDRCQUFvQixHQUFFLENBQUE7WUFDakMsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFFekQsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDWCxJQUFJLEVBQUUsU0FBUztnQkFDZixFQUFFO2dCQUNGLE9BQU8sRUFBRTtvQkFDUixTQUFTO29CQUNULEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO2lCQUMzQztnQkFDRCxNQUFNLEVBQUUsZUFBZTthQUN2QixDQUFDLENBQUE7WUFFRixPQUFPLFVBQVUsQ0FBQTtRQUNsQixDQUFDO1FBQ0QsYUFBYSxDQUFDLGFBQWEsRUFBRSxLQUFLO1lBQ2pDLE1BQU0sRUFBRSxHQUFHLElBQUEsNEJBQW9CLEdBQUUsQ0FBQTtZQUNqQyxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUUxRCxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNYLElBQUksRUFBRSxVQUFVO2dCQUNoQixFQUFFO2dCQUNGLE9BQU8sRUFBRTtvQkFDUixTQUFTO29CQUNULGFBQWE7b0JBQ2IsS0FBSztpQkFDTDtnQkFDRCxNQUFNLEVBQUUsZUFBZTthQUN2QixDQUFDLENBQUE7WUFFRixPQUFPLFVBQVUsQ0FBQTtRQUNsQixDQUFDO0tBQ0QsQ0FBQTtBQUdGLENBQUM7QUFFRCxTQUFnQixlQUFlLENBQzlCLElBQU8sRUFDUCxTQUFpQixFQUNqQixNQUEyQjtJQUczQixNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksTUFBZSxDQUFBO0lBQ3pDLE9BQU8sSUFBSSxPQUFPLENBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyQyxJQUFHLEdBQUcsQ0FBQyxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3pCLElBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDekIsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtnQkFDcEMsQ0FBQztxQkFBTSxJQUFHLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBYSxDQUFDLENBQUE7Z0JBQzNCLENBQUM7Z0JBRUQsTUFBTSxFQUFFLENBQUE7WUFDVCxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNILENBQUMifQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXJwYy16ay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3dpbmRvdy1ycGMtemsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0JBLDBEQWlDQztBQVFELDhEQTZDQztBQXJHRCxxQ0FBeUQ7QUFFekQsZ0RBQTRFO0FBRS9ELFFBQUEsa0JBQWtCLEdBQTBCO0lBQ3hELGFBQWE7SUFDYixhQUFhO0lBQ2IsVUFBVTtDQUNWLENBQUE7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3RDLFNBQThCLEVBQzlCLE1BQTJCLEVBQzNCLFdBQXFCLFNBQVM7SUFFOUIsT0FBTztRQUNOLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSztZQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsNkJBQXFCLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFNLENBQUMsQ0FBQTtZQUN6RSxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUNELFlBQVksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDckQsQ0FBQztRQUNELGFBQWEsQ0FBQyxhQUFhLEVBQUUsS0FBSztZQUNqQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxDQUFDO0tBQ0QsQ0FBQTtJQUVELFNBQVMsTUFBTSxDQUFDLElBQW1CO1FBQ2xDLE1BQU0sRUFBRSxHQUFHLElBQUEsNEJBQW9CLEdBQUUsQ0FBQTtRQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFBLHVCQUFlLEVBQ2pDLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxNQUFNLENBQ2pD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reclaimprotocol/attestor-core",
3
- "version": "3.1.0",
3
+ "version": "4.0.0",
4
4
  "description": "",
5
5
  "main": "lib/index",
6
6
  "scripts": {
@@ -29,7 +29,8 @@
29
29
  "generate:avs": "typechain -- --target ethers-v5 --out-dir src/avs/contracts avs/contracts/out/ReclaimServiceManager.sol/*.json",
30
30
  "start:chain": "bash ./avs/utils/anvil/start-anvil-chain-with-el-and-avs-deployed.sh",
31
31
  "commitlint": "commitlint --edit",
32
- "download:zk-files": "node node_modules/@reclaimprotocol/zk-symmetric-crypto/lib/scripts/download-files"
32
+ "download:zk-files": "node node_modules/@reclaimprotocol/zk-symmetric-crypto/lib/scripts/download-files",
33
+ "generate:toprf-keys": "npm run run:tsc -- src/scripts/generate-toprf-keys.ts"
33
34
  },
34
35
  "files": [
35
36
  "lib/*"
@@ -61,54 +62,55 @@
61
62
  "author": "Adhiraj Singh",
62
63
  "license": "AGPL-3.0-only",
63
64
  "dependencies": {
64
- "@bufbuild/protobuf": "^2.2.0",
65
+ "@bufbuild/protobuf": "^2.2.2",
65
66
  "@commitlint/cli": "^17.8.1",
66
67
  "@commitlint/config-conventional": "^17.8.1",
67
- "@reclaimprotocol/zk-symmetric-crypto": "^2.0.0",
68
68
  "@reclaimprotocol/tls": "github:reclaimprotocol/tls",
69
+ "@reclaimprotocol/zk-symmetric-crypto": "^3.0.2",
69
70
  "ajv": "^8.17.1",
70
71
  "canonicalize": "^2.0.0",
71
- "dotenv": "^16.4.5",
72
- "elastic-apm-node": "^4.8.0",
72
+ "dotenv": "^16.4.6",
73
+ "elastic-apm-node": "^4.8.1",
73
74
  "esprima-next": "^5.8.4",
74
75
  "ethers": "^5.7.2",
75
76
  "https-proxy-agent": "^7.0.5",
77
+ "ip-cidr": "^3.0.0",
76
78
  "jsdom": "^24.1.3",
77
- "jsonpath-plus": "^10.0.0",
79
+ "jsonpath-plus": "^10.2.0",
78
80
  "p-queue": "^8.0.1",
79
- "pino": "^9.4.0",
81
+ "pino": "^9.5.0",
80
82
  "protobufjs": "^7.4.0",
81
83
  "re2": "^1.21.4",
82
84
  "serve-static": "^1.16.2",
83
- "snarkjs": "^0.7.4",
85
+ "snarkjs": "^0.7.5",
84
86
  "ws": "^8.18.0"
85
87
  },
86
88
  "devDependencies": {
87
89
  "@adiwajshing/eslint-config": "github:adiwajshing/eslint-config",
88
90
  "@swc-node/register": "^1.10.9",
89
- "@swc/core": "^1.7.35",
90
- "@swc/jest": "^0.2.36",
91
+ "@swc/core": "^1.9.3",
92
+ "@swc/jest": "^0.2.37",
91
93
  "@typechain/ethers-v5": "^11.1.2",
92
94
  "@types/chance": "^1.1.6",
93
- "@types/jest": "^29.5.13",
95
+ "@types/jest": "^29.5.14",
94
96
  "@types/jsdom": "^21.1.7",
95
- "@types/node": "^20.16.11",
97
+ "@types/node": "^20.17.9",
96
98
  "@types/serve-static": "^1.15.7",
97
- "@types/ws": "^8.5.12",
99
+ "@types/ws": "^8.5.13",
98
100
  "chance": "^1.1.12",
99
101
  "eslint": "^8.57.1",
100
102
  "eslint-plugin-no-relative-import-paths": "^1.5.5",
101
103
  "jest": "^29.7.0",
102
- "json-schema-to-typescript": "^15.0.2",
104
+ "json-schema-to-typescript": "^15.0.3",
103
105
  "ts-loader": "^9.5.1",
104
- "ts-proto": "^2.2.3",
106
+ "ts-proto": "^2.5.0",
105
107
  "tsc-alias": "^1.8.10",
106
- "tsconfig-paths-webpack-plugin": "^4.1.0",
108
+ "tsconfig-paths-webpack-plugin": "^4.2.0",
107
109
  "typechain": "^8.3.2",
108
- "typescript": "^5.6.3",
109
- "webpack": "^5.95.0",
110
+ "typescript": "^5.7.2",
111
+ "webpack": "^5.97.0",
110
112
  "webpack-cli": "^5.1.4",
111
- "yaml": "^2.6.0"
113
+ "yaml": "^2.6.1"
112
114
  },
113
115
  "overrides": {
114
116
  "@ethersproject/providers": {
@@ -117,6 +119,6 @@
117
119
  "elliptic": "^v6.5.7"
118
120
  },
119
121
  "optionalDependencies": {
120
- "koffi": "^2.9.1"
122
+ "koffi": "^2.9.2"
121
123
  }
122
- }
124
+ }