@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.
- package/LICENSE +660 -660
- package/README.md +1 -2
- package/package.json +72 -60
- package/lib/avs/abis/avsDirectoryABI.d.ts +0 -60
- package/lib/avs/abis/avsDirectoryABI.js +0 -344
- package/lib/avs/abis/delegationABI.d.ts +0 -126
- package/lib/avs/abis/delegationABI.js +0 -5
- package/lib/avs/abis/registryABI.d.ts +0 -136
- package/lib/avs/abis/registryABI.js +0 -729
- package/lib/avs/client/create-claim-on-avs.d.ts +0 -12
- package/lib/avs/client/create-claim-on-avs.js +0 -147
- package/lib/avs/config.d.ts +0 -7
- package/lib/avs/config.js +0 -24
- package/lib/avs/contracts/ReclaimServiceManager.d.ts +0 -697
- package/lib/avs/contracts/ReclaimServiceManager.js +0 -3
- package/lib/avs/contracts/common.d.ts +0 -21
- package/lib/avs/contracts/common.js +0 -3
- package/lib/avs/contracts/factories/ReclaimServiceManager__factory.d.ts +0 -888
- package/lib/avs/contracts/factories/ReclaimServiceManager__factory.js +0 -1174
- package/lib/avs/contracts/factories/index.d.ts +0 -1
- package/lib/avs/contracts/factories/index.js +0 -9
- package/lib/avs/contracts/index.d.ts +0 -3
- package/lib/avs/contracts/index.js +0 -40
- package/lib/avs/tests/test.operator.d.ts +0 -11
- package/lib/avs/tests/test.operator.js +0 -313
- package/lib/avs/tests/utils.d.ts +0 -2
- package/lib/avs/tests/utils.js +0 -50
- package/lib/avs/types/index.d.ts +0 -55
- package/lib/avs/types/index.js +0 -3
- package/lib/avs/utils/contracts.d.ts +0 -21
- package/lib/avs/utils/contracts.js +0 -38
- package/lib/avs/utils/register.d.ts +0 -27
- package/lib/avs/utils/register.js +0 -82
- package/lib/avs/utils/tasks.d.ts +0 -22
- package/lib/avs/utils/tasks.js +0 -45
- package/lib/client/create-claim.d.ts +0 -5
- package/lib/client/create-claim.js +0 -424
- package/lib/client/index.d.ts +0 -3
- package/lib/client/index.js +0 -20
- package/lib/client/tunnels/make-rpc-tcp-tunnel.d.ts +0 -16
- package/lib/client/tunnels/make-rpc-tcp-tunnel.js +0 -60
- package/lib/client/tunnels/make-rpc-tls-tunnel.d.ts +0 -25
- package/lib/client/tunnels/make-rpc-tls-tunnel.js +0 -135
- package/lib/client/utils/attestor-pool.d.ts +0 -6
- package/lib/client/utils/attestor-pool.js +0 -28
- package/lib/client/utils/client-socket.d.ts +0 -11
- package/lib/client/utils/client-socket.js +0 -100
- package/lib/client/utils/message-handler.d.ts +0 -4
- package/lib/client/utils/message-handler.js +0 -94
- package/lib/config/index.d.ts +0 -28
- package/lib/config/index.js +0 -39
- package/lib/index.d.ts +0 -10
- package/lib/index.js +0 -50
- package/lib/mechain/abis/governanceABI.d.ts +0 -50
- package/lib/mechain/abis/governanceABI.js +0 -462
- package/lib/mechain/abis/taskABI.d.ts +0 -157
- package/lib/mechain/abis/taskABI.js +0 -513
- package/lib/mechain/client/create-claim-on-mechain.d.ts +0 -10
- package/lib/mechain/client/create-claim-on-mechain.js +0 -32
- package/lib/mechain/client/index.d.ts +0 -1
- package/lib/mechain/client/index.js +0 -18
- package/lib/mechain/constants/index.d.ts +0 -3
- package/lib/mechain/constants/index.js +0 -7
- package/lib/mechain/index.d.ts +0 -2
- package/lib/mechain/index.js +0 -19
- package/lib/mechain/types/index.d.ts +0 -23
- package/lib/mechain/types/index.js +0 -3
- package/lib/proto/api.d.ts +0 -508
- package/lib/proto/api.js +0 -3700
- package/lib/providers/http/index.d.ts +0 -3
- package/lib/providers/http/index.js +0 -613
- package/lib/providers/http/utils.d.ts +0 -74
- package/lib/providers/http/utils.js +0 -360
- package/lib/providers/index.d.ts +0 -4
- package/lib/providers/index.js +0 -11
- package/lib/scripts/check-avs-registration.d.ts +0 -1
- package/lib/scripts/check-avs-registration.js +0 -29
- package/lib/scripts/generate-provider-types.d.ts +0 -5
- package/lib/scripts/generate-provider-types.js +0 -82
- package/lib/scripts/generate-receipt.d.ts +0 -9
- package/lib/scripts/generate-receipt.js +0 -90
- package/lib/scripts/generate-toprf-keys.d.ts +0 -1
- package/lib/scripts/generate-toprf-keys.js +0 -23
- package/lib/scripts/register-avs-operator.d.ts +0 -1
- package/lib/scripts/register-avs-operator.js +0 -7
- package/lib/scripts/start-server.d.ts +0 -1
- package/lib/scripts/start-server.js +0 -13
- package/lib/scripts/update-avs-metadata.d.ts +0 -1
- package/lib/scripts/update-avs-metadata.js +0 -22
- package/lib/scripts/utils.d.ts +0 -1
- package/lib/scripts/utils.js +0 -11
- package/lib/scripts/verify-root-ca.d.ts +0 -1
- package/lib/scripts/verify-root-ca.js +0 -51
- package/lib/scripts/whitelist-operator.d.ts +0 -1
- package/lib/scripts/whitelist-operator.js +0 -18
- package/lib/server/create-server.d.ts +0 -7
- package/lib/server/create-server.js +0 -92
- package/lib/server/handlers/claimTunnel.d.ts +0 -2
- package/lib/server/handlers/claimTunnel.js +0 -78
- package/lib/server/handlers/completeClaimOnChain.d.ts +0 -2
- package/lib/server/handlers/completeClaimOnChain.js +0 -28
- package/lib/server/handlers/createClaimOnChain.d.ts +0 -2
- package/lib/server/handlers/createClaimOnChain.js +0 -31
- package/lib/server/handlers/createTaskOnMechain.d.ts +0 -2
- package/lib/server/handlers/createTaskOnMechain.js +0 -52
- package/lib/server/handlers/createTunnel.d.ts +0 -2
- package/lib/server/handlers/createTunnel.js +0 -101
- package/lib/server/handlers/disconnectTunnel.d.ts +0 -2
- package/lib/server/handlers/disconnectTunnel.js +0 -10
- package/lib/server/handlers/index.d.ts +0 -4
- package/lib/server/handlers/index.js +0 -22
- package/lib/server/handlers/init.d.ts +0 -2
- package/lib/server/handlers/init.js +0 -36
- package/lib/server/handlers/toprf.d.ts +0 -2
- package/lib/server/handlers/toprf.js +0 -21
- package/lib/server/index.d.ts +0 -4
- package/lib/server/index.js +0 -21
- package/lib/server/socket.d.ts +0 -13
- package/lib/server/socket.js +0 -114
- package/lib/server/tunnels/make-tcp-tunnel.d.ts +0 -20
- package/lib/server/tunnels/make-tcp-tunnel.js +0 -175
- package/lib/server/utils/apm.d.ts +0 -11
- package/lib/server/utils/apm.js +0 -43
- package/lib/server/utils/assert-valid-claim-request.d.ts +0 -30
- package/lib/server/utils/assert-valid-claim-request.js +0 -200
- package/lib/server/utils/config-env.d.ts +0 -1
- package/lib/server/utils/config-env.js +0 -7
- package/lib/server/utils/dns.d.ts +0 -1
- package/lib/server/utils/dns.js +0 -22
- package/lib/server/utils/generics.d.ts +0 -22
- package/lib/server/utils/generics.js +0 -59
- package/lib/server/utils/iso.d.ts +0 -1
- package/lib/server/utils/iso.js +0 -260
- package/lib/server/utils/keep-alive.d.ts +0 -7
- package/lib/server/utils/keep-alive.js +0 -42
- package/lib/server/utils/process-handshake.d.ts +0 -13
- package/lib/server/utils/process-handshake.js +0 -191
- package/lib/tests/describe-with-server.d.ts +0 -20
- package/lib/tests/describe-with-server.js +0 -64
- package/lib/tests/mock-provider-server.d.ts +0 -13
- package/lib/tests/mock-provider-server.js +0 -65
- package/lib/tests/mocks.d.ts +0 -4
- package/lib/tests/mocks.js +0 -23
- package/lib/tests/test.auth.d.ts +0 -1
- package/lib/tests/test.auth.js +0 -75
- package/lib/tests/test.bgp-listener.d.ts +0 -1
- package/lib/tests/test.bgp-listener.js +0 -169
- package/lib/tests/test.claim-creation.d.ts +0 -1
- package/lib/tests/test.claim-creation.js +0 -280
- package/lib/tests/test.http-parser.d.ts +0 -1
- package/lib/tests/test.http-parser.js +0 -120
- package/lib/tests/test.http-provider-utils.d.ts +0 -1
- package/lib/tests/test.http-provider-utils.js +0 -2416
- package/lib/tests/test.http-provider.d.ts +0 -1
- package/lib/tests/test.http-provider.js +0 -114
- package/lib/tests/test.rpc-communication.d.ts +0 -1
- package/lib/tests/test.rpc-communication.js +0 -64
- package/lib/tests/test.rpc-tunnel.d.ts +0 -1
- package/lib/tests/test.rpc-tunnel.js +0 -172
- package/lib/tests/test.signatures.d.ts +0 -1
- package/lib/tests/test.signatures.js +0 -24
- package/lib/tests/test.tcp-tunnel.d.ts +0 -1
- package/lib/tests/test.tcp-tunnel.js +0 -64
- package/lib/tests/test.zk.d.ts +0 -1
- package/lib/tests/test.zk.js +0 -337
- package/lib/tests/utils.d.ts +0 -18
- package/lib/tests/utils.js +0 -64
- package/lib/types/bgp.d.ts +0 -11
- package/lib/types/bgp.js +0 -3
- package/lib/types/claims.d.ts +0 -73
- package/lib/types/claims.js +0 -3
- package/lib/types/client.d.ts +0 -163
- package/lib/types/client.js +0 -3
- package/lib/types/general.d.ts +0 -51
- package/lib/types/general.js +0 -3
- package/lib/types/handlers.d.ts +0 -10
- package/lib/types/handlers.js +0 -3
- package/lib/types/index.d.ts +0 -10
- package/lib/types/index.js +0 -27
- package/lib/types/providers.d.ts +0 -150
- package/lib/types/providers.gen.d.ts +0 -429
- package/lib/types/providers.gen.js +0 -14
- package/lib/types/providers.js +0 -3
- package/lib/types/rpc.d.ts +0 -35
- package/lib/types/rpc.js +0 -3
- package/lib/types/signatures.d.ts +0 -28
- package/lib/types/signatures.js +0 -3
- package/lib/types/tunnel.d.ts +0 -18
- package/lib/types/tunnel.js +0 -3
- package/lib/types/zk.d.ts +0 -23
- package/lib/types/zk.js +0 -3
- package/lib/utils/auth.d.ts +0 -7
- package/lib/utils/auth.js +0 -64
- package/lib/utils/b64-json.d.ts +0 -2
- package/lib/utils/b64-json.js +0 -23
- package/lib/utils/benchmark.d.ts +0 -1
- package/lib/utils/benchmark.js +0 -70
- package/lib/utils/bgp-listener.d.ts +0 -7
- package/lib/utils/bgp-listener.js +0 -126
- package/lib/utils/claims.d.ts +0 -33
- package/lib/utils/claims.js +0 -112
- package/lib/utils/env.d.ts +0 -3
- package/lib/utils/env.js +0 -20
- package/lib/utils/error.d.ts +0 -27
- package/lib/utils/error.js +0 -43
- package/lib/utils/generics.d.ts +0 -112
- package/lib/utils/generics.js +0 -348
- package/lib/utils/http-parser.d.ts +0 -59
- package/lib/utils/http-parser.js +0 -252
- package/lib/utils/index.d.ts +0 -12
- package/lib/utils/index.js +0 -29
- package/lib/utils/logger.d.ts +0 -13
- package/lib/utils/logger.js +0 -100
- package/lib/utils/prepare-packets.d.ts +0 -16
- package/lib/utils/prepare-packets.js +0 -61
- package/lib/utils/redactions.d.ts +0 -54
- package/lib/utils/redactions.js +0 -148
- package/lib/utils/retries.d.ts +0 -12
- package/lib/utils/retries.js +0 -28
- package/lib/utils/signatures/eth.d.ts +0 -2
- package/lib/utils/signatures/eth.js +0 -33
- package/lib/utils/signatures/index.d.ts +0 -5
- package/lib/utils/signatures/index.js +0 -11
- package/lib/utils/socket-base.d.ts +0 -22
- package/lib/utils/socket-base.js +0 -95
- package/lib/utils/tls.d.ts +0 -2
- package/lib/utils/tls.js +0 -32
- package/lib/utils/validation.d.ts +0 -2
- package/lib/utils/validation.js +0 -46
- package/lib/utils/ws.d.ts +0 -12
- package/lib/utils/ws.js +0 -38
- package/lib/utils/zk.d.ts +0 -55
- package/lib/utils/zk.js +0 -444
- package/lib/window-rpc/index.d.ts +0 -3
- package/lib/window-rpc/index.js +0 -20
- package/lib/window-rpc/setup-window-rpc.d.ts +0 -5
- package/lib/window-rpc/setup-window-rpc.js +0 -291
- package/lib/window-rpc/types.d.ts +0 -192
- package/lib/window-rpc/types.js +0 -3
- package/lib/window-rpc/utils.d.ts +0 -14
- package/lib/window-rpc/utils.js +0 -102
- package/lib/window-rpc/window-rpc-zk.d.ts +0 -15
- package/lib/window-rpc/window-rpc-zk.js +0 -85
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.main = main;
|
|
4
|
-
const promises_1 = require("fs/promises");
|
|
5
|
-
const utils_1 = require("../scripts/utils");
|
|
6
|
-
const server_1 = require("../server");
|
|
7
|
-
const utils_2 = require("../utils");
|
|
8
|
-
const env_1 = require("../utils/env");
|
|
9
|
-
require("../server/utils/config-env");
|
|
10
|
-
const __1 = require("..");
|
|
11
|
-
// tmp change till we move OPRF attestor to prod
|
|
12
|
-
const DEFAULT_ATTESTOR_HOST_PORT = 'wss://attestor.reclaimprotocol.org/ws';
|
|
13
|
-
const PRIVATE_KEY_HEX = (0, env_1.getEnvVariable)('PRIVATE_KEY_HEX')
|
|
14
|
-
// demo private key
|
|
15
|
-
|| '0x0123788edad59d7c013cdc85e4372f350f828e2cec62d9a2de4560e69aec7f89';
|
|
16
|
-
let server;
|
|
17
|
-
async function main(receiptParams) {
|
|
18
|
-
var _a, _b, _c, _d;
|
|
19
|
-
const paramsJson = receiptParams !== null && receiptParams !== void 0 ? receiptParams : (await getInputParameters());
|
|
20
|
-
if (!(paramsJson.name in __1.providers)) {
|
|
21
|
-
throw new Error(`Unknown provider "${paramsJson.name}"`);
|
|
22
|
-
}
|
|
23
|
-
(0, utils_2.assertValidateProviderParams)(paramsJson.name, paramsJson.params);
|
|
24
|
-
let attestorHostPort = (0, utils_1.getCliArgument)('attestor')
|
|
25
|
-
|| DEFAULT_ATTESTOR_HOST_PORT;
|
|
26
|
-
if (attestorHostPort === 'local') {
|
|
27
|
-
console.log('starting local attestor server...');
|
|
28
|
-
server = await (0, server_1.createServer)();
|
|
29
|
-
attestorHostPort = `ws://localhost:${__1.API_SERVER_PORT}${__1.WS_PATHNAME}`;
|
|
30
|
-
}
|
|
31
|
-
const zkEngine = (0, utils_1.getCliArgument)('zk') === 'gnark' ? 'gnark' : 'snarkjs';
|
|
32
|
-
const receipt = await (0, __1.createClaimOnAttestor)({
|
|
33
|
-
name: paramsJson.name,
|
|
34
|
-
secretParams: paramsJson.secretParams,
|
|
35
|
-
params: paramsJson.params,
|
|
36
|
-
ownerPrivateKey: PRIVATE_KEY_HEX,
|
|
37
|
-
client: { url: attestorHostPort },
|
|
38
|
-
logger: __1.logger,
|
|
39
|
-
zkEngine
|
|
40
|
-
});
|
|
41
|
-
if (receipt.error) {
|
|
42
|
-
console.error('claim creation failed:', receipt.error);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
const ctx = ((_a = receipt.claim) === null || _a === void 0 ? void 0 : _a.context)
|
|
46
|
-
? JSON.parse(receipt.claim.context)
|
|
47
|
-
: {};
|
|
48
|
-
console.log(`receipt is valid for ${paramsJson.name} provider`);
|
|
49
|
-
if (ctx.extractedParameters) {
|
|
50
|
-
console.log('extracted params:', ctx.extractedParameters);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
const decTranscript = await (0, server_1.decryptTranscript)((_b = receipt.request) === null || _b === void 0 ? void 0 : _b.transcript, __1.logger, zkEngine, (_c = receipt.request) === null || _c === void 0 ? void 0 : _c.fixedServerIV, (_d = receipt.request) === null || _d === void 0 ? void 0 : _d.fixedClientIV);
|
|
54
|
-
const transcriptStr = (0, __1.getTranscriptString)(decTranscript);
|
|
55
|
-
console.log('receipt:\n', transcriptStr);
|
|
56
|
-
const client = (0, __1.getAttestorClientFromPool)(attestorHostPort);
|
|
57
|
-
await client.terminateConnection();
|
|
58
|
-
}
|
|
59
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
-
async function getInputParameters() {
|
|
61
|
-
const paramsJsonFile = (0, utils_1.getCliArgument)('json');
|
|
62
|
-
if (!paramsJsonFile) {
|
|
63
|
-
const name = (0, utils_1.getCliArgument)('name');
|
|
64
|
-
const paramsStr = (0, utils_1.getCliArgument)('params');
|
|
65
|
-
const secretParamsStr = (0, utils_1.getCliArgument)('secretParams');
|
|
66
|
-
if (!name || !paramsStr || !secretParamsStr) {
|
|
67
|
-
throw new Error('Either provide --json argument for parameters JSON or provide separately with --name, --params & --secretParams');
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
name,
|
|
71
|
-
params: JSON.parse(paramsStr),
|
|
72
|
-
secretParams: JSON.parse(secretParamsStr)
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
let fileContents = await (0, promises_1.readFile)(paramsJsonFile, 'utf8');
|
|
76
|
-
for (const variable in process.env) {
|
|
77
|
-
fileContents = fileContents.replace(`{{${variable}}}`, process.env[variable]);
|
|
78
|
-
}
|
|
79
|
-
return JSON.parse(fileContents);
|
|
80
|
-
}
|
|
81
|
-
if (require.main === module) {
|
|
82
|
-
main()
|
|
83
|
-
.catch(err => {
|
|
84
|
-
console.error('error in receipt gen', err);
|
|
85
|
-
})
|
|
86
|
-
.finally(() => {
|
|
87
|
-
server === null || server === void 0 ? void 0 : server.close();
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcmVjZWlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2dlbmVyYXRlLXJlY2VpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQ0Esb0JBc0RDO0FBeEZELDBDQUFzQztBQUN0Qyw2Q0FBa0Q7QUFDbEQsdUNBQTREO0FBQzVELHFDQUF3RDtBQUN4RCx1Q0FBOEM7QUFFOUMsdUNBQW9DO0FBQ3BDLDBCQVdXO0FBUVgsZ0RBQWdEO0FBQ2hELE1BQU0sMEJBQTBCLEdBQUcsdUNBQXVDLENBQUE7QUFDMUUsTUFBTSxlQUFlLEdBQUcsSUFBQSxvQkFBYyxFQUFDLGlCQUFpQixDQUFDO0lBQ3hELG1CQUFtQjtPQUNoQixvRUFBb0UsQ0FBQTtBQUV4RSxJQUFJLE1BQW1DLENBQUE7QUFFaEMsS0FBSyxVQUFVLElBQUksQ0FDekIsYUFBa0Q7O0lBRWxELE1BQU0sVUFBVSxHQUFHLGFBQWEsYUFBYixhQUFhLGNBQWIsYUFBYSxHQUFJLENBQUMsTUFBTSxrQkFBa0IsRUFBRSxDQUFDLENBQUE7SUFDaEUsSUFBRyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxhQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxJQUFBLG9DQUE0QixFQUFTLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRXhFLElBQUksZ0JBQWdCLEdBQUcsSUFBQSxzQkFBYyxFQUFDLFVBQVUsQ0FBQztXQUN2QywwQkFBMEIsQ0FBQTtJQUNwQyxJQUFHLGdCQUFnQixLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUNoRCxNQUFNLEdBQUcsTUFBTSxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtRQUM3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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const ethers_1 = require("ethers");
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const ENGINE = 'gnark';
|
|
6
|
-
const TOTAL_KEYS = 10;
|
|
7
|
-
const THRESHOLD = 1;
|
|
8
|
-
async function main() {
|
|
9
|
-
const op = (0, utils_1.makeDefaultOPRFOperator)('chacha20', ENGINE, utils_1.logger);
|
|
10
|
-
const { publicKey, privateKey, shares } = await op.generateThresholdKeys(TOTAL_KEYS, THRESHOLD);
|
|
11
|
-
logEnvValue('TOPRF_PUBLIC_KEY', publicKey);
|
|
12
|
-
logEnvValue('TOPRF_PRIVATE_KEY', privateKey);
|
|
13
|
-
for (const [i, share] of shares.entries()) {
|
|
14
|
-
console.log(`# Share ${i}`);
|
|
15
|
-
logEnvValue('TOPRF_SHARE_PUBLIC_KEY', share.publicKey);
|
|
16
|
-
logEnvValue('TOPRF_SHARE_PRIVATE_KEY', share.privateKey);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function logEnvValue(name, value) {
|
|
20
|
-
console.log(`${name}=${ethers_1.ethers.utils.hexlify(value)}`);
|
|
21
|
-
}
|
|
22
|
-
void main();
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtdG9wcmYta2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2dlbmVyYXRlLXRvcHJmLWtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBK0I7QUFDL0IscUNBQTJEO0FBRTNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQTtBQUN0QixNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUE7QUFDckIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFBO0FBRW5CLEtBQUssVUFBVSxJQUFJO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLElBQUEsK0JBQXVCLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFNLENBQUMsQ0FBQTtJQUM5RCxNQUFNLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDekQsV0FBVyxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUU1QyxLQUFJLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDM0IsV0FBVyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN0RCxXQUFXLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pELENBQUM7QUFDRixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBWSxFQUFFLEtBQWlCO0lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksZUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELENBQUM7QUFFRCxLQUFLLElBQUksRUFBRSxDQUFBIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '../server/utils/config-env';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// eslint-disable-next-line simple-import-sort/imports
|
|
4
|
-
require("../server/utils/config-env");
|
|
5
|
-
const register_1 = require("../avs/utils/register");
|
|
6
|
-
void (0, register_1.registerOperator)();
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYXZzLW9wZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmVnaXN0ZXItYXZzLW9wZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0RBQXNEO0FBQ3RELHVDQUFvQztBQUNwQyxxREFBeUQ7QUFFekQsS0FBSyxJQUFBLDJCQUFnQixHQUFFLENBQUEifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '../server/utils/config-env';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const apm_1 = require("../server/utils/apm");
|
|
4
|
-
require("../server/utils/config-env");
|
|
5
|
-
(0, apm_1.getApm)();
|
|
6
|
-
function main() {
|
|
7
|
-
// importing dynamically to allow APM to inject
|
|
8
|
-
// into modules before they are used
|
|
9
|
-
const { createServer } = require('../server/create-server');
|
|
10
|
-
return createServer();
|
|
11
|
-
}
|
|
12
|
-
main();
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvc3RhcnQtc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQTZDO0FBQzdDLHVDQUFvQztBQUNwQyxJQUFBLFlBQU0sR0FBRSxDQUFBO0FBRVIsU0FBUyxJQUFJO0lBQ1osK0NBQStDO0lBQy9DLG9DQUFvQztJQUNwQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUE7SUFDM0QsT0FBTyxZQUFZLEVBQUUsQ0FBQTtBQUN0QixDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUEifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '../server/utils/config-env';
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// eslint-disable-next-line simple-import-sort/imports
|
|
4
|
-
require("../server/utils/config-env");
|
|
5
|
-
const contracts_1 = require("../avs/utils/contracts");
|
|
6
|
-
const utils_1 = require("../scripts/utils");
|
|
7
|
-
async function main() {
|
|
8
|
-
const { contract } = (0, contracts_1.getContracts)();
|
|
9
|
-
const minSignaturesPerTask = (0, utils_1.getCliArgument)('minSignaturesPerTask');
|
|
10
|
-
if (!minSignaturesPerTask) {
|
|
11
|
-
throw new Error('Provide operator address via --minSignaturesPerTask <num>');
|
|
12
|
-
}
|
|
13
|
-
const tx = await contract.updateTaskCreationMetadata({
|
|
14
|
-
minSignaturesPerTask: +(minSignaturesPerTask || 0),
|
|
15
|
-
maxTaskCreationDelayS: 0,
|
|
16
|
-
maxTaskLifetimeS: 0,
|
|
17
|
-
});
|
|
18
|
-
await tx.wait();
|
|
19
|
-
console.log('Updated task creation metadata');
|
|
20
|
-
}
|
|
21
|
-
void main();
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWF2cy1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3VwZGF0ZS1hdnMtbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzREFBc0Q7QUFDdEQsdUNBQW9DO0FBQ3BDLHVEQUFzRDtBQUN0RCw2Q0FBa0Q7QUFFbEQsS0FBSyxVQUFVLElBQUk7SUFDbEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUEsd0JBQVksR0FBRSxDQUFBO0lBRW5DLE1BQU0sb0JBQW9CLEdBQUcsSUFBQSxzQkFBYyxFQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDbkUsSUFBRyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FDZCwyREFBMkQsQ0FDM0QsQ0FBQTtJQUNGLENBQUM7SUFFRCxNQUFNLEVBQUUsR0FBRyxNQUFNLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQztRQUNwRCxvQkFBb0IsRUFBRSxDQUFDLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDO1FBQ2xELHFCQUFxQixFQUFFLENBQUM7UUFDeEIsZ0JBQWdCLEVBQUUsQ0FBQztLQUNuQixDQUFDLENBQUE7SUFDRixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUVmLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUM5QyxDQUFDO0FBRUQsS0FBSyxJQUFJLEVBQUUsQ0FBQSJ9
|
package/lib/scripts/utils.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getCliArgument(arg: string): string | undefined;
|
package/lib/scripts/utils.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCliArgument = getCliArgument;
|
|
4
|
-
function getCliArgument(arg) {
|
|
5
|
-
const index = process.argv.indexOf(`--${arg}`);
|
|
6
|
-
if (index === -1) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
return process.argv[index + 1];
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdDQU9DO0FBUEQsU0FBZ0IsY0FBYyxDQUFDLEdBQVc7SUFDekMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQzlDLElBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakIsT0FBTyxTQUFTLENBQUE7SUFDakIsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDL0IsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function main(): Promise<void>;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.main = main;
|
|
4
|
-
const tls_1 = require("@reclaimprotocol/tls");
|
|
5
|
-
const parse_certificate_1 = require("@reclaimprotocol/tls/lib/utils/parse-certificate");
|
|
6
|
-
const net_1 = require("net");
|
|
7
|
-
const config_1 = require("../config");
|
|
8
|
-
const utils_1 = require("../utils");
|
|
9
|
-
const hostPort = process.argv[2];
|
|
10
|
-
async function main() {
|
|
11
|
-
const [host, port] = hostPort.split(':');
|
|
12
|
-
const socket = new net_1.Socket();
|
|
13
|
-
let rootIssuer = '';
|
|
14
|
-
let certError;
|
|
15
|
-
const tls = (0, tls_1.makeTLSClient)({
|
|
16
|
-
host,
|
|
17
|
-
logger: utils_1.logger,
|
|
18
|
-
verifyServerCertificate: false,
|
|
19
|
-
async onRecvCertificates({ certificates }) {
|
|
20
|
-
rootIssuer = certificates[certificates.length - 1].internal.issuer;
|
|
21
|
-
utils_1.logger.info({ rootIssuer }, 'received certificates');
|
|
22
|
-
try {
|
|
23
|
-
await (0, parse_certificate_1.verifyCertificateChain)(certificates, host);
|
|
24
|
-
utils_1.logger.info('root CA in store. Successfully verified certificate chain');
|
|
25
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
certError = err;
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
async onHandshake() {
|
|
31
|
-
await tls.end();
|
|
32
|
-
socket.end();
|
|
33
|
-
if (certError) {
|
|
34
|
-
// wait for everything else to log
|
|
35
|
-
setTimeout(() => {
|
|
36
|
-
utils_1.logger.info({ err: certError.message, rootIssuer }, 'error in cert verify');
|
|
37
|
-
}, 500);
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
async write({ header, content }) {
|
|
41
|
-
socket.write(header);
|
|
42
|
-
socket.write(content);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
socket.once('connect', () => tls.startHandshake());
|
|
46
|
-
socket.on('data', tls.handleReceivedBytes);
|
|
47
|
-
utils_1.logger.info(`connecting to ${hostPort}`);
|
|
48
|
-
socket.connect({ host, port: +(port || config_1.DEFAULT_HTTPS_PORT) });
|
|
49
|
-
}
|
|
50
|
-
void main();
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXJvb3QtY2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy92ZXJpZnktcm9vdC1jYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLG9CQWdEQztBQXhERCw4Q0FBb0Q7QUFDcEQsd0ZBQXlGO0FBQ3pGLDZCQUE0QjtBQUM1Qix1Q0FBK0M7QUFDL0MscUNBQWtDO0FBRWxDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFekIsS0FBSyxVQUFVLElBQUk7SUFDekIsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksWUFBTSxFQUFFLENBQUE7SUFDM0IsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFBO0lBQ25CLElBQUksU0FBNEIsQ0FBQTtJQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFBLG1CQUFhLEVBQUM7UUFDekIsSUFBSTtRQUNKLE1BQU0sRUFBTixjQUFNO1FBQ04sdUJBQXVCLEVBQUUsS0FBSztRQUM5QixLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxZQUFZLEVBQUU7WUFDeEMsVUFBVSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUE7WUFDbEUsY0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUE7WUFDcEQsSUFBSSxDQUFDO2dCQUNKLE1BQU0sSUFBQSwwQ0FBc0IsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ2hELGNBQU0sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQTtZQUN6RSxDQUFDO1lBQUMsT0FBTSxHQUFHLEVBQUUsQ0FBQztnQkFDYixTQUFTLEdBQUcsR0FBRyxDQUFBO1lBQ2hCLENBQUM7UUFDRixDQUFDO1FBQ0QsS0FBSyxDQUFDLFdBQVc7WUFDaEIsTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDZixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7WUFFWixJQUFHLFNBQVMsRUFBRSxDQUFDO2dCQUNkLGtDQUFrQztnQkFDbEMsVUFBVSxDQUNULEdBQUcsRUFBRTtvQkFDSixjQUFNLENBQUMsSUFBSSxDQUNWLEVBQUUsR0FBRyxFQUFFLFNBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQ3ZDLHNCQUFzQixDQUN0QixDQUFBO2dCQUNGLENBQUMsRUFDRCxHQUFHLENBQ0gsQ0FBQTtZQUNGLENBQUM7UUFDRixDQUFDO1FBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7WUFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RCLENBQUM7S0FDRCxDQUFDLENBQUE7SUFFRixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtJQUNsRCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUUxQyxjQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBRXhDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksMkJBQWtCLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUVELEtBQUssSUFBSSxFQUFFLENBQUEifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import '../server/utils/config-env';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// eslint-disable-next-line simple-import-sort/imports
|
|
4
|
-
require("../server/utils/config-env");
|
|
5
|
-
const contracts_1 = require("../avs/utils/contracts");
|
|
6
|
-
const utils_1 = require("../scripts/utils");
|
|
7
|
-
async function main() {
|
|
8
|
-
const { contract } = (0, contracts_1.getContracts)();
|
|
9
|
-
const address = (0, utils_1.getCliArgument)('address');
|
|
10
|
-
if (!address) {
|
|
11
|
-
throw new Error('Provide operator address via --address <addr>');
|
|
12
|
-
}
|
|
13
|
-
const tx = await contract.whitelistAddressAsOperator(address, true);
|
|
14
|
-
await tx.wait();
|
|
15
|
-
console.log('Whitelisted address:', address);
|
|
16
|
-
}
|
|
17
|
-
void main();
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGVsaXN0LW9wZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvd2hpdGVsaXN0LW9wZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0RBQXNEO0FBQ3RELHVDQUFvQztBQUNwQyx1REFBc0Q7QUFDdEQsNkNBQWtEO0FBRWxELEtBQUssVUFBVSxJQUFJO0lBQ2xCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFBLHdCQUFZLEdBQUUsQ0FBQTtJQUVuQyxNQUFNLE9BQU8sR0FBRyxJQUFBLHNCQUFjLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFDekMsSUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FDZCwrQ0FBK0MsQ0FDL0MsQ0FBQTtJQUNGLENBQUM7SUFFRCxNQUFNLEVBQUUsR0FBRyxNQUFNLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDbkUsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFZixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFBO0FBQzdDLENBQUM7QUFFRCxLQUFLLElBQUksRUFBRSxDQUFBIn0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IncomingMessage } from 'http';
|
|
2
|
-
/**
|
|
3
|
-
* Creates the WebSocket API server,
|
|
4
|
-
* creates a fileserver to serve the browser RPC client,
|
|
5
|
-
* and listens on the given port.
|
|
6
|
-
*/
|
|
7
|
-
export declare function createServer(port?: number): Promise<import("ws").Server<typeof import("ws"), typeof IncomingMessage>>;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createServer = createServer;
|
|
7
|
-
const http_1 = require("http");
|
|
8
|
-
const serve_static_1 = __importDefault(require("serve-static"));
|
|
9
|
-
const config_1 = require("../config");
|
|
10
|
-
const socket_1 = require("../server/socket");
|
|
11
|
-
const generics_1 = require("../server/utils/generics");
|
|
12
|
-
const keep_alive_1 = require("../server/utils/keep-alive");
|
|
13
|
-
const utils_1 = require("../utils");
|
|
14
|
-
const bgp_listener_1 = require("../utils/bgp-listener");
|
|
15
|
-
const env_1 = require("../utils/env");
|
|
16
|
-
const signatures_1 = require("../utils/signatures");
|
|
17
|
-
const ws_1 = require("../utils/ws");
|
|
18
|
-
const ws_2 = require("ws");
|
|
19
|
-
const PORT = +((0, env_1.getEnvVariable)('PORT') || config_1.API_SERVER_PORT);
|
|
20
|
-
const DISABLE_BGP_CHECKS = (0, env_1.getEnvVariable)('DISABLE_BGP_CHECKS') === '1';
|
|
21
|
-
/**
|
|
22
|
-
* Creates the WebSocket API server,
|
|
23
|
-
* creates a fileserver to serve the browser RPC client,
|
|
24
|
-
* and listens on the given port.
|
|
25
|
-
*/
|
|
26
|
-
async function createServer(port = PORT) {
|
|
27
|
-
const http = (0, http_1.createServer)();
|
|
28
|
-
const serveBrowserRpc = (0, serve_static_1.default)('browser', { index: ['index.html'] });
|
|
29
|
-
const bgpListener = !DISABLE_BGP_CHECKS
|
|
30
|
-
? (0, bgp_listener_1.createBgpListener)(utils_1.logger.child({ service: 'bgp-listener' }))
|
|
31
|
-
: undefined;
|
|
32
|
-
const wss = new ws_2.WebSocketServer({ noServer: true });
|
|
33
|
-
http.on('upgrade', handleUpgrade.bind(wss));
|
|
34
|
-
http.on('request', (req, res) => {
|
|
35
|
-
var _a;
|
|
36
|
-
// simple way to serve files at the browser RPC path
|
|
37
|
-
if (!((_a = req.url) === null || _a === void 0 ? void 0 : _a.startsWith(config_1.BROWSER_RPC_PATHNAME))) {
|
|
38
|
-
res.statusCode = 404;
|
|
39
|
-
res.end('Not found');
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
req.url = req.url.slice(config_1.BROWSER_RPC_PATHNAME.length) || '/';
|
|
43
|
-
serveBrowserRpc(req, res, (err) => {
|
|
44
|
-
var _a, _b;
|
|
45
|
-
if (err) {
|
|
46
|
-
utils_1.logger.error({ err, url: req.url }, 'Failed to serve file');
|
|
47
|
-
}
|
|
48
|
-
res.statusCode = (_a = err === null || err === void 0 ? void 0 : err.statusCode) !== null && _a !== void 0 ? _a : 404;
|
|
49
|
-
res.end((_b = err === null || err === void 0 ? void 0 : err.message) !== null && _b !== void 0 ? _b : 'Not found');
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
// wait for us to start listening
|
|
53
|
-
http.listen(port);
|
|
54
|
-
await new Promise((resolve, reject) => {
|
|
55
|
-
http.once('listening', () => resolve());
|
|
56
|
-
http.once('error', reject);
|
|
57
|
-
});
|
|
58
|
-
wss.on('connection', (ws, req) => handleNewClient(ws, req, bgpListener));
|
|
59
|
-
utils_1.logger.info({
|
|
60
|
-
port,
|
|
61
|
-
apiPath: config_1.WS_PATHNAME,
|
|
62
|
-
browserRpcPath: config_1.BROWSER_RPC_PATHNAME,
|
|
63
|
-
signerAddress: (0, generics_1.getAttestorAddress)(signatures_1.SelectedServiceSignatureType)
|
|
64
|
-
}, 'WS server listening');
|
|
65
|
-
const wssClose = wss.close.bind(wss);
|
|
66
|
-
wss.close = (cb) => {
|
|
67
|
-
wssClose(() => http.close(cb));
|
|
68
|
-
bgpListener === null || bgpListener === void 0 ? void 0 : bgpListener.close();
|
|
69
|
-
};
|
|
70
|
-
return wss;
|
|
71
|
-
}
|
|
72
|
-
async function handleNewClient(ws, req, bgpListener) {
|
|
73
|
-
(0, ws_1.promisifySend)(ws);
|
|
74
|
-
const client = await socket_1.AttestorServerSocket.acceptConnection(ws, { req, bgpListener, logger: utils_1.logger });
|
|
75
|
-
// if initialisation fails, don't store the client
|
|
76
|
-
if (!client) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
ws.serverSocket = client;
|
|
80
|
-
(0, keep_alive_1.addKeepAlive)(ws, utils_1.logger.child({ sessionId: client.sessionId }));
|
|
81
|
-
}
|
|
82
|
-
function handleUpgrade(request, socket, head) {
|
|
83
|
-
const { pathname } = new URL(request.url, 'wss://base.url');
|
|
84
|
-
if (pathname === config_1.WS_PATHNAME) {
|
|
85
|
-
this.handleUpgrade(request, socket, head, (ws) => {
|
|
86
|
-
this.emit('connection', ws, request);
|
|
87
|
-
});
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
socket.destroy();
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2ZXIvY3JlYXRlLXNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXVCQSxvQ0ErREM7QUF0RkQsK0JBQXdFO0FBQ3hFLGdFQUFzQztBQUN0Qyx1Q0FBK0U7QUFDL0UsOENBQXdEO0FBQ3hELHdEQUE4RDtBQUM5RCw0REFBMEQ7QUFFMUQscUNBQTRDO0FBQzVDLHlEQUEwRDtBQUMxRCx1Q0FBOEM7QUFDOUMscURBQW1FO0FBQ25FLHFDQUE0QztBQUU1QywyQkFBK0M7QUFFL0MsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUEsb0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSx3QkFBZSxDQUFDLENBQUE7QUFDekQsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLG9CQUFjLEVBQUMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLENBQUE7QUFFdkU7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxZQUFZLENBQUMsSUFBSSxHQUFHLElBQUk7SUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBQSxtQkFBZ0IsR0FBRSxDQUFBO0lBQy9CLE1BQU0sZUFBZSxHQUFHLElBQUEsc0JBQVcsRUFDbEMsU0FBUyxFQUNULEVBQUUsS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDekIsQ0FBQTtJQUNELE1BQU0sV0FBVyxHQUFHLENBQUMsa0JBQWtCO1FBQ3RDLENBQUMsQ0FBQyxJQUFBLGdDQUFpQixFQUFDLGNBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsU0FBUyxDQUFBO0lBRVosTUFBTSxHQUFHLEdBQUcsSUFBSSxvQkFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDbkQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLElB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
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.claimTunnel = void 0;
|
|
4
|
-
const config_1 = require("../../config");
|
|
5
|
-
const api_1 = require("../../proto/api");
|
|
6
|
-
const apm_1 = require("../../server/utils/apm");
|
|
7
|
-
const assert_valid_claim_request_1 = require("../../server/utils/assert-valid-claim-request");
|
|
8
|
-
const generics_1 = require("../../server/utils/generics");
|
|
9
|
-
const utils_1 = require("../../utils");
|
|
10
|
-
const claimTunnel = async (claimRequest, { tx, logger, client }) => {
|
|
11
|
-
var _a, _b, _c, _d;
|
|
12
|
-
const { request, data: { timestampS } = {}, } = claimRequest;
|
|
13
|
-
const tunnel = client.getTunnel(request === null || request === void 0 ? void 0 : request.id);
|
|
14
|
-
try {
|
|
15
|
-
await tunnel.close();
|
|
16
|
-
}
|
|
17
|
-
catch (err) {
|
|
18
|
-
logger.debug({ err }, 'error closing tunnel');
|
|
19
|
-
}
|
|
20
|
-
if (tx) {
|
|
21
|
-
const transcriptBytes = tunnel.transcript.reduce((acc, { message }) => acc + message.length, 0);
|
|
22
|
-
tx === null || tx === void 0 ? void 0 : tx.setLabel('transcriptBytes', transcriptBytes.toString());
|
|
23
|
-
}
|
|
24
|
-
// we throw an error for cases where the attestor cannot prove
|
|
25
|
-
// the user's request is faulty. For eg. if the user sends a
|
|
26
|
-
// "createRequest" that does not match the tunnel's actual
|
|
27
|
-
// create request -- the attestor cannot prove that the user
|
|
28
|
-
// is lying. In such cases, we throw a bad request error.
|
|
29
|
-
// Same goes for matching the transcript.
|
|
30
|
-
if (((_a = tunnel.createRequest) === null || _a === void 0 ? void 0 : _a.host) !== (request === null || request === void 0 ? void 0 : request.host)
|
|
31
|
-
|| ((_b = tunnel.createRequest) === null || _b === void 0 ? void 0 : _b.port) !== (request === null || request === void 0 ? void 0 : request.port)
|
|
32
|
-
|| ((_c = tunnel.createRequest) === null || _c === void 0 ? void 0 : _c.geoLocation) !== (request === null || request === void 0 ? void 0 : request.geoLocation)) {
|
|
33
|
-
throw utils_1.AttestorError.badRequest('Tunnel request does not match');
|
|
34
|
-
}
|
|
35
|
-
(0, assert_valid_claim_request_1.assertTranscriptsMatch)(claimRequest.transcript, tunnel.transcript);
|
|
36
|
-
const res = api_1.ClaimTunnelResponse.create({ request: claimRequest });
|
|
37
|
-
try {
|
|
38
|
-
const now = (0, utils_1.unixTimestampSeconds)();
|
|
39
|
-
if (Math.floor(timestampS - now) > config_1.MAX_CLAIM_TIMESTAMP_DIFF_S) {
|
|
40
|
-
throw new utils_1.AttestorError('ERROR_INVALID_CLAIM', `Timestamp provided ${timestampS} is too far off. Current time is ${now}`);
|
|
41
|
-
}
|
|
42
|
-
const assertTx = (_d = (0, apm_1.getApm)()) === null || _d === void 0 ? void 0 : _d.startTransaction('assertValidClaimRequest', { childOf: tx });
|
|
43
|
-
try {
|
|
44
|
-
const claim = await (0, assert_valid_claim_request_1.assertValidClaimRequest)(claimRequest, client.metadata, logger);
|
|
45
|
-
res.claim = {
|
|
46
|
-
...claim,
|
|
47
|
-
identifier: (0, utils_1.getIdentifierFromClaimInfo)(claim),
|
|
48
|
-
// hardcode for compatibility with V1 claims
|
|
49
|
-
epoch: 1
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
catch (err) {
|
|
53
|
-
assertTx === null || assertTx === void 0 ? void 0 : assertTx.setOutcome('failure');
|
|
54
|
-
throw err;
|
|
55
|
-
}
|
|
56
|
-
finally {
|
|
57
|
-
assertTx === null || assertTx === void 0 ? void 0 : assertTx.end();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
logger.error({ err }, 'invalid claim request');
|
|
62
|
-
const attestorErr = utils_1.AttestorError.fromError(err);
|
|
63
|
-
attestorErr.code = 'ERROR_INVALID_CLAIM';
|
|
64
|
-
res.error = attestorErr.toProto();
|
|
65
|
-
}
|
|
66
|
-
res.signatures = {
|
|
67
|
-
attestorAddress: (0, generics_1.getAttestorAddress)(client.metadata.signatureType),
|
|
68
|
-
claimSignature: res.claim
|
|
69
|
-
? await (0, generics_1.signAsAttestor)((0, utils_1.createSignDataForClaim)(res.claim), client.metadata.signatureType)
|
|
70
|
-
: new Uint8Array(),
|
|
71
|
-
resultSignature: await (0, generics_1.signAsAttestor)(api_1.ClaimTunnelResponse.encode(res).finish(), client.metadata.signatureType)
|
|
72
|
-
};
|
|
73
|
-
// remove tunnel from client -- to free up our mem
|
|
74
|
-
client.removeTunnel(request.id);
|
|
75
|
-
return res;
|
|
76
|
-
};
|
|
77
|
-
exports.claimTunnel = claimTunnel;
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW1UdW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL2hhbmRsZXJzL2NsYWltVHVubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUF1RDtBQUN2RCx1Q0FBbUQ7QUFDbkQsOENBQTZDO0FBQzdDLDRGQUE2RztBQUM3Ryx3REFBOEU7QUFFOUUscUNBQW1IO0FBRTVHLE1BQU0sV0FBVyxHQUE4QixLQUFLLEVBQzFELFlBQVksRUFDWixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQ3JCLEVBQUU7O0lBQ0gsTUFBTSxFQUNMLE9BQU8sRUFDUCxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQ3pCLEdBQUcsWUFBWSxDQUFBO0lBQ2hCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEVBQUcsQ0FBQyxDQUFBO0lBQzdDLElBQUksQ0FBQztRQUNKLE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFBQyxPQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLHNCQUFzQixDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELElBQUcsRUFBRSxFQUFFLENBQUM7UUFDUCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDL0MsQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQzFDLENBQUMsQ0FDRCxDQUFBO1FBQ0QsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0lB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
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.completeClaimOnChain = void 0;
|
|
4
|
-
const contracts_1 = require("../../avs/utils/contracts");
|
|
5
|
-
const utils_1 = require("../../utils");
|
|
6
|
-
const env_1 = require("../../utils/env");
|
|
7
|
-
const ACCEPT_CLAIM_PAYMENT_REQUESTS = (0, env_1.getEnvVariable)('ACCEPT_CLAIM_PAYMENT_REQUESTS') === '1';
|
|
8
|
-
const completeClaimOnChain = async ({ chainId: chainIdNum, taskIndex, completedTaskJson }) => {
|
|
9
|
-
var _a;
|
|
10
|
-
if (!ACCEPT_CLAIM_PAYMENT_REQUESTS) {
|
|
11
|
-
throw new utils_1.AttestorError('ERROR_PAYMENT_REFUSED', 'Payment requests are not accepted at this time');
|
|
12
|
-
}
|
|
13
|
-
const chainId = chainIdNum.toString();
|
|
14
|
-
const { contract } = (0, contracts_1.getContracts)(chainId.toString());
|
|
15
|
-
const task = JSON.parse(completedTaskJson);
|
|
16
|
-
const tx = await contract.taskCompleted(task, taskIndex);
|
|
17
|
-
const rslt = await tx.wait();
|
|
18
|
-
// check task created event was emitted
|
|
19
|
-
const ev = (_a = rslt.events) === null || _a === void 0 ? void 0 : _a[0];
|
|
20
|
-
const obj = ev === null || ev === void 0 ? void 0 : ev.args;
|
|
21
|
-
const plainObj = (0, utils_1.ethersStructToPlainObject)(obj);
|
|
22
|
-
return {
|
|
23
|
-
txHash: rslt.transactionHash,
|
|
24
|
-
taskCompletedObjectJson: JSON.stringify(plainObj)
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
exports.completeClaimOnChain = completeClaimOnChain;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGVDbGFpbU9uQ2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL2hhbmRsZXJzL2NvbXBsZXRlQ2xhaW1PbkNoYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFzRDtBQUV0RCxxQ0FBb0U7QUFDcEUsdUNBQThDO0FBRTlDLE1BQU0sNkJBQTZCLEdBQUcsSUFBQSxvQkFBYyxFQUFDLCtCQUErQixDQUFDLEtBQUssR0FBRyxDQUFBO0FBRXRGLE1BQU0sb0JBQW9CLEdBQXVDLEtBQUssRUFDNUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxFQUNwRCxFQUFFOztJQUNILElBQUcsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxxQkFBYSxDQUN0Qix1QkFBdUIsRUFDdkIsZ0RBQWdELENBQ2hELENBQUE7SUFDRixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3JDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFBLHdCQUFZLEVBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDckQsTUFBTSxJQUFJLEdBQ1AsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2hDLE1BQU0sRUFBRSxHQUFHLE1BQU0sUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFNUIsdUNBQXVDO0lBQ3ZDLE1BQU0sRUFBRSxHQUFHLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUcsQ0FBQyxDQUFDLENBQUE7SUFDM0IsTUFBTSxHQUFHLEdBQUcsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLElBQTJDLENBQUE7SUFFM0QsTUFBTSxRQUFRLEdBQUcsSUFBQSxpQ0FBeUIsRUFBQyxHQUFHLENBQUMsQ0FBQTtJQUUvQyxPQUFPO1FBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlO1FBQzVCLHVCQUF1QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0tBQ2pELENBQUE7QUFDRixDQUFDLENBQUE7QUEzQlksUUFBQSxvQkFBb0Isd0JBMkJoQyJ9
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createClaimOnChain = void 0;
|
|
4
|
-
const contracts_1 = require("../../avs/utils/contracts");
|
|
5
|
-
const tasks_1 = require("../../avs/utils/tasks");
|
|
6
|
-
const utils_1 = require("../../utils");
|
|
7
|
-
const env_1 = require("../../utils/env");
|
|
8
|
-
const ACCEPT_CLAIM_PAYMENT_REQUESTS = (0, env_1.getEnvVariable)('ACCEPT_CLAIM_PAYMENT_REQUESTS') === '1';
|
|
9
|
-
const createClaimOnChain = async ({ chainId: chainIdNum, jsonCreateClaimRequest, requestSignature }) => {
|
|
10
|
-
if (!ACCEPT_CLAIM_PAYMENT_REQUESTS) {
|
|
11
|
-
throw new utils_1.AttestorError('ERROR_PAYMENT_REFUSED', 'Payment requests are not accepted at this time');
|
|
12
|
-
}
|
|
13
|
-
const chainId = chainIdNum.toString();
|
|
14
|
-
const { wallet } = (0, contracts_1.getContracts)(chainId.toString());
|
|
15
|
-
const request = JSON.parse(jsonCreateClaimRequest);
|
|
16
|
-
const { task, tx } = await (0, tasks_1.createNewClaimRequestOnChain)({
|
|
17
|
-
request,
|
|
18
|
-
owner: request.owner,
|
|
19
|
-
payer: wallet,
|
|
20
|
-
chainId,
|
|
21
|
-
requestSignature: requestSignature
|
|
22
|
-
});
|
|
23
|
-
const plainTask = (0, utils_1.ethersStructToPlainObject)(task);
|
|
24
|
-
return {
|
|
25
|
-
txHash: tx.transactionHash,
|
|
26
|
-
taskIndex: task.taskIndex,
|
|
27
|
-
jsonTask: JSON.stringify(plainTask)
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
exports.createClaimOnChain = createClaimOnChain;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ2xhaW1PbkNoYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9oYW5kbGVycy9jcmVhdGVDbGFpbU9uQ2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBQXNEO0FBQ3RELCtDQUFrRTtBQUVsRSxxQ0FBb0U7QUFDcEUsdUNBQThDO0FBRTlDLE1BQU0sNkJBQTZCLEdBQUcsSUFBQSxvQkFBYyxFQUFDLCtCQUErQixDQUFDLEtBQUssR0FBRyxDQUFBO0FBRXRGLE1BQU0sa0JBQWtCLEdBQXFDLEtBQUssRUFDeEUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLEVBQ2hFLEVBQUU7SUFDSCxJQUFHLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUkscUJBQWEsQ0FDdEIsdUJBQXVCLEVBQ3ZCLGdEQUFnRCxDQUNoRCxDQUFBO0lBQ0YsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNyQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSx3QkFBWSxFQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELE1BQU0sT0FBTyxHQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUNyQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sSUFBQSxvQ0FBNEIsRUFBQztRQUN2RCxPQUFPO1FBQ1AsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLEtBQUssRUFBRSxNQUFPO1FBQ2QsT0FBTztRQUNQLGdCQUFnQixFQUFFLGdCQUFnQjtLQUNsQyxDQUFDLENBQUE7SUFFRixNQUFNLFNBQVMsR0FBRyxJQUFBLGlDQUF5QixFQUFDLElBQUksQ0FBQyxDQUFBO0lBRWpELE9BQU87UUFDTixNQUFNLEVBQUUsRUFBRSxDQUFDLGVBQWU7UUFDMUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1FBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztLQUNuQyxDQUFBO0FBQ0YsQ0FBQyxDQUFBO0FBN0JZLFFBQUEsa0JBQWtCLHNCQTZCOUIifQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTaskOnMechain = void 0;
|
|
4
|
-
const ethers_1 = require("ethers");
|
|
5
|
-
const governanceABI_1 = require("../../mechain/abis/governanceABI");
|
|
6
|
-
const taskABI_1 = require("../../mechain/abis/taskABI");
|
|
7
|
-
const constants_1 = require("../../mechain/constants");
|
|
8
|
-
const env_1 = require("../../utils/env");
|
|
9
|
-
const createTaskOnMechain = async ({ timestamp }) => {
|
|
10
|
-
const { taskContract } = await getContracts();
|
|
11
|
-
const seed = ethers_1.utils.randomBytes(32);
|
|
12
|
-
// Perform a static call to fetch taskId and attestors for the next task
|
|
13
|
-
const result = await taskContract.callStatic.createNewTaskRequest(seed, timestamp);
|
|
14
|
-
const taskId = result[0];
|
|
15
|
-
// Fetch requiredAttestors to determine how many proofs to request
|
|
16
|
-
const requiredAttestors = await taskContract.requiredAttestors();
|
|
17
|
-
const hosts = [];
|
|
18
|
-
// Fetch attestors's WebSocket URI, e.g. wss://attestor.reclaimprotocol.org/ws
|
|
19
|
-
for (let i = 0; i < requiredAttestors; i++) {
|
|
20
|
-
hosts.push(result[1][i].host);
|
|
21
|
-
}
|
|
22
|
-
// Perform the call that was statically-called previously
|
|
23
|
-
const tx = await taskContract.createNewTaskRequest(seed, timestamp);
|
|
24
|
-
await tx.wait();
|
|
25
|
-
return {
|
|
26
|
-
taskId: taskId,
|
|
27
|
-
requiredAttestors: requiredAttestors,
|
|
28
|
-
hosts: hosts
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
exports.createTaskOnMechain = createTaskOnMechain;
|
|
32
|
-
async function getContracts() {
|
|
33
|
-
const privateKey = (0, env_1.getEnvVariable)('MECHAIN_PRIVATE_KEY');
|
|
34
|
-
const taskContractAddress = (0, env_1.getEnvVariable)('TASK_CONTRACT_ADDRESS') || constants_1.TASK_CONTRACT_ADDRESS;
|
|
35
|
-
const governanceContractAddress = (0, env_1.getEnvVariable)('GOVERNANCE_CONTRACT_ADDRESS') || constants_1.GOVERNANCE_CONTRACT_ADDRESS;
|
|
36
|
-
if (!privateKey) {
|
|
37
|
-
throw new Error('MECHAIN_PRIVATE_KEY environment variable is not set');
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
const provider = new ethers_1.providers.JsonRpcProvider(constants_1.RPC_URL);
|
|
41
|
-
// Validate connection to provider
|
|
42
|
-
await provider.getNetwork();
|
|
43
|
-
const signer = new ethers_1.Wallet(privateKey, provider);
|
|
44
|
-
const taskContract = new ethers_1.Contract(taskContractAddress, taskABI_1.taskABI, signer);
|
|
45
|
-
const governanceContract = new ethers_1.Contract(governanceContractAddress, governanceABI_1.governanceABI, signer);
|
|
46
|
-
return { taskContract, governanceContract };
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
throw new Error(`Failed to initialize contracts: ${error.message || error}`);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlVGFza09uTWVjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvaGFuZGxlcnMvY3JlYXRlVGFza09uTWVjaGFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBMkQ7QUFDM0Qsa0VBQThEO0FBQzlELHNEQUFrRDtBQUNsRCxxREFBbUc7QUFFbkcsdUNBQThDO0FBR3ZDLE1BQU0sbUJBQW1CLEdBQXNDLEtBQUssRUFBQyxFQUMzRSxTQUFTLEVBQ1QsRUFBRSxFQUFFO0lBRUosTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sWUFBWSxFQUFFLENBQUE7SUFFN0MsTUFBTSxJQUFJLEdBQUcsY0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVsQyx3RUFBd0U7SUFDeEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUNoRSxJQUFJLEVBQ0osU0FBUyxDQUNULENBQUE7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFXLENBQUE7SUFFbEMsa0VBQWtFO0lBQ2xFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtJQUVoRSxNQUFNLEtBQUssR0FBYyxFQUFFLENBQUE7SUFFM0IsOEVBQThFO0lBQzlFLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFRCx5REFBeUQ7SUFDekQsTUFBTSxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ25FLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO0lBRWYsT0FBTztRQUNOLE1BQU0sRUFBRSxNQUFNO1FBQ2QsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLEtBQUssRUFBRSxLQUFLO0tBQ1osQ0FBQTtBQUNGLENBQUMsQ0FBQTtBQW5DWSxRQUFBLG1CQUFtQix1QkFtQy9CO0FBRUQsS0FBSyxVQUFVLFlBQVk7SUFDMUIsTUFBTSxVQUFVLEdBQUcsSUFBQSxvQkFBYyxFQUFDLHFCQUFxQixDQUFDLENBQUE7SUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxJQUFBLG9CQUFjLEVBQUMsdUJBQXVCLENBQUMsSUFBSSxpQ0FBcUIsQ0FBQTtJQUM1RixNQUFNLHlCQUF5QixHQUFHLElBQUEsb0JBQWMsRUFBQyw2QkFBNkIsQ0FBQyxJQUFJLHVDQUEyQixDQUFBO0lBRTlHLElBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUE7SUFDdkUsQ0FBQztJQUVELElBQUksQ0FBQztRQUNKLE1BQU0sUUFBUSxHQUFHLElBQUksa0JBQVMsQ0FBQyxlQUFlLENBQUMsbUJBQU8sQ0FBQyxDQUFBO1FBQ3ZELGtDQUFrQztRQUNsQyxNQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUUzQixNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFFL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxpQkFBUSxDQUNoQyxtQkFBbUIsRUFDbkIsaUJBQU8sRUFDUCxNQUFNLENBQ04sQ0FBQTtRQUVELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxpQkFBUSxDQUN0Qyx5QkFBeUIsRUFDekIsNkJBQWEsRUFDYixNQUFNLENBQ04sQ0FBQTtRQUVELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQTtJQUM1QyxDQUFDO0lBQUMsT0FBTSxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0FBRUYsQ0FBQyJ9
|