@reclaimprotocol/attestor-core 4.0.2 → 5.0.1-beta.1

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 (243) hide show
  1. package/LICENSE +660 -660
  2. package/README.md +1 -2
  3. package/package.json +72 -60
  4. package/lib/avs/abis/avsDirectoryABI.d.ts +0 -60
  5. package/lib/avs/abis/avsDirectoryABI.js +0 -344
  6. package/lib/avs/abis/delegationABI.d.ts +0 -126
  7. package/lib/avs/abis/delegationABI.js +0 -5
  8. package/lib/avs/abis/registryABI.d.ts +0 -136
  9. package/lib/avs/abis/registryABI.js +0 -729
  10. package/lib/avs/client/create-claim-on-avs.d.ts +0 -12
  11. package/lib/avs/client/create-claim-on-avs.js +0 -147
  12. package/lib/avs/config.d.ts +0 -7
  13. package/lib/avs/config.js +0 -24
  14. package/lib/avs/contracts/ReclaimServiceManager.d.ts +0 -697
  15. package/lib/avs/contracts/ReclaimServiceManager.js +0 -3
  16. package/lib/avs/contracts/common.d.ts +0 -21
  17. package/lib/avs/contracts/common.js +0 -3
  18. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +0 -888
  19. package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1174
  20. package/lib/avs/contracts/factories/index.d.ts +0 -1
  21. package/lib/avs/contracts/factories/index.js +0 -9
  22. package/lib/avs/contracts/index.d.ts +0 -3
  23. package/lib/avs/contracts/index.js +0 -40
  24. package/lib/avs/tests/test.operator.d.ts +0 -11
  25. package/lib/avs/tests/test.operator.js +0 -313
  26. package/lib/avs/tests/utils.d.ts +0 -2
  27. package/lib/avs/tests/utils.js +0 -50
  28. package/lib/avs/types/index.d.ts +0 -55
  29. package/lib/avs/types/index.js +0 -3
  30. package/lib/avs/utils/contracts.d.ts +0 -21
  31. package/lib/avs/utils/contracts.js +0 -38
  32. package/lib/avs/utils/register.d.ts +0 -27
  33. package/lib/avs/utils/register.js +0 -82
  34. package/lib/avs/utils/tasks.d.ts +0 -22
  35. package/lib/avs/utils/tasks.js +0 -45
  36. package/lib/client/create-claim.d.ts +0 -5
  37. package/lib/client/create-claim.js +0 -424
  38. package/lib/client/index.d.ts +0 -3
  39. package/lib/client/index.js +0 -20
  40. package/lib/client/tunnels/make-rpc-tcp-tunnel.d.ts +0 -16
  41. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -60
  42. package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +0 -25
  43. package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -135
  44. package/lib/client/utils/attestor-pool.d.ts +0 -6
  45. package/lib/client/utils/attestor-pool.js +0 -28
  46. package/lib/client/utils/client-socket.d.ts +0 -11
  47. package/lib/client/utils/client-socket.js +0 -100
  48. package/lib/client/utils/message-handler.d.ts +0 -4
  49. package/lib/client/utils/message-handler.js +0 -94
  50. package/lib/config/index.d.ts +0 -28
  51. package/lib/config/index.js +0 -39
  52. package/lib/index.d.ts +0 -10
  53. package/lib/index.js +0 -50
  54. package/lib/mechain/abis/governanceABI.d.ts +0 -50
  55. package/lib/mechain/abis/governanceABI.js +0 -462
  56. package/lib/mechain/abis/taskABI.d.ts +0 -157
  57. package/lib/mechain/abis/taskABI.js +0 -513
  58. package/lib/mechain/client/create-claim-on-mechain.d.ts +0 -10
  59. package/lib/mechain/client/create-claim-on-mechain.js +0 -32
  60. package/lib/mechain/client/index.d.ts +0 -1
  61. package/lib/mechain/client/index.js +0 -18
  62. package/lib/mechain/constants/index.d.ts +0 -3
  63. package/lib/mechain/constants/index.js +0 -7
  64. package/lib/mechain/index.d.ts +0 -2
  65. package/lib/mechain/index.js +0 -19
  66. package/lib/mechain/types/index.d.ts +0 -23
  67. package/lib/mechain/types/index.js +0 -3
  68. package/lib/proto/api.d.ts +0 -508
  69. package/lib/proto/api.js +0 -3700
  70. package/lib/providers/http/index.d.ts +0 -3
  71. package/lib/providers/http/index.js +0 -613
  72. package/lib/providers/http/utils.d.ts +0 -74
  73. package/lib/providers/http/utils.js +0 -360
  74. package/lib/providers/index.d.ts +0 -4
  75. package/lib/providers/index.js +0 -11
  76. package/lib/scripts/check-avs-registration.d.ts +0 -1
  77. package/lib/scripts/check-avs-registration.js +0 -29
  78. package/lib/scripts/generate-provider-types.d.ts +0 -5
  79. package/lib/scripts/generate-provider-types.js +0 -82
  80. package/lib/scripts/generate-receipt.d.ts +0 -9
  81. package/lib/scripts/generate-receipt.js +0 -90
  82. package/lib/scripts/generate-toprf-keys.d.ts +0 -1
  83. package/lib/scripts/generate-toprf-keys.js +0 -23
  84. package/lib/scripts/register-avs-operator.d.ts +0 -1
  85. package/lib/scripts/register-avs-operator.js +0 -7
  86. package/lib/scripts/start-server.d.ts +0 -1
  87. package/lib/scripts/start-server.js +0 -13
  88. package/lib/scripts/update-avs-metadata.d.ts +0 -1
  89. package/lib/scripts/update-avs-metadata.js +0 -22
  90. package/lib/scripts/utils.d.ts +0 -1
  91. package/lib/scripts/utils.js +0 -11
  92. package/lib/scripts/verify-root-ca.d.ts +0 -1
  93. package/lib/scripts/verify-root-ca.js +0 -51
  94. package/lib/scripts/whitelist-operator.d.ts +0 -1
  95. package/lib/scripts/whitelist-operator.js +0 -18
  96. package/lib/server/create-server.d.ts +0 -7
  97. package/lib/server/create-server.js +0 -92
  98. package/lib/server/handlers/claimTunnel.d.ts +0 -2
  99. package/lib/server/handlers/claimTunnel.js +0 -78
  100. package/lib/server/handlers/completeClaimOnChain.d.ts +0 -2
  101. package/lib/server/handlers/completeClaimOnChain.js +0 -28
  102. package/lib/server/handlers/createClaimOnChain.d.ts +0 -2
  103. package/lib/server/handlers/createClaimOnChain.js +0 -31
  104. package/lib/server/handlers/createTaskOnMechain.d.ts +0 -2
  105. package/lib/server/handlers/createTaskOnMechain.js +0 -52
  106. package/lib/server/handlers/createTunnel.d.ts +0 -2
  107. package/lib/server/handlers/createTunnel.js +0 -101
  108. package/lib/server/handlers/disconnectTunnel.d.ts +0 -2
  109. package/lib/server/handlers/disconnectTunnel.js +0 -10
  110. package/lib/server/handlers/index.d.ts +0 -4
  111. package/lib/server/handlers/index.js +0 -22
  112. package/lib/server/handlers/init.d.ts +0 -2
  113. package/lib/server/handlers/init.js +0 -36
  114. package/lib/server/handlers/toprf.d.ts +0 -2
  115. package/lib/server/handlers/toprf.js +0 -21
  116. package/lib/server/index.d.ts +0 -4
  117. package/lib/server/index.js +0 -21
  118. package/lib/server/socket.d.ts +0 -13
  119. package/lib/server/socket.js +0 -114
  120. package/lib/server/tunnels/make-tcp-tunnel.d.ts +0 -20
  121. package/lib/server/tunnels/make-tcp-tunnel.js +0 -175
  122. package/lib/server/utils/apm.d.ts +0 -11
  123. package/lib/server/utils/apm.js +0 -43
  124. package/lib/server/utils/assert-valid-claim-request.d.ts +0 -30
  125. package/lib/server/utils/assert-valid-claim-request.js +0 -200
  126. package/lib/server/utils/config-env.d.ts +0 -1
  127. package/lib/server/utils/config-env.js +0 -7
  128. package/lib/server/utils/dns.d.ts +0 -1
  129. package/lib/server/utils/dns.js +0 -22
  130. package/lib/server/utils/generics.d.ts +0 -22
  131. package/lib/server/utils/generics.js +0 -59
  132. package/lib/server/utils/iso.d.ts +0 -1
  133. package/lib/server/utils/iso.js +0 -260
  134. package/lib/server/utils/keep-alive.d.ts +0 -7
  135. package/lib/server/utils/keep-alive.js +0 -42
  136. package/lib/server/utils/process-handshake.d.ts +0 -13
  137. package/lib/server/utils/process-handshake.js +0 -191
  138. package/lib/tests/describe-with-server.d.ts +0 -20
  139. package/lib/tests/describe-with-server.js +0 -64
  140. package/lib/tests/mock-provider-server.d.ts +0 -13
  141. package/lib/tests/mock-provider-server.js +0 -65
  142. package/lib/tests/mocks.d.ts +0 -4
  143. package/lib/tests/mocks.js +0 -23
  144. package/lib/tests/test.auth.d.ts +0 -1
  145. package/lib/tests/test.auth.js +0 -75
  146. package/lib/tests/test.bgp-listener.d.ts +0 -1
  147. package/lib/tests/test.bgp-listener.js +0 -169
  148. package/lib/tests/test.claim-creation.d.ts +0 -1
  149. package/lib/tests/test.claim-creation.js +0 -280
  150. package/lib/tests/test.http-parser.d.ts +0 -1
  151. package/lib/tests/test.http-parser.js +0 -120
  152. package/lib/tests/test.http-provider-utils.d.ts +0 -1
  153. package/lib/tests/test.http-provider-utils.js +0 -2416
  154. package/lib/tests/test.http-provider.d.ts +0 -1
  155. package/lib/tests/test.http-provider.js +0 -114
  156. package/lib/tests/test.rpc-communication.d.ts +0 -1
  157. package/lib/tests/test.rpc-communication.js +0 -64
  158. package/lib/tests/test.rpc-tunnel.d.ts +0 -1
  159. package/lib/tests/test.rpc-tunnel.js +0 -172
  160. package/lib/tests/test.signatures.d.ts +0 -1
  161. package/lib/tests/test.signatures.js +0 -24
  162. package/lib/tests/test.tcp-tunnel.d.ts +0 -1
  163. package/lib/tests/test.tcp-tunnel.js +0 -64
  164. package/lib/tests/test.zk.d.ts +0 -1
  165. package/lib/tests/test.zk.js +0 -337
  166. package/lib/tests/utils.d.ts +0 -18
  167. package/lib/tests/utils.js +0 -64
  168. package/lib/types/bgp.d.ts +0 -11
  169. package/lib/types/bgp.js +0 -3
  170. package/lib/types/claims.d.ts +0 -73
  171. package/lib/types/claims.js +0 -3
  172. package/lib/types/client.d.ts +0 -163
  173. package/lib/types/client.js +0 -3
  174. package/lib/types/general.d.ts +0 -51
  175. package/lib/types/general.js +0 -3
  176. package/lib/types/handlers.d.ts +0 -10
  177. package/lib/types/handlers.js +0 -3
  178. package/lib/types/index.d.ts +0 -10
  179. package/lib/types/index.js +0 -27
  180. package/lib/types/providers.d.ts +0 -150
  181. package/lib/types/providers.gen.d.ts +0 -429
  182. package/lib/types/providers.gen.js +0 -14
  183. package/lib/types/providers.js +0 -3
  184. package/lib/types/rpc.d.ts +0 -35
  185. package/lib/types/rpc.js +0 -3
  186. package/lib/types/signatures.d.ts +0 -28
  187. package/lib/types/signatures.js +0 -3
  188. package/lib/types/tunnel.d.ts +0 -18
  189. package/lib/types/tunnel.js +0 -3
  190. package/lib/types/zk.d.ts +0 -23
  191. package/lib/types/zk.js +0 -3
  192. package/lib/utils/auth.d.ts +0 -7
  193. package/lib/utils/auth.js +0 -64
  194. package/lib/utils/b64-json.d.ts +0 -2
  195. package/lib/utils/b64-json.js +0 -23
  196. package/lib/utils/benchmark.d.ts +0 -1
  197. package/lib/utils/benchmark.js +0 -70
  198. package/lib/utils/bgp-listener.d.ts +0 -7
  199. package/lib/utils/bgp-listener.js +0 -126
  200. package/lib/utils/claims.d.ts +0 -33
  201. package/lib/utils/claims.js +0 -112
  202. package/lib/utils/env.d.ts +0 -3
  203. package/lib/utils/env.js +0 -20
  204. package/lib/utils/error.d.ts +0 -27
  205. package/lib/utils/error.js +0 -43
  206. package/lib/utils/generics.d.ts +0 -112
  207. package/lib/utils/generics.js +0 -348
  208. package/lib/utils/http-parser.d.ts +0 -59
  209. package/lib/utils/http-parser.js +0 -252
  210. package/lib/utils/index.d.ts +0 -12
  211. package/lib/utils/index.js +0 -29
  212. package/lib/utils/logger.d.ts +0 -13
  213. package/lib/utils/logger.js +0 -100
  214. package/lib/utils/prepare-packets.d.ts +0 -16
  215. package/lib/utils/prepare-packets.js +0 -61
  216. package/lib/utils/redactions.d.ts +0 -54
  217. package/lib/utils/redactions.js +0 -148
  218. package/lib/utils/retries.d.ts +0 -12
  219. package/lib/utils/retries.js +0 -28
  220. package/lib/utils/signatures/eth.d.ts +0 -2
  221. package/lib/utils/signatures/eth.js +0 -33
  222. package/lib/utils/signatures/index.d.ts +0 -5
  223. package/lib/utils/signatures/index.js +0 -11
  224. package/lib/utils/socket-base.d.ts +0 -22
  225. package/lib/utils/socket-base.js +0 -95
  226. package/lib/utils/tls.d.ts +0 -2
  227. package/lib/utils/tls.js +0 -32
  228. package/lib/utils/validation.d.ts +0 -2
  229. package/lib/utils/validation.js +0 -46
  230. package/lib/utils/ws.d.ts +0 -12
  231. package/lib/utils/ws.js +0 -38
  232. package/lib/utils/zk.d.ts +0 -55
  233. package/lib/utils/zk.js +0 -444
  234. package/lib/window-rpc/index.d.ts +0 -3
  235. package/lib/window-rpc/index.js +0 -20
  236. package/lib/window-rpc/setup-window-rpc.d.ts +0 -5
  237. package/lib/window-rpc/setup-window-rpc.js +0 -291
  238. package/lib/window-rpc/types.d.ts +0 -192
  239. package/lib/window-rpc/types.js +0 -3
  240. package/lib/window-rpc/utils.d.ts +0 -14
  241. package/lib/window-rpc/utils.js +0 -102
  242. package/lib/window-rpc/window-rpc-zk.d.ts +0 -15
  243. package/lib/window-rpc/window-rpc-zk.js +0 -85
