@reclaimprotocol/attestor-core 3.1.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/lib/avs/contracts/index.js +18 -8
  2. package/lib/avs/utils/tasks.d.ts +1 -1
  3. package/lib/client/create-claim.d.ts +2 -2
  4. package/lib/client/create-claim.js +89 -33
  5. package/lib/client/utils/client-socket.d.ts +3 -1
  6. package/lib/client/utils/client-socket.js +25 -8
  7. package/lib/config/index.d.ts +4 -0
  8. package/lib/config/index.js +8 -3
  9. package/lib/index.js +18 -8
  10. package/lib/proto/api.d.ts +80 -2
  11. package/lib/proto/api.js +853 -101
  12. package/lib/providers/http/index.js +180 -109
  13. package/lib/providers/http/utils.d.ts +3 -6
  14. package/lib/providers/http/utils.js +13 -11
  15. package/lib/providers/index.js +1 -3
  16. package/lib/scripts/generate-receipt.js +6 -3
  17. package/lib/scripts/generate-toprf-keys.d.ts +1 -0
  18. package/lib/scripts/generate-toprf-keys.js +23 -0
  19. package/lib/server/create-server.js +14 -7
  20. package/lib/server/handlers/claimTunnel.js +33 -10
  21. package/lib/server/handlers/createTunnel.js +44 -8
  22. package/lib/server/handlers/disconnectTunnel.js +2 -2
  23. package/lib/server/handlers/index.js +4 -2
  24. package/lib/server/handlers/init.js +17 -2
  25. package/lib/server/handlers/toprf.d.ts +2 -0
  26. package/lib/server/handlers/toprf.js +21 -0
  27. package/lib/server/socket.d.ts +5 -3
  28. package/lib/server/socket.js +25 -5
  29. package/lib/server/tunnels/make-tcp-tunnel.js +10 -24
  30. package/lib/server/utils/apm.js +1 -1
  31. package/lib/server/utils/assert-valid-claim-request.d.ts +2 -2
  32. package/lib/server/utils/assert-valid-claim-request.js +17 -9
  33. package/lib/server/utils/dns.d.ts +1 -0
  34. package/lib/server/utils/dns.js +22 -0
  35. package/lib/server/utils/generics.d.ts +1 -1
  36. package/lib/tests/describe-with-server.d.ts +0 -2
  37. package/lib/tests/describe-with-server.js +1 -4
  38. package/lib/tests/mock-provider-server.d.ts +1 -1
  39. package/lib/tests/test.auth.d.ts +1 -0
  40. package/lib/tests/test.auth.js +75 -0
  41. package/lib/tests/test.bgp-listener.d.ts +1 -0
  42. package/lib/tests/test.bgp-listener.js +169 -0
  43. package/lib/tests/test.claim-creation.js +100 -7
  44. package/lib/tests/test.http-parser.d.ts +1 -1
  45. package/lib/tests/test.http-parser.js +7 -5
  46. package/lib/tests/test.http-provider-utils.js +155 -30
  47. package/lib/tests/test.http-provider.js +50 -7
  48. package/lib/tests/test.zk.js +54 -4
  49. package/lib/tests/utils.d.ts +6 -0
  50. package/lib/tests/utils.js +16 -1
  51. package/lib/types/bgp.d.ts +11 -0
  52. package/lib/types/bgp.js +3 -0
  53. package/lib/types/claims.d.ts +14 -5
  54. package/lib/types/client.d.ts +30 -3
  55. package/lib/types/general.d.ts +12 -0
  56. package/lib/types/handlers.d.ts +4 -4
  57. package/lib/types/index.d.ts +1 -0
  58. package/lib/types/index.js +2 -1
  59. package/lib/types/providers.d.ts +9 -9
  60. package/lib/types/providers.gen.d.ts +12 -152
  61. package/lib/types/providers.gen.js +2 -6
  62. package/lib/types/zk.d.ts +11 -2
  63. package/lib/utils/auth.d.ts +7 -0
  64. package/lib/utils/auth.js +64 -0
  65. package/lib/utils/b64-json.d.ts +2 -0
  66. package/lib/utils/b64-json.js +23 -0
  67. package/lib/utils/bgp-listener.d.ts +7 -0
  68. package/lib/utils/bgp-listener.js +126 -0
  69. package/lib/utils/claims.js +3 -3
  70. package/lib/utils/generics.d.ts +5 -5
  71. package/lib/utils/generics.js +3 -3
  72. package/lib/utils/index.d.ts +2 -0
  73. package/lib/utils/index.js +3 -1
  74. package/lib/utils/redactions.d.ts +19 -6
  75. package/lib/utils/redactions.js +41 -4
  76. package/lib/utils/socket-base.d.ts +3 -2
  77. package/lib/utils/socket-base.js +7 -2
  78. package/lib/utils/ws.d.ts +5 -5
  79. package/lib/utils/ws.js +27 -10
  80. package/lib/utils/zk.d.ts +12 -7
  81. package/lib/utils/zk.js +197 -42
  82. package/lib/window-rpc/setup-window-rpc.js +29 -8
  83. package/lib/window-rpc/types.d.ts +16 -21
  84. package/lib/window-rpc/utils.d.ts +2 -1
  85. package/lib/window-rpc/utils.js +27 -1
  86. package/lib/window-rpc/window-rpc-zk.d.ts +8 -3
  87. package/lib/window-rpc/window-rpc-zk.js +58 -45
  88. package/package.json +24 -22
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const logger_1 = require("../utils/logger");
4
+ jest.mock('../utils/ws', () => {
5
+ return {
6
+ makeWebSocket() {
7
+ mockWs = new MockWS();
8
+ return mockWs;
9
+ }
10
+ };
11
+ });
12
+ const utils_1 = require("../tests/utils");
13
+ const bgp_listener_1 = require("../utils/bgp-listener");
14
+ describe('BGP Listener', () => {
15
+ let listener;
16
+ beforeEach(async () => {
17
+ listener = (0, bgp_listener_1.createBgpListener)(logger_1.logger);
18
+ await (0, utils_1.delay)(10);
19
+ mockWs.onopen();
20
+ });
21
+ afterEach(() => {
22
+ listener.close();
23
+ expect(mockWs.close).toHaveBeenCalled();
24
+ });
25
+ it('should listen for BGP announcements', async () => {
26
+ expect(mockWs.send).toHaveBeenCalled();
27
+ });
28
+ it('should callback on BGP announcement overlap', async () => {
29
+ const MOCK_CALLBACK = jest.fn();
30
+ const cancel = listener.onOverlap(['43.240.13.21'], MOCK_CALLBACK);
31
+ mockWs.onmessage(MOCK_MSG_EVENT);
32
+ expect(MOCK_CALLBACK).toHaveBeenCalled();
33
+ cancel();
34
+ mockWs.onmessage(MOCK_MSG_EVENT);
35
+ expect(MOCK_CALLBACK).toHaveBeenCalledTimes(1);
36
+ });
37
+ it('should not callback on BGP announcement if no overlap', async () => {
38
+ const MOCK_CALLBACK = jest.fn();
39
+ listener.onOverlap(['44.240.13.21'], MOCK_CALLBACK);
40
+ mockWs.onmessage(MOCK_MSG_EVENT);
41
+ expect(MOCK_CALLBACK).not.toHaveBeenCalled();
42
+ });
43
+ });
44
+ let mockWs;
45
+ class MockWS {
46
+ constructor() {
47
+ this.send = jest.fn();
48
+ this.close = jest.fn();
49
+ }
50
+ }
51
+ const MOCK_ANNOUNCEMENT_MSG = {
52
+ 'type': 'ris_message',
53
+ 'data': {
54
+ 'timestamp': 1736308898.1,
55
+ 'peer': '192.65.185.3',
56
+ 'peer_asn': '513',
57
+ 'id': '192.65.185.3-0194441339340000',
58
+ 'host': 'rrc04.ripe.net',
59
+ 'type': 'UPDATE',
60
+ 'path': [
61
+ 513,
62
+ 29222,
63
+ 29222,
64
+ 3303,
65
+ 3356,
66
+ 3223,
67
+ 55933,
68
+ 55933
69
+ ],
70
+ 'community': [
71
+ [
72
+ 513,
73
+ 29222
74
+ ],
75
+ [
76
+ 3223,
77
+ 2
78
+ ],
79
+ [
80
+ 3223,
81
+ 202
82
+ ],
83
+ [
84
+ 3223,
85
+ 666
86
+ ],
87
+ [
88
+ 3303,
89
+ 1004
90
+ ],
91
+ [
92
+ 3303,
93
+ 1006
94
+ ],
95
+ [
96
+ 3303,
97
+ 3052
98
+ ],
99
+ [
100
+ 3356,
101
+ 2
102
+ ],
103
+ [
104
+ 3356,
105
+ 22
106
+ ],
107
+ [
108
+ 3356,
109
+ 100
110
+ ],
111
+ [
112
+ 3356,
113
+ 123
114
+ ],
115
+ [
116
+ 3356,
117
+ 501
118
+ ],
119
+ [
120
+ 3356,
121
+ 901
122
+ ],
123
+ [
124
+ 3356,
125
+ 2065
126
+ ],
127
+ [
128
+ 3356,
129
+ 10725
130
+ ],
131
+ [
132
+ 22222,
133
+ 1299
134
+ ],
135
+ [
136
+ 22233,
137
+ 10022
138
+ ],
139
+ [
140
+ 22233,
141
+ 10030
142
+ ],
143
+ [
144
+ 22233,
145
+ 10060
146
+ ],
147
+ [
148
+ 29222,
149
+ 100
150
+ ],
151
+ [
152
+ 29222,
153
+ 3303
154
+ ]
155
+ ],
156
+ 'origin': 'INCOMPLETE',
157
+ 'announcements': [
158
+ {
159
+ 'next_hop': '192.65.185.3',
160
+ 'prefixes': [
161
+ '43.240.13.0/24'
162
+ ]
163
+ }
164
+ ],
165
+ 'withdrawals': []
166
+ }
167
+ };
168
+ const MOCK_MSG_EVENT = new MessageEvent('message', { data: JSON.stringify(MOCK_ANNOUNCEMENT_MSG) });
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5iZ3AtbGlzdGVuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvdGVzdC5iZ3AtbGlzdGVuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw2Q0FBeUM7QUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzdCLE9BQU87UUFDTixhQUFhO1lBQ1osTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUE7WUFDckIsT0FBTyxNQUFNLENBQUE7UUFDZCxDQUFDO0tBQ0QsQ0FBQTtBQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUYsMkNBQXVDO0FBQ3ZDLHlEQUEwRDtBQUUxRCxRQUFRLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtJQUU3QixJQUFJLFFBQXFCLENBQUE7SUFDekIsVUFBVSxDQUFDLEtBQUssSUFBRyxFQUFFO1FBQ3BCLFFBQVEsR0FBRyxJQUFBLGdDQUFpQixFQUFDLGVBQU0sQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sSUFBQSxhQUFLLEVBQUMsRUFBRSxDQUFDLENBQUE7UUFFZixNQUFNLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDaEIsQ0FBQyxDQUFDLENBQUE7SUFFRixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2QsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN4QyxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLElBQUcsRUFBRTtRQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUE7SUFDdkMsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFHLEVBQUU7UUFDM0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFB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
@@ -12,6 +12,11 @@ const TLS_VERSIONS = [
12
12
  'TLS1_3',
13
13
  'TLS1_2',
14
14
  ];
