@lodestar/beacon-node 1.20.0-dev.f6d3bce802 → 1.20.0-dev.ff253a7e4b
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/api/impl/api.d.ts +2 -4
- package/lib/api/impl/beacon/blocks/index.d.ts +3 -2
- package/lib/api/impl/beacon/blocks/index.js +59 -70
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/index.d.ts +3 -2
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.d.ts +3 -2
- package/lib/api/impl/beacon/pool/index.js +18 -18
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/rewards/index.d.ts +3 -2
- package/lib/api/impl/beacon/rewards/index.js +7 -7
- package/lib/api/impl/beacon/rewards/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts +3 -2
- package/lib/api/impl/beacon/state/index.js +37 -51
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +1 -2
- package/lib/api/impl/beacon/state/utils.js +2 -2
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/config/index.d.ts +3 -2
- package/lib/api/impl/config/index.js.map +1 -1
- package/lib/api/impl/debug/index.d.ts +3 -2
- package/lib/api/impl/debug/index.js +15 -15
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/errors.d.ts +1 -1
- package/lib/api/impl/errors.js +1 -1
- package/lib/api/impl/errors.js.map +1 -1
- package/lib/api/impl/events/index.d.ts +3 -2
- package/lib/api/impl/events/index.js +2 -2
- package/lib/api/impl/events/index.js.map +1 -1
- package/lib/api/impl/lightclient/index.d.ts +3 -2
- package/lib/api/impl/lightclient/index.js +18 -18
- package/lib/api/impl/lightclient/index.js.map +1 -1
- package/lib/api/impl/lodestar/index.d.ts +3 -2
- package/lib/api/impl/lodestar/index.js +15 -17
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/node/index.d.ts +3 -2
- package/lib/api/impl/node/index.js +6 -11
- package/lib/api/impl/node/index.js.map +1 -1
- package/lib/api/impl/proof/index.d.ts +3 -2
- package/lib/api/impl/proof/index.js +12 -6
- package/lib/api/impl/proof/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts +3 -2
- package/lib/api/impl/validator/index.js +107 -107
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/rest/base.js +2 -0
- package/lib/api/rest/base.js.map +1 -1
- package/lib/api/rest/index.d.ts +4 -5
- package/lib/api/rest/index.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +2 -2
- package/lib/chain/beaconProposerCache.js +2 -2
- package/lib/chain/beaconProposerCache.js.map +1 -1
- package/lib/execution/builder/http.d.ts +2 -2
- package/lib/execution/builder/http.js +14 -13
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/metrics/options.d.ts +1 -1
- package/lib/network/gossip/encoding.d.ts +3 -2
- package/lib/network/gossip/encoding.js +2 -2
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/node/nodejs.d.ts +3 -7
- package/package.json +14 -14
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { toHexString } from "@chainsafe/ssz";
|
|
4
3
|
import { Repository } from "@lodestar/db";
|
|
5
4
|
import { toHex } from "@lodestar/utils";
|
|
6
5
|
import { getLatestWeakSubjectivityCheckpointEpoch } from "@lodestar/state-transition";
|
|
@@ -12,7 +11,7 @@ export function getLodestarApi({ chain, config, db, network, sync, }) {
|
|
|
12
11
|
let writingProfile = false;
|
|
13
12
|
const defaultProfileMs = SLOTS_PER_EPOCH * config.SECONDS_PER_SLOT * 1000;
|
|
14
13
|
return {
|
|
15
|
-
async writeHeapdump(thread = "main", dirpath = ".") {
|
|
14
|
+
async writeHeapdump({ thread = "main", dirpath = "." }) {
|
|
16
15
|
if (writingHeapdump) {
|
|
17
16
|
throw Error("Already writing heapdump");
|
|
18
17
|
}
|
|
@@ -37,7 +36,7 @@ export function getLodestarApi({ chain, config, db, network, sync, }) {
|
|
|
37
36
|
writingHeapdump = false;
|
|
38
37
|
}
|
|
39
38
|
},
|
|
40
|
-
async writeProfile(thread = "network",
|
|
39
|
+
async writeProfile({ thread = "network", duration = defaultProfileMs, dirpath = "." }) {
|
|
41
40
|
if (writingProfile) {
|
|
42
41
|
throw Error("Already writing network profile");
|
|
43
42
|
}
|
|
@@ -47,14 +46,14 @@ export function getLodestarApi({ chain, config, db, network, sync, }) {
|
|
|
47
46
|
let profile;
|
|
48
47
|
switch (thread) {
|
|
49
48
|
case "network":
|
|
50
|
-
filepath = await network.writeNetworkThreadProfile(
|
|
49
|
+
filepath = await network.writeNetworkThreadProfile(duration, dirpath);
|
|
51
50
|
break;
|
|
52
51
|
case "discv5":
|
|
53
|
-
filepath = await network.writeDiscv5Profile(
|
|
52
|
+
filepath = await network.writeDiscv5Profile(duration, dirpath);
|
|
54
53
|
break;
|
|
55
54
|
default:
|
|
56
55
|
// main thread
|
|
57
|
-
profile = await profileNodeJS(
|
|
56
|
+
profile = await profileNodeJS(duration);
|
|
58
57
|
filepath = path.join(dirpath, `main_thread_${new Date().toISOString()}.cpuprofile`);
|
|
59
58
|
fs.writeFileSync(filepath, profile);
|
|
60
59
|
break;
|
|
@@ -72,7 +71,7 @@ export function getLodestarApi({ chain, config, db, network, sync, }) {
|
|
|
72
71
|
async getSyncChainsDebugState() {
|
|
73
72
|
return { data: sync.getSyncChainsDebugState() };
|
|
74
73
|
},
|
|
75
|
-
async getGossipQueueItems(gossipType) {
|
|
74
|
+
async getGossipQueueItems({ gossipType }) {
|
|
76
75
|
return {
|
|
77
76
|
data: await network.dumpGossipQueue(gossipType),
|
|
78
77
|
};
|
|
@@ -117,14 +116,13 @@ export function getLodestarApi({ chain, config, db, network, sync, }) {
|
|
|
117
116
|
async dropStateCache() {
|
|
118
117
|
chain.regen.dropCache();
|
|
119
118
|
},
|
|
120
|
-
async connectPeer(
|
|
121
|
-
await network.connectToPeer(
|
|
119
|
+
async connectPeer({ peerId, multiaddrs }) {
|
|
120
|
+
await network.connectToPeer(peerId, multiaddrs);
|
|
122
121
|
},
|
|
123
|
-
async disconnectPeer(
|
|
124
|
-
await network.disconnectPeer(
|
|
122
|
+
async disconnectPeer({ peerId }) {
|
|
123
|
+
await network.disconnectPeer(peerId);
|
|
125
124
|
},
|
|
126
|
-
async getPeers(
|
|
127
|
-
const { state, direction } = filters || {};
|
|
125
|
+
async getPeers({ state, direction }) {
|
|
128
126
|
const peers = (await network.dumpPeers()).filter((nodePeer) => (!state || state.length === 0 || state.includes(nodePeer.state)) &&
|
|
129
127
|
(!direction || direction.length === 0 || (nodePeer.direction && direction.includes(nodePeer.direction))));
|
|
130
128
|
return {
|
|
@@ -137,15 +135,15 @@ export function getLodestarApi({ chain, config, db, network, sync, }) {
|
|
|
137
135
|
data: await network.dumpDiscv5KadValues(),
|
|
138
136
|
};
|
|
139
137
|
},
|
|
140
|
-
async dumpDbBucketKeys(
|
|
138
|
+
async dumpDbBucketKeys({ bucket }) {
|
|
141
139
|
for (const repo of Object.values(db)) {
|
|
142
140
|
if (repo instanceof Repository) {
|
|
143
|
-
if (String(repo["bucket"]) ===
|
|
141
|
+
if (String(repo["bucket"]) === bucket || repo["bucketId"] === bucket) {
|
|
144
142
|
return { data: stringifyKeys(await repo.keys()) };
|
|
145
143
|
}
|
|
146
144
|
}
|
|
147
145
|
}
|
|
148
|
-
throw Error(`Unknown Bucket '${
|
|
146
|
+
throw Error(`Unknown Bucket '${bucket}'`);
|
|
149
147
|
},
|
|
150
148
|
async dumpDbStateIndex() {
|
|
151
149
|
return { data: await db.stateArchive.dumpRootIndexEntries() };
|
|
@@ -164,7 +162,7 @@ function regenRequestToJson(config, regenRequest) {
|
|
|
164
162
|
case "getPreState": {
|
|
165
163
|
const slot = regenRequest.args[0].slot;
|
|
166
164
|
return {
|
|
167
|
-
root:
|
|
165
|
+
root: toHex(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(regenRequest.args[0])),
|
|
168
166
|
slot,
|
|
169
167
|
};
|
|
170
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/lodestar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/lodestar/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../types.js";
|
|
3
4
|
import { ApiOptions } from "../../options.js";
|
|
4
|
-
export declare function getNodeApi(opts: ApiOptions, { network, sync }: Pick<ApiModules, "network" | "sync">):
|
|
5
|
+
export declare function getNodeApi(opts: ApiOptions, { network, sync }: Pick<ApiModules, "network" | "sync">): ApplicationMethods<routes.node.Endpoints>;
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -7,15 +7,14 @@ export function getNodeApi(opts, { network, sync }) {
|
|
|
7
7
|
data: await network.getNetworkIdentity(),
|
|
8
8
|
};
|
|
9
9
|
},
|
|
10
|
-
async getPeer(
|
|
11
|
-
const peer = await network.dumpPeer(
|
|
10
|
+
async getPeer({ peerId }) {
|
|
11
|
+
const peer = await network.dumpPeer(peerId);
|
|
12
12
|
if (!peer) {
|
|
13
13
|
throw new ApiError(404, "Node has not seen this peer");
|
|
14
14
|
}
|
|
15
15
|
return { data: peer };
|
|
16
16
|
},
|
|
17
|
-
async getPeers(
|
|
18
|
-
const { state, direction } = filters || {};
|
|
17
|
+
async getPeers({ state, direction }) {
|
|
19
18
|
const peers = (await network.dumpPeers()).filter((nodePeer) => (!state || state.length === 0 || state.includes(nodePeer.state)) &&
|
|
20
19
|
(!direction || direction.length === 0 || (nodePeer.direction && direction.includes(nodePeer.direction))));
|
|
21
20
|
return {
|
|
@@ -48,26 +47,22 @@ export function getNodeApi(opts, { network, sync }) {
|
|
|
48
47
|
async getSyncingStatus() {
|
|
49
48
|
return { data: sync.getSyncStatus() };
|
|
50
49
|
},
|
|
51
|
-
async getHealth(
|
|
52
|
-
const syncingStatus = options?.syncingStatus;
|
|
50
|
+
async getHealth({ syncingStatus }) {
|
|
53
51
|
if (syncingStatus != null && (syncingStatus < 100 || syncingStatus > 599)) {
|
|
54
52
|
throw new ApiError(400, `Invalid syncing status code: ${syncingStatus}`);
|
|
55
53
|
}
|
|
56
|
-
let healthStatus;
|
|
57
54
|
if (sync.getSyncStatus().isSyncing) {
|
|
58
55
|
// 206: Node is syncing but can serve incomplete data
|
|
59
|
-
|
|
56
|
+
return { status: syncingStatus ?? routes.node.NodeHealth.SYNCING };
|
|
60
57
|
}
|
|
61
58
|
else {
|
|
62
59
|
// 200: Node is ready
|
|
63
|
-
|
|
60
|
+
return { status: routes.node.NodeHealth.READY };
|
|
64
61
|
}
|
|
65
62
|
// else {
|
|
66
63
|
// 503: Node not initialized or having issues
|
|
67
64
|
// NOTE: Lodestar does not start its API until fully initialized, so this status can never be served
|
|
68
65
|
// }
|
|
69
|
-
// Health status is returned to allow route handler to set it as HTTP status code
|
|
70
|
-
return healthStatus;
|
|
71
66
|
},
|
|
72
67
|
};
|
|
73
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/node/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../types.js";
|
|
3
4
|
import { ApiOptions } from "../../options.js";
|
|
4
|
-
export declare function getProofApi(opts: ApiOptions, { chain, config }: Pick<ApiModules, "chain" | "config" | "db">):
|
|
5
|
+
export declare function getProofApi(opts: ApiOptions, { chain, config }: Pick<ApiModules, "chain" | "config" | "db">): ApplicationMethods<routes.proof.Endpoints>;
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -6,7 +6,7 @@ export function getProofApi(opts, { chain, config }) {
|
|
|
6
6
|
// We want some some sort of resistance against this DoS vector.
|
|
7
7
|
const maxGindicesInProof = opts.maxGindicesInProof ?? 512;
|
|
8
8
|
return {
|
|
9
|
-
async getStateProof(stateId, descriptor) {
|
|
9
|
+
async getStateProof({ stateId, descriptor }) {
|
|
10
10
|
// descriptor.length / 2 is a rough approximation of # of gindices
|
|
11
11
|
if (descriptor.length / 2 > maxGindicesInProof) {
|
|
12
12
|
throw new Error("Requested proof is too large.");
|
|
@@ -15,10 +15,13 @@ export function getProofApi(opts, { chain, config }) {
|
|
|
15
15
|
// Commit any changes before computing the state root. In normal cases the state should have no changes here
|
|
16
16
|
state.commit();
|
|
17
17
|
const stateNode = state.node;
|
|
18
|
-
const
|
|
19
|
-
return {
|
|
18
|
+
const proof = createProof(stateNode, { type: ProofType.compactMulti, descriptor });
|
|
19
|
+
return {
|
|
20
|
+
data: proof,
|
|
21
|
+
meta: { version: config.getForkName(state.slot) },
|
|
22
|
+
};
|
|
20
23
|
},
|
|
21
|
-
async getBlockProof(blockId, descriptor) {
|
|
24
|
+
async getBlockProof({ blockId, descriptor }) {
|
|
22
25
|
// descriptor.length / 2 is a rough approximation of # of gindices
|
|
23
26
|
if (descriptor.length / 2 > maxGindicesInProof) {
|
|
24
27
|
throw new Error("Requested proof is too large.");
|
|
@@ -26,8 +29,11 @@ export function getProofApi(opts, { chain, config }) {
|
|
|
26
29
|
const { block } = await resolveBlockId(chain, blockId);
|
|
27
30
|
// Commit any changes before computing the state root. In normal cases the state should have no changes here
|
|
28
31
|
const blockNode = config.getForkTypes(block.message.slot).BeaconBlock.toView(block.message).node;
|
|
29
|
-
const
|
|
30
|
-
return {
|
|
32
|
+
const proof = createProof(blockNode, { type: ProofType.compactMulti, descriptor });
|
|
33
|
+
return {
|
|
34
|
+
data: proof,
|
|
35
|
+
meta: { version: config.getForkName(block.message.slot) },
|
|
36
|
+
};
|
|
31
37
|
},
|
|
32
38
|
};
|
|
33
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/proof/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/proof/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAE,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAI5F,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAGzD,MAAM,UAAU,WAAW,CACzB,IAAgB,EAChB,EAAC,KAAK,EAAE,MAAM,EAA8C;IAE5D,8FAA8F;IAC9F,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC;IAE1D,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC;YACvC,kEAAkE;YAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAErD,4GAA4G;YAC5G,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAE7B,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,IAAI,EAAE,KAA0B;gBAChC,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC;aAChD,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC;YACvC,kEAAkE;YAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAErD,4GAA4G;YAC5G,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YAEjG,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,IAAI,EAAE,KAA0B;gBAChC,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC;aACxD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../types.js";
|
|
3
4
|
/**
|
|
4
5
|
* If the node is within this many epochs from the head, we declare it to be synced regardless of
|
|
@@ -18,5 +19,5 @@ export declare const SYNC_TOLERANCE_EPOCHS = 1;
|
|
|
18
19
|
* Server implementation for handling validator duties.
|
|
19
20
|
* See `@lodestar/validator/src/api` for the client implementation).
|
|
20
21
|
*/
|
|
21
|
-
export declare function getValidatorApi({ chain, config, logger, metrics, network, sync, }: ApiModules):
|
|
22
|
+
export declare function getValidatorApi({ chain, config, logger, metrics, network, sync, }: ApiModules): ApplicationMethods<routes.validator.Endpoints>;
|
|
22
23
|
//# sourceMappingURL=index.d.ts.map
|