@reclaimprotocol/attestor-core 4.0.0 → 4.0.2

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 (73) hide show
  1. package/lib/avs/tests/test.operator.js +4 -4
  2. package/lib/client/create-claim.js +28 -14
  3. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +3 -3
  4. package/lib/client/tunnels/make-rpc-tls-tunnel.js +3 -3
  5. package/lib/client/utils/client-socket.d.ts +2 -2
  6. package/lib/client/utils/client-socket.js +14 -8
  7. package/lib/client/utils/message-handler.js +5 -4
  8. package/lib/config/index.d.ts +6 -2
  9. package/lib/config/index.js +6 -4
  10. package/lib/index.d.ts +1 -0
  11. package/lib/index.js +2 -1
  12. package/lib/mechain/abis/governanceABI.d.ts +50 -0
  13. package/lib/mechain/abis/governanceABI.js +462 -0
  14. package/lib/mechain/abis/taskABI.d.ts +157 -0
  15. package/lib/mechain/abis/taskABI.js +513 -0
  16. package/lib/mechain/client/create-claim-on-mechain.d.ts +10 -0
  17. package/lib/mechain/client/create-claim-on-mechain.js +32 -0
  18. package/lib/mechain/client/index.d.ts +1 -0
  19. package/lib/mechain/client/index.js +18 -0
  20. package/lib/mechain/constants/index.d.ts +3 -0
  21. package/lib/mechain/constants/index.js +7 -0
  22. package/lib/mechain/index.d.ts +2 -0
  23. package/lib/mechain/index.js +19 -0
  24. package/lib/mechain/types/index.d.ts +23 -0
  25. package/lib/mechain/types/index.js +3 -0
  26. package/lib/proto/api.d.ts +16 -0
  27. package/lib/proto/api.js +194 -2
  28. package/lib/providers/http/index.js +45 -12
  29. package/lib/scripts/check-avs-registration.js +2 -2
  30. package/lib/scripts/generate-provider-types.js +2 -2
  31. package/lib/scripts/generate-toprf-keys.js +2 -2
  32. package/lib/scripts/register-avs-operator.js +2 -2
  33. package/lib/scripts/start-server.js +10 -3
  34. package/lib/scripts/update-avs-metadata.js +2 -2
  35. package/lib/scripts/verify-root-ca.js +2 -2
  36. package/lib/scripts/whitelist-operator.js +2 -2
  37. package/lib/server/handlers/claimTunnel.js +2 -2
  38. package/lib/server/handlers/createTaskOnMechain.d.ts +2 -0
  39. package/lib/server/handlers/createTaskOnMechain.js +52 -0
  40. package/lib/server/handlers/createTunnel.js +3 -3
  41. package/lib/server/handlers/index.js +3 -1
  42. package/lib/server/socket.js +11 -12
  43. package/lib/server/tunnels/make-tcp-tunnel.js +15 -8
  44. package/lib/server/utils/apm.js +8 -4
  45. package/lib/server/utils/assert-valid-claim-request.d.ts +2 -2
  46. package/lib/server/utils/assert-valid-claim-request.js +14 -11
  47. package/lib/tests/test.claim-creation.js +2 -2
  48. package/lib/tests/test.http-provider-utils.js +383 -230
  49. package/lib/tests/test.http-provider.js +30 -2
  50. package/lib/tests/test.rpc-tunnel.js +10 -6
  51. package/lib/tests/test.zk.d.ts +1 -1
  52. package/lib/tests/test.zk.js +127 -9
  53. package/lib/types/client.d.ts +2 -2
  54. package/lib/types/providers.d.ts +18 -3
  55. package/lib/types/providers.gen.d.ts +2 -3
  56. package/lib/types/providers.gen.js +2 -2
  57. package/lib/types/tunnel.d.ts +2 -2
  58. package/lib/types/zk.d.ts +0 -1
  59. package/lib/utils/http-parser.d.ts +4 -0
  60. package/lib/utils/http-parser.js +6 -3
  61. package/lib/utils/socket-base.js +2 -1
  62. package/lib/utils/zk.d.ts +1 -1
  63. package/lib/utils/zk.js +94 -55
  64. package/lib/window-rpc/setup-window-rpc.js +32 -1
  65. package/lib/window-rpc/types.d.ts +14 -1
  66. package/lib/window-rpc/utils.js +2 -2
  67. package/package.json +4 -3
  68. package/lib/providers/httpb64/index.d.ts +0 -3
  69. package/lib/providers/httpb64/index.js +0 -209
  70. package/lib/providers/httpb64/utils.d.ts +0 -77
  71. package/lib/providers/httpb64/utils.js +0 -358
  72. package/lib/server/utils/verify-server-certificates.d.ts +0 -7
  73. package/lib/server/utils/verify-server-certificates.js +0 -101
@@ -47,6 +47,7 @@ class AttestorSocket {
47
47
  }
48
48
  const msg = (0, utils_1.packRpcMessages)(...msgs);
49
49
  const bytes = api_1.RPCMessages.encode(msg).finish();
50
+ this.logger.trace({ msg }, 'sending messages');
50
51
  if ('sendPromise' in this.socket && this.socket.sendPromise) {
51
52
  await this.socket.sendPromise(bytes);
52
53
  }
@@ -91,4 +92,4 @@ class AttestorSocket {
91
92
  }
92
93
  }
93
94
  exports.AttestorSocket = AttestorSocket;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc29ja2V0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQW1FO0FBQ25FLHVDQUFvRTtBQUVwRSxxQ0FBd0U7QUFHeEU7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBTTFCLFlBQ1csTUFBK0IsRUFDbEMsUUFBcUIsRUFDckIsTUFBYztRQUZYLFdBQU0sR0FBTixNQUFNLENBQXlCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVBkLGdCQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUV2QyxrQkFBYSxHQUFHLEtBQUssQ0FBQTtRQU9wQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxNQUFNLEdBQUcscUJBQWEsQ0FBQyxTQUFTLENBQ3JDLEtBQUssQ0FBQyxLQUFLO21CQUNQLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDNUIsQ0FBQTtZQUNELE1BQU0sQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUE7WUFFbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQ3BCLHVCQUF1QixFQUN2QixJQUFJLHFCQUFhLENBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsQ0FDbkIsQ0FDRCxDQUNELENBQUMsQ0FBQTtRQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUM7Z0JB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
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc29ja2V0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQW1FO0FBQ25FLHVDQUFvRTtBQUVwRSxxQ0FBd0U7QUFHeEU7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBTTFCLFlBQ1csTUFBK0IsRUFDbEMsUUFBcUIsRUFDckIsTUFBYztRQUZYLFdBQU0sR0FBTixNQUFNLENBQXlCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVBkLGdCQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUV2QyxrQkFBYSxHQUFHLEtBQUssQ0FBQTtRQU9wQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxNQUFNLEdBQUcscUJBQWEsQ0FBQyxTQUFTLENBQ3JDLEtBQUssQ0FBQyxLQUFLO21CQUNQLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDNUIsQ0FBQTtZQUNELE1BQU0sQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUE7WUFFbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQ3BCLHVCQUF1QixFQUN2QixJQUFJLHFCQUFhLENBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsQ0FDbkIsQ0FDRCxDQUNELENBQUMsQ0FBQTtRQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUM7Z0JBQ0osTUFBTSxrQ0FBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3hDLENBQUM7WUFBQyxPQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtZQUN2RCxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQTtJQUNuRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07ZUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUE7SUFDbkQsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUEyQjtRQUMvQyxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUkscUJBQWEsQ0FDdEIscUJBQXFCLEVBQ3JCLHdDQUF3QyxDQUN4QyxDQUFBO1FBQ0YsQ0FBQztRQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLHFCQUFhLENBQ3RCLHFCQUFxQixFQUNyQixvREFBb0QsQ0FDcEQsQ0FBQTtRQUNGLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHVCQUFlLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUNwQyxNQUFNLEtBQUssR0FBRyxpQkFBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUE7UUFFOUMsSUFBRyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUE7SUFDWCxDQUFDO0lBRUQsZ0JBQWdCLENBQThCLElBQU8sRUFBRSxJQUFvQjtRQUMxRSxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFZLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBOEIsSUFBTyxFQUFFLFFBQXFDO1FBQzNGLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxtQkFBbUIsQ0FBOEIsSUFBTyxFQUFFLFFBQXFDO1FBQzlGLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBVzs7UUFDcEMsNEJBQTRCO1FBQzVCLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU07UUFDUCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsR0FBRztnQkFDakIsQ0FBQyxDQUFDLHFCQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLElBQUkscUJBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDdEQsSUFBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDdEIsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRTtpQkFDNUMsQ0FBQyxDQUFBO1lBQ0gsQ0FBQztRQUNGLENBQUM7UUFBQyxPQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2IsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSw4QkFBOEIsQ0FBQyxDQUFBO1FBQzVELENBQUM7Z0JBQVMsQ0FBQztZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEIsQ0FBQztJQUNGLENBQUM7Q0FDRDtBQWpIRCx3Q0FpSEMifQ==
package/lib/utils/zk.d.ts CHANGED
@@ -31,7 +31,7 @@ type ZKPacketToProve = {
31
31
  proofsToGenerate: ZKProofToGenerate[];
32
32
  iv: Uint8Array;
33
33
  };
