@reclaimprotocol/attestor-core 3.0.1 → 3.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.
package/README.md CHANGED
@@ -1,4 +1,10 @@
1
1
  # Reclaim Attestor Core
2
+ <div>
3
+ <div>
4
+ <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" />
5
+ </div>
6
+ </div>
7
+
2
8
 
3
9
  ## Getting Started
4
10
 
@@ -63,14 +63,20 @@ async function registerOperator({ logger = utils_1.logger, chainId = config_1.SE
63
63
  else {
64
64
  logger.info('Operator already registered on AVS');
65
65
  }
66
- const existingMetadata = await contract.getMetadataForOperator(addr);
66
+ const existingMetadata = await contract.getMetadataForOperator(addr)
67
+ .catch(err => {
68
+ if (err.message.includes('Operator not found')) {
69
+ return undefined;
70
+ }
71
+ throw err;
72
+ });
67
73
  const metadata = { addr, url: reclaimRpcUrl };
68
- if (existingMetadata.addr === metadata.addr
69
- && existingMetadata.url === metadata.url) {
74
+ if ((existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.addr) === metadata.addr
75
+ && (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.url) === metadata.url) {
70
76
  logger.info('operator metadata already up to date');
71
77
  return;
72
78
  }
73
79
  await contract.updateOperatorMetadata(metadata);
74
80
  logger.info({ metadata }, 'operator metadata updated successfully');
75
81
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZzL3V0aWxzL3JlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkJBLDRDQXVGQztBQXBIRCxtQ0FBK0I7QUFDL0IsMkNBQXNFO0FBQ3RFLHVEQUFzRDtBQUN0RCxxQ0FBNEM7QUFzQjVDOzs7R0FHRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxFQUN0QyxNQUFNLEdBQUcsY0FBTSxFQUNmLE9BQU8sR0FBRywwQkFBaUIsRUFDM0IsTUFBTSxHQUFHLElBQUEsd0JBQVksRUFBQyxPQUFPLENBQUMsQ0FBQyxNQUFPLEVBQ3RDLGFBQWEsR0FBRywyQkFBa0IsS0FDakIsRUFBRTtJQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFBLHdCQUFZLEVBQUMsT0FBTyxDQUFDLENBQUE7SUFDdkMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsaUJBQWlCO1NBQ25ELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNqQixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWTtTQUN6QyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVE7U0FDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLGdCQUFnQjtTQUNqRCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFBO0lBQ2pDLElBQUksQ0FBQztRQUNKLE1BQU0sR0FBRyxHQUFHLE1BQU0saUJBQWlCO2FBQ2pDLGtCQUFrQixDQUFDO1lBQ25CLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsa0JBQWtCLEVBQ2pCLDRDQUE0QztZQUM3Qyx3QkFBd0IsRUFBRSxDQUFDO1NBQzNCLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFD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
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZzL3V0aWxzL3JlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkJBLDRDQThGQztBQTNIRCxtQ0FBK0I7QUFDL0IsMkNBQXNFO0FBQ3RFLHVEQUFzRDtBQUN0RCxxQ0FBNEM7QUFzQjVDOzs7R0FHRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxFQUN0QyxNQUFNLEdBQUcsY0FBTSxFQUNmLE9BQU8sR0FBRywwQkFBaUIsRUFDM0IsTUFBTSxHQUFHLElBQUEsd0JBQVksRUFBQyxPQUFPLENBQUMsQ0FBQyxNQUFPLEVBQ3RDLGFBQWEsR0FBRywyQkFBa0IsS0FDakIsRUFBRTtJQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFBLHdCQUFZLEVBQUMsT0FBTyxDQUFDLENBQUE7SUFDdkMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsaUJBQWlCO1NBQ25ELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNqQixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWTtTQUN6QyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVE7U0FDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLGdCQUFnQjtTQUNqRCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFBO0lBQ2pDLElBQUksQ0FBQztRQUNKLE1BQU0sR0FBRyxHQUFHLE1BQU0saUJBQWlCO2FBQ2pDLGtCQUFrQixDQUFDO1lBQ25CLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsa0JBQWtCLEVBQ2pCLDRDQUE0QztZQUM3Qyx3QkFBd0IsRUFBRSxDQUFDO1NBQzNCLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFD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
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createClaimOnAttestor = createClaimOnAttestor;
4
4
  const tls_1 = require("@reclaimprotocol/tls");
5
- const utils_1 = require("ethers/lib/utils");
6
5
  const make_rpc_tls_tunnel_1 = require("src/client/tunnels/make-rpc-tls-tunnel");
7
6
  const attestor_pool_1 = require("src/client/utils/attestor-pool");
8
7
  const config_1 = require("src/config");
9
8
  const api_1 = require("src/proto/api");
10
9
  const providers_1 = require("src/providers");
11
- const utils_2 = require("src/utils");
10
+ const utils_1 = require("src/utils");
12
11
  const retries_1 = require("src/utils/retries");
13
12
  const signatures_1 = require("src/utils/signatures");
14
13
  const tls_2 = require("src/utils/tls");
@@ -20,7 +19,7 @@ function createClaimOnAttestor({ logger: _logger, ...opts }) {
20
19
  // if the client has already been initialised
21
20
  // and no logger is provided, use the client's logger
22
21
  // otherwise default to the global logger
23
- || ('logger' in opts.client ? opts.client.logger : utils_2.logger);
22
+ || ('logger' in opts.client ? opts.client.logger : utils_1.logger);
24
23
  return (0, retries_1.executeWithRetries)(attempt => (_createClaimOnAttestor({
25
24
  ...opts,
26
25
  logger: attempt
@@ -32,22 +31,22 @@ function shouldRetry(err) {
32
31
  if (err instanceof TypeError) {
33
32
  return false;
34
33
  }
35
- return err instanceof utils_2.AttestorError
34
+ return err instanceof utils_1.AttestorError
36
35
  && err.code !== 'ERROR_INVALID_CLAIM'
37
36
  && err.code !== 'ERROR_BAD_REQUEST';
38
37
  }
39
- async function _createClaimOnAttestor({ name, params, secretParams, context, onStep, ownerPrivateKey, client: clientInit, logger = utils_2.logger, timestampS, updateProviderParams, ...zkOpts }) {
38
+ async function _createClaimOnAttestor({ name, params, secretParams, context, onStep, ownerPrivateKey, client: clientInit, logger = utils_1.logger, timestampS, updateProviderParams, ...zkOpts }) {
40
39
  const provider = providers_1.providers[name];
41
- const hostPort = (0, utils_2.getProviderValue)(params, provider.hostPort);
42
- const geoLocation = (0, utils_2.getProviderValue)(params, provider.geoLocation);
43
- const providerTlsOpts = (0, utils_2.getProviderValue)(params, provider.additionalClientOptions);
40
+ const hostPort = (0, utils_1.getProviderValue)(params, provider.hostPort);
41
+ const geoLocation = (0, utils_1.getProviderValue)(params, provider.geoLocation);
42
+ const providerTlsOpts = (0, utils_1.getProviderValue)(params, provider.additionalClientOptions);
44
43
  const tlsOpts = {
45
44
  ...(0, tls_2.getDefaultTlsOptions)(),
46
45
  ...providerTlsOpts,
47
46
  };
48
- let redactionMode = (0, utils_2.getProviderValue)(params, provider.writeRedactionMode);
47
+ let redactionMode = (0, utils_1.getProviderValue)(params, provider.writeRedactionMode);
49
48
  const [host, port] = hostPort.split(':');
50
- const resParser = (0, utils_2.makeHttpResponseParser)();
49
+ const resParser = (0, utils_1.makeHttpResponseParser)();
51
50
  let client;
52
51
  let lastMsgRevealed = false;
53
52
  const revealMap = new Map();
@@ -57,7 +56,7 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
57
56
  host,
58
57
  port: port ? +port : config_1.DEFAULT_HTTPS_PORT,
59
58
  geoLocation,
60
- id: (0, utils_2.generateTunnelId)()
59
+ id: (0, utils_1.generateTunnelId)()
61
60
  };
62
61
  const tunnel = await (0, make_rpc_tls_tunnel_1.makeRpcTlsTunnel)({
63
62
  tlsOpts,
@@ -166,9 +165,9 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
166
165
  request: createTunnelReq,
167
166
  data: {
168
167
  provider: name,
169
- parameters: (0, utils_2.canonicalStringify)(params),
170
- context: (0, utils_2.canonicalStringify)(context),
171
- timestampS: timestampS !== null && timestampS !== void 0 ? timestampS : (0, utils_2.unixTimestampSeconds)(),
168
+ parameters: (0, utils_1.canonicalStringify)(params),
169
+ context: (0, utils_1.canonicalStringify)(context),
170
+ timestampS: timestampS !== null && timestampS !== void 0 ? timestampS : (0, utils_1.unixTimestampSeconds)(),
172
171
  owner: getAddress(),
173
172
  },
174
173
  transcript: await generateTranscript(),
@@ -210,7 +209,7 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
210
209
  await tunnel.tls.write(requestData);
211
210
  setRevealOfLastSentBlock({
212
211
  type: 'zk',
213
- redactedPlaintext: (0, utils_2.redactSlices)(requestData, redactions)
212
+ redactedPlaintext: (0, utils_1.redactSlices)(requestData, redactions)
214
213
  });
215
214
  }
216
215
  /**
@@ -251,7 +250,7 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
251
250
  async function generateTranscript() {
252
251
  addServerSideReveals();
253
252
  const startMs = Date.now();
254
- const revealedMessages = await (0, utils_2.preparePacketsForReveal)(tunnel.transcript, revealMap, {
253
+ const revealedMessages = await (0, utils_1.preparePacketsForReveal)(tunnel.transcript, revealMap, {
255
254
  logger,
256
255
  cipherSuite: cipherSuite,
257
256
  onZkProgress(done, total) {
@@ -281,7 +280,7 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
281
280
  const serverBlocks = [];
282
281
  for (const b of allPackets) {
283
282
  if (b.message.type !== 'ciphertext'
284
- || !(0, utils_2.isApplicationData)(b.message, tlsVersion)) {
283
+ || !(0, utils_1.isApplicationData)(b.message, tlsVersion)) {
285
284
  continue;
286
285
  }
287
286
  const plaintext = tlsVersion === 'TLS1_3'
@@ -298,13 +297,10 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
298
297
  });
299
298
  }
300
299
  }
301
- provider.assertValidProviderReceipt(packets, {
302
- ...params,
303
- secretParams: secretParams //provide secret params for proper request body validation
304
- });
305
300
  if (provider.getResponseRedactions) {
306
- serverPacketsToReveal = (0, utils_2.getBlocksToReveal)(serverBlocks, total => provider.getResponseRedactions(total, params));
301
+ serverPacketsToReveal = (0, utils_1.getBlocksToReveal)(serverBlocks, total => provider.getResponseRedactions(total, params));
307
302
  }
303
+ const revealedPackets = packets.filter(p => p.sender === 'client');
308
304
  if (serverPacketsToReveal === 'all') {
309
305
  // reveal all server side blocks
310
306
  for (const { message, sender } of allPackets) {
@@ -312,6 +308,7 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
312
308
  setRevealOfMessage(message, { type: 'complete' });
313
309
  }
314
310
  }
311
+ revealedPackets.push(...packets.filter(p => p.sender === 'server'));
315
312
  }
316
313
  else {
317
314
  for (const { block, redactedPlaintext } of serverPacketsToReveal) {
@@ -319,13 +316,13 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
319
316
  type: 'zk',
320
317
  redactedPlaintext
321
318
  });
322
- }
323
- if (Array.isArray(serverPacketsToReveal)) {
324
- const msgs = serverPacketsToReveal.map(m => m.redactedPlaintext);
325
- const serverTranscript = utils_1.base64.encode((0, tls_1.concatenateUint8Arrays)(msgs));
326
- logger.debug({ redactedResponse: serverTranscript });
319
+ revealedPackets.push({ sender: 'server', message: redactedPlaintext });
327
320
  }
328
321
  }
322
+ provider.assertValidProviderReceipt(revealedPackets, {
323
+ ...params,
324
+ secretParams: secretParams //provide secret params for proper request body validation
325
+ });
329
326
  // reveal all handshake blocks
330
327
  // so the attestor can verify there was no
331
328
  // hanky-panky
@@ -335,7 +332,7 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
335
332
  }
336
333
  // break the moment we hit the first
337
334
  // application data packet
338
- if ((0, utils_2.isApplicationData)(p.message, tlsVersion)) {
335
+ if ((0, utils_1.isApplicationData)(p.message, tlsVersion)) {
339
336
  break;
340
337
  }
341
338
  setRevealOfMessage(p.message, { type: 'complete' });
@@ -354,4 +351,4 @@ async function _createClaimOnAttestor({ name, params, secretParams, context, onS
354
351
  return getAddress(pubKey);
355
352
  }
356
353
  }
357
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNsYWltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jcmVhdGUtY2xhaW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQ0Esc0RBbUJDO0FBcERELDhDQUFnRztBQUNoRyw0Q0FBeUM7QUFDekMsZ0ZBQXlFO0FBQ3pFLGtFQUEwRTtBQUMxRSx1Q0FBK0M7QUFDL0MsdUNBQWlFO0FBQ2pFLDZDQUF5QztBQUV6QyxxQ0FZa0I7QUFDbEIsK0NBQXNEO0FBQ3RELHFEQUFpRDtBQUNqRCx1Q0FBb0Q7QUFPcEQ7O0dBRUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FDcEMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFnQztJQUUxRCxNQUFNLE1BQU0sR0FBRyxPQUFPO1FBQ3JCLDZDQUE2QztRQUM3QyxxREFBcUQ7UUFDckQseUNBQXlDO1dBQ3RDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFNLENBQUMsQ0FBQTtJQUMzRCxPQUFPLElBQUEsNEJBQWtCLEVBQ3hCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FDVixzQkFBc0IsQ0FBSTtRQUN6QixHQUFHLElBQUk7UUFDUCxNQUFNLEVBQUUsT0FBTztZQUNkLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLE1BQU07S0FDVCxDQUFDLENBQ0YsRUFDRCxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FDdkIsQ0FBQTtBQUNGLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxHQUFVO0lBQzlCLElBQUcsR0FBRyxZQUFZLFNBQVMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFBO0lBQ2IsQ0FBQztJQUVELE9BQU8sR0FBRyxZQUFZLHFCQUFhO1dBQy9CLEdB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
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNsYWltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jcmVhdGUtY2xhaW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQ0Esc0RBbUJDO0FBbkRELDhDQUF3RTtBQUN4RSxnRkFBeUU7QUFDekUsa0VBQTBFO0FBQzFFLHVDQUErQztBQUMvQyx1Q0FBaUU7QUFDakUsNkNBQXlDO0FBRXpDLHFDQVlrQjtBQUNsQiwrQ0FBc0Q7QUFDdEQscURBQWlEO0FBQ2pELHVDQUFvRDtBQU9wRDs7R0FFRztBQUNILFNBQWdCLHFCQUFxQixDQUNwQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQWdDO0lBRTFELE1BQU0sTUFBTSxHQUFHLE9BQU87UUFDckIsNkNBQTZDO1FBQzdDLHFEQUFxRDtRQUNyRCx5Q0FBeUM7V0FDdEMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQU0sQ0FBQyxDQUFBO0lBQzNELE9BQU8sSUFBQSw0QkFBa0IsRUFDeEIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUNWLHNCQUFzQixDQUFJO1FBQ3pCLEdBQUcsSUFBSTtRQUNQLE1BQU0sRUFBRSxPQUFPO1lBQ2QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsTUFBTTtLQUNULENBQUMsQ0FDRixFQUNELEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUN2QixDQUFBO0FBQ0YsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEdBQVU7SUFDOUIsSUFBRyxHQUFHLFlBQVksU0FBUyxFQUFFLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUE7SUFDYixDQUFDO0lBRUQsT0FBTyxHQUFHLFlBQVkscUJBQWE7V0FDL0IsR0FBRyxDQUFDLElBQUks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
@@ -107,10 +107,15 @@ const HTTP_PROVIDER = {
107
107
  },
108
108
  getResponseRedactions(response, rawParams) {
109
109
  var _a, _b;
110
+ utils_3.logger.debug({ response: utils_1.base64.encode(response), params: rawParams });
110
111
  const res = (0, utils_2.parseHttpResponse)(response);
111
112
  if (!((_a = rawParams.responseRedactions) === null || _a === void 0 ? void 0 : _a.length)) {
112
113
  return [];
113
114
  }
115
+ if (((res.statusCode / 100) >> 0) !== 2) {
116
+ utils_3.logger.error({ response: utils_1.base64.encode(response), params: rawParams });
117
+ throw new Error(`Provider returned ${res.statusCode} ${res.statusMessage} error`);
118
+ }
114
119
  const newParams = substituteParamValues(rawParams, undefined, true);
115
120
  const params = newParams.newParams;
116
121
  const headerEndIndex = res.statusLineEndIndex;
@@ -131,21 +136,58 @@ const HTTP_PROVIDER = {
131
136
  let elementIdx = 0;
132
137
  let elementLength = -1;
133
138
  if (rs.xPath) {
134
- const { start, end } = (0, utils_2.extractHTMLElementIndex)(body, rs.xPath, !!rs.jsonPath);
135
- element = body.slice(start, end);
136
- elementIdx = start;
137
- elementLength = end - start;
139
+ const indexes = (0, utils_2.extractHTMLElementsIndexes)(body, rs.xPath, !!rs.jsonPath);
140
+ for (const { start, end } of indexes) {
141
+ element = body.slice(start, end);
142
+ elementIdx = start;
143
+ elementLength = end - start;
144
+ if (rs.jsonPath) {
145
+ processJsonPath();
146
+ }
147
+ else if (rs.regex) {
148
+ processRegexp();
149
+ }
150
+ else {
151
+ addRedaction();
152
+ }
153
+ }
154
+ }
155
+ else if (rs.jsonPath) {
156
+ processJsonPath();
157
+ if (rs.regex) {
158
+ processRegexp();
159
+ }
160
+ else {
161
+ addRedaction();
162
+ }
163
+ }
164
+ else if (rs.regex) {
165
+ processRegexp();
138
166
  }
139
- if (rs.jsonPath) {
140
- const { start, end } = (0, utils_2.extractJSONValueIndex)(element, rs.jsonPath);
141
- element = body.slice(elementIdx + start, elementIdx + end);
142
- elementIdx += start;
143
- elementLength = end - start;
167
+ function processJsonPath() {
168
+ const jsonPathIndexes = (0, utils_2.extractJSONValueIndexes)(element, rs.jsonPath);
169
+ // eslint-disable-next-line max-depth
170
+ const eIndex = elementIdx;
171
+ for (const ji of jsonPathIndexes) {
172
+ const jStart = ji.start;
173
+ const jEnd = ji.end;
174
+ element = body.slice(eIndex + jStart, eIndex + jEnd);
175
+ elementIdx = eIndex + jStart;
176
+ elementLength = jEnd - jStart;
177
+ // eslint-disable-next-line max-depth
178
+ if (rs.regex) {
179
+ processRegexp();
180
+ }
181
+ else {
182
+ addRedaction();
183
+ }
184
+ }
144
185
  }
145
- if (rs.regex) {
186
+ function processRegexp() {
146
187
  const regexp = (0, utils_2.makeRegex)(rs.regex);
147
188
  const elem = element || body;
148
189
  const match = regexp.exec(elem);
190
+ // eslint-disable-next-line max-depth
149
191
  if (!(match === null || match === void 0 ? void 0 : match[0])) {
150
192
  utils_3.logger.error({ response: (0, utils_3.uint8ArrayToBinaryStr)(res.body) });
151
193
  throw new Error(`regexp ${rs.regex} does not match found element '${elem}'`);
@@ -153,12 +195,16 @@ const HTTP_PROVIDER = {
153
195
  elementIdx += match.index;
154
196
  elementLength = regexp.lastIndex - match.index;
155
197
  element = match[0];
198
+ addRedaction();
156
199
  }
157
- if (elementIdx >= 0 && elementLength > 0) {
158
- const from = (0, utils_2.convertResponsePosToAbsolutePos)(elementIdx, bodyStartIdx, res.chunks);
159
- const to = (0, utils_2.convertResponsePosToAbsolutePos)(elementIdx + elementLength, bodyStartIdx, res.chunks);
160
- reveals.push({ fromIndex: from, toIndex: to });
161
- redactions.push(...(0, utils_2.getRedactionsForChunkHeaders)(from, to, res.chunks));
200
+ // eslint-disable-next-line unicorn/consistent-function-scoping
201
+ function addRedaction() {
202
+ if (elementIdx >= 0 && elementLength > 0) {
203
+ const from = (0, utils_2.convertResponsePosToAbsolutePos)(elementIdx, bodyStartIdx, res.chunks);
204
+ const to = (0, utils_2.convertResponsePosToAbsolutePos)(elementIdx + elementLength, bodyStartIdx, res.chunks);
205
+ reveals.push({ fromIndex: from, toIndex: to });
206
+ redactions.push(...(0, utils_2.getRedactionsForChunkHeaders)(from, to, res.chunks));
207
+ }
162
208
  }
163
209
  }
164
210
  reveals.sort((a, b) => {
@@ -183,7 +229,7 @@ const HTTP_PROVIDER = {
183
229
  logTranscript();
184
230
  let extractedParams = {};
185
231
  const secretParams = ('secretParams' in paramsAny) ? paramsAny.secretParams : undefined;
186
- const newParams = substituteParamValues(paramsAny, secretParams, false);
232
+ const newParams = substituteParamValues(paramsAny, secretParams, !secretParams);
187
233
  const params = newParams.newParams;
188
234
  extractedParams = { ...extractedParams, ...newParams.extractedValues };
189
235
  const req = (0, utils_3.getHttpRequestDataFromTranscript)(receipt);
@@ -217,30 +263,21 @@ const HTTP_PROVIDER = {
217
263
  const response = concatArrays(...serverBlocks);
218
264
  let res;
219
265
  let bodyStart = OK_HTTP_HEADER.length;
220
- if (secretParams) { //means we're on client doing preliminary checks
221
- const parsedResp = (0, utils_2.parseHttpResponse)(response); // to deal with chunked responses
222
- if (parsedResp.statusCode !== 200) {
223
- throw new Error(`Provider returned error ${parsedResp.statusCode} ${parsedResp.statusMessage}"`);
266
+ res = (0, utils_3.uint8ArrayToStr)(response);
267
+ if (!res.startsWith(OK_HTTP_HEADER)) {
268
+ const statusRegex = (0, utils_2.makeRegex)('^HTTP\\/1.1 (\\d{3})');
269
+ const matchRes = statusRegex.exec(res);
270
+ if (matchRes && matchRes.length > 1) {
271
+ throw new Error(`Provider returned error ${matchRes[1]}"`);
224
272
  }
225
- res = (0, utils_3.uint8ArrayToStr)(parsedResp.body);
226
- }
227
- else {
228
- res = (0, utils_3.uint8ArrayToStr)(response);
229
- if (!res.startsWith(OK_HTTP_HEADER)) {
230
- const statusRegex = (0, utils_2.makeRegex)('^HTTP\\/1.1 (\\d{3})');
231
- const matchRes = statusRegex.exec(res);
232
- if (matchRes && matchRes.length > 1) {
233
- throw new Error(`Provider returned error ${matchRes[1]}"`);
234
- }
235
- let lineEnd = res.indexOf('*');
236
- if (lineEnd === -1) {
237
- lineEnd = res.indexOf('\n');
238
- }
239
- if (lineEnd === -1) {
240
- lineEnd = OK_HTTP_HEADER.length;
241
- }
242
- throw new Error(`Response did not start with "${OK_HTTP_HEADER}" got "${res.slice(0, lineEnd)}"`);
273
+ let lineEnd = res.indexOf('*');
274
+ if (lineEnd === -1) {
275
+ lineEnd = res.indexOf('\n');
276
+ }
277
+ if (lineEnd === -1) {
278
+ lineEnd = OK_HTTP_HEADER.length;
243
279
  }
280
+ throw new Error(`Response did not start with "${OK_HTTP_HEADER}" got "${res.slice(0, lineEnd)}"`);
244
281
  }
245
282
  //validate server Date header if present
246
283
  const dateHeader = (0, utils_2.makeRegex)(dateHeaderRegex).exec(res);
@@ -469,4 +506,4 @@ function getURL(v2Params) {
469
506
  return hostPort;
470
507
  }
471
508
  exports.default = HTTP_PROVIDER;
472
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2h0dHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBb0c7QUFDcEcsNENBQXlDO0FBQ3pDLHVDQUFtRTtBQUNuRSxvREFRaUM7QUFFakMscUNBTWtCO0FBRWxCLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQTtBQUNyQyxNQUFNLGVBQWUsR0FBRyx3S0FBd0ssQ0FBQTtBQUNoTSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQSxDQUFDLDBCQUEwQjtBQUcxRCxNQUFNLGFBQWEsR0FBcUI7SUFDdkMsUUFBUSxFQUFFLFdBQVc7SUFDckIsa0JBQWtCLENBQUMsTUFBTTtRQUN4QixPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCO1lBQzNCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDYixDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQU07UUFDakIsT0FBTyxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUM7WUFDL0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNiLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxNQUFNO1FBQzdCLElBQUksY0FBYyxHQUF5QjtZQUMxQyx5QkFBeUIsRUFBRyxDQUFDLFVBQVUsQ0FBQztTQUN4QyxDQUFBO1FBQ0QsSUFBRyx5QkFBeUIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QyxjQUFjLEdBQUc7Z0JBQ2hCLEdBQUcsY0FBYztnQkFDakIsR0FBRyxNQUFNLENBQUMsdUJBQXVCO2FBQ2pDLENBQUE7UUFDRixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUE7SUFDdEIsQ0FBQztJQUNELGFBQWEsQ0FBQyxZQUFZLEVBQUUsTUFBTTs7UUFDakMsSUFDQyxDQUFD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
509
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2h0dHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBb0c7QUFDcEcsNENBQXlDO0FBQ3pDLHVDQUFtRTtBQUNuRSxvREFRaUM7QUFFakMscUNBTWtCO0FBRWxCLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQTtBQUNyQyxNQUFNLGVBQWUsR0FBRyx3S0FBd0ssQ0FBQTtBQUNoTSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQSxDQUFDLDBCQUEwQjtBQUcxRCxNQUFNLGFBQWEsR0FBcUI7SUFDdkMsUUFBUSxFQUFFLFdBQVc7SUFDckIsa0JBQWtCLENBQUMsTUFBTTtRQUN4QixPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCO1lBQzNCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDYixDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQU07UUFDakIsT0FBTyxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUM7WUFDL0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNiLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxNQUFNO1FBQzdCLElBQUksY0FBYyxHQUF5QjtZQUMxQyx5QkFBeUIsRUFBRyxDQUFDLFVBQVUsQ0FBQztTQUN4QyxDQUFBO1FBQ0QsSUFBRyx5QkFBeUIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QyxjQUFjLEdBQUc7Z0JBQ2hCLEdBQUcsY0FBYztnQkFDakIsR0FBRyxNQUFNLENBQUMsdUJBQXVCO2FBQ2pDLENBQUE7UUFDRixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUE7SUFDdEIsQ0FBQztJQUNELGFBQWEsQ0FBQyxZQUFZLEVBQUUsTUFBTTs7UUFDakMsSUFDQyxDQUFD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
@@ -5,15 +5,48 @@ export type JSONIndex = {
5
5
  end: number;
6
6
  };
7
7
  type HTTPProviderParams = ProviderParams<'http'>;
8
+ /**
9
+ * Returns only first extracted element
10
+ * @param html
11
+ * @param xpathExpression
12
+ * @param contentsOnly
13
+ */
8
14
  export declare function extractHTMLElement(html: string, xpathExpression: string, contentsOnly: boolean): string;
15
+ /**
16
+ * Returns all extracted elements
17
+ * @param html
18
+ * @param xpathExpression
19
+ * @param contentsOnly
20
+ */
21
+ export declare function extractHTMLElements(html: string, xpathExpression: string, contentsOnly: boolean): string[];
22
+ /**
23
+ * returns a single index of extracted element
24
+ * @param html
25
+ * @param xpathExpression
26
+ * @param contentsOnly
27
+ */
9
28
  export declare function extractHTMLElementIndex(html: string, xpathExpression: string, contentsOnly: boolean): {
10
29
  start: number;
11
30
  end: number;
12
31
  };
32
+ /**
33
+ * Returns indexes of all extracted elements
34
+ * @param html
35
+ * @param xpathExpression
36
+ * @param contentsOnly
37
+ */
38
+ export declare function extractHTMLElementsIndexes(html: string, xpathExpression: string, contentsOnly: boolean): {
39
+ start: number;
40
+ end: number;
41
+ }[];
13
42
  export declare function extractJSONValueIndex(json: string, jsonPath: string): {
14
43
  start: number;
15
44
  end: number;
16
45
  };
46
+ export declare function extractJSONValueIndexes(json: string, jsonPath: string): {
47
+ start: number;
48
+ end: number;
49
+ }[];
17
50
  export declare function buildHeaders(input: HTTPProviderParams['headers']): string[];
18
51
  /**
19
52
  * Converts position in HTTP response body to an absolute position in TLS transcript considering chunked encoding