@reclaimprotocol/attestor-core 3.1.1 → 4.0.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 (110) hide show
  1. package/lib/avs/contracts/index.js +18 -8
  2. package/lib/avs/tests/test.operator.js +4 -4
  3. package/lib/avs/utils/tasks.d.ts +1 -1
  4. package/lib/client/create-claim.d.ts +2 -2
  5. package/lib/client/create-claim.js +100 -34
  6. package/lib/client/tunnels/make-rpc-tcp-tunnel.js +3 -3
  7. package/lib/client/tunnels/make-rpc-tls-tunnel.js +3 -3
  8. package/lib/client/utils/client-socket.d.ts +3 -1
  9. package/lib/client/utils/client-socket.js +25 -8
  10. package/lib/client/utils/message-handler.js +2 -2
  11. package/lib/config/index.d.ts +9 -2
  12. package/lib/config/index.js +10 -4
  13. package/lib/index.js +18 -8
  14. package/lib/proto/api.d.ts +81 -2
  15. package/lib/proto/api.js +859 -101
  16. package/lib/providers/http/index.js +220 -116
  17. package/lib/providers/http/utils.d.ts +3 -6
  18. package/lib/providers/http/utils.js +13 -11
  19. package/lib/providers/index.js +1 -3
  20. package/lib/scripts/check-avs-registration.js +2 -2
  21. package/lib/scripts/generate-provider-types.js +2 -2
  22. package/lib/scripts/generate-receipt.js +6 -3
  23. package/lib/scripts/generate-toprf-keys.d.ts +1 -0
  24. package/lib/scripts/generate-toprf-keys.js +23 -0
  25. package/lib/scripts/register-avs-operator.js +2 -2
  26. package/lib/scripts/start-server.js +10 -3
  27. package/lib/scripts/update-avs-metadata.js +2 -2
  28. package/lib/scripts/verify-root-ca.js +2 -2
  29. package/lib/scripts/whitelist-operator.js +2 -2
  30. package/lib/server/create-server.js +14 -7
  31. package/lib/server/handlers/claimTunnel.js +34 -11
  32. package/lib/server/handlers/createTunnel.js +45 -9
  33. package/lib/server/handlers/disconnectTunnel.js +2 -2
  34. package/lib/server/handlers/index.js +4 -2
  35. package/lib/server/handlers/init.js +17 -2
  36. package/lib/server/handlers/toprf.d.ts +2 -0
  37. package/lib/server/handlers/toprf.js +21 -0
  38. package/lib/server/socket.d.ts +5 -3
  39. package/lib/server/socket.js +28 -8
  40. package/lib/server/tunnels/make-tcp-tunnel.js +22 -29
  41. package/lib/server/utils/apm.js +9 -5
  42. package/lib/server/utils/assert-valid-claim-request.d.ts +3 -3
  43. package/lib/server/utils/assert-valid-claim-request.js +27 -16
  44. package/lib/server/utils/dns.d.ts +1 -0
  45. package/lib/server/utils/dns.js +22 -0
  46. package/lib/server/utils/generics.d.ts +1 -1
  47. package/lib/tests/describe-with-server.d.ts +0 -2
  48. package/lib/tests/describe-with-server.js +1 -4
  49. package/lib/tests/mock-provider-server.d.ts +1 -1
  50. package/lib/tests/test.auth.d.ts +1 -0
  51. package/lib/tests/test.auth.js +75 -0
  52. package/lib/tests/test.bgp-listener.d.ts +1 -0
  53. package/lib/tests/test.bgp-listener.js +169 -0
  54. package/lib/tests/test.claim-creation.js +101 -8
  55. package/lib/tests/test.http-parser.d.ts +1 -1
  56. package/lib/tests/test.http-parser.js +7 -5
  57. package/lib/tests/test.http-provider-utils.js +489 -211
  58. package/lib/tests/test.http-provider.js +77 -6
  59. package/lib/tests/test.rpc-tunnel.js +10 -6
  60. package/lib/tests/test.zk.d.ts +1 -1
  61. package/lib/tests/test.zk.js +180 -12
  62. package/lib/tests/utils.d.ts +6 -0
  63. package/lib/tests/utils.js +16 -1
  64. package/lib/types/bgp.d.ts +11 -0
  65. package/lib/types/bgp.js +3 -0
  66. package/lib/types/claims.d.ts +14 -5
  67. package/lib/types/client.d.ts +30 -3
  68. package/lib/types/general.d.ts +12 -0
  69. package/lib/types/handlers.d.ts +4 -4
  70. package/lib/types/index.d.ts +1 -0
  71. package/lib/types/index.js +2 -1
  72. package/lib/types/providers.d.ts +25 -10
  73. package/lib/types/providers.gen.d.ts +14 -155
  74. package/lib/types/providers.gen.js +2 -6
  75. package/lib/types/tunnel.d.ts +2 -2
  76. package/lib/types/zk.d.ts +11 -3
  77. package/lib/utils/auth.d.ts +7 -0
  78. package/lib/utils/auth.js +64 -0
  79. package/lib/utils/b64-json.d.ts +2 -0
  80. package/lib/utils/b64-json.js +23 -0
  81. package/lib/utils/bgp-listener.d.ts +7 -0
  82. package/lib/utils/bgp-listener.js +126 -0
  83. package/lib/utils/claims.js +3 -3
  84. package/lib/utils/generics.d.ts +5 -5
  85. package/lib/utils/generics.js +3 -3
  86. package/lib/utils/http-parser.d.ts +4 -0
  87. package/lib/utils/http-parser.js +4 -2
  88. package/lib/utils/index.d.ts +2 -0
  89. package/lib/utils/index.js +3 -1
  90. package/lib/utils/redactions.d.ts +19 -6
  91. package/lib/utils/redactions.js +41 -4
  92. package/lib/utils/socket-base.d.ts +3 -2
  93. package/lib/utils/socket-base.js +7 -2
  94. package/lib/utils/ws.d.ts +5 -5
  95. package/lib/utils/ws.js +27 -10
  96. package/lib/utils/zk.d.ts +12 -7
  97. package/lib/utils/zk.js +261 -67
  98. package/lib/window-rpc/setup-window-rpc.js +29 -8
  99. package/lib/window-rpc/types.d.ts +16 -21
  100. package/lib/window-rpc/utils.d.ts +2 -1
  101. package/lib/window-rpc/utils.js +28 -2
  102. package/lib/window-rpc/window-rpc-zk.d.ts +8 -3
  103. package/lib/window-rpc/window-rpc-zk.js +58 -45
  104. package/package.json +25 -22
  105. package/lib/providers/httpb64/index.d.ts +0 -3
  106. package/lib/providers/httpb64/index.js +0 -209
  107. package/lib/providers/httpb64/utils.d.ts +0 -77
  108. package/lib/providers/httpb64/utils.js +0 -358
  109. package/lib/server/utils/verify-server-certificates.d.ts +0 -7
  110. package/lib/server/utils/verify-server-certificates.js +0 -101