15
+ const OPRF_CIPHER_SUITES = [
16
+ 'TLS_CHACHA20_POLY1305_SHA256',
17
+ 'TLS_AES_256_GCM_SHA384',
18
+ 'TLS_AES_128_GCM_SHA256',
19
+ ];
15
20
  jest.setTimeout(90000);
16
21
  jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
17
22
  const actual = jest.requireActual('@reclaimprotocol/tls/lib/utils/parse-certificate');
@@ -22,6 +27,7 @@ jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
22
27
  };
23
28
  });
24
29
  (0, describe_with_server_1.describeWithServer)('Claim Creation', opts => {
30
+ const zkEngine = 'gnark';
25
31
  let client;
26
32
  let claimUrl;
27
33
  beforeEach(() => {
@@ -35,8 +41,6 @@ jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
35
41
  });
36
42
  it.each(TLS_VERSIONS)('should successfully create a claim (%s)', async (version) => {
37
43
  var _a, _b, _c;
38
- // we need to disable certificate verification
39
- // for testing purposes
40
44
  providers_1.providers.http.additionalClientOptions = {
41
45
  ...providers_1.providers.http.additionalClientOptions,
42
46
  supportedProtocolVersions: [version]
@@ -60,14 +64,14 @@ jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
60
64
  },
61
65
  ownerPrivateKey: opts.privateKeyHex,
62
66
  client,
63
- zkEngine: opts.zkEngine
67
+ zkEngine,
64
68
  });
65
69
  expect(result.error).toBeUndefined();
66
70
  expect((_a = result.request) === null || _a === void 0 ? void 0 : _a.transcript).toBeTruthy();
67
71
  // decrypt the transcript and check we didn't accidentally
68
72
  // leak our secrets in the application data
69
73
  const transcript = result.request.transcript;
70
- const applMsgs = (0, utils_2.extractApplicationDataFromTranscript)(await (0, server_1.decryptTranscript)(transcript, utils_2.logger, opts.zkEngine, (_b = result.request) === null || _b === void 0 ? void 0 : _b.fixedServerIV, (_c = result.request) === null || _c === void 0 ? void 0 : _c.fixedClientIV));
74
+ const applMsgs = (0, utils_2.extractApplicationDataFromTranscript)(await (0, server_1.decryptTranscript)(transcript, utils_2.logger, zkEngine, (_b = result.request) === null || _b === void 0 ? void 0 : _b.fixedServerIV, (_c = result.request) === null || _c === void 0 ? void 0 : _c.fixedClientIV));
71
75
  const requestData = applMsgs
72
76
  .filter(m => m.sender === 'client')
73
77
  .map(m => (0, tls_1.uint8ArrayToStr)(m.message))
@@ -75,11 +79,11 @@ jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
75
79
  // ensure the secret authorisation header is not leaked
76
80
  expect(requestData).not.toContain(user);
77
81
  await expect((0, utils_2.assertValidClaimSignatures)(result, client.metadata)).resolves.toBeUndefined();
82
+ expect(mocks_1.SPY_PREPARER).toHaveBeenCalledTimes(1);
78
83
  // check all direct message reveals and
79
84
  // ensure we've not accidentally re-used a key
80
85
  // for multiple application data messages that
81
86
  // were not meant to be revealed.
82
- expect(mocks_1.SPY_PREPARER).toHaveBeenCalledTimes(1);
83
87
  await (0, utils_1.verifyNoDirectRevealLeaks)();
84
88
  });