@@ -1 +0,0 @@
1
- export {};
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const client_1 = require("../client");
4
- const describe_with_server_1 = require("../tests/describe-with-server");
5
- const utils_1 = require("../tests/utils");
6
- const utils_2 = require("../utils");
7
- jest.setTimeout(300000);
8
- (0, describe_with_server_1.describeWithServer)('HTTP Provider', opts => {
9
- afterEach(async () => {
10
- await (0, utils_1.verifyNoDirectRevealLeaks)();
11
- });
12
- it('should create claim with template params', async () => {
13
- var _a;
14
- const resp = await (0, client_1.createClaimOnAttestor)({
15
- name: 'http',
16
- params: {
17
- url: 'https://news.ycombinator.{{param1}}/{{param6}}?token={{param4}}&token1={{param5}}',
18
- method: 'GET',
19
- responseMatches: [{
20
- type: 'regex',
21
- value: '<title.*?(?<domain>{{param2}})<\\/title>',
22
- }],
23
- responseRedactions: [{
24
- xPath: './html/head/{{param3}}',
25
- }],
26
- paramValues: {
27
- param1: 'com',
28
- param2: 'Top Links | Hacker News',
29
- param3: 'title',
30
- }
31
- },
32
- secretParams: {
33
- cookieStr: '<cookie-str>',
34
- paramValues: {
35
- param4: 'quhrfqiuherfqlireufh',
36
- param5: 'sssbbbbr123',
37
- param6: 'best',
38
- }
39
- },
40
- ownerPrivateKey: opts.privateKeyHex,
41
- client: opts.client,
42
- zkEngine: 'gnark'
43
- });
44
- expect(resp.error).toBeUndefined();
45
- expect((_a = resp.claim) === null || _a === void 0 ? void 0 : _a.context)
46
- .toContain('0x5e3e976476ded7b58120d606b33b75be52adb8345a7979c181764f00763e7b2a');
47
- });
48
- it('should create claim with OPRF template params', async () => {
49
- const resp = await (0, client_1.createClaimOnAttestor)({
50
- name: 'http',
51
- params: {
52
- url: 'https://example.com/',
53
- method: 'GET',
54
- responseMatches: [
55
- {
56
- type: 'contains',
57
- value: '<title>{{domain}}</title>',
58
- }
59
- ],
60
- responseRedactions: [
61
- {
62
- xPath: '/html/head/title',
63
- regex: '<title>(?<domain>.*?)<\\/title>',
64
- hash: 'oprf'
65
- }
66
- ],
67
- paramValues: { domain: 'Example Domain' }
68
- },
69
- secretParams: {
70
- cookieStr: '<cookie-str>'
71
- },
72
- ownerPrivateKey: opts.privateKeyHex,
73
- client: opts.client,
74
- zkEngine: 'gnark',
75
- });
76
- expect(resp.error).toBeUndefined();
77
- const ctx = JSON.parse(resp.claim.context);
78
- const domainStr = ctx.extractedParameters.domain;
79
- const toprf = (0, utils_1.getFirstTOprfBlock)(resp.request);
80
- expect(toprf).toBeTruthy();
81
- const toprfStr = (0, utils_2.binaryHashToStr)(toprf.nullifier, toprf.dataLocation.length);
82
- expect(domainStr).toEqual(toprfStr.slice(0, domainStr.length));
83
- });
84
- it('should create claim with non 200 response', async () => {
85
- var _a;
86
- const resp = await (0, client_1.createClaimOnAttestor)({
87
- name: 'http',
88
- params: {
89
- url: 'https://httpstat.us/201',
90
- method: 'GET',
91
- responseMatches: [{
92
- type: 'contains',
93
- value: 'Created',
94
- }],
95
- responseRedactions: [{
96
- jsonPath: '$.description',
97
- }],
98
- headers: {
99
- accept: 'application/json, text/plain, */*'
100
- }
101
- },
102
- secretParams: {
103
- cookieStr: '<cookie-str>'
104
- },
105
- ownerPrivateKey: opts.privateKeyHex,
106
- client: opts.client,
107
- zkEngine: 'gnark'
108
- });
109
- expect(resp.error).toBeUndefined();
110
- expect((_a = resp.claim) === null || _a === void 0 ? void 0 : _a.context)
111
- .toContain('0xd18ff964dfce6a3074791ec6a6c358f7f122c838b01c3e0565b33eac29515bc6');
112
- });
113
- });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5odHRwLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RzL3Rlc3QuaHR0cC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVDQUFrRDtBQUNsRCx5RUFBbUU7QUFDbkUsMkNBQStFO0FBQy9FLHFDQUEyQztBQUUzQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU8sQ0FBQyxDQUFBO0FBRXhCLElBQUEseUNBQWtCLEVBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxFQUFFO0lBRTFDLFNBQVMsQ0FBQyxLQUFLLElBQUcsRUFBRTtRQUNuQixNQUFNLElBQUEsaUNBQXlCLEdBQUUsQ0FBQTtJQUNsQyxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLElBQUcsRUFBRTs7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLDhCQUFxQixFQUFDO1lBQ3hDLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFO2dCQUNQLEdBQUcsRUFBRSxtRkFBbUY7Z0JBQ3hGLE1BQU0sRUFBRSxLQUFLO2dCQUNiLGVBQWUsRUFBRSxDQUFDO3dCQUNqQixJQUFJLEVBQUUsT0FBTzt3QkFDYixLQUFLLEVBQUUsMENBQTBDO3FCQUNqRCxDQUFDO2dCQUNGLGtCQUFrQixFQUFFLENBQUM7d0JBQ3BCLEtBQUssRUFBRSx3QkFBd0I7cUJBQy9CLENBQUM7Z0JBQ0YsV0FBVyxFQUFFO29CQUNaLE1BQU0sRUFBRSxLQUFLO29CQUNiLE1BQU0sRUFBRSx5QkFBeUI7b0JBQ2pDLE1BQU0sRUFBRSxPQUFPO2lCQUVmO2FBQ0Q7WUFDRCxZQUFZLEVBQUU7Z0JBQ2IsU0FBUyxFQUFFLGNBQWM7Z0JBQ3pCLFdBQVcsRUFBRTtvQkFDWixNQUFNLEVBQUUsc0JBQXNCO29CQUM5QixNQUFNLEVBQUUsYUFBYTtvQkFDckIsTUFBTSxFQUFFLE1BQU07aUJBQ2Q7YUFDRDtZQUNELGVBQWUs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
@@ -1 +0,0 @@
1
- export {};
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const client_1 = require("../client");
4
- const describe_with_server_1 = require("../tests/describe-with-server");
5
- const utils_1 = require("../utils");
6
- const ws_1 = require("ws");
7
- (0, describe_with_server_1.describeWithServer)('RPC Communication', opts => {
8
- const { getClientOnServer } = opts;
9
- let client;
10
- beforeEach(() => {
11
- client = opts.client;
12
- });
13
- it('should successfully initialise a session', async () => {
14
- await expect(client.waitForInit()).resolves.toBeUndefined();
15
- expect(client.isInitialised).toBe(true);
16
- // ensure the server has our client
17
- expect(getClientOnServer()).toBeTruthy();
18
- });
19
- it('should gracefully handle terminated connection during init', async () => {
20
- await client.terminateConnection();
21
- client = new client_1.AttestorClient({
22
- logger: utils_1.logger,
23
- // a URL without a WS server
24
- url: `ws://localhost:${opts.mockhttpsServerPort}`
25
- });
26
- await expect(client.waitForInit()).rejects.toHaveProperty('code');
27
- });
28
- it('should gracefully handle connection termination', async () => {
29
- const err = new utils_1.AttestorError('ERROR_INTERNAL', 'Test error', { abcd: 1 });
30
- const waitForEnd = new Promise(resolve => {
31
- client.addEventListener('connection-terminated', d => {
32
- resolve(d.data);
33
- });
34
- });
35
- const ws = getClientOnServer();
36
- await ws.terminateConnection(err);
37
- const recvErr = await waitForEnd;
38
- expect(recvErr).toEqual(err);
39
- expect(client.isOpen).not.toBe(ws_1.WebSocket.OPEN);
40
- });
41
- it('should terminate connection to server', async () => {
42
- const ws = getClientOnServer();
43
- const waitForEnd = new Promise(resolve => {
44
- ws.addEventListener('connection-terminated', d => {
45
- resolve(d.data);
46
- });
47
- });
48
- await client.terminateConnection();
49
- await waitForEnd;
50
- });
51
- it('should handle RPC error response', async () => {
52
- const err = new utils_1.AttestorError('ERROR_INTERNAL', 'Test error', { abcd: 1 });
53
- const ws = getClientOnServer();
54
- ws.addEventListener('rpc-request', ev => {
55
- ev.stopImmediatePropagation();
56
- ev.data.respond(err);
57
- });
58
- await expect(client.rpc('createTunnel', {
59
- host: 'localhost',
60
- port: 9999,
61
- })).rejects.toMatchObject(err);
62
- });
63
- });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5ycGMtY29tbXVuaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy90ZXN0LnJwYy1jb21tdW5pY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQTJDO0FBQzNDLHlFQUFtRTtBQUNuRSxxQ0FBaUQ7QUFDakQsMkJBQThCO0FBRTlCLElBQUEseUNBQWtCLEVBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEVBQUU7SUFFOUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFBO0lBRWxDLElBQUksTUFBc0IsQ0FBQTtJQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDckIsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFHLEVBQUU7UUFDeEQsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQzNELE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZDLG1DQUFtQztRQUNuQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ3pDLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDREQUE0RCxFQUFFLEtBQUssSUFBRyxFQUFFO1FBQzFFLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFDbEMsTUFBTSxHQUFHLElBQUksdUJBQWMsQ0FBQztZQUMzQixNQUFNLEVBQU4sY0FBTTtZQUNOLDRCQUE0QjtZQUM1QixHQUFHLEVBQUUsa0JBQWtCLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtTQUNqRCxDQUFDLENBQUE7UUFDRixNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMs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
@@ -1 +0,0 @@
1
- export {};
@@ -1,172 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const client_1 = require("../client");
4
- const make_rpc_tcp_tunnel_1 = require("../client/tunnels/make-rpc-tcp-tunnel");
5
- const make_rpc_tls_tunnel_1 = require("../client/tunnels/make-rpc-tls-tunnel");
6
- const describe_with_server_1 = require("../tests/describe-with-server");
7
- const utils_1 = require("../tests/utils");
8
- const utils_2 = require("../utils");
9
- (0, describe_with_server_1.describeWithServer)('RPC Tunnel', opts => {
10
- const { mockHttpsServer, getClientOnServer } = opts;
11
- let client;
12
- beforeEach(async () => {
13
- client = opts.client;
14
- });
15
- afterEach(async () => {
16
- await client.terminateConnection();
17
- });
18
- it('should connect to a server via RPC tunnel', async () => {
19
- // setup tunnel for listening & then
20
- // connect to it via RPC
21
- const tunnel = await (0, make_rpc_tcp_tunnel_1.makeRpcTcpTunnel)({ tunnelId: 1, client });
22
- await client.rpc('createTunnel', {
23
- id: 1,
24
- host: 'localhost',
25
- port: opts.mockhttpsServerPort,
26
- geoLocation: ''
27
- });
28
- const ws = getClientOnServer();
29
- const socketTunnel = ws === null || ws === void 0 ? void 0 : ws.tunnels[1];
30
- expect(socketTunnel).toBeTruthy();
31
- await tunnel.close();
32
- // check that the server actually closed the tunnel
33
- // upon our request
34
- await expect(socketTunnel === null || socketTunnel === void 0 ? void 0 : socketTunnel.write(Buffer.from('hello'))).rejects.toMatchObject({
35
- code: 'ERR_STREAM_DESTROYED'
36
- });
37
- });
38
- describe('TLS', () => {
39
- it('should do a TLS handshake via RPC tunnel', async () => {
40
- const ws = getClientOnServer();
41
- const tunnel = await (0, make_rpc_tls_tunnel_1.makeRpcTlsTunnel)({
42
- request: {
43
- id: 1,
44
- host: 'localhost',
45
- port: opts.mockhttpsServerPort,
46
- },
47
- tlsOpts: {
48
- verifyServerCertificate: false,
49
- },
50
- logger: client.logger,
51
- connect(initMessages) {
52
- client.sendMessage(...initMessages)
53
- .catch(() => { });
54
- // ensure that the client hello message
55
- // was sent to the server along the
56
- // "createTunnel" request -- that saves
57
- // us a round-trip
58
- expect(initMessages[1].tunnelMessage)
59
- .toBeTruthy();
60
- return client;
61
- },
62
- });
63
- expect(ws === null || ws === void 0 ? void 0 : ws.tunnels[1]).toBeTruthy();
64
- await tunnel.close();
65
- });
66
- it('should setup a 0-RTT TLS connection', async () => {
67
- let client2;
68
- const tunnel = await (0, make_rpc_tls_tunnel_1.makeRpcTlsTunnel)({
69
- request: {
70
- id: 1,
71
- host: 'localhost',
72
- port: opts.mockhttpsServerPort,
73
- },
74
- tlsOpts: {
75
- verifyServerCertificate: false,
76
- },
77
- logger: client.logger,
78
- connect(initMessages) {
79
- client2 = new client_1.AttestorClient({
80
- url: opts.serverUrl,
81
- logger: utils_2.logger.child({ client: 2 }),
82
- initMessages
83
- });
84
- return client2;
85
- },
86
- });
87
- await tunnel.close();
88
- await (client2 === null || client2 === void 0 ? void 0 : client2.terminateConnection());
89
- });
90
- it('should gracefully handle a TLS disconnection alert', async () => {
91
- let socket;
92
- mockHttpsServer.server.once('secureConnection', s => {
93
- socket = s;
94
- });
95
- let closeResolve;
96
- await (0, make_rpc_tls_tunnel_1.makeRpcTlsTunnel)({
97
- request: {
98
- id: 1,
99
- host: 'localhost',
100
- port: opts.mockhttpsServerPort,
101
- },
102
- tlsOpts: {
103
- verifyServerCertificate: false,
104
- },
105
- logger: client.logger,
106
- connect(initMessages) {
107
- client.sendMessage(...initMessages)
108
- .catch(() => { });
109
- return client;
110
- },
111
- onClose(err) {
112
- closeResolve === null || closeResolve === void 0 ? void 0 : closeResolve(err);
113
- },
114
- });
115
- await (0, utils_1.delay)(100);
116
- expect(socket).toBeTruthy();
117
- socket === null || socket === void 0 ? void 0 : socket.end();
118
- const err = await new Promise((resolve) => {
119
- closeResolve = resolve;
120
- });
121
- // since it was a graceful close, there should be no error
122
- expect(err).toBeUndefined();
123
- });
124
- it('should handle TLS handshake errors', async () => {
125
- await expect((0, make_rpc_tls_tunnel_1.makeRpcTlsTunnel)({
126
- request: {
127
- id: 1,
128
- host: 'localhost',
129
- port: opts.mockhttpsServerPort,
130
- },
131
- tlsOpts: {
132
- applicationLayerProtocols: [
133
- 'invalid-protocol'
134
- ]
135
- },
136
- logger: client.logger,
137
- connect(initMessages) {
138
- client.sendMessage(...initMessages)
139
- .catch(() => { });
140
- return client;
141
- },
142
- })).rejects.toMatchObject({
143
- message: /NO_APPLICATION_PROTOCOL/
144
- });
145
- });
146
- it('should handle tunnel creation errors', async () => {
147
- await expect((0, make_rpc_tls_tunnel_1.makeRpcTlsTunnel)({
148
- request: {
149
- id: 1,
150
- host: 'localhost',
151
- port: opts.mockhttpsServerPort,
152
- // invalid geo location
153
- geoLocation: 'XZ'
154
- },
155
- tlsOpts: {
156
- applicationLayerProtocols: [
157
- 'invalid-protocol'
158
- ]
159
- },
160
- logger: client.logger,
161
- connect(initMessages) {
162
- client.sendMessage(...initMessages)
163
- .catch(() => { });
164
- return client;
165
- },
166
- })).rejects.toMatchObject({
167
- message: /NO_APPLICATION_PROTOCOL/
168
- });
169
- });
170
- });
171
- });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5ycGMtdHVubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RzL3Rlc3QucnBjLXR1bm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVDQUEyQztBQUMzQyxnRkFBeUU7QUFDekUsZ0ZBQXlFO0FBQ3pFLHlFQUFtRTtBQUNuRSwyQ0FBdUM7QUFDdkMscUNBQWtDO0FBR2xDLElBQUEseUNBQWtCLEVBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFO0lBRXZDLE1BQU0sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUE7SUFFbkQsSUFBSSxNQUFzQixDQUFBO0lBQzFCLFVBQVUsQ0FBQyxLQUFLLElBQUcsRUFBRTtRQUNwQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNyQixDQUFDLENBQUMsQ0FBQTtJQUVGLFNBQVMsQ0FBQyxLQUFLLElBQUcsRUFBRTtRQUNuQixNQUFNLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO0lBQ25DLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssSUFBRyxFQUFFO1FBQ3pELG9DQUFvQztRQUNwQyx3QkFBd0I7UUFDeEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLHNDQUFnQixFQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQzlELE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FDZixjQUFjLEVBQ2Q7WUFDQyxFQUFFLEVBQUUsQ0FBQztZQUNMLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQzlCLFdBQVcsRUFBRSxFQUFFO1NBQ2YsQ0FDRCxDQUFBO1FBRUQsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQTtRQUM5QixNQUFNLFlBQVksR0FBRyxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENB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
@@ -1 +0,0 @@
1
- export {};
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const ethers_1 = require("ethers");
4
- const api_1 = require("../proto/api");
5
- const signatures_1 = require("../utils/signatures");
6
- const ALGS = [
7
- {
8
- title: 'ETH',
9
- algorithm: signatures_1.SIGNATURES[api_1.ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH]
10
- }
11
- ];
12
- describe.each(ALGS)('$title Signatures', ({ algorithm }) => {
13
- it('should sign & verify', async () => {
14
- const alice = ethers_1.Wallet.createRandom();
15
- const data = Buffer.from('{"a":"123","b":123}', 'utf8');
16
- const signature = await algorithm.sign(data, alice.privateKey);
17
- const addr = algorithm.getAddress(ethers_1.utils.arrayify(alice.publicKey));
18
- let res = await algorithm.verify(data, signature, addr);
19
- expect(res).toBeTruthy();
20
- res = await algorithm.verify(data, ethers_1.utils.hexlify(signature), addr);
21
- expect(res).toBeTruthy();
22
- });
23
- });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5zaWduYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RzL3Rlc3Quc2lnbmF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFzQztBQUN0Qyx1Q0FBb0Q7QUFDcEQscURBQWlEO0FBRWpELE1BQU0sSUFBSSxHQUFHO0lBQ1o7UUFDQyxLQUFLLEVBQUUsS0FBSztRQUNaLFNBQVMsRUFBRSx1QkFBVSxDQUFDLDBCQUFvQixDQUFDLDBCQUEwQixDQUFDO0tBQ3RFO0NBQ0QsQ0FBQTtBQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFFMUQsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEtBQUssSUFBRyxFQUFFO1FBRXBDLE1BQU0sS0FBSyxHQUFHLGVBQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUVuQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FDckMsSUFBSSxFQUNKLEtBQUssQ0FBQyxVQUFVLENBQ2hCLENBQUE7UUFFRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDbEUsSUFBSSxHQUFHLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3hCLEdBQUcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFbEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ3pCLENBQUMsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUEifQ==
@@ -1 +0,0 @@
1
- export {};
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tls_1 = require("@reclaimprotocol/tls");
4
- const server_1 = require("../server");
5
- const utils_1 = require("../utils");
6
- const DEMO_GEO_LOCATIONS = ['in', 'us'];
7
- jest.setTimeout(15000);
8
- describe.skip('TCP Tunnel', () => {
9
- it.each([...DEMO_GEO_LOCATIONS, 'none'])('should generate a session using a geoLocation (%s)', async (geoLocation) => {
10
- const resParser = (0, utils_1.makeHttpResponseParser)();
11
- let resolvePromise;
12
- let rejectPromise;
13
- const session = await (0, server_1.makeTcpTunnel)({
14
- host: 'lumtest.com',
15
- port: 80,
16
- geoLocation: geoLocation === 'none' ? '' : geoLocation,
17
- logger: utils_1.logger,
18
- onClose(err) {
19
- rejectPromise === null || rejectPromise === void 0 ? void 0 : rejectPromise(err || new Error('session closed'));
20
- },
21
- onMessage(data) {
22
- resParser.onChunk(data);
23
- if (resParser.res.complete) {
24
- resolvePromise === null || resolvePromise === void 0 ? void 0 : resolvePromise();
25
- }
26
- },
27
- });
28
- const waitForRes = new Promise((resolve, reject) => {
29
- resolvePromise = resolve;
30
- rejectPromise = reject;
31
- });
32
- const str = 'GET /myip.json HTTP/1.1\r\nHost: lumtest.com\r\n\r\n';
33
- await session.write((0, tls_1.strToUint8Array)(str));
34
- await waitForRes;
35
- await session.close();
36
- expect(resParser.res.statusCode).toBe(200);
37
- const resBody = (0, tls_1.uint8ArrayToStr)(resParser.res.body);
38
- const resJson = JSON.parse(resBody);
39
- if (geoLocation === 'none') {
40
- return;
41
- }
42
- expect(resJson.country).toBe(geoLocation.toUpperCase());
43
- });
44
- it('should gracefully fail an invalid geoLocation', async () => {
45
- await expect((0, server_1.makeTcpTunnel)({
46
- host: 'lumtest.com',
47
- port: 80,
48
- geoLocation: 'xz',
49
- logger: utils_1.logger,
50
- })).rejects.toMatchObject({
51
- message: /failed with status code: 400/
52
- });
53
- });
54
- it('should connect to restricted server', async () => {
55
- const session = await (0, server_1.makeTcpTunnel)({
56
- host: 'servicos.acesso.gov.br',
57
- port: 80,
58
- geoLocation: 'US',
59
- logger: utils_1.logger,
60
- });
61
- await session.close();
62
- });
63
- });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC50Y3AtdHVubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RzL3Rlc3QudGNwLXR1bm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUF1RTtBQUN2RSx1Q0FBMEM7QUFDMUMscUNBQTBEO0FBRTFELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFFdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFNLENBQUMsQ0FBQTtBQUV2QixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFFaEMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxvREFBb0QsRUFBRSxLQUFLLEVBQUMsV0FBVyxFQUFFLEVBQUU7UUFDbkgsTUFBTSxTQUFTLEdBQUcsSUFBQSw4QkFBc0IsR0FBRSxDQUFBO1FBRTFDLElBQUksY0FBd0MsQ0FBQTtRQUM1QyxJQUFJLGFBQWlELENBQUE7UUFFckQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLHNCQUFhLEVBQUM7WUFDbkMsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSSxFQUFFLEVBQUU7WUFDUixXQUFXLEVBQUUsV0FBVyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ3RELE1BQU0sRUFBTixjQUFNO1lBQ04sT0FBTyxDQUFDLEdBQUc7Z0JBQ1YsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFHLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUE7WUFDcEQsQ0FBQztZQUNELFNBQVMsQ0FBQyxJQUFJO2dCQUNiLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3ZCLElBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDM0IsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxFQUFJLENBQUE7Z0JBQ25CLENBQUM7WUFDRixDQUFDO1NBQ0QsQ0FBQyxDQUFBO1FBRUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDeEQsY0FBYyxHQUFHLE9BQU8sQ0FBQTtZQUN4QixhQUFhLEdBQUcsTUFBTSxDQUFBO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxHQUFHLEdBQUcsc0RBQXNELENBQUE7UUFDbEUsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUEscUJBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sVUFBVSxDQUFBO1FBRWhCLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3JCLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFBLHFCQUFlLEVBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRW5DLElBQUcsV0FBVyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE9BQU07UUFDUCxDQUFDO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzNCLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FDekIsQ0FBQTtJQUNGLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLCtDQUErQyxFQUFFLEtBQUssSUFBRyxFQUFFO1FBQzdELE1BQU0sTUFBTSxDQUNYLElBQUEsc0JBQWEsRUFBQztZQUNiLElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxFQUFFO1lBQ1IsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFOLGNBQU07U0FDTixDQUFDLENBQ0YsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSw4QkFBOEI7U0FDdkMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSyxJQUFHLEVBQUU7UUFDbkQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLHNCQUFhLEVBQUM7WUFDbkMsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE1BQU0sRUFBTixjQUFNO1NBQ04sQ0FBQyxDQUFBO1FBRUYsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDdEIsQ0FBQyxDQUFDLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQSJ9
@@ -1 +0,0 @@
1
- import '../server/utils/config-env';