@reclaimprotocol/attestor-core 5.0.1-beta.9 → 5.0.2-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.
- package/browser/resources/attestor-browser.min.mjs +4513 -0
- package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +1 -1
- package/lib/external-rpc/index.js +10397 -3
- package/lib/index.js +8325 -10
- package/lib/server/utils/generics.d.ts +1 -1
- package/lib/server/utils/proxy-session.d.ts +1 -1
- package/lib/types/general.d.ts +0 -1
- package/lib/types/providers.d.ts +3 -2
- package/lib/types/signatures.d.ts +1 -2
- package/lib/utils/generics.d.ts +1 -6
- package/lib/utils/index.d.ts +0 -1
- package/package.json +9 -11
- package/lib/avs/abis/avsDirectoryABI.js +0 -343
- package/lib/avs/abis/delegationABI.js +0 -4
- package/lib/avs/abis/registryABI.js +0 -728
- package/lib/avs/client/create-claim-on-avs.js +0 -168
- package/lib/avs/config.js +0 -26
- package/lib/avs/contracts/ReclaimServiceManager.js +0 -0
- package/lib/avs/contracts/common.js +0 -0
- package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
- package/lib/avs/contracts/factories/index.js +0 -4
- package/lib/avs/contracts/index.js +0 -6
- package/lib/avs/types/index.js +0 -0
- package/lib/avs/utils/contracts.js +0 -53
- package/lib/avs/utils/register.js +0 -74
- package/lib/avs/utils/tasks.js +0 -48
- package/lib/browser/avs/abis/avsDirectoryABI.d.ts +0 -60
- package/lib/browser/avs/abis/avsDirectoryABI.js +0 -343
- package/lib/browser/avs/abis/delegationABI.d.ts +0 -126
- package/lib/browser/avs/abis/delegationABI.js +0 -4
- package/lib/browser/avs/abis/registryABI.d.ts +0 -136
- package/lib/browser/avs/abis/registryABI.js +0 -728
- package/lib/browser/avs/client/create-claim-on-avs.d.ts +0 -12
- package/lib/browser/avs/client/create-claim-on-avs.js +0 -168
- package/lib/browser/avs/config.d.ts +0 -7
- package/lib/browser/avs/config.js +0 -26
- package/lib/browser/avs/contracts/ReclaimServiceManager.d.ts +0 -601
- package/lib/browser/avs/contracts/ReclaimServiceManager.js +0 -0
- package/lib/browser/avs/contracts/common.d.ts +0 -50
- package/lib/browser/avs/contracts/common.js +0 -0
- package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +0 -890
- package/lib/browser/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1183
- package/lib/browser/avs/contracts/factories/index.d.ts +0 -1
- package/lib/browser/avs/contracts/factories/index.js +0 -4
- package/lib/browser/avs/contracts/index.d.ts +0 -3
- package/lib/browser/avs/contracts/index.js +0 -6
- package/lib/browser/avs/types/index.d.ts +0 -55
- package/lib/browser/avs/types/index.js +0 -0
- package/lib/browser/avs/utils/contracts.d.ts +0 -21
- package/lib/browser/avs/utils/contracts.js +0 -53
- package/lib/browser/avs/utils/register.d.ts +0 -27
- package/lib/browser/avs/utils/register.js +0 -74
- package/lib/browser/avs/utils/tasks.d.ts +0 -22
- package/lib/browser/avs/utils/tasks.js +0 -48
- package/lib/browser/client/create-claim.d.ts +0 -5
- package/lib/browser/client/create-claim.js +0 -461
- package/lib/browser/client/index.d.ts +0 -3
- package/lib/browser/client/index.js +0 -3
- package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.d.ts +0 -16
- package/lib/browser/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
- package/lib/browser/client/tunnels/make-rpc-tls-tunnel.d.ts +0 -26
- package/lib/browser/client/tunnels/make-rpc-tls-tunnel.js +0 -127
- package/lib/browser/client/utils/attestor-pool.d.ts +0 -8
- package/lib/browser/client/utils/attestor-pool.js +0 -24
- package/lib/browser/client/utils/client-socket.d.ts +0 -11
- package/lib/browser/client/utils/client-socket.js +0 -120
- package/lib/browser/client/utils/message-handler.d.ts +0 -4
- package/lib/browser/client/utils/message-handler.js +0 -97
- package/lib/browser/config/index.d.ts +0 -31
- package/lib/browser/config/index.js +0 -62
- package/lib/browser/external-rpc/benchmark.d.ts +0 -1
- package/lib/browser/external-rpc/benchmark.js +0 -82
- package/lib/browser/external-rpc/event-bus.d.ts +0 -7
- package/lib/browser/external-rpc/event-bus.js +0 -17
- package/lib/browser/external-rpc/global.d.js +0 -0
- package/lib/browser/external-rpc/handle-incoming-msg.d.ts +0 -2
- package/lib/browser/external-rpc/handle-incoming-msg.js +0 -241
- package/lib/browser/external-rpc/index.d.ts +0 -3
- package/lib/browser/external-rpc/index.js +0 -3
- package/lib/browser/external-rpc/jsc-polyfills/1.d.ts +0 -14
- package/lib/browser/external-rpc/jsc-polyfills/1.js +0 -80
- package/lib/browser/external-rpc/jsc-polyfills/2.d.ts +0 -1
- package/lib/browser/external-rpc/jsc-polyfills/2.js +0 -15
- package/lib/browser/external-rpc/jsc-polyfills/event.d.ts +0 -10
- package/lib/browser/external-rpc/jsc-polyfills/event.js +0 -19
- package/lib/browser/external-rpc/jsc-polyfills/index.d.ts +0 -2
- package/lib/browser/external-rpc/jsc-polyfills/index.js +0 -2
- package/lib/browser/external-rpc/jsc-polyfills/ws.d.ts +0 -21
- package/lib/browser/external-rpc/jsc-polyfills/ws.js +0 -83
- package/lib/browser/external-rpc/setup-browser.d.ts +0 -6
- package/lib/browser/external-rpc/setup-browser.js +0 -33
- package/lib/browser/external-rpc/setup-jsc.d.ts +0 -24
- package/lib/browser/external-rpc/setup-jsc.js +0 -22
- package/lib/browser/external-rpc/types.d.ts +0 -213
- package/lib/browser/external-rpc/types.js +0 -0
- package/lib/browser/external-rpc/utils.d.ts +0 -20
- package/lib/browser/external-rpc/utils.js +0 -100
- package/lib/browser/external-rpc/zk.d.ts +0 -14
- package/lib/browser/external-rpc/zk.js +0 -58
- package/lib/browser/index.browser.js +0 -13
- package/lib/browser/index.d.ts +0 -9
- package/lib/browser/index.js +0 -13
- package/lib/browser/mechain/abis/governanceABI.d.ts +0 -50
- package/lib/browser/mechain/abis/governanceABI.js +0 -461
- package/lib/browser/mechain/abis/taskABI.d.ts +0 -157
- package/lib/browser/mechain/abis/taskABI.js +0 -512
- package/lib/browser/mechain/client/create-claim-on-mechain.d.ts +0 -10
- package/lib/browser/mechain/client/create-claim-on-mechain.js +0 -33
- package/lib/browser/mechain/client/index.d.ts +0 -1
- package/lib/browser/mechain/client/index.js +0 -1
- package/lib/browser/mechain/constants/index.d.ts +0 -3
- package/lib/browser/mechain/constants/index.js +0 -8
- package/lib/browser/mechain/index.d.ts +0 -2
- package/lib/browser/mechain/index.js +0 -2
- package/lib/browser/mechain/types/index.d.ts +0 -23
- package/lib/browser/mechain/types/index.js +0 -0
- package/lib/browser/proto/api.d.ts +0 -651
- package/lib/browser/proto/api.js +0 -4250
- package/lib/browser/proto/tee-bundle.d.ts +0 -156
- package/lib/browser/proto/tee-bundle.js +0 -1296
- package/lib/browser/providers/http/index.d.ts +0 -18
- package/lib/browser/providers/http/index.js +0 -640
- package/lib/browser/providers/http/patch-parse5-tree.d.ts +0 -6
- package/lib/browser/providers/http/patch-parse5-tree.js +0 -34
- package/lib/browser/providers/http/utils.d.ts +0 -77
- package/lib/browser/providers/http/utils.js +0 -283
- package/lib/browser/providers/index.d.ts +0 -4
- package/lib/browser/providers/index.js +0 -7
- package/lib/browser/types/bgp.d.ts +0 -11
- package/lib/browser/types/bgp.js +0 -0
- package/lib/browser/types/claims.d.ts +0 -70
- package/lib/browser/types/claims.js +0 -0
- package/lib/browser/types/client.d.ts +0 -163
- package/lib/browser/types/client.js +0 -0
- package/lib/browser/types/general.d.ts +0 -77
- package/lib/browser/types/general.js +0 -0
- package/lib/browser/types/handlers.d.ts +0 -10
- package/lib/browser/types/handlers.js +0 -0
- package/lib/browser/types/index.d.ts +0 -10
- package/lib/browser/types/index.js +0 -10
- package/lib/browser/types/providers.d.ts +0 -161
- package/lib/browser/types/providers.gen.d.ts +0 -443
- package/lib/browser/types/providers.gen.js +0 -16
- package/lib/browser/types/providers.js +0 -0
- package/lib/browser/types/rpc.d.ts +0 -35
- package/lib/browser/types/rpc.js +0 -0
- package/lib/browser/types/signatures.d.ts +0 -28
- package/lib/browser/types/signatures.js +0 -0
- package/lib/browser/types/tunnel.d.ts +0 -18
- package/lib/browser/types/tunnel.js +0 -0
- package/lib/browser/types/zk.d.ts +0 -38
- package/lib/browser/types/zk.js +0 -0
- package/lib/browser/utils/auth.d.ts +0 -8
- package/lib/browser/utils/auth.js +0 -71
- package/lib/browser/utils/b64-json.d.ts +0 -2
- package/lib/browser/utils/b64-json.js +0 -17
- package/lib/browser/utils/claims.d.ts +0 -33
- package/lib/browser/utils/claims.js +0 -89
- package/lib/browser/utils/env.d.ts +0 -3
- package/lib/browser/utils/env.js +0 -19
- package/lib/browser/utils/error.d.ts +0 -26
- package/lib/browser/utils/error.js +0 -54
- package/lib/browser/utils/generics.d.ts +0 -119
- package/lib/browser/utils/generics.js +0 -272
- package/lib/browser/utils/http-parser.d.ts +0 -59
- package/lib/browser/utils/http-parser.js +0 -201
- package/lib/browser/utils/index.browser.js +0 -13
- package/lib/browser/utils/index.d.ts +0 -13
- package/lib/browser/utils/index.js +0 -13
- package/lib/browser/utils/logger.browser.js +0 -88
- package/lib/browser/utils/logger.d.ts +0 -14
- package/lib/browser/utils/logger.js +0 -88
- package/lib/browser/utils/prepare-packets.d.ts +0 -16
- package/lib/browser/utils/prepare-packets.js +0 -69
- package/lib/browser/utils/redactions.d.ts +0 -73
- package/lib/browser/utils/redactions.js +0 -135
- package/lib/browser/utils/retries.d.ts +0 -12
- package/lib/browser/utils/retries.js +0 -26
- package/lib/browser/utils/signatures/eth.d.ts +0 -2
- package/lib/browser/utils/signatures/eth.js +0 -31
- package/lib/browser/utils/signatures/index.d.ts +0 -5
- package/lib/browser/utils/signatures/index.js +0 -12
- package/lib/browser/utils/socket-base.d.ts +0 -23
- package/lib/browser/utils/socket-base.js +0 -96
- package/lib/browser/utils/tls-imports.d.ts +0 -21
- package/lib/browser/utils/tls-imports.js +0 -71
- package/lib/browser/utils/tls.d.ts +0 -2
- package/lib/browser/utils/tls.js +0 -58
- package/lib/browser/utils/ws.d.ts +0 -7
- package/lib/browser/utils/ws.js +0 -22
- package/lib/browser/utils/zk.d.ts +0 -71
- package/lib/browser/utils/zk.js +0 -625
- package/lib/client/create-claim.js +0 -461
- package/lib/client/index.js +0 -3
- package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -53
- package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -127
- package/lib/client/utils/attestor-pool.js +0 -24
- package/lib/client/utils/client-socket.js +0 -120
- package/lib/client/utils/message-handler.js +0 -97
- package/lib/config/index.js +0 -62
- package/lib/external-rpc/benchmark.js +0 -82
- package/lib/external-rpc/event-bus.js +0 -17
- package/lib/external-rpc/global.d.js +0 -0
- package/lib/external-rpc/handle-incoming-msg.js +0 -241
- package/lib/external-rpc/jsc-polyfills/1.js +0 -80
- package/lib/external-rpc/jsc-polyfills/2.js +0 -15
- package/lib/external-rpc/jsc-polyfills/event.js +0 -19
- package/lib/external-rpc/jsc-polyfills/index.js +0 -2
- package/lib/external-rpc/jsc-polyfills/ws.js +0 -83
- package/lib/external-rpc/setup-browser.js +0 -33
- package/lib/external-rpc/setup-jsc.js +0 -22
- package/lib/external-rpc/types.js +0 -0
- package/lib/external-rpc/utils.js +0 -100
- package/lib/external-rpc/zk.js +0 -58
- package/lib/index.browser.d.ts +0 -9
- package/lib/mechain/abis/governanceABI.js +0 -461
- package/lib/mechain/abis/taskABI.js +0 -512
- package/lib/mechain/client/create-claim-on-mechain.js +0 -33
- package/lib/mechain/client/index.js +0 -1
- package/lib/mechain/constants/index.js +0 -8
- package/lib/mechain/index.js +0 -2
- package/lib/mechain/types/index.js +0 -0
- package/lib/proto/api.js +0 -4250
- package/lib/proto/tee-bundle.js +0 -1296
- package/lib/providers/http/index.js +0 -640
- package/lib/providers/http/patch-parse5-tree.js +0 -34
- package/lib/providers/http/utils.js +0 -283
- package/lib/providers/index.js +0 -7
- package/lib/scripts/check-avs-registration.js +0 -28
- package/lib/scripts/fallbacks/crypto.js +0 -4
- package/lib/scripts/fallbacks/empty.js +0 -4
- package/lib/scripts/fallbacks/re2.js +0 -7
- package/lib/scripts/fallbacks/snarkjs.js +0 -10
- package/lib/scripts/fallbacks/stwo.js +0 -159
- package/lib/scripts/generate-provider-types.js +0 -101
- package/lib/scripts/generate-receipt.js +0 -101
- package/lib/scripts/generate-toprf-keys.js +0 -24
- package/lib/scripts/jsc-cli-rpc.js +0 -35
- package/lib/scripts/register-avs-operator.js +0 -3
- package/lib/scripts/start-server.js +0 -11
- package/lib/scripts/update-avs-metadata.js +0 -20
- package/lib/scripts/utils.js +0 -10
- package/lib/scripts/whitelist-operator.js +0 -16
- package/lib/server/create-server.js +0 -105
- package/lib/server/handlers/claimTeeBundle.js +0 -232
- package/lib/server/handlers/claimTunnel.js +0 -80
- package/lib/server/handlers/completeClaimOnChain.js +0 -29
- package/lib/server/handlers/createClaimOnChain.js +0 -32
- package/lib/server/handlers/createTaskOnMechain.js +0 -57
- package/lib/server/handlers/createTunnel.js +0 -98
- package/lib/server/handlers/disconnectTunnel.js +0 -8
- package/lib/server/handlers/fetchCertificateBytes.js +0 -57
- package/lib/server/handlers/index.js +0 -25
- package/lib/server/handlers/init.js +0 -33
- package/lib/server/handlers/toprf.js +0 -19
- package/lib/server/index.js +0 -4
- package/lib/server/socket.js +0 -112
- package/lib/server/tunnels/make-tcp-tunnel.js +0 -202
- package/lib/server/utils/apm.js +0 -29
- package/lib/server/utils/assert-valid-claim-request.js +0 -354
- package/lib/server/utils/config-env.js +0 -4
- package/lib/server/utils/dns.js +0 -24
- package/lib/server/utils/gcp-attestation.js +0 -237
- package/lib/server/utils/generics.js +0 -45
- package/lib/server/utils/iso.js +0 -259
- package/lib/server/utils/keep-alive.js +0 -38
- package/lib/server/utils/nitro-attestation.js +0 -249
- package/lib/server/utils/oprf-raw.js +0 -61
- package/lib/server/utils/process-handshake.js +0 -233
- package/lib/server/utils/proxy-session.js +0 -4
- package/lib/server/utils/tee-oprf-mpc-verification.js +0 -86
- package/lib/server/utils/tee-oprf-verification.js +0 -151
- package/lib/server/utils/tee-transcript-reconstruction.js +0 -140
- package/lib/server/utils/tee-verification.js +0 -358
- package/lib/server/utils/validation.js +0 -45
- package/lib/types/bgp.js +0 -0
- package/lib/types/claims.js +0 -0
- package/lib/types/client.js +0 -0
- package/lib/types/general.js +0 -0
- package/lib/types/handlers.js +0 -0
- package/lib/types/index.js +0 -10
- package/lib/types/providers.gen.js +0 -16
- package/lib/types/providers.js +0 -0
- package/lib/types/rpc.js +0 -0
- package/lib/types/signatures.js +0 -0
- package/lib/types/tunnel.js +0 -0
- package/lib/types/zk.js +0 -0
- package/lib/utils/auth.js +0 -71
- package/lib/utils/b64-json.js +0 -17
- package/lib/utils/bgp-listener.js +0 -123
- package/lib/utils/claims.js +0 -89
- package/lib/utils/env.js +0 -19
- package/lib/utils/error.js +0 -54
- package/lib/utils/generics.js +0 -272
- package/lib/utils/http-parser.js +0 -201
- package/lib/utils/index.browser.d.ts +0 -13
- package/lib/utils/index.js +0 -14
- package/lib/utils/logger.browser.d.ts +0 -14
- package/lib/utils/logger.js +0 -82
- package/lib/utils/prepare-packets.js +0 -69
- package/lib/utils/redactions.js +0 -135
- package/lib/utils/retries.js +0 -26
- package/lib/utils/signatures/eth.js +0 -31
- package/lib/utils/signatures/index.js +0 -12
- package/lib/utils/socket-base.js +0 -96
- package/lib/utils/tls-imports.d.ts +0 -21
- package/lib/utils/tls-imports.js +0 -71
- package/lib/utils/tls.js +0 -58
- package/lib/utils/ws.js +0 -22
- package/lib/utils/zk.js +0 -625
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import type { Logger as TLSLogger, TLSPacketContext, TLSProtocolVersion } from '@reclaimprotocol/tls';
|
|
2
|
-
import type { OPRFRawMarker, TOPRFProofParams } from '#src/types/zk.ts';
|
|
3
|
-
/**
|
|
4
|
-
* Represents a slice of any array or string
|
|
5
|
-
*/
|
|
6
|
-
export type ArraySlice = {
|
|
7
|
-
fromIndex: number;
|
|
8
|
-
toIndex: number;
|
|
9
|
-
};
|
|
10
|
-
export type RedactedOrHashedArraySlice = {
|
|
11
|
-
fromIndex: number;
|
|
12
|
-
toIndex: number;
|
|
13
|
-
/**
|
|
14
|
-
* By default, the data is redacted. Instead if you'd like
|
|
15
|
-
* a deterministic hash, set this to:
|
|
16
|
-
* - 'oprf' for client-side TOPRF with ZK proof
|
|
17
|
-
* - 'oprf-mpc' for TEE-to-TEE MPC OPRF
|
|
18
|
-
* - 'oprf-raw' for server-side OPRF (data revealed to attestor)
|
|
19
|
-
* @default undefined
|
|
20
|
-
*/
|
|
21
|
-
hash?: 'oprf' | 'oprf-mpc' | 'oprf-raw';
|
|
22
|
-
};
|
|
23
|
-
export type Logger = TLSLogger & {
|
|
24
|
-
fatal: (...args: any[]) => void;
|
|
25
|
-
child: (opts: {
|
|
26
|
-
[_: string]: any;
|
|
27
|
-
}) => Logger;
|
|
28
|
-
};
|
|
29
|
-
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'trace' | 'fatal';
|
|
30
|
-
export type ZKRevealInfo = {
|
|
31
|
-
type: 'zk';
|
|
32
|
-
redactedPlaintext: Uint8Array;
|
|
33
|
-
toprfs?: TOPRFProofParams[];
|
|
34
|
-
oprfRawMarkers?: OPRFRawMarker[];
|
|
35
|
-
overshotToprfFromPrevBlock?: {
|
|
36
|
-
length: number;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* If an oprf-raw marker from the previous block overshot into this block.
|
|
40
|
-
* The server will collect plaintext from this block to complete the OPRF.
|
|
41
|
-
*/
|
|
42
|
-
overshotOprfRawFromPrevBlock?: {
|
|
43
|
-
length: number;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
export type MessageRevealInfo = {
|
|
47
|
-
type: 'complete';
|
|
48
|
-
} | ZKRevealInfo;
|
|
49
|
-
export type CompleteTLSPacket = TLSPacketContext & {
|
|
50
|
-
/**
|
|
51
|
-
* Full data that was sent/recv across the wire
|
|
52
|
-
*/
|
|
53
|
-
data: Uint8Array;
|
|
54
|
-
};
|
|
55
|
-
export type IDecryptedTranscriptMessage = {
|
|
56
|
-
sender: 'client' | 'server';
|
|
57
|
-
redacted: boolean;
|
|
58
|
-
message: Uint8Array;
|
|
59
|
-
plaintextLength: number;
|
|
60
|
-
recordHeader: Uint8Array;
|
|
61
|
-
};
|
|
62
|
-
export type IDecryptedTranscript = {
|
|
63
|
-
transcript: IDecryptedTranscriptMessage[];
|
|
64
|
-
tlsVersion: TLSProtocolVersion;
|
|
65
|
-
hostname: string;
|
|
66
|
-
/**
|
|
67
|
-
* oprf-raw replacements: original plaintext -> nullifier mappings
|
|
68
|
-
* for server-side parameter replacement
|
|
69
|
-
*/
|
|
70
|
-
oprfRawReplacements?: OPRFRawReplacement[];
|
|
71
|
-
};
|
|
72
|
-
export type OPRFRawReplacement = {
|
|
73
|
-
/** Original plaintext that was OPRF'd */
|
|
74
|
-
originalText: string;
|
|
75
|
-
/** OPRF nullifier string to replace with */
|
|
76
|
-
nullifierText: string;
|
|
77
|
-
};
|
|
File without changes
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Transaction } from 'elastic-apm-node';
|
|
2
|
-
import type { IAttestorServerSocket } from '#src/types/client.ts';
|
|
3
|
-
import type { Logger } from '#src/types/general.ts';
|
|
4
|
-
import type { RPCRequestData, RPCResponseData, RPCType } from '#src/types/rpc.ts';
|
|
5
|
-
export type RPCHandlerMetadata = {
|
|
6
|
-
logger: Logger;
|
|
7
|
-
tx?: Transaction;
|
|
8
|
-
client: IAttestorServerSocket;
|
|
9
|
-
};
|
|
10
|
-
export type RPCHandler<R extends RPCType> = (data: RPCRequestData<R>, ctx: RPCHandlerMetadata) => Promise<RPCResponseData<R>>;
|
|
File without changes
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './providers.ts';
|
|
2
|
-
export * from './general.ts';
|
|
3
|
-
export * from './signatures.ts';
|
|
4
|
-
export * from './claims.ts';
|
|
5
|
-
export * from './zk.ts';
|
|
6
|
-
export * from './client.ts';
|
|
7
|
-
export * from './rpc.ts';
|
|
8
|
-
export * from './tunnel.ts';
|
|
9
|
-
export * from './handlers.ts';
|
|
10
|
-
export * from './bgp.ts';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from "./providers.js";
|
|
2
|
-
export * from "./general.js";
|
|
3
|
-
export * from "./signatures.js";
|
|
4
|
-
export * from "./claims.js";
|
|
5
|
-
export * from "./zk.js";
|
|
6
|
-
export * from "./client.js";
|
|
7
|
-
export * from "./rpc.js";
|
|
8
|
-
export * from "./tunnel.js";
|
|
9
|
-
export * from "./handlers.js";
|
|
10
|
-
export * from "./bgp.js";
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import type { TLSConnectionOptions } from '@reclaimprotocol/tls';
|
|
2
|
-
import type { AttestorVersion, ProviderClaimData } from '#src/proto/api.ts';
|
|
3
|
-
import type { ArraySlice, Logger, RedactedOrHashedArraySlice } from '#src/types/general.ts';
|
|
4
|
-
import type { ProvidersConfig } from '#src/types/providers.gen.ts';
|
|
5
|
-
import type { Transcript } from '#src/types/tunnel.ts';
|
|
6
|
-
export type AttestorData = {
|
|
7
|
-
id: string;
|
|
8
|
-
url: string;
|
|
9
|
-
};
|
|
10
|
-
type CreateRequestResult = {
|
|
11
|
-
/**
|
|
12
|
-
* Raw request to be sent
|
|
13
|
-
* If a string, it is assumed to be an
|
|
14
|
-
* ASCII encoded string. If it contains
|
|
15
|
-
* non-ASCII characters, the redactions
|
|
16
|
-
* may not work as expected
|
|
17
|
-
*/
|
|
18
|
-
data: Uint8Array | string;
|
|
19
|
-
redactions: ArraySlice[];
|
|
20
|
-
};
|
|
21
|
-
export type ProviderName = keyof ProvidersConfig;
|
|
22
|
-
export type ProviderParams<T extends ProviderName> = ProvidersConfig[T]['parameters'];
|
|
23
|
-
export type ProviderSecretParams<T extends ProviderName> = ProvidersConfig[T]['secretParameters'];
|
|
24
|
-
export type RedactionMode = 'key-update' | 'zk';
|
|
25
|
-
export type ProviderField<Params, SecretParams, T> = T | ((params: Params, secretParams?: SecretParams) => T);
|
|
26
|
-
export type ProviderCtx = {
|
|
27
|
-
version: AttestorVersion;
|
|
28
|
-
};
|
|
29
|
-
type GetResponseRedactionsOpts<P> = {
|
|
30
|
-
response: Uint8Array;
|
|
31
|
-
params: P;
|
|
32
|
-
logger: Logger;
|
|
33
|
-
ctx: ProviderCtx;
|
|
34
|
-
};
|
|
35
|
-
type AssertValidProviderReceipt<P> = {
|
|
36
|
-
receipt: Transcript<Uint8Array>;
|
|
37
|
-
params: P;
|
|
38
|
-
logger: Logger;
|
|
39
|
-
ctx: ProviderCtx;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Generic interface for a provider that can be used to verify
|
|
43
|
-
* claims on a TLS receipt
|
|
44
|
-
*
|
|
45
|
-
* @notice "Params" are the parameters you want to claim against.
|
|
46
|
-
* These would typically be found in the response body
|
|
47
|
-
*
|
|
48
|
-
* @notice "SecretParams" are the parameters that are used to make the API request.
|
|
49
|
-
* These must be redacted in the request construction in "createRequest" & cannot be viewed by anyone
|
|
50
|
-
*/
|
|
51
|
-
export interface Provider<N extends ProviderName, Params = ProviderParams<N>, SecretParams = ProviderSecretParams<N>> {
|
|
52
|
-
/**
|
|
53
|
-
* host:port to connect to for this provider;
|
|
54
|
-
* the protocol establishes a connection to the first one
|
|
55
|
-
* when a request is received from a user.
|
|
56
|
-
*
|
|
57
|
-
* Run on attestor side when creating a new session
|
|
58
|
-
*
|
|
59
|
-
* Eg. "www.google.com:443", (p) => p.url.host
|
|
60
|
-
* */
|
|
61
|
-
hostPort: ProviderField<Params, SecretParams, string>;
|
|
62
|
-
/**
|
|
63
|
-
* Which geo location to send the request from
|
|
64
|
-
* Provide 2 letter country code, or a function
|
|
65
|
-
* that returns the country code
|
|
66
|
-
* @example "US", "IN"
|
|
67
|
-
*/
|
|
68
|
-
geoLocation?: ProviderField<Params, SecretParams, string | undefined>;
|
|
69
|
-
/**
|
|
70
|
-
* Session identifier for proxy IP persistence.
|
|
71
|
-
*
|
|
72
|
-
* When provided, ensures all requests within the same session
|
|
73
|
-
* are routed through the same proxy IP address. Useful for
|
|
74
|
-
* maintaining IP consistency across multiple requests.
|
|
75
|
-
*
|
|
76
|
-
* Can be a smallcase alphanumeric string of length 8-14 characters.
|
|
77
|
-
* @example "mystring12345", "something1234"
|
|
78
|
-
*/
|
|
79
|
-
proxySessionId?: ProviderField<Params, SecretParams, string | undefined>;
|
|
80
|
-
/** extra options to pass to the client like root CA certificates */
|
|
81
|
-
additionalClientOptions?: ProviderField<Params, SecretParams, TLSConnectionOptions | undefined>;
|
|
82
|
-
/**
|
|
83
|
-
* default redaction mode to use. If not specified,
|
|
84
|
-
* the default is 'key-update'.
|
|
85
|
-
*
|
|
86
|
-
* It's switched to 'zk' for TLS1.2 requests as TLS1.2
|
|
87
|
-
* don't support key updates
|
|
88
|
-
*
|
|
89
|
-
* @default 'key-update'
|
|
90
|
-
*/
|
|
91
|
-
writeRedactionMode?: ProviderField<Params, SecretParams, RedactionMode | undefined>;
|
|
92
|
-
/** generate the raw request to be sent to through the TLS receipt */
|
|
93
|
-
createRequest(secretParams: SecretParams, params: Params, logger: Logger): CreateRequestResult;
|
|
94
|
-
/**
|
|
95
|
-
* Return the slices of the response to redact
|
|
96
|
-
* Eg. if the response is "hello my secret is xyz",
|
|
97
|
-
* and you want to redact "xyz", you would return
|
|
98
|
-
* [{start: 17, end: 20}]
|
|
99
|
-
*
|
|
100
|
-
* This is run on the client side, to selct which portions of
|
|
101
|
-
* the server response to send to the attestor
|
|
102
|
-
* */
|
|
103
|
-
getResponseRedactions?(opts: GetResponseRedactionsOpts<Params>): RedactedOrHashedArraySlice[];
|
|
104
|
-
/**
|
|
105
|
-
* verify a generated TLS receipt against given parameters
|
|
106
|
-
* to ensure the receipt does contain the claims the
|
|
107
|
-
* user is claiming to have
|
|
108
|
-
*
|
|
109
|
-
* This is run on the attestor side.
|
|
110
|
-
* @param receipt application data messages exchanged in the TLS session
|
|
111
|
-
* @param params the parameters to verify the receipt against.
|
|
112
|
-
* Eg. `{"email": "abcd@gmail.com"}`
|
|
113
|
-
* @returns sucessful verification or throws an error message.
|
|
114
|
-
* Optionally return parameters extracted from the receipt
|
|
115
|
-
* that will then be included in the claim context
|
|
116
|
-
* */
|
|
117
|
-
assertValidProviderReceipt(opts: AssertValidProviderReceipt<Params>): void | Promise<void> | {
|
|
118
|
-
extractedParameters: {
|
|
119
|
-
[key: string]: string;
|
|
120
|
-
};
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
export type ProofGenerationStep = {
|
|
124
|
-
name: 'connecting';
|
|
125
|
-
} | {
|
|
126
|
-
name: 'sending-request-data';
|
|
127
|
-
} | {
|
|
128
|
-
name: 'waiting-for-response';
|
|
129
|
-
} | {
|
|
130
|
-
name: 'generating-zk-proofs';
|
|
131
|
-
proofsDone: number;
|
|
132
|
-
proofsTotal: number;
|
|
133
|
-
/**
|
|
134
|
-
* approximate time left in seconds.
|
|
135
|
-
* Only computed after the first block
|
|
136
|
-
* is done
|
|
137
|
-
* */
|
|
138
|
-
approxTimeLeftS?: number;
|
|
139
|
-
} | {
|
|
140
|
-
name: 'waiting-for-verification';
|
|
141
|
-
};
|
|
142
|
-
type StepData = {
|
|
143
|
-
timestampS: number;
|
|
144
|
-
epoch: number;
|
|
145
|
-
attestors: AttestorData[];
|
|
146
|
-
};
|
|
147
|
-
export type CreateStep = ({
|
|
148
|
-
name: 'creating';
|
|
149
|
-
} & StepData) | ({
|
|
150
|
-
name: 'attestor-progress';
|
|
151
|
-
currentAttestor: AttestorData;
|
|
152
|
-
step: ProofGenerationStep;
|
|
153
|
-
} & StepData) | {
|
|
154
|
-
name: 'attestor-done';
|
|
155
|
-
timestampS: number;
|
|
156
|
-
epoch: number;
|
|
157
|
-
attestorsLeft: AttestorData[];
|
|
158
|
-
claimData: ProviderClaimData;
|
|
159
|
-
signaturesDone: string[];
|
|
160
|
-
};
|
|
161
|
-
export {};
|