@reclaimprotocol/attestor-core 5.0.4 → 5.0.6
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/client/create-claim-on-avs.d.ts +4 -4
- package/lib/avs/config.d.ts +1 -1
- package/lib/avs/types/index.d.ts +4 -4
- package/lib/avs/utils/contracts.d.ts +3 -3
- package/lib/avs/utils/register.d.ts +1 -1
- package/lib/avs/utils/tasks.d.ts +1 -1
- package/lib/client/create-claim.d.ts +2 -2
- package/lib/client/tunnels/make-rpc-tcp-tunnel.d.ts +2 -2
- package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +2 -2
- package/lib/client/utils/attestor-pool.d.ts +1 -1
- package/lib/client/utils/client-socket.d.ts +4 -4
- package/lib/client/utils/message-handler.d.ts +2 -2
- package/lib/config/index.d.ts +1 -1
- package/lib/external-rpc/handle-incoming-msg.d.ts +1 -1
- package/lib/external-rpc/index.js +25 -8
- package/lib/external-rpc/jsc-polyfills/1.d.ts +1 -1
- package/lib/external-rpc/jsc-polyfills/index.d.ts +2 -2
- package/lib/external-rpc/setup-browser.d.ts +1 -1
- package/lib/external-rpc/setup-jsc.d.ts +2 -2
- package/lib/external-rpc/types.d.ts +7 -7
- package/lib/external-rpc/utils.d.ts +2 -2
- package/lib/index.js +26 -9
- package/lib/mechain/client/create-claim-on-mechain.d.ts +3 -3
- package/lib/mechain/types/index.d.ts +2 -2
- package/lib/providers/http/index.d.ts +1 -1
- package/lib/providers/http/utils.d.ts +3 -3
- package/lib/providers/index.d.ts +1 -1
- package/lib/scripts/generate-receipt.d.ts +2 -2
- package/lib/scripts/jsc-cli-rpc.d.ts +1 -1
- package/lib/scripts/start-server.d.ts +1 -1
- package/lib/server/handlers/claimTeeBundle.d.ts +1 -1
- package/lib/server/handlers/claimTunnel.d.ts +1 -1
- package/lib/server/handlers/completeClaimOnChain.d.ts +1 -1
- package/lib/server/handlers/createClaimOnChain.d.ts +1 -1
- package/lib/server/handlers/createTaskOnMechain.d.ts +1 -1
- package/lib/server/handlers/createTunnel.d.ts +1 -1
- package/lib/server/handlers/disconnectTunnel.d.ts +1 -1
- package/lib/server/handlers/fetchCertificateBytes.d.ts +1 -1
- package/lib/server/handlers/index.d.ts +1 -1
- package/lib/server/handlers/init.d.ts +1 -1
- package/lib/server/handlers/toprf.d.ts +1 -1
- package/lib/server/socket.d.ts +4 -4
- package/lib/server/tunnels/make-tcp-tunnel.d.ts +3 -3
- package/lib/server/utils/assert-valid-claim-request.d.ts +4 -4
- package/lib/server/utils/gcp-attestation.d.ts +1 -1
- package/lib/server/utils/generics.d.ts +8 -2
- package/lib/server/utils/oprf-raw.d.ts +2 -2
- package/lib/server/utils/process-handshake.d.ts +2 -2
- package/lib/server/utils/tee-oprf-mpc-verification.d.ts +3 -3
- package/lib/server/utils/tee-oprf-verification.d.ts +3 -3
- package/lib/server/utils/tee-transcript-reconstruction.d.ts +3 -3
- package/lib/server/utils/tee-verification.d.ts +3 -3
- package/lib/server/utils/validation.d.ts +1 -1
- package/lib/types/claims.d.ts +6 -6
- package/lib/types/client.d.ts +5 -5
- package/lib/types/general.d.ts +1 -1
- package/lib/types/handlers.d.ts +3 -3
- package/lib/types/providers.d.ts +5 -5
- package/lib/types/rpc.d.ts +2 -2
- package/lib/types/tunnel.d.ts +1 -1
- package/lib/types/zk.d.ts +1 -1
- package/lib/utils/auth.d.ts +2 -2
- package/lib/utils/bgp-listener.d.ts +1 -1
- package/lib/utils/claims.d.ts +3 -3
- package/lib/utils/error.d.ts +1 -1
- package/lib/utils/generics.d.ts +2 -2
- package/lib/utils/http-parser.d.ts +1 -1
- package/lib/utils/logger.d.ts +1 -1
- package/lib/utils/prepare-packets.d.ts +2 -2
- package/lib/utils/redactions.d.ts +1 -1
- package/lib/utils/retries.d.ts +1 -1
- package/lib/utils/signatures/eth.d.ts +1 -1
- package/lib/utils/signatures/index.d.ts +2 -2
- package/lib/utils/socket-base.d.ts +3 -3
- package/lib/utils/zk.d.ts +4 -4
- package/package.json +4 -3
- package/lib/avs/abis/avsDirectoryABI.js +0 -340
- package/lib/avs/abis/delegationABI.js +0 -1
- package/lib/avs/abis/registryABI.js +0 -725
- package/lib/avs/client/create-claim-on-avs.js +0 -138
- package/lib/avs/config.js +0 -20
- package/lib/avs/contracts/ReclaimServiceManager.js +0 -1
- package/lib/avs/contracts/common.js +0 -1
- package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1169
- package/lib/avs/contracts/factories/index.js +0 -4
- package/lib/avs/contracts/index.js +0 -2
- package/lib/avs/types/index.js +0 -1
- package/lib/avs/utils/contracts.js +0 -33
- package/lib/avs/utils/register.js +0 -78
- package/lib/avs/utils/tasks.js +0 -40
- package/lib/client/create-claim.js +0 -433
- package/lib/client/index.js +0 -3
- package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -51
- package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -131
- package/lib/client/utils/attestor-pool.js +0 -25
- package/lib/client/utils/client-socket.js +0 -98
- package/lib/client/utils/message-handler.js +0 -87
- package/lib/config/index.js +0 -44
- package/lib/external-rpc/benchmark.js +0 -69
- package/lib/external-rpc/event-bus.js +0 -14
- package/lib/external-rpc/handle-incoming-msg.js +0 -233
- package/lib/external-rpc/jsc-polyfills/1.js +0 -82
- package/lib/external-rpc/jsc-polyfills/2.js +0 -20
- package/lib/external-rpc/jsc-polyfills/event.js +0 -14
- package/lib/external-rpc/jsc-polyfills/index.js +0 -2
- package/lib/external-rpc/jsc-polyfills/ws.js +0 -81
- 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 -1
- package/lib/external-rpc/utils.js +0 -100
- package/lib/external-rpc/zk.js +0 -63
- package/lib/mechain/abis/governanceABI.js +0 -458
- package/lib/mechain/abis/taskABI.js +0 -509
- package/lib/mechain/client/create-claim-on-mechain.js +0 -28
- package/lib/mechain/client/index.js +0 -1
- package/lib/mechain/constants/index.js +0 -3
- package/lib/mechain/index.js +0 -2
- package/lib/mechain/types/index.js +0 -1
- package/lib/proto/api.js +0 -4273
- package/lib/proto/tee-bundle.js +0 -1316
- package/lib/providers/http/index.js +0 -658
- package/lib/providers/http/patch-parse5-tree.js +0 -33
- package/lib/providers/http/utils.js +0 -324
- package/lib/providers/index.js +0 -4
- package/lib/scripts/fetch-ec2-metadata.d.ts +0 -1
- package/lib/server/create-server.js +0 -103
- package/lib/server/handlers/claimTeeBundle.js +0 -252
- package/lib/server/handlers/claimTunnel.js +0 -73
- package/lib/server/handlers/completeClaimOnChain.js +0 -22
- package/lib/server/handlers/createClaimOnChain.js +0 -26
- package/lib/server/handlers/createTaskOnMechain.js +0 -47
- package/lib/server/handlers/createTunnel.js +0 -93
- package/lib/server/handlers/disconnectTunnel.js +0 -5
- package/lib/server/handlers/fetchCertificateBytes.js +0 -41
- package/lib/server/handlers/index.js +0 -22
- package/lib/server/handlers/init.js +0 -32
- package/lib/server/handlers/toprf.js +0 -16
- package/lib/server/index.js +0 -4
- package/lib/server/socket.js +0 -109
- package/lib/server/tunnels/make-tcp-tunnel.js +0 -177
- package/lib/server/utils/apm.js +0 -36
- package/lib/server/utils/assert-valid-claim-request.js +0 -204
- package/lib/server/utils/config-env.js +0 -4
- package/lib/server/utils/dns.js +0 -18
- package/lib/server/utils/gcp-attestation.js +0 -289
- package/lib/server/utils/generics.js +0 -51
- package/lib/server/utils/iso.js +0 -256
- package/lib/server/utils/keep-alive.js +0 -38
- package/lib/server/utils/nitro-attestation.js +0 -325
- package/lib/server/utils/process-handshake.js +0 -215
- package/lib/server/utils/proxy-session.js +0 -6
- package/lib/server/utils/tee-oprf-mpc-verification.js +0 -90
- package/lib/server/utils/tee-oprf-verification.js +0 -174
- package/lib/server/utils/tee-transcript-reconstruction.js +0 -187
- package/lib/server/utils/tee-verification.js +0 -421
- package/lib/server/utils/validation.js +0 -38
- package/lib/types/bgp.js +0 -1
- package/lib/types/claims.js +0 -1
- package/lib/types/client.js +0 -1
- package/lib/types/general.js +0 -1
- package/lib/types/handlers.js +0 -1
- package/lib/types/index.js +0 -10
- package/lib/types/providers.gen.js +0 -10
- package/lib/types/providers.js +0 -1
- package/lib/types/rpc.js +0 -1
- package/lib/types/signatures.js +0 -1
- package/lib/types/tunnel.js +0 -1
- package/lib/types/zk.js +0 -1
- package/lib/utils/auth.js +0 -59
- package/lib/utils/b64-json.js +0 -17
- package/lib/utils/bgp-listener.js +0 -119
- package/lib/utils/claims.js +0 -99
- package/lib/utils/env.js +0 -15
- package/lib/utils/error.js +0 -50
- package/lib/utils/generics.js +0 -317
- package/lib/utils/http-parser.js +0 -246
- package/lib/utils/index.js +0 -13
- package/lib/utils/logger.js +0 -91
- package/lib/utils/prepare-packets.js +0 -62
- package/lib/utils/redactions.js +0 -148
- package/lib/utils/retries.js +0 -24
- package/lib/utils/signatures/eth.js +0 -29
- package/lib/utils/signatures/index.js +0 -7
- package/lib/utils/socket-base.js +0 -90
- package/lib/utils/tls.js +0 -58
- package/lib/utils/ws.js +0 -22
- package/lib/utils/zk.js +0 -577
package/lib/utils/socket-base.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { wsMessageHandler } from "../client/utils/message-handler.js";
|
|
2
|
-
import { RPCMessages } from "../proto/api.js";
|
|
3
|
-
import { AttestorError, makeRpcEvent, packRpcMessages } from "./index.js";
|
|
4
|
-
/**
|
|
5
|
-
* Common AttestorSocket class used on the client & server side as the
|
|
6
|
-
* base for their respective socket implementations.
|
|
7
|
-
*/
|
|
8
|
-
export class AttestorSocket {
|
|
9
|
-
eventTarget = new EventTarget();
|
|
10
|
-
socket;
|
|
11
|
-
logger;
|
|
12
|
-
metadata;
|
|
13
|
-
isInitialised = false;
|
|
14
|
-
constructor(socket, metadata, logger) {
|
|
15
|
-
this.socket = socket;
|
|
16
|
-
this.metadata = metadata;
|
|
17
|
-
this.logger = logger;
|
|
18
|
-
socket.addEventListener('error', (event) => {
|
|
19
|
-
const witErr = AttestorError.fromError(event.error || new Error(event.message), 'ERROR_NETWORK_ERROR');
|
|
20
|
-
this.dispatchRPCEvent('connection-terminated', witErr);
|
|
21
|
-
});
|
|
22
|
-
socket.addEventListener('close', () => (this.dispatchRPCEvent('connection-terminated', new AttestorError('ERROR_NO_ERROR', 'connection closed'))));
|
|
23
|
-
socket.addEventListener('message', async ({ data }) => {
|
|
24
|
-
try {
|
|
25
|
-
await wsMessageHandler.call(this, data);
|
|
26
|
-
}
|
|
27
|
-
catch (err) {
|
|
28
|
-
this.logger.error({ err }, 'error processing message');
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
get isOpen() {
|
|
33
|
-
return this.socket.readyState === this.socket.OPEN;
|
|
34
|
-
}
|
|
35
|
-
get isClosed() {
|
|
36
|
-
return this.socket.readyState === this.socket.CLOSED
|
|
37
|
-
|| this.socket.readyState === this.socket.CLOSING;
|
|
38
|
-
}
|
|
39
|
-
async sendMessage(...msgs) {
|
|
40
|
-
if (this.isClosed) {
|
|
41
|
-
throw new AttestorError('ERROR_NETWORK_ERROR', 'Connection closed, cannot send message');
|
|
42
|
-
}
|
|
43
|
-
if (!this.isOpen) {
|
|
44
|
-
throw new AttestorError('ERROR_NETWORK_ERROR', 'Wait for connection to open before sending message');
|
|
45
|
-
}
|
|
46
|
-
const msg = packRpcMessages(...msgs);
|
|
47
|
-
const bytes = RPCMessages.encode(msg).finish();
|
|
48
|
-
this.logger.trace({ msg }, 'sending messages');
|
|
49
|
-
if ('sendPromise' in this.socket && this.socket.sendPromise) {
|
|
50
|
-
await this.socket.sendPromise(bytes);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.socket.send(bytes);
|
|
54
|
-
}
|
|
55
|
-
return msg;
|
|
56
|
-
}
|
|
57
|
-
dispatchRPCEvent(type, data) {
|
|
58
|
-
const event = makeRpcEvent(type, data);
|
|
59
|
-
this.eventTarget.dispatchEvent(event);
|
|
60
|
-
}
|
|
61
|
-
addEventListener(type, listener) {
|
|
62
|
-
this.eventTarget.addEventListener(type, listener);
|
|
63
|
-
}
|
|
64
|
-
removeEventListener(type, listener) {
|
|
65
|
-
this.eventTarget.removeEventListener(type, listener);
|
|
66
|
-
}
|
|
67
|
-
async terminateConnection(err) {
|
|
68
|
-
// connection already closed
|
|
69
|
-
if (this.isClosed) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
try {
|
|
73
|
-
const witErr = err
|
|
74
|
-
? AttestorError.fromError(err)
|
|
75
|
-
: new AttestorError('ERROR_NO_ERROR', '');
|
|
76
|
-
this.dispatchRPCEvent('connection-terminated', witErr);
|
|
77
|
-
if (this.isOpen) {
|
|
78
|
-
await this.sendMessage({
|
|
79
|
-
connectionTerminationAlert: witErr.toProto()
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
catch (err) {
|
|
84
|
-
this.logger?.error({ err }, 'error terminating connection');
|
|
85
|
-
}
|
|
86
|
-
finally {
|
|
87
|
-
this.socket.close();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
package/lib/utils/tls.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { SUPPORTED_NAMED_CURVES } from '@reclaimprotocol/tls';
|
|
2
|
-
import { detectEnvironment } from "./env.js";
|
|
3
|
-
// we only support the following cipher suites
|
|
4
|
-
// for ZK proof generation
|
|
5
|
-
const ZK_CIPHER_SUITES = [
|
|
6
|
-
// chacha-20
|
|
7
|
-
'TLS_CHACHA20_POLY1305_SHA256',
|
|
8
|
-
'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256',
|
|
9
|
-
'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256',
|
|
10
|
-
// aes-256
|
|
11
|
-
'TLS_AES_256_GCM_SHA384',
|
|
12
|
-
'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',
|
|
13
|
-
'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
|
|
14
|
-
// aes-128
|
|
15
|
-
'TLS_AES_128_GCM_SHA256',
|
|
16
|
-
'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256',
|
|
17
|
-
'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
|
|
18
|
-
'TLS_RSA_WITH_AES_128_GCM_SHA256'
|
|
19
|
-
];
|
|
20
|
-
const NAMED_CURVE_LIST = detectEnvironment() === 'node'
|
|
21
|
-
? SUPPORTED_NAMED_CURVES
|
|
22
|
-
// X25519 is not supported in the browser
|
|
23
|
-
: SUPPORTED_NAMED_CURVES.filter(c => c !== 'X25519');
|
|
24
|
-
TLS_ADDITIONAL_ROOT_CA_LIST.push(`-----BEGIN CERTIFICATE-----
|
|
25
|
-
MIIEszCCA5ugAwIBAgIQCyWUIs7ZgSoVoE6ZUooO+jANBgkqhkiG9w0BAQsFADBh
|
|
26
|
-
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
|
27
|
-
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
|
|
28
|
-
MjAeFw0xNzExMDIxMjI0MzNaFw0yNzExMDIxMjI0MzNaMGAxCzAJBgNVBAYTAlVT
|
|
29
|
-
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
|
|
30
|
-
b20xHzAdBgNVBAMTFlJhcGlkU1NMIFRMUyBSU0EgQ0EgRzEwggEiMA0GCSqGSIb3
|
|
31
|
-
DQEBAQUAA4IBDwAwggEKAoIBAQC/uVklRBI1FuJdUEkFCuDL/I3aJQiaZ6aibRHj
|
|
32
|
-
ap/ap9zy1aYNrphe7YcaNwMoPsZvXDR+hNJOo9gbgOYVTPq8gXc84I75YKOHiVA4
|
|
33
|
-
NrJJQZ6p2sJQyqx60HkEIjzIN+1LQLfXTlpuznToOa1hyTD0yyitFyOYwURM+/CI
|
|
34
|
-
8FNFMpBhw22hpeAQkOOLmsqT5QZJYeik7qlvn8gfD+XdDnk3kkuuu0eG+vuyrSGr
|
|
35
|
-
5uX5LRhFWlv1zFQDch/EKmd163m6z/ycx/qLa9zyvILc7cQpb+k7TLra9WE17YPS
|
|
36
|
-
n9ANjG+ECo9PDW3N9lwhKQCNvw1gGoguyCQu7HE7BnW8eSSFAgMBAAGjggFmMIIB
|
|
37
|
-
YjAdBgNVHQ4EFgQUDNtsgkkPSmcKuBTuesRIUojrVjgwHwYDVR0jBBgwFoAUTiJU
|
|
38
|
-
IBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsG
|
|
39
|
-
AQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMDQGCCsGAQUFBwEB
|
|
40
|
-
BCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEIGA1Ud
|
|
41
|
-
HwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEds
|
|
42
|
-
b2JhbFJvb3RHMi5jcmwwYwYDVR0gBFwwWjA3BglghkgBhv1sAQEwKjAoBggrBgEF
|
|
43
|
-
BQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzALBglghkgBhv1sAQIw
|
|
44
|
-
CAYGZ4EMAQIBMAgGBmeBDAECAjANBgkqhkiG9w0BAQsFAAOCAQEAGUSlOb4K3Wtm
|
|
45
|
-
SlbmE50UYBHXM0SKXPqHMzk6XQUpCheF/4qU8aOhajsyRQFDV1ih/uPIg7YHRtFi
|
|
46
|
-
CTq4G+zb43X1T77nJgSOI9pq/TqCwtukZ7u9VLL3JAq3Wdy2moKLvvC8tVmRzkAe
|
|
47
|
-
0xQCkRKIjbBG80MSyDX/R4uYgj6ZiNT/Zg6GI6RofgqgpDdssLc0XIRQEotxIZcK
|
|
48
|
-
zP3pGJ9FCbMHmMLLyuBd+uCWvVcF2ogYAawufChS/PT61D9rqzPRS5I2uqa3tmIT
|
|
49
|
-
44JhJgWhBnFMb7AGQkvNq9KNS9dd3GWc17H/dXa1enoxzWjE0hBdFjxPhUb0W3wi
|
|
50
|
-
8o34/m8Fxw==
|
|
51
|
-
-----END CERTIFICATE-----` //RapidSSL TLS RSA CA G1
|
|
52
|
-
);
|
|
53
|
-
export function getDefaultTlsOptions() {
|
|
54
|
-
return {
|
|
55
|
-
cipherSuites: ZK_CIPHER_SUITES,
|
|
56
|
-
namedCurves: NAMED_CURVE_LIST,
|
|
57
|
-
};
|
|
58
|
-
}
|
package/lib/utils/ws.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export function makeWebSocket(url) {
|
|
2
|
-
return new WebSocket(url);
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* Adds the "sendPromise" fn to the given WebSocket instance,
|
|
6
|
-
* if not already present.
|
|
7
|
-
*/
|
|
8
|
-
export function promisifySend(ws) {
|
|
9
|
-
if (ws.sendPromise) {
|
|
10
|
-
return ws;
|
|
11
|
-
}
|
|
12
|
-
ws.sendPromise = (data) => (new Promise((resolve, reject) => {
|
|
13
|
-
ws.send(data, err => {
|
|
14
|
-
if (err) {
|
|
15
|
-
reject(err);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
resolve();
|
|
19
|
-
});
|
|
20
|
-
}));
|
|
21
|
-
return ws;
|
|
22
|
-
}
|