@reclaimprotocol/attestor-core 3.0.5 → 3.1.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 (34) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +58 -8
  3. package/lib/avs/client/create-claim-on-avs.d.ts +2 -0
  4. package/lib/avs/client/create-claim-on-avs.js +2 -2
  5. package/lib/config/index.d.ts +1 -4
  6. package/lib/config/index.js +3 -6
  7. package/lib/providers/http/index.js +21 -43
  8. package/lib/providers/httpb64/index.d.ts +3 -0
  9. package/lib/providers/httpb64/index.js +209 -0
  10. package/lib/providers/httpb64/utils.d.ts +77 -0
  11. package/lib/providers/httpb64/utils.js +358 -0
  12. package/lib/providers/index.js +3 -1
  13. package/lib/scripts/generate-receipt.js +1 -1
  14. package/lib/scripts/update-avs-metadata.d.ts +1 -0
  15. package/lib/scripts/update-avs-metadata.js +22 -0
  16. package/lib/server/utils/assert-valid-claim-request.d.ts +2 -1
  17. package/lib/server/utils/assert-valid-claim-request.js +2 -2
  18. package/lib/server/utils/verify-server-certificates.d.ts +7 -0
  19. package/lib/server/utils/verify-server-certificates.js +101 -0
  20. package/lib/tests/describe-with-server.d.ts +2 -1
  21. package/lib/tests/describe-with-server.js +2 -2
  22. package/lib/tests/test.tcp-tunnel.js +2 -2
  23. package/lib/tests/test.zk.js +2 -2
  24. package/lib/types/providers.gen.d.ts +156 -0
  25. package/lib/types/providers.gen.js +5 -1
  26. package/lib/types/zk.d.ts +1 -2
  27. package/lib/utils/generics.js +4 -4
  28. package/lib/utils/zk.d.ts +3 -3
  29. package/lib/utils/zk.js +28 -60
  30. package/lib/window-rpc/setup-window-rpc.js +2 -2
  31. package/lib/window-rpc/types.d.ts +3 -3
  32. package/lib/window-rpc/window-rpc-zk.d.ts +1 -2
  33. package/lib/window-rpc/window-rpc-zk.js +2 -2
  34. package/package.json +7 -5
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Reclaim Attestor Core
2
+
2
3
  <div>
3
4
  <div>
4
5
  <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" />
@@ -6,17 +7,66 @@
6
7
  </div>
7
8
 
8
9
 