34
- export declare function makeZkProofGenerator({ zkOperators, oprfOperators, logger, zkProofConcurrency, maxZkChunks, cipherSuite, zkEngine }: PrepareZKProofsOpts): Promise<{
34
+ export declare function makeZkProofGenerator({ zkOperators, oprfOperators, logger, zkProofConcurrency, cipherSuite, zkEngine }: PrepareZKProofsOpts): Promise<{
35
35
  /**
36
36
  * Adds the given packet to the list of packets to
37
37
  * generate ZK proofs for.
package/lib/utils/zk.js CHANGED
@@ -17,7 +17,7 @@ const logger_1 = require("../utils/logger");
17
17
  const redactions_1 = require("../utils/redactions");
18
18
  const ZK_CONCURRENCY = +((0, env_1.getEnvVariable)('ZK_CONCURRENCY')
19
19
  || config_1.DEFAULT_ZK_CONCURRENCY);
20
- async function makeZkProofGenerator({ zkOperators, oprfOperators, logger = logger_1.logger, zkProofConcurrency = ZK_CONCURRENCY, maxZkChunks = config_1.MAX_ZK_CHUNKS, cipherSuite, zkEngine = 'snarkjs' }) {
20
+ async function makeZkProofGenerator({ zkOperators, oprfOperators, logger = logger_1.logger, zkProofConcurrency = ZK_CONCURRENCY, cipherSuite, zkEngine = 'snarkjs' }) {
21
21
  const { default: PQueue } = await import('p-queue');
22
22
  const zkQueue = new PQueue({
23
23
  concurrency: zkProofConcurrency,
@@ -25,7 +25,7 @@ async function makeZkProofGenerator({ zkOperators, oprfOperators, logger = logge
25
25
  });
26
26
  const packetsToProve = [];
27
27
  logger = (logger || logger_1.logger).child({ module: 'zk', zkEngine: zkEngine });
28
- let zkChunksToProve = 0;
28
+ let zkProofsToGen = 0;
29
29
  return {
30
30
  /**
31
31
  * Adds the given packet to the list of packets to
@@ -39,69 +39,91 @@ async function makeZkProofGenerator({ zkOperators, oprfOperators, logger = logge
39
39
  }
40
40
  const alg = (0, generics_1.getZkAlgorithmForCipherSuite)(cipherSuite);
41
41
  const chunkSizeBytes = getChunkSizeBytes(alg);
42
- //const { redactedPlaintext } = reveal
43
42
  const key = await tls_1.crypto.exportKey(packet.encKey);
44
43
  const iv = packet.iv;
45
44
  const ciphertext = (0, generics_1.getPureCiphertext)(packet.ciphertext, cipherSuite);
46
- const chunks = Math.ceil(ciphertext.length / chunkSizeBytes);
47
45
  const packetToProve = {
48
46
  onGeneratedProofs,
49
47
  algorithm: alg,
50
48
  proofsToGenerate: [],
51
49
  iv: packet.fixedIv,
52
50
  };
53
- const chunksDone = new Set();
51
+ const slicesDone = [];
54
52
  // first we'll handle all TOPRF blocks
55
53
  // we do these first, because they can span multiple chunks
56
54
  // & we need to be able to span the right chunks
57
55
  for (const toprf of toprfs || []) {
58
- const startChunk = Math.floor(toprf.dataLocation.fromIndex / chunkSizeBytes);
59
- if (chunksDone.has(startChunk)) {
60
- throw new error_1.AttestorError('ERROR_BAD_REQUEST', `Chunk ${startChunk} contains more than one TOPRF,`
61
- + ' which is not supported');
62
- }
63
- addProofToGenerate(startChunk, {
56
+ const fromIndex = getIdealOffsetForToprfBlock(alg, toprf);
57
+ const toIndex = Math.min(fromIndex + chunkSizeBytes, ciphertext.length);
58
+ // ensure this OPRF block doesn't overlap with any other OPRF block
59
+ const slice = { fromIndex, toIndex };
60
+ assertNoOverlapOprf(slice);
61
+ addProofsToGenerate(slice, {
64
62
  ...toprf,
65
63
  dataLocation: {
66
64
  ...toprf.dataLocation,
67
- fromIndex: toprf.dataLocation.fromIndex % chunkSizeBytes
65
+ fromIndex: toprf.dataLocation.fromIndex - fromIndex
68
66
  }
69
67
  });
70
68
  }
71
- for (let i = 0; i < chunks; i++) {
72
- // ignore any TOPRF chunks
73
- if (chunksDone.has(i)) {
74
- continue;
69
+ // now we'll go through the rest of the ciphertext, and add proofs
70
+ // for the sections that haven't been covered by the TOPRF blocks
71
+ const slicesCp = sortSlices(slicesDone.slice());
72
+ let fromIndex = 0;
73
+ for (const done of slicesCp) {
74
+ if (done.fromIndex > fromIndex) {
75
+ addProofsToGenerate({
76
+ fromIndex,
77
+ toIndex: done.fromIndex
78
+ });
75
79
  }
76
- addProofToGenerate(i);
80
+ fromIndex = done.toIndex;
81
+ }
82
+ if (fromIndex < ciphertext.length) {
83
+ addProofsToGenerate({
84
+ fromIndex,
85
+ toIndex: ciphertext.length
86
+ });
77
87
  }
78
88
  // generate proofs in order of start index
79
89
  packetToProve.proofsToGenerate
80
90
  .sort((a, b) => a.startIdx - b.startIdx);
81
91
  packetsToProve.push(packetToProve);
82
- function addProofToGenerate(offsetChunks, toprf) {
83
- chunksDone.add(offsetChunks);
84
- const proofParams = getProofGenerationParamsForChunk(alg, {
85
- key,
86
- iv,
87
- ciphertext,
88
- redactedPlaintext,
89
- offsetChunks,
90
- toprf,
91
- });
92
- if (!proofParams) {
93
- return;
92
+ function assertNoOverlapOprf(slice) {
93
+ for (const done of slicesDone) {
94
+ if (
95
+ // 1d box overlap
96
+ slice.fromIndex < done.toIndex
97
+ && slice.toIndex > done.fromIndex) {
98
+ throw new error_1.AttestorError('ERROR_BAD_REQUEST', 'Single chunk has multiple OPRFs');
99
+ }
94
100
  }
95
- packetToProve.proofsToGenerate.push(proofParams);
96
- zkChunksToProve += 1;
97
- if (zkChunksToProve > maxZkChunks) {
98
- throw new Error('Too many chunks to prove:'
99
- + ` ${zkChunksToProve} > ${maxZkChunks}`);
101
+ }
102
+ function addProofsToGenerate({ fromIndex, toIndex }, toprf) {
103
+ for (let i = fromIndex; i < toIndex; i += chunkSizeBytes) {
104
+ const slice = {
105
+ fromIndex: i,
106
+ toIndex: Math.min(i + chunkSizeBytes, toIndex)
107
+ };
108
+ slicesDone.push(slice);
109
+ const proofParams = getProofGenerationParamsForSlice({
110
+ key,
111
+ iv,
112
+ ciphertext,
113
+ redactedPlaintext,
114
+ slice,
115
+ toprf,
116
+ });
117
+ if (!proofParams) {
118
+ continue;
119
+ }
120
+ packetToProve.proofsToGenerate.push(proofParams);
121
+ zkProofsToGen += 1;
100
122
  }
101
123
  }
102
124
  },
103
125
  getTotalChunksToProve() {
104
- return zkChunksToProve;
126
+ return zkProofsToGen;
105
127
  },
106
128
  async generateProofs(onChunkDone) {
107
129
  var _a;
@@ -126,13 +148,10 @@ async function makeZkProofGenerator({ zkOperators, oprfOperators, logger = logge
126
148
  }
127
149
  }
128
150
  await Promise.all(tasks);
129
- logger === null || logger === void 0 ? void 0 : logger.info({
130
- durationMs: Date.now() - start,
131
- chunks: zkChunksToProve,
132
- }, 'generated ZK proofs');
151
+ logger === null || logger === void 0 ? void 0 : logger.info({ durationMs: Date.now() - start, zkProofsToGen }, 'generated ZK proofs');
133
152
  // reset the packets to prove
134
153
  packetsToProve.splice(0, packetsToProve.length);
135
- zkChunksToProve = 0;
154
+ zkProofsToGen = 0;
136
155
  // release ZK resources to free up memory
137
156
  const alg = (0, generics_1.getZkAlgorithmForCipherSuite)(cipherSuite);
138
157
  const zkOperator = await getZkOperatorForAlgorithm(alg);
@@ -203,8 +222,6 @@ async function verifyZkPacket({ cipherSuite, ciphertext, zkReveal, zkOperators,
203
222
  * in the proofs
204
223
  */
205
224
  const realRedactedPlaintext = new Uint8Array(ciphertext.length).fill(redactions_1.REDACTION_CHAR_CODE);
206
- const alg = (0, generics_1.getZkAlgorithmForCipherSuite)(cipherSuite);
207
- const chunkSizeBytes = getChunkSizeBytes(alg);
208
225
  await Promise.all(proofs.map(async (proof, i) => {
209
226
  try {
210
227
  await verifyProofPacket(proof);
@@ -253,7 +270,6 @@ async function verifyZkPacket({ cipherSuite, ciphertext, zkReveal, zkOperators,
253
270
  if (!(0, redactions_1.isRedactionCongruent)(comparePlaintext, decryptedRedactedCiphertext)) {
254
271
  throw new Error('redacted ciphertext not congruent');
255
272
  }
256
- const chunkIndex = startIdx / chunkSizeBytes;
257
273
  let nonce = (0, tls_1.concatenateUint8Arrays)([iv, recordIV]);
258
274
  if (!recordIV.length) {
259
275
  nonce = (0, tls_1.generateIV)(nonce, recordNumber);
@@ -269,7 +285,7 @@ async function verifyZkPacket({ cipherSuite, ciphertext, zkReveal, zkOperators,
269
285
  publicInput: {
270
286
  ciphertext: ciphertextChunk,
271
287
  iv: nonce,
272
- offset: chunkIndex
288
+ offsetBytes: startIdx
273
289
  },
274
290
  logger,
275
291
  ...(toprf
@@ -297,6 +313,8 @@ async function verifyZkPacket({ cipherSuite, ciphertext, zkReveal, zkOperators,
297
313
  || makeDefaultOPRFOperator(algorithm, zkEngine, logger);
298
314
  }
299
315
  }
316
+ // the chunk size of the ZK circuit in bytes
317
+ // this will be >= the block size
300
318
  function getChunkSizeBytes(alg) {
301
319
  const { chunkSize, bitsPerWord } = zk_symmetric_crypto_1.CONFIG[alg];
302
320
  return chunkSize * bitsPerWord / 8;
@@ -374,14 +392,9 @@ function getEngineProto(engine) {
374
392
  }
375
393
  throw new Error(`Unknown ZK engine: ${engine}`);
376
394
  }
377
- function getProofGenerationParamsForChunk(algorithm, { key, iv, ciphertext, redactedPlaintext, offsetChunks, toprf, }) {
378
- const chunkSize = getChunkSizeBytes(algorithm);
379
- const startIdx = offsetChunks * chunkSize;
380
- const endIdx = (offsetChunks + 1) * chunkSize;
381
- const ciphertextChunk = ciphertext
382
- .slice(startIdx, endIdx);
383
- const plaintextChunk = redactedPlaintext
384
- .slice(startIdx, endIdx);
395
+ function getProofGenerationParamsForSlice({ key, iv, ciphertext, redactedPlaintext, slice: { fromIndex, toIndex }, toprf, }) {
396
+ const ciphertextChunk = ciphertext.slice(fromIndex, toIndex);
397
+ const plaintextChunk = redactedPlaintext.slice(fromIndex, toIndex);
385
398
  if ((0, redactions_1.isFullyRedacted)(plaintextChunk)) {
386
399
  return;
387
400
  }
@@ -395,11 +408,37 @@ function getProofGenerationParamsForChunk(algorithm, { key, iv, ciphertext, reda
395
408
  }
396
409
  }
397
410
  return {
398
- startIdx,
411
+ startIdx: fromIndex,
399
412
  redactedPlaintext: plaintextChunk,
400
413
  privateInput: { key },
401
- publicInput: { ciphertext: ciphertextChunk, iv, offset: offsetChunks },
414
+ publicInput: { ciphertext: ciphertextChunk, iv, offsetBytes: fromIndex },
402
415
  toprf
403
416
  };
404
417
  }
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvemsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE2RUEsb0RBcVBDO0FBS0Qsd0NBMktDO0FBNEJELHNEQThCQztBQUVELDBEQThCQztBQUVELDBDQVVDO0FBR0Qsd0NBVUM7QUFybUJELDhDQUErRztBQUMvRyw4RUFleUQ7QUFDekQsdUNBQThIO0FBQzlILHVDQUEwSDtBQUUxSCx1Q0FBaUU7QUFDakUsMkNBQStDO0FBQy9DLGlEQUFrSDtBQUNsSCw2Q0FBbUQ7QUFDbkQscURBQWtIO0FBZ0RsSCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQ3ZCLElBQUEsb0JBQWMsRUFBQyxnQkFBZ0IsQ0FBQztPQUM3QiwrQkFBc0IsQ0FDekIsQ0FBQTtBQUVNLEtBQUssVUFBVSxvQkFBb0IsQ0FDekMsRUFDQyxXQUFXLEVBQ1gsYUFBYSxFQUNiLE1BQU0sR0FBRyxlQUFNLEVBQ2Ysa0JBQWtCLEdBQUcsY0FBYyxFQUNuQyxXQUFXLEdBQUcsc0JBQWEsRUFDM0IsV0FBVyxFQUNYLFFBQVEsR0FBRyxTQUFTLEVBQ0M7SUFHdEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUMxQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFNBQVMsRUFBRSxJQUFJO0tBQ2YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxjQUFjLEdBQXNCLEVBQUUsQ0FBQTtJQUU1QyxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksZUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUN2RSxJQUFJLGVBQWUsR0FBRyxDQUFDLENBQUE7SUFFdkIsT0FBTztRQUNOOzs7OztXQUtHO1FBQ0gsS0FB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
418
+ /**
419
+ * Get the ideal location to generate a ZK proof for a TOPRF block.
420
+ * Ideally it should be put into a slice that's a divisor of the chunk size,
421
+ * as that'll minimize the number of proofs that need to be generated.
422
+ * @returns the offset in bytes
423
+ */
424
+ function getIdealOffsetForToprfBlock(alg, { dataLocation }) {
425
+ const chunkSizeBytes = getChunkSizeBytes(alg);
426
+ const offsetChunks = Math.floor(dataLocation.fromIndex / chunkSizeBytes) * chunkSizeBytes;
427
+ const endOffsetChunks = Math.floor((dataLocation.fromIndex + dataLocation.length) / chunkSizeBytes);
428
+ // happy case -- the OPRF block fits into a single chunk, that's a
429
+ // divisor of the chunk size
430
+ if (endOffsetChunks === offsetChunks) {
431
+ return offsetChunks * chunkSizeBytes;
432
+ }
433
+ const blockSizeBytes = (0, zk_symmetric_crypto_1.getBlockSizeBytes)(alg);
434
+ const offsetBytes = Math.floor(dataLocation.fromIndex / blockSizeBytes) * blockSizeBytes;
435
+ if ((dataLocation.fromIndex + dataLocation.length) - offsetBytes
436
+ > chunkSizeBytes) {
437
+ throw new error_1.AttestorError('ERROR_BAD_REQUEST', 'OPRF data cannot fit into a single chunk');
438
+ }
439
+ return offsetBytes;
440
+ }
441
+ function sortSlices(slices) {
442
+ return slices.sort((a, b) => a.fromIndex - b.fromIndex);
443
+ }
444
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvemsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErRUEsb0RBZ1FDO0FBS0Qsd0NBc0tDO0FBMEJELHNEQThCQztBQUVELDBEQThCQztBQUVELDBDQVVDO0FBR0Qsd0NBVUM7QUEzbUJELDhDQUErRztBQUMvRyw4RUFleUQ7QUFDekQsdUNBQStHO0FBQy9HLHVDQUEwSDtBQUUxSCx1Q0FBaUU7QUFDakUsMkNBQStDO0FBQy9DLGlEQUFrSDtBQUNsSCw2Q0FBbUQ7QUFDbkQscURBQWtIO0FBa0RsSCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQ3ZCLElBQUEsb0JBQWMsRUFBQyxnQkFBZ0IsQ0FBQztPQUM3QiwrQkFBc0IsQ0FDekIsQ0FBQTtBQUVNLEtBQUssVUFBVSxvQkFBb0IsQ0FDekMsRUFDQyxXQUFXLEVBQ1gsYUFBYSxFQUNiLE1BQU0sR0FBRyxlQUFNLEVBQ2Ysa0JBQWtCLEdBQUcsY0FBYyxFQUNuQyxXQUFXLEVBQ1gsUUFBUSxHQUFHLFNBQVMsRUFDQztJQUd0QixNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDO1FBQzFCLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsU0FBUyxFQUFFLElBQUk7S0FDZixDQUFDLENBQUE7SUFFRixNQUFNLGNBQWMsR0FBc0IsRUFBRSxDQUFBO0lBRTVDLE1BQU0sR0FBRyxDQUFDLE1BQU0sSUFBSSxlQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZFLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQTtJQUVyQixPQUFPO1FBQ047Ozs7O1dBS0c7UUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQ3JCLE1BQXlCLEVBQ3pCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFnQixFQUMzQyxpQkFBdUQ7WUFFdkQsSUFBRyxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUE7WUFDdkQsQ0FBQztZQUVELE1BQU0sR0FBRyxHQUFHLElBQUEsdUNBQTRCLEVBQUMsV0FBVyxDQUFDLENBQUE7WUFDckQsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxZQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNqRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFBO1lBQ3BCLE1BQU0sVUFBVSxHQUFHLElBQUEsNEJBQWlCLEVBQ25DLE1BQU0sQ0FBQyxVQUFVLEVBQ2pCLFdBQVcsQ0FDWCxDQUFBO1lBQ0QsTUFBTSxhQUFhLEdBQW9CO2dCQUN0QyxpQkFBaUI7Z0JBQ2pCLFNBQVMsRUFBRSxHQUFHO2dCQUNkLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLEVBQUUsRUFBRSxNQUFNLENBQUMsT0FBTzthQUNsQixDQUFBO1lBQ0QsTUFBTSxVQUFVLEdBQWlCLEVBQUUsQ0FBQTtZQUNuQyxzQ0FBc0M7WUFDdEMsMkRBQTJEO1lBQzNELGdEQUFnRDtZQUNoRCxLQUFJLE1BQU0sS0FBSyxJQUFJLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxTQUFTLEdBQUcsMkJBQTJCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxjQUFjLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUV2RSxtRUFBbUU7Z0JBQ25FLE1BQU0sS0FBSyxHQUFlLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFBO2dCQUNoRCxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFFMUIsbUJBQW1CLENBQ2xCLEtBQUssRUFDTDtvQkFDQyxHQUFHLEtBQUs7b0JBQ1IsWUFBWSxFQUFFO3dCQUNiLEdBQUcsS0FBSyxDQUFDLFlBQWE7d0JBQ3RCLFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBYSxDQUFDLFNBQVMsR0FBRyxTQUFTO3FCQUNwRDtpQkFDRCxDQUNELENBQUE7WUFDRixDQUFDO1lBRUQsa0VBQWtFO1lBQ2xFLGlFQUFpRTtZQUNqRSxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7WUFDL0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFBO1lBQ2pCLEtBQUksTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzVCLElBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQztvQkFDL0IsbUJBQW1CLENBQUM7d0JBQ25CLFNBQVM7d0JBQ1QsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO3FCQUN2QixDQUFDLENBQUE7Z0JBQ0gsQ0FBQztnQkFFRCxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtZQUN6QixDQUFDO1lBRUQsSUFBRyxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNsQyxtQkFBbUIsQ0FBQztvQkFDbkIsU0FBUztvQkFDVCxPQUFPLEVBQUUsVUFBVSxDQUFDLE1BQU07aUJBQzFCLENBQUMsQ0FBQTtZQUNILENBQUM7WUFFRCwwQ0FBMEM7WUFDMUMsYUFBYSxDQUFDLGdCQUFnQjtpQkFDNUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDekMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUVsQyxTQUFTLG1CQUFtQixDQUFDLEtBQWlCO2dCQUM3QyxLQUFJLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUM5QjtvQkFDQyxpQkFBaUI7b0JBQ2pCLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU87MkJBQzFCLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFDakMsQ0FBQzt3QkFDRixNQUFNLElBQUkscUJBQWEsQ0FDdEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxDQUNqQyxDQUFBO29CQUNGLENBQUM7Z0JBQ0YsQ0FBQztZQUNGLENBQUM7WUFFRCxTQUFTLG1CQUFtQixDQUMzQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWMsRUFDbEMsS0FBd0I7Z0JBRXhCLEtBQUksSUFBSSxDQUFDLEdBQUcsU0FBUyxFQUFDLENBQUMsR0FBRyxPQUFPLEVBQUMsQ0FBQyxJQUFJLGNBQWMsRUFBRSxDQUFDO29CQUN2RCxNQUFNLEtBQUssR0FBZTt3QkFDekIsU0FBUyxFQUFFLENBQUM7d0JBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLGNBQWMsRUFBRSxPQUFPLENBQUM7cUJBQzlDLENBQUE7b0JBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDdEIsTUFBTSxXQUFXLEdBQUcsZ0NBQWdDLENBQ25EO3dCQUNDLEdBQUc7d0JBQ0gsRUFBRTt3QkFDRixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsS0FBSzt3QkFDTCxLQUFLO3FCQUNMLENBQ0QsQ0FBQTtvQkFFRCxJQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ2pCLFNBQVE7b0JBQ1QsQ0FBQztvQkFFRCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO29CQUNoRCxhQUFhLElBQUksQ0FBQyxDQUFBO2dCQUNuQixDQUFDO1lBQ0YsQ0FBQztRQUNGLENBQUM7UUFDRCxxQkFBcUI7WUFDcEIsT0FBTyxhQUFhLENBQUE7UUFDckIsQ0FBQztRQUNELEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBd0I7O1lBQzVDLElBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE9BQU07WUFDUCxDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1lBQ3hCLE1BQU0sS0FBSyxHQUFvQixFQUFFLENBQUE7WUFDakMsS0FBSSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ2hGLE1BQU0sTUFBTSxHQUFjLEVBQUUsQ0FBQTtnQkFFNUIsSUFBSSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFBO2dCQUN4QyxLQUFJLE1BQU0sVUFBVSxJQUFJLGdCQUFnQixFQUFFLENBQUM7b0JBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUcsRUFBRTt3QkFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7d0JBRWhFLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsRUFBSSxDQUFBO3dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBRWxCLFVBQVUsSUFBSSxDQUFDLENBQUE7d0JBQ2YsSUFBRyxVQUFVLEtBQUssQ0FBQyxFQUFFLENBQUM7NEJBQ3JCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFBO3dCQUMxQixDQUFDO29CQUNGLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQzlCLENBQUM7WUFDRixDQUFDO1lBRUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRXhCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJLENBQ1gsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFDakQscUJBQXFCLENBQ3JCLENBQUE7WUFFRCw2QkFBNkI7WUFDN0IsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQy9DLGFBQWEsR0FBRyxDQUFDLENBQUE7WUFFakIseUNBQXlDO1lBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUEsdUNBQTRCLEVBQUMsV0FBVyxDQUFDLENBQUE7WUFDckQsTUFBTSxVQUFVLEdBQUcsTUFBTSx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN2RCxNQUFBLFVBQVUsQ0FBQyxPQUFPLDBEQUFJLENBQUE7UUFDdkIsQ0FBQztLQUNELENBQUE7SUFFRCxLQUFLLFVBQVUscUJBQXFCLENBQ25DLFNBQThCLEVBQzlCLEVBQ0MsUUFBUSxFQUFFLGlCQUFpQixFQUMzQixZQUFZLEVBQUUsV0FBVyxFQUN6QixLQUFLLEdBQ2M7UUFFcEIsTUFBTSxRQUFRLEdBQUcsS0FBSztZQUNyQixDQUFDLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN2QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsbUNBQWEsRUFDaEM7WUFDQyxTQUFTO1lBQ1QsWUFBWTtZQUNaLFdBQVc7WUFDWCxRQUFRO1lBQ1IsTUFBTTtZQUNOLEdBQUcsQ0FDRixLQUFLO2dCQUNKLENBQUMsQ0FBQztvQkFDRCxLQUFLLEVBQUU7d0JBQ04sR0FBRyxFQUFFLEtBQUssQ0FBQyxZQUFhLENBQUMsU0FBUzt3QkFDbEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxZQUFhLENBQUMsTUFBTTt3QkFDL0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxTQUFTO3dCQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7d0JBQzFCLGVBQWUsRUFBRSwrQkFBc0I7cUJBQ3ZDO29CQUNELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDaEI7Z0JBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FDTDtTQUNELENBQ0QsQ0FBQTtRQUVELE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSwyQkFBMkIsQ0FBQyxDQUFBO1FBRXhELE9BQU87WUFDTiwwQkFBMEI7WUFDMUIsU0FBUyxFQUFFLEVBQUU7WUFDYixTQUFTLEVBQUUsT0FBTyxLQUFLLENBQUMsU0FBUyxLQUFLLFFBQVE7Z0JBQzdDLENBQUMsQ0FBQyxJQUFBLHFCQUFlLEVBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQ2xCLEtBQUs7WUFDTCwyQkFBMkIsRUFBRSxLQUFLLENBQUMsU0FBUztZQUM1QyxpQkFBaUI7WUFDakIsUUFBUTtTQUNSLENBQUE7SUFDRixDQUFDO0lBRUQsU0FBUyx5QkFBeUIsQ0FBQyxTQUE4QjtRQUNoRSxPQUFPLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQztlQUMzQixxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxTQUFTLDJCQUEyQixDQUFDLFNBQThCO1FBQ2xFLE9BQU8sQ0FBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUcsU0FBUyxDQUFDO2VBQzdCLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDekQsQ0FBQztBQUNGLENBQUM7QUFFRDs7R0FFRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQ25DLEVBQ0MsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsV0FBVyxFQUNYLGFBQWEsRUFDYixNQUFNLEdBQUcsZUFBTSxFQUNmLFFBQVEsR0FBRyxTQUFTLEVBQ3BCLEVBQUUsRUFDRixZQUFZLEVBQ0U7SUFFZixJQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFBO0lBQzNCLE1BQU0sU0FBUyxHQUFHLElBQUEsdUNBQTRCLEVBQUMsV0FBVyxDQUFDLENBQUE7SUFFM0QsTUFBTSxRQUFRLEdBQUcsSUFBQSxzQkFBVyxFQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNyRCxVQUFVLEdBQUcsSUFBQSw0QkFBaUIsRUFBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDdkQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLFVBQVUsQ0FDM0MsVUFBVSxDQUFDLE1BQU0sQ0FDakIsQ0FBQyxJQUFJLENBQUMsZ0NBQW1CLENBQUMsQ0FBQTtJQUUzQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM1QixJQUFJLENBQUM7WUFDSixNQUFNLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9CLENBQUM7UUFBQyxPQUFNLENBQUMsRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUMsY0FBYyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUE7WUFDeEQsTUFBTSxDQUFDLENBQUE7UUFDUixDQUFDO0lBQ0YsQ0FBQyxDQUFDLENBQ0YsQ0FBQTtJQUVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxDQUFBO0lBRW5ELEtBQUssVUFBVSxpQkFBaUIsQ0FDL0IsRUFDQyxTQUFTLEVBQ1QsU0FBUyxFQUNULDJCQUEyQixFQUMzQixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLEtBQUssR0FDSTs7UUFFVix1REFBdUQ7UUFDdkQsMERBQTBEO1FBQzFELDZEQUE2RDtRQUM3RCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUN2QyxRQUFRLEVBQ1IsUUFBUSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FDbkMsQ0FBQTtRQUNELDZDQUE2QztRQUM3QywwQ0FBMEM7UUFDMUMsdURBQXVEO1FBQ3ZELDZDQUE2QztRQUM3QyxLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlDLElBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssZ0NBQW1CLEVBQUUsQ0FBQztnQkFDakQsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLGdDQUFtQixDQUFBO1lBQ3pDLENBQUM7UUFDRixDQUFDO1FBRUQscURBQXFEO1FBQ3JELDJCQUEyQjtRQUMzQixJQUFJLGdCQUFnQixHQUFHLGlCQUFpQixDQUFBO1FBQ3hDLElBQUcsS0FBSyxFQUFFLENBQUM7WUFDVixnQkFBZ0IsR0FBRyxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1lBQ3BELEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBYSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNsRCxnQkFBZ0IsQ0FDZixDQUFDLEdBQUcsS0FBSyxDQUFDLFlBQWEsQ0FBQyxTQUFTLENBQ2pDLEdBQUcsZ0NBQW1CLENBQUE7WUFDeEIsQ0FBQztZQUVELG1EQUFtRDtZQUNuRCxpREFBaUQ7WUFDakQsa0RBQWtEO1lBQ2xELDZCQUE2QjtZQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFlLEVBQ2xDLEtBQUssQ0FBQyxTQUFTLEVBQ2YsS0FBSyxDQUFDLFlBQWEsQ0FBQyxNQUFNLENBQzFCLENBQUE7WUFDRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQ3RDLE1BQUEsS0FBSyxDQUFDLFlBQVksMENBQUUsU0FBUyxFQUM3QixDQUFBLE1BQUEsS0FBSyxDQUFDLFlBQVksMENBQUUsU0FBVTttQkFDM0IsTUFBQSxLQUFLLENBQUMsWUFBWSwwQ0FBRSxNQUFPLENBQUEsQ0FDOUIsQ0FBQTtZQUNELElBQ0MsSUFBQSwwQkFBZSxFQUFDLE9BQU8sQ0FBQyxLQUFLLFdBQVc7aUJBQ3RDLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUN6QixDQUFDO2dCQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtZQUNoRCxDQUFDO1FBQ0YsQ0FBQztRQUVELElBQUcsQ0FBQyxJQUFBLGlDQUFvQixFQUN2QixnQkFBZ0IsRUFDaEIsMkJBQTJCLENBQzNCLEVBQUUsQ0FBQztZQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUNyRCxDQUFDO1FBRUQsSUFBSSxLQUFLLEdBQUcsSUFBQSw0QkFBc0IsRUFBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ2xELElBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckIsS0FBSyxHQUFHLElBQUEsZ0JBQVUsRUFBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUE7UUFDeEMsQ0FBQztRQUVELE1BQU0sSUFBQSxpQ0FBVyxFQUNoQjtZQUNDLEtBQUssRUFBRTtnQkFDTixTQUFTO2dCQUNULFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtvQkFDMUIsQ0FBQyxDQUFDLFNBQVM7b0JBQ1gsQ0FBQyxDQUFDLElBQUEscUJBQWUsRUFBQyxTQUFTLENBQUM7Z0JBQzdCLFNBQVMsRUFBRSwyQkFBMkI7YUFDdEM7WUFDRCxXQUFXLEVBQUU7Z0JBQ1osVUFBVSxFQUFFLGVBQWU7Z0JBQzNCLEVBQUUsRUFBRSxLQUFLO2dCQUNULFdBQVcsRUFBRSxRQUFRO2FBQ3JCO1lBQ0QsTUFBTTtZQUNOLEdBQUcsQ0FDRixLQUFLO2dCQUNKLENBQUMsQ0FBQztvQkFDRCxRQUFRLEVBQUUsZUFBZSxFQUFFO29CQUMzQixLQUFLLEVBQUU7d0JBQ04sR0FBRyxFQUFFLEtBQUssQ0FBQyxZQUFhLENBQUMsU0FBUzt3QkFDbEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxZQUFhLENBQUMsTUFBTTt3QkFDL0IsZUFBZSxFQUFFLCtCQUFzQjt3QkFDdkMsTUFBTSxFQUFFLEtBQUssQ0FBQyxTQUFTO3dCQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7cUJBQzFCO2lCQUNEO2dCQUNELENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsRUFBRSxDQUNoQztTQUNELENBQ0QsQ0FBQTtRQUVELE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxLQUFLLENBQ1osRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsRUFDekQsZ0JBQWdCLENBQ2hCLENBQUE7UUFFRCxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELFNBQVMsYUFBYTtRQUNyQixPQUFPLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLFNBQVMsQ0FBQztlQUMzQixxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxTQUFTLGVBQWU7UUFDdkIsT0FBTyxDQUFBLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRyxTQUFTLENBQUM7ZUFDN0IsdUJBQXVCLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0FBQ0YsQ0FBQztBQUVELDRDQUE0QztBQUM1QyxpQ0FBaUM7QUFDakMsU0FBUyxpQkFBaUIsQ0FBQyxHQUF3QjtJQUNsRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLDRCQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDakQsT0FBTyxTQUFTLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsTUFBTSxTQUFTLEdBRVgsRUFBRSxDQUFBO0FBRU4sTUFBTSxXQUFXLEdBRWIsRUFBRSxDQUFBO0FBRU4sTUFBTSxjQUFjLEdBQXVFO0lBQzFGLFNBQVMsRUFBRSwyQ0FBcUI7SUFDaEMsT0FBTyxFQUFFLHlDQUFtQjtDQUM1QixDQUFBO0FBRUQsTUFBTSxvQkFBb0IsR0FBK0M7SUFDeEUsT0FBTyxFQUFFLDJDQUFxQjtDQUM5QixDQUFBO0FBRUQsU0FBZ0IscUJBQXFCLENBQ3BDLFNBQThCLEVBQzlCLFFBQWtCLEVBQ2xCLE1BQWM7SUFFZCxJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDckMsSUFBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDeEIsV0FBVyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsSUFBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUEsdUJBQWlCLEdBQUUsS0FBSyxNQUFNLENBQUE7UUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUMxQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFBO1FBRWpFLE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxPQUFPO1lBQ2pDLENBQUMsQ0FBQyxJQUFBLHdDQUFrQixHQUFFO1lBQ3RCLENBQUMsQ0FBQyxJQUFBLHlDQUFtQixFQUFDO2dCQUNyQixPQUFPLEVBQUUsMkNBQWtDO2FBQzNDLENBQUMsQ0FBQTtRQUNILE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0QyxJQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ3hELENBQUM7UUFFRCxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FDdEMsU0FBOEIsRUFDOUIsUUFBa0IsRUFDbEIsTUFBYztJQUVkLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNyQyxJQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQzFCLFNBQVMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELElBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFBLHVCQUFpQixHQUFFLEtBQUssTUFBTSxDQUFBO1FBQzdDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7UUFDeEMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFBO1FBRTNELE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxPQUFPO1lBQy9CLENBQUMsQ0FBQyxJQUFBLHdDQUFrQixHQUFFO1lBQ3RCLENBQUMsQ0FBQyxJQUFBLHlDQUFtQixFQUFDO2dCQUNyQixPQUFPLEVBQUUsMkNBQWtDO2FBQzNDLENBQUMsQ0FBQTtRQUNILE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzVDLElBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDMUQsQ0FBQztRQUVELFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxNQUFxQjtJQUNwRCxJQUFHLE1BQU0sS0FBSyxtQkFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdDLE9BQU8sT0FBTyxDQUFBO0lBQ2YsQ0FBQztJQUVELElBQUcsTUFBTSxLQUFLLG1CQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLFNBQVMsQ0FBQTtJQUNqQixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUNoRCxDQUFDO0FBR0QsU0FBZ0IsY0FBYyxDQUFDLE1BQWdCO0lBQzlDLElBQUcsTUFBTSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sbUJBQWEsQ0FBQyxlQUFlLENBQUE7SUFDckMsQ0FBQztJQUVELElBQUcsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sbUJBQWEsQ0FBQyxpQkFBaUIsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUNoRCxDQUFDO0FBRUQsU0FBUyxnQ0FBZ0MsQ0FDeEMsRUFDQyxHQUFHLEVBQ0gsRUFBRSxFQUNGLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUM3QixLQUFLLEdBQ3FCO0lBRTNCLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzVELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDbEUsSUFBRyxJQUFBLDRCQUFlLEVBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxPQUFNO0lBQ1AsQ0FBQztJQUVELDZDQUE2QztJQUM3QywwQ0FBMEM7SUFDMUMsdURBQXVEO0lBQ3ZELDZDQUE2QztJQUM3QyxLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzlDLElBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLGdDQUFtQixFQUFFLENBQUM7WUFDOUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLGdDQUFtQixDQUFBO1FBQ3pDLENBQUM7SUFDRixDQUFDO0lBRUQsT0FBTztRQUNOLFFBQVEsRUFBRSxTQUFTO1FBQ25CLGlCQUFpQixFQUFFLGNBQWM7UUFDakMsWUFBWSxFQUFFLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLFdBQVcsRUFBRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7UUFDeEUsS0FBSztLQUNMLENBQUE7QUFDRixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLDJCQUEyQixDQUNuQyxHQUF3QixFQUN4QixFQUFFLFlBQVksRUFBb0I7SUFFbEMsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDOUIsWUFBYSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQ3hDLEdBQUcsY0FBYyxDQUFBO0lBQ2xCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ2pDLENBQUMsWUFBYSxDQUFDLFNBQVMsR0FBRyxZQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsY0FBYyxDQUNqRSxDQUFBO0lBRUQsa0VBQWtFO0lBQ2xFLDRCQUE0QjtJQUM1QixJQUFHLGVBQWUsS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFlBQVksR0FBRyxjQUFjLENBQUE7SUFDckMsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLElBQUEsdUNBQWlCLEVBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDN0IsWUFBYSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQ3hDLEdBQUcsY0FBYyxDQUFBO0lBQ2xCLElBQ0MsQ0FBQyxZQUFhLENBQUMsU0FBUyxHQUFHLFlBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXO1VBQzNELGNBQWMsRUFDaEIsQ0FBQztRQUNGLE1BQU0sSUFBSSxxQkFBYSxDQUN0QixtQkFBbUIsRUFDbkIsMENBQTBDLENBQzFDLENBQUE7SUFDRixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLE1BQW9CO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQ3hELENBQUMifQ==
@@ -4,6 +4,7 @@ exports.setupWindowRpc = setupWindowRpc;
4
4
  const tls_1 = require("@reclaimprotocol/tls");
5
5
  const create_claim_on_avs_1 = require("../avs/client/create-claim-on-avs");
6
6
  const client_1 = require("../client");
7
+ const create_claim_on_mechain_1 = require("../mechain/client/create-claim-on-mechain");
7
8
  const utils_1 = require("../providers/http/utils");
8
9
  const utils_2 = require("../utils");
9
10
  const b64_json_1 = require("../utils/b64-json");
@@ -122,6 +123,36 @@ function setupWindowRpc() {
122
123
  response: avsRes,
123
124
  });
124
125
  break;
126
+ case 'createClaimOnMechain':
127
+ const mechainRes = await (0, create_claim_on_mechain_1.createClaimOnMechain)({
128
+ ...req.request,
129
+ context: req.request.context
130
+ ? JSON.parse(req.request.context)
131
+ : undefined,
132
+ zkOperators: getZkOperators(req.request.zkOperatorMode, req.request.zkEngine),
133
+ oprfOperators: getOprfOperators(req.request.zkOperatorMode, req.request.zkEngine),
134
+ client: {
135
+ url: defaultUrl,
136
+ },
137
+ logger,
138
+ onStep(step) {
139
+ sendMessage({
140
+ type: 'createClaimOnMechainStep',
141
+ step,
142
+ module: req.module,
143
+ id: req.id,
144
+ });
145
+ },
146
+ });
147
+ const claimResponses = [];
148
+ for (let i = 0; i < mechainRes.responses.length; i++) {
149
+ claimResponses[i] = (0, utils_3.mapToCreateClaimResponse)(mechainRes.responses[i]);
150
+ }
151
+ respond({
152
+ type: 'createClaimOnMechainDone',
153
+ response: { taskId: mechainRes.taskId, data: claimResponses },
154
+ });
155
+ break;
125
156
  case 'extractHtmlElement':
126
157
  respond({
127
158
  type: 'extractHtmlElementDone',
@@ -257,4 +288,4 @@ function setupWindowRpc() {
257
288
  }
258
289
  }
259
290
  }
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtd2luZG93LXJwYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3NldHVwLXdpbmRvdy1ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4QkEsd0NBdVRDO0FBclZELDhDQUFzRDtBQUV0RCw0RUFBcUU7QUFDckUsdUNBQWtEO0FBQ2xELG9EQUE2SDtBQUU3SCxxQ0FBd0Q7QUFDeEQsaURBQXdFO0FBQ3hFLG1EQUErQztBQUUvQyxnREFBc0o7QUFDdEosZ0VBQXFIO0FBRXJILE1BQU0sY0FBZSxTQUFRLEtBQUs7SUFDakMsWUFBNEIsSUFBMEI7UUFDckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBc0I7SUFFdEQsQ0FBQztDQUNEO0FBRUQsTUFBTSxhQUFhLEdBQUc7SUFDckIsZUFBZTtJQUNmLGFBQWE7Q0FDYixDQUFBO0FBRUQsSUFBSSxNQUFNLEdBQUcsY0FBTSxDQUFBO0FBRW5COzs7R0FHRztBQUNILFNBQWdCLGNBQWM7SUFDN0IsTUFBTSxHQUFHLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUV6QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRXBDLE1BQU0sVUFBVSxHQUFHLElBQUEsK0JBQXVCLEdBQUUsQ0FBQTtJQUU1QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUUvQyxLQUFLLFVBQVUsYUFBYSxDQUFDLEtBQXdCO1FBQ3BELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNYLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUM7WUFDSixJQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFD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
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtd2luZG93LXJwYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3NldHVwLXdpbmRvdy1ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErQkEsd0NBMlZDO0FBMVhELDhDQUFzRDtBQUV0RCw0RUFBcUU7QUFDckUsdUNBQWtEO0FBQ2xELHdGQUFpRjtBQUNqRixvREFBNkg7QUFFN0gscUNBQXdEO0FBQ3hELGlEQUF3RTtBQUN4RSxtREFBK0M7QUFFL0MsZ0RBQXNKO0FBQ3RKLGdFQUFxSDtBQUVySCxNQUFNLGNBQWUsU0FBUSxLQUFLO0lBQ2pDLFlBQTRCLElBQTBCO1FBQ3JELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQURXLFNBQUksR0FBSixJQUFJLENBQXNCO0lBRXRELENBQUM7Q0FDRDtBQUVELE1BQU0sYUFBYSxHQUFHO0lBQ3JCLGVBQWU7SUFDZixhQUFhO0NBQ2IsQ0FBQTtBQUVELElBQUksTUFBTSxHQUFHLGNBQU0sQ0FBQTtBQUVuQjs7O0dBR0c7QUFDSCxTQUFnQixjQUFjO0lBQzdCLE1BQU0sR0FBRyxJQUFBLGtCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFFekIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtJQUVwQyxNQUFNLFVBQVUsR0FBRyxJQUFBLCtCQUF1QixHQUFFLENBQUE7SUFFNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUE7SUFFL0MsS0FBSyxVQUFVLGFBQWEsQ0FBQyxLQUF3QjtRQUNwRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUE7UUFDWCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDO1lBQ0osSUFBRyxDQUFDLEtBQUssQ0FBQyxJ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
@@ -1,6 +1,7 @@
1
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 type { CreateClaimOnMechainStep } from '../mechain/types';
4
5
  import { AuthenticationRequest } from '../proto/api';
5
6
  import type { extractHTMLElement, extractJSONValueIndex } from '../providers/http/utils';
6
7
  import type { AttestorData, CompleteClaimData, CreateClaimOnAttestorOpts, LogLevel, ProofGenerationStep, ProviderName, ProviderParams, ProviderSecretParams } from '../types';
@@ -33,6 +34,7 @@ export type RPCCreateClaimOptions<N extends ProviderName = any> = Omit<CreateCla
33
34
  export type RPCCreateClaimOnAvsOptions<N extends ProviderName = any> = Omit<CreateClaimOnAvsOpts<N>, 'zkOperators' | 'context' | 'payer'> & {
34
35
  payer?: 'attestor';
35
36
  } & CreateClaimRPCBaseOpts;
37
+ export type RPCCreateClaimOnMechainOptions<N extends ProviderName = any> = Omit<CreateClaimOnAvsOpts<N>, 'zkOperators' | 'context'> & CreateClaimRPCBaseOpts;
36
38
  type ExtractHTMLElementOptions = {
37
39
  html: string;
38
40
  xpathExpression: string;
@@ -62,6 +64,10 @@ type AVSCreateResult = {
62
64
  object: TaskCompletedEventObject;
63
65
  txHash: string;
64
66
  };
67
+ type MechainCreateResult = {
68
+ taskId: number;
69
+ data: CreateClaimResponse[];
70
+ };
65
71
  /**
66
72
  * Legacy V1 create claim response
67
73
  */
@@ -87,6 +93,10 @@ export type WindowRPCClient = {
87
93
  * Create a claim on the AVS
88
94
  */
89
95
  createClaimOnAvs(opts: RPCCreateClaimOnAvsOptions): Promise<AVSCreateResult>;
96
+ /**
97
+ * Create a claim on Mechain
98
+ */
99
+ createClaimOnMechain(opts: RPCCreateClaimOnMechainOptions): Promise<MechainCreateResult>;
90
100
  /**
91
101
  * Extract an HTML element from a string of HTML
92
102
  */
@@ -146,7 +156,7 @@ type AsResponse<T> = T & {
146
156
  /**
147
157
  * Data sent to the attestor from the window/application
148
158
  */
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;
159
+ export type WindowRPCIncomingMsg = (WindowRPCRequest<WindowRPCClient, 'createClaim'> | WindowRPCRequest<WindowRPCClient, 'createClaimOnAvs'> | WindowRPCRequest<WindowRPCClient, 'createClaimOnMechain'> | 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;
150
160
  /**
151
161
  * Data sent back from the attestor to
152
162
  * the window/application containing the attestor
@@ -160,6 +170,9 @@ export type WindowRPCOutgoingMsg = (AsResponse<WindowRPCResponse<WindowRPCClient
160
170
  }) | ({
161
171
  type: 'createClaimOnAvsStep';
162
172
  step: CreateClaimOnAvsStep;
173
+ }) | ({
174
+ type: 'createClaimOnMechainStep';
175
+ step: CreateClaimOnMechainStep;
163
176
  }) | ({
164
177
  type: 'log';
165
178
  level: LogLevelOptions['logLevel'];
@@ -24,7 +24,7 @@ async function getCurrentMemoryUsage() {
24
24
  }
25
25
  else {
26
26
  try {
27
- const result = await performance.measureUserAgentSpecificMemory();
27
+ const result = performance.measureUserAgentSpecificMemory();
28
28
  const totalmb = Math.round(result.bytes / 1024 / 1024);
29
29
  return {
30
30
  available: true,
@@ -99,4 +99,4 @@ function waitForResponse(type, requestId, bridge, timeoutMs = 60000) {
99
99
  });
100
100
  });
101
101
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2luZG93LXJwYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLHNEQStCQztBQUVELG9EQUVDO0FBTUQsMERBSUM7QUFFRCw0REFzQkM7QUFFRCwwQ0FxQ0M7QUFuSEQsbUNBQStCO0FBQy9CLHVDQUF3QztBQUV4QyxxQ0FBcUU7QUFHckUscUJBQXFCO0FBQ2QsS0FBSyxVQUFVLHFCQUFxQjtJQUMxQyxJQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDaEMsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxzQ0FBc0M7U0FDL0MsQ0FBQTtJQUNGLENBQUM7U0FBTSxJQUFHLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDdkQsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxxRUFBcUU7U0FDOUUsQ0FBQTtJQUNGLENBQUM7U0FBTSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsOEJBQThCLEVBQUUsQ0FBQTtZQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFBO1lBRXRELE9BQU87Z0JBQ04sU0FBUyxFQUFFLElBQUk7Z0JBQ2YsT0FBTyxFQUFFLEdBQUcsT0FBTyxJQUFJO2FBQ3ZCLENBQUE7UUFDRixDQUFDO1FBQUMsT0FBTSxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUcsS0FBSyxZQUFZLFlBQVksSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO2dCQUNwRSxPQUFPO29CQUNOLFNBQVMsRUFBRSxLQUFLO29CQUNoQixPQUFPLEVBQUUsUUFBUSxLQUFLLENBQUMsT0FBTyxHQUFHO2lCQUNq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
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2luZG93LXJwYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLHNEQStCQztBQUVELG9EQUVDO0FBTUQsMERBSUM7QUFFRCw0REFzQkM7QUFFRCwwQ0FxQ0M7QUFuSEQsbUNBQStCO0FBQy9CLHVDQUF3QztBQUV4QyxxQ0FBcUU7QUFHckUscUJBQXFCO0FBQ2QsS0FBSyxVQUFVLHFCQUFxQjtJQUMxQyxJQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDaEMsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxzQ0FBc0M7U0FDL0MsQ0FBQTtJQUNGLENBQUM7U0FBTSxJQUFHLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDdkQsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxxRUFBcUU7U0FDOUUsQ0FBQTtJQUNGLENBQUM7U0FBTSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLDhCQUE4QixFQUFFLENBQUE7WUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUV0RCxPQUFPO2dCQUNOLFNBQVMsRUFBRSxJQUFJO2dCQUNmLE9BQU8sRUFBRSxHQUFHLE9BQU8sSUFBSTthQUN2QixDQUFBO1FBQ0YsQ0FBQztRQUFDLE9BQU0sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFHLEtBQUssWUFBWSxZQUFZLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDcEUsT0FBTztvQkFDTixTQUFTLEVBQUUsS0FBSztvQkFDaEIsT0FBTyxFQUFFLFFBQVEsS0FBSyxDQUFDLE9BQU8sR0FBRztpQkFDakMsQ0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reclaimprotocol/attestor-core",
3
- "version": "4.0.0",
3
+ "version": "4.0.2",
4
4
  "description": "",
5
5
  "main": "lib/index",
6
6
  "scripts": {
@@ -30,7 +30,8 @@
30
30
  "start:chain": "bash ./avs/utils/anvil/start-anvil-chain-with-el-and-avs-deployed.sh",
31
31
  "commitlint": "commitlint --edit",
32
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
+ "generate:toprf-keys": "npm run run:tsc -- src/scripts/generate-toprf-keys.ts",
34
+ "publish:pkg": "npm publish --access public"
34
35
  },
35
36
  "files": [
36
37
  "lib/*"
@@ -66,7 +67,7 @@
66
67
  "@commitlint/cli": "^17.8.1",
67
68
  "@commitlint/config-conventional": "^17.8.1",
68
69
  "@reclaimprotocol/tls": "github:reclaimprotocol/tls",
69
- "@reclaimprotocol/zk-symmetric-crypto": "^3.0.2",
70
+ "@reclaimprotocol/zk-symmetric-crypto": "^3.0.5",
70
71
  "ajv": "^8.17.1",
71
72
  "canonicalize": "^2.0.0",
72
73
  "dotenv": "^16.4.6",
@@ -1,3 +0,0 @@
1
- import { Provider } from '../../types';
2
- declare const HTTP_BASE64_PROVIDER: Provider<'httpb64'>;
3
- export default HTTP_BASE64_PROVIDER;