@lodestar/api 1.36.0-dev.fe5f423da3 → 1.36.0-rc.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/lib/beacon/routes/lodestar.d.ts +13 -5
- package/lib/beacon/routes/lodestar.d.ts.map +1 -1
- package/lib/beacon/routes/lodestar.js +21 -2
- package/lib/beacon/routes/lodestar.js.map +1 -1
- package/lib/beacon/routes/node.d.ts +21 -12
- package/lib/beacon/routes/node.d.ts.map +1 -1
- package/lib/beacon/routes/node.js +18 -4
- package/lib/beacon/routes/node.js.map +1 -1
- package/package.json +14 -16
- package/src/beacon/routes/lodestar.ts +36 -3
- package/src/beacon/routes/node.ts +25 -13
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ContainerType, ValueOf } from "@chainsafe/ssz";
|
|
1
|
+
import { ContainerType, Type, ValueOf } from "@chainsafe/ssz";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
-
import { Epoch, RootHex, Slot } from "@lodestar/types";
|
|
3
|
+
import { BeaconState, Epoch, RootHex, Slot } from "@lodestar/types";
|
|
4
4
|
import { EmptyArgs, EmptyMeta, EmptyRequest, EmptyResponseData } from "../../utils/codecs.js";
|
|
5
5
|
import { Endpoint, RouteDefinitions } from "../../utils/index.js";
|
|
6
|
-
import { ExecutionOptimisticFinalizedAndVersionMeta } from "../../utils/metadata.js";
|
|
6
|
+
import { ExecutionOptimisticFinalizedAndVersionMeta, VersionMeta } from "../../utils/metadata.js";
|
|
7
7
|
import { StateArgs } from "./beacon/state.js";
|
|
8
8
|
import { FilterGetPeers, NodePeer, PeerDirection, PeerState } from "./node.js";
|
|
9
9
|
export type SyncChainDebugState = {
|
|
@@ -72,7 +72,7 @@ declare const HistoricalSummariesResponseType: ContainerType<{
|
|
|
72
72
|
blockSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
73
73
|
stateSummaryRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
74
74
|
}>>;
|
|
75
|
-
proof: import("@chainsafe/ssz").ArrayType<
|
|
75
|
+
proof: import("@chainsafe/ssz").ArrayType<Type<Uint8Array<ArrayBufferLike>>, unknown, unknown>;
|
|
76
76
|
}>;
|
|
77
77
|
export type HistoricalSummariesResponse = ValueOf<typeof HistoricalSummariesResponseType>;
|
|
78
78
|
export type Endpoints = {
|
|
@@ -100,7 +100,7 @@ export type Endpoints = {
|
|
|
100
100
|
dirpath?: string;
|
|
101
101
|
};
|
|
102
102
|
}, {
|
|
103
|
-
|
|
103
|
+
result: string;
|
|
104
104
|
}, EmptyMeta>;
|
|
105
105
|
/** TODO: description */
|
|
106
106
|
getLatestWeakSubjectivityCheckpointEpoch: Endpoint<"GET", EmptyArgs, EmptyRequest, Epoch, EmptyMeta>;
|
|
@@ -163,6 +163,14 @@ export type Endpoints = {
|
|
|
163
163
|
state_id: string;
|
|
164
164
|
};
|
|
165
165
|
}, HistoricalSummariesResponse, ExecutionOptimisticFinalizedAndVersionMeta>;
|
|
166
|
+
getPersistedCheckpointState: Endpoint<"GET", {
|
|
167
|
+
/** The checkpoint in `<root>:<epoch>` format to be returned instead of the latest safe checkpoint state */
|
|
168
|
+
checkpointId?: string;
|
|
169
|
+
}, {
|
|
170
|
+
query: {
|
|
171
|
+
checkpoint_id?: string;
|
|
172
|
+
};
|
|
173
|
+
}, BeaconState, VersionMeta>;
|
|
166
174
|
/** Dump Discv5 Kad values */
|
|
167
175
|
discv5GetKadValues: Endpoint<"GET", EmptyArgs, EmptyRequest, string[], EmptyMeta>;
|
|
168
176
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ContainerType } from "@chainsafe/ssz";
|
|
2
2
|
import { ssz } from "@lodestar/types";
|
|
3
|
-
import { ArrayOf, EmptyRequestCodec, EmptyResponseCodec, JsonOnlyResponseCodec, } from "../../utils/codecs.js";
|
|
3
|
+
import { ArrayOf, EmptyRequestCodec, EmptyResponseCodec, JsonOnlyResponseCodec, WithVersion, } from "../../utils/codecs.js";
|
|
4
4
|
import { Schema } from "../../utils/index.js";
|
|
5
|
-
import { ExecutionOptimisticFinalizedAndVersionCodec, } from "../../utils/metadata.js";
|
|
5
|
+
import { ExecutionOptimisticFinalizedAndVersionCodec, VersionCodec, } from "../../utils/metadata.js";
|
|
6
6
|
const HistoricalSummariesResponseType = new ContainerType({
|
|
7
7
|
slot: ssz.Slot,
|
|
8
8
|
historicalSummaries: ssz.capella.HistoricalSummaries,
|
|
@@ -145,6 +145,25 @@ export function getDefinitions(_config) {
|
|
|
145
145
|
meta: ExecutionOptimisticFinalizedAndVersionCodec,
|
|
146
146
|
},
|
|
147
147
|
},
|
|
148
|
+
getPersistedCheckpointState: {
|
|
149
|
+
url: "/eth/v1/lodestar/persisted_checkpoint_state",
|
|
150
|
+
method: "GET",
|
|
151
|
+
req: {
|
|
152
|
+
writeReq: ({ checkpointId }) => ({ query: { checkpoint_id: checkpointId } }),
|
|
153
|
+
parseReq: ({ query }) => ({ checkpointId: query.checkpoint_id }),
|
|
154
|
+
schema: {
|
|
155
|
+
query: { checkpoint_id: Schema.String },
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
resp: {
|
|
159
|
+
data: WithVersion((fork) => ssz[fork].BeaconState),
|
|
160
|
+
meta: VersionCodec,
|
|
161
|
+
},
|
|
162
|
+
init: {
|
|
163
|
+
// Default timeout is not sufficient to download state
|
|
164
|
+
timeoutMs: 5 * 60 * 1000,
|
|
165
|
+
},
|
|
166
|
+
},
|
|
148
167
|
discv5GetKadValues: {
|
|
149
168
|
url: "/eth/v1/debug/discv5_kad_values",
|
|
150
169
|
method: "GET",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ContainerType, ValueOf } from "@chainsafe/ssz";
|
|
1
|
+
import { ContainerType, OptionalType, ValueOf } from "@chainsafe/ssz";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
-
import { fulu } from "@lodestar/types";
|
|
3
|
+
import { StringType, fulu } from "@lodestar/types";
|
|
4
4
|
import { EmptyArgs, EmptyMeta, EmptyRequest, EmptyResponseData } from "../../utils/codecs.js";
|
|
5
5
|
import { Endpoint, RouteDefinitions } from "../../utils/index.js";
|
|
6
6
|
export declare const NetworkIdentityType: ContainerType<{
|
|
7
7
|
/** Cryptographic hash of a peer’s public key. [Read more](https://docs.libp2p.io/concepts/peer-id/) */
|
|
8
|
-
peerId:
|
|
8
|
+
peerId: StringType<string>;
|
|
9
9
|
/** Ethereum node record. [Read more](https://eips.ethereum.org/EIPS/eip-778) */
|
|
10
|
-
enr:
|
|
10
|
+
enr: StringType<string>;
|
|
11
11
|
p2pAddresses: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<string>, unknown, unknown>;
|
|
12
12
|
discoveryAddresses: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<string>, unknown, unknown>;
|
|
13
13
|
/** Based on Ethereum Consensus [Metadata object](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#metadata) */
|
|
@@ -40,13 +40,22 @@ export type NetworkIdentity = ValueOf<typeof NetworkIdentityType> & {
|
|
|
40
40
|
};
|
|
41
41
|
export type PeerState = "disconnected" | "connecting" | "connected" | "disconnecting";
|
|
42
42
|
export type PeerDirection = "inbound" | "outbound";
|
|
43
|
-
export
|
|
44
|
-
peerId: string
|
|
45
|
-
enr: string
|
|
46
|
-
lastSeenP2pAddress: string
|
|
47
|
-
state: PeerState
|
|
48
|
-
direction: PeerDirection
|
|
49
|
-
}
|
|
43
|
+
export declare const NodePeerType: ContainerType<{
|
|
44
|
+
peerId: StringType<string>;
|
|
45
|
+
enr: OptionalType<StringType<string>>;
|
|
46
|
+
lastSeenP2pAddress: StringType<string>;
|
|
47
|
+
state: StringType<PeerState>;
|
|
48
|
+
direction: OptionalType<StringType<PeerDirection>>;
|
|
49
|
+
}>;
|
|
50
|
+
export declare const NodePeersType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
51
|
+
peerId: StringType<string>;
|
|
52
|
+
enr: OptionalType<StringType<string>>;
|
|
53
|
+
lastSeenP2pAddress: StringType<string>;
|
|
54
|
+
state: StringType<PeerState>;
|
|
55
|
+
direction: OptionalType<StringType<PeerDirection>>;
|
|
56
|
+
}>>, unknown, unknown>;
|
|
57
|
+
export type NodePeer = ValueOf<typeof NodePeerType>;
|
|
58
|
+
export type NodePeers = ValueOf<typeof NodePeersType>;
|
|
50
59
|
export type PeersMeta = {
|
|
51
60
|
count: number;
|
|
52
61
|
};
|
|
@@ -79,7 +88,7 @@ export type Endpoints = {
|
|
|
79
88
|
state?: PeerState[];
|
|
80
89
|
direction?: PeerDirection[];
|
|
81
90
|
};
|
|
82
|
-
},
|
|
91
|
+
}, NodePeers, PeersMeta>;
|
|
83
92
|
/**
|
|
84
93
|
* Get peer
|
|
85
94
|
* Retrieves data about the given peer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContainerType } from "@chainsafe/ssz";
|
|
2
|
-
import { ssz, stringType } from "@lodestar/types";
|
|
1
|
+
import { ContainerType, OptionalType } from "@chainsafe/ssz";
|
|
2
|
+
import { StringType, ssz, stringType } from "@lodestar/types";
|
|
3
3
|
import { ArrayOf, EmptyMetaCodec, EmptyRequestCodec, EmptyResponseCodec, JsonOnlyResponseCodec, } from "../../utils/codecs.js";
|
|
4
4
|
import { Schema } from "../../utils/index.js";
|
|
5
5
|
import { WireFormat } from "../../utils/wireFormat.js";
|
|
@@ -32,6 +32,15 @@ export const SyncingStatusType = new ContainerType({
|
|
|
32
32
|
/** Set to true if the connected el client is offline */
|
|
33
33
|
elOffline: ssz.Boolean,
|
|
34
34
|
}, { jsonCase: "eth2" });
|
|
35
|
+
export const NodePeerType = new ContainerType({
|
|
36
|
+
peerId: stringType,
|
|
37
|
+
enr: new OptionalType(stringType),
|
|
38
|
+
lastSeenP2pAddress: stringType,
|
|
39
|
+
state: new StringType(),
|
|
40
|
+
// the spec does not specify direction for a disconnected peer, lodestar uses null in that case
|
|
41
|
+
direction: new OptionalType(new StringType()),
|
|
42
|
+
}, { jsonCase: "eth2" });
|
|
43
|
+
export const NodePeersType = ArrayOf(NodePeerType);
|
|
35
44
|
export var NodeHealth;
|
|
36
45
|
(function (NodeHealth) {
|
|
37
46
|
NodeHealth[NodeHealth["READY"] = 200] = "READY";
|
|
@@ -76,7 +85,7 @@ export function getDefinitions(_config) {
|
|
|
76
85
|
schema: { query: { state: Schema.StringArray, direction: Schema.StringArray } },
|
|
77
86
|
},
|
|
78
87
|
resp: {
|
|
79
|
-
|
|
88
|
+
data: NodePeersType,
|
|
80
89
|
meta: {
|
|
81
90
|
toJson: (d) => d,
|
|
82
91
|
fromJson: (d) => ({ count: d.count }),
|
|
@@ -87,6 +96,7 @@ export function getDefinitions(_config) {
|
|
|
87
96
|
toResponse: (data, meta) => ({ data, meta }),
|
|
88
97
|
fromResponse: (resp) => resp,
|
|
89
98
|
},
|
|
99
|
+
onlySupport: WireFormat.json,
|
|
90
100
|
},
|
|
91
101
|
},
|
|
92
102
|
getPeer: {
|
|
@@ -97,7 +107,11 @@ export function getDefinitions(_config) {
|
|
|
97
107
|
parseReq: ({ params }) => ({ peerId: params.peer_id }),
|
|
98
108
|
schema: { params: { peer_id: Schema.StringRequired } },
|
|
99
109
|
},
|
|
100
|
-
resp:
|
|
110
|
+
resp: {
|
|
111
|
+
data: NodePeerType,
|
|
112
|
+
meta: EmptyMetaCodec,
|
|
113
|
+
onlySupport: WireFormat.json,
|
|
114
|
+
},
|
|
101
115
|
},
|
|
102
116
|
getPeerCount: {
|
|
103
117
|
url: "/eth/v1/node/peer_count",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/beacon/routes/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAU,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/beacon/routes/node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,52 +11,50 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.36.0-
|
|
14
|
+
"version": "1.36.0-rc.1",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
18
18
|
"bun": "./src/index.ts",
|
|
19
|
+
"types": "./lib/index.d.ts",
|
|
19
20
|
"import": "./lib/index.js"
|
|
20
21
|
},
|
|
21
22
|
"./server": {
|
|
22
23
|
"bun": "./src/server/index.ts",
|
|
24
|
+
"types": "./lib/server/index.d.ts",
|
|
23
25
|
"import": "./lib/server/index.js"
|
|
24
26
|
},
|
|
25
27
|
"./beacon": {
|
|
26
28
|
"bun": "./src/beacon/index.ts",
|
|
29
|
+
"types": "./lib/beacon/index.d.ts",
|
|
27
30
|
"import": "./lib/beacon/index.js"
|
|
28
31
|
},
|
|
29
32
|
"./beacon/server": {
|
|
30
33
|
"bun": "./src/beacon/server/index.ts",
|
|
34
|
+
"types": "./lib/beacon/server/index.d.ts",
|
|
31
35
|
"import": "./lib/beacon/server/index.js"
|
|
32
36
|
},
|
|
33
37
|
"./builder": {
|
|
34
38
|
"bun": "./src/builder/index.ts",
|
|
39
|
+
"types": "./lib/builder/index.d.ts",
|
|
35
40
|
"import": "./lib/builder/index.js"
|
|
36
41
|
},
|
|
37
42
|
"./builder/server": {
|
|
38
43
|
"bun": "./src/builder/server/index.ts",
|
|
44
|
+
"types": "./lib/builder/server/index.d.ts",
|
|
39
45
|
"import": "./lib/builder/server/index.js"
|
|
40
46
|
},
|
|
41
47
|
"./keymanager": {
|
|
42
48
|
"bun": "./src/keymanager/index.ts",
|
|
49
|
+
"types": "./lib/keymanager/index.d.ts",
|
|
43
50
|
"import": "./lib/keymanager/index.js"
|
|
44
51
|
},
|
|
45
52
|
"./keymanager/server": {
|
|
46
53
|
"bun": "./src/keymanager/server/index.ts",
|
|
54
|
+
"types": "./lib/keymanager/server/index.d.ts",
|
|
47
55
|
"import": "./lib/keymanager/server/index.js"
|
|
48
56
|
}
|
|
49
57
|
},
|
|
50
|
-
"typesVersions": {
|
|
51
|
-
"*": {
|
|
52
|
-
"*": [
|
|
53
|
-
"*",
|
|
54
|
-
"lib/*",
|
|
55
|
-
"lib/*/index"
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
"types": "./lib/index.d.ts",
|
|
60
58
|
"files": [
|
|
61
59
|
"src",
|
|
62
60
|
"lib",
|
|
@@ -78,10 +76,10 @@
|
|
|
78
76
|
"dependencies": {
|
|
79
77
|
"@chainsafe/persistent-merkle-tree": "^1.2.1",
|
|
80
78
|
"@chainsafe/ssz": "^1.2.2",
|
|
81
|
-
"@lodestar/config": "1.36.0-
|
|
82
|
-
"@lodestar/params": "1.36.0-
|
|
83
|
-
"@lodestar/types": "1.36.0-
|
|
84
|
-
"@lodestar/utils": "1.36.0-
|
|
79
|
+
"@lodestar/config": "1.36.0-rc.1",
|
|
80
|
+
"@lodestar/params": "1.36.0-rc.1",
|
|
81
|
+
"@lodestar/types": "1.36.0-rc.1",
|
|
82
|
+
"@lodestar/utils": "1.36.0-rc.1",
|
|
85
83
|
"eventsource": "^2.0.2",
|
|
86
84
|
"qs": "^6.11.1"
|
|
87
85
|
},
|
|
@@ -98,5 +96,5 @@
|
|
|
98
96
|
"api",
|
|
99
97
|
"blockchain"
|
|
100
98
|
],
|
|
101
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "05bfb6ba950afcf075fb2035ec0e57ff271e8b98"
|
|
102
100
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {ContainerType, ValueOf} from "@chainsafe/ssz";
|
|
1
|
+
import {ContainerType, Type, ValueOf} from "@chainsafe/ssz";
|
|
2
2
|
import {ChainForkConfig} from "@lodestar/config";
|
|
3
|
-
import {Epoch, RootHex, Slot, ssz} from "@lodestar/types";
|
|
3
|
+
import {BeaconState, Epoch, RootHex, Slot, ssz} from "@lodestar/types";
|
|
4
4
|
import {
|
|
5
5
|
ArrayOf,
|
|
6
6
|
EmptyArgs,
|
|
@@ -10,11 +10,14 @@ import {
|
|
|
10
10
|
EmptyResponseCodec,
|
|
11
11
|
EmptyResponseData,
|
|
12
12
|
JsonOnlyResponseCodec,
|
|
13
|
+
WithVersion,
|
|
13
14
|
} from "../../utils/codecs.js";
|
|
14
15
|
import {Endpoint, RouteDefinitions, Schema} from "../../utils/index.js";
|
|
15
16
|
import {
|
|
16
17
|
ExecutionOptimisticFinalizedAndVersionCodec,
|
|
17
18
|
ExecutionOptimisticFinalizedAndVersionMeta,
|
|
19
|
+
VersionCodec,
|
|
20
|
+
VersionMeta,
|
|
18
21
|
} from "../../utils/metadata.js";
|
|
19
22
|
import {StateArgs} from "./beacon/state.js";
|
|
20
23
|
import {FilterGetPeers, NodePeer, PeerDirection, PeerState} from "./node.js";
|
|
@@ -117,7 +120,7 @@ export type Endpoints = {
|
|
|
117
120
|
dirpath?: string;
|
|
118
121
|
},
|
|
119
122
|
{query: {thread?: LodestarThreadType; duration?: number; dirpath?: string}},
|
|
120
|
-
{
|
|
123
|
+
{result: string},
|
|
121
124
|
EmptyMeta
|
|
122
125
|
>;
|
|
123
126
|
/** TODO: description */
|
|
@@ -258,6 +261,17 @@ export type Endpoints = {
|
|
|
258
261
|
ExecutionOptimisticFinalizedAndVersionMeta
|
|
259
262
|
>;
|
|
260
263
|
|
|
264
|
+
getPersistedCheckpointState: Endpoint<
|
|
265
|
+
"GET",
|
|
266
|
+
{
|
|
267
|
+
/** The checkpoint in `<root>:<epoch>` format to be returned instead of the latest safe checkpoint state */
|
|
268
|
+
checkpointId?: string;
|
|
269
|
+
},
|
|
270
|
+
{query: {checkpoint_id?: string}},
|
|
271
|
+
BeaconState,
|
|
272
|
+
VersionMeta
|
|
273
|
+
>;
|
|
274
|
+
|
|
261
275
|
/** Dump Discv5 Kad values */
|
|
262
276
|
discv5GetKadValues: Endpoint<
|
|
263
277
|
// ⏎
|
|
@@ -430,6 +444,25 @@ export function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpo
|
|
|
430
444
|
meta: ExecutionOptimisticFinalizedAndVersionCodec,
|
|
431
445
|
},
|
|
432
446
|
},
|
|
447
|
+
getPersistedCheckpointState: {
|
|
448
|
+
url: "/eth/v1/lodestar/persisted_checkpoint_state",
|
|
449
|
+
method: "GET",
|
|
450
|
+
req: {
|
|
451
|
+
writeReq: ({checkpointId}) => ({query: {checkpoint_id: checkpointId}}),
|
|
452
|
+
parseReq: ({query}) => ({checkpointId: query.checkpoint_id}),
|
|
453
|
+
schema: {
|
|
454
|
+
query: {checkpoint_id: Schema.String},
|
|
455
|
+
},
|
|
456
|
+
},
|
|
457
|
+
resp: {
|
|
458
|
+
data: WithVersion((fork) => ssz[fork].BeaconState as Type<BeaconState>),
|
|
459
|
+
meta: VersionCodec,
|
|
460
|
+
},
|
|
461
|
+
init: {
|
|
462
|
+
// Default timeout is not sufficient to download state
|
|
463
|
+
timeoutMs: 5 * 60 * 1000,
|
|
464
|
+
},
|
|
465
|
+
},
|
|
433
466
|
discv5GetKadValues: {
|
|
434
467
|
url: "/eth/v1/debug/discv5_kad_values",
|
|
435
468
|
method: "GET",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {ContainerType, ValueOf} from "@chainsafe/ssz";
|
|
1
|
+
import {ContainerType, OptionalType, ValueOf} from "@chainsafe/ssz";
|
|
2
2
|
import {ChainForkConfig} from "@lodestar/config";
|
|
3
|
-
import {fulu, ssz, stringType} from "@lodestar/types";
|
|
3
|
+
import {StringType, fulu, ssz, stringType} from "@lodestar/types";
|
|
4
4
|
import {
|
|
5
5
|
ArrayOf,
|
|
6
6
|
EmptyArgs,
|
|
@@ -64,14 +64,21 @@ export type NetworkIdentity = ValueOf<typeof NetworkIdentityType> & {
|
|
|
64
64
|
export type PeerState = "disconnected" | "connecting" | "connected" | "disconnecting";
|
|
65
65
|
export type PeerDirection = "inbound" | "outbound";
|
|
66
66
|
|
|
67
|
-
export
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
export const NodePeerType = new ContainerType(
|
|
68
|
+
{
|
|
69
|
+
peerId: stringType,
|
|
70
|
+
enr: new OptionalType(stringType),
|
|
71
|
+
lastSeenP2pAddress: stringType,
|
|
72
|
+
state: new StringType<PeerState>(),
|
|
73
|
+
// the spec does not specify direction for a disconnected peer, lodestar uses null in that case
|
|
74
|
+
direction: new OptionalType(new StringType<PeerDirection>()),
|
|
75
|
+
},
|
|
76
|
+
{jsonCase: "eth2"}
|
|
77
|
+
);
|
|
78
|
+
export const NodePeersType = ArrayOf(NodePeerType);
|
|
79
|
+
|
|
80
|
+
export type NodePeer = ValueOf<typeof NodePeerType>;
|
|
81
|
+
export type NodePeers = ValueOf<typeof NodePeersType>;
|
|
75
82
|
|
|
76
83
|
export type PeersMeta = {count: number};
|
|
77
84
|
|
|
@@ -115,7 +122,7 @@ export type Endpoints = {
|
|
|
115
122
|
"GET",
|
|
116
123
|
FilterGetPeers,
|
|
117
124
|
{query: {state?: PeerState[]; direction?: PeerDirection[]}},
|
|
118
|
-
|
|
125
|
+
NodePeers,
|
|
119
126
|
PeersMeta
|
|
120
127
|
>;
|
|
121
128
|
|
|
@@ -225,7 +232,7 @@ export function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpo
|
|
|
225
232
|
schema: {query: {state: Schema.StringArray, direction: Schema.StringArray}},
|
|
226
233
|
},
|
|
227
234
|
resp: {
|
|
228
|
-
|
|
235
|
+
data: NodePeersType,
|
|
229
236
|
meta: {
|
|
230
237
|
toJson: (d) => d,
|
|
231
238
|
fromJson: (d) => ({count: (d as PeersMeta).count}),
|
|
@@ -236,6 +243,7 @@ export function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpo
|
|
|
236
243
|
toResponse: (data, meta) => ({data, meta}),
|
|
237
244
|
fromResponse: (resp) => resp as {data: NodePeer[]; meta: PeersMeta},
|
|
238
245
|
},
|
|
246
|
+
onlySupport: WireFormat.json,
|
|
239
247
|
},
|
|
240
248
|
},
|
|
241
249
|
getPeer: {
|
|
@@ -246,7 +254,11 @@ export function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpo
|
|
|
246
254
|
parseReq: ({params}) => ({peerId: params.peer_id}),
|
|
247
255
|
schema: {params: {peer_id: Schema.StringRequired}},
|
|
248
256
|
},
|
|
249
|
-
resp:
|
|
257
|
+
resp: {
|
|
258
|
+
data: NodePeerType,
|
|
259
|
+
meta: EmptyMetaCodec,
|
|
260
|
+
onlySupport: WireFormat.json,
|
|
261
|
+
},
|
|
250
262
|
},
|
|
251
263
|
getPeerCount: {
|
|
252
264
|
url: "/eth/v1/node/peer_count",
|