9
- ## Getting Started
10
+ ![Test status](https://github.com/ReclaimProtocol/attestor-core/actions/workflows/ci-cd.yml/badge.svg?job=test)
11
+ ![Deploy status](https://github.com/ReclaimProtocol/attestor-core/actions/workflows/ci-cd.yml/badge.svg?job=deploy)
12
+
13
+ ## What is the Reclaim Protocol?
14
+
15
+ Reclaim enables you to bring user activity, reputation, and identity from external websites into your own platform.
16
+
17
+ For example,
18
+ - Import the number of rides the user has taken on Uber to build a competing ride sharing platform
19
+ - Import the users purchasing preferences using Amazon to provide discounts to the right users
20
+ - Enable economics on a blockchain using users offchain activity data
21
+ - Use national IDs to perform KYC
22
+
23
+ And many more...
24
+
25
+ ### Now what is this repository?
26
+
27
+ The `attestor-core` package is the core implementation of the Reclaim protocol.
28
+
29
+ TLDR: An "attestor" is a server that sits between the reclaim user & the internet. The client sends data to the internet via the attestor. All this data is exchanged securely via the TLS protocol.
10
30
 
11
- To get started with Reclaim, check out our comprehensive documentation, [Reclaim Documentation](https://docs.reclaimprotocol.org/).
31
+ We leverage some special properties of the TLS protocol along with zero-knowledge proofs to reveal only the necessary information to the attestor.
32
+ The attestor then signs this data & sends it back to the client. The client can then use this signed data to prove the claim to anyone.
12
33
 
13
- For an intro to this package & how it works, check out our [Getting Started Guide](/docs/readme.md).
34
+ This package contains both the client & server side code for the Reclaim protocol.
14
35
 
15
- ## Try It Out Yourself
36
+ Read a longer brief [here](/docs/problem-statement.md).
16
37
 
17
- Ready to dive in? Follow our installation guide to set up Reclaim.
38
+ This repository contains **Typescript** implementation of the attestor server & the SDK to interact with it. The SDK is compatible with the browser & NodeJS. However, to run the SDK on React Native/Mobile, refer to our [React Native guide](/docs/browser-rpc.md).
39
+
40
+ Note: if you're looking to build apps on Reclaim, we'd recommend you to use the [Reclaim SDK](https://docs.reclaimprotocol.org/) instead. This repository is intended for developers looking to contribute to the core protocol.
41
+
42
+ ## Install
43
+
44
+ From GitHub:
45
+ `npm install git+https://github.com/reclaimprotocol/attestor-core`
46
+
47
+ From NPM:
48
+ `npm install @reclaimprotocol/attestor-core`
49
+
50
+ **Note:** if you plan on running the package on NodeJS or any non-browser environment, download the ZK files required to generate & verify ZK proofs:
51
+ ```bash
52
+ npm run download:zk-files
53
+ ```
54
+
55
+ **Note:** this approach is only advised for NodeJS projects or projects meant to run directly in a modern browser. For React Native or any solution running in a mobile app, refer to our doc [here](/docs/browser-rpc.md).
56
+
57
+ Note for devs: the "prepare" script which is run after `npm install` is configured to only build when there are files in the `src` directory. This is to prevent errors when building the Docker image.
58
+
59
+ ## Getting Started
18
60
 
19
- [Install Reclaim](https://docs.reclaimprotocol.org/install)
61
+ We'd recommend you go through our documentation in the following order:
62
+ 1. [Problem Statement](/docs/problem-statement.md): Understand the problem we're solving & whether this is the right solution for you.
63
+ 2. [Getting Started](/docs/getting-started.md): Understand how to get started with the attestor SDK & create your first claim.
64
+ 3. [Browser RPC/React Native](/docs/browser-rpc.md): How to setup the attestor client SDK for environments like React Native or any other mobile app.
65
+ 4. [Provider](/docs/provider.md): What is a provider in the Reclaim context, how to create one & details on the HTTP provider.
66
+ 5. [Internals of Claim Creation](/docs/claim-creation.md): In-depth description of the full flow of creating a claim with a attestor.
67
+ 6. [Working with the Codebase](/docs/project.md): Understand how to work with the codebase & how to deploy an attestor server.
68
+ 7. [Run your own Attestor Server](/docs/run-server.md): Understand how to run your own attestor server locally or deploy it to the cloud.
69
+ 8. [AVS](/docs/avs.md): Understand how we use an Eigen AVS to decentralize the attestor server.
20
70
 
21
71
  ## Contributing to Our Project
22
72
 
@@ -40,6 +90,6 @@ For Indie Hackers: [Check out our guidelines and potential grant opportunities](
40
90
 
41
91
  ## License
42
92
 
43
- This project is licensed under a [custom license](https://github.com/reclaimprotocol/.github/blob/main/LICENSE). By contributing to this project, you agree that your contributions will be licensed under its terms.
93
+ This project is licensed under a [AGPL v3](./LICENSE). By contributing to this project, you agree that your contributions will be licensed under its terms.
44
94
 
45
- Thank you for your contributions!
95
+ Thank you for your contributions!
@@ -1,10 +1,12 @@
1
1
  import { TaskCompletedEventObject } from '../../avs/contracts/ReclaimServiceManager';
2
2
  import { CreateClaimOnAvsOpts } from '../../avs/types';
3
+ import { ProviderClaimData } from '../../proto/api';
3
4
  import { ProviderName } from '../../types';
4
5
  /**
5
6
  * Creates a Reclaim claim on the AVS chain.
6
7
  */
7
8
  export declare function createClaimOnAvs<N extends ProviderName>({ onStep, createClaimOnAttestor, chainId, payer, ...opts }: CreateClaimOnAvsOpts<N>): Promise<{
9
+ claimData: ProviderClaimData;
8
10
  object: TaskCompletedEventObject;
9
11
  txHash: string;
10
12
  }>;
@@ -62,7 +62,7 @@ async function createClaimOnAvs({ onStep, createClaimOnAttestor = client_1.creat
62
62
  }
63
63
  const rslt = await completeTask();
64
64
  logger.info({ tx: rslt.txHash, task: arg.taskIndex }, 'claim submitted & validated');
65
- return rslt;
65
+ return { ...rslt, claimData: responses[0].claim };
66
66
  async function requestClaimCreation() {
67
67
  const request = {
68
68
  provider: name,
@@ -144,4 +144,4 @@ function getClaimRequestDifference(a, b) {
144
144
  return 'timestampS';
145
145
  }
146
146
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNsYWltLW9uLWF2cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdnMvY2xpZW50L2NyZWF0ZS1jbGFpbS1vbi1hdnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsNENBd0tDO0FBeExELG1DQUF1QztBQUN2QywyQ0FBaUU7QUFHakUsdURBQTZEO0FBQzdELCtDQUFvRjtBQUNwRix1Q0FBdUc7QUFHdkcscUNBQWlJO0FBRWpJLE1BQU0sbUJBQW1CLEdBQUcsZUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVwRTs7R0FFRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FBeUIsRUFDOUQsTUFBTSxFQUNOLHFCQUFxQixHQUFHLDhCQUFzQixFQUM5QyxPQUFPLEdBQUcsMEJBQWlCLEVBQzNCLEtBQUssRUFDTCxHQUFHLElBQUksRUFDa0I7O0lBQ3pCLE1BQU0sRUFDTCxNQUFNLEdBQUcsY0FBTSxFQUNmLGVBQWUsRUFDZixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sR0FDUCxHQUFHLElBQUksQ0FBQTtJQUNSLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSwrQkFBbUIsRUFDL0Msc0JBQWEsQ0FBQyxPQUFRLENBQUMsRUFDdkIsZUFBZSxDQUNmLENBQUE7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUNWLEVBQUUsS0FBSyxFQUFFLE1BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFDdEQsZ0JBQWdCLENBQ2hCLENBQUE7SUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUE7SUFFeEMsTUFBTSxDQUFDLElBQUksQ0FDVjtRQUNDLEtBQUssRUFBRSxHQUFHLENBQUMsU0FBUztRQUNwQixTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFT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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNsYWltLW9uLWF2cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdnMvY2xpZW50L2NyZWF0ZS1jbGFpbS1vbi1hdnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsNENBd0tDO0FBeExELG1DQUF1QztBQUN2QywyQ0FBaUU7QUFHakUsdURBQTZEO0FBQzdELCtDQUFvRjtBQUNwRix1Q0FBdUc7QUFHdkcscUNBQWlJO0FBRWpJLE1BQU0sbUJBQW1CLEdBQUcsZUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVwRTs7R0FFRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FBeUIsRUFDOUQsTUFBTSxFQUNOLHFCQUFxQixHQUFHLDhCQUFzQixFQUM5QyxPQUFPLEdBQUcsMEJBQWlCLEVBQzNCLEtBQUssRUFDTCxHQUFHLElBQUksRUFDa0I7O0lBQ3pCLE1BQU0sRUFDTCxNQUFNLEdBQUcsY0FBTSxFQUNmLGVBQWUsRUFDZixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sR0FDUCxHQUFHLElBQUksQ0FBQTtJQUNSLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSwrQkFBbUIsRUFDL0Msc0JBQWEsQ0FBQyxPQUFRLENBQUMsRUFDdkIsZUFBZSxDQUNmLENBQUE7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUNWLEVBQUUsS0FBSyxFQUFFLE1BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFDdEQsZ0JBQWdCLENBQ2hCLENBQUE7SUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUE7SUFFeEMsTUFBTSxDQUFDLElBQUksQ0FDVjtRQUNDLEtBQUssRUFBRSxHQUFHLENBQUMsU0FBUztRQUNwQixTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFT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
@@ -5,10 +5,7 @@ export declare const RECLAIM_USER_AGENT = "reclaim/0.0.1";
5
5
  export declare const DEFAULT_HTTPS_PORT = 443;
6
6
  export declare const WS_PATHNAME = "/ws";
7
7
  export declare const BROWSER_RPC_PATHNAME = "/browser-rpc";
8
- export declare const DEFAULT_REMOTE_ZK_PARAMS: {
9
- zkeyUrl: string;
10
- circuitWasmUrl: string;
11
- };
8
+ export declare const DEFAULT_REMOTE_FILE_FETCH_BASE_URL = "/browser-rpc/resources";
12
9
  export declare const API_SERVER_PORT = 8001;
13
10
  export declare const CONNECTION_TIMEOUT_MS = 10000;
14
11
  export declare const DNS_SERVERS: string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAX_NO_DATA_INTERVAL_MS = exports.PING_INTERVAL_MS = exports.DEFAULT_METADATA = exports.MAX_CLAIM_TIMESTAMP_DIFF_S = exports.DNS_SERVERS = exports.CONNECTION_TIMEOUT_MS = exports.API_SERVER_PORT = exports.DEFAULT_REMOTE_ZK_PARAMS = exports.BROWSER_RPC_PATHNAME = exports.WS_PATHNAME = exports.DEFAULT_HTTPS_PORT = exports.RECLAIM_USER_AGENT = exports.DEFAULT_ZK_CONCURRENCY = exports.MAX_ZK_CHUNKS = void 0;
3
+ exports.MAX_NO_DATA_INTERVAL_MS = exports.PING_INTERVAL_MS = exports.DEFAULT_METADATA = exports.MAX_CLAIM_TIMESTAMP_DIFF_S = exports.DNS_SERVERS = exports.CONNECTION_TIMEOUT_MS = exports.API_SERVER_PORT = exports.DEFAULT_REMOTE_FILE_FETCH_BASE_URL = exports.BROWSER_RPC_PATHNAME = exports.WS_PATHNAME = exports.DEFAULT_HTTPS_PORT = exports.RECLAIM_USER_AGENT = exports.DEFAULT_ZK_CONCURRENCY = exports.MAX_ZK_CHUNKS = void 0;
4
4
  const api_1 = require("../proto/api");
5
5
  exports.MAX_ZK_CHUNKS = 200;
6
6
  exports.DEFAULT_ZK_CONCURRENCY = 10;
@@ -8,10 +8,7 @@ exports.RECLAIM_USER_AGENT = 'reclaim/0.0.1';
8
8
  exports.DEFAULT_HTTPS_PORT = 443;
9
9
  exports.WS_PATHNAME = '/ws';
10
10
  exports.BROWSER_RPC_PATHNAME = '/browser-rpc';
11
- exports.DEFAULT_REMOTE_ZK_PARAMS = {
12
- zkeyUrl: `${exports.BROWSER_RPC_PATHNAME}/resources/{algorithm}/circuit_final.zkey`,
13
- circuitWasmUrl: `${exports.BROWSER_RPC_PATHNAME}/resources/{algorithm}/circuit.wasm`,
14
- };
11
+ exports.DEFAULT_REMOTE_FILE_FETCH_BASE_URL = `${exports.BROWSER_RPC_PATHNAME}/resources`;
15
12
  exports.API_SERVER_PORT = 8001;
16
13
  // 10s
17
14
  exports.CONNECTION_TIMEOUT_MS = 10000;
@@ -32,4 +29,4 @@ exports.PING_INTERVAL_MS = 10000;
32
29
  * @default 30s
33
30
  */
34
31
  exports.MAX_NO_DATA_INTERVAL_MS = 30000;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFrRjtBQUVyRSxRQUFBLGFBQWEsR0FBRyxHQUFHLENBQUE7QUFFbkIsUUFBQSxzQkFBc0IsR0FBRyxFQUFFLENBQUE7QUFFM0IsUUFBQSxrQkFBa0IsR0FBRyxlQUFlLENBQUE7QUFFcEMsUUFBQSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7QUFFeEIsUUFBQSxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBRW5CLFFBQUEsb0JBQW9CLEdBQUcsY0FBYyxDQUFBO0FBRXJDLFFBQUEsd0JBQXdCLEdBQUc7SUFDdkMsT0FBTyxFQUFFLEdBQUcsNEJBQW9CLDJDQUEyQztJQUMzRSxjQUFjLEVBQUUsR0FBRyw0QkFBb0IscUNBQXFDO0NBQzVFLENBQUE7QUFFWSxRQUFBLGVBQWUsR0FBRyxJQUFJLENBQUE7QUFFbkMsTUFBTTtBQUNPLFFBQUEscUJBQXFCLEdBQUcsS0FBTSxDQUFBO0FBRTlCLFFBQUEsV0FBVyxHQUFHO0lBQzFCLFNBQVM7SUFDVCxTQUFTO0NBQ1QsQ0FBQTtBQUVELE1BQU07QUFDTyxRQUFBLDBCQUEwQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUE7QUFFcEMsUUFBQSxnQkFBZ0IsR0FBZ0I7SUFDNUMsYUFBYSxFQUFFLDBCQUFvQixDQUFDLDBCQUEwQjtJQUM5RCxhQUFhLEVBQUUscUJBQWUsQ0FBQyxzQkFBc0I7Q0FDckQsQ0FBQTtBQUVZLFFBQUEsZ0JBQWdCLEdBQUcsS0FBTSxDQUFBO0FBQ3RDOzs7O0dBSUc7QUFDVSxRQUFBLHVCQUF1QixHQUFHLEtBQU0sQ0FBQSJ9
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFrRjtBQUVyRSxRQUFBLGFBQWEsR0FBRyxHQUFHLENBQUE7QUFFbkIsUUFBQSxzQkFBc0IsR0FBRyxFQUFFLENBQUE7QUFFM0IsUUFBQSxrQkFBa0IsR0FBRyxlQUFlLENBQUE7QUFFcEMsUUFBQSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7QUFFeEIsUUFBQSxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBRW5CLFFBQUEsb0JBQW9CLEdBQUcsY0FBYyxDQUFBO0FBRXJDLFFBQUEsa0NBQWtDLEdBQUcsR0FBRyw0QkFBb0IsWUFBWSxDQUFBO0FBRXhFLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQTtBQUVuQyxNQUFNO0FBQ08sUUFBQSxxQkFBcUIsR0FBRyxLQUFNLENBQUE7QUFFOUIsUUFBQSxXQUFXLEdBQUc7SUFDMUIsU0FBUztJQUNULFNBQVM7Q0FDVCxDQUFBO0FBRUQsTUFBTTtBQUNPLFFBQUEsMEJBQTBCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQTtBQUVwQyxRQUFBLGdCQUFnQixHQUFnQjtJQUM1QyxhQUFhLEVBQUUsMEJBQW9CLENBQUMsMEJBQTBCO0lBQzlELGFBQWEsRUFBRSxxQkFBZSxDQUFDLHNCQUFzQjtDQUNyRCxDQUFBO0FBRVksUUFBQSxnQkFBZ0IsR0FBRyxLQUFNLENBQUE7QUFDdEM7Ozs7R0FJRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsS0FBTSxDQUFBIn0=
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const tls_1 = require("@reclaimprotocol/tls");
4
7
  const utils_1 = require("ethers/lib/utils");
5
8
  const config_1 = require("../../config");
6
9
  const utils_2 = require("../../providers/http/utils");
7
10
  const utils_3 = require("../../utils");
11
+ const fs_1 = __importDefault(require("fs"));
8
12
  const OK_HTTP_HEADER = 'HTTP/1.1 200';
9
13
  const dateHeaderRegex = '[dD]ate: ((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (?:[0-3][0-9]) (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?:[0-9]{4}) (?:[01][0-9]|2[0-3])(?::[0-5][0-9]){2} GMT)';
10
14
  const dateDiff = 1000 * 60 * 10; // allow 10 min difference
@@ -263,6 +267,7 @@ const HTTP_PROVIDER = {
263
267
  const response = concatArrays(...serverBlocks);
264
268
  let res;
265
269
  let bodyStart = OK_HTTP_HEADER.length;
270
+ // convert response to base64 string
266
271
  res = (0, utils_3.uint8ArrayToStr)(response);
267
272
  if (!res.startsWith(OK_HTTP_HEADER)) {
268
273
  const statusRegex = (0, utils_2.makeRegex)('^HTTP\\/1.1 (\\d{3})');
@@ -289,47 +294,20 @@ const HTTP_PROVIDER = {
289
294
  }
290
295
  bodyStart = dateHeader.index + dateHeader[0].length;
291
296
  }
292
- const paramBody = params.body instanceof Uint8Array
293
- ? params.body
294
- : (0, tls_1.strToUint8Array)(params.body || '');
295
- if (paramBody.length > 0 && !(0, utils_2.matchRedactedStrings)(paramBody, req.body)) {
296
- throw new Error('request body mismatch');
297
- }
298
- //remove asterisks to account for chunks in the middle of revealed strings
299
- if (!secretParams) {
300
- res = res.slice(bodyStart).replace(/(\*){3,}/g, '');
301
- }
302
- for (const { type, value, invert } of params.responseMatches || []) {
303
- const inv = Boolean(invert); // explicitly cast to boolean
304
- switch (type) {
305
- case 'regex':
306
- const regexRes = (0, utils_2.makeRegex)(value).exec(res);
307
- const match = regexRes !== null;
308
- if (match === inv) { // if both true or both false then fail
309
- throw new Error('Invalid receipt.'
310
- + ` Regex "${value}" ${invert ? 'matched' : "didn't match"}`);
311
- }
312
- if (!match) {
313
- continue;
314
- }
315
- const groups = regexRes === null || regexRes === void 0 ? void 0 : regexRes.groups;
316
- for (const paramName in groups || []) {
317
- if (paramName in extractedParams) {
318
- throw new Error(`Duplicate parameter ${paramName}`);
319
- }
320
- extractedParams[paramName] = groups[paramName];
321
- }
322
- break;
323
- case 'contains':
324
- const includes = res.includes(value);
325
- if (includes === inv) {
326
- throw new Error(`Invalid receipt. Response ${invert ? 'contains' : 'does not contain'} "${value}"`);
327
- }
328
- break;
329
- default:
330
- throw new Error(`Invalid response match type ${type}`);
331
- }
332
- }
297
+ console.log('bodyStart', bodyStart);
298
+ let testBodyStart = res.indexOf('\r\n\r\n') + 4;
299
+ console.log('testBodyStart', testBodyStart);
300
+ const responseSlice = response.slice(testBodyStart, response.length - 6);
301
+ const base64Res = utils_1.base64.encode(responseSlice);
302
+ fs_1.default.writeFileSync('temp.png', responseSlice);
303
+ params.body = base64Res;
304
+ console.log(params.body);
305
+ fs_1.default.writeFileSync('temp2.text', base64Res);
306
+ const text = fs_1.default.readFileSync('temp2.text', 'utf8');
307
+ const decoded = utils_1.base64.decode(text);
308
+ fs_1.default.writeFileSync('temp3.png', decoded);
309
+ console.log(text);
310
+ throw new Error('stop');
333
311
  function concatArrays(...bufs) {
334
312
  const totalSize = bufs.reduce((acc, e) => acc + e.length, 0);
335
313
  const merged = new Uint8Array(totalSize);
@@ -346,7 +324,7 @@ const HTTP_PROVIDER = {
346
324
  const serverMsgs = receipt.filter(s => s.sender === 'server').map(m => m.message);
347
325
  const clientTranscript = utils_1.base64.encode((0, tls_1.concatenateUint8Arrays)(clientMsgs));
348
326
  const serverTranscript = utils_1.base64.encode((0, tls_1.concatenateUint8Arrays)(serverMsgs));
349
- utils_3.logger.debug({ request: clientTranscript, response: serverTranscript, params: paramsAny });
327
+ // logger.debug({ request: clientTranscript, response:serverTranscript, params:paramsAny })
350
328
  }
351
329
  },
352
330
  };
@@ -506,4 +484,4 @@ function getURL(v2Params) {
506
484
  return hostPort;
507
485
  }
508
486
  exports.default = HTTP_PROVIDER;
509
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2h0dHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBb0c7QUFDcEcsNENBQXlDO0FBQ3pDLHVDQUFtRTtBQUNuRSxvREFRaUM7QUFFakMscUNBTWtCO0FBRWxCLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQTtBQUNyQyxNQUFNLGVBQWUsR0FBRyx3S0FBd0ssQ0FBQTtBQUNoTSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQSxDQUFDLDBCQUEwQjtBQUcxRCxNQUFNLGFBQWEsR0FBcUI7SUFDdkMsUUFBUSxFQUFFLFdBQVc7SUFDckIsa0JBQWtCLENBQUMsTUFBTTtRQUN4QixPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCO1lBQzNCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDYixDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQU07UUFDakIsT0FBTyxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUM7WUFDL0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNiLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxNQUFNO1FBQzdCLElBQUksY0FBYyxHQUF5QjtZQUMxQyx5QkFBeUIsRUFBRyxDQUFDLFVBQVUsQ0FBQztTQUN4QyxDQUFBO1FBQ0QsSUFBRyx5QkFBeUIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QyxjQUFjLEdBQUc7Z0JBQ2hCLEdBQUcsY0FBYztnQkFDakIsR0FBRyxNQUFNLENBQUMsdUJBQXVCO2FBQ2pDLENBQUE7UUFDRixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUE7SUFDdEIsQ0FBQztJQUNELGFBQWEsQ0FBQyxZQUFZLEVBQUUsTUFBTTs7UUFDakMsSUFDQyxDQUFD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
487
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2h0dHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBb0c7QUFDcEcsNENBQXlDO0FBQ3pDLHVDQUFtRTtBQUNuRSxvREFRaUM7QUFFakMscUNBTWtCO0FBQ2xCLDRDQUFtQjtBQUVuQixNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUE7QUFDckMsTUFBTSxlQUFlLEdBQUcsd0tBQXdLLENBQUE7QUFDaE0sTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUEsQ0FBQywwQkFBMEI7QUFHMUQsTUFBTSxhQUFhLEdBQXFCO0lBQ3ZDLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLGtCQUFrQixDQUFDLE1BQU07UUFDeEIsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU0sQ0FBQztZQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUMzQixDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ2IsQ0FBQztJQUNELFdBQVcsQ0FBQyxNQUFNO1FBQ2pCLE9BQU8sQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDYixDQUFDO0lBQ0QsdUJBQXVCLENBQUMsTUFBTTtRQUM3QixJQUFJLGNBQWMsR0FBeUI7WUFDMUMseUJBQXlCLEVBQUcsQ0FBQyxVQUFVLENBQUM7U0FDeEMsQ0FBQTtRQUNELElBQUcseUJBQXlCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDeEMsY0FBYyxHQUFHO2dCQUNoQixHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QjthQUNqQyxDQUFBO1FBQ0YsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFBO0lBQ3RCLENBQUM7SUFDRCxhQUFhLENBQUMsWUFBWSxFQUFFLE1BQU07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
@@ -0,0 +1,3 @@
1
+ import { Provider } from '../../types';
2
+ declare const HTTP_BASE64_PROVIDER: Provider<'httpb64'>;
3
+ export default HTTP_BASE64_PROVIDER;