@lodestar/api 1.43.0-dev.6641fd750e → 1.43.0-dev.aef3645690
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.
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ContainerType, Type, ValueOf } from "@chainsafe/ssz";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
-
import { BeaconState, Epoch, RootHex, Slot, ValidatorIndex } from "@lodestar/types";
|
|
3
|
+
import { AttesterSlashing, BeaconState, Epoch, RootHex, SignedBeaconBlock, Slot, ValidatorIndex } 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, VersionMeta } from "../../utils/metadata.js";
|
|
6
|
+
import { ExecutionOptimisticFinalizedAndVersionMeta, MetaHeader, 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 = {
|
|
@@ -240,7 +240,16 @@ export type Endpoints = {
|
|
|
240
240
|
}[], EmptyMeta>;
|
|
241
241
|
/** Get custody information for data columns */
|
|
242
242
|
getCustodyInfo: Endpoint<"GET", EmptyArgs, EmptyRequest, CustodyInfo, EmptyMeta>;
|
|
243
|
+
/** Craft attester slashings from the attestations in the provided blocks */
|
|
244
|
+
getAttesterSlashingsFromBlocks: Endpoint<"POST", {
|
|
245
|
+
signedBlocks: SignedBeaconBlock[];
|
|
246
|
+
}, {
|
|
247
|
+
body: unknown;
|
|
248
|
+
headers: {
|
|
249
|
+
[MetaHeader.Version]: string;
|
|
250
|
+
};
|
|
251
|
+
}, AttesterSlashing[], VersionMeta>;
|
|
243
252
|
};
|
|
244
|
-
export declare function getDefinitions(
|
|
253
|
+
export declare function getDefinitions(config: ChainForkConfig): RouteDefinitions<Endpoints>;
|
|
245
254
|
export {};
|
|
246
255
|
//# sourceMappingURL=lodestar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import { ContainerType } from "@chainsafe/ssz";
|
|
2
|
-
import { ArrayOf, ssz } from "@lodestar/types";
|
|
2
|
+
import { ArrayOf, ssz, } from "@lodestar/types";
|
|
3
3
|
import { EmptyRequestCodec, EmptyResponseCodec, JsonOnlyResponseCodec, WithVersion, } from "../../utils/codecs.js";
|
|
4
|
+
import { toForkName } from "../../utils/fork.js";
|
|
5
|
+
import { fromHeaders } from "../../utils/headers.js";
|
|
4
6
|
import { Schema } from "../../utils/index.js";
|
|
5
|
-
import { ExecutionOptimisticFinalizedAndVersionCodec, VersionCodec, } from "../../utils/metadata.js";
|
|
7
|
+
import { ExecutionOptimisticFinalizedAndVersionCodec, MetaHeader, VersionCodec, } from "../../utils/metadata.js";
|
|
6
8
|
const HistoricalSummariesResponseType = new ContainerType({
|
|
7
9
|
slot: ssz.Slot,
|
|
8
10
|
historicalSummaries: ssz.capella.HistoricalSummaries,
|
|
9
11
|
proof: ArrayOf(ssz.Bytes8),
|
|
10
12
|
}, { jsonCase: "eth2" });
|
|
11
|
-
export function getDefinitions(
|
|
13
|
+
export function getDefinitions(config) {
|
|
14
|
+
function assertBlocksMatchFork(signedBlocks, expectedFork) {
|
|
15
|
+
for (const block of signedBlocks) {
|
|
16
|
+
const blockFork = config.getForkName(block.message.slot);
|
|
17
|
+
if (blockFork !== expectedFork) {
|
|
18
|
+
throw new Error(`Block at slot ${block.message.slot} is from fork ${blockFork}, expected ${expectedFork}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
12
22
|
return {
|
|
13
23
|
writeHeapdump: {
|
|
14
24
|
url: "/eth/v1/lodestar/write_heapdump",
|
|
@@ -226,6 +236,50 @@ export function getDefinitions(_config) {
|
|
|
226
236
|
req: EmptyRequestCodec,
|
|
227
237
|
resp: JsonOnlyResponseCodec,
|
|
228
238
|
},
|
|
239
|
+
getAttesterSlashingsFromBlocks: {
|
|
240
|
+
url: "/eth/v1/lodestar/blocks/attester_slashings",
|
|
241
|
+
method: "POST",
|
|
242
|
+
req: {
|
|
243
|
+
writeReqJson: ({ signedBlocks }) => {
|
|
244
|
+
if (signedBlocks.length === 0)
|
|
245
|
+
throw new Error("No blocks provided.");
|
|
246
|
+
const fork = config.getForkName(signedBlocks[0].message.slot);
|
|
247
|
+
return {
|
|
248
|
+
body: ArrayOf(ssz[fork].SignedBeaconBlock).toJson(signedBlocks),
|
|
249
|
+
headers: { [MetaHeader.Version]: fork },
|
|
250
|
+
};
|
|
251
|
+
},
|
|
252
|
+
parseReqJson: ({ body, headers }) => {
|
|
253
|
+
const fork = toForkName(fromHeaders(headers, MetaHeader.Version));
|
|
254
|
+
const signedBlocks = ArrayOf(ssz[fork].SignedBeaconBlock).fromJson(body);
|
|
255
|
+
assertBlocksMatchFork(signedBlocks, fork);
|
|
256
|
+
return { signedBlocks };
|
|
257
|
+
},
|
|
258
|
+
writeReqSsz: ({ signedBlocks }) => {
|
|
259
|
+
if (signedBlocks.length === 0)
|
|
260
|
+
throw new Error("No blocks provided.");
|
|
261
|
+
const fork = config.getForkName(signedBlocks[0].message.slot);
|
|
262
|
+
return {
|
|
263
|
+
body: ArrayOf(ssz[fork].SignedBeaconBlock).serialize(signedBlocks),
|
|
264
|
+
headers: { [MetaHeader.Version]: fork },
|
|
265
|
+
};
|
|
266
|
+
},
|
|
267
|
+
parseReqSsz: ({ body, headers }) => {
|
|
268
|
+
const fork = toForkName(fromHeaders(headers, MetaHeader.Version));
|
|
269
|
+
const signedBlocks = ArrayOf(ssz[fork].SignedBeaconBlock).deserialize(body);
|
|
270
|
+
assertBlocksMatchFork(signedBlocks, fork);
|
|
271
|
+
return { signedBlocks };
|
|
272
|
+
},
|
|
273
|
+
schema: {
|
|
274
|
+
body: Schema.ObjectArray,
|
|
275
|
+
headers: { [MetaHeader.Version]: Schema.String },
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
resp: {
|
|
279
|
+
data: WithVersion((fork) => ArrayOf(ssz[fork].AttesterSlashing)),
|
|
280
|
+
meta: VersionCodec,
|
|
281
|
+
},
|
|
282
|
+
},
|
|
229
283
|
};
|
|
230
284
|
}
|
|
231
285
|
//# sourceMappingURL=lodestar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAgB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/beacon/routes/lodestar.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.43.0-dev.
|
|
14
|
+
"version": "1.43.0-dev.aef3645690",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -76,10 +76,10 @@
|
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@chainsafe/persistent-merkle-tree": "^1.2.1",
|
|
78
78
|
"@chainsafe/ssz": "^1.2.2",
|
|
79
|
-
"@lodestar/config": "^1.43.0-dev.
|
|
80
|
-
"@lodestar/params": "^1.43.0-dev.
|
|
81
|
-
"@lodestar/types": "^1.43.0-dev.
|
|
82
|
-
"@lodestar/utils": "^1.43.0-dev.
|
|
79
|
+
"@lodestar/config": "^1.43.0-dev.aef3645690",
|
|
80
|
+
"@lodestar/params": "^1.43.0-dev.aef3645690",
|
|
81
|
+
"@lodestar/types": "^1.43.0-dev.aef3645690",
|
|
82
|
+
"@lodestar/utils": "^1.43.0-dev.aef3645690",
|
|
83
83
|
"eventsource": "^2.0.2",
|
|
84
84
|
"qs": "^6.11.1"
|
|
85
85
|
},
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"api",
|
|
97
97
|
"blockchain"
|
|
98
98
|
],
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "ffc9f7818d18273a196890cbaf9814f62d9d04db"
|
|
100
100
|
}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import {ContainerType, Type, ValueOf} from "@chainsafe/ssz";
|
|
2
2
|
import {ChainForkConfig} from "@lodestar/config";
|
|
3
|
-
import {
|
|
3
|
+
import {ForkName} from "@lodestar/params";
|
|
4
|
+
import {
|
|
5
|
+
ArrayOf,
|
|
6
|
+
AttesterSlashing,
|
|
7
|
+
BeaconState,
|
|
8
|
+
Epoch,
|
|
9
|
+
RootHex,
|
|
10
|
+
SignedBeaconBlock,
|
|
11
|
+
Slot,
|
|
12
|
+
ValidatorIndex,
|
|
13
|
+
ssz,
|
|
14
|
+
} from "@lodestar/types";
|
|
4
15
|
import {
|
|
5
16
|
EmptyArgs,
|
|
6
17
|
EmptyMeta,
|
|
@@ -11,10 +22,13 @@ import {
|
|
|
11
22
|
JsonOnlyResponseCodec,
|
|
12
23
|
WithVersion,
|
|
13
24
|
} from "../../utils/codecs.js";
|
|
25
|
+
import {toForkName} from "../../utils/fork.js";
|
|
26
|
+
import {fromHeaders} from "../../utils/headers.js";
|
|
14
27
|
import {Endpoint, RouteDefinitions, Schema} from "../../utils/index.js";
|
|
15
28
|
import {
|
|
16
29
|
ExecutionOptimisticFinalizedAndVersionCodec,
|
|
17
30
|
ExecutionOptimisticFinalizedAndVersionMeta,
|
|
31
|
+
MetaHeader,
|
|
18
32
|
VersionCodec,
|
|
19
33
|
VersionMeta,
|
|
20
34
|
} from "../../utils/metadata.js";
|
|
@@ -382,9 +396,27 @@ export type Endpoints = {
|
|
|
382
396
|
CustodyInfo,
|
|
383
397
|
EmptyMeta
|
|
384
398
|
>;
|
|
399
|
+
|
|
400
|
+
/** Craft attester slashings from the attestations in the provided blocks */
|
|
401
|
+
getAttesterSlashingsFromBlocks: Endpoint<
|
|
402
|
+
"POST",
|
|
403
|
+
{signedBlocks: SignedBeaconBlock[]},
|
|
404
|
+
{body: unknown; headers: {[MetaHeader.Version]: string}},
|
|
405
|
+
AttesterSlashing[],
|
|
406
|
+
VersionMeta
|
|
407
|
+
>;
|
|
385
408
|
};
|
|
386
409
|
|
|
387
|
-
export function getDefinitions(
|
|
410
|
+
export function getDefinitions(config: ChainForkConfig): RouteDefinitions<Endpoints> {
|
|
411
|
+
function assertBlocksMatchFork(signedBlocks: SignedBeaconBlock[], expectedFork: ForkName): void {
|
|
412
|
+
for (const block of signedBlocks) {
|
|
413
|
+
const blockFork = config.getForkName(block.message.slot);
|
|
414
|
+
if (blockFork !== expectedFork) {
|
|
415
|
+
throw new Error(`Block at slot ${block.message.slot} is from fork ${blockFork}, expected ${expectedFork}`);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
|
|
388
420
|
return {
|
|
389
421
|
writeHeapdump: {
|
|
390
422
|
url: "/eth/v1/lodestar/write_heapdump",
|
|
@@ -602,5 +634,47 @@ export function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpo
|
|
|
602
634
|
req: EmptyRequestCodec,
|
|
603
635
|
resp: JsonOnlyResponseCodec,
|
|
604
636
|
},
|
|
637
|
+
getAttesterSlashingsFromBlocks: {
|
|
638
|
+
url: "/eth/v1/lodestar/blocks/attester_slashings",
|
|
639
|
+
method: "POST",
|
|
640
|
+
req: {
|
|
641
|
+
writeReqJson: ({signedBlocks}) => {
|
|
642
|
+
if (signedBlocks.length === 0) throw new Error("No blocks provided.");
|
|
643
|
+
const fork = config.getForkName(signedBlocks[0].message.slot);
|
|
644
|
+
return {
|
|
645
|
+
body: ArrayOf(ssz[fork].SignedBeaconBlock).toJson(signedBlocks as SignedBeaconBlock<typeof fork>[]),
|
|
646
|
+
headers: {[MetaHeader.Version]: fork},
|
|
647
|
+
};
|
|
648
|
+
},
|
|
649
|
+
parseReqJson: ({body, headers}) => {
|
|
650
|
+
const fork = toForkName(fromHeaders(headers, MetaHeader.Version));
|
|
651
|
+
const signedBlocks = ArrayOf(ssz[fork].SignedBeaconBlock).fromJson(body) as SignedBeaconBlock[];
|
|
652
|
+
assertBlocksMatchFork(signedBlocks, fork);
|
|
653
|
+
return {signedBlocks};
|
|
654
|
+
},
|
|
655
|
+
writeReqSsz: ({signedBlocks}) => {
|
|
656
|
+
if (signedBlocks.length === 0) throw new Error("No blocks provided.");
|
|
657
|
+
const fork = config.getForkName(signedBlocks[0].message.slot);
|
|
658
|
+
return {
|
|
659
|
+
body: ArrayOf(ssz[fork].SignedBeaconBlock).serialize(signedBlocks as SignedBeaconBlock<typeof fork>[]),
|
|
660
|
+
headers: {[MetaHeader.Version]: fork},
|
|
661
|
+
};
|
|
662
|
+
},
|
|
663
|
+
parseReqSsz: ({body, headers}) => {
|
|
664
|
+
const fork = toForkName(fromHeaders(headers, MetaHeader.Version));
|
|
665
|
+
const signedBlocks = ArrayOf(ssz[fork].SignedBeaconBlock).deserialize(body) as SignedBeaconBlock[];
|
|
666
|
+
assertBlocksMatchFork(signedBlocks, fork);
|
|
667
|
+
return {signedBlocks};
|
|
668
|
+
},
|
|
669
|
+
schema: {
|
|
670
|
+
body: Schema.ObjectArray,
|
|
671
|
+
headers: {[MetaHeader.Version]: Schema.String},
|
|
672
|
+
},
|
|
673
|
+
},
|
|
674
|
+
resp: {
|
|
675
|
+
data: WithVersion((fork) => ArrayOf(ssz[fork].AttesterSlashing)),
|
|
676
|
+
meta: VersionCodec,
|
|
677
|
+
},
|
|
678
|
+
},
|
|
605
679
|
};
|
|
606
680
|
}
|