85
89
  it('should not create a claim with invalid response', async () => {
@@ -102,9 +106,97 @@ jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
102
106
  },
103
107
  ownerPrivateKey: opts.privateKeyHex,
104
108
  client,
109
+ zkEngine,
105
110
  });
106
111
  }).rejects.toThrow('Provider returned error 401');
107
112
  });
113
+ describe('OPRF via %s', () => {
114
+ const zkEngine = 'gnark';
115
+ it.each(OPRF_CIPHER_SUITES)('should create a claim with an OPRF redaction (%s)', async (cipherSuite) => {
116
+ var _a, _b;
117
+ // OPRF is only available on gnark & chacha20 right now
118
+ providers_1.providers.http.additionalClientOptions = {
119
+ ...providers_1.providers.http.additionalClientOptions,
120
+ cipherSuites: [cipherSuite]
121
+ };
122
+ const user = '(?<test>adhiraj)';
123
+ const result = await (0, client_1.createClaimOnAttestor)({
124
+ name: 'http',
125
+ params: {
126
+ url: claimUrl,
127
+ method: 'GET',
128
+ responseRedactions: [
129
+ {
130
+ regex: user,
131
+ hash: 'oprf'
132
+ }
133
+ ],
134
+ responseMatches: [
135
+ {
136
+ type: 'contains',
137
+ value: ''
138
+ }
139
+ ]
140
+ },
141
+ secretParams: {
142
+ authorisationHeader: `Bearer ${user}`
143
+ },
144
+ ownerPrivateKey: opts.privateKeyHex,
145
+ client,
146
+ zkEngine,
147
+ });
148
+ expect(result.error).toBeUndefined();
149
+ // decrypt the transcript and check we didn't accidentally
150
+ // leak our secrets in the application data
151
+ const transcript = result.request.transcript;
152
+ expect(transcript).toBeTruthy();
153
+ const applMsgs = (0, utils_2.extractApplicationDataFromTranscript)(await (0, server_1.decryptTranscript)(transcript, utils_2.logger, zkEngine, (_a = result.request) === null || _a === void 0 ? void 0 : _a.fixedServerIV, (_b = result.request) === null || _b === void 0 ? void 0 : _b.fixedClientIV));
154
+ const serverPackets = applMsgs
155
+ .filter(m => m.sender === 'server')
156
+ .map(m => (0, tls_1.uint8ArrayToStr)(m.message))
157
+ .join('');
158
+ const toprf = (0, utils_1.getFirstTOprfBlock)(result.request);
159
+ expect(toprf).toBeTruthy();
160
+ // only the user's hash should be revealed
161
+ expect(serverPackets).not.toContain(user);
162
+ expect(serverPackets).toContain((0, utils_2.binaryHashToStr)(toprf.nullifier, toprf.dataLocation.length));
163
+ });
164
+ it('should produce the same hash for the same input', async () => {
165
+ let hash;
166
+ for (let i = 0; i < 2; i++) {
167
+ const user = '(?<su>some-user)';
168
+ const result = await (0, client_1.createClaimOnAttestor)({
169
+ name: 'http',
170
+ params: {
171
+ url: claimUrl,
172
+ method: 'GET',
173
+ responseRedactions: [
174
+ {
175
+ regex: user,
176
+ hash: 'oprf'
177
+ }
178
+ ],
179
+ responseMatches: [
180
+ {
181
+ type: 'contains',
182
+ value: ''
183
+ }
184
+ ]
185
+ },
186
+ secretParams: {
187
+ authorisationHeader: `Bearer ${user}`
188
+ },
189
+ ownerPrivateKey: opts.privateKeyHex,
190
+ client,
191
+ zkEngine,
192
+ });
193
+ const toprf = (0, utils_1.getFirstTOprfBlock)(result.request);
194
+ expect(toprf).toBeTruthy();
195
+ hash || (hash = toprf.nullifier);
196
+ expect(toprf.nullifier).toEqual(hash);
197
+ }
198
+ });
199
+ });
108
200
  describe('Pool', () => {
109
201
  it('should correctly throw error when tunnel creation fails', async () => {
110
202
  await expect((0, client_1.createClaimOnAttestor)({
@@ -124,7 +216,8 @@ jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
124
216
  authorisationHeader: 'Bearer abcd'
125
217
  },
126
218
  ownerPrivateKey: opts.privateKeyHex,
127
- client: { url: opts.serverUrl }
219
+ client: { url: opts.serverUrl },
220
+ zkEngine
128
221
  })).rejects.toMatchObject({
129
222
  message: /ENOTFOUND/
130
223
  });
@@ -184,4 +277,4 @@ jest.mock('@reclaimprotocol/tls/lib/utils/parse-certificate', () => {
184
277
  });
185
278
  }
186
279
  });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5jbGFpbS1jcmVhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy90ZXN0LmNsYWltLWNyZWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQTBFO0FBRTFFLHVDQUE2RTtBQUM3RSw2Q0FBeUM7QUFDekMsdUNBQThDO0FBQzlDLHlFQUFtRTtBQUNuRSwyQ0FBOEM7QUFDOUMsMkNBQTJEO0FBQzNELHFDQUkwQjtBQUUxQixNQUFNLFlBQVksR0FBeUI7SUFDMUMsUUFBUTtJQUNSLFFBQVE7Q0FDUixDQUFBO0FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFNLENBQUMsQ0FBQTtBQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtJQUNsRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtEQUFrRCxDQUFDLENBQUE7SUFDckYsT0FBTztRQUNOLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLEdBQUcsTUFBTTtRQUNULHNCQUFzQixFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtLQUN0RCxDQUFBO0FBQ0YsQ0FBQyxDQUFDLENBQUE7QUFHRixJQUFBLHlDQUFrQixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxFQUFFO0lBRTNDLElBQUksTUFBc0IsQ0FBQTtJQUMxQixJQUFJLFFBQWdCLENBQUE7SUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNmLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQ3BCLFFBQVEsR0FBRyxxQkFBcUIsSUFBSSxDQUFDLG1CQUFtQixLQUFLLENBQUE7UUFFN0QsOENBQThDO1FBQzlDLHVCQUF1QjtRQUN2QixxQkFBUyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRztZQUN4Qyx1QkFBdUIsRUFBRSxLQUFLO1NBQzlCLENBQUE7SUFDRixDQUFDLENBQUMsQ0FBQTtJQUVG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
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5jbGFpbS1jcmVhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy90ZXN0LmNsYWltLWNyZWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQXVGO0FBR3ZGLHVDQUE2RTtBQUM3RSw2Q0FBeUM7QUFDekMsdUNBQThDO0FBQzlDLHlFQUFtRTtBQUNuRSwyQ0FBOEM7QUFDOUMsMkNBQStFO0FBQy9FLHFDQUswQjtBQUUxQixNQUFNLFlBQVksR0FBeUI7SUFDMUMsUUFBUTtJQUNSLFFBQVE7Q0FDUixDQUFBO0FBRUQsTUFBTSxrQkFBa0IsR0FBa0I7SUFDekMsOEJBQThCO0lBQzlCLHdCQUF3QjtJQUN4Qix3QkFBd0I7Q0FDeEIsQ0FBQTtBQUVELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBTSxDQUFDLENBQUE7QUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7SUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrREFBa0QsQ0FBQyxDQUFBO0lBQ3JGLE9BQU87UUFDTixVQUFVLEVBQUUsSUFBSTtRQUNoQixHQUFHLE1BQU07UUFDVCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLEVBQUU7S0FDdEQsQ0FBQTtBQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUYsSUFBQSx5Q0FBa0IsRUFBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsRUFBRTtJQUUzQyxNQUFNLFFBQVEsR0FBYSxPQUFPLENBQUE7SUFFbEMsSUFBSSxNQUFzQixDQUFBO0lBQzFCLElBQUksUUFBZ0IsQ0FBQTtJQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDcEIsUUFBUSxHQUFHLHFCQUFxQixJQUFJLENBQUMsbUJBQW1CLEtBQUssQ0FBQTtRQUU3RCw4Q0FBOEM7UUFDOUMs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
@@ -1 +1 @@
1
- export {};
1
+ export declare const RES_CHUNKED_PARTIAL_BODY: string;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RES_CHUNKED_PARTIAL_BODY = void 0;
3
4
  const tls_1 = require("@reclaimprotocol/tls");
