@lodestar/api 1.20.0-dev.c1532773c2 → 1.20.0-dev.f29a6db056
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/README.md +2 -2
- package/lib/beacon/client/beacon.d.ts +4 -3
- package/lib/beacon/client/beacon.js +3 -36
- package/lib/beacon/client/beacon.js.map +1 -1
- package/lib/beacon/client/config.d.ts +4 -3
- package/lib/beacon/client/config.js +3 -6
- package/lib/beacon/client/config.js.map +1 -1
- package/lib/beacon/client/debug.d.ts +4 -3
- package/lib/beacon/client/debug.js +4 -45
- package/lib/beacon/client/debug.js.map +1 -1
- package/lib/beacon/client/events.d.ts +5 -2
- package/lib/beacon/client/events.js +32 -35
- package/lib/beacon/client/events.js.map +1 -1
- package/lib/beacon/client/index.d.ts +6 -3
- package/lib/beacon/client/index.js +2 -2
- package/lib/beacon/client/index.js.map +1 -1
- package/lib/beacon/client/lightclient.d.ts +4 -3
- package/lib/beacon/client/lightclient.js +4 -7
- package/lib/beacon/client/lightclient.js.map +1 -1
- package/lib/beacon/client/lodestar.d.ts +4 -3
- package/lib/beacon/client/lodestar.js +4 -7
- package/lib/beacon/client/lodestar.js.map +1 -1
- package/lib/beacon/client/node.d.ts +4 -3
- package/lib/beacon/client/node.js +4 -7
- package/lib/beacon/client/node.js.map +1 -1
- package/lib/beacon/client/proof.d.ts +5 -4
- package/lib/beacon/client/proof.js +5 -61
- package/lib/beacon/client/proof.js.map +1 -1
- package/lib/beacon/client/validator.d.ts +4 -3
- package/lib/beacon/client/validator.js +4 -7
- package/lib/beacon/client/validator.js.map +1 -1
- package/lib/beacon/index.d.ts +5 -5
- package/lib/beacon/index.js.map +1 -1
- package/lib/beacon/routes/beacon/block.d.ts +282 -164
- package/lib/beacon/routes/beacon/block.js +324 -116
- package/lib/beacon/routes/beacon/block.js.map +1 -1
- package/lib/beacon/routes/beacon/index.d.ts +6 -588
- package/lib/beacon/routes/beacon/index.js +16 -26
- package/lib/beacon/routes/beacon/index.js.map +1 -1
- package/lib/beacon/routes/beacon/pool.d.ts +155 -117
- package/lib/beacon/routes/beacon/pool.js +146 -42
- package/lib/beacon/routes/beacon/pool.js.map +1 -1
- package/lib/beacon/routes/beacon/rewards.d.ts +113 -101
- package/lib/beacon/routes/beacon/rewards.js +98 -63
- package/lib/beacon/routes/beacon/rewards.js.map +1 -1
- package/lib/beacon/routes/beacon/state.d.ts +172 -226
- package/lib/beacon/routes/beacon/state.js +204 -126
- package/lib/beacon/routes/beacon/state.js.map +1 -1
- package/lib/beacon/routes/config.d.ts +21 -36
- package/lib/beacon/routes/config.js +45 -24
- package/lib/beacon/routes/config.js.map +1 -1
- package/lib/beacon/routes/debug.d.ts +32 -95
- package/lib/beacon/routes/debug.js +87 -45
- package/lib/beacon/routes/debug.js.map +1 -1
- package/lib/beacon/routes/events.d.ts +20 -16
- package/lib/beacon/routes/events.js +39 -17
- package/lib/beacon/routes/events.js.map +1 -1
- package/lib/beacon/routes/index.d.ts +19 -19
- package/lib/beacon/routes/index.js +1 -0
- package/lib/beacon/routes/index.js.map +1 -1
- package/lib/beacon/routes/lightclient.d.ts +33 -55
- package/lib/beacon/routes/lightclient.js +107 -47
- package/lib/beacon/routes/lightclient.js.map +1 -1
- package/lib/beacon/routes/lodestar.d.ts +74 -148
- package/lib/beacon/routes/lodestar.js +126 -77
- package/lib/beacon/routes/lodestar.js.map +1 -1
- package/lib/beacon/routes/node.d.ts +48 -82
- package/lib/beacon/routes/node.js +90 -57
- package/lib/beacon/routes/node.js.map +1 -1
- package/lib/beacon/routes/proof.d.ts +25 -31
- package/lib/beacon/routes/proof.js +44 -24
- package/lib/beacon/routes/proof.js.map +1 -1
- package/lib/beacon/routes/validator.d.ts +547 -320
- package/lib/beacon/routes/validator.js +494 -213
- package/lib/beacon/routes/validator.js.map +1 -1
- package/lib/beacon/server/beacon.d.ts +3 -4
- package/lib/beacon/server/beacon.js +4 -57
- package/lib/beacon/server/beacon.js.map +1 -1
- package/lib/beacon/server/config.d.ts +3 -4
- package/lib/beacon/server/config.js +4 -5
- package/lib/beacon/server/config.js.map +1 -1
- package/lib/beacon/server/debug.d.ts +3 -4
- package/lib/beacon/server/debug.js +4 -54
- package/lib/beacon/server/debug.js.map +1 -1
- package/lib/beacon/server/events.d.ts +4 -4
- package/lib/beacon/server/events.js +17 -23
- package/lib/beacon/server/events.js.map +1 -1
- package/lib/beacon/server/index.d.ts +7 -8
- package/lib/beacon/server/index.js +13 -14
- package/lib/beacon/server/index.js.map +1 -1
- package/lib/beacon/server/lightclient.d.ts +3 -4
- package/lib/beacon/server/lightclient.js +4 -5
- package/lib/beacon/server/lightclient.js.map +1 -1
- package/lib/beacon/server/lodestar.d.ts +3 -4
- package/lib/beacon/server/lodestar.js +4 -5
- package/lib/beacon/server/lodestar.js.map +1 -1
- package/lib/beacon/server/node.d.ts +3 -4
- package/lib/beacon/server/node.js +4 -18
- package/lib/beacon/server/node.js.map +1 -1
- package/lib/beacon/server/proof.d.ts +3 -4
- package/lib/beacon/server/proof.js +4 -36
- package/lib/beacon/server/proof.js.map +1 -1
- package/lib/beacon/server/validator.d.ts +3 -4
- package/lib/beacon/server/validator.js +4 -21
- package/lib/beacon/server/validator.js.map +1 -1
- package/lib/builder/client.d.ts +4 -6
- package/lib/builder/client.js +3 -9
- package/lib/builder/client.js.map +1 -1
- package/lib/builder/index.d.ts +8 -5
- package/lib/builder/index.js +4 -1
- package/lib/builder/index.js.map +1 -1
- package/lib/builder/routes.d.ts +24 -38
- package/lib/builder/routes.js +77 -33
- package/lib/builder/routes.js.map +1 -1
- package/lib/builder/server/index.d.ts +6 -6
- package/lib/builder/server/index.js +7 -8
- package/lib/builder/server/index.js.map +1 -1
- package/lib/index.d.ts +9 -6
- package/lib/index.js +5 -4
- package/lib/index.js.map +1 -1
- package/lib/keymanager/client.d.ts +4 -3
- package/lib/keymanager/client.js +4 -7
- package/lib/keymanager/client.js.map +1 -1
- package/lib/keymanager/index.d.ts +5 -4
- package/lib/keymanager/index.js +1 -1
- package/lib/keymanager/index.js.map +1 -1
- package/lib/keymanager/routes.d.ts +155 -177
- package/lib/keymanager/routes.js +236 -123
- package/lib/keymanager/routes.js.map +1 -1
- package/lib/keymanager/server/index.d.ts +6 -6
- package/lib/keymanager/server/index.js +7 -8
- package/lib/keymanager/server/index.js.map +1 -1
- package/lib/server/index.d.ts +2 -0
- package/lib/server/index.js +3 -0
- package/lib/server/index.js.map +1 -0
- package/lib/utils/client/error.d.ts +6 -0
- package/lib/utils/client/error.js +8 -0
- package/lib/utils/client/error.js.map +1 -0
- package/lib/utils/client/httpClient.d.ts +35 -75
- package/lib/utils/client/httpClient.js +201 -153
- package/lib/utils/client/httpClient.js.map +1 -1
- package/lib/utils/client/index.d.ts +6 -2
- package/lib/utils/client/index.js +6 -2
- package/lib/utils/client/index.js.map +1 -1
- package/lib/utils/client/method.d.ts +11 -0
- package/lib/utils/client/method.js +27 -0
- package/lib/utils/client/method.js.map +1 -0
- package/lib/utils/client/request.d.ts +33 -0
- package/lib/utils/client/request.js +66 -0
- package/lib/utils/client/request.js.map +1 -0
- package/lib/utils/client/response.d.ts +35 -0
- package/lib/utils/client/response.js +166 -0
- package/lib/utils/client/response.js.map +1 -0
- package/lib/utils/codecs.d.ts +28 -0
- package/lib/utils/codecs.js +105 -0
- package/lib/utils/codecs.js.map +1 -0
- package/lib/utils/fork.d.ts +8 -0
- package/lib/utils/fork.js +35 -0
- package/lib/utils/fork.js.map +1 -0
- package/lib/utils/headers.d.ts +37 -0
- package/lib/utils/headers.js +134 -0
- package/lib/utils/headers.js.map +1 -0
- package/lib/utils/httpStatusCode.js.map +1 -0
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/metadata.d.ts +88 -0
- package/lib/utils/metadata.js +126 -0
- package/lib/utils/metadata.js.map +1 -0
- package/lib/utils/schema.d.ts +31 -17
- package/lib/utils/schema.js +18 -6
- package/lib/utils/schema.js.map +1 -1
- package/lib/utils/serdes.d.ts +3 -0
- package/lib/utils/serdes.js +13 -0
- package/lib/utils/serdes.js.map +1 -1
- package/lib/utils/server/{errors.d.ts → error.d.ts} +2 -2
- package/lib/utils/server/{errors.js → error.js} +1 -1
- package/lib/utils/server/error.js.map +1 -0
- package/lib/utils/server/handler.d.ts +11 -0
- package/lib/utils/server/handler.js +117 -0
- package/lib/utils/server/handler.js.map +1 -0
- package/lib/utils/server/index.d.ts +5 -4
- package/lib/utils/server/index.js +5 -4
- package/lib/utils/server/index.js.map +1 -1
- package/lib/utils/server/method.d.ts +35 -0
- package/lib/utils/server/method.js +2 -0
- package/lib/utils/server/method.js.map +1 -0
- package/lib/utils/server/parser.d.ts +3 -0
- package/lib/utils/server/parser.js +20 -0
- package/lib/utils/server/parser.js.map +1 -0
- package/lib/utils/server/route.d.ts +20 -0
- package/lib/utils/server/route.js +19 -0
- package/lib/utils/server/route.js.map +1 -0
- package/lib/utils/types.d.ts +116 -104
- package/lib/utils/types.js +2 -155
- package/lib/utils/types.js.map +1 -1
- package/lib/utils/urlFormat.d.ts +2 -2
- package/lib/utils/urlFormat.js +3 -3
- package/lib/utils/urlFormat.js.map +1 -1
- package/lib/utils/wireFormat.d.ts +8 -0
- package/lib/utils/wireFormat.js +23 -0
- package/lib/utils/wireFormat.js.map +1 -0
- package/package.json +9 -6
- package/lib/interfaces.d.ts +0 -44
- package/lib/interfaces.js +0 -2
- package/lib/interfaces.js.map +0 -1
- package/lib/utils/acceptHeader.d.ts +0 -9
- package/lib/utils/acceptHeader.js +0 -62
- package/lib/utils/acceptHeader.js.map +0 -1
- package/lib/utils/client/client.d.ts +0 -29
- package/lib/utils/client/client.js +0 -88
- package/lib/utils/client/client.js.map +0 -1
- package/lib/utils/client/httpStatusCode.js.map +0 -1
- package/lib/utils/routes.d.ts +0 -6
- package/lib/utils/routes.js +0 -31
- package/lib/utils/routes.js.map +0 -1
- package/lib/utils/server/errors.js.map +0 -1
- package/lib/utils/server/genericJsonServer.d.ts +0 -13
- package/lib/utils/server/genericJsonServer.js +0 -32
- package/lib/utils/server/genericJsonServer.js.map +0 -1
- package/lib/utils/server/registerRoute.d.ts +0 -3
- package/lib/utils/server/registerRoute.js +0 -13
- package/lib/utils/server/registerRoute.js.map +0 -1
- package/lib/utils/server/types.d.ts +0 -22
- package/lib/utils/server/types.js +0 -2
- package/lib/utils/server/types.js.map +0 -1
- /package/lib/utils/{client/httpStatusCode.d.ts → httpStatusCode.d.ts} +0 -0
- /package/lib/utils/{client/httpStatusCode.js → httpStatusCode.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/beacon/routes/beacon/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/beacon/routes/beacon/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAY,iBAAiB,EAAa,cAAc,EAAe,MAAM,0BAA0B,CAAC;AAC/G,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,yFAAyF;AAEzF,uGAAuG;AACvG,iFAAiF;AACjF,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC;AACrC,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAmC/C,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,OAAO;QACL,UAAU,EAAE;YACV,GAAG,EAAE,wBAAwB;YAC7B,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;gBACxB,IAAI,EAAE,cAAc;aACrB;SACF;QACD,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QAC/B,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAC9B,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QAC/B,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;KAClC,CAAC;AACJ,CAAC"}
|
|
@@ -1,69 +1,144 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { ValueOf } from "@chainsafe/ssz";
|
|
2
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
+
import { phase0, capella, CommitteeIndex, Slot } from "@lodestar/types";
|
|
4
|
+
import { Endpoint, RouteDefinitions } from "../../../utils/index.js";
|
|
5
|
+
import { EmptyArgs, EmptyMeta, EmptyRequest, EmptyResponseData } from "../../../utils/codecs.js";
|
|
6
|
+
declare const AttestationListType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
7
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
8
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
9
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
10
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
11
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
12
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
13
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
14
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
15
|
+
}>;
|
|
16
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
17
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
18
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
19
|
+
}>;
|
|
20
|
+
}>;
|
|
21
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
22
|
+
}>>, unknown, unknown>;
|
|
23
|
+
declare const AttesterSlashingListType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
24
|
+
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
25
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
26
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
27
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
28
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
29
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
30
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
31
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
32
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
33
|
+
}>;
|
|
34
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
35
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
36
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
37
|
+
}>;
|
|
38
|
+
}>;
|
|
39
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
40
|
+
}>;
|
|
41
|
+
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
42
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
43
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
44
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
45
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
46
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
47
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
48
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
49
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
50
|
+
}>;
|
|
51
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
52
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
53
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
54
|
+
}>;
|
|
55
|
+
}>;
|
|
56
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
57
|
+
}>;
|
|
58
|
+
}>>, unknown, unknown>;
|
|
59
|
+
declare const ProposerSlashingListType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
60
|
+
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
61
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
62
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
63
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
64
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
65
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
66
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
67
|
+
}>;
|
|
68
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
69
|
+
}>;
|
|
70
|
+
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
71
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
72
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
73
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
74
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
75
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
76
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
77
|
+
}>;
|
|
78
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
79
|
+
}>;
|
|
80
|
+
}>>, unknown, unknown>;
|
|
81
|
+
declare const SignedVoluntaryExitListType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
82
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
83
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
84
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
85
|
+
}>;
|
|
86
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
87
|
+
}>>, unknown, unknown>;
|
|
88
|
+
declare const SignedBLSToExecutionChangeListType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
89
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
90
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
91
|
+
fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
92
|
+
toExecutionAddress: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
93
|
+
}>;
|
|
94
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
95
|
+
}>>, unknown, unknown>;
|
|
96
|
+
declare const SyncCommitteeMessageListType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
97
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
98
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
99
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
100
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
101
|
+
}>>, unknown, unknown>;
|
|
102
|
+
type AttestationList = ValueOf<typeof AttestationListType>;
|
|
103
|
+
type AttesterSlashingList = ValueOf<typeof AttesterSlashingListType>;
|
|
104
|
+
type ProposerSlashingList = ValueOf<typeof ProposerSlashingListType>;
|
|
105
|
+
type SignedVoluntaryExitList = ValueOf<typeof SignedVoluntaryExitListType>;
|
|
106
|
+
type SignedBLSToExecutionChangeList = ValueOf<typeof SignedBLSToExecutionChangeListType>;
|
|
107
|
+
type SyncCommitteeMessageList = ValueOf<typeof SyncCommitteeMessageListType>;
|
|
108
|
+
export type Endpoints = {
|
|
10
109
|
/**
|
|
11
110
|
* Get Attestations from operations pool
|
|
12
111
|
* Retrieves attestations known by the node but not necessarily incorporated into any block
|
|
13
|
-
* @param slot
|
|
14
|
-
* @param committeeIndex
|
|
15
|
-
* @returns any Successful response
|
|
16
|
-
* @throws ApiError
|
|
17
112
|
*/
|
|
18
|
-
getPoolAttestations
|
|
19
|
-
|
|
20
|
-
|
|
113
|
+
getPoolAttestations: Endpoint<"GET", {
|
|
114
|
+
slot?: Slot;
|
|
115
|
+
committeeIndex?: CommitteeIndex;
|
|
116
|
+
}, {
|
|
117
|
+
query: {
|
|
118
|
+
slot?: number;
|
|
119
|
+
committee_index?: number;
|
|
21
120
|
};
|
|
22
|
-
},
|
|
121
|
+
}, AttestationList, EmptyMeta>;
|
|
23
122
|
/**
|
|
24
123
|
* Get AttesterSlashings from operations pool
|
|
25
124
|
* Retrieves attester slashings known by the node but not necessarily incorporated into any block
|
|
26
|
-
* @returns any Successful response
|
|
27
|
-
* @throws ApiError
|
|
28
125
|
*/
|
|
29
|
-
getPoolAttesterSlashings
|
|
30
|
-
[HttpStatusCode.OK]: {
|
|
31
|
-
data: phase0.AttesterSlashing[];
|
|
32
|
-
};
|
|
33
|
-
}>>;
|
|
126
|
+
getPoolAttesterSlashings: Endpoint<"GET", EmptyArgs, EmptyRequest, AttesterSlashingList, EmptyMeta>;
|
|
34
127
|
/**
|
|
35
128
|
* Get ProposerSlashings from operations pool
|
|
36
129
|
* Retrieves proposer slashings known by the node but not necessarily incorporated into any block
|
|
37
|
-
* @returns any Successful response
|
|
38
|
-
* @throws ApiError
|
|
39
130
|
*/
|
|
40
|
-
getPoolProposerSlashings
|
|
41
|
-
[HttpStatusCode.OK]: {
|
|
42
|
-
data: phase0.ProposerSlashing[];
|
|
43
|
-
};
|
|
44
|
-
}>>;
|
|
131
|
+
getPoolProposerSlashings: Endpoint<"GET", EmptyArgs, EmptyRequest, ProposerSlashingList, EmptyMeta>;
|
|
45
132
|
/**
|
|
46
133
|
* Get SignedVoluntaryExit from operations pool
|
|
47
134
|
* Retrieves voluntary exits known by the node but not necessarily incorporated into any block
|
|
48
|
-
* @returns any Successful response
|
|
49
|
-
* @throws ApiError
|
|
50
135
|
*/
|
|
51
|
-
getPoolVoluntaryExits
|
|
52
|
-
[HttpStatusCode.OK]: {
|
|
53
|
-
data: phase0.SignedVoluntaryExit[];
|
|
54
|
-
};
|
|
55
|
-
}>>;
|
|
136
|
+
getPoolVoluntaryExits: Endpoint<"GET", EmptyArgs, EmptyRequest, SignedVoluntaryExitList, EmptyMeta>;
|
|
56
137
|
/**
|
|
57
138
|
* Get SignedBLSToExecutionChange from operations pool
|
|
58
139
|
* Retrieves BLSToExecutionChange known by the node but not necessarily incorporated into any block
|
|
59
|
-
* @returns any Successful response
|
|
60
|
-
* @throws ApiError
|
|
61
140
|
*/
|
|
62
|
-
|
|
63
|
-
[HttpStatusCode.OK]: {
|
|
64
|
-
data: capella.SignedBLSToExecutionChange[];
|
|
65
|
-
};
|
|
66
|
-
}>>;
|
|
141
|
+
getPoolBLSToExecutionChanges: Endpoint<"GET", EmptyArgs, EmptyRequest, SignedBLSToExecutionChangeList, EmptyMeta>;
|
|
67
142
|
/**
|
|
68
143
|
* Submit Attestation objects to node
|
|
69
144
|
* Submits Attestation objects to the node. Each attestation in the request body is processed individually.
|
|
@@ -71,95 +146,58 @@ export type Api = {
|
|
|
71
146
|
* If an attestation is validated successfully the node MUST publish that attestation on the appropriate subnet.
|
|
72
147
|
*
|
|
73
148
|
* If one or more attestations fail validation the node MUST return a 400 error with details of which attestations have failed, and why.
|
|
74
|
-
*
|
|
75
|
-
* @param requestBody
|
|
76
|
-
* @returns any Attestations are stored in pool and broadcast on appropriate subnet
|
|
77
|
-
* @throws ApiError
|
|
78
149
|
*/
|
|
79
|
-
submitPoolAttestations
|
|
80
|
-
|
|
81
|
-
},
|
|
150
|
+
submitPoolAttestations: Endpoint<"POST", {
|
|
151
|
+
signedAttestations: AttestationList;
|
|
152
|
+
}, {
|
|
153
|
+
body: unknown;
|
|
154
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
82
155
|
/**
|
|
83
156
|
* Submit AttesterSlashing object to node's pool
|
|
84
157
|
* Submits AttesterSlashing object to node's pool and if passes validation node MUST broadcast it to network.
|
|
85
|
-
* @param requestBody
|
|
86
|
-
* @returns any Success
|
|
87
|
-
* @throws ApiError
|
|
88
158
|
*/
|
|
89
|
-
submitPoolAttesterSlashings
|
|
90
|
-
|
|
91
|
-
},
|
|
159
|
+
submitPoolAttesterSlashings: Endpoint<"POST", {
|
|
160
|
+
attesterSlashing: phase0.AttesterSlashing;
|
|
161
|
+
}, {
|
|
162
|
+
body: unknown;
|
|
163
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
92
164
|
/**
|
|
93
165
|
* Submit ProposerSlashing object to node's pool
|
|
94
166
|
* Submits ProposerSlashing object to node's pool and if passes validation node MUST broadcast it to network.
|
|
95
|
-
* @param requestBody
|
|
96
|
-
* @returns any Success
|
|
97
|
-
* @throws ApiError
|
|
98
167
|
*/
|
|
99
|
-
submitPoolProposerSlashings
|
|
100
|
-
|
|
101
|
-
},
|
|
168
|
+
submitPoolProposerSlashings: Endpoint<"POST", {
|
|
169
|
+
proposerSlashing: phase0.ProposerSlashing;
|
|
170
|
+
}, {
|
|
171
|
+
body: unknown;
|
|
172
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
102
173
|
/**
|
|
103
174
|
* Submit SignedVoluntaryExit object to node's pool
|
|
104
175
|
* Submits SignedVoluntaryExit object to node's pool and if passes validation node MUST broadcast it to network.
|
|
105
|
-
* @param requestBody
|
|
106
|
-
* @returns any Voluntary exit is stored in node and broadcasted to network
|
|
107
|
-
* @throws ApiError
|
|
108
176
|
*/
|
|
109
|
-
submitPoolVoluntaryExit
|
|
110
|
-
|
|
111
|
-
},
|
|
177
|
+
submitPoolVoluntaryExit: Endpoint<"POST", {
|
|
178
|
+
signedVoluntaryExit: phase0.SignedVoluntaryExit;
|
|
179
|
+
}, {
|
|
180
|
+
body: unknown;
|
|
181
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
112
182
|
/**
|
|
113
|
-
* Submit SignedBLSToExecutionChange
|
|
114
|
-
* Submits SignedBLSToExecutionChange
|
|
115
|
-
* @param requestBody
|
|
116
|
-
* @returns any BLSToExecutionChange is stored in node and broadcasted to network
|
|
117
|
-
* @throws ApiError
|
|
183
|
+
* Submit SignedBLSToExecutionChange objects to node's pool
|
|
184
|
+
* Submits SignedBLSToExecutionChange objects to node's pool and if passes validation node MUST broadcast it to network.
|
|
118
185
|
*/
|
|
119
|
-
|
|
120
|
-
[
|
|
121
|
-
},
|
|
186
|
+
submitPoolBLSToExecutionChange: Endpoint<"POST", {
|
|
187
|
+
blsToExecutionChanges: capella.SignedBLSToExecutionChange[];
|
|
188
|
+
}, {
|
|
189
|
+
body: unknown;
|
|
190
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
122
191
|
/**
|
|
123
|
-
*
|
|
192
|
+
* Submit SyncCommitteeMessage objects to node's pool
|
|
193
|
+
* Submits SyncCommitteeMessage objects to node's pool and if passes validation node MUST broadcast it to network.
|
|
124
194
|
*/
|
|
125
|
-
submitPoolSyncCommitteeSignatures
|
|
126
|
-
|
|
127
|
-
},
|
|
128
|
-
};
|
|
129
|
-
/**
|
|
130
|
-
* Define javascript values for each route
|
|
131
|
-
*/
|
|
132
|
-
export declare const routesData: RoutesData<Api>;
|
|
133
|
-
export type ReqTypes = {
|
|
134
|
-
getPoolAttestations: {
|
|
135
|
-
query: {
|
|
136
|
-
slot?: number;
|
|
137
|
-
committee_index?: number;
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
getPoolAttesterSlashings: ReqEmpty;
|
|
141
|
-
getPoolProposerSlashings: ReqEmpty;
|
|
142
|
-
getPoolVoluntaryExits: ReqEmpty;
|
|
143
|
-
getPoolBlsToExecutionChanges: ReqEmpty;
|
|
144
|
-
submitPoolAttestations: {
|
|
145
|
-
body: unknown;
|
|
146
|
-
};
|
|
147
|
-
submitPoolAttesterSlashings: {
|
|
148
|
-
body: unknown;
|
|
149
|
-
};
|
|
150
|
-
submitPoolProposerSlashings: {
|
|
151
|
-
body: unknown;
|
|
152
|
-
};
|
|
153
|
-
submitPoolVoluntaryExit: {
|
|
154
|
-
body: unknown;
|
|
155
|
-
};
|
|
156
|
-
submitPoolBlsToExecutionChange: {
|
|
157
|
-
body: unknown;
|
|
158
|
-
};
|
|
159
|
-
submitPoolSyncCommitteeSignatures: {
|
|
195
|
+
submitPoolSyncCommitteeSignatures: Endpoint<"POST", {
|
|
196
|
+
signatures: SyncCommitteeMessageList;
|
|
197
|
+
}, {
|
|
160
198
|
body: unknown;
|
|
161
|
-
}
|
|
199
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
162
200
|
};
|
|
163
|
-
export declare function
|
|
164
|
-
export
|
|
201
|
+
export declare function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpoints>;
|
|
202
|
+
export {};
|
|
165
203
|
//# sourceMappingURL=pool.d.ts.map
|
|
@@ -1,48 +1,152 @@
|
|
|
1
1
|
import { ssz } from "@lodestar/types";
|
|
2
|
-
import {
|
|
3
|
-
import { ArrayOf,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
getPoolBlsToExecutionChanges: { url: "/eth/v1/beacon/pool/bls_to_execution_changes", method: "GET" },
|
|
13
|
-
submitPoolAttestations: { url: "/eth/v1/beacon/pool/attestations", method: "POST" },
|
|
14
|
-
submitPoolAttesterSlashings: { url: "/eth/v1/beacon/pool/attester_slashings", method: "POST" },
|
|
15
|
-
submitPoolProposerSlashings: { url: "/eth/v1/beacon/pool/proposer_slashings", method: "POST" },
|
|
16
|
-
submitPoolVoluntaryExit: { url: "/eth/v1/beacon/pool/voluntary_exits", method: "POST" },
|
|
17
|
-
submitPoolBlsToExecutionChange: { url: "/eth/v1/beacon/pool/bls_to_execution_changes", method: "POST" },
|
|
18
|
-
submitPoolSyncCommitteeSignatures: { url: "/eth/v1/beacon/pool/sync_committees", method: "POST" },
|
|
19
|
-
};
|
|
20
|
-
export function getReqSerializers() {
|
|
2
|
+
import { Schema } from "../../../utils/index.js";
|
|
3
|
+
import { ArrayOf, EmptyRequestCodec, EmptyMetaCodec, EmptyResponseCodec, } from "../../../utils/codecs.js";
|
|
4
|
+
// See /packages/api/src/routes/index.ts for reasoning and instructions to add new routes
|
|
5
|
+
const AttestationListType = ArrayOf(ssz.phase0.Attestation);
|
|
6
|
+
const AttesterSlashingListType = ArrayOf(ssz.phase0.AttesterSlashing);
|
|
7
|
+
const ProposerSlashingListType = ArrayOf(ssz.phase0.ProposerSlashing);
|
|
8
|
+
const SignedVoluntaryExitListType = ArrayOf(ssz.phase0.SignedVoluntaryExit);
|
|
9
|
+
const SignedBLSToExecutionChangeListType = ArrayOf(ssz.capella.SignedBLSToExecutionChange);
|
|
10
|
+
const SyncCommitteeMessageListType = ArrayOf(ssz.altair.SyncCommitteeMessage);
|
|
11
|
+
export function getDefinitions(_config) {
|
|
21
12
|
return {
|
|
22
13
|
getPoolAttestations: {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
14
|
+
url: "/eth/v1/beacon/pool/attestations",
|
|
15
|
+
method: "GET",
|
|
16
|
+
req: {
|
|
17
|
+
writeReq: ({ slot, committeeIndex }) => ({ query: { slot, committee_index: committeeIndex } }),
|
|
18
|
+
parseReq: ({ query }) => ({ slot: query.slot, committeeIndex: query.committee_index }),
|
|
19
|
+
schema: { query: { slot: Schema.Uint, committee_index: Schema.Uint } },
|
|
20
|
+
},
|
|
21
|
+
resp: {
|
|
22
|
+
data: AttestationListType,
|
|
23
|
+
meta: EmptyMetaCodec,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
getPoolAttesterSlashings: {
|
|
27
|
+
url: "/eth/v1/beacon/pool/attester_slashings",
|
|
28
|
+
method: "GET",
|
|
29
|
+
req: EmptyRequestCodec,
|
|
30
|
+
resp: {
|
|
31
|
+
data: AttesterSlashingListType,
|
|
32
|
+
meta: EmptyMetaCodec,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
getPoolProposerSlashings: {
|
|
36
|
+
url: "/eth/v1/beacon/pool/proposer_slashings",
|
|
37
|
+
method: "GET",
|
|
38
|
+
req: EmptyRequestCodec,
|
|
39
|
+
resp: {
|
|
40
|
+
data: ProposerSlashingListType,
|
|
41
|
+
meta: EmptyMetaCodec,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
getPoolVoluntaryExits: {
|
|
45
|
+
url: "/eth/v1/beacon/pool/voluntary_exits",
|
|
46
|
+
method: "GET",
|
|
47
|
+
req: EmptyRequestCodec,
|
|
48
|
+
resp: {
|
|
49
|
+
data: SignedVoluntaryExitListType,
|
|
50
|
+
meta: EmptyMetaCodec,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
getPoolBLSToExecutionChanges: {
|
|
54
|
+
url: "/eth/v1/beacon/pool/bls_to_execution_changes",
|
|
55
|
+
method: "GET",
|
|
56
|
+
req: EmptyRequestCodec,
|
|
57
|
+
resp: {
|
|
58
|
+
data: SignedBLSToExecutionChangeListType,
|
|
59
|
+
meta: EmptyMetaCodec,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
submitPoolAttestations: {
|
|
63
|
+
url: "/eth/v1/beacon/pool/attestations",
|
|
64
|
+
method: "POST",
|
|
65
|
+
req: {
|
|
66
|
+
writeReqJson: ({ signedAttestations }) => ({ body: AttestationListType.toJson(signedAttestations) }),
|
|
67
|
+
parseReqJson: ({ body }) => ({ signedAttestations: AttestationListType.fromJson(body) }),
|
|
68
|
+
writeReqSsz: ({ signedAttestations }) => ({ body: AttestationListType.serialize(signedAttestations) }),
|
|
69
|
+
parseReqSsz: ({ body }) => ({ signedAttestations: AttestationListType.deserialize(body) }),
|
|
70
|
+
schema: {
|
|
71
|
+
body: Schema.ObjectArray,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
resp: EmptyResponseCodec,
|
|
75
|
+
},
|
|
76
|
+
submitPoolAttesterSlashings: {
|
|
77
|
+
url: "/eth/v1/beacon/pool/attester_slashings",
|
|
78
|
+
method: "POST",
|
|
79
|
+
req: {
|
|
80
|
+
writeReqJson: ({ attesterSlashing }) => ({ body: ssz.phase0.AttesterSlashing.toJson(attesterSlashing) }),
|
|
81
|
+
parseReqJson: ({ body }) => ({ attesterSlashing: ssz.phase0.AttesterSlashing.fromJson(body) }),
|
|
82
|
+
writeReqSsz: ({ attesterSlashing }) => ({ body: ssz.phase0.AttesterSlashing.serialize(attesterSlashing) }),
|
|
83
|
+
parseReqSsz: ({ body }) => ({ attesterSlashing: ssz.phase0.AttesterSlashing.deserialize(body) }),
|
|
84
|
+
schema: {
|
|
85
|
+
body: Schema.Object,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
resp: EmptyResponseCodec,
|
|
89
|
+
},
|
|
90
|
+
submitPoolProposerSlashings: {
|
|
91
|
+
url: "/eth/v1/beacon/pool/proposer_slashings",
|
|
92
|
+
method: "POST",
|
|
93
|
+
req: {
|
|
94
|
+
writeReqJson: ({ proposerSlashing }) => ({ body: ssz.phase0.ProposerSlashing.toJson(proposerSlashing) }),
|
|
95
|
+
parseReqJson: ({ body }) => ({ proposerSlashing: ssz.phase0.ProposerSlashing.fromJson(body) }),
|
|
96
|
+
writeReqSsz: ({ proposerSlashing }) => ({ body: ssz.phase0.ProposerSlashing.serialize(proposerSlashing) }),
|
|
97
|
+
parseReqSsz: ({ body }) => ({ proposerSlashing: ssz.phase0.ProposerSlashing.deserialize(body) }),
|
|
98
|
+
schema: {
|
|
99
|
+
body: Schema.Object,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
resp: EmptyResponseCodec,
|
|
103
|
+
},
|
|
104
|
+
submitPoolVoluntaryExit: {
|
|
105
|
+
url: "/eth/v1/beacon/pool/voluntary_exits",
|
|
106
|
+
method: "POST",
|
|
107
|
+
req: {
|
|
108
|
+
writeReqJson: ({ signedVoluntaryExit }) => ({ body: ssz.phase0.SignedVoluntaryExit.toJson(signedVoluntaryExit) }),
|
|
109
|
+
parseReqJson: ({ body }) => ({ signedVoluntaryExit: ssz.phase0.SignedVoluntaryExit.fromJson(body) }),
|
|
110
|
+
writeReqSsz: ({ signedVoluntaryExit }) => ({ body: ssz.phase0.SignedVoluntaryExit.serialize(signedVoluntaryExit) }),
|
|
111
|
+
parseReqSsz: ({ body }) => ({ signedVoluntaryExit: ssz.phase0.SignedVoluntaryExit.deserialize(body) }),
|
|
112
|
+
schema: {
|
|
113
|
+
body: Schema.Object,
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
resp: EmptyResponseCodec,
|
|
117
|
+
},
|
|
118
|
+
submitPoolBLSToExecutionChange: {
|
|
119
|
+
url: "/eth/v1/beacon/pool/bls_to_execution_changes",
|
|
120
|
+
method: "POST",
|
|
121
|
+
req: {
|
|
122
|
+
writeReqJson: ({ blsToExecutionChanges }) => ({
|
|
123
|
+
body: SignedBLSToExecutionChangeListType.toJson(blsToExecutionChanges),
|
|
124
|
+
}),
|
|
125
|
+
parseReqJson: ({ body }) => ({ blsToExecutionChanges: SignedBLSToExecutionChangeListType.fromJson(body) }),
|
|
126
|
+
writeReqSsz: ({ blsToExecutionChanges }) => ({
|
|
127
|
+
body: SignedBLSToExecutionChangeListType.serialize(blsToExecutionChanges),
|
|
128
|
+
}),
|
|
129
|
+
parseReqSsz: ({ body }) => ({ blsToExecutionChanges: SignedBLSToExecutionChangeListType.deserialize(body) }),
|
|
130
|
+
schema: {
|
|
131
|
+
body: Schema.ObjectArray,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
resp: EmptyResponseCodec,
|
|
135
|
+
},
|
|
136
|
+
submitPoolSyncCommitteeSignatures: {
|
|
137
|
+
url: "/eth/v1/beacon/pool/sync_committees",
|
|
138
|
+
method: "POST",
|
|
139
|
+
req: {
|
|
140
|
+
writeReqJson: ({ signatures }) => ({ body: SyncCommitteeMessageListType.toJson(signatures) }),
|
|
141
|
+
parseReqJson: ({ body }) => ({ signatures: SyncCommitteeMessageListType.fromJson(body) }),
|
|
142
|
+
writeReqSsz: ({ signatures }) => ({ body: SyncCommitteeMessageListType.serialize(signatures) }),
|
|
143
|
+
parseReqSsz: ({ body }) => ({ signatures: SyncCommitteeMessageListType.deserialize(body) }),
|
|
144
|
+
schema: {
|
|
145
|
+
body: Schema.ObjectArray,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
resp: EmptyResponseCodec,
|
|
149
|
+
},
|
|
46
150
|
};
|
|
47
151
|
}
|
|
48
152
|
//# sourceMappingURL=pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../src/beacon/routes/beacon/pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../src/beacon/routes/beacon/pool.ts"],"names":[],"mappings":"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"}
|