@reclaimprotocol/attestor-core 3.1.0 → 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.
- package/lib/avs/contracts/index.js +18 -8
- package/lib/avs/utils/tasks.d.ts +1 -1
- package/lib/client/create-claim.d.ts +2 -2
- package/lib/client/create-claim.js +89 -33
- package/lib/client/utils/client-socket.d.ts +3 -1
- package/lib/client/utils/client-socket.js +25 -8
- package/lib/config/index.d.ts +4 -0
- package/lib/config/index.js +8 -3
- package/lib/index.js +18 -8
- package/lib/proto/api.d.ts +80 -2
- package/lib/proto/api.js +853 -101
- package/lib/providers/http/index.js +221 -128
- package/lib/providers/http/utils.d.ts +3 -6
- package/lib/providers/http/utils.js +13 -11
- package/lib/providers/index.js +1 -3
- package/lib/scripts/generate-receipt.js +6 -3
- package/lib/scripts/generate-toprf-keys.d.ts +1 -0
- package/lib/scripts/generate-toprf-keys.js +23 -0
- package/lib/server/create-server.js +14 -7
- package/lib/server/handlers/claimTunnel.js +33 -10
- package/lib/server/handlers/createTunnel.js +44 -8
- package/lib/server/handlers/disconnectTunnel.js +2 -2
- package/lib/server/handlers/index.js +4 -2
- package/lib/server/handlers/init.js +17 -2
- package/lib/server/handlers/toprf.d.ts +2 -0
- package/lib/server/handlers/toprf.js +21 -0
- package/lib/server/socket.d.ts +5 -3
- package/lib/server/socket.js +25 -5
- package/lib/server/tunnels/make-tcp-tunnel.js +10 -24
- package/lib/server/utils/apm.js +1 -1
- package/lib/server/utils/assert-valid-claim-request.d.ts +2 -2
- package/lib/server/utils/assert-valid-claim-request.js +17 -9
- package/lib/server/utils/dns.d.ts +1 -0
- package/lib/server/utils/dns.js +22 -0
- package/lib/server/utils/generics.d.ts +1 -1
- package/lib/tests/describe-with-server.d.ts +0 -2
- package/lib/tests/describe-with-server.js +1 -4
- package/lib/tests/mock-provider-server.d.ts +1 -1
- package/lib/tests/test.auth.d.ts +1 -0
- package/lib/tests/test.auth.js +75 -0
- package/lib/tests/test.bgp-listener.d.ts +1 -0
- package/lib/tests/test.bgp-listener.js +169 -0
- package/lib/tests/test.claim-creation.js +100 -7
- package/lib/tests/test.http-parser.d.ts +1 -1
- package/lib/tests/test.http-parser.js +7 -5
- package/lib/tests/test.http-provider-utils.js +155 -30
- package/lib/tests/test.http-provider.js +50 -7
- package/lib/tests/test.zk.js +54 -4
- package/lib/tests/utils.d.ts +6 -0
- package/lib/tests/utils.js +16 -1
- package/lib/types/bgp.d.ts +11 -0
- package/lib/types/bgp.js +3 -0
- package/lib/types/claims.d.ts +14 -5
- package/lib/types/client.d.ts +30 -3
- package/lib/types/general.d.ts +12 -0
- package/lib/types/handlers.d.ts +4 -4
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +2 -1
- package/lib/types/providers.d.ts +9 -9
- package/lib/types/providers.gen.d.ts +12 -152
- package/lib/types/providers.gen.js +2 -6
- package/lib/types/zk.d.ts +11 -2
- package/lib/utils/auth.d.ts +7 -0
- package/lib/utils/auth.js +64 -0
- package/lib/utils/b64-json.d.ts +2 -0
- package/lib/utils/b64-json.js +23 -0
- package/lib/utils/bgp-listener.d.ts +7 -0
- package/lib/utils/bgp-listener.js +126 -0
- package/lib/utils/claims.js +3 -3
- package/lib/utils/generics.d.ts +5 -5
- package/lib/utils/generics.js +3 -3
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +3 -1
- package/lib/utils/redactions.d.ts +19 -6
- package/lib/utils/redactions.js +41 -4
- package/lib/utils/socket-base.d.ts +3 -2
- package/lib/utils/socket-base.js +7 -2
- package/lib/utils/ws.d.ts +5 -5
- package/lib/utils/ws.js +27 -10
- package/lib/utils/zk.d.ts +12 -7
- package/lib/utils/zk.js +197 -42
- package/lib/window-rpc/setup-window-rpc.js +29 -8
- package/lib/window-rpc/types.d.ts +16 -21
- package/lib/window-rpc/utils.d.ts +2 -1
- package/lib/window-rpc/utils.js +27 -1
- package/lib/window-rpc/window-rpc-zk.d.ts +8 -3
- package/lib/window-rpc/window-rpc-zk.js +58 -45
- package/package.json +24 -22
package/lib/proto/api.d.ts
CHANGED
|
@@ -55,6 +55,13 @@ export declare enum ErrorCode {
|
|
|
55
55
|
ERROR_NETWORK_ERROR = 6,
|
|
56
56
|
/** ERROR_PAYMENT_REFUSED - attestor refused to pay the costs */
|
|
57
57
|
ERROR_PAYMENT_REFUSED = 7,
|
|
58
|
+
/**
|
|
59
|
+
* ERROR_BGP_ANNOUNCEMENT_OVERLAP - BGP announcement overlapped, potentially
|
|
60
|
+
* compromising the claim's authenticity
|
|
61
|
+
*/
|
|
62
|
+
ERROR_BGP_ANNOUNCEMENT_OVERLAP = 8,
|
|
63
|
+
/** ERROR_AUTHENTICATION_FAILED - authentication failed */
|
|
64
|
+
ERROR_AUTHENTICATION_FAILED = 9,
|
|
58
65
|
UNRECOGNIZED = -1
|
|
59
66
|
}
|
|
60
67
|
export declare function errorCodeFromJSON(object: any): ErrorCode;
|
|
@@ -188,7 +195,10 @@ export interface MessageReveal_MessageRevealZk {
|
|
|
188
195
|
proofs: MessageReveal_ZKProof[];
|
|
189
196
|
}
|
|
190
197
|
export interface MessageReveal_ZKProof {
|
|
191
|
-
/**
|
|
198
|
+
/**
|
|
199
|
+
* JSON encoded snarkJS proof
|
|
200
|
+
* @deprecated -- use `proofData` instead
|
|
201
|
+
*/
|
|
192
202
|
proofJson: string;
|
|
193
203
|
/** the decrypted ciphertext as output by the ZK proof */
|
|
194
204
|
decryptedRedactedCiphertext: Uint8Array;
|
|
@@ -199,6 +209,23 @@ export interface MessageReveal_ZKProof {
|
|
|
199
209
|
* in the redactedPlaintext
|
|
200
210
|
*/
|
|
201
211
|
startIdx: number;
|
|
212
|
+
proofData: Uint8Array;
|
|
213
|
+
/**
|
|
214
|
+
* If this block's proof contains an OPRF'd piece of data,
|
|
215
|
+
* then provide the OPRF data here
|
|
216
|
+
*/
|
|
217
|
+
toprf: TOPRFPayload | undefined;
|
|
218
|
+
}
|
|
219
|
+
export interface TOPRFPayload {
|
|
220
|
+
/** Location of the data in the chunk that was masked */
|
|
221
|
+
dataLocation: DataSlice | undefined;
|
|
222
|
+
/** OPRF hash of the data */
|
|
223
|
+
nullifier: Uint8Array;
|
|
224
|
+
responses: TOPRFResponse[];
|
|
225
|
+
}
|
|
226
|
+
export interface DataSlice {
|
|
227
|
+
fromIndex: number;
|
|
228
|
+
length: number;
|
|
202
229
|
}
|
|
203
230
|
export interface ClaimRequestData {
|
|
204
231
|
provider: string;
|
|
@@ -306,11 +333,52 @@ export interface CompleteClaimOnAvsResponse {
|
|
|
306
333
|
txHash: string;
|
|
307
334
|
taskCompletedObjectJson: string;
|
|
308
335
|
}
|
|
336
|
+
export interface AuthenticatedUserData {
|
|
337
|
+
/** Unique identifier for the user */
|
|
338
|
+
id: string;
|
|
339
|
+
createdAt: number;
|
|
340
|
+
/**
|
|
341
|
+
* Unix timestamp in seconds when the user's
|
|
342
|
+
* authentication will expire.
|
|
343
|
+
*/
|
|
344
|
+
expiresAt: number;
|
|
345
|
+
/**
|
|
346
|
+
* List of allowed hosts the user is allowed to connect to.
|
|
347
|
+
* Will throw a BAD_REQUEST error if the user tries to connect.
|
|
348
|
+
* Pass an empty list to allow all hosts.
|
|
349
|
+
*/
|
|
350
|
+
hostWhitelist: string[];
|
|
351
|
+
}
|
|
352
|
+
export interface AuthenticationRequest {
|
|
353
|
+
data: AuthenticatedUserData | undefined;
|
|
354
|
+
/** Signature of the `userData` */
|
|
355
|
+
signature: Uint8Array;
|
|
356
|
+
}
|
|
309
357
|
export interface InitRequest {
|
|
310
358
|
/** Attestor client version */
|
|
311
359
|
clientVersion: AttestorVersion;
|
|
312
360
|
/** Signature type used & expected by the user */
|
|
313
361
|
signatureType: ServiceSignatureType;
|
|
362
|
+
/**
|
|
363
|
+
* Request the attestor to authenticate the user
|
|
364
|
+
* with the given data. If auth fails, will return
|
|
365
|
+
* an AUTHENTICATION_FAILED error.
|
|
366
|
+
*/
|
|
367
|
+
auth: AuthenticationRequest | undefined;
|
|
368
|
+
}
|
|
369
|
+
export interface InitResponse {
|
|
370
|
+
toprfPublicKey: Uint8Array;
|
|
371
|
+
}
|
|
372
|
+
export interface TOPRFRequest {
|
|
373
|
+
maskedData: Uint8Array;
|
|
374
|
+
engine: ZKProofEngine;
|
|
375
|
+
}
|
|
376
|
+
export interface TOPRFResponse {
|
|
377
|
+
publicKeyShare: Uint8Array;
|
|
378
|
+
/** OPRF output */
|
|
379
|
+
evaluated: Uint8Array;
|
|
380
|
+
c: Uint8Array;
|
|
381
|
+
r: Uint8Array;
|
|
314
382
|
}
|
|
315
383
|
export interface RPCMessage {
|
|
316
384
|
/**
|
|
@@ -323,7 +391,7 @@ export interface RPCMessage {
|
|
|
323
391
|
id: number;
|
|
324
392
|
initRequest?: InitRequest | undefined;
|
|
325
393
|
/** Response to the init request. */
|
|
326
|
-
initResponse?:
|
|
394
|
+
initResponse?: InitResponse | undefined;
|
|
327
395
|
/**
|
|
328
396
|
* Data representing an error in the WebSocket connection.
|
|
329
397
|
* The party sending this message should close the connection
|
|
@@ -368,6 +436,9 @@ export interface RPCMessage {
|
|
|
368
436
|
/** Submit the work done for the claim on the chain. */
|
|
369
437
|
completeClaimOnChainRequest?: CompleteClaimOnAvsRequest | undefined;
|
|
370
438
|
completeClaimOnChainResponse?: CompleteClaimOnAvsResponse | undefined;
|
|
439
|
+
/** Request to perform thresholded OPRF */
|
|
440
|
+
toprfRequest?: TOPRFRequest | undefined;
|
|
441
|
+
toprfResponse?: TOPRFResponse | undefined;
|
|
371
442
|
}
|
|
372
443
|
export interface RPCMessages {
|
|
373
444
|
messages: RPCMessage[];
|
|
@@ -386,6 +457,8 @@ export declare const MessageReveal: MessageFns<MessageReveal>;
|
|
|
386
457
|
export declare const MessageReveal_MessageRevealDirect: MessageFns<MessageReveal_MessageRevealDirect>;
|
|
387
458
|
export declare const MessageReveal_MessageRevealZk: MessageFns<MessageReveal_MessageRevealZk>;
|
|
388
459
|
export declare const MessageReveal_ZKProof: MessageFns<MessageReveal_ZKProof>;
|
|
460
|
+
export declare const TOPRFPayload: MessageFns<TOPRFPayload>;
|
|
461
|
+
export declare const DataSlice: MessageFns<DataSlice>;
|
|
389
462
|
export declare const ClaimRequestData: MessageFns<ClaimRequestData>;
|
|
390
463
|
export declare const ClaimTunnelRequest: MessageFns<ClaimTunnelRequest>;
|
|
391
464
|
export declare const ClaimTunnelRequest_Signatures: MessageFns<ClaimTunnelRequest_Signatures>;
|
|
@@ -396,7 +469,12 @@ export declare const RequestClaimOnAvsRequest: MessageFns<RequestClaimOnAvsReque
|
|
|
396
469
|
export declare const RequestClaimOnAvsResponse: MessageFns<RequestClaimOnAvsResponse>;
|
|
397
470
|
export declare const CompleteClaimOnAvsRequest: MessageFns<CompleteClaimOnAvsRequest>;
|
|
398
471
|
export declare const CompleteClaimOnAvsResponse: MessageFns<CompleteClaimOnAvsResponse>;
|
|
472
|
+
export declare const AuthenticatedUserData: MessageFns<AuthenticatedUserData>;
|
|
473
|
+
export declare const AuthenticationRequest: MessageFns<AuthenticationRequest>;
|
|
399
474
|
export declare const InitRequest: MessageFns<InitRequest>;
|
|
475
|
+
export declare const InitResponse: MessageFns<InitResponse>;
|
|
476
|
+
export declare const TOPRFRequest: MessageFns<TOPRFRequest>;
|
|
477
|
+
export declare const TOPRFResponse: MessageFns<TOPRFResponse>;
|
|
400
478
|
export declare const RPCMessage: MessageFns<RPCMessage>;
|
|
401
479
|
export declare const RPCMessages: MessageFns<RPCMessages>;
|
|
402
480
|
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|