4
5
  const generics_1 = require("../utils/generics");
5
6
  const http_parser_1 = require("../utils/http-parser");
@@ -38,7 +39,7 @@ describe.each(['complete', 'byte-by-byte'])('HTTP Parser tests (mode=%s)', (pars
38
39
  });
39
40
  it('should correctly set chunk indices', () => {
40
41
  var _a;
41
- const buff = (0, tls_1.strToUint8Array)(RES_CHUNKED_PARTIAL_BODY);
42
+ const buff = (0, tls_1.strToUint8Array)(exports.RES_CHUNKED_PARTIAL_BODY);
42
43
  const res = parseHttpResponse(buff, parseMode);
43
44
  expect(res.complete).toEqual(true);
44
45
  // ensure all chunks are parsed correctly
@@ -99,10 +100,11 @@ const RES_EMPTY_CHUNKED = [
99
100
  const CHUNKS = [
100
101
  '{"name":"John",',
101
102
  '"age":30,',
102
- '"car":null',
103
- '}'
103
+ '"car":null,',
104
+ '"house":"some',
105
+ 'where"}'
104
106
  ];
105
- const RES_CHUNKED_PARTIAL_BODY = [
107
+ exports.RES_CHUNKED_PARTIAL_BODY = [
106
108
  'HTTP/1.1 200 OK',
107
109
  'Content-Type: application/json',
108
110
  'Transfer-Encoding: chunked',
@@ -115,4 +117,4 @@ const RES_CHUNKED_PARTIAL_BODY = [
115
117
  '',
116
118
  ''
117
119
  ].join('\r\n');
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5odHRwLXBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy90ZXN0Lmh0dHAtcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQXNEO0FBQ3RELGlEQUFvRDtBQUNwRCx1REFBOEQ7QUFFOUQsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQVUsQ0FBQyxDQUFDLDZCQUE2QixFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUU7SUFFakcsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDOUMsTUFBTSxDQUNMLElBQUk7YUFDRixRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQzthQUNuQyxRQUFRLEVBQUUsQ0FDWixDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBRXRDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsMEJBQWUsRUFBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDckMsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMscUNBQXFDLEVBQUUs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
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5odHRwLXBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy90ZXN0Lmh0dHAtcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUFzRDtBQUN0RCxpREFBb0Q7QUFDcEQsdURBQThEO0FBRTlELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFVLENBQUMsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFO0lBRWpHLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7UUFDbEMsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzlDLE1BQU0sQ0FDTCxJQUFJO2FBQ0YsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsa0JBQWtCLENBQUM7YUFDbkMsUUFBUSxFQUFFLENBQ1osQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUV0QyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFBLDBCQUFlLEVBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3JDLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHFDQUFxQyxFQUFF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