@@ -8,14 +8,18 @@ const utils_2 = require("../../utils");
8
8
  const socket_base_1 = require("../../utils/socket-base");
9
9
  const ws_1 = require("../../utils/ws");
10
10
  class AttestorClient extends socket_base_1.AttestorSocket {
11
- constructor({ url, initMessages = [], signatureType = config_1.DEFAULT_METADATA.signatureType, logger = utils_2.logger, Websocket = ws_1.Websocket }) {
12
- const initRequest = { ...config_1.DEFAULT_METADATA, signatureType };
11
+ constructor({ url, initMessages = [], signatureType = config_1.DEFAULT_METADATA.signatureType, logger = utils_2.logger, authRequest, makeWebSocket = ws_1.makeWebSocket }) {
12
+ const initRequest = {
13
+ ...config_1.DEFAULT_METADATA,
14
+ signatureType,
15
+ auth: authRequest
16
+ };
13
17
  const msg = (0, utils_2.packRpcMessages)({ initRequest }, ...initMessages);
14
18
  const initRequestBytes = api_1.RPCMessages.encode(msg).finish();
15
19
  const initRequestB64 = utils_1.base64.encode(initRequestBytes);
16
20
  url = new URL(url.toString());
17
21
  url.searchParams.set('messages', initRequestB64);
18
- super(new Websocket(url), initRequest, logger);
22
+ super(makeWebSocket(url), initRequest, logger);
19
23
  this.waitForInit = () => {
20
24
  if (this.isClosed) {
21
25
  throw new utils_2.AttestorError('ERROR_NETWORK_ERROR', 'Client connection already closed');
@@ -25,16 +29,29 @@ class AttestorClient extends socket_base_1.AttestorSocket {
25
29
  const initReqId = msg.messages[0].id;
26
30
  this.waitForInitPromise = this
27
31
  .waitForResponse(initReqId)
28
- .then(() => {
32
+ .then(res => {
29
33
  logger.info('client initialised');
30
34
  this.isInitialised = true;
35
+ this.initResponse = res;
31
36
  });
37
+ // swallow the error if anything bad happens, and we've no
38
+ // catch block to handle it
39
+ this.waitForInitPromise
40
+ .catch(() => { });
32
41
  this.addEventListener('connection-terminated', ev => (logger.info({ err: ev.data }, 'connection terminated')));
33
42
  }
34
43
  async rpc(type, request) {
35
- const { messages: [{ id }] } = await this.sendMessage({ [(0, utils_2.getRpcRequestType)(type)]: request });
36
- const rslt = await this.waitForResponse(id);
37
- return rslt;
44
+ this.logger.debug({ type }, 'sending rpc request');
45
+ const now = Date.now();
46
+ try {
47
+ const { messages: [{ id }] } = await this.sendMessage({ [(0, utils_2.getRpcRequestType)(type)]: request });
48
+ const rslt = await this.waitForResponse(id);
49
+ return rslt;
50
+ }
51
+ finally {
52
+ const timeTakenMs = Date.now() - now;
53
+ this.logger.debug({ type, timeTakenMs }, 'received rpc response');
54
+ }
38
55
  }
39
56
  waitForResponse(id) {
40
57
  if (this.isClosed) {
@@ -74,4 +91,4 @@ class AttestorClient extends socket_base_1.AttestorSocket {
74
91
  }
75
92
  }
76
93
  exports.AttestorClient = AttestorClient;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdXRpbHMvY2xpZW50LXNvY2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBeUM7QUFDekMsdUNBQTZDO0FBQzdDLHVDQUEyQztBQUUzQyxxQ0FBK0Y7QUFDL0YsdURBQXNEO0FBQ3RELHFDQUE0RDtBQUU1RCxNQUFhLGNBQWUsU0FBUSw0QkFBYztJQUlqRCxZQUFZLEVBQ1gsR0FBRyxFQUNILFlBQVksR0FBRyxFQUFFLEVBQ2pCLGFBQWEsR0FBRyx5QkFBZ0IsQ0FBQyxhQUFhLEVBQzlDLE1BQU0sR0FBRyxjQUFNLEVBQ2YsU0FBUyxHQUFHLGNBQWdCLEVBQ0Q7UUFDM0IsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLHlCQUFnQixFQUFFLGFBQWEsRUFBRSxDQUFBO1FBQzFELE1BQU0sR0FBRyxHQUFHLElBQUEsdUJBQWUsRUFBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUE7UUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUN6RCxNQUFNLGNBQWMsR0FBRyxjQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFFdEQsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzdCLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQTtRQUVoRCxLQUFLLENBQ0osSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFjLEVBQy9CLFdBQVcsRUFDWCxNQUFNLENBQ04sQ0FBQTtRQStFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNsQixJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxJ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
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdXRpbHMvY2xpZW50LXNvY2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBeUM7QUFDekMsdUNBQTZDO0FBQzdDLHVDQUF5RDtBQUV6RCxxQ0FBK0Y7QUFDL0YsdURBQXNEO0FBQ3RELHFDQUFvRTtBQUVwRSxNQUFhLGNBQWUsU0FBUSw0QkFBYztJQU1qRCxZQUFZLEVBQ1gsR0FBRyxFQUNILFlBQVksR0FBRyxFQUFFLEVBQ2pCLGFBQWEsR0FBRyx5QkFBZ0IsQ0FBQyxhQUFhLEVBQzlDLE1BQU0sR0FBRyxjQUFNLEVBQ2YsV0FBVyxFQUNYLGFBQWEsR0FBRyxrQkFBb0IsRUFDVDtRQUMzQixNQUFNLFdBQVcsR0FBRztZQUNuQixHQUFHLHlCQUFnQjtZQUNuQixhQUFhO1lBQ2IsSUFBSSxFQUFFLFdBQVc7U0FDakIsQ0FBQTtRQUNELE1BQU0sR0FBRyxHQUFHLElBQUEsdUJBQWUsRUFBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUE7UUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUN6RCxNQUFNLGNBQWMsR0FBRyxjQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFFdEQsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzdCLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQTtRQUVoRCxLQUFLLENBQ0osYUFBYSxDQUFDLEdBQUcsQ0FBYyxFQUMvQixXQUFXLEVBQ1gsTUFBTSxDQUNOLENBQUE7UUE0RkYsZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDbEIsSUFBRyxJQUFJLENBQUMs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
@@ -46,7 +46,7 @@ function handleMessage(msg) {
46
46
  }
47
47
  if (!this.isInitialised && rpcRequest.type !== 'init') {
48
48
  this.logger.warn({ type: rpcRequest.type }, 'RPC request received before initialisation');
49
- this.sendMessage({
49
+ void this.sendMessage({
50
50
  id: msg.id,
51
51
  requestError: utils_1.AttestorError
52
52
  .badRequest('Initialise connection first')
@@ -90,4 +90,4 @@ function handleMessage(msg) {
90
90
  }
91
91
  this.logger.warn({ msg }, 'unhandled message');
92
92
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC91dGlscy9tZXNzYWdlLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSw0Q0FPQztBQUVELHNDQW9HQztBQWpIRCx1Q0FBdUQ7QUFFdkQscUNBQTZIO0FBRXRILEtBQUssVUFBVSxnQkFBZ0IsQ0FBd0IsSUFBYTtJQUMxRSxtREFBbUQ7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLG9DQUE0QixFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3JELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxpQkFBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM3QyxLQUFJLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzNCLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQztBQUNGLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQXdCLEdBQWU7O0lBQ25FLHNDQUFzQztJQUN0QyxJQUFHLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLHFCQUFhLENBQUMsU0FBUyxDQUNsQyxHQUFHLENBQUMsMEJBQTBCLENBQzlCLENBQUE7UUFDRCxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLElBQUksQ0FDaEI7WUFDQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxnQkFBZ0I7Z0JBQ2pDLENBQUMsQ0FBQyxHQUFHO2dCQUNMLENBQUMsQ0FBQyxTQUFTO1NBQ1osRUFDRCx1Q0FBdUMsQ0FDdkMsQ0FBQTtRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUNuRCxPQUFNO0lBQ1AsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLElBQUEscUJBQWEsRUFBQyxHQUFH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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC91dGlscy9tZXNzYWdlLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSw0Q0FPQztBQUVELHNDQW9HQztBQWpIRCx1Q0FBdUQ7QUFFdkQscUNBQTZIO0FBRXRILEtBQUssVUFBVSxnQkFBZ0IsQ0FBd0IsSUFBYTtJQUMxRSxtREFBbUQ7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLG9DQUE0QixFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3JELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxpQkFBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM3QyxLQUFJLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzNCLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQztBQUNGLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQXdCLEdBQWU7O0lBQ25FLHNDQUFzQztJQUN0QyxJQUFHLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLHFCQUFhLENBQUMsU0FBUyxDQUNsQyxHQUFHLENBQUMsMEJBQTBCLENBQzlCLENBQUE7UUFDRCxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLElBQUksQ0FDaEI7WUFDQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxnQkFBZ0I7Z0JBQ2pDLENBQUMsQ0FBQyxHQUFHO2dCQUNMLENBQUMsQ0FBQyxTQUFTO1NBQ1osRUFDRCx1Q0FBdUMsQ0FDdkMsQ0FBQTtRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUNuRCxPQUFNO0lBQ1AsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLElBQUEscUJBQWEsRUFBQyxHQUFH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
@@ -1,5 +1,4 @@
1
- import { InitRequest } from '../proto/api';
2
- export declare const MAX_ZK_CHUNKS = 200;
1
+ import { AttestorVersion, InitRequest } from '../proto/api';
3
2
  export declare const DEFAULT_ZK_CONCURRENCY = 10;
4
3
  export declare const RECLAIM_USER_AGENT = "reclaim/0.0.1";
5
4
  export declare const DEFAULT_HTTPS_PORT = 443;
@@ -10,7 +9,11 @@ export declare const API_SERVER_PORT = 8001;
10
9
  export declare const CONNECTION_TIMEOUT_MS = 10000;
11
10
  export declare const DNS_SERVERS: string[];
12
11
  export declare const MAX_CLAIM_TIMESTAMP_DIFF_S: number;
12
+ export declare const CURRENT_ATTESTOR_VERSION = AttestorVersion.ATTESTOR_VERSION_2_0_1;
13
13
  export declare const DEFAULT_METADATA: InitRequest;
14
+ export declare const PROVIDER_CTX: {
15
+ version: AttestorVersion;
16
+ };
14
17
  export declare const PING_INTERVAL_MS = 10000;
15
18
  /**
16
19
  * Maximum interval in seconds to wait for before assuming
@@ -18,3 +21,7 @@ export declare const PING_INTERVAL_MS = 10000;
18
21
  * @default 30s
19
22
  */
20
23
  export declare const MAX_NO_DATA_INTERVAL_MS = 30000;
24
+ export declare const MAX_PAYLOAD_SIZE: number;
25
+ export declare const DEFAULT_AUTH_EXPIRY_S: number;
26
+ export declare const TOPRF_DOMAIN_SEPARATOR = "reclaim-toprf";
27
+ export declare const BGP_WS_URL = "wss://ris-live.ripe.net/v1/ws/?client=reclaim-hijack-detector";
@@ -1,8 +1,7 @@
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_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;
3
+ exports.BGP_WS_URL = exports.TOPRF_DOMAIN_SEPARATOR = exports.DEFAULT_AUTH_EXPIRY_S = exports.MAX_PAYLOAD_SIZE = exports.MAX_NO_DATA_INTERVAL_MS = exports.PING_INTERVAL_MS = exports.PROVIDER_CTX = exports.DEFAULT_METADATA = exports.CURRENT_ATTESTOR_VERSION = 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 = void 0;
4
4
  const api_1 = require("../proto/api");
5
- exports.MAX_ZK_CHUNKS = 200;
6
5
  exports.DEFAULT_ZK_CONCURRENCY = 10;
7
6
  exports.RECLAIM_USER_AGENT = 'reclaim/0.0.1';
8
7
  exports.DEFAULT_HTTPS_PORT = 443;
@@ -18,10 +17,13 @@ exports.DNS_SERVERS = [
18
17
  ];
19
18
  // 10m
20
19
  exports.MAX_CLAIM_TIMESTAMP_DIFF_S = 10 * 60;
20
+ exports.CURRENT_ATTESTOR_VERSION = api_1.AttestorVersion.ATTESTOR_VERSION_2_0_1;
21
21
  exports.DEFAULT_METADATA = {
22
22
  signatureType: api_1.ServiceSignatureType.SERVICE_SIGNATURE_TYPE_ETH,
23
- clientVersion: api_1.AttestorVersion.ATTESTOR_VERSION_2_0_0
23
+ clientVersion: exports.CURRENT_ATTESTOR_VERSION,
24
+ auth: undefined
24
25
  };
26
+ exports.PROVIDER_CTX = { version: exports.CURRENT_ATTESTOR_VERSION };
25
27
  exports.PING_INTERVAL_MS = 10000;
26
28
  /**
27
29
  * Maximum interval in seconds to wait for before assuming
@@ -29,4 +31,8 @@ exports.PING_INTERVAL_MS = 10000;
29
31
  * @default 30s
30
32
  */
31
33
  exports.MAX_NO_DATA_INTERVAL_MS = 30000;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFrRjtBQUVyRSxRQUFBLGFBQWEsR0FBRyxHQUFHLENBQUE7QUFFbkIsUUFBQSxzQkFBc0IsR0FBRyxFQUFFLENBQUE7QUFFM0IsUUFBQSxrQkFBa0IsR0FBRyxlQUFlLENBQUE7QUFFcEMsUUFBQSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7QUFFeEIsUUFBQSxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBRW5CLFFBQUEsb0JBQW9CLEdBQUcsY0FBYyxDQUFBO0FBRXJDLFFBQUEsa0NBQWtDLEdBQUcsR0FBRyw0QkFBb0IsWUFBWSxDQUFBO0FBRXhFLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQTtBQUVuQyxNQUFNO0FBQ08sUUFBQSxxQkFBcUIsR0FBRyxLQUFNLENBQUE7QUFFOUIsUUFBQSxXQUFXLEdBQUc7SUFDMUIsU0FBUztJQUNULFNBQVM7Q0FDVCxDQUFBO0FBRUQsTUFBTTtBQUNPLFFBQUEsMEJBQTBCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQTtBQUVwQyxRQUFBLGdCQUFnQixHQUFnQjtJQUM1QyxhQUFhLEVBQUUsMEJBQW9CLENBQUMsMEJBQTBCO0lBQzlELGFBQWEsRUFBRSxxQkFBZSxDQUFDLHNCQUFzQjtDQUNyRCxDQUFBO0FBRVksUUFBQSxnQkFBZ0IsR0FBRyxLQUFNLENBQUE7QUFDdEM7Ozs7R0FJRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsS0FBTSxDQUFBIn0=
34
+ exports.MAX_PAYLOAD_SIZE = 512 * 1024 * 1024; // 512MB
35
+ exports.DEFAULT_AUTH_EXPIRY_S = 15 * 60; // 15m
36
+ exports.TOPRF_DOMAIN_SEPARATOR = 'reclaim-toprf';
37
+ exports.BGP_WS_URL = 'wss://ris-live.ripe.net/v1/ws/?client=reclaim-hijack-detector';
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFrRjtBQUVyRSxRQUFBLHNCQUFzQixHQUFHLEVBQUUsQ0FBQTtBQUUzQixRQUFBLGtCQUFrQixHQUFHLGVBQWUsQ0FBQTtBQUVwQyxRQUFBLGtCQUFrQixHQUFHLEdBQUcsQ0FBQTtBQUV4QixRQUFBLFdBQVcsR0FBRyxLQUFLLENBQUE7QUFFbkIsUUFBQSxvQkFBb0IsR0FBRyxjQUFjLENBQUE7QUFFckMsUUFBQSxrQ0FBa0MsR0FBRyxHQUFHLDRCQUFvQixZQUFZLENBQUE7QUFFeEUsUUFBQSxlQUFlLEdBQUcsSUFBSSxDQUFBO0FBRW5DLE1BQU07QUFDTyxRQUFBLHFCQUFxQixHQUFHLEtBQU0sQ0FBQTtBQUU5QixRQUFBLFdBQVcsR0FBRztJQUMxQixTQUFTO0lBQ1QsU0FBUztDQUNULENBQUE7QUFFRCxNQUFNO0FBQ08sUUFBQSwwQkFBMEIsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBRXBDLFFBQUEsd0JBQXdCLEdBQUcscUJBQWUsQ0FBQyxzQkFBc0IsQ0FBQTtBQUVqRSxRQUFBLGdCQUFnQixHQUFnQjtJQUM1QyxhQUFhLEVBQUUsMEJBQW9CLENBQUMsMEJBQTBCO0lBQzlELGFBQWEsRUFBRSxnQ0FBd0I7SUFDdkMsSUFBSSxFQUFFLFNBQVM7Q0FDZixDQUFBO0FBRVksUUFBQSxZQUFZLEdBQUcsRUFBRSxPQUFPLEVBQUUsZ0NBQXdCLEVBQUUsQ0FBQTtBQUVwRCxRQUFBLGdCQUFnQixHQUFHLEtBQU0sQ0FBQTtBQUN0Qzs7OztHQUlHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxLQUFNLENBQUE7QUFFaEMsUUFBQSxnQkFBZ0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQSxDQUFDLFFBQVE7QUFFN0MsUUFBQSxxQkFBcUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBLENBQUMsTUFBTTtBQUV0QyxRQUFBLHNCQUFzQixHQUFHLGVBQWUsQ0FBQTtBQUV4QyxRQUFBLFVBQVUsR0FBRywrREFBK0QsQ0FBQSJ9
package/lib/index.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
37
  };
@@ -36,4 +46,4 @@ __exportStar(require("./providers"), exports);
36
46
  exports.proto = __importStar(require("./proto/api"));
37
47
  __exportStar(require("./client"), exports);
38
48
  __exportStar(require("./window-rpc"), exports);
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBMkM7QUFDM0MsK0RBQTRDO0FBQzVDLDJDQUF3QjtBQUN4QiwwQ0FBdUI7QUFDdkIsMENBQXVCO0FBQ3ZCLDhDQUEyQjtBQUMzQixxREFBb0M7QUFDcEMsMkNBQXdCO0FBQ3hCLCtDQUE0QiJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNERBQTJDO0FBQzNDLCtEQUE0QztBQUM1QywyQ0FBd0I7QUFDeEIsMENBQXVCO0FBQ3ZCLDBDQUF1QjtBQUN2Qiw4Q0FBMkI7QUFDM0IscURBQW9DO0FBQ3BDLDJDQUF3QjtBQUN4QiwrQ0FBNEIifQ==
@@ -25,6 +25,7 @@ export declare enum AttestorVersion {
25
25
  ATTESTOR_VERSION_1_0_0 = 1,
26
26
  ATTESTOR_VERSION_1_1_0 = 2,
27
27
  ATTESTOR_VERSION_2_0_0 = 3,
28
+ ATTESTOR_VERSION_2_0_1 = 4,
28
29
  UNRECOGNIZED = -1
29
30
  }
30
31
  export declare function attestorVersionFromJSON(object: any): AttestorVersion;
@@ -55,6 +56,13 @@ export declare enum ErrorCode {
55
56
  ERROR_NETWORK_ERROR = 6,
56
57
  /** ERROR_PAYMENT_REFUSED - attestor refused to pay the costs */
57
58
  ERROR_PAYMENT_REFUSED = 7,
59
+ /**
60
+ * ERROR_BGP_ANNOUNCEMENT_OVERLAP - BGP announcement overlapped, potentially
61
+ * compromising the claim's authenticity
62
+ */
63
+ ERROR_BGP_ANNOUNCEMENT_OVERLAP = 8,
64
+ /** ERROR_AUTHENTICATION_FAILED - authentication failed */
65
+ ERROR_AUTHENTICATION_FAILED = 9,
58
66
  UNRECOGNIZED = -1
59
67
  }
60
68
  export declare function errorCodeFromJSON(object: any): ErrorCode;
@@ -188,7 +196,10 @@ export interface MessageReveal_MessageRevealZk {
188
196
  proofs: MessageReveal_ZKProof[];
189
197
  }
190
198
  export interface MessageReveal_ZKProof {
191
- /** JSON encoded snarkJS proof */
199
+ /**
200
+ * JSON encoded snarkJS proof
201
+ * @deprecated -- use `proofData` instead
202
+ */
192
203
  proofJson: string;
193
204
  /** the decrypted ciphertext as output by the ZK proof */
194
205
  decryptedRedactedCiphertext: Uint8Array;
@@ -199,6 +210,23 @@ export interface MessageReveal_ZKProof {
199
210
  * in the redactedPlaintext
200
211
  */
201
212
  startIdx: number;
213
+ proofData: Uint8Array;
214
+ /**
215
+ * If this block's proof contains an OPRF'd piece of data,
216
+ * then provide the OPRF data here
217
+ */
218
+ toprf: TOPRFPayload | undefined;
219
+ }
220
+ export interface TOPRFPayload {
221
+ /** Location of the data in the chunk that was masked */
222
+ dataLocation: DataSlice | undefined;
223
+ /** OPRF hash of the data */
224
+ nullifier: Uint8Array;
225
+ responses: TOPRFResponse[];
226
+ }
227
+ export interface DataSlice {
228
+ fromIndex: number;
229
+ length: number;
202
230
  }
203
231
  export interface ClaimRequestData {
204
232
  provider: string;
@@ -306,11 +334,52 @@ export interface CompleteClaimOnAvsResponse {
306
334
  txHash: string;
307
335
  taskCompletedObjectJson: string;
308
336
  }
337
+ export interface AuthenticatedUserData {
338
+ /** Unique identifier for the user */
339
+ id: string;
340
+ createdAt: number;
341
+ /**
342
+ * Unix timestamp in seconds when the user's
343
+ * authentication will expire.
344
+ */
345
+ expiresAt: number;
346
+ /**
347
+ * List of allowed hosts the user is allowed to connect to.
348
+ * Will throw a BAD_REQUEST error if the user tries to connect.
349
+ * Pass an empty list to allow all hosts.
350
+ */
351
+ hostWhitelist: string[];
352
+ }
353
+ export interface AuthenticationRequest {
354
+ data: AuthenticatedUserData | undefined;
355
+ /** Signature of the `userData` */
356
+ signature: Uint8Array;
357
+ }
309
358
  export interface InitRequest {
310
359
  /** Attestor client version */
311
360
  clientVersion: AttestorVersion;
312
361
  /** Signature type used & expected by the user */
313
362
  signatureType: ServiceSignatureType;
363
+ /**
364
+ * Request the attestor to authenticate the user
365
+ * with the given data. If auth fails, will return
366
+ * an AUTHENTICATION_FAILED error.
367
+ */
368
+ auth: AuthenticationRequest | undefined;
369
+ }
370
+ export interface InitResponse {
371
+ toprfPublicKey: Uint8Array;
372
+ }
373
+ export interface TOPRFRequest {
374
+ maskedData: Uint8Array;
375
+ engine: ZKProofEngine;
376
+ }
377
+ export interface TOPRFResponse {
378
+ publicKeyShare: Uint8Array;
379
+ /** OPRF output */
380
+ evaluated: Uint8Array;
381
+ c: Uint8Array;
382
+ r: Uint8Array;
314
383
  }
315
384
  export interface RPCMessage {
316
385
  /**
@@ -323,7 +392,7 @@ export interface RPCMessage {
323
392
  id: number;
324
393
  initRequest?: InitRequest | undefined;
325
394
  /** Response to the init request. */
326
- initResponse?: Empty | undefined;
395
+ initResponse?: InitResponse | undefined;
327
396
  /**
328
397
  * Data representing an error in the WebSocket connection.
329
398
  * The party sending this message should close the connection
@@ -368,6 +437,9 @@ export interface RPCMessage {
368
437
  /** Submit the work done for the claim on the chain. */
369
438
  completeClaimOnChainRequest?: CompleteClaimOnAvsRequest | undefined;
370
439
  completeClaimOnChainResponse?: CompleteClaimOnAvsResponse | undefined;
440
+ /** Request to perform thresholded OPRF */
441
+ toprfRequest?: TOPRFRequest | undefined;
442
+ toprfResponse?: TOPRFResponse | undefined;
371
443
  }
372
444
  export interface RPCMessages {
373
445
  messages: RPCMessage[];
@@ -386,6 +458,8 @@ export declare const MessageReveal: MessageFns<MessageReveal>;
386
458
  export declare const MessageReveal_MessageRevealDirect: MessageFns<MessageReveal_MessageRevealDirect>;
387
459
  export declare const MessageReveal_MessageRevealZk: MessageFns<MessageReveal_MessageRevealZk>;
388
460
  export declare const MessageReveal_ZKProof: MessageFns<MessageReveal_ZKProof>;
461
+ export declare const TOPRFPayload: MessageFns<TOPRFPayload>;
462
+ export declare const DataSlice: MessageFns<DataSlice>;
389
463
  export declare const ClaimRequestData: MessageFns<ClaimRequestData>;
390
464
  export declare const ClaimTunnelRequest: MessageFns<ClaimTunnelRequest>;
391
465
  export declare const ClaimTunnelRequest_Signatures: MessageFns<ClaimTunnelRequest_Signatures>;
@@ -396,7 +470,12 @@ export declare const RequestClaimOnAvsRequest: MessageFns<RequestClaimOnAvsReque
396
470
  export declare const RequestClaimOnAvsResponse: MessageFns<RequestClaimOnAvsResponse>;
397
471
  export declare const CompleteClaimOnAvsRequest: MessageFns<CompleteClaimOnAvsRequest>;
398
472
  export declare const CompleteClaimOnAvsResponse: MessageFns<CompleteClaimOnAvsResponse>;
473
+ export declare const AuthenticatedUserData: MessageFns<AuthenticatedUserData>;
474
+ export declare const AuthenticationRequest: MessageFns<AuthenticationRequest>;
399
475
  export declare const InitRequest: MessageFns<InitRequest>;
476
+ export declare const InitResponse: MessageFns<InitResponse>;
477
+ export declare const TOPRFRequest: MessageFns<TOPRFRequest>;
478
+ export declare const TOPRFResponse: MessageFns<TOPRFResponse>;
400
479
  export declare const RPCMessage: MessageFns<RPCMessage>;
401
480
  export declare const RPCMessages: MessageFns<RPCMessages>;
402
